diff --git a/gradle.properties b/gradle.properties index 302abbc1..c94d129d 100644 --- a/gradle.properties +++ b/gradle.properties @@ -11,7 +11,7 @@ org.gradle.warning.mode=summary braintrustSpecRef=v0.0.12 # braintrust-openapi commit SHA used by braintrust-api -braintrustOpenApiRef=4481f2e10e5859c930abc844483354101d10a57b +braintrustOpenApiRef=014842adca330b8385378a9fef94d1873b29338f # Let Gradle locate local JDKs and download one if needed org.gradle.java.installations.auto-detect=true diff --git a/test-harness/src/testFixtures/resources/cassettes/anthropic/__files/v1_messages-10af9cffed94.txt b/test-harness/src/testFixtures/resources/cassettes/anthropic/__files/v1_messages-10af9cffed94.txt index 2a33cd1e..b6ceb90e 100644 --- a/test-harness/src/testFixtures/resources/cassettes/anthropic/__files/v1_messages-10af9cffed94.txt +++ b/test-harness/src/testFixtures/resources/cassettes/anthropic/__files/v1_messages-10af9cffed94.txt @@ -1,63 +1,57 @@ event: message_start -data: {"type":"message_start","message":{"model":"claude-sonnet-4-5-20250929","id":"msg_011Ce9dVbeF3NFHVbeRxVbNa","type":"message","role":"assistant","content":[],"stop_reason":null,"stop_sequence":null,"stop_details":null,"usage":{"input_tokens":2228,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":1,"service_tier":"standard","inference_geo":"not_available"}} } +data: {"type":"message_start","message":{"model":"claude-sonnet-4-5-20250929","id":"msg_011CebEavRf1AGP5TsebLKWo","type":"message","role":"assistant","content":[],"stop_reason":null,"stop_sequence":null,"stop_details":null,"usage":{"input_tokens":2228,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":1,"service_tier":"standard","inference_geo":"not_available"}} } event: content_block_start -data: {"type":"content_block_start","index":0,"content_block":{"type":"server_tool_use","id":"srvtoolu_01XDca4HBMnX8Wpx5pzmsCs8","name":"web_search","input":{}} } +data: {"type":"content_block_start","index":0,"content_block":{"type":"server_tool_use","id":"srvtoolu_016Cpd72BoaYTEFUFYNfE51g","name":"web_search","input":{}} } event: ping data: {"type": "ping"} event: content_block_delta -data: {"type":"content_block_delta","index":0,"delta":{"type":"input_json_delta","partial_json":""} } +data: {"type":"content_block_delta","index":0,"delta":{"type":"input_json_delta","partial_json":""} } event: content_block_delta -data: {"type":"content_block_delta","index":0,"delta":{"type":"input_json_delta","partial_json":"{\"que"} } +data: {"type":"content_block_delta","index":0,"delta":{"type":"input_json_delta","partial_json":"{\"query"} } event: content_block_delta -data: {"type":"content_block_delta","index":0,"delta":{"type":"input_json_delta","partial_json":"ry\": \"AI ne"} } +data: {"type":"content_block_delta","index":0,"delta":{"type":"input_json_delta","partial_json":"\": \"AI news"} } event: content_block_delta -data: {"type":"content_block_delta","index":0,"delta":{"type":"input_json_delta","partial_json":"ws"} } - -event: content_block_delta -data: {"type":"content_block_delta","index":0,"delta":{"type":"input_json_delta","partial_json":" toda"} } - -event: content_block_delta -data: {"type":"content_block_delta","index":0,"delta":{"type":"input_json_delta","partial_json":"y\"}"} } +data: {"type":"content_block_delta","index":0,"delta":{"type":"input_json_delta","partial_json":" today\"}"} } event: content_block_stop -data: {"type":"content_block_stop","index":0} +data: {"type":"content_block_stop","index":0 } event: content_block_start -data: {"type":"content_block_start","index":1,"content_block":{"type":"web_search_tool_result","tool_use_id":"srvtoolu_01XDca4HBMnX8Wpx5pzmsCs8","content":[{"type":"web_search_result","title":"AI News & Artificial Intelligence | TechCrunch","url":"https://techcrunch.com/category/artificial-intelligence/","encrypted_content":"EsIFCioIEhgCIiQyNzc5NjY2OC03MzUxLTQwYWMtYWNjNC0wMjRhZWU4OTk1YTUSDCULRKgHCYh8eDxDixoMZdO28mNuJ4bYDictIjCFBqpF8RtDusuXzS82hFrGt37PAGqNnv872QNZWPduNeCPdPrA/yjTqUiRvLj7OG8qxQQpxt1dJP1eKYYP70xDeZ7DukmY3yyRYc6lV5S7vmep+mWPWdC5JjPiHkfTAFrkVy238X9dNlQhuAg0E+N+fAHtux19ghdxELCizIlz/FGUIq2gfaF3ODKDRY95O+S+NAVBnoyZST0YlgXEVTO0WnEUXZh+jBQtSXJUwqtzGyEgNO6vCpyFfDqOXzjQhhNuZJWoK9Sq8Spy49q5WH50C1g+46gCBUwVe6DeeE/+SLavD/5qMyeJGuc4htfjYKbQ02FL1f3F6BlGtg/mibjXSwvU22UgIybUCWWOWxnPO2ObWuRUv6NlteaAx6t3ygaXGLaiMHUPCMFO3fKJ3nDk29gOrlwg+oNs9HlZbYQeB0fWoP8eCowFq2vSkMZU3hKQTV1k+n0lAqgI5QmEy6gwUMwcFXBUnk7swwtOZnfM6JEHDK70MU4eY+QuvmLnTPG9sa3iiklXyUnct0F/v71JO6fjbL9CTqpyQV5sU3s0xEmF46hmmAX8yH4v/GjiLWi4H5rU+ks881IiSISZhYX68qvpf88X6yd0lBkvx2WaJFJYXdlB4hif7H0yT5t/vKnyXhfp2kgsACAjO2eUffYeJbwp3ZNZLJKgtD4JUxkzSgRVvwSzXRhsdBIgCZnNUPrsCw4jI79ap2F55JKgGZkMKBHa//vrUybZtwK2JlvDXTgzH3tD/iCChMu1TVJiH3z7nYCm0shwHpyhWdN+xVoGbKtZw3NpzRlsn9+bfxbk9AZaAlYnwgdVdVpbRkGs51JlRiF7TIFmvBgD","page_age":"4 days ago"},{"type":"web_search_result","title":"AI News | Latest News | Insights Powering AI-Driven Business Growth","url":"https://www.artificialintelligence-news.com/","encrypted_content":"Et8JCioIEhgCIiQyNzc5NjY2OC03MzUxLTQwYWMtYWNjNC0wMjRhZWU4OTk1YTUSDIRpGLw2fKdB5MmthRoM3ip6Pb8nCU+a8I/fIjCHGoROM1mDGYQIzi2OkelB0d3H5kxEKiwx6q+6INXBB37tp7OyauYHkKQruUoNm2Iq4ghx8R9b/auJqYGf4m8Eh23ELEIc7GYPfNx7MBEfruFMiTB83xYoME4SNegQgwxM3uSJqFs+F+lslRPo+zLPgIhll43lAlcKg1HzD/DfX69izjjQFyEC/08Liz3polYev/ddcrceaOVE3YZR2mvNZHuLwujlpsF2tidQUQet1ESNhz2HSal6HCemdAvtuj47vXQMb2liqLfu6y/oMvEIVTBwVIT5mdmQoLOylERL1rYP2p2fIh0cQwfVvyE480nClJehazM9fFrDB6oSCRHzY/5JiiP9El8Q1fo+3yC/QOjjvLzRc0OcTVEAQWepcs+XX4QvY7z4HYBBR7x/iAfbD0IjWz96b2YbenIEuFOdVFdfqLB46qZpkDqjVdalnXYNh6h6vOjSsPu078TMZuypKG5+kx9+zS2Ux2lCRh8rfs0xVXbzvKio759E+bmcJtr0qhuOdp5h6yCEl2qFoS2YttNigsAOWbSMASof3/pcVNhoYtke7h1qvScuO6i6NIjq7+F/vfygVkmiEr3wpgg4LFsJpLynV0lc4oVqQ29XY+VR1poahOZQodEsdtISjvMkd4Coxj7oD4RsDCrmksrVG8xMtqKkckQ7jwTsLcmR7CLVa/nR2bPqVs/BsFlIbSjPTsWIAg4qK1E8+fSRqE3rFAq5AbpVuosSGAf+ggW+2kSImkCh0+uedqTK8WUg3G2Ahlqr3ifyB9VCDCeSTZFPgUs+i3YBtZvqGVyRPaqBTqPlXxwGRGJhWNUoX5h77UdWOv0PUa1nP97FOR+eq8cQ2udGkwtkvKv5Upe4cOC+lW0v/38UBpec8UVt/FsIPJZTajxtBedpj2rRzbIJuOmlq931f8W1nWwwKivP9qvbQU8SlcPfvnWDmF3p3Ld+sWg24kmVaODk9f7OLLafCSWKUwZdpoKtim8K/lL9W3wbnfBaVWoS1jYFMRtKi4R3LmFjtw82m24UiAp3BJntAZkCbtMWEmDb2iojdAi1FT0JpM/W7Q7MzwaIGjxcWXk0xex8YCdRuTprsgMRZ44hG3o3dj5xTHBmKCuMEWGg7MIsY3IewZlyF3hF6po9yeJkjxTl250s63pAX4vMAG7AbkF02m96tonoBvUL5bNfH5rV7G8X0Nn+TwhFe+TP9Q8XJ3gufPk/LMKFZFASzlZqmrMqFXN6Uju6WKTjYh1czmUrQUPPkteeznkEu/s+wUeybQAb54wsL/xhxZMEdDlGSdhHVpUtyW8xNZgnsxyYnTidJoK+0HYSyZHhDC5ucZa9DMNxoKXQYejPsFxEVzbtqeL30hd3xW5XvdIinKKQdvNBsQ7ZzMVgkQOzRWYrY8x5vvT0nqRkeirsDhJU3/2Qov7NzVXac2KTW1Dxs2CTSDcDeG//sqxC1bC9dP+RKv1kKHs1+EDhtU7WTIjY29s0j2+1T4TAaMx75vFiC3luDXcnSJeQs0gmaOZzhuLuYs17cG8f1MCddELibqtkL8+n/+4O2j30SioYAw==","page_age":"13 hours ago"},{"type":"web_search_result","title":"AI News — Today's Top Stories, Tracked & Ranked | AI Weekly","url":"https://aiweekly.co/","encrypted_content":"EuAQCioIEhgCIiQyNzc5NjY2OC03MzUxLTQwYWMtYWNjNC0wMjRhZWU4OTk1YTUSDH44T18RqE7AYmzmxRoMWKQVmTMyVqysrfbkIjCsqm2bWW5++dc5PWREWdx+aR2SxDJ9DOvGP+JHey1OifSPYJduQrEAr0lbJ4wCkYAq4w/8qy4Z7jS+e+iidWUwExfYec7m7lWYDISvotOvhgydJWEX9g6lZ2abvKRbYSRFJnRkzXNLcp1oThsYensvVql+9W9mJBFfQ/FzEpNbCJvwEJUzHYcLnFhQFGCPTVDxARPs1eBg3hc5frWY3qS2PGLO1AEykQVpDpaAz1SUONA8tQ028JCHxEAG7FYDWhQI4O12d8ya6ILXzANgJw+0KIB/ZpEDg0LnnVuyspXCFm8xuMdCVyygKK3QFkzfZcCWLWd3MNaIj+K6+6/IkZ7jRLncUBo2CuukGetP4qGG70K58wyZev6AvUj8/BgwBO7m/UhLSvC0W6UXXX7yIty4FD2NjyyLe/rsZcpI9w9eMf3OkdUAGCidtApQCB2RPd0xn2FrMakNEa4JCKDLBO5DrMS8OxXf38Fpd+v5VSZrblYrJnQ6HSJdUEOj8lPk5s4GU/YC5uO9tKxScs+vVTAFPyvCtNDtCuZgT8v9tWu3y3SiqL70bulPjTEbSeG4MwOK/NdCrWm0zAqHmCN+cMeFzZpbDzp50Gx+ksyBaZDPJCoyvpdmmPwqVW9/7hq8e+nUZRir6f/DlmaquyQmEB9TYrcAYjAgARasOoNG3L+ZHslCezgq8m7U77vY+RpsK6EUl+3jUU6FO8uRX5NwSUWSPF2QSDcEHjTRd6JiuGBNLODwf7geAOIsoZscyrVopv1/MHjUvp2QKCGgx2pUt49cWXOXlmVVHALuzi8ZVevPeRjCcKwlWG/EavYKGXuybRcpQJdzr+zP8OfeZo1a3MRgOPMQiAV2fpnce77K4oakkvRX3fVu9x313CUddO+55bVWqS8/288BRKctuLZbK6jFsoeSywRInDcOEQ3PvRJ0gpgHiHC/WvWQQoKzRoa4ikg+N/1B674Tdhwhcxz4KC28PH06QBx1WaV1otPqCbtDHNd9G66iyO23rCxF4dE9t75uR9OAJ3sZ4twdIGPdFI2xMlLC17tbJCFY0BQwyeLjBUdsJPL+GvG3JVXb0cVGdVBO/2nEsoZ+QHrrRuKMhjFJj4crcZydPa5jdRqcpoH4F3b44jS2EvSIAYqDZulZ7D6J4NLMUBv9QpqHiQTnMIxjRgcipV33VA+y2NERoe54pP4ciy8mxtFvoNuiUPmmwF20XCfAofJQ5cIxu95MPGOVlWWYJWogPaliEBa8TXs5EdkyVZHKxABIha6j1D0HRl2ADEEJF6BOUqRXeJEcyz1oQB/Ff40NLkB/uY+i4IEnDOpBUdSMoAhNknx49nXT+Y0I47OIbxRCmaYpRFvuhxOfGF4Dzq+n2aXvJMijpM8GGMYLaGp1XDVJd28msQeC94NVqEanZQxiPQ81Mg2Kws+9qs+Wr3lm7kkHvc1ngjCQ9fxaqOcFMfuGZUT6ldXByj9nWHz2cLR8RQHz8/ZHMRwcGqo8DdiWjZgII+XNCRK5PKLG4m8PSyHNJyCTiQxtbWdAYrB+tAuP2JgLcgGhea/6mO1tZ/uaHamaUEHoFfyVBXZZJb5Ak4ybePRJOD9TasdIEKGaIiVsrEM/IKmVqy6/y1nij4cBAAFVzgx0N6zgkPjqcCLpvafKkK08YicUxjZkyfOkLVfoYXB5Hi4UazVXhyAtNOX+L3L3mUtQu0ijKABi1wA/YVvLLtgdcZvDDyg0TL2hWXbf7I0ZheFSHdt5S6totWIOAppVlpxB1IAXuZ7c72B/aKYFXxpSrCykJkKNMK9+gjGUpPlVNoLGZfrBs3U2zXeLf+Jb7fIrlMg3zPkxsTLAedymc158/t/8pGZUWeGGzJqDet9ApSBvjjEEmGVdl58J1R0x5N4MXe6bHcjg/CAmyGs7nzP1sjXLpKcuPCXFWiKukMwuJ5Pj1a+8I33HlDHVpqG8IccgM8cXJMpCU9YGzr74TPca8RqTgxae8i7l8mPod0FbNa9U3U6wdZ02Nm+rFI0ZJapzV99/putKpFL/g97RZTzhFVYVR2vhlx4uusDCx/EYzhSHml+bvbiN+zzZhmitTuR8ruGeEZ6JhLxhRtP9eDBz37KJHQf0BpYuN7x061+lSTftcls01neCXZOG1JlVmpp22gD/Q8K1KZ4qd7X1wRrI7j9QCdaRk1azFY3UBw6/t7IJP/otO8GGlVt6ZESP7q318nnvQiFiZgvntlK2i0UNP7KoZbEqNmDj7mWdoF5FgJfmqmH+Gne4ip4SVNqlsIdlygjRRVAZAggrsgb0WmivYVk9EeV/oTHEf8gvGmFivN8swcJ+7KjHXshm/G/dcc+t8qBUBg5ITeQg15HB7BOtWgPWwPfKWasoV8GbhxXWYy23OcuDe3Wii4xryMQyqMUHfM8c/p4m1aguCL8bvQ1Xya5NDEZRo0CCvy09xJ+3qOsAyLDoT/jqTn8SW5PwOkk08C88LAsKhomEpIlrUcyqujsufC5c34E2xuYr23FNDqY6hF/oYKnYtgoyDmUbzLYjKilSjK+ZaLOtc+LJM4RhQfF0+3UsjFgXnZMzrtqLdOAO7lUAXreHJj1cvI0BfwT8wqoJUyso7b2n0mya7lMOJ+5uJBYhDcQRrU7b3tnef3Bai5FhLlNQ0BbSyRFwgkJyGSN7pyw0GIJ8m11HCsJkMjGMJ5juSYQAFwz83DJ4SnNhtHE3DIX9IQPSSZNZ/E2UbEho+IQ5WdK/kVnwxur2Dw4QO1H3B4UIoa8YAw==","page_age":"12 hours ago"},{"type":"web_search_result","title":"AI News Today, August 17 — Top AI Stories & Live Updates | AI Weekly","url":"https://aiweekly.co/ai-news-today","encrypted_content":"EuAQCioIEhgCIiQyNzc5NjY2OC03MzUxLTQwYWMtYWNjNC0wMjRhZWU4OTk1YTUSDPLtIKnpjA3DD4+lixoMgxNk11rvh2AVCNaeIjDl+pSbmfqXZvmz5Hhxd5CYctEt8VdZGxnXON9FPSQA9htg85HjB2GwVQ3CUWfV88gq4w/kYoyJS5WlQpwhDJau+oP5n5x3ZR/3m98a1P+8zL37oTunjT3Pd4O2li89ubE1gnHDLRubmgKXBXMJg818ax1ErGvhzCzJ1FgP42k0oAfx3buycqN/U6K16lKwTcRkDDKvzSDygbK5uSFkNNM6KOoWu7wNRMuwgE1WDKdJHx7eGEfDF6nLGlvAsduSMuFNnL7gJ4X97/hBxMsjWtrUNkhe5V3yY8o4rRzwWUXMMNVzWGdxLB4x7+6xpzlH0/XRFsx0bRIpYFlT+254ySD2fby1L+BqpF357iJJRzrLozTzwLjMR0J2zxeyIKlPxg1l3m42aPrNd7oN/bj4V/0RMiGU9DXxmwUjMOOe4Jt4kQbnczhAGl3Ha/CZntWuI6pqnXl6PQsvqAdh1k8+4hrrO7dGx1Oo43VUNRuwKdwhjMV+74DujlFpKxqEj5UO7vMWqua9/uDk0kiJanyxyNq7bRnacylo/1dJVjwoJLL+PV2ycPv+RHeJslaouzh+9kqay29Vyp519ex5RyHgp05SKRx0x4kLN4Pc/2c00OlljKb//yQHE+VYAMgp5a4y5mctZkzokQr1uc8LzPa6E9G5kLQr21y0r2N5YdoqBDy+mm8/2JuZQOqrt9sGeIuBb4Z1BicRWC236dilvv7lmMN+EA1EXb4/HpJFnbJ3YuupF+d3YkKqDgMvkcAhdqATT7fdfKqBQQ8NCIAds280szRHdi3iFidtT/GAcdzNpqx4dQn0oTOO8FC/ef7Rf55VIMt9IJoSMrGS3lHENlFtxS7i0fCMP4NjoWpULaGWgmkT00Ev3J7QBwYzmTrgGxz7Ru3fCfNhqPpEu+snX5a5Z3DBZ0ciGSNnAdHCelYoVLaQ+yBwFuRR5SIqEUeA5IdfW+aNdu1SVRRjo2t5sYBah1Nn/AsovfNRL8XsFZu/iOKSxthvrNBcaz1Ynnfu1HD2xtK3Q1fGAMkYh6/gXNKQDPN2uy2qEIpt8hnCYrUxGonmHwSMeqBWk6Uy9uv35I2FSFDjiwo0DLlNQmmwa0mpcipFd/+59IjfP4oE0onh+40goY/gBF/pJMd8lqKxyhnFCyKxDG/AWREjya417QDK/NIBTBSrTVBeIghMVPBujBJQgjGJ5Yj8100GOBi+tGJalx3y/UAUJioAd26MAbM5+edLfex6K4bv+ALZTMcRCSYcqv9bziGWnioNHAAeolalg1lEL96MuxmDZe0L/uUMvs7hPPH2Nnb2ZtMQ3YlriyjdD8MWItLxghe4rG94B8am3m+PY1a7OzCy2KVLF1kHuUPIfNKtVEtcqdG384XDOsTcDARGH0YH81qX6ga7YKM5ctWyx8IDdqrFoP3lisD4sJsBcH9dzJxWLnA7zt9b58Ci/DkLpLgenRk+p35k09zN8sKcehNVZGTqWO25rJFFrwZuH+C5o8kDxnqJSy1raQeQBNntRQ6DbSy5t3SuW++hAYCztuwKdd+GF3OB0Z6JeDXWdBEFQ36HqgS7qe2GgrIpRTFnlz9PRSFqOnr5iQg3hsLmmmUug7Paj8S0H+Q7Fi0nbfACxmrbrk/yhE3yMmEcrzDSfd6daddLC0ywxj5IO8aSfaDkSvSR21mdSfEum1grdqFJf4hY5FvhnXgyScjaRsLbwKWwFtu68UCbrBkBQdQcUwIdX8JOfG/+dyg0BRX2Dy8danr1yqrNgTMharz2IlOAqHB1eeDalok3w94ANyUCH3c7B/bcR1Qac+Q06m2f837aQ13Sj1wS2qsuy9JTUb0d5wuxbVKTP48wuCXHVvf9APDvm9caQEtPaNdf+paH3/c4vrzCz0GY7879Q2twPYe4osjlLKIKAZm/rvJrmWLOB6ci9phxIXmS8eM+AZDzwg2gIrk/eCIs/NUWGjt7miPUzgxnZroVRReNLCeU0cjB0jdhlYzWx/r5msl4oKgBAcML7oUpzYPYGCxaw8L3piNtVTt/Aa2Jk0Pmcqm0wJeJI8fj0Fu2SfXey64ArC1FuuCrtWTVYi/DpD4Ds+goZFknFyUH6xBkqa2VJ9Va0oBttSv9CmmuVu1gCFpSyUuaxe9xH56zT5P1SDgc80vc7lxWAZtFrYzWq5Kn7TGoGUPw7P0oIsKPAnesIz/Mz0uqPDhPqAuftw89GdhEdB91uRBc7G7L7jiQ8MHxqMsD5OnSNveczY51UfHM6PJV+lUhpAvIVXHCxQnUluDtYjMMQqRv7QY6Yko8PViswoXyHuf1Qjld/sZtmyidG/3pEMGlo+OZBCSn0j35vwehuI3vUgoAHRpmIVoxIgFXJiiBpS0sJuojXG0N+ivGSwHlF5Z7u6L/iLDZyNdXT9AAatfZeSi8WqVbpdCA9uYMVYUxFJ0AaoZX2nuvyhEDqPy9weodszTVePyvIcmu0XGG8Ox0dBBzA1VEl1YXL0bbk/cMN0GrhKvqabwAATYAxg29MguZv63uxpKM5y6zqfK5paU9HD74dVrDsvbRvcADp5s7VQkXxWzDzgzoxnphZuryqdJZjoUgL5/ahQ9Qu/PPR9i4uyYjImZBJC6NsMEhtVwxbtBZb7dglCuDurI/MAhRlOvze6X4UpEp5+8dISF5EBr8TBMQFZXlv3gCwYabwmtGF+CC6L7DNLBcZFd+iHvR+huBxKZJoRiamwYT6GzXeEjIWEnt1BMTCY8ZLZEwPrNjCShZ/grFzpgYAw==","page_age":"1 day ago"},{"type":"web_search_result","title":"Artificial Intelligence News -- ScienceDaily","url":"https://www.sciencedaily.com/news/computers_math/artificial_intelligence/","encrypted_content":"EuAQCioIEhgCIiQyNzc5NjY2OC03MzUxLTQwYWMtYWNjNC0wMjRhZWU4OTk1YTUSDDfQekYbso3A5GxsRhoMgaFrOie6f9y0mECBIjBNrm9CPhceWjMhQ5hCXM1Xm/JfYjw9HPgGgLc5lz1frOEFgxY6cXVgL6gs09YEHtQq4w+ph1mkcARTla9OSQSfVvnf8WumKMsmpQTtGRPeEEXv2WVTrTFvEcxg1BzjHyV+3P+C6Gk5ySeAIap5ktjenWKv2luOnd8D7M2P0y80xqH9aEqnKS/Z4Abss0M4Lb8667NEORqdqBpfNyOldH5w71KWclMsqn/vQLJG5cpi2DVNXyXkeUyFV5H6KWexcH1qcD2avBoAL109q9e8BP5G8stoZeVcb1Ys2kY3t01s3M2nT6lGQUgF3XG716dJ40RuInrXE9rG/l5mdAe9kLPd6JFfEHOzn178PngNeiLobKoiTckwK8A0/cKQeXFHQA3TyOt+nKCOcZDYdwfnXzZxBpqVgQe11mgVJsfOZggqWk1Hil8JqRmmeTjSQX9a68LdoAF3a/2LOujNQhixSEpyi1iSgtCTiKE2vIebVFx/5U5DxhGhBMoGkk0UO9VdFCRiAKI6ySxpUYvZpAXR5XhsPw0+2ECYhn12WdmnoxmwBQqIcqK+xNZ+epKR6/xiTt9OFSoMGVgYoeZgyeoRvE0WgRsnGDL9okrc4EEMQ1XI1dvErwrm1CtrqaTI7EYz844CCDWfLRNurnhXB9SsTmoe+u/p135JhgnWRswKvM640LbLIB0+1fAZYVNgYp0gj5/WTUv8cdTg0r/pawEYnil+9c0xOoNYe/mba+uREVuDXtgV2v+3Xdy6OJP/guL2Mq8kSpxCEVWO6inoM9yLplkicjz9uvgPxvTr+CTAHgzxHVCGcdGwuQcTVrvF9wsLO0SdVJlnnH4XipAGeUgu3JWhvUoEfcVttHxXxwLsRajs5S6Pswk+UJE6zBZCqwgUo6PbO0gh11RF4W4uPQ+lEWzTh20Etir4EZK59WhyYIGrlsHr+sccTZoOHTQEXVjKns248N60f8OtqBRIlfK71xT7KXt84VXy73qnjDfpn2sIZWOEo5l2Pwbt5qkYpScvMbbCvjv8ourEoqSmB1mK8iEcbQaPZez2jAnGNPG5gIakWyzzL6MJco5ooK9lx4tq4qqFpYNINXjZq/7utzfdOTMUNG/ZYjjqkulbSlifdS+nAyD0d1ffaVyMWhIeeDQtcA2JdWdsC6Hf/0/vXdosWMJyubyHeqLVo9ZNvTNrxgylno1f2Ptwj+XQGTZNu6n6OXGEFGypMgGntSNOLRSmtN+A1QoO3TJcg7XCo283d2GhckM8vl7NG3GKoxOmFCUwdItVlpTJKpPD9N1LS3+UXlX1xIzgcLBNDBs68EdmbT9+SLxgzGTf2mnkFZd9b+NRSqR36qf7s2/OJPuVu+f6HYgwiClpyfUn2b0yrrVt4Xhkb4HlhljwgGPq3rCQGDGqNAkT5xCtC9HQfjJkXV14SxwQvE2DuuYFYttuuGGY6ZBPojFfqFxlaVGyVyfjCs6C92SFvVvvjk5CdhyCvnVai248NtryKn2HsT1UeY1NFb5B0YhEVWB9cwuqJ8dBKhrqXZ9ZUwlihx7+XofN5IIsaLvNhanZL9WthCBa+jHbrttIBap9mTr3K7Co3EBa7WaXW55RjZQfy7h6E/IP23z+2lxbDDixoszts1kMuxYSrsVBbL1ENhuZ1N4SEyLJfCuPhKF/2Rs6pzB7MJ6VCiq3T2bpZZLMJM6A/rMXCiZG23an9NNzjuIK/p13hdH+iujAPbN8tInImh0qIur7oV+EpAKkHPBs5hrxlPyyIUC8+8DGawLlr+eH/cMZ/H3VzncMQIujIMduTaonEQh1y6ZCTpAPJR1tDGD7QqwehX+LWHuUVuWidzq/Y99EP8tKlXeCz6WU/6h2Fau5WxHTX5zhwzWcrbrOcWe4urqHoXZNzwu4Z94ckrYbofXcQU4WRVkmk+oaLReJElXbsg96TdiT0A356kp3BoVgBGKomd7CKHrIOkNJwCbR6kDf9z1Of8s4BPFlIkQtBjZNleoQTZs3i2nhnqY1iQJi5KXm0rmWwuuiqJvWBMg6jWtcUvAez+bA8bJ50iDarnh0D3KeIBmeYEfRLCyL1rOb9CaadsKSkZy8XNv1aLRWvsCrzcBLhsCOWMC8eR6qsLpc0BEvRskWvTatA/tzDEOJ9xFf8p5nggUdkIWBmy+jwWlJW5AFze21+ss4fhDkl+a7lyPCfIu7YIb4KRnB1u2b0rSStEhdFEc2arLVW1mmTjty8s4K4A4VyOVPbwuYlRixfWIZwCk+vXKaNUYk4JCZZ5bUffGlAp3qfEaEIcBzigPcpegXJLBsNgyL6u7XkX6zHRHdBcHFN6VoZG4KPbexs4Cls81OPNN6qLoB6aDoERNSr3SSbmzmjtE53AcZRvd73fcuTxiXIpmylpC6BllQIoRXuL//7GRxnnVxnylac/oRJBOvyHJ79u3bQYspQc5N9pFqTAJ0qtYZpW+SPrCgjhSHWBzokbsJ+VORX5QfIRTbOOqKRDBT4Blv3AX2oJbClbSMfVz4p6rHu3RyW5iq3ZZQtbU74mgqCcPJEW3XMRWn/8NW5/DCXA9T3tulwcUfBznp4t1Md5zFntKXa6/BbcWeybuB+zyVkQ06KcS9lqcmD34yAPKAE5axhylikMnHWNm9uus9+NRUPHaZY5gBCpPaLMKOvYflpuz/1a42Hg2FQ4ZilKuVPByX3mrq0Rx81qswnljx6MoezwxX6o2fdhuQm0Sgzt2BNhuBT2TD6/hkINLdIAbdRmg81afGNnkYAw==","page_age":"14 hours ago"},{"type":"web_search_result","title":"Palantir Leads AI Data Deal With USA Today Sparking A Newsroom Revolt","url":"https://www.forbes.com/sites/sandycarter/2026/08/15/palantir-leads-ai-data-deal-with-usa-today-sparking-a-newsroom-revolt/","encrypted_content":"EuMECioIEhgCIiQyNzc5NjY2OC03MzUxLTQwYWMtYWNjNC0wMjRhZWU4OTk1YTUSDJCgCv6/31rrBb6tgBoMasq0gBkoLMBPg8CuIjBKZXRWe+p2aXgc92v1Xifata5k4/etC+/1S6GsYA4v6g6a1YrVZAINkJZmnxPFmckq5gNHkWqr/2pbKi5/3/cWskiKutHBnwjlNzVg3t5j3XGuhxd1WuWCIYqdaed5gg61XAr70myvzJKUTe8QSa5/C7DqMq7xFGsdIFXZww/OckRu2bZ7tRP8gjBKY2Ef4GB9j/Cw601m5P6f3wXs9bG8AJnFw6Om4wjxAPCOKIRs7eKVip2r/VvfPv1NhpuP3r1tf2I7oaKFmY/QRK+ojsdthJUKqLk16fFEgsBq7KuIV8HowfelbFFI+MYIaUPr1j8eVvDnZD0KR3zQtySbRAOZ8kXDthFpcuF/kZKh67fmhDYkwGf+jzhiILsPzZxWezl6UQwzPAjYV+MVQtBeaMAum9i9IIe+8v4ZmzIJz/PMwfm7ci3U6UA2n8ZvBXKNZh9mQdbeyuW+mgguu4XtIYqBqJlfEJoFz7pvCUhGl3R5ZZKOak80YHJDldcBiAi+6HESGH/qh8YN/VYk7pnk2Y6p3QyAKr/mLYZ9gkZRtkTrtIuWqyZac+OAQSp81quwMg5uKlEO3dTNwKmoGdMpnP0U/To0Q88wmTlNGpDPRpL6TfKCG8Q+u6ZQhOmdJtnRVUPTioRPlDIQpYzL9PDUsQ82Y/JHAwEjiJFEimVvcHCRBBh/ULKmzHvsFDufSGlqhTMNkLNGKT2oDkcYAw==","page_age":null},{"type":"web_search_result","title":"The Latest AI News, Insights and Reports | AI Magazine","url":"https://aimagazine.com/","encrypted_content":"EtILCioIEhgCIiQyNzc5NjY2OC03MzUxLTQwYWMtYWNjNC0wMjRhZWU4OTk1YTUSDEXqytgVdGQrzKYQZxoMNRLjHNYeBf/7Ny5KIjBqvvbPhc5cF0ehHN3v2hA867BluKiacjuFMikJqkFCIeSZKMRJsgrB0PKtuPQpSiMq1Qph8qq5ASOiiySW23/p4Cw6UUcWGmNome3owUWMpAo91N2WgD0OEG/bHKsZjeAXbXRQroDhJOwZYuuf0HNJhOusHkohqe7E7Y1C+kmiLTE9B4kbpGUDlkgvlxoK5UP6fQfMt2Xc/iw0db6H2hjVfS9zdR8/HZM24ZVSbx+RobVJaqHqXds/ef6wrZJdMRTw4MhGQhFY7Ca1ca6OUT/eXf/KEo42+wggUqtwE6bYO+Vud6f2ZpFsFMVU8OcotGvYfkKg9o0Iv+UgWP5tLS5QS0yYe088P7XMzSxsjyIudeE7qQA/qqWB+jQAdVSB9tD2/QIc8E0DEmzDQmt/o0zVZUZDqD7zHCnrKbb/B1C/nLrpL0H12FEdJPB5IiX+iz4JAZ4QuZuUK704Z17FNkshplKB1UADXhkj7kuwbtob/h1jj8O7UjFOvZ0Czy9TJdnQzdXDTn7dF/i5OcmzzJZsoO7Szcc/+cjdDzuTxZ+BtcP936bCX7n7VE4jbjvlVLNfV0BhuGfe7jMfNIo56rNPHQb6IJMv6S3Vq2nEJDxfCQQvMvg3r7Gm6juzzQHrm3VDvxKMPgjkJfmYGwju37g6YzOjBpww6lYMJhb5COX3Wz0XxePLMwKAGF2VDhiNzeTWT7j+UO1pA0+IDPMElSFrxEmU9LKGs2DU+/Jz8c0UM7KjfxLM69oSTqeF8Y/1SXJTCGe7hgrlMAj7RPh0MMuzoKAgP4N8asXEF83oYt/lGVgBOJ7NfG6jAGMtsZ5zVZALNQWXPz+DdtneVKDZ84MZkS4E6yA5o2KAV7DB3CN41SIsL5YFPzRVeN4exIZKMtCrDw1NsvW7m9iLGvQwMZ8EaAIlMmO/Lk1TXVyYjUIHLb+ilDHETVJoqt0Zu1nYDn0lnPXfrVVOPlgDy4w+B3AwSHNRXCNJa4hukhG3TIMEq264kdrVGV1jpW2IytPz21yLolBsC8S/IQ4X30pm0y7i827rN9VJcIcmXnawf90zp4tcgcyVTc5ZiJx1kelbjyNAF5rARtJ3H1K+HUBZg5ObxWgfDQUkQd6Eudowm6qvaD+ZWy9GdLB/7DNvYW12WVh3tMYVd5m1uLHEMMk1T97jz0ZSXdl/pa3C8kYHM3uhdBTG6IFKkulabw4iQbHXVaYfY8o8+vavp9dN+t3J26Ic+RW3VJiBsb8QEU+Hb2nrJzoUyrgopd6khpCkwvonvRp0T+rf5iv0yJLWwEZ5030rMnbxQuAPiRlXsmegBNsvkpLHybpaAeKsgpVkfU65Cyrnmo/+ThJ++V+Bo0VuidMkk0bi00oi7w0RY1pQu/j4Arxjtii9tN0ZVeiiUZWy4xI7lemUsl9j168p7UVk3w6iCKU9DOLNuvmuFBNg2YGc+awvnTGUb+SJMOtwP0WhayYnx4336eXANYnTiL0swLDs/sXjkqLdT9rAXvaOyccm5F20vY+y1j0KvNIz0T/W/MjtYbiDobwbn4H5xobTGwooL7v8+ESbtwV+uV74rmOeNI0ZgLGY8MXrXSCA8+ug+DguzR+4ZpVD6tZh8PvMgjMIvirfREF1anVOmxBP9wyiSRPLt7iruxo4vGE7wGKJ+HFn41mylf8kbgmMUt+888MTo89E5hJNBA1OVYSHhW/LGQbJ1JJrxZpNViNvTVSwfh4QgBL5xhRQjJF0EXZhZ8gHH6RiKi2eLswTZ10iYGI7x6mLYKg1hUq2g1o2V4T7BUslsqvmMDI+CT4PU+fp66uvwNqVx3fkOYJpPh44b+fh+V/jcJ8EZBoI45yZfKPqiFLg05+0MVq5Xn73hmB/rQnG8fjvnde8IuEYAw==","page_age":"5 days ago"}],"caller":{"type":"direct"}} } +data: {"type":"content_block_start","index":1,"content_block":{"type":"web_search_tool_result","tool_use_id":"srvtoolu_016Cpd72BoaYTEFUFYNfE51g","content":[{"type":"web_search_result","title":"AI News & Artificial Intelligence | TechCrunch","url":"https://techcrunch.com/category/artificial-intelligence/","encrypted_content":"EukECioIExgCIiQyNzc5NjY2OC03MzUxLTQwYWMtYWNjNC0wMjRhZWU4OTk1YTUSDH1RKaOVf+PJ0FwO0BoM9mbme5JzhM9VvninIjC756FpnjLzQ4Ua79n8gWi32j7ceJzAlqvi1tvqqPES180txRzULATxTnrzw44pfJgq7AMMBN5Fuv/Wo7pUWzj+V0unxexuJU3T0XC6cwCknxdXbczInBAZv67ExzMKsP7dYV+WN5dbW54T0ThfW5Aiv0ZoZBwrJFeCbt/Tru0QhhYaskrf7apZuJHobFLPjJOhXH3Cg2KHA5W1Ditew7Z36RdbDUz7QtanZDLvAu+ZpqixuwV7s1bLD3pQnHSzig3DUD2mssIeRqu3nU0mqd6iURUzvSAg/8Q20XQCTKEZR4zui5BzJ8P/mwyt4Q0fsBSVXOBJTbFg5L2fq3EVwzdpfwhte5gs1bx/9cnj1lASAMJnWSS3CXJeMG+ru0Vr48rzuTsbSf0DFpPonVlhp4aAEkkgTLYIdKq0r9966LYBYy4nLTzR0eom6Td1nLENa0kN7+FichuVGsLLE7c+rcI8Yxnu1GK/w7erFxJQiJWGigRXRucYhyEy2teSfJDpmKB3LFrI46Sg+xEhk6jCK1GIVJym3V4iYIZVl1+cCl1qcQd25shoX3mqwrxW5DVqsjld3MekGhd+mkW+msqU+UwJDxEjz8IxKpX1fj9+vLLi5UXdJeQcebEBlupNwMh6RhTx+eU89+r6cClSz7VBnVZ/dTZlvyILzzOBs1s66j8zIDxUg205iWO0rgB7rZCgeugbeHvNkT7F5KBbssKHI1YYAw==","page_age":"1 day ago"},{"type":"web_search_result","title":"AI News | Latest News | Insights Powering AI-Driven Business Growth","url":"https://www.artificialintelligence-news.com/","encrypted_content":"EqYJCioIExgCIiQyNzc5NjY2OC03MzUxLTQwYWMtYWNjNC0wMjRhZWU4OTk1YTUSDKNDkSmATXlTAI5sRBoMHBKkPoL/qFAu1+dSIjBVg9ZR2yMdrWigZvYQegnRCsp0lwVyXsD9nHNP5pUbuGMgIFkp7ahzbBUL/UAfrOcqqQiW9WtoEjf3k5BW3HBZnDWkjrFK+BRVLoZJ12BejkNlCuJdaziz/wn+tKvqDRXPQewa27Y0xmMQWCVyyFV5V3pqZq59S0PG+PSXZXpatTNOH0GDP+/KvzNEyrRmfJ4bE/l8bW8uREWlQIcPQDN/roG573NSIejUqjnKcaF3eCtTsnIdW4r8H/k4Fos0wN+fqqDJpF1nVo0phVIoeijZ3gY2wTRCCCStjR7iYTJOImamP2w2hWz8gSyhvxTaXEPAuMLQNZrk7Rr8ycChQVH3U1/uNK2oQGYWAA2i2kxADOtlduKd3/JQ+oFpuoRqHbw/p653ruQMt82tPK04o9J6wE6bIC/YhKAAaZvuctYlZwoBC5+V1KKEZnB0gPmzgeZLCL2zy68zZBktRxFSxvXzMsbC8RNUu+Q5EBJqb7xS6GtZ4dTSj4iCTDGhrtucx5sU5S7MVNQlzR3lUH9bsTYCqMoJGQBWsbYLfKLF+tUWolrBFzlvJwkSH2kme7wa5ZHnDlWOTatvijSpASnLAtT438oQDWR2MC9k8mDmbQiKWFKabMWN1XtlVhy3aHi8sh5S1gcCRtGWWEYH9vKRgvMM3pXq7WI9AwAT7D/M+iEvJj2ponUPjkMXbihhzaJEeqVArY2UpONHK9qFxlrAyANAQKq9wzF7mlCxQO0IQA/Xx7LoMPAMUTJtJEBdyRsQl0NuviucrlpY/ep+OO26w0vKAuEPvdVBKGs+Ed1/TQaOlCng2548KWm6IHgPgNBQ0PLA4R+ii/XymGGudmH7EUY7f4Xwb7DSAtUnh2qLghAyHIifDtMdQCrzk+TTP4PjT+AXCyoFKqcJyU+PMWTL81lGzrsGbBSa9CSHg6I8kgAXn8Ac9N5DEhcJAeNkSMoNQJ3TUIpbRWu2pGjPdy2c2CtWdnl5p1JxUFhYTdotD6CkHajHychmGWWHuQK+qCxQqrrClKvgU6WuvooxupeB1YybazAZOhwhuiAWlzDKvVZOvbfOwo8W3uuJcvyVzabkmLXU4BkVWPBb+A+DcochRBOcY3Ghw+FOWlJVGkPh/RkaRVg1jPNJcvxguF6ZlXPcC6J0e7PSsob8yKMoqPLmNbLx49WOg7w/tjvBnmJe6bpnChhvN9sp1R6+E8LVfsKh2edGvCh5bhAPpFsekBQQUltqimRbBKBPoQGbeAvGVSg0ZQCDAHh/xrS9+gppglKRsk7qTZskdAijLEU+UDyFnPytutVfUaNu/am+G177/pK0GeAZgOKaFwcwvRl/44rHwP2EO7LdDxmryfkJrqglIZqM7V+QHlk10TyBk81Ke22ggn1EQvy+15xrqx8InEnE7PuF7Afo6vdBXh9UMH+NyWsBT/UDJBNiLfUdGvqPwIvRSQpRjChXv+dPy8RAf2WSVKGDc2bVoDBXfPlxS8QYAw==","page_age":"3 days ago"},{"type":"web_search_result","title":"AI News: Top Stories, Ranked & Explained | AI Weekly","url":"https://aiweekly.co/","encrypted_content":"EuAQCioIExgCIiQyNzc5NjY2OC03MzUxLTQwYWMtYWNjNC0wMjRhZWU4OTk1YTUSDCLtd2VRSWIBM116bRoMfyf5fQTv+MtXR6SrIjAnL3WTg3zfiBnCBwdZW4rBUVHWxgVQwQqliOghReEGVBvf38X5DByoQZZmTbFEDvAq4w+hSmFvlVipBCoeh/jgx0Lo5DDGzwOeFrVLfx3V/GoZ5B4DajqwnWb99VUxph5gZXJF4IDjGuPZyXdUhhGRezKEa+B2RZTjEM45uWBE0ztkiyRON4QHI00ahzOb8LE/O5gHgN0mkaZNuIbqW9UUay8UZiR+8VgxMX8m/Xj3lZbKutScFoByjtApSiD0N/wdSIyT1SFJQzs8wdj4SvV5dlFLQvF4rpyhboYJaCpAO2XC0wE7eTcbBI5eNvPUHIPtAG3O9zuETYlOiN7aJ6ii4TqMV8EnmRfYVTuplHMjM8nXDbfjY8zqnCmKbVpafUxfEXfhpSXXu+dqyLmAUkguFlEROt3/YC8SV4adYKAkhk61ljDF+x91Zo0358Omtlt2yfVPoYVdHAZ2tf+HksRNFttySX9O5UtuvaMZ60ASIrxl+lw73FE8G1VVw6Ql/Xuz+jt10A6UAX4BcDAYTLFgFA1PLjbjEz4F/bXaJ6dV/0a3XmzYjzlsMzwxt9ez6ZDwWEAhjyNBSsXOmWaTSVzj/Ku3V1iuMr4rcnZDlvlaho8pUH14+DmMSJDtYvNw8pw/t6ufLSzaqsiyXa2PCNgroeNK+Y4Bty0w6QkewM4yyjuzhNbToo61SNo9oHUjhcUrsSgU1hayM2ktfbXzvFzUwMYK//MZkrSsJzL49Pzpf88aTAY+ZAa65U2CE+ljECE9c/CJPWI9Xko4vTEEodSm6YMeKo0qqa8lW+Ps/9FkaPtvSIOl7Q/W/kwZxb1w8s6TP8mjNh4OuhAKa0enTH5TcRXJuh1YZOT39kLv0Il0Td2rpvhbIBC0RxWrK9MwIlhUORnqvd9hizmV7BN7i9HmaSGjzaNwpXi7PCSPBtvy360/tZr5Lk31LGDeUOm2V5XQrtKaxo7Hkb6eVw9fePx/u+KVXI+9LBpJbmlCR5HhZ5+z/40pjr7jG5LMCWxGesuO7hTrDsQHQUStCB7qZsecRy3vy6yltESIOIaW5YtkVLbE45PdLP/ZHqD4In/jx9idxLAY4y70RUFMk03T8RPt92wLbyhsUySWTJJqzAG8gkvSBKSP8cbFqw9jHk4gQXfX7beHy7416ALpaZmZDk+jjBi/vdRFCnxiBqpfz59XKE0y6Bk9Nl6+d7zjeKl099ehLJef7i0OUNHvBR1p74jZgXn98UZli+lhB13ZrpVZnmGhP0NhOMpxRO08PqNZr8MiEqTf/kgbE+eu01ur5+Lkgzf67GfroyyopdjSiJ/E3ZVYsFoVYDNLDVR7sOAvd+I+9wy2xMOFf1EJaeUNebMwPxgNrUPPM5mbLGt2uyZYiamqCkJLYLbybLYrsZbNzYIoVUL8I1+KrSZL5fSlxaINcFh6saIBBs5KT+FgkXrfc/Sfh2lBEzxmGQ4VB4GAkY3j/ljbdujVq6i034frAeLVpDLzVXsIgl5excgCgXoSe22S4hxvrku3yg6o2Bjd5LeUv29XvNhWZWL7RDxUs8r23S46MCPkDyrxpR2eU+NyXVvjr9sVjeydjcbYJRqBrdgA5DvVHzv+8UDlE9F//kYXxsPTaPLWQrMRTFDk1YmvO18FLVfyv1TADgEyMRjHUQPyjW9DaGB1RxizrjoxuvSwBpOcuijJvxFSSHdGDt7YIFCP7TwNq0M2Kr9HMntPp0qVyHrWEX//0jSAmZ9gTE5crqWmY/RpDcBkcxPS3+6O2KHJyD6zzHX1HcTrA5QoE2s0gDT3mN9V7SMw8i4HIktfUfTfM6wBCwscsQzwj3LQ7HCVdumcAJJHM/WK9dHOxTVjMbJZoa5jP2NUIt7q2tWmiCIzvN2UKhd/mYDRxgtZGBGeeKvpkJ55b72FucTEah01vPZNn1hzmdanfAYFdkxU49qVefKFzbITrq4GNMeiPX1/GvM7JOtZdKoIRkFzQVMtckid3+8C3//HxOl8udGnoxw7M/FdhaztLl/mQn9PagZWecLQCFoUcDYRnv5Mn75bkeaQ9U0X3gRD4IlLV9gIJOC08Dja1yrJKS7DhvCTrwZc0PQwF2uLR1a6jfhRs3EzkVBlVwFdledalIFl0T1UI1zk7Oxopn9li/XPLkB5dK5h5gGtwuhiWlrJ+jTf+zA7z9Z96jDjZzdwF0IUYw/dKhJeRy+Z7bE/Bk05I7lKcvWpLZCLcgsdR7LYcbXcP7K17B/HsnkqipRcfrrJxRohKpefnbo/VPSPJRf4XyOlYYYsr3XE9tL+m/GMIu9aKN0CazOa5h4xylfYlmKrOOU3XqUtzCiAPFSWcWSbRNtTZgpSgrxZEhzoqpBxuQ/ZpH6dLnWEe8wfGL0lqc+jDh9bTgjhK2bxpccj8XQ4F7OW88AwrZaDodYwEFWoj6h2Oyls7XFnnFpmhg34tB6LgoaXyOpWUGypqEEhJGTPxTg0PL8Lew3KSWGYIodht0bHUZdu9dtgXJGxezD8DEGQnCT2AafEUvycB8qckF+ZH7SyjS6r7dhYt91azQUHAaxa6bQbWB9S4j9a1PYDpOjAB7NEgXYwdU6PMPoLRtiwvsAkDfE1kj6S+RctUVGFJgxEiupKZQj0riJi71i/KDu4WpAvfvzwKBQhQl2kP4q8yCaC7hnB06EmUMw0ZnKEVV5xMLL5uE6GVIjlUz35dwvy8R7TZ2bt8kw4dfTez/dBrVJ/79vtlXeeh5lgjUrSGlALTu76eYgM4HAYAw==","page_age":"5 hours ago"},{"type":"web_search_result","title":"AI News, Updates, Products and Reviews | Yahoo Tech","url":"https://tech.yahoo.com/ai/","encrypted_content":"Ev8HCioIExgCIiQyNzc5NjY2OC03MzUxLTQwYWMtYWNjNC0wMjRhZWU4OTk1YTUSDBlQtfuhu7i7XD6SPBoM5jPhRfDci7JHEATmIjDNqkJKxzmvf/cFWZoryMxHbNDM9tSzwf26yCWv5TwHW1GhClax+MwV+KJK+rxBgM0qggclLT5VhVbhbz6Llr/ksinYf2Dj2Rj1fX6j8EGJ96YBd8UbfJaK4kRp4dcCQfXuMnTHGrS8PutxTDBR9vWrinfpdPAOeiRgs2uEsWQMxXhGsQT8NZ03k8rF6xL4nuep22Ch2yIM/VD5GGUDgIk7VserzAK2bJeFLyYRo8q42hD5d0IRqHM1XDaiUNRFPU5IvJR+3KyMD/wl1qotxfRBgIc+dyi6dnjBHxpHXp+sTE/zzxN1mk6bOoCTqA51fd6P35fz9T/g316duKDVWvDgBkI8pvQ5VN4Qh39GHJXIAl0R1dLQ4TRMG0t5Ju4FT5uJ6kOd/JCQtknELxwNXRRD1HuiAp6tU9zUDnFCqorVBsSgjNdWsqT41fHMsaEIRawBmTNZ2Ss8VRsgKG+C/v23gt4LUaDlvcxJcWMsJv3UZeZqWINjKC+BWh+NbOovx9CPkVnBZ+3YDl1fb1oPwZXTgam7tgsx/fn6Mb45qkJWWoqgfoHNaFcXjdQyAB7FGSMsvBE/WK3PA2D7ZJt8Y1Z8LhVoPAKV9qjV8trwgzuqM0pkfbfqgrRGkMKU0WxVEw+ZTSXELSwUfXnX6ipCWbjS8YjajxOF/pj9iBU8feFyc2Z9Td2rIbFBejRbDbyXuycR5DJ5La23tux1H6qzqSHS59Jb+HpaLiJPtdfFhE91/5RXzpXNpwkXzNP0zrQ/dTSHcjiqPDHzMhP7zSzhz9GdoekoJAQ5Lt8nLoqaxcnAzWK1kHSf7OWyXnNKsrM3UqSI8rmAYbFF0H+cl8ew/FfVS6+iak1WD9rD80FY1jgzERGtyLiZp4B6xfUghVLfEDygftx6tmPckyq41Z3z08ly8OMJGKgKwoMz/HuxjmuKQt03NQ0l3ZayZrLeXIE/w9GjgIWHZRGbF0zi0/cxuX5ORKnydiwEcKpiBuBtFHNNyiMS9OSRrd18IqLNrbjiXkxKXH+rr0ddKeAnRFeyT1y91C8iq2LfDlEMV/Fh2HgUbmUkbSiHr9fF3IDVywy665XtQKMxd7UspPolKeghgGy2x6eb8/P0TEgWgKyaroOZg/37RlXKLGAQ0BBCsmBYoll2LNpWHVZux1DFUdCmZdiRizo8DxEYg7rGb5kBSZH6qUQ7Hdok1VmGbtmkvB34jZb26S6PxJSsXbgPJpvcwfIKVLIsaIGJoyNqugSeWeh+oEp6/4y7GAM=","page_age":"6 hours ago"},{"type":"web_search_result","title":"The Latest AI News, Insights and Reports | AI Magazine","url":"https://aimagazine.com/","encrypted_content":"EuAQCioIExgCIiQyNzc5NjY2OC03MzUxLTQwYWMtYWNjNC0wMjRhZWU4OTk1YTUSDAX3+VgU9aNJDvGdXhoMQ2/3iNMR6cwwVwrrIjByMXVIIjRKWmEJ/tv+C5mmLw3oaDYKMve0LgM3M9GhddP7VTz0SIGr0imFRvWY0gEq4w/QCxxb5r6ihuT/JpZ8Tg8I5DddYVOVc8hI+2vGHt9814ZKSUUrLKxJXyol6irpe7BvRrMLjnMmJ4sFLS8ArnDePwaFyom194w4EOHMU3U8Ngq8GgbQP6gdUMKXWMAIMOlNLN2z/4vHbbEdw3Ywp/3/knHMKSl00HzTDAv2uVOtv18FoDizI0GIjfzjwqM3JfgWMBkWtFhwwuD4NyrahfezODVMvR5vLRRVdzhaekNjJAflPRBLm5gkNib3DoaJc88duHe4IT6ZBrjmYHoatKcJcDkvKnRqcjAAr9gRx+6M7sYEM1aLNcGKLtqNXwegJkBbRlpvaS3ky1Vwm1SGNt+XUFnkHFO5jGuf4K4fJa+8QQMxyl+g7HO0n37Y8iaUnWI31S5dJ+TIxOt+mmHgWKu3+q1/EpZWxJhKEhgDBSAXOZNPE7yZl8hVQnlCJ7ABWSUWbcRPbXqoq944vZrzQycPMt/LmJJDKkwImCVcHe1y7DUG7sVG5cOaqWYXMG/petDEFdlbsHrQePY5jAnAEIfGTsL/yu1u9Fa1pSakQKrvw5QzTGV4I7FmcLzKsgZlYTvysoXRCMnmu32cMmnahjvC6WcCCGTHKWmHenLiikYos0eYlv6HmQ6a2fGh4UrPAYprivUrIka0eGJ1RxZoS/hUo9BiNT/2rfm6V3mJuqd4xTZJEMWcxSoFJYTiLJfy93YpjljJyO+eg47PkqEUJdw+HMa5bzVnwuncS8wdZvP60EJAAkOnA+iWBAMN8cEvuCfHZ9NwiqAa8493xU5XM25UgeMXFWcFa0WCJ1Z7VWg+XP06bGcTtOZZ7tjwH0MhWozOSVzTyDvkvGHm8hkbQsiNB5z0cU9M81XNOIv/+Ir/L9hlobDWUlI1FovKeduWUcwL/YvZaqOig7mjGBG1YAZvclvRx3q/CrNgU8jHR2SBtBZbSTVcBogVi/fgF+mvMfd847zmr/SVUGJMyP66AMMz0oi2rtlgEs52iYhdTDB+8SfVsp6d3Z+kuCM0Tsu6tTChqgJ5/7EHhHLJLSsZSyHRbH4KNtXQuo+2324hgzDzY4DnJgEvyFy3z5o4hEY7KwHePYYSeMo4XwIGhtCX9yiJ1qo8z0HEm7qjx6Ef4oQB4RB8OeWWC36fKQZLt8Nvj4B9hyl+Cj/CdTk5u5KOtBcN8HsHu4xipIS5tY10omchVyb/gB4eBpZBQlMX7TEvlNykuisIq+zXOYlM05bhsMwJcgIlq+wZJgqZvkZbW9GDDRPBDsyXUGMOp6Yuo3yqUFZxtRIhTdTTyoj1SEqrOObDTgL7Zhg3+g+Fz+6o2hQVRY3SoczuGoOSwmTOYXVyjCmcSjLOMCz1pdFP0H6YE8zwp/CDXtO2/Kpq5PAmm0jVenZ8NHMAsxWDBQJ/h+aoYhXVIwxLh2Vrnf6NJvVb8qjmZx9SOYcb0XeB8XEUlsu5sfCGd4NiTj4pjRbTbGqpDKFG98PHM+zDU+UA5GdNKyz3Yta9+nhShVZoNQK74jujPMMwM1DPGCk4QaTkgk0FhuCS82gb7D+l+onx+5dlM1X9APM7GVsIL1IZ1Afdq0lX6vdCRctlohEW9o8Y7Pls0Ifyw5izbRBH/h6r8stR9jj9xUBUhG7SBuaiokA6lAdAV5jGN6cgTNSXmYo9057x7+aiLMAlPm9c+L18+TtZ2Rns/1WunrPj3ZOtuRnUEWhRcWk06KQgdFvRsNCY/mbA307Fdrxl17lat6BMvd5cOzOkvwDZfsAtcmXIulAnuXDedRZtyMG+LYWXt1AbGL1w8FLiY+gKLwfs4c8jK4L+fKagXZ7wmZBNFHUI1MyDUp9rzWNhoq5r8k8Ei3S+ydgDwsHYl6sgKQE5pvmD4LbqNEmn5pPQcxaW7GktUwiottUUmXU2gmB+CLcPPUp6KxhJcdPjK+M7tJyxytPjaxORa9qrVL3Efk66KjbMpxp2Gd7qrTJjMF0+0a8Oy7wGoeg/yB0KLaecFYMF0td+rIKuS6Fed4PFzvSiuLxTZfYwQXBy4akdwW05UGBKoqTlaSSkbXMU5QUAMn5AuFuO4/lNm+z2s6NV+GAldpHxkn4GWZu+45WxKRLbnX4Eamw3colTWLP43YjF0O+55lQHIGVDAVkSdqIYFO6XiGsukBRfzWH2vrCD12pxbkhF6o3ykjq7eWr5YaEnLBoej6DgWoP4YMM/sXBi3MWuE++C3WJmOX+Zf4PmZmrqanJukumDK968W+HXrnaCCB2FWg1n0oS6UyNOMOieBT4H1M0YFrz2SAaDWZ+suZaoC6ObddYxYCB/vUyaghdh01ZuS8tdTGSLuZt8RV652xBMP/uV2nICbEU79DFgryV1NiRlqzs3dckaUPhgfZorZWYLKn3d0EfU/9/iauWsEBzZbTUu6S8khuSKiYg6T9ubkcwIK51cjOd03+lURZxD5XN+PYdniNMcLAAUyZOb+cJatXgKi7KOhsYZ/YPUfwoPXmzPV+23gv3uDUxsIlNlBR8An2ae0odPoStqXH3HX2K3eRbl5ClJdXK0Cp4n/h4tQU8KC9R0YErj++eH+2xecM4xyNCuLAjIPDRFBfJWbkhR4VmB86wEzZnMUj/8wo0dPlB4uaQXvjwn++z9UiWF3LYJN34TYyxaeiZ0CjOTHQOvmj1Fp3ig3XyDJdO6Jn3B4AozydWEUM8573loFzkYAw==","page_age":"1 day ago"},{"type":"web_search_result","title":"AIDB Today","url":"https://aidb.substack.com","encrypted_content":"EucCCioIExgCIiQyNzc5NjY2OC03MzUxLTQwYWMtYWNjNC0wMjRhZWU4OTk1YTUSDKvTE8gr4JBRHp3zQRoMKlFcpKBdc+JpFPxwIjDRwjJ6WDAFp/ueVr+wDoSyiQseE6wmxFFYiw1C9u5XqyrGtXaUsqSPRZ1TIlrXf7Mq6gGf0f8QI0ju7k1+1NoTW3QBEXI3Z2IM1/adUgbzmWJQRgncBCngZxX26CRlJSDtXdEuIrEk/d79YwDALVSlcFZp0TWCDNGK9HACIjhnWu4HbrQv/ztsJjJL6TzQ64gvXsWAB+KsVcHQoOOA5+C6C/rheNlIOBx4h3m0rOF8Dwcf5C6dbD6hUh6d93OvW3SMsND6dUw5Eq4DF+pLxh7BiLNqv+Xww25m+fiRTgIwNyqJwQH6SIOPTfgrzOn4hmF3Ima3MtnSvtZoME32tRTIkUauujXiub/yCY1UrsQ4dKGJns8aZG9Vj/2x8uwYAw==","page_age":null},{"type":"web_search_result","title":"artificial intelligence newsletter","url":"https://www.foxnews.com/category/columns/artificial-intelligence-newsletter?page=13","encrypted_content":"EuAQCioIExgCIiQyNzc5NjY2OC03MzUxLTQwYWMtYWNjNC0wMjRhZWU4OTk1YTUSDHsVEC/leyhPfSgEBBoMQRAu53Bl7aTEI4/KIjAWaESeXC1pGe399lyiA0lSrN8TKXRefUfy6HOVhWSiFBGpY/W3EWPd9RfQDCxoeSsq4w/QQ1w4SA4l2HqzFdm9LioQeJH5hNHCorIZPLJJgzy+mBpYd9S37vft3qh9knScXr74MspbOka3jtbMzO9drWIRH082JCuYmIaezqG16eOm3GvAv8P7h3oDYXGZrheQyjyiMXW0GdmrwqS2EdpkQBbeYIgKgacpghHI6aygzpKpkY3D1uzgLM6l/gvaOySi1Feot9eDZSBDoPhkegHCqkZTmkg3Ow+Wmk7h2nw51c/AgFVy6j/j9KHDAWq8kvq/W7VMHW4jrnLTb/NgvwqYkQL+R3zbTBPxr1q+fTC447l699MCMQjBnI6O2UJx+4qFKYYR2I6IqsdnMwXnwZAHfyV+ygHiJQDWXHem1EZNs88KbWwkvCED6E3lZJnBqFEHUmIE7WP1rmoP7cVIRX9Mc5yrmo9Nq5f5klRKqDfz8AftpKmgM9/n2SjAeLgATcmG5gzSCVAurTZl88gFxUrgYWQktYIj+4z8PmXsoH+uKa/3VxhjjcQzLr2Rjl50sW66KMByy8nNQku1hp2gulrFqYtYlUmB5UiuKxXemW4P09/RCCCQcrFPK7JThEMp/j0SFFkL+nz++bnBRzOxUETwMBQA4y/20CBhrsHZZrlHIDRw4/wjSrPVPVzOWMelpKy+3aKGjhhLKM80hWbbsZi15aokGuHQKoovqN9LKEFvudmHR+2MQfiABV8v8+Bj1odpiv16hZpB9kw8H0LSwVAAIIDFk2izrdAwNNqoFbPissWVAF2U5yTuO7ksxt/VBTsNYRNY7CoUBiaLQPbSAU7mukyUdUpZrJPRT68vPT+nhrnOew1FmWu62emE1ft3HZW+JY5vFvIiz0WHe3gqo8xTsvqT6R9gR6qY9fK2Fp3Xm4yZOHkvrwXQ3m1pBSB1655WrWaqsO17ewWsUTOEHM0+C9ngDrAUZvIKzmBGoo1prNwHY8GY2KR0Iu5+gKCNaAqI5Sw7w9RA4aDg8W/CJiPNO/fLsNwt/81z5hixTU5GJLisyKYT16RSBxc+u/TJ2RX/uRnCDGBCI6ncda6RI1rvMheziuXYEtE+FFGi4g+s3QTmOpfQmMTmPcngYecrwm7LMfDxHT7FMdwNWU9h2KsBwyimq9zcYdZX9+OHquRN7qRyIGQg0XrFoCsCaIgmOfc2W3+0DX0DjrIMubGKHe3lsh/BEFfJiEP4hhr8QMoaIvySI7N2xcpimYP5DmkWmbDp+qy4QnZpVLPGt8EyYQh+lC+EikkpboqibFSofgFxAQuX0PvnD54pPa5lF0xwsxY6Y39ftJSFBafXYGEwQVh71YvR6VimgXj5U3I4J1r0MUGOohp8HLdh4C9OCQrh1ry30z2y+PgIrBWc6Bv5v1SYLsv0VlvnVjnnYpQtnXYMO8Y74+qypJCJ2jEYM7AseprmT1DPG3jYbSUD+rL/NNTKQZXXE6VBkSJcbgBGkkbOx8ZoGmYA0N07otr1oIC1yxe8JfPlTinwP8NgDDhp9o8p1FkQoTN5rVU5WzcAhePojeKMuy8Mmh3KQIWkqRYivw/1okIvi9WboUQ/PeodU48MuStfbI+cjAJFc+hYY+eX9VcTU6oPNdbD5mCJNpEfzo6QhFxPaRSF41WynxGNeCCBfZqa3jX+XAVlP1hu39pNVyDF/eRpK3MJBsZw44RVdD6jhgVR9yZ13i3FW3yaSgeul23LLC362luMbYo8XZDZ5liITYrsjKwjSySYw/XJ9MAyy14SQDpt/wWK5VCbEqh+W8I0nDYbT4CCfNgT2b9fo+2YZh1SKr7OLqEiwPo7iiHgnzCMjBufNzcNMFjbbdWV/MKFpDdOXpdVeUE0pE7kMLoER6x3UCwg3Wbyryvo6verfoMh+eUkx7vsrGTHQs1BZYnRsznHhDdD9PMCECaRsaVkos70kX3Xni2Xun8BPoGDd0V1ARNgLOOwAHticjFX1XaVegHtWdTdJUhWS8F/FkFC0ECaC8+ejS1QlIuZ/yD2j5PXZk4DsXIyz68+Ruu52s9LAWAGFPctBuMkTf3F7kdF24DeFniy/GITKf75XEGiSkk3L0u0dp4/PhL7j9OpnFYVzn1YewEbXMqpn8Vbcw7FM1MCD6cofUnsrIdo4TDbDmEi8TSX5p6wXb7GA6u1BFefFcFf6q3Es/BzdZL/kbjWnkKE26oK6etYJQkWpcbxBDWATKHqOKhsiZkX5oGF9bRbsD66I9YogLAhYdg4XpgtwSdCrvnL5RLM1FrSU5tuL6uZhHJiVaZHFXDbwiYzkPSLJDzUDg329viDbJAxMJqmcIMqBYPRG0XTg41zXFGWVPMmJZBfb+8Aw63nL/5Qb+zBJXTAgKXB73B/8s7IbATsp8BeKURChkdVCDXLy301mWmGYKU0BB2ps0OXfyiJGXmdpHDXaOJdosWyt2X11UfD7G0S7JF2dCznFOgVGLlH6Eu5rjIXl95o2Q40VsNaFeEw2pfvArFUgXpBdjlMGVKOQVsSCkE7fNI9ZQgd7e0uRbAtqBeDUQx4T7uQHDsEimnxTxzh03xNO1AAQLFYH3yUAwLvbOOj87qm6+rph0K3Wf4URi6uNpnOdcRWzTUItMYL8H0tnaepjKgiNrhWc1OD2Aifr2aWnmtwLM4SVI0z4sGzTNgQGOO7ql5gB1OSexNLKh+NivO0PN3yl6/sLKKpmV2GjamU0hLyBT24bi+RLsD4M+gYAw==","page_age":null},{"type":"web_search_result","title":"artificial intelligence newsletter","url":"https://www.foxnews.com/category/columns/artificial-intelligence-newsletter?page=9","encrypted_content":"EuAQCioIExgCIiQyNzc5NjY2OC03MzUxLTQwYWMtYWNjNC0wMjRhZWU4OTk1YTUSDIcYsP6c+U17RInruhoMqW9CiRm7RXW4lacnIjCwXtlIDOJ42X77OmP0ozr1cCS661KtiQrrf7JeT+efsOOpvIKExg6ewKZFHtV2A5kq4w+LZecV1l67/2YfE0nMGyx2lArJ/ooP6sz58DLn1BpeSR90XH5CcyEufvYCZzhIn4Oo2HGu7IaUrk+xiWdYr+pVWdfjwu5oI1+hjmgr6z0nCGZdZz5LteCWy677AcNfaIsS/o8xvg9MEJxxn4j9WBlyyLaTdnuBktRtD4VFufqc0DAfhOnMz7Js2tuutIpupjoANDtzjAG1Y4dy2DJ01S6Tgt4+SRPWtMEoTW3kkJ4lLGbO+TraSTkd5s84OlAdtEiRQ3vi+oZQvIKvIfBjIIsVzqUGdT5NBmOflax04KWapL/7jTTWqsaIDfPUYT6nBKdQt7IecC+teR7vOfV/3N4vt8FjZJe+upiHUcA6AB6KZuwde3albFph5XkgkorsZeB7wSMyAZnsjFCPhi1GlFkGIK1lnSv4MoRkvg45Vw9DxVDin339mWZ2Why5oro8Qn6QdO1FBYxX4HLvdJfsaR8vM3bv00Hj0BMLsBFltq9THavg7cmcVAhofkj+DWEMsFSmvqKaML8mwjmTVRUJZQj3srIxJUK8Jw0LY4ZIOzhpfbVNz7k3klq2MABqTCSF1S01E/J9cQwhnUcfXpxYjckwAxmzgcMPT5NSLrVy7whvhWiMBuSkLNIXgc6EtCFkgRlnZ0ep+Rvt143G/utk5OCgWxne+JbwTEXTnNAZ6fXh9DjH0pQ+jQu9a0/NDb0OPrRTldCF1GIW0UByKWOAIUwHCvoFFCmNpjIyB4Bgh9Y7haKxak9/YHtsl3k0Wjq1E2D51WE88VaXUuzyJToCbdI1vPW/RDmE35s1UlKRAEs7qaJQCYOcmQOmQsBSq0RPk6gacdW0E8ywg+Yh4HKa3VN7ITh5ZIRzlI9BI+a6IxKLgUVIV4iNb/KUO1PdSMQQU2JBDTEGdwHT3sUlY/lCeZAMNHeaE1MxkGxCcxzSs5kcgEMf9rr+rAgRdBaDWmC90TJiCAodV7r6yzbCvhYeiFruTcntXOxUCilgTBR4+hmwFhBsWRPMAWeqooNuVcCIx4IqE1HTfIhkXXlCQZpv56oDFq4whIQT0xRQhhPiwtqIvzDaDIxJUJJqtmWSwWqWA0vzah/33XVKlGI64ZhomC6kU4LDD6PHPXBB7onQkZHcD4b57xjbbOrHart54iQrvdW4QEjuNTwv5qfkmciaGovT3VZl3GzkKzrPqMtHUoTyYWOEAjP9Ue0Ls2xS4IT9akfUvj3z+BQlFgIT/xeN2aXdgfhBltsL1Y3dVuVhZYZJAF8yMPKEH8fBr/5UHZLTsxAgDzpVibjBK8HKmxBHc9xwn5do4kFl3W4inDs/J5RghwKgHs5xiLujvWf0IHbzDzt9yV6uCzvLyBmIiUxT6O56Onkt/FgBk+jUDxxHgja5X0CnFBH+SaK+UXCdm3tnBiW9iQe9zS/eukQC9a1FBvkQXHvy1/3msZ6kVu/Qn/Fpi/+1caAKVyKCvWK3mUF69XWjwdoZM8d7qFeelsVgB5I79ESdkQzSSq919tT2c12zfpFuTKAR75byE/zYh31WC75FX/u8iTncrbqTxrqPyEPeZhcgyBYjNf6kl9dVMEDdFMszZ31Pn5sKGJprEbJG9UzJKQg3vmPTnK+MJxSFMg7rTvwa2+A1xyeHHwRCCOOVGZxNcuvcVOHa/fUD1efZoG7yl8+GDIIw4A4zfoZbjxKvamI3QDXluwcsI/5faxCwR1wt2BqSQU77muGc5tlRPEXfNCiTj6fmS5+/AmQYrLYraZ580q3julslaev3KzGqT9DuSRiox69BAAjpaA8P6jP4FEmYabPeNks/g3gvEXC4VCEORjqgiQA5A6c0ym5rn15d+GlF7QcVTqGaPI4raPQ+RC+5aV8DhQByciuV2ZNMgbZQejns7AxaIMQDzzzesrKPHOZpCpDUcG09Dkjdnrpu3RW5fenjar3A6w9MUwiOCDQmmu2+A1i4G2dO3IuVyaljFoD8v2iy/65Skz39Y3VKqP2bKwh+a4CvuDwyeoqKPW8PcLcvNIlGzWe2gZX5qnuqyyBlt5KAJOu0GgeOy+a2Qt0gbjyHtFJe6AIcl+B/BDWRRHH7grRr5z5Pf8iEjGvNwriH8bxrmw7xG8fEoghwG26/Vcq3vzf9Ex353GI6q/8vW8fouLk2e7KGZUdr2MytN3b1Z+iLI/huu+PfXdgn8F4/TGNvtPcS36nVRAfTRDwcpuODFT2R+uXAOVntl3HcBa/3dlRsDIF0s3MekkM/azdAb1Pc3ToKIoQMPswWSi2Ssq8S9NE3Sz3C9dNNf7i+qsas7mc9uVB8d8dXr2zK/YMcZioAjySkVuV2uFfaEQlZ75DZz02KxR/er8NUqgHLS9cnIb3xLlzRF9LSbBicT1lH3XIRfXbeURvN6iBPkHe/qMhP2mQWRUZ0Hx3H5x/23wQ42QWRsPmBxgADsTgLa+OuxqgNeb7v96b16U9pum0ijej9aF65LnC5IHKz+TUVLuuUC3zFnmkWReizs4POxbC9HrygxNf+Ow2JYvVfX9vzAP4wLoKvbnq+equecw0yZ5qwDDsumvgX3geHZG9TyvmDtcpWxc8jCCPbCyEDSylBm/jHqnfe8ldaxrKphltXEeRXjUiiTTafvf/smMClFqteuUQz+wT0Y55Nb/ovrct/U/evQFDMsjY+S5t0gW0SOsYAUPh1w6CGAvHeZYPizg0YAw==","page_age":null}],"caller":{"type":"direct"}}} event: content_block_stop data: {"type":"content_block_stop","index":1 } event: content_block_start -data: {"type":"content_block_start","index":2,"content_block":{"citations":[],"type":"text","text":""} } +data: {"type":"content_block_start","index":2,"content_block":{"citations":[],"type":"text","text":""} } event: content_block_delta -data: {"type":"content_block_delta","index":2,"delta":{"type":"citations_delta","citation":{"type":"web_search_result_location","cited_text":"● LIVE Updated 0m ago · Edited by Alexis · Daily editions · About the index · Bloomberg and TechCrunch reported Aug 16 that Stripe has finalized a dea...","url":"https://aiweekly.co/ai-news-today","title":"AI News Today, August 17 — Top AI Stories & Live Updates | AI Weekly","encrypted_index":"Eo8BCioIEhgCIiQyNzc5NjY2OC03MzUxLTQwYWMtYWNjNC0wMjRhZWU4OTk1YTUSDHRYrNv53GXJdPHT+RoMMP3GcqTFYc/JoXbJIjA34NCiIgFWxWOdjhTBOEb6scgUqtXdpMXnxftCyQdXkURpeobc1unZEcCzxIxU4oMqE8P10649e/tjP2VuCzEXW5H9+swYBA=="}} } +data: {"type":"content_block_delta","index":2,"delta":{"type":"citations_delta","citation":{"type":"web_search_result_location","cited_text":"Meta is updating its AI glasses to stop recording if someone covers the capture LED and cracking down on covert filming and harassment. ","url":"https://tech.yahoo.com/ai/","title":"AI News, Updates, Products and Reviews | Yahoo Tech","encrypted_index":"Eo8BCioIExgCIiQyNzc5NjY2OC03MzUxLTQwYWMtYWNjNC0wMjRhZWU4OTk1YTUSDALVF0zgk8gjvhMuvRoMGxMTC5u169A4mPKTIjBIlDDzQr06Zw2yXMZyxhuwWhiznox5aV90Mmb2hJ+HONIrwrh0aN09Y+09SMxYYl4qE4RQj7sADVddoqSCEiCHrqg8ZR8YBA=="}} } event: content_block_delta -data: {"type":"content_block_delta","index":2,"delta":{"type":"text_delta","text":"Stripe"} } +data: {"type":"content_block_delta","index":2,"delta":{"type":"text_delta","text":"Meta is updating its AI"} } event: content_block_delta -data: {"type":"content_block_delta","index":2,"delta":{"type":"text_delta","text":" has finalized a deal to acquire OpenRouter for more than $7 billion, representing a more than 5"} } +data: {"type":"content_block_delta","index":2,"delta":{"type":"text_delta","text":" glasses to stop recording if someone covers the"} } event: content_block_delta -data: {"type":"content_block_delta","index":2,"delta":{"type":"text_delta","text":"x markup from the AI gateway's $1.3 billion Series B valuation in May"}} +data: {"type":"content_block_delta","index":2,"delta":{"type":"text_delta","text":" capture LED and cracking down on co"} } event: content_block_delta -data: {"type":"content_block_delta","index":2,"delta":{"type":"text_delta","text":" 2026."} } +data: {"type":"content_block_delta","index":2,"delta":{"type":"text_delta","text":"vert filming and harassment."} } event: content_block_stop -data: {"type":"content_block_stop","index":2 } +data: {"type":"content_block_stop","index":2 } event: message_delta -data: {"type":"message_delta","delta":{"stop_reason":"end_turn","stop_sequence":null,"stop_details":null},"usage":{"input_tokens":8685,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"output_tokens":122,"server_tool_use":{"web_search_requests":1,"web_fetch_requests":0}} } +data: {"type":"message_delta","delta":{"stop_reason":"end_turn","stop_sequence":null,"stop_details":null},"usage":{"input_tokens":8644,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"output_tokens":100,"server_tool_use":{"web_search_requests":1,"web_fetch_requests":0}} } event: message_stop -data: {"type":"message_stop" } +data: {"type":"message_stop" } diff --git a/test-harness/src/testFixtures/resources/cassettes/anthropic/__files/v1_messages-11997f5f60ca.txt b/test-harness/src/testFixtures/resources/cassettes/anthropic/__files/v1_messages-11997f5f60ca.txt index bee75e7f..f2642b90 100644 --- a/test-harness/src/testFixtures/resources/cassettes/anthropic/__files/v1_messages-11997f5f60ca.txt +++ b/test-harness/src/testFixtures/resources/cassettes/anthropic/__files/v1_messages-11997f5f60ca.txt @@ -1,27 +1,24 @@ event: message_start -data: {"type":"message_start","message":{"model":"claude-haiku-4-5-20251001","id":"msg_011Cco5NcpU3LywLYSgUff2e","type":"message","role":"assistant","content":[],"stop_reason":null,"stop_sequence":null,"stop_details":null,"usage":{"input_tokens":19,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":6,"service_tier":"standard","inference_geo":"not_available"}} } +data: {"type":"message_start","message":{"model":"claude-haiku-4-5-20251001","id":"msg_011CebEbqupdT9KNq3MaacMZ","type":"message","role":"assistant","content":[],"stop_reason":null,"stop_sequence":null,"stop_details":null,"usage":{"input_tokens":19,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":6,"service_tier":"standard","inference_geo":"not_available"}} } event: content_block_start -data: {"type":"content_block_start","index":0,"content_block":{"type":"text","text":""} } +data: {"type":"content_block_start","index":0,"content_block":{"type":"text","text":""} } event: ping data: {"type": "ping"} event: content_block_delta -data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"The capital of France is **"} } +data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"The capital of France is **"}} event: content_block_delta -data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"Paris**. It is located in the north-central part of the country along the Seine River and is the largest city in France."} } - -event: content_block_delta -data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" Paris is known for its iconic landmarks, including the Eiffel Tower, Notre"} } +data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"Paris**. It is located in the north-central part of the country along the Seine River and is the largest city in France."} } event: content_block_stop -data: {"type":"content_block_stop","index":0 } +data: {"type":"content_block_stop","index":0 } event: message_delta -data: {"type":"message_delta","delta":{"stop_reason":"max_tokens","stop_sequence":null,"stop_details":null},"usage":{"input_tokens":19,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"output_tokens":50} } +data: {"type":"message_delta","delta":{"stop_reason":"end_turn","stop_sequence":null,"stop_details":null},"usage":{"input_tokens":19,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"output_tokens":36} } event: message_stop -data: {"type":"message_stop" } +data: {"type":"message_stop" } diff --git a/test-harness/src/testFixtures/resources/cassettes/anthropic/__files/v1_messages-2043d4c3771e.json b/test-harness/src/testFixtures/resources/cassettes/anthropic/__files/v1_messages-2043d4c3771e.json index 578ceb8d..1f2a9079 100644 --- a/test-harness/src/testFixtures/resources/cassettes/anthropic/__files/v1_messages-2043d4c3771e.json +++ b/test-harness/src/testFixtures/resources/cassettes/anthropic/__files/v1_messages-2043d4c3771e.json @@ -1 +1 @@ -{"model":"claude-haiku-4-5-20251001","id":"msg_011Cd6LQ9Gdu7kv6LqLxRrtv","type":"message","role":"assistant","content":[{"type":"text","text":"The capital of France is **Paris**. It is located in the north-central part of the country along the Seine River and is the largest city in France. Paris is known for its iconic landmarks such as the Eiffel Tower, Notre"}],"stop_reason":"max_tokens","stop_sequence":null,"stop_details":null,"usage":{"input_tokens":21,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":50,"service_tier":"standard","inference_geo":"not_available"}} \ No newline at end of file +{"model":"claude-haiku-4-5-20251001","id":"msg_011CebF1oLTyWa1Bu6fb8Mkc","type":"message","role":"assistant","content":[{"type":"text","text":"The capital of France is **Paris**. It is located in the north-central part of the country along the Seine River and is the largest city in France. Paris is known for its iconic landmarks, including the Eiffel Tower, Notre"}],"stop_reason":"max_tokens","stop_sequence":null,"stop_details":null,"usage":{"input_tokens":21,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":50,"service_tier":"standard","inference_geo":"not_available"}} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/anthropic/__files/v1_messages-21a878708183.json b/test-harness/src/testFixtures/resources/cassettes/anthropic/__files/v1_messages-21a878708183.json deleted file mode 100644 index 770fe19b..00000000 --- a/test-harness/src/testFixtures/resources/cassettes/anthropic/__files/v1_messages-21a878708183.json +++ /dev/null @@ -1 +0,0 @@ -{"model":"claude-haiku-4-5-20251001","id":"msg_011Cd8YKZia5qKDaeKmNqQtd","type":"message","role":"assistant","content":[{"type":"text","text":"I can see that you've shared a PDF attachment, but the document appears to be blank or contains no visible text or images on the page shown. \n\nTo help you better, could you please:\n1. Verify that the file uploaded correctly\n2. Check if there's content on other pages of the PDF\n3. Re-upload the document if it may have been corrupted\n\nOnce you share a document with visible content, I'll be happy to provide a brief description of it."}],"stop_reason":"end_turn","stop_sequence":null,"stop_details":null,"usage":{"input_tokens":1592,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":105,"service_tier":"standard","inference_geo":"not_available"}} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/anthropic/__files/v1_messages-24749b216947.json b/test-harness/src/testFixtures/resources/cassettes/anthropic/__files/v1_messages-24749b216947.json new file mode 100644 index 00000000..9c6e87bf --- /dev/null +++ b/test-harness/src/testFixtures/resources/cassettes/anthropic/__files/v1_messages-24749b216947.json @@ -0,0 +1 @@ +{"model":"claude-haiku-4-5-20251001","id":"msg_011CebEct1Makpk5PMyfC2m9","type":"message","role":"assistant","content":[{"type":"text","text":"The capital of France is **Paris**. It is located in the north-central part of the country along the Seine River and is the largest city in France."}],"stop_reason":"end_turn","stop_sequence":null,"stop_details":null,"usage":{"input_tokens":19,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":36,"service_tier":"standard","inference_geo":"not_available"}} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/anthropic/__files/v1_messages-285f53811fc5.txt b/test-harness/src/testFixtures/resources/cassettes/anthropic/__files/v1_messages-285f53811fc5.txt index bcb393d5..a8390926 100644 --- a/test-harness/src/testFixtures/resources/cassettes/anthropic/__files/v1_messages-285f53811fc5.txt +++ b/test-harness/src/testFixtures/resources/cassettes/anthropic/__files/v1_messages-285f53811fc5.txt @@ -1,27 +1,30 @@ event: message_start -data: {"type":"message_start","message":{"model":"claude-haiku-4-5-20251001","id":"msg_011Cco5Nzt21bPoAtzB4CYuT","type":"message","role":"assistant","content":[],"stop_reason":null,"stop_sequence":null,"stop_details":null,"usage":{"input_tokens":19,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":6,"service_tier":"standard","inference_geo":"not_available"}} } +data: {"type":"message_start","message":{"model":"claude-haiku-4-5-20251001","id":"msg_011CebEc8EbWzc9RpAZmDs2L","type":"message","role":"assistant","content":[],"stop_reason":null,"stop_sequence":null,"stop_details":null,"usage":{"input_tokens":19,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":6,"service_tier":"standard","inference_geo":"not_available"}} } event: content_block_start -data: {"type":"content_block_start","index":0,"content_block":{"type":"text","text":""} } +data: {"type":"content_block_start","index":0,"content_block":{"type":"text","text":""} } event: ping data: {"type": "ping"} event: content_block_delta -data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"The capital of France is **"} } +data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"The capital of France is **"} } event: content_block_delta -data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"Paris**. It is located in the north-central part of the country along the Seine River and is the largest city in France."} } +data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"Paris**. It"} } event: content_block_delta -data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" Paris is known for its iconic landmarks, including the Eiffel Tower, Notre"} } +data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" is"} } + +event: content_block_delta +data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" located in the north-central part of the country along the Seine River and is the largest city in France."} } event: content_block_stop -data: {"type":"content_block_stop","index":0 } +data: {"type":"content_block_stop","index":0 } event: message_delta -data: {"type":"message_delta","delta":{"stop_reason":"max_tokens","stop_sequence":null,"stop_details":null},"usage":{"input_tokens":19,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"output_tokens":50} } +data: {"type":"message_delta","delta":{"stop_reason":"end_turn","stop_sequence":null,"stop_details":null},"usage":{"input_tokens":19,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"output_tokens":36} } event: message_stop -data: {"type":"message_stop" } +data: {"type":"message_stop" } diff --git a/test-harness/src/testFixtures/resources/cassettes/anthropic/__files/v1_messages-476c4a4ce15b.json b/test-harness/src/testFixtures/resources/cassettes/anthropic/__files/v1_messages-476c4a4ce15b.json index c588ca85..fa85ba1b 100644 --- a/test-harness/src/testFixtures/resources/cassettes/anthropic/__files/v1_messages-476c4a4ce15b.json +++ b/test-harness/src/testFixtures/resources/cassettes/anthropic/__files/v1_messages-476c4a4ce15b.json @@ -1 +1 @@ -{"model":"claude-haiku-4-5-20251001","id":"msg_011Cco5NVZQjwwP4nbaFcJfg","type":"message","role":"assistant","content":[{"type":"text","text":"The capital of France is **Paris**. It is located in the north-central part of the country along the Seine River and is the largest city in France. Paris is known for its iconic landmarks, including the Eiffel Tower, Notre"}],"stop_reason":"max_tokens","stop_sequence":null,"stop_details":null,"usage":{"input_tokens":19,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":50,"service_tier":"standard","inference_geo":"not_available"}} \ No newline at end of file +{"model":"claude-haiku-4-5-20251001","id":"msg_011CebEbY33NM1mDdzYbtN5i","type":"message","role":"assistant","content":[{"type":"text","text":"The capital of France is **Paris**. It is located in the north-central part of the country along the Seine River and is the largest city in France."}],"stop_reason":"end_turn","stop_sequence":null,"stop_details":null,"usage":{"input_tokens":19,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":36,"service_tier":"standard","inference_geo":"not_available"}} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/anthropic/__files/v1_messages-50aa255b9074.json b/test-harness/src/testFixtures/resources/cassettes/anthropic/__files/v1_messages-50aa255b9074.json index f7658fe8..725f6412 100644 --- a/test-harness/src/testFixtures/resources/cassettes/anthropic/__files/v1_messages-50aa255b9074.json +++ b/test-harness/src/testFixtures/resources/cassettes/anthropic/__files/v1_messages-50aa255b9074.json @@ -1 +1 @@ -{"model":"claude-sonnet-4-5-20250929","id":"msg_011Cco5FsFw8io86juqvnUwx","type":"message","role":"assistant","content":[{"type":"text","text":"Paris."}],"stop_reason":"end_turn","stop_sequence":null,"stop_details":null,"usage":{"input_tokens":12,"cache_creation_input_tokens":1365,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":1365,"ephemeral_1h_input_tokens":0},"output_tokens":5,"service_tier":"standard","inference_geo":"not_available"}} \ No newline at end of file +{"model":"claude-sonnet-4-5-20250929","id":"msg_011CebES8o3uGhyDsvk55aX2","type":"message","role":"assistant","content":[{"type":"text","text":"Paris."}],"stop_reason":"end_turn","stop_sequence":null,"stop_details":null,"usage":{"input_tokens":12,"cache_creation_input_tokens":1365,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":1365,"ephemeral_1h_input_tokens":0},"output_tokens":5,"service_tier":"standard","inference_geo":"not_available"}} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/anthropic/__files/v1_messages-fff3634fca99.txt b/test-harness/src/testFixtures/resources/cassettes/anthropic/__files/v1_messages-53b26763566c.txt similarity index 75% rename from test-harness/src/testFixtures/resources/cassettes/anthropic/__files/v1_messages-fff3634fca99.txt rename to test-harness/src/testFixtures/resources/cassettes/anthropic/__files/v1_messages-53b26763566c.txt index ccc29748..8ab35080 100644 --- a/test-harness/src/testFixtures/resources/cassettes/anthropic/__files/v1_messages-fff3634fca99.txt +++ b/test-harness/src/testFixtures/resources/cassettes/anthropic/__files/v1_messages-53b26763566c.txt @@ -1,21 +1,21 @@ event: message_start -data: {"type":"message_start","message":{"model":"claude-haiku-4-5-20251001","id":"msg_011Cd8YKT8CQfHq23c2zyBDV","type":"message","role":"assistant","content":[],"stop_reason":null,"stop_sequence":null,"stop_details":null,"usage":{"input_tokens":22,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":1,"service_tier":"standard","inference_geo":"not_available"}} } +data: {"type":"message_start","message":{"model":"claude-haiku-4-5-20251001","id":"msg_011CebER1CcouMHmSVZkovb9","type":"message","role":"assistant","content":[],"stop_reason":null,"stop_sequence":null,"stop_details":null,"usage":{"input_tokens":22,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":1,"service_tier":"standard","inference_geo":"not_available"}} } event: content_block_start -data: {"type":"content_block_start","index":0,"content_block":{"type":"text","text":""} } +data: {"type":"content_block_start","index":0,"content_block":{"type":"text","text":""} } event: ping data: {"type": "ping"} event: content_block_delta -data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"1\n2\n3\n4\n5"} } +data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"1\n2\n3\n4\n5"} } event: content_block_stop -data: {"type":"content_block_stop","index":0 } +data: {"type":"content_block_stop","index":0 } event: message_delta -data: {"type":"message_delta","delta":{"stop_reason":"end_turn","stop_sequence":null,"stop_details":null},"usage":{"input_tokens":22,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"output_tokens":13} } +data: {"type":"message_delta","delta":{"stop_reason":"end_turn","stop_sequence":null,"stop_details":null},"usage":{"input_tokens":22,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"output_tokens":13} } event: message_stop -data: {"type":"message_stop" } +data: {"type":"message_stop" } diff --git a/test-harness/src/testFixtures/resources/cassettes/anthropic/__files/v1_messages-5d20989d033b.txt b/test-harness/src/testFixtures/resources/cassettes/anthropic/__files/v1_messages-5d20989d033b.txt index 6d05d793..0c7b1e5e 100644 --- a/test-harness/src/testFixtures/resources/cassettes/anthropic/__files/v1_messages-5d20989d033b.txt +++ b/test-harness/src/testFixtures/resources/cassettes/anthropic/__files/v1_messages-5d20989d033b.txt @@ -1,21 +1,21 @@ event: message_start -data: {"type":"message_start","message":{"model":"claude-haiku-4-5-20251001","id":"msg_011Cco5FLwJ7B22J5PWp29Jh","type":"message","role":"assistant","content":[],"stop_reason":null,"stop_sequence":null,"stop_details":null,"usage":{"input_tokens":22,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":1,"service_tier":"standard","inference_geo":"not_available"}} } +data: {"type":"message_start","message":{"model":"claude-haiku-4-5-20251001","id":"msg_011CebERuJguU6rst6zRmr76","type":"message","role":"assistant","content":[],"stop_reason":null,"stop_sequence":null,"stop_details":null,"usage":{"input_tokens":22,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":1,"service_tier":"standard","inference_geo":"not_available"}}} event: content_block_start -data: {"type":"content_block_start","index":0,"content_block":{"type":"text","text":""} } +data: {"type":"content_block_start","index":0,"content_block":{"type":"text","text":""} } event: ping data: {"type": "ping"} event: content_block_delta -data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"1\n2\n3\n4\n5"} } +data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"1\n2\n3\n4\n5"} } event: content_block_stop -data: {"type":"content_block_stop","index":0 } +data: {"type":"content_block_stop","index":0 } event: message_delta -data: {"type":"message_delta","delta":{"stop_reason":"end_turn","stop_sequence":null,"stop_details":null},"usage":{"input_tokens":22,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"output_tokens":13} } +data: {"type":"message_delta","delta":{"stop_reason":"end_turn","stop_sequence":null,"stop_details":null},"usage":{"input_tokens":22,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"output_tokens":13} } event: message_stop -data: {"type":"message_stop" } +data: {"type":"message_stop" } diff --git a/test-harness/src/testFixtures/resources/cassettes/anthropic/__files/v1_messages-640a93927303.json b/test-harness/src/testFixtures/resources/cassettes/anthropic/__files/v1_messages-640a93927303.json new file mode 100644 index 00000000..fcd1d29e --- /dev/null +++ b/test-harness/src/testFixtures/resources/cassettes/anthropic/__files/v1_messages-640a93927303.json @@ -0,0 +1 @@ +{"model":"claude-haiku-4-5-20251001","id":"msg_011CebESPzbX4V4ncXeEDU5b","type":"message","role":"assistant","content":[{"type":"text","text":"I can see that you've shared a PDF attachment, but the document appears to be blank or contains only a white/empty page. There is no visible text, images, or other content that I can describe.\n\nCould you please:\n1. Verify that the correct file was uploaded\n2. Check if the document loaded properly\n3. Re-upload the attachment if needed\n\nOnce you share a document with visible content, I'll be happy to provide a brief description of it."}],"stop_reason":"end_turn","stop_sequence":null,"stop_details":null,"usage":{"input_tokens":1592,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":103,"service_tier":"standard","inference_geo":"not_available"}} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/anthropic/__files/v1_messages-664c4d4fed33.json b/test-harness/src/testFixtures/resources/cassettes/anthropic/__files/v1_messages-664c4d4fed33.json index 8392cddc..c6ad4128 100644 --- a/test-harness/src/testFixtures/resources/cassettes/anthropic/__files/v1_messages-664c4d4fed33.json +++ b/test-harness/src/testFixtures/resources/cassettes/anthropic/__files/v1_messages-664c4d4fed33.json @@ -1 +1 @@ -{"model":"claude-sonnet-4-5-20250929","id":"msg_011Cco5NAMWGGUbPeNQF6nEJ","type":"message","role":"assistant","content":[{"type":"text","text":"The capital of France is Paris."}],"stop_reason":"end_turn","stop_sequence":null,"stop_details":null,"usage":{"input_tokens":12,"cache_creation_input_tokens":7425,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":3710,"ephemeral_1h_input_tokens":3715},"output_tokens":10,"service_tier":"standard","inference_geo":"not_available"}} \ No newline at end of file +{"model":"claude-sonnet-4-5-20250929","id":"msg_011CebEaPQrFhzSrHz1Mf2cF","type":"message","role":"assistant","content":[{"type":"text","text":"The capital of France is Paris."}],"stop_reason":"end_turn","stop_sequence":null,"stop_details":null,"usage":{"input_tokens":12,"cache_creation_input_tokens":7425,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":3710,"ephemeral_1h_input_tokens":3715},"output_tokens":10,"service_tier":"standard","inference_geo":"not_available"}} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/anthropic/__files/v1_messages-74a60d2aa4be.txt b/test-harness/src/testFixtures/resources/cassettes/anthropic/__files/v1_messages-74a60d2aa4be.txt index c84c346a..d14b6180 100644 --- a/test-harness/src/testFixtures/resources/cassettes/anthropic/__files/v1_messages-74a60d2aa4be.txt +++ b/test-harness/src/testFixtures/resources/cassettes/anthropic/__files/v1_messages-74a60d2aa4be.txt @@ -1,36 +1,36 @@ event: message_start -data: {"type":"message_start","message":{"model":"claude-haiku-4-5-20251001","id":"msg_011Ce1Gh1KcCEtDutfBsT34A","type":"message","role":"assistant","content":[],"stop_reason":null,"stop_sequence":null,"stop_details":null,"usage":{"input_tokens":596,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":22,"service_tier":"standard","inference_geo":"not_available"}} } +data: {"type":"message_start","message":{"model":"claude-haiku-4-5-20251001","id":"msg_011CebEzc9V5dm4pCrxDKbX6","type":"message","role":"assistant","content":[],"stop_reason":null,"stop_sequence":null,"stop_details":null,"usage":{"input_tokens":596,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":22,"service_tier":"standard","inference_geo":"not_available"}} } event: content_block_start -data: {"type":"content_block_start","index":0,"content_block":{"type":"tool_use","id":"toolu_011jMmPnwD3TqUjMg6Kpdo3P","name":"get_weather","input":{},"caller":{"type":"direct"}} } +data: {"type":"content_block_start","index":0,"content_block":{"type":"tool_use","id":"toolu_0127oUn1CAtBEU9cQfykJh8D","name":"get_weather","input":{},"caller":{"type":"direct"}} } event: ping data: {"type": "ping"} event: content_block_delta -data: {"type":"content_block_delta","index":0,"delta":{"type":"input_json_delta","partial_json":""} } +data: {"type":"content_block_delta","index":0,"delta":{"type":"input_json_delta","partial_json":""}} event: content_block_delta -data: {"type":"content_block_delta","index":0,"delta":{"type":"input_json_delta","partial_json":"{\"loca"} } +data: {"type":"content_block_delta","index":0,"delta":{"type":"input_json_delta","partial_json":"{\""} } event: content_block_delta -data: {"type":"content_block_delta","index":0,"delta":{"type":"input_json_delta","partial_json":"tion\": \"Pa"} } +data: {"type":"content_block_delta","index":0,"delta":{"type":"input_json_delta","partial_json":"locatio"} } event: content_block_delta -data: {"type":"content_block_delta","index":0,"delta":{"type":"input_json_delta","partial_json":"ris,"} } +data: {"type":"content_block_delta","index":0,"delta":{"type":"input_json_delta","partial_json":"n\": \""} } event: content_block_delta -data: {"type":"content_block_delta","index":0,"delta":{"type":"input_json_delta","partial_json":" France"} } +data: {"type":"content_block_delta","index":0,"delta":{"type":"input_json_delta","partial_json":"Paris, Fra"}} event: content_block_delta -data: {"type":"content_block_delta","index":0,"delta":{"type":"input_json_delta","partial_json":"\"}"} } +data: {"type":"content_block_delta","index":0,"delta":{"type":"input_json_delta","partial_json":"nce\"}"} } event: content_block_stop -data: {"type":"content_block_stop","index":0} +data: {"type":"content_block_stop","index":0 } event: message_delta -data: {"type":"message_delta","delta":{"stop_reason":"tool_use","stop_sequence":null,"stop_details":null},"usage":{"input_tokens":596,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"output_tokens":56} } +data: {"type":"message_delta","delta":{"stop_reason":"tool_use","stop_sequence":null,"stop_details":null},"usage":{"input_tokens":596,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"output_tokens":56}} event: message_stop -data: {"type":"message_stop" } +data: {"type":"message_stop" } diff --git a/test-harness/src/testFixtures/resources/cassettes/anthropic/__files/v1_messages-810cd8105a5b.json b/test-harness/src/testFixtures/resources/cassettes/anthropic/__files/v1_messages-810cd8105a5b.json new file mode 100644 index 00000000..9d2eb1d2 --- /dev/null +++ b/test-harness/src/testFixtures/resources/cassettes/anthropic/__files/v1_messages-810cd8105a5b.json @@ -0,0 +1 @@ +{"model":"claude-haiku-4-5-20251001","id":"msg_011CebEbzR3pLxc6SApakmr8","type":"message","role":"assistant","content":[{"type":"text","text":"The capital of France is **Paris**. It is located in the north-central part of the country along the Seine River and is the largest city in France."}],"stop_reason":"end_turn","stop_sequence":null,"stop_details":null,"usage":{"input_tokens":19,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":36,"service_tier":"standard","inference_geo":"not_available"}} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/anthropic/__files/v1_messages-8551e22f9273.txt b/test-harness/src/testFixtures/resources/cassettes/anthropic/__files/v1_messages-8551e22f9273.txt index 0346a55e..5a9f392b 100644 --- a/test-harness/src/testFixtures/resources/cassettes/anthropic/__files/v1_messages-8551e22f9273.txt +++ b/test-harness/src/testFixtures/resources/cassettes/anthropic/__files/v1_messages-8551e22f9273.txt @@ -1,27 +1,24 @@ event: message_start -data: {"type":"message_start","message":{"model":"claude-haiku-4-5-20251001","id":"msg_011Cco5NMBd9zxNkLYnPvcPi","type":"message","role":"assistant","content":[],"stop_reason":null,"stop_sequence":null,"stop_details":null,"usage":{"input_tokens":19,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":6,"service_tier":"standard","inference_geo":"not_available"}} } +data: {"type":"message_start","message":{"model":"claude-haiku-4-5-20251001","id":"msg_011CebEbNv7UhReGBM4Km5zV","type":"message","role":"assistant","content":[],"stop_reason":null,"stop_sequence":null,"stop_details":null,"usage":{"input_tokens":19,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":6,"service_tier":"standard","inference_geo":"not_available"}} } event: content_block_start -data: {"type":"content_block_start","index":0,"content_block":{"type":"text","text":""} } +data: {"type":"content_block_start","index":0,"content_block":{"type":"text","text":""} } event: ping data: {"type": "ping"} event: content_block_delta -data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"The capital of France is **"} } +data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"The capital of France is **"}} event: content_block_delta -data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"Paris**. It is located in the north-central part of the country along the Seine River and is the largest city in France."} } - -event: content_block_delta -data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" Paris is known for its iconic landmarks, including the Eiffel Tower, Notre"} } +data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"Paris**. It is located in the north-central part of the country along the Seine River and is the largest city in France."} } event: content_block_stop -data: {"type":"content_block_stop","index":0 } +data: {"type":"content_block_stop","index":0 } event: message_delta -data: {"type":"message_delta","delta":{"stop_reason":"max_tokens","stop_sequence":null,"stop_details":null},"usage":{"input_tokens":19,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"output_tokens":50} } +data: {"type":"message_delta","delta":{"stop_reason":"end_turn","stop_sequence":null,"stop_details":null},"usage":{"input_tokens":19,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"output_tokens":36} } event: message_stop -data: {"type":"message_stop" } +data: {"type":"message_stop" } diff --git a/test-harness/src/testFixtures/resources/cassettes/anthropic/__files/v1_messages-95926394746c.json b/test-harness/src/testFixtures/resources/cassettes/anthropic/__files/v1_messages-95926394746c.json index 78a3f511..7807d382 100644 --- a/test-harness/src/testFixtures/resources/cassettes/anthropic/__files/v1_messages-95926394746c.json +++ b/test-harness/src/testFixtures/resources/cassettes/anthropic/__files/v1_messages-95926394746c.json @@ -1 +1 @@ -{"model":"claude-sonnet-4-5-20250929","id":"msg_011Cco5FZvtoDthiGHpMRkqH","type":"message","role":"assistant","content":[{"type":"text","text":"Paris."}],"stop_reason":"end_turn","stop_sequence":null,"stop_details":null,"usage":{"input_tokens":12,"cache_creation_input_tokens":1368,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":1368,"ephemeral_1h_input_tokens":0},"output_tokens":5,"service_tier":"standard","inference_geo":"not_available"}} \ No newline at end of file +{"model":"claude-sonnet-4-5-20250929","id":"msg_011CebERkfHNQ2tvMSPXU4vj","type":"message","role":"assistant","content":[{"type":"text","text":"Paris."}],"stop_reason":"end_turn","stop_sequence":null,"stop_details":null,"usage":{"input_tokens":12,"cache_creation_input_tokens":1368,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":1368,"ephemeral_1h_input_tokens":0},"output_tokens":5,"service_tier":"standard","inference_geo":"not_available"}} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/anthropic/__files/v1_messages-a6025c05a563.txt b/test-harness/src/testFixtures/resources/cassettes/anthropic/__files/v1_messages-a6025c05a563.txt new file mode 100644 index 00000000..6ef10adb --- /dev/null +++ b/test-harness/src/testFixtures/resources/cassettes/anthropic/__files/v1_messages-a6025c05a563.txt @@ -0,0 +1,24 @@ +event: message_start +data: {"type":"message_start","message":{"model":"claude-haiku-4-5-20251001","id":"msg_011CebERqGMDa3KUKQkPoYUv","type":"message","role":"assistant","content":[],"stop_reason":null,"stop_sequence":null,"stop_details":null,"usage":{"input_tokens":22,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":1,"service_tier":"standard","inference_geo":"not_available"}}} + +event: content_block_start +data: {"type":"content_block_start","index":0,"content_block":{"type":"text","text":""} } + +event: ping +data: {"type": "ping"} + +event: content_block_delta +data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"1"} } + +event: content_block_delta +data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"\n2\n3\n4\n5"} } + +event: content_block_stop +data: {"type":"content_block_stop","index":0 } + +event: message_delta +data: {"type":"message_delta","delta":{"stop_reason":"end_turn","stop_sequence":null,"stop_details":null},"usage":{"input_tokens":22,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"output_tokens":13} } + +event: message_stop +data: {"type":"message_stop" } + diff --git a/test-harness/src/testFixtures/resources/cassettes/anthropic/__files/v1_messages-a8b7f878b224.json b/test-harness/src/testFixtures/resources/cassettes/anthropic/__files/v1_messages-a8b7f878b224.json index 98f17fe2..7725dab3 100644 --- a/test-harness/src/testFixtures/resources/cassettes/anthropic/__files/v1_messages-a8b7f878b224.json +++ b/test-harness/src/testFixtures/resources/cassettes/anthropic/__files/v1_messages-a8b7f878b224.json @@ -1 +1 @@ -{"model":"claude-sonnet-4-5-20250929","id":"msg_011Cco5FkYch2CvhEGvzPpDi","type":"message","role":"assistant","content":[{"type":"text","text":"The capital of France is **Paris**."}],"stop_reason":"end_turn","stop_sequence":null,"stop_details":null,"usage":{"input_tokens":12,"cache_creation_input_tokens":1993,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":1993},"output_tokens":11,"service_tier":"standard","inference_geo":"not_available"}} \ No newline at end of file +{"model":"claude-sonnet-4-5-20250929","id":"msg_011CebES3PrbP5Po49G1nDtE","type":"message","role":"assistant","content":[{"type":"text","text":"The capital of France is **Paris**."}],"stop_reason":"end_turn","stop_sequence":null,"stop_details":null,"usage":{"input_tokens":12,"cache_creation_input_tokens":1993,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":1993},"output_tokens":11,"service_tier":"standard","inference_geo":"not_available"}} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/anthropic/__files/v1_messages-b11ab95242d5.json b/test-harness/src/testFixtures/resources/cassettes/anthropic/__files/v1_messages-b11ab95242d5.json index bcd1a193..f15155c8 100644 --- a/test-harness/src/testFixtures/resources/cassettes/anthropic/__files/v1_messages-b11ab95242d5.json +++ b/test-harness/src/testFixtures/resources/cassettes/anthropic/__files/v1_messages-b11ab95242d5.json @@ -1 +1 @@ -{"model":"claude-haiku-4-5-20251001","id":"msg_011Cco5FyMJWcjfhdyGQyvL2","type":"message","role":"assistant","content":[{"type":"text","text":"The capital of France is Paris."}],"stop_reason":"end_turn","stop_sequence":null,"stop_details":null,"usage":{"input_tokens":20,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":10,"service_tier":"standard","inference_geo":"not_available"}} \ No newline at end of file +{"model":"claude-haiku-4-5-20251001","id":"msg_011CebESGQhC5MmEmmZuwApw","type":"message","role":"assistant","content":[{"type":"text","text":"The capital of France is Paris."}],"stop_reason":"end_turn","stop_sequence":null,"stop_details":null,"usage":{"input_tokens":20,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":10,"service_tier":"standard","inference_geo":"not_available"}} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/anthropic/__files/v1_messages-b14b6bf1e7ab.txt b/test-harness/src/testFixtures/resources/cassettes/anthropic/__files/v1_messages-b14b6bf1e7ab.txt index 13ab2332..96921124 100644 --- a/test-harness/src/testFixtures/resources/cassettes/anthropic/__files/v1_messages-b14b6bf1e7ab.txt +++ b/test-harness/src/testFixtures/resources/cassettes/anthropic/__files/v1_messages-b14b6bf1e7ab.txt @@ -1,5 +1,5 @@ event: message_start -data: {"type":"message_start","message":{"model":"claude-haiku-4-5-20251001","id":"msg_011Cco5VNB74rYzCKQYPBoLG","type":"message","role":"assistant","content":[],"stop_reason":null,"stop_sequence":null,"stop_details":null,"usage":{"input_tokens":14,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":7,"service_tier":"standard","inference_geo":"not_available"}} } +data: {"type":"message_start","message":{"model":"claude-haiku-4-5-20251001","id":"msg_011CebEzosvxwSgD7uKmfy97","type":"message","role":"assistant","content":[],"stop_reason":null,"stop_sequence":null,"stop_details":null,"usage":{"input_tokens":14,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":4,"service_tier":"standard","inference_geo":"not_available"}} } event: content_block_start data: {"type":"content_block_start","index":0,"content_block":{"type":"text","text":""} } @@ -8,14 +8,17 @@ event: ping data: {"type": "ping"} event: content_block_delta -data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"The capital of France is Paris."} } +data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"The capital of France"} } + +event: content_block_delta +data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" is Paris."} } event: content_block_stop -data: {"type":"content_block_stop","index":0 } +data: {"type":"content_block_stop","index":0 } event: message_delta -data: {"type":"message_delta","delta":{"stop_reason":"end_turn","stop_sequence":null,"stop_details":null},"usage":{"input_tokens":14,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"output_tokens":10} } +data: {"type":"message_delta","delta":{"stop_reason":"end_turn","stop_sequence":null,"stop_details":null},"usage":{"input_tokens":14,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"output_tokens":10} } event: message_stop -data: {"type":"message_stop" } +data: {"type":"message_stop" } diff --git a/test-harness/src/testFixtures/resources/cassettes/anthropic/__files/v1_messages-b32c5f08c744.json b/test-harness/src/testFixtures/resources/cassettes/anthropic/__files/v1_messages-b32c5f08c744.json index e6b8c74e..3cb9f754 100644 --- a/test-harness/src/testFixtures/resources/cassettes/anthropic/__files/v1_messages-b32c5f08c744.json +++ b/test-harness/src/testFixtures/resources/cassettes/anthropic/__files/v1_messages-b32c5f08c744.json @@ -1 +1 @@ -{"model":"claude-haiku-4-5-20251001","id":"msg_011Cd6LQMVquNup7HT4twkoC","type":"message","role":"assistant","content":[{"type":"text","text":"The capital of France is Paris."}],"stop_reason":"end_turn","stop_sequence":null,"stop_details":null,"usage":{"input_tokens":14,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":10,"service_tier":"standard","inference_geo":"not_available"}} \ No newline at end of file +{"model":"claude-haiku-4-5-20251001","id":"msg_011CebF27coZQcov7e12Z3x5","type":"message","role":"assistant","content":[{"type":"text","text":"The capital of France is Paris."}],"stop_reason":"end_turn","stop_sequence":null,"stop_details":null,"usage":{"input_tokens":14,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":10,"service_tier":"standard","inference_geo":"not_available"}} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/anthropic/__files/v1_messages-c0794efcd5dc.json b/test-harness/src/testFixtures/resources/cassettes/anthropic/__files/v1_messages-c0794efcd5dc.json index 9320fdd3..7e6d3b92 100644 --- a/test-harness/src/testFixtures/resources/cassettes/anthropic/__files/v1_messages-c0794efcd5dc.json +++ b/test-harness/src/testFixtures/resources/cassettes/anthropic/__files/v1_messages-c0794efcd5dc.json @@ -1 +1 @@ -{"model":"claude-sonnet-4-5-20250929","id":"msg_011Ce9dVC8dLNz5F3yPgsgYc","type":"message","role":"assistant","content":[{"type":"server_tool_use","id":"srvtoolu_01C6BYUKEhPMDYrouKReoiVE","name":"web_search","input":{"query":"AI news today"}},{"type":"web_search_tool_result","tool_use_id":"srvtoolu_01C6BYUKEhPMDYrouKReoiVE","content":[{"type":"web_search_result","title":"AI News & Artificial Intelligence | TechCrunch","url":"https://techcrunch.com/category/artificial-intelligence/","encrypted_content":"EsIFCioIEhgCIiQyNzc5NjY2OC03MzUxLTQwYWMtYWNjNC0wMjRhZWU4OTk1YTUSDJmuJweZyIRcsWcL1xoMfWghxklulCi1HNM5IjDBXFkuXRuEUfeDKTJvcIWxuap5El+yfmL7b0IZnT6FMX3XcwroGIV7X2nMm3gv9L0qxQTnuFncYwlVulqQNT8iMcFMdHj7GTC7xaVgwcw38HQbnMPOFeMLmI7FurEVPGOzOn8Y9JMagEcuoKN57CnfBjvwvCspk4M812lec32zYKjg0g574pkpsCAH207av4LrbtHUpLFIPsj0Qspm8cGCs7nCPfHKEcVg3Dt3NcATTZXziq8JZkUjHasHL1djAatF+uSe3dOcQzkNhki9AkRb+1VPvLazyGP1DJwL+jVg2yeS+6gYXXmWq2/0kBYMen/1FgWgHzWmYYIVnrtouU2WWXZYIm/3WhBzIoXFdlMOEiclilcmyn0KocNsrNs0Pl7Mx58+nOXP8tDAxsHhQjT2J/+aVxJczXKk2x05n2X/j25/zWwtXL48B2fD1zHNvp+2mBZePmvRD2HHz98kkTQMuNkMyBC8zBrs3gFr0KQXP5Q3tK1QlrSxcLNOmH1lUVPHWn/S+zWd367E1Bbsp765MvWnpboIJfCtVQX9u3sqZEsT/4Qza3NiXm5xwdxKrge01y6VaRNLuQbOVYp+JeygukFlcA8/58P5yYvtpYOR4le+brp9hNlm9XJjQJady5+ndmd0QU9xSyJmVoQswmt7SDZV0kvKObMd5Au7ZHwCMsm1fsXrx1H+Svr5D8aNXDpA+ZTPnY5/Jgh4Lbjaydzv98j+GybxFBUVBY2XlfO11BvUXJLWOJZlN/PDdpEhG+MA+qpTVk1Ov89mfHFxXEfOBCpK7XTdEIbbOZwlBXgI3oeEQtgjZiCPJu6LNJV32LwgjLyMwJE+hxgD","page_age":"4 days ago"},{"type":"web_search_result","title":"AI News | Latest News | Insights Powering AI-Driven Business Growth","url":"https://www.artificialintelligence-news.com/","encrypted_content":"Et8JCioIEhgCIiQyNzc5NjY2OC03MzUxLTQwYWMtYWNjNC0wMjRhZWU4OTk1YTUSDFvGlDPeHL/8GRYxPRoMrYSWJ5yz50Es49F9IjCyGY6xHXgzfwp+QCKGlxaVq2IJVPrXX3+P7nn72vt/hkMbwfOrF6CNa9EMA1P7HS8q4ggp6WyqgJoe3KjNHBFF+TzEpv1KvWywunJEvmFHYndyiXydFvcoMBVs2as4PovGGPHsJNNJlGmogbJDqi3LANvt2zGgRy19ZuqtGAFCu+xLBOQnKWr/kX+1NnE0uCMyf+VjqqWbgtKtpqFu3CZdcs2gMcoloXIpniwhIfKeQI1YGWu2ElPwipeCR6HE6KKPwFQuic5TvPpBbb6K19BGDGPLdz2VDX73sXXKT7r4YIR4SzpbzTyxiFaVL9YTsa9YpaEXQMbEegDFgisSAz/GknBoqOEIJAkhGr7Xj/ybY8wHOmzmY+eEmijMZpDYjRg+y92JrySBu+73em4geLbvpxmbM3OYfpSOvpZDTliljoU4NmSmOcuZ+QnsMgzXos31QtGxAqjCt9RDcDu72LojwhhiuQ8YMj7HcZEWCKBosfwQpJSVEjIta0WxM7Ibg3BX8dlrWpogY5Mz9/1XHMTs/jWUWF4htec0qV5IdlEMGHR6Lmu/ikeVGiaBvw3EQg9u+vK+PtK0A1grta2jujfhV/Wm02sp1n6243lRfPuh9I5TJVoJyY+AnAY/Eh11ljEvcAkJlGkQPYAbHk67MH1TK+EVj+vhY4lMZUJWBksIG1vS6LncoyeVJsiOchgZJYz2w5Sf0KTrMRNbFmr+kyG8eTDkGyowONoj2j9FooePXiRnd1zh/e59MockhjvhxNCzT7/kcwCIThbfVoOR0qjZ7j0jNtu5O7i0Czt+GMaRD9mMNANEPBpFZZa5Y/3L7mCxnFxKPxHdZrTkC3aI/OSAVK6NHsvEVIO1I4E9SbxYib20clcAF1IDrPHxZZNfXlEkFqSYN8lahn/+qvlt1NPRTJUhsY4oOrsSZPz3GWoA2vzBIg9PBj+sZ0nh4+7D7B2Btjau48/pj5OaKTjftQNaza3wrn6LRY3r/dCxFzqNYAIbqo6a6XR2yDUC/B5GfwgOEcqf+PUb1VGqHLzw3UxRoxPSUXa2SyhdGGQbkkRRBzF/IwxitRC8pd+hPl0VA0VP5h/5821HZKJavr4jO4A1eXl0s7cd+6ZiF5uxHe09GRvSnv6pZ86UYxi5+ppRsPX4o+4AOD3c0rm0+MkJlhMdtR6aOvvxN5RtBVWiRYpWIVRhJ51DsvRprd5Rkadti/2muE/nteoLzqlKJLJKQ8jRdFLBPb5hhgTavw9jj9SObnjyFIl2Jxxb5plorlDaQ4N3v+GAGbSttKg5pFZvmgSWZFe/NXNQ1PI1vVJEV4AaGdRBSFUy1eQigH39+3aWKbF20VUo+d3bLoR/GpuLe3WCcPQ5qroAS4uvFOmAW1Xvp9M/ifCeX4vY+iur8B6jUxprHTQydIpnNsROMrSw+TGJMih1yGO3VyXpqdhgaqCOJspiv1bHphjYuDmHdquyrRjgSbmrmao9CQkfIQrL802rzVThWLPzSmha49+TUu579RzCa20U6+FMtRzEezKk3ab/ynGjzsyvNLMEqAPPH4hr/a8gAi4YAw==","page_age":"13 hours ago"},{"type":"web_search_result","title":"AI News — Today's Top Stories, Tracked & Ranked | AI Weekly","url":"https://aiweekly.co/","encrypted_content":"EuAQCioIEhgCIiQyNzc5NjY2OC03MzUxLTQwYWMtYWNjNC0wMjRhZWU4OTk1YTUSDETxPBQcM0aJKFfamRoMVON6el7jCqro4oWxIjDGNhgJHR7CuXkyNGzzeu8T3dxl3dttBzVGJZ2n6T6z5RNkQ2s1yeFAUmvZX/ZHhoYq4w/Q49fB83q/0V20kqzng8uHcATOdRks5b1TQ+mU8MCIzvHZHhVWe3G1x+YLJWhnHvuXqnGoRQEcRSfDMw2QY2q/CLwRNfkTSHSUHA5qgw19jakQZ7NBCss39xXtHhIcBMJVA9cESftdq/mGlHjhKMiK6N0Zo62xoVW/cetDBOA7nS9h+tcQZ1hnRf6Y2FDuZ+d4YFssSDdfOiysan79uHp7VKiDctSNt6Jhe1fa+BCITY9xVZGcVrut8OMuwIuO9qyiX6qBoFMtyh+j14fw2IZ9faZD2ZVrl2NdtPrg6NRCE0NnRegyqhZiabe6K0BwY3Nv2SYwC5GNNp0x1JOZ0a73byGAtpnlrmQLut92ezr/QePmMXTbkPwdmeSlW1xaPC1btKyjWufxXra4+Z+IyzEwvvBeWZE+/7sq2z0AzrxJdKCUXizY5aDodzsVra29XRVyPNgMEScFoV96jKRanh5W0EnwWXKEfJttFuG/biFcI5zXAAjaUgdlj0iQwy/sOj1QxFMF3Yp2Hf9L7sBMsMnuM1srUUN/CNpp1uqTIPdN4dtff/5refMRp3TfhSylz2tdPouATP1dnRO2rpY+UKm5kJ9GVcHGQRwgd9o7NHzrY82mEoBh1cIG4+O17YmNUytTYYyDP8kkfU4y/9lEn+MEarUmDxtrBTt2FQKfASNWFKhxIE3JzR3LrA9OFRVQwpHWJ7Rp7Pk6DdS0S2V2CK+OHPc6WDOhqXf14Lo4liXM6UH9Q5EUb9hWFcGaOrjxVTzHvsKAdSFI8BM98kkx3jrpYwm+dvD+GltVNhzeXIGP+Sq6kSXV+8FTBt5lwAM5cC/4kz0jcbi+BYiyyO7aZcUXll/iQ558g2aradoDY+KMbfcgfFhiwCmVZYpo6nLArKc0aJZXsr1qLZxcsr7OS5T/KzqUx3ExehZOwYmtr7O9aGkE+HHXcloHhrw4GgDPpi8SqsQuMclzHI/QWd1Ok6uFxiEwXyyqxlsEZL7jyo0S0CIwBvw622APmtVbqwusUA4njxi+us7yk34K/xfRNU5pTs8+WhyXL5jbvyPDjpPwa3ZadQwpqm+WGdUHRVC613xeNhTAWeRRRVuHGjCRhyybZMNPQHoInbu1VqwLWB6aP66GzUqH+VxzfxJaXrCzqJf5zJTCgKDIj+YPcQ8Fsns4vdUtN3K7GpuYTskwGDn9MzONst3jkwtP0M4MAoyA23HWEA9BiX4HKtj3SJkT5MXZmJ7O3TdewseaSJzvl+6rv+54KDaG0q67LIC71cx8D6TW4URl/yfw9MAHfTXTvmlFXWTb9W1YVC5ZzT2Q7lL5XGeV/SfMMTinIeB2JUFdYsUOOUWFiwaQ/ofoK2aCD46/uM2VGi3EALoWX1gTeznnYcGcs/P9B3DB4etmFByUJd/ojbhGYY4DH2NKIpwgD3AH9x15tYhXocnznVLHYtZmmtW3dn5srhggItEiOvvtZTUAa6DVA8oeyyKZmv77iDkcsU3sCsTF8Hdk88dmUDvv0LEH2W8uHc85HrkaJTUCNXeFSs9/U7i/9nhooTs50tfv0spmAD+Hx4KKCWunFs8nkO4qsGvqDT6rg3gZz4k0Ol9B2WWR3pj4U1xUXkOOBeYsfvwtAEv5ZwKUZpmFiEhcXfHLrkm778ee5Y/zwKTyUBOBMHlX8bI7cAwLQoeol52g5Y9ZGYngnpiFuMMa7D3PGqIE0NZaxHqNhI1sM+OrtmAU+qKvJB0unZzrd6raY9XudZNZf/LiqAoE/5V7urVN5eCD8tdyzGNfzQqVaZ7l402Gb2U4fjAn2BN/qweiG104GoWuWCareVz5f/vRJhjkwfQKE8DVnLRR1oXjfTWTkOgEeARWGxXCuRFNP6Lwsg91mvZId119EEI6bCn3ENdBANIt5IrLKWqu5U3oj9BdKM1JITL1+vBqpQsXAKSFqt5JYAgkg/tiDGb69cQrtkgaJwCGcwIalfUumWHA4zHTFEm0T+yOZELIA1ockbLOsvVk3jKrbHVK5BuxvfdqAW6SZiHz4EUTo+/GXa7Dyi9FrsBK3wS6RqkmrJd6hSAaHY5klHs0PVFm/4iHev8AJmxorT7wRwvaRau+MIWOp4Nidh77r1u7BoZ7lk7p2GPzK9Us1TOs4AP//M6ijS8+m5a/+3kZ12npVCpK0ltcuRqOq+tNZQXYzwxso47YxecyyEZDtV3TzK+GoW9fUG36ReTd6GV0aOFXhvQWw9wegC/td2OyydCU2C0yxKVFuYHni3M15CEWsgQ4xN2aGpTT8oPqca3neEnkp+9g4rDH1WkiDUk4p9VbNY54UvU1U4gAKsNmGq/Q4f9pDTBNIGomU1zhDC6kxYh4m1HJuMRvIaI4ZwnqVGMLgVkYYgxJOeHmU949aBijYQn6DtFDXPocyP5P2/+1PXVQAXzVIN/69Ua9VePg8YuxidEOZu83GytRc9Trg+3TIXOxg5ptM5W/h/iNuStVEPZXEkoFCJKayw+bernjzZGxyfC7gX4Nn+wsV3GgxCP+0VnPzn2TrjhptiQ93slZuuSvgVi6zmsrY1pf3xgFG4QmsNp3vYPFeQ5zWqmbGWidEmj9cgm6zKKMi+Q/YXY6lizZZYFXl/lkgmre3U6QXeFl98BauZK2Jx1ZIh57lDFAlaX3J03eFWVTi+Ix8vkwCjWUPGob3u2R1L2iQaFJV8gYAw==","page_age":"12 hours ago"},{"type":"web_search_result","title":"AI News Today, August 17 — Top AI Stories & Live Updates | AI Weekly","url":"https://aiweekly.co/ai-news-today","encrypted_content":"EuAQCioIEhgCIiQyNzc5NjY2OC03MzUxLTQwYWMtYWNjNC0wMjRhZWU4OTk1YTUSDOPk/xK7II162QSjcBoMjI7hFYsgBMYgQsZNIjCB4vdH96jz5KUSlQk0NO6g+wN0qa32slJmGOqS76aezKwjI3ZuaK0E58eFnvAeBhwq4w/IgKSalgt/413ZbZHbcpz7NV5iU9xTLIKBupqgp/+cp6NMmo859g0aUBtzi32HFGEOPQqUWiqpZkW25z3rgl/VUz7nvcL6Ev1ZlgAFCSbUyQLMGZMz49Xp3i9SfvF6FfGJv+22XM82gRsj78t4mrdAEkfT4MNR+fvX3MTX7xghAWTAImsvf4ZGmK9m1dtrywm4I6eBAaVILCq63qIC2l5WB8HqufUEP2NSqcSfz7J2ZxerWgQHg5yfen2c/6/5CdSzGOebRZZKfPjukQlwutxAbxCc14mfZxjLcUV+cH5Qhnz71oOE8VmX4vmyqq56v9JTT4fibIbzrmX/ChxDy2il6sCcepdusS3Zx5l0SLSqKL56U8FYSsiULXmNYleFVSo3+m53oFs3F9bZ/G1msTFKrW1Q+FgOfaB0sFD9cHPKa9zdEPU8XOpK1sf68E4J53IXcVXY42z4l4yt8Bgp+Ikt9dJvlsDk9hJr22KeGLbq8z+vPX3nYisLjTgXJ45f0y/JzB6ZWLyeLslp+Akx8ERQtkJ9UHEVQJfFCt1la7N6mOnQgC0Aip6mnv7Bi5R1fQfRqFGoHxa+rKa0MwvY2+4JdgTxezGAkQV7AnU2+GN0KKE8/f/GbQqpddugmWM8QWBVJQ2/5+2+v6z0BDXkvEGLrotwei+m69ItCW3faF34H/+rAcGhJHtgPC3g5eOIZn/L287k5y1AvYVrY6LK9sI4AkA7KTEY/tB5Y8hoXOweumMruq1GzAND0uHvCLIkAEINGJVloNf4qVXdXt1H7vBbbJrzFO01sZZYQAsdqN+X0nBnyOs8bP5w0Hi+lMmIJrXfKGNuDpiNZfqhYRuLX7EafQ2Z5zu2nFdrpjdOxmjHw9EUgce1WhJCriYZs/+9v5GXNxevm6syeA4wFVE2JLHv7uch1UDCTAifhrwyVnoCSAF5/z0qqJ9+J3Zdlw1VRaX7TGg4ZEpxehVuace/fmB2a0pd7LVtiLzqx/rcF6g6aSf7Wr8dSelYCy5NnzXGvNnWczk1HxY4GzlVpeVYKF9i9eK93+q3Uj90oisi5kaTTnMYxWhv13Y+y6BHkmvcWeUrHTD8CUwd9Taj7+Yy5uyFFaMnvZzrSH0t+MEfUh+AoTyFOkEMfa1mB9d8hXNKp33tW0LKgCt7i4FRULfVo/G7UT2TRO9i1JH2VwRtw/YLZ+B5owc3Xbd8vpZhmIte+L53kaYuR7/xF7bpCCVhIC3x2Wd27i/oc+ju2aRov0jEM0U4ko0iB8ygwlep0rq1UTUIVPI2pjeHgnUWt5/Qe6+q7NXqSnauRoNPNphcWqHATMASNWKR8rK0JmoWj3cI3sJEUS66uNSbGzTcMPxfSq+H8UH18mCYf6VM2NhdqRwPUPPO3RaAXXGqnNsvm6kp1DDQeOPdJjC8ODBzZE2dgXibh8krjV2rnF2UAP22+eqAE49DVcQrTGAQP26sqhrbWsecH6BGU7fvpS0Lt+kynqD1jSlVvcy/tLNjYBas6kLprIs5JTiCR3E54S4upuZnrw8c6b9IXjspaxIThxO7xorhscYguVTjXT8KEwkf1Xnul2cmF4VESH5Xt5bycakDWS3JyU++ydGzFoMIMm0gzS3h/9fhPx+ZlS99CbD6NNFuO8a2wJiL4l9nZhkScIFLFGRGmmeHvmHPBbom2X5LpZCCNK2uCz8ct3iq7ykT5GUJfj3gsR8JQpbHpGoKeOB3gcY2hDy5Ltv/M9wMelS1ndDYS6yJMo3Mc6QnM2cSp3vf91GlbTSyaAV0XbHg55/+aesHVGOENu6+WpE7GTWH48Jhw9jr3TTgtAh9JuYTorqLr8Th0qlVXgmqYE2kXK5/NU1vxYh63u9ylTmY42F6BOlOY/ZXU5QzF+AKpJ8upTKtSgOkNdqDKW7FLZSLrxbXtaTEHblNXuIdgxa4CroCwp9W4asgR2t5rmub0iUFO8ls3FoxWpRoiPArTcq5/yfZ0aCIEXnTS8hmWog6hgdVfQ7j6Lu8sNDBL4V+8e8+RFC/OCqZA81RX0NvdUz0WFM87dCkQnWKMnhbgMtd7pRy0750nuZof1/NEFgdA5FFYpLm5FoSuoSkvMWBmkV2nZLGNp3Z6RkiLIz7embzx45am4jdHs7K1TWn05hE75oh7ilxU8NUeqNFIcRKho+FAP+itkPTR8csot6oeTJD9oy1Um4vT1d9orcLQtYaCri6kUr/zZ+Ovu4axB1+62WYNnOBkUQlcWk9KACTkq13wnVXCA430xCYo/gXPfhmgkrxuncU+e7RMF80samk+o3mAlcsxcJZ5EdeTFxZayuOAOjWlH5r3HcIUmGQa/7co7zrbyyHITtLyNXmFR0uiLGLqXl1ZQYWoooybkWdX7gKtzB+c4ScXdvzEQlSE5PsQ/u4bD3cLRVdmdQlMtHW56D6q6QG7cT5bc1lk2TQAZ/EB9MDISU5epBg05y7MxVGYHeQJ7clvcGUDbqw5Q9QrGUza5pA6GIcBbhmlhd7HWUTT/j1XRRcFpHaoeIBvgRFw86z+ncy6MC2AQNw4tPQufEmNioDKe7oiC6ReTw0jxzQ3BxmuWpHvrtBav3EIj18hs6c4b6kkstIYDaLWhXpACedKU3vOLzPozrY4IDCGNlrlRYj0EBD1uyBaB7JD5QAvXr2Bvina5Lo+LkG+3lu8S/VSUtfqGw+gIcYAw==","page_age":"1 day ago"},{"type":"web_search_result","title":"Artificial Intelligence News -- ScienceDaily","url":"https://www.sciencedaily.com/news/computers_math/artificial_intelligence/","encrypted_content":"EuAQCioIEhgCIiQyNzc5NjY2OC03MzUxLTQwYWMtYWNjNC0wMjRhZWU4OTk1YTUSDOkvkXH6c9MR8ZQ/TBoML0jO0PCww5mXOwcBIjAddigAAZmCQI/DvvgTXL6BiPvQ+ojPEvGTYmiY9vkhbHoJQ6tR4LB0UnkOLNBNbTYq4w+5zKn3NyUHx+OIXq2fSag8cE51PWqEE5bDv+fmFms1qHJtTW4E5IMWgzbAguu70LoSw9nbq/M/A3wABZyWxaIMiG6FBF9+F4vj2fOuVqbzKiH94NZN1jH/lZJAElLHaOrjw5c6oPiK9R4NhX4dVTCCUNIjcH/nUqgOpRjPm63yyLB62x5wAIWM5r02rDiSO3sREoy11aXotdKdaKaLpkcJ9u3CBzz4ahGymcrlF+WmEFKUcA2GS0zVwpS6BgT2sR3uQw002AHH17I8niqBREFLImk1D7FmPAP6sGBE/YYF0r+W3sPEbKEJ2HM2wAiRxS/+Zabp2HsZvNn+sQ2f2jb4i//6+GnGicyB2+mreCj5YUFIK9jISTyL9KVYh8LUaUSqchMaAzbOlajlYuzXOlLuvCANxqUhPh95/haOdV3fNf8050AOgozK+ug4mCMcHSwNfmJveNn+qtRZv/Jn4+Hx9cIYEsza5YKG8XCtMhjwMmmejPSmlfr8ai/yidf+LILFXUA1mY4T/2D1US5+obkEMaTlg7sICTgBnNHBmjF3jKaLhzWL4+hZMYRfZuEd8+3DsHmg/RQr+ly0Jm3IaDgEWs8QwkYbIwJrwN67kKQIlWET35pV8p3UWw7Y0vglhgP6jf8GJYgRTK6MVqs6udlxaiir7BaQU1MtWjyxLoXCq0DUwVxqSl6cLQwFbDM2OQG9EAi3HPnmlMcyXeVWhDDCN4RHSj4xF5ltXwGOMSbXlED9HAsePd2DOpOyoQuKLmN3q+CpPUDOjrzf39W1g95UbHcK8G5TVoLVBmyVXq/tcPSJjyqaKS5kO4rwVDVd3v7cvQx6Dbss5o3mUz07Qf4T/zWo0ikaxH2EJLjxdMt0v5Qh9JqUhRK3imHPlU7MgxKneZ+EL/KKEwunQJFFjDppqCMeN3R7gP9Q7m7ohsS2dnEEcqCEaTc8XMsPvIw2zUagXAD97W1gRmCBzPj7hV4FoQFMegHIgViBi0mtHNJ9f5DMeqgC/zFizdvgtBZUjRuZYlnjerLMg7vw7OMYmyg9KxU6Zx/gz41Sj6lmgm511qoEUsbtXe5ltcqR9rhAsvNAgQ968bN4X3btgrRTS/dQsXs14jY6R+mjw/HPLEK4UDEx2vddWW2XGfEEp2e4UdIDQ7L2h0elWDM9RSRXZuzrfRdy3xBTD0G/81mFDwKIq/w/KgLoX4jxwUroaMJKKuztBNQgom/Yh40O25c6EqwldHgnv145J8NuEUh+EZb2VKG/pfznWveXXaXD/pv0T9mAHgVA4zVeDcSzZSYKpRTDn7DE6acPfZLswH6EEbTZcqJN8GtsGFgmg+wXYqewORRcifFfDIDhNonMWFs/2KgsfDGO+1ORLXbP8WgiF50P+KADu9Jtyn1C6l//gPvipMtEuHrpRrG5eW4UlyQ580QYfaPHfEcTMQvQq0XkVCuxQzl+0r7fqjAtLud7v7YofVIkt5fVgRWJRfIzyKQxAqb2EC5lpGRkjy2VjpgWuVIs6JKCOfkNYX4LjbLEng1P2ZfNj4EHa7CSA3g8i+84zGQjIu2zV6n0F4Vd/Sn7QMiYW/2hNfixr2NM7N624gscl2fImxrI7+qAmpEXpkQtTcHo/VUjB5SsVjY1hrh1fA+1rY34hggGq1CX5X1q6TsU9da9+PV9t6O9758Vyfq/fqRYvX6mPEJ87izmiSTGLVJyPP8nthmuu9dPHg06zvKg3UXp0ZUaDEvOmIS+8Dffp+yL/BmAzFsqSZMmNhjlLsA+h96WG7DoYbxx2I0CMdHsRISWlHTxA6N0KdrZ+QSg6QgIQ7Qy0075JEc3+hqfjWAQnWxkZvjvEVsSmS0W9eHjac+UdRU9d4YNEzIXeeJivELeXbxJaq4clEz4pIu0GrnZUoHYpg8FH98yR//XD1W31oX/97AzARz7pPnz8Phvq2FiV1c45jc+RqEHHKjzmwFj4+mzKlplZQIA7tHhchIUdjge0pCLKOa5Ykag8eecijW38BcTD6oytQH8ZZZ9+J+/sevwKLfwBpEYFGaGWSYHTQ83NYFspLopadu4/p4KxeFrhOYdfdFlEQzAMOh3DPQYlOHZUiW+pwYCT/+24ugIxIcdJCkdFUtvEVeDgpOwOaU0cjvSxzZtYKrcWw64joNifZSSh4Sq/lkke4xMWbeQghUPASI84hoTVsJhnRMOK9ajFGzmXsKoNo+9uKXDncBClb3Gc8iUBmK5pVZ1kAqpycvDNlnpq0ywm+WIQWCf/1ZdG0CGx7miKufFQZVpoe0zLSJS+Mq8mDW/BhFRT11joeM+je4QVpo+JhFMSyPy8AclsXP8Pe/7maXH/3RdNKQy28TSew4aVGzGuKrY1i8t7TZLxVYxJCFNb533qPmsV6cgmXwTWtTR/QRs/D0R4OoB+ZqGyOdND6CgV8+vbcMPZWwJ8aPuL848aNaXT93vtzGtlQo/BWYyGasu2YQZcH/6A2w98gA9EctIlh5AJQY/xPIhy9DvVfB2kpSwKuWYlY8F1Xh/jGaGYuv9Nw+yYLJZZ+Gpr81ODeMv0WKnXcCZ2YoXiGOUTjXSIcvOs8ieDj+UWkfbu2ncG39Y2y6Q+RLGMoaNjWCK+I250Ov4hkGW/ZsaMkQx0BkQZKNApgAweRH/kBGy8yeeWSMXZKdFNKs4Ymx1YJNYSJQcai81EJ5GkOaVON4YAw==","page_age":"14 hours ago"},{"type":"web_search_result","title":"Palantir Leads AI Data Deal With USA Today Sparking A Newsroom Revolt","url":"https://www.forbes.com/sites/sandycarter/2026/08/15/palantir-leads-ai-data-deal-with-usa-today-sparking-a-newsroom-revolt/","encrypted_content":"EuMECioIEhgCIiQyNzc5NjY2OC03MzUxLTQwYWMtYWNjNC0wMjRhZWU4OTk1YTUSDEFeFEaVH90V/+o4tRoM7G/szdBpkYP6lttDIjApnqZvLk3CJHOD7eV/wgTHFLCQFG12NlNzgrG4A0NTtqj1ldFa/1qR8pB1uzy5jk8q5gN4JHgHxl/LACuvOry3qmKE/NbGBx5cHNnmIwbOSBGLqpNINd6pNdlvsvQmzFwzxsJVMttoC23hWxZoIAuDAjAsgZNwAoF2Hw56vSOBdCkCzSvubznGsc8vjbK3RyQYkJXeLqHFOUlXMrYAXiia4fWeeNwSE70etLY2pOYRhsLEhrRSNY+2YjCWg7qimTtze+pYpwbT3VjjScmw3FdFcPhWUdIp57aIl9D1BvlL8WmKRRM8HGxsADydifiapfiKZAdcR4ayVzJ6T58Kvk2HPbaOSTA05CjXED83OJtUGzBST9tlUAhHru5i+addiSv4Kq56Q5jv+fx0e2BPPzpUoDKP34neAhQyUalvqDV6tO62gih12comRN7Wtl+gBkz6BKJU6rSpU0guYixOFu9YrxOtbsbSMIMmgizc6UHdbsQ2hrkxZ7hAZARaobm/K0cm797IRtZGD+jqtUI31odBZlIBBvj4K4lWHXk+MJQBcACcmmLZ5LLNWX3I5tEQZynPKU3RLZnArxz6s/pvjv7wUud+P4vVWDVNsf6Zne7qCMbnpHj6PptnhxSNgTeeDvaII7ix49Xdq7dTAuyT7CGalRY1TvDTFCN96vQPTt6rz0DLkKirj6aRooDsF7KfwglmS46CU7z42ZMYAw==","page_age":null},{"type":"web_search_result","title":"The Latest AI News, Insights and Reports | AI Magazine","url":"https://aimagazine.com/","encrypted_content":"EtILCioIEhgCIiQyNzc5NjY2OC03MzUxLTQwYWMtYWNjNC0wMjRhZWU4OTk1YTUSDECEi8LsNN6PW9fEHxoMsV2T0WSSUx/mtzrkIjAHwWBtlzHd+CJJyEickg0h4qlkGvso+v+9v/3NC8DxdRy7PLYo1JYNmgdVfuxxVLAq1Qpz7B+BDU8+hhbPFnU+rHxaImCVmPDk2wd6odnljBRLTgg2EJjcLK07NXPN78+Nh2IzbgbYTjkPhzh2OxG6mrmIdfwcwuDSpnozNF0H2JnncqT/orVS66KSwbuXwkvMvgwJVe18du26EtVqP3/qhJV6nRAnc24M+ysPsxMXs6GmcpBblbzdWMBqWelABpGF4IrId6XvKzBdKvmazysCy+huSIg4/JlXbsTiB7988ZJ8ql05GoP+aHKYnM+5WhLYS3tcn4K4W2g6adPVeYbNUD1hL3zfd3APkrkP4yKRjY/Uw5VlS/zE6CEHMMV5BkkyllEOmorB2e6tT9JxyytMbDzohJxAVmDGxAcsTObZm2xrOWHlNsu0QMRdiQ30974unG5idQNyisS8PDdsc2SNg0YL2vcj93lkpVgsQGS0jeIfpHiKHaKR01d3Wv6+QSqRg6ABSbV8ToThoLPnNdq/XHe67R1TEGii8MqkW6Yw3I4EW7nAKjv7kbIYbSMaLgX4ibl6uriS0f/wdZ9kEf9iGIgXbq7Kri18h+QwFf/A7sX/Hg3hTmczUJQf6TNhFN0gTU8yTSqsuhATw5WirUJ2M7etnW+wk1oVYPbICnVm6SQZYu9jw4qihP7zOpnBK1bAECqrd0Nuoxy7jP8W2GEowlxenHR4h/5kwck+r3Jek6ai96QaMBWBBEy3ltO6THLlIdS0Au4aIF1u2VnF4DKQwIQI3e+May+9NPfV1Eaf8aj+xplp7ac41FGZ/2xFQqL/E78pqjqllpCkU6tJnRPEg8oWQ+noQN84zhE3byG4v5O0RjU1GRvSrVglSWZtHF/90ap/qlcSBTjM0+zbz6X6mCYP0+PQjGLFjn2N2mw8070WdxuOohy6S6wx6mISU3ob/hw9S7Z2ebG8kEKlGKAoiWD6dXEDoAwL9ViFE1fE19RojQwqwqBd3f3Sk4u8c7+z0KgwnmGGCvdG1xrIXtZGsSHFY7VFL9y6aBFyfCSJUnuQroxg5RML1SAHFVXoB3Zu9x4KDyfVTVUZmQNRh3flbPD5dutc6jiD2pKEFEy49kk3mX1CsuP2/3xqN8/TK6ZJM5OlnmrIPxl9+LJGZXVsAR4vWtfc9gs6HYLYrgisaxPPSUGUauL8cFKj6Fz1cEqbZ9l1mr1XhDmlJYU1qQG5suUh/qODrasrET2WBgfIMVlux+CvODH9nSlKDyrjUX+1YGy/XZ9Z6gN+q5O/cwAMbHQNRoWkZmaLjOPz5IXyLtRY7vrdh0XldNzk6YoQuyNvfVYq7uX0k/SejCEB82lNsuapiNvIEOo0HLuMr0c9sy9mHpHt5x+YM5UByivqWBjoCDVGaNlcRf8S21x6LkVOKsIb8hptmR1AUqMuUj/mVSkGWtAmSmlR9AtQtcBYTskrUrscStGIWYl7jQy9fcr+lGNkX0LLl6XuZ3vJeKRRKXCTGXKTRDiHOzB+wwcf6yPWeS1E0wDq9PnJrhWZUKwJwfs2vbr3bFWSC0p4CSiSdkHfHv++BJfzY/QHq6UaO0B+XgypCgnaRQe7e+aZBpkvIgJ/MYv1R0yXh79eOwdWabEQXNAIp/CuRYiglbw9Ci6eHdk3blqlg0sA/xv5I7yLNH4rwU2ICMcfqQ1qgEq2NQmTHOwkoiuc5EoLGNfzO6F/PUDNn99WHRaTWq6knzU0DK2xZRF0bL0qMQHQsFnGKDTJ+6l/BWyxqgMLDyb10VMxM5uW/cNoSAdZ3g8k4bvM8qXrAsbwb664DrykDxK0KN6Mm/8Db/0few5JX1SVGiprvsR+Rf6FEKG3X3D+lraYxijzQpJalMYYAw==","page_age":"5 days ago"}],"caller":{"type":"direct"}},{"citations":[{"type":"web_search_result_location","cited_text":"● LIVE Updated 0m ago · Edited by Alexis · Daily editions · About the index · Bloomberg and TechCrunch reported Aug 16 that Stripe has finalized a dea...","url":"https://aiweekly.co/ai-news-today","title":"AI News Today, August 17 — Top AI Stories & Live Updates | AI Weekly","encrypted_index":"Eo8BCioIEhgCIiQyNzc5NjY2OC03MzUxLTQwYWMtYWNjNC0wMjRhZWU4OTk1YTUSDLYdXexr1YwVnMFUZhoMHoBkNL887i6iqOWaIjAaJ2IRsJ0LhoFyWxqf+djRzmOexL+MKS/o+7Bh7Tb897Q3mpgjV6gKA/CmSweEXj8qEwIWxv1D6SgFDD1ImXtAvUBjn0QYBA=="}],"type":"text","text":"Stripe has finalized a deal to acquire OpenRouter for more than $7 billion, representing a more than 5x markup from the AI gateway's $1.3 billion Series B valuation in May 2026."}],"stop_reason":"end_turn","stop_sequence":null,"stop_details":null,"usage":{"input_tokens":8685,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":122,"service_tier":"standard","inference_geo":"not_available","server_tool_use":{"web_search_requests":1,"web_fetch_requests":0}}} \ No newline at end of file +{"model":"claude-sonnet-4-5-20250929","id":"msg_011CebEacMig45CLqHVyUgsV","type":"message","role":"assistant","content":[{"type":"server_tool_use","id":"srvtoolu_01JQpHA1PRJLWmsNtFuFAhyS","name":"web_search","input":{"query":"AI news today"}},{"type":"web_search_tool_result","tool_use_id":"srvtoolu_01JQpHA1PRJLWmsNtFuFAhyS","content":[{"type":"web_search_result","title":"AI News & Artificial Intelligence | TechCrunch","url":"https://techcrunch.com/category/artificial-intelligence/","encrypted_content":"EukECioIExgCIiQyNzc5NjY2OC03MzUxLTQwYWMtYWNjNC0wMjRhZWU4OTk1YTUSDM+Z1lq1KFcEpckGyxoMgnJfKJfU4PR/B6pcIjCF01CmY3xc4MPKFwClV2GFXMmkMTUGvhL5Kbj7HIgGGLxVltcMN+yxEId0UN43RDMq7APyBcsHgJdTmOGAHePH3GfraYoMeyHMh+ZXv8deu6yaGzvtJ5EyLDFcNJEl7EQoXPWrm0t1eJjZX5ixM607GntL9c/NbF3beBU9tqAQfxvO9o+TCP+aabzVwemQ3V1EuVXio8uKfMdzJl7Ua7d8F92QMTSj1WcSjZbp3P6/MaQKf32iqjsBEQwRrkEppdS7RTA/sn6PVkGq8EnuNn/M627vHaLVU/q5xExdZXFtXuqDJB+fcenJP8jIzxrzPLDgRb8DTIjN5o+AStOTush+wBvulTaf3aUg8xSmTvxsSzjY34AjHygmseVSkC3B5F1r1ZUs5DO1BLPHs2BxaMb5xqfV0YvoILgrhH8IgPQWQ8gQ/oti0syXIdNzljJlf3PEIlhfex4yYaN7hCbA5dY1gLuAXz8i/QfLlpB63vnf2O1pcOXDAKds0ygeedrbj1lOMpM6uwmgPMeJVplQzD7NlbPp1cgaIPBnGybpB7zYC7NvbzfnsR3xIabNeL+y9JelxKt7fzw1wzzgVTSjcxgMF1KXF0T9X53dU3E9D9mOOSw7dZNivFsO+jzCrEsL6eaVFo9TA5hcz2PpSBV9fIus7eqCgxm9SHwoNB39orSC1Gq9x+PXFgFvehIX6pMGW4L8GR5R/Ptg4CRd4Wh9uvYYAw==","page_age":"1 day ago"},{"type":"web_search_result","title":"AI News | Latest News | Insights Powering AI-Driven Business Growth","url":"https://www.artificialintelligence-news.com/","encrypted_content":"EqYJCioIExgCIiQyNzc5NjY2OC03MzUxLTQwYWMtYWNjNC0wMjRhZWU4OTk1YTUSDHE509fNcGvZ4R8G3xoMto60ZSkUNHz6llV3IjB5usTyZw6ySEoBDnJLxDdnW8ENWqkqxXLAXYChX6KBhaQ7hgnJB/xheFBb0S8aPbMqqQjXBFjxEB4v+6OiAaOnE5C4EF/wSJFeWSsQJEp+DNxdD/VGPwIWV1S6y798Mh1R9D1ecS2bilpF/m6an5/DJYuFmK6ZHHPNxmeMPCivbO3Uvrsf/xkXhTLOIgPiSYPWleSsFQQFbq3kNrEFxRsGo83lQ3cOxIgw7VxZXiu6km2GI1T65mIpfImOMRmxzw6cANR09QBsblDVK5AYuTKNV4tHqX06npVyXUu0e3G13hryVunjhHoMAvD7gAxM2ak2/w7MJoMbIW9MBUqcSB7uglffPIvZ1SC9URB7RlXyLvr9254OWOytgtqAcntc+Ql/TrjYfAuNL5iK+RwbXfmzcwF+NymIaXqW0wqQS8AR9KpvTex3pmx86vi4qczV8vJwIVHDciBfdTzu1W9Mtr56l6VsNqZMlr09E0kP/JbdC/B5WvtHZaJzSzrhWJZSxAg79DYrLGcDqqhGH4mZVFPlszrmLCPVtQaFbzgFSX2fyT6HeY14Pe8i3hoqHqDwcysAPZzmLmht2lvsAWuMDpEiwMZ+FODyyg6bwTNHDO/kL3xdbrP3BIHwZiT7hp6IXSrPwhh4N3HpAdoUFoE97I0EEzIu0qLHtun600cGxwdoWfPEuw5qo8KSbTUmFureSdZqTtNmJYWaMj1sjA0wwu9VLrWIUX8HvSqGZ3vbwW39UTIB7zOqK0aDRVZNVycebnyW3QyjYZ+rshlbv7SNa9dQABcdaaSWDEuGlAu+Xc8o5MmZiW8lFa+QeA84OJg48adrzx9R1wVEjMmn8fwpGCGBvos2Ffqk6LARmmm/1TLlaOJNVxZPvjMACPZZNS8Gd6Q5cfzuKteKfj+bXqNkg/NzxAXct6og5qaR4SaIJhGrB6OzIUjnuPDo6Jon73/aT3j3CvBA8GgDLmN6W2pzgSHNHYxpkZfVf3EC1KOzelJDRbJKzHLmG1x7enpAWSDA7PlcDxXTNgI0+vW7Iq2wkQg7vKAM7Q4mZ+rzV6IgRrYcQ+GFYZFBCFLL5l5mXEOj+TDfllWGI7KGx2c8lNKx8RjFpQmWuCKqjAX9lwN2FXO7Yn2l9Xa8qOpR4hEKKi9fpA4r2+7HSGt2LXTksDgz3tjhHLdBiiiMqugYzO9HZg0VELYTXswFTNTvNTm1ZxG4seL++vqNU8GXmcn5D8Xjhg5QM0wLKEbfM7zY9lnccNUKI8xiX05vIxxpO/ofXTj/4s98doG0e4IWZg5OVyhgHpLWNivYWVUwyeXBHfaI5vNfSUKX0HZqI1uzteuvHjJp9Mr7yBfmmzBGYX3lsPmH0ocbEHWiaRZhUXRSOlWKHHokvHqpoh0QQK+flRlgMZ4ZxMRs34XkAADbsTDD3jjyuRUZWquOGvgqRgQoU/r/9xfw02eRGAANrtAewsolfVDLaT3oJL0cISc3EBqjDPIYAw==","page_age":"3 days ago"},{"type":"web_search_result","title":"AI News: Top Stories, Ranked & Explained | AI Weekly","url":"https://aiweekly.co/","encrypted_content":"EuAQCioIExgCIiQyNzc5NjY2OC03MzUxLTQwYWMtYWNjNC0wMjRhZWU4OTk1YTUSDHRpAVApyIuQt3pvzBoMTi3HVuCC7Om5JhXuIjAqD4V4iPi5C0a2eX0+cap1IUwRyeqg57/nknPO1kwPKGwTe3eHUIgqSp7RYnHbWzgq4w9Vh+ZNLZ52Nk53fx7C2sd9gpZ4T5NvnLXp2ufIqWD3atf9mfOCmuVnmoEDrf4Blsirl3gs6e96BS3qG/t5uGb0M1B+zjjAhkTKnbPh4BMInqM09tVEBSfU9HdhvLv0kcEuXSqRkgrQU90SCgmkxlExlAXK/XAq/hofkpu5h/4V7aQoGOLoQhVpACAoVeDtqEST9SqN+ea5lnh7a1AObkMlaDv6OH6OcSGjtFGtaKr6m7euFRlwupLol432gFOtgNLHLeCbRVZU4T8yGRt4YG2mZk/K6PiI3xakb5mTMZnnf3nFbZD9qVXlhheetbhd/q4zGcnAzktmp5FVHx4IeE9JYL+R6H1Od/vbRASWqdBkD3asdvm7tIX4g9TJSt1r8zIORV2+O4BP3T74gKuf64Pp5WVLg0AjhGCLWDnAhWCZqWH+n6+vY2bVPhL1rBAMgZaNQ12wDx1LQPPe5JYE17iPqB0dwesF3icd8dx7m9/TcaeZf09yqV7+BqRy3oNqV7DIoLm02bFDPlCQ5LtlNgTBQy3jiQwKhrIqBBEFoKP2BhK33oIyXF77OWO66JR02b8g3GvMYQgV+xQB86Q7dQnR7MklzjJTIU1UmWQm3gq8ygOz1BbkybbVp2SOvcN6gbql593YyDH1W9NxKgAQPbfiheXusa8lPOfyfdN61cYtX37ZyfTxmbhGQNLSKkwdPxLPQAmXiqVxe6cpTmMBV+BThYcLqIStuTYQOs1Hm5/D24mXoM50xdIYid5UL9NbisreqQRk+cPa76vID46aAYJh0h2w7BP88u50XN5+Cu+zDQAGp9sN6GiKXRPdApCPtq51CN8kkzGcM2j8oI7tLArEA2mvAEHgtIAMw+cLvpu1VrfBekEOc0WT/DLlIh3vwIbWHyF9PapAicRYcvO4ev1tPV12hUTjSjACJ8TQebWNhX3IRBBg9cdDoOBlFXekW2g15y0sUIyiw6Og/aAMmyo9Ld54NREBgVb7TMVwcb4DjAUDE6SxJ/p6wdofdPKDgsrfQ05BIzztCn5Dv5Lm86nc9QEHTGzg6bygqQECMqxhTtvsYkra1Fpa06MvcORy3yUR0AZucjbf60gRB4yq29Yf+gI4rYfbbUZggRyrGmQM78Qm3MO5cyaur2f1KblbZem8dY1B+cLBmjkTCfpsA1ppYsoPNyBgh6r8NRdMHDTno2c+YUpoel50sTdujqIkxGaZuWF6AurtLIFiXV2J/KgqYo/7RZVkMWSd3lrLzqpawC5EJYS+MQG+M7nLHX4JGgBQ8cGm/4JKZicisnngB8gTNdVNtqNMEvn5Y9XP+x5oSfl/AeI4/hFYNkZi5v8QJaUwkyOBB0m11UTqfLk9FULANmxvtmEgTlWhCm18B7rKNL0BqQnHrQzdGT+Pr5HTs1N1cvf3EN1BVn1Yp5KL1jtvFPHCnvv8TcHMdtePLmVYUi73x+bw9foY8dayxVh7dNjLe0qJ1NStuVKlBkKPfNJo3zNVVufbVW10Q5KmIuGOKD8re0shotNuvdna0ygI0KgEtgZDo+9L6PypGwxe5UgDZ04absnFs1NWLIXgTW70pfRsxljbylVmEg0z3LjkwbVaDMxv4y0DWpWK/F5yZj6fzu+QaLqLAXVAyZWvMn/siH9UjV3I+uMExYQ7BsD6CfMPDe7/11pH9b2dpUxmNKE1c876O8txH5AHFp/gdkIBhLtxRlrjekF2M3B6S/B2sLqJM7G2pVHHRD0LP585JdMqglkEsk/2QqNh1IZ/DZMPiVs9anbdOm6PPGSU5Mg/BpSEd6Izuu1PjnGdnBDiqtECjmUHf1rPjvnrhxNOidAEQsBj5rZT2xHTj6vmu3LoA//orP7k71Mu/O+JXjLsd2GUQ58PUm5boteE9w1qnp6RF79hZhSZw9SVwkiiRSzf0vas7LnktYZKQBvJQQwFr1Vfrt4QxcCPjXj0ROoX6zioubDNq1tJAMZcfNwBO+dQAJYX4idezjHcx0ktwpXsp2GEssIrxYHxtUmOAUmKJwLueCOOWVCWlb5AeKJgqGwmlploZuYKmTmmRbyVe85+ibVmI627KAcyuzQI2XKOtP66Dq1UKD1ni2s+kwr0VIjWqFIKACGpeYpLQUDNIQcGd31i85Z8LFcROjAKbFyB4cWe37lpsiHrkSYV8VQmSNIrOqOPEmmVwYjjiU7QawFaYSxctlYgFX4888G8nauUbmLVKFVPPnOCp267pwzvivqa5tYpBtYTD+9H/0l5fUp83626fd3zwnNhaGpgA/47PrDSsroaSOci0jrCBLEMXjYuaxwenFQOaQFnITncfRDhk1S/xmPEXSZOtdYSqBZqMtB0L0Q3/J7CKCOUtMO/t78nmxHgYMeDLkeWXok6wTsC0umrWkscxtJiPHpS6fXPZTVnYPEDst0N3QCMjcYVT6Wf9TOLsBIxawPrgaXmworbpaDOJNjtkuivoSUTwm9naqVJJX1wYY/dA9YnO65d2gXZppiXkt0U5XT2gr7ianO9PYHdEEjzJwLvMvE4kzrjUVuBVcq6/OaGUI6AUoWVHrgqo5bCseaQ57U7KCpN/mXjfTftb5TEYZzECL7oSl02zULGktuBIh2krJIex5ber/1uWPqHXeAyQXe9mEPym6qb0cbcIVeAe8p+wl0YNG0OnjAE+U3wYQHFE7JvWcaFJCtuS61lCB0YAw==","page_age":"5 hours ago"},{"type":"web_search_result","title":"AI News, Updates, Products and Reviews | Yahoo Tech","url":"https://tech.yahoo.com/ai/","encrypted_content":"Ev8HCioIExgCIiQyNzc5NjY2OC03MzUxLTQwYWMtYWNjNC0wMjRhZWU4OTk1YTUSDO27As4mnaybhK3k7hoMlZ93QKphTrW0pN3dIjDYm4K6DlwmYMS5Y1maaPqXs7d1o8xgEhyrUJiOTv4ydhwCE125zXf5CZShNKqZ9jIqggdnKYAKIWfpHvKlDlOi7MyALTN4UYu99UNRnjyif7+S4bEZqF72XSAH3uSq/qF9b76Rk/0PxXB46R5NxCv8QRoioGgcrCfDerMyB4dyJliDVXh3pKN5zc58Wxb6cMQLjYejE2hsgKXcyyy8s/V3LYZPDA0rRkGPq8oi2bYbSuHwE2RZt4aHSivEFjNCUzU4cJmo+Fhf2P5LIo6ICeEKLwnHXfuY6lKFnmgMdPFuD1hz25mohE4l3PeQYmS5vxzIRHgMUh1dbCh3nuNQawTW33xDtVNpr4UabpiiOTmFRky9uLKwOXZ25f0AxWkwbq6wiEZRWfhgWqO645KhtPOMA0SQoKq3h15N1hWIDi6kgS5jAYIqwKjITvYYw9PK1THcmvppEXeoacG/avGuTf93uAxyMJfcAHQuuQ5CDP7gB8IZQRlqz3N/nViJIeqz35UohASJB+jPEPjGmwAlqWlu2y98LIhvRVOKc9GZrsifsYtyFF7H9Km1HHgsY9mMNYR+5urCOGYYpDsJa3ojHZ0hOE9JM+NBaNLp6mVxMPP8xU2z2jpRZiEj0p6rs6vGbl4ExE5jLubFHS1GkGd1Ul8J4y0pUcNmBC7z6srqR/qsvE0yGv+Kv9x/J7lZUNbl6v5VfOYL6aYzqxitn34YtA6IjzSn/e2gTwTJk+dTONRxfbGh93T76XUuDGtJdM1rek9+4GyomlD6S6Q46jXjoTrxyZ2Om5ivytMIOfalOUZPkjP4GWbXNz/VjOi8ge+ukQnLE0E/c58ggugW/9OB9RFKBlTsTKWRWpQHm5A1GhRFFk09JH4Tyr/MXhFSovl2oqJSCSZ2c6RQSRINgjBovjg6Zmw5HsIZTPmp3mrujlS6za90Qne2xRNMnV5g6fT7RKs63MsFSoXpQmUFN77wJ8Wpku5Q8Bns0FB1NfmH1Zc1ZCGvIG+Vu48ji5A24WvhoKDCdzfGPf39xbliUyhXgrxlrF0MtKJYpsBo0EnhhKheE4e6LBfKTRFC0cU9iEaEycounn/EA/VOkgJjCkmMeABzM1+7xo0zYoRDcFu6u5OBxwGLrOopMfb4aOHsepLdYPeFpWvkpE06KAKdmCf9yhOaSnHQLEsz/bbFRESVALnlpNo211KkKz/T1IBQdt27sPzgT1/Qzmxv9SOrzBb7TW1HwVLatzS1Cb+dmHPiqElOF/kBc7GgGAM=","page_age":"6 hours ago"},{"type":"web_search_result","title":"The Latest AI News, Insights and Reports | AI Magazine","url":"https://aimagazine.com/","encrypted_content":"EuAQCioIExgCIiQyNzc5NjY2OC03MzUxLTQwYWMtYWNjNC0wMjRhZWU4OTk1YTUSDK9cBEWuOF79r3UVdxoMWNKnXuYQkHSentaxIjB2PI5hH6mSRT1a44O50qv0w+/fH+uPBK27IYd+JO5dJZYLqKPxgm578xIgMSLTSgcq4w+yszIQ9wqxUfNhH46zRNy/r7j5apfaByzjC+DcWl/OhBi/ZwONPt2H0IAGfi4XhxZWeY79vDKTtxTL0UeNY+Rcgmx0pAr3vdrJJYIlK5yyXSmRDpk792mqpFPqZetROx0QWgxG9DY7e8h1f9Z3eh3a8yPOvBCc6Ap5NiIlT/Qpe8dBCcfmF4otP/IZKaWrXihuidMPpIyUujGx5fzdgQqVoxiXn0tBJdQjojg4bFZM2uviM+QlBi/vCasxAraoKOP6/tfL2r+bbhu10rnwPXdfHtvtKKtdLKxLKGRmGm4w0xWXSepwn6dOja6+drfdpPfsJ9eAx0wXHBp8bKrdOTvgdl/2dy9P1kbLB2YfIMRN+foPwg7HK1E9RqFfLlAZsaCpWleUTGQZ+/CcykP4+6bfj66OP8ohueXEsl3cehfy32ysYLQY8CjpWdxm0bmMm5ahUHLKIKVzApSUKvo+cx5sWX4qyJAUILY1CFH3ZfaYNJqiaHKeJPHHWg9Y3qO7oc6xhPoL5bKCGwH7ad1IiOuF4nuePofkyqrnYDc52obACDvBuO3jwlIBfnP/nRz0xrkPlVJ2OZVOPUOZXEBV+esHqX2/UGND1b9zoEWJLVMpvMbdZGBVTQNsbhRdWYxIGWiFC3Lg1N7VFH9FzA5yEhuF9BvHfy0RPuvkJcpwpO30A7DjxBidyolDyxLAEPB3L0gDP9X7tqQn2HdFbIT9FPBcHWwcVw2O2CLoeZo4yTzgbl7vbzUETo/b8yNqKgmdIua812a4p8Sdy16rc6Hsp22tTRl0vkfPstVgaf9z/waluhTL+pAiA+R61Zmi5RI1Z/gfC37H3Lc50+fEO5Nmc3rTjH7CRZ5FkTL8WXBjPHbKtSdBIS/DWMqWZT+gK7QNwHTpJfL73mIYXLSxmjCDM3qJu6wUACixOiKB3AiY+1LpQUHgaeK/Q3YtzcfbxrlRNOQE7fYHG16TJ6WEfElLSR3ObNwtBYmQk23Lkn5/dF2IuJ2fI0IB0PVNej0RSOtFBlBXLGYDYVSpGvqcshdC1gTe/nVePRiSMExwF9eKO+ZxvYrNcCJxXD6wtnpTInUsLQWzj7H97eNaY2Z4DGdxXH7p9uZfEgZerQIXMHVr95jd0eq7m0K7SmblOpI2+Q6T8wXHTb9GvXHuSlwMHrIDd9ZVwdsQ143E0LCLc+ST+oQ5F4Wkrae/BSTx6+t2n4TOLbbZ7HnQh/SLjfi6O7cVicD6jpvlqRU6z/ObWGP7gALuBU7blRTIQ4TYx4LVVMGsXqPtx2KBmmrFhMuL3o1x6WIefihJvSH65jJFdnyF+bDKM59h+PTYMqNYzJ17GaunBYdrIJ3G38lCALEgpdVlJw9DNOiba2lyFSMYFBQ+Oc4CnAQ4Vz/S+yJxgPhZd08oCL4iQ2til9PcFrR40UDUTQi5wlEBgO4zHeQqUL3nzudoUfsKa/nvT3m94aTOex0omFBJFt1S5ONcO1OzuYsFErwr1IVhrCuqphWDQ7GhHB9U3UK8/HJyHS2STef74m4GnjWCSv479B81k88Vz7c62VgTuJE7yTZM5g42/AEYDPR8dyL8Lo2yPV4X2XxD2QEQuTKn/mu063ikvKKMRv4HVWd45AOSN5bQT4E1+C/waO5fyhEN3eQtQzpjnVIr1Uor9steaN5/uArApQux0uBEEXufJEQbJV6SnTIZKMISL/GaW13qjoBaspr8MVYnKfwV2Zj4cApFdqYxadRngG+deHyX5XWSdyxHB/AwRsOsQPlGiA+r851VW4wXBQxv/jtLkSwQbosre52Kpx5fSsCryAS9t+TnC+3TD9FjFKpz23Gk6ZYPk7T6Ag9etit77wXOKyRRhId+j2w6/1oV38Zk2OKqA9DXefBftDyG2jtdPRapm7J1iBaF2ZIezpIYImnywPjUrDrq4vTI5rTLp5WEGvoAj1PL1M2bMp+flGsvXcSX3FcEIjCbNELOo+ihaHyeo2bkuDuA8e39avMvQ9iSFqekCUhcFujJe4ETXnaKkURWMAzgzyn82TjxxiJXhAtlLiytF5j2alxIVmnm+fz1L/cJEzjkO6VyywV9gzhgvps8eSM+aw2uIOcCme6ICG5VP4ndOyZCQ0MZ01bOfJOkd100cf6tnahcw8aHG1HGdhgKlDelNpltjehlcybmCrxbHST6C00dJKxMOji3TTfCfJp0LaeuZv9tlmxle7jzWERO4x5moPMvfLvDIep02sqDExjhfRLi1fnmMkTzLYQY8xC2v3dmA3yDuyYFOogvIkj2xJrsJW2FDaX4aIWHRXsP7bMKqzoe4Qc6OUnULVhcbZgJXQ0+orGaY5PJmp34LAhX5RN4y3aQELHVykd/QOA87C9v9rgfjJqlL8k1D2gpm1JQQ4DxNZyBJLIjpAPvYe94lxge4KaPr6cVdzpAKJ8kVcwSdgYgk9xgJlVhlK9HLTro4G+d2qWD0cDS8eV1Lh6bYVmDZ+jhD1onKVp8b6DmNi7NHGLOBPjT4JtmeZcm1VKSK+ydAoPf1PXbX+SH/8fIo5bLRHDpOA0AMOdraTAbFUPvbdaNAXER4R9Xqk8V6DpoDBbs1askbQzOGZoDaNw/a099SVptWWhw3Ch8T/wfd/Oq71tnzK9AVRT80u5/u9IBSR7pMaEeBne5ZFRaStxeCWUqoOvTei3fiFm/x6Fy9WBMcVEYAw==","page_age":"1 day ago"},{"type":"web_search_result","title":"AIDB Today","url":"https://aidb.substack.com","encrypted_content":"EucCCioIExgCIiQyNzc5NjY2OC03MzUxLTQwYWMtYWNjNC0wMjRhZWU4OTk1YTUSDDIDo6bfZ/bDlFslKRoMeWmDCsD7Qp6vfXP6IjAoB1qvoZgY8Mc2iIHM15U/D9lqPgGoIIFrNfzzL22zm3zCOrQtRedKx6GlYzZANBQq6gGjBEQkN32F5zjLa1lCFNF9uBilDJiXa6W1eYr7R6tvxQR0mCjZph1Q5CPKZ9P8b0O+WkYSubK0A+9IWy5pM2L4N3pboxN46LFr1tFCDw2ACvYpM3vBn4QqvUlTVvjf22A3s1i+6eSIKpXC9tiYlpHC4SV7rbGHKEi8v34humKRtGUkUtn0J4zC7Lqi8gMmKr4UvKmb9tbBsfscHVQA7zsv2SdE8j7RRL/RyBqczFmw15iA6ugmNtcB8x57uagcOn5yY4gOMG/QWPrdi46M1F5KsmXYuzal6aFlcrPFGfAc9zF1+Q1UFILKHVgYAw==","page_age":null},{"type":"web_search_result","title":"artificial intelligence newsletter","url":"https://www.foxnews.com/category/columns/artificial-intelligence-newsletter?page=13","encrypted_content":"EuAQCioIExgCIiQyNzc5NjY2OC03MzUxLTQwYWMtYWNjNC0wMjRhZWU4OTk1YTUSDFEZA/Xjg0DrSM+FLRoM9oiqx7VYItdY1vHJIjD0opzCL+jC/ojIkx/f7tsZYMSOTMs5MZL7BJwQqCj52D7AIRpdPSd7qkFOiZTL/CEq4w/pHmakt8wyxwEqQ9ruAwEJu7aQpwe3hqPv9CjngD71Q71xGP1SBzTFVd+TFJ6+dA+PfMF49LQC5QDx7jNrV9fz2YiPAGfS1Ntl6XhhUiNTt9a9iaiidykRa+3Tlaa/HxCoqZT+NQlvsvYmcSzPbxBxTrTczv6DmirhNRdRp5BYUmyFjirhRoj9qb1EHrQnnk1zYzX1C1/2XsXLi25khe2Unh5+9r0BGBTJam5TPvsXR+6q5dsHrN92jdLcwoIVAZvWieLkz6TX/wjYNTrN8PwedOOY4gaCB/6a7IzWMaBTvtfWodSgWODpVeewUx4sSkeCxUDIvWQ5T2/xsKqhE5j8YnGT3qs0e+X9C8JQK2WS5WGLRYETbS1Lqf2zes6m+Z/a9/kdb5H3EYzod0x2U97EKEuSXEmwVOBNE6rzXiKHlKO+S/RO3a+N/PLwqj4fwLTj4aiy+HwQjGpQNOjyhAfNjV6vuu2T8zo3lfPmKgJTigfFN1u+YlaJwM1nvPt2c/RQ7+zqpumCwMDWEui/HiNjfvRRVP7EhfjcwkSy0Z/5DviiXnhD0fMQ3MKg/TCUnT1Fu3yieg0XKrmT0lV8zV0NCaNxMRdO6v8OuJh9aNieZmfJq1ot0oOs2Xs+p53VDUHKiGK16WK2OqdcKhdBowQA7D11nhuwA8CVe3SmpKj1p8upyC9qpg7cu+0SYhalnk4ypfI7bVjnIc6Rw/lGdDTm0vcad010yqwJ/mSb4qsfEBgXaE9uzSHa0F5EYqWM0ada/Iq2q2GV+d52rbx1aSnmeE+pVULAQ112aTjgxXSZM3v3eJ+pNWg4ND7l4KWIwY1zY6S674+8kvYDjiHBjBpmYcHolcTT3WrduW9+CV5pFtsL8lyecjsGbP+ED7ALY02xOcJDDhcnOgC2q6QHLlxyFx673fNH9cK2TCNSBn5za4UXRgFEUz1YKhhEpw2n3xKCz7W5IyEfVjx7Z3ZHSefNCREwtMnIXfDC/xZcPr/LRRFDemz5rBv8N89iNbRuSG7nG+CerlmWiuN/8FmevEnCiN+wzhhLXXwUo+VItvSK9strMDq8zvKS1ro9lFxgFZ/DXCQyLnvH9op2UvgMbQBNeBKpad6ITIzfS/P/X28hbtGtdWARd1dtPsUjxVI9OVVqkEcFyH9yQN9G5vT7SVwhpBjEC719ypPKVmNA/eOP1gFQ/Qbl3W79HUpyTgYMlffkS3Xq78j3QGJg6TFhsLw3ww1vV0W+oXWUvhClpcarovjTucCBwL1Jnazngf+Xmyyqmkybe05h9Qc98BRhtCZ5SnlJlRb6+G+xa4uiWTJKrhmeiNuKhV6Tg71V1hvzKta/ifySkF1j93zbPv5C7D35uvN4Wep9VggqY96D5rH0m7X29acdAhNNScCEpPH/BeAAYQSYYb0LwBYCHgho+5IWkqBqupWgNF6Aedlcj1aLYX5Vf4g1rBGPhPFqBUllgrin2dMuxYXYC1u9veUrHD+PxvGf1SdFyXsdnaH1xLgIUesS4+r+Y2GRtzdoB922DbYjGk2kHxzJ6wDO1P+4azz995oWdtueSHAf5CVZKHbk6DDpIHDfLqbjQS8sT59T/7Ze/VT3vOIUzlLqW+yZ5ETD4z4pvPz3ABZcRR9VVaynkhITfbuCxbhDqMd5DFi1hJbKDusFawrQHWcMiApNbRdbOwa0eVfvb1viBv0O9MK7iNZ6fcCRS4h3ggzf0xgKHGNhjiThHO2sWE3R6KL//OLHDCJrMCS0CT0j0C0ZAz9JVHkNOC9SD/zyk6R11sU8ZBJDlodp9/1+iENC1RuCShEToV3Gvz0I/2k9V4AWnmBK4TKpgQm223SjRSfurIiPka0hzvMU5mmLcXZcZy/l6oqsKQ3A83m1fgw9ca52gftcGu+g6gyqTcehaDkK655Ox2Mg2zeA91wgVG5rIT5zRSjZtsgBSc209qNASD5/9iJj1/bxUg0aFwXA0gJKiJddY2Qrg759bQHce2//RuAWxAQ92WuY9KV3eznVAmnkxmTm3WZAFizH+LMQDUMC4j0LZFxeB7o7nAmQq/MglwFXqdMBW7OPKVo/76gsGc0/b/74rPOhMYwrj1ef2vIe2RXX4Oi2eilMlHe/2t87iAgebeDQ+Ph40egw21XDWo4jsWJslDuVy8xWFLNlRxkBuxT6oeR5sBc02C6D/ZoF7LpWEYzFYNoiKdVIul/eMxD4cnqdYhTxSZausn4ojzHYiEW2yErwwcbouZiVn6g/MGZ8gaA0KNmq2XLT2+PyE7svuqsbD8Z9nQGVD+AYpH4rqNwXD4q1iZNnbevy3Ut9vRVuhcOuKyb8XxT68oSZz8A81Fnvz+zNlj1iVAenwkQClPJp/Zxj5VIW+ekx6mDGqZW2cn/jeHOI7C+RD3zeSbM9HKqMm2C9m4xyhe7KJWnAy2yvyQg60eUHzL7Fq984jY3oxWSvZlmGqRuZ7TTvgfhFcnK/dC7UouWtBvVwvrfDKKw1ojLiifSo2DokD9YkCmJAmQ0PUE0/esS3QlNaka5F5/BWVDBhiIxkKCizPUC6K7xszQUA7mz7x5s+i68Hc7eLy2KFepr0YCk3xpimJmEwyQm4DAYKmbth/vjInZThwHPLr4/UR+oF5DkAus+vEalCN6TRZV2tG4zzFwFj0VhB2KoW0FACNCbFuGUqSdFzG7W+QggNkoYYAw==","page_age":null},{"type":"web_search_result","title":"artificial intelligence newsletter","url":"https://www.foxnews.com/category/columns/artificial-intelligence-newsletter?page=9","encrypted_content":"EuAQCioIExgCIiQyNzc5NjY2OC03MzUxLTQwYWMtYWNjNC0wMjRhZWU4OTk1YTUSDKYPDjyOm898D7dTyRoMkARP8BfML9ThNWtFIjBq3GULNkxACW+ZlNBczDS4l01q3pjy5CZ8Hikwxdmwszyfg7LFz5GTdk4nKWJU4cYq4w8QzApf07l7Cv6FfggjwEj5Ic9C0QcaHDlcVaHwslihc5ywHwvPxWmeTF1T7J/HIAZEL9SvNzaLFhAJ4l+nOY/vW1Uua7LDrViQlIpJ9dVog91t7n3oe/ZKBIAwVoWzQufuatxPWa5l0sBHTZMysxxIUmw+WDO5i1LSyG6W+vxnH0bPtvXCP1Vo+f8K9nhL0j36WM9K5KDAN3WieyY/BG+hrBhcMzYTIzEnspnNk0u96Orno9HIdL9xTBOsV6MiJrhAyGONkIOTG5bciYhh+0HlyVowfnPhzM5tnzxhDSDqYEIUaKV//LRp2jgCGcrEpdEcNNl4JNxvlNbPlIwYoDmP3w7EVG2IZuid3FTS4XwIoZZFm+FChA8EVvMhu9qKdHDU5X3g76D7vZ5U7YrfykL/T9AkkneP1mMEk5JWAmtyFeMp2BiqJY35c/x9r/cd+5MLFKxJSraKjdwc3fEnulhvLMK4AiXcb7Fjl8leXdcLAPNoRqxCgfeXYrsHTvG339TyKMDlaKzzfTOPnyMkxLlpfW2SlxYTpHG37ozX2tNxDubzz8AvIgXcbovc9a7Gv4aSyGQ3zD0FbyztTH1JmTGdWs5SVhUmsbMvgIIpfdnoUd6WUI0CJiQ4L3QTWIMFYP0GalcjHexMut6UCIwJi5vhEyvbobVPStAJi45IrkWcoOA0sxTGKbU3UiQIx/LUo5EXnTH/02X7S5NXgp1KjFo2ybx0H7D/23GDPacDdGH50bXbMRZymN6PP9I4gi3ewgIgx6ztzH16QlaeL/W2NTBbpPIwTShzoOQsaBYzvVA6m6jwSt88D1Q7WsilSpDyYtHIhUWvcYs9U29mwyzieVvPqNtywKpYvGDA7l2hoB3BNOSa9o8g80EQLdfHbAzHLT5/3ZKF+GUFh15ZgHrKVIiET6h/hWsfGfaE1MOh3TziX0MmkJGrxdSMlw8EpPScRCZ0dyDlJgupt2qBzXSo+ZyGuH7AlF9dWXl2vKKwtowE3AiKaUEx/mZyAZZJ2nRZsbssPS+kIgzMI+2ioBYa7gMogekCCfx86mQ6luNFiMM0JUX+Xv9m5SYTixcHuFR/GA2NYsMfbw70NZmY/TqfD1SAhnYTYkUkXAtCvU2wUr1P4jagZL7UO5mtVDd/hDrzRz78PfB3gZx3CK2IjfV3hRsfT4yu6Hjs5OOeRdlunnmUxrg/q6n9Wlx6kNsmiYXnrZjM5RMjW0ndXF9K5mX2Nt2MCDUCEqQzTVOiOG6MI21I3Tov4CI4C/KJKq8iCE6BsmyFys5+twEZ4C7LNpMQ/hp15vqJckluf5xMSOY3ksFLDadZGVk53oCHVaSfAH6ZDYYOxTLGdu+7Q9TaOLl6SFcXudBnh3b4vblPUCplyhDmDK89psKvIj2fdZg9p1l6MeQ+rMeUhSRIf2/4P0j2RyaZ2MG8bmPqi5WfuoE8jzhQnS24Vo/TMJW0UVZHgMqehswdGF4Ha3Mm+YfFsQHz+hIsnFtHr9ynxtVLh/40hwkW/pIoacaseIlNdyOaqXVw1nKRG9hcLoUFoB9xwyyYhqOLFsWreqB8+Xx7qglbnNVoFnGaFGDfZNNpmqFgRHM2GUnjWXfMaFXx3af8RU0VZ0astCWSvxL60S0oDbajedZ+ij9k/PqCxCZM3pLTNPkZmb4tzkpwcQ6h4QGRO9bbH7UT5pZr1DDRM3bdrkDet9eQdE6hXeo1b6OH4wn/JdrF3xrQZxPhP0fMSrE9JoH6c7jBa8JmygU4VChWtiXSYDQwJC/Ct+sxjaQemdpatFasmKOIk7/MrzjIKq7mc8n+VSpz9ZhLjLrUXrE79R9Eh+R272ylwvFAfFkOsVvGWC1Up7f3HkF0EV7k7d0fYyup6fiKCnQYOIzUT9iSIqNwUnkdtLL4vfnxlGALxSnZv+t7xSMZaw6BE63xZ6qxa290p7MuXzulXoq3P1C+gsoN86Xs8mYqnDbg0A7bdNVSm8S3f5k03c6P78U8xsZ7mhQunCl2hXRrDHb7qZtMEirVhoLYldLIKBqKrA0++KneJxNGt08gNNr9rYaYWN559n4nYUjflPkFNGum4G+iv0RYS7yFfV+95fyAsonNJ3ATsLJ4CYtLiiY0teKzKhNnlQgyGfxrJItG8K4lWI4paQVWbT755P7jgP98+ccPYVA+IumjCbd9QTKax5jqYRDFoQ5EHQweYDoJZGXAbcntLkeH8427tdiRZaZpm3gaSDBIWeS5ScW489+mtymMJoo72E1rZHX4K33N0iWfsF/+bB64vyOCZ17LgM4gZsYVHjx+mcWJd6CLbt5Z+CcHfwcB2QpzMU3fw9LH9bsqFlSrFRJTtbZsem6p4AQ5Xpt4XROkyNaW8j4bD1BuzWxDGJToT1wuWBmqeCpPAxltjt5PhWiANZl6N0bzMcCeQ9A9kLGtUlBnwEptbZ8jiNQszgf0fCb8zjwdfbtnaAcZ8Mo3IZFQktCu/sT0aYjHTBnrCNL1OipjjxQu38EHoN3JeFApwP8S4yCCMhzIEOK5Jd6sfS/GT1BF8BVmcqy7yb3pF2iGdvpGA0vMUGHTguUGmexGrlDX8VnC1eXunXR3r4X6PZ8P8MuKUeqoiyivWu3DOsicavH2dwARXe6y+g/v9/2sAzOk+qAicXAGB7zGO/2S40TYyHdp192Ezx5YMjJlCNvOxpTAShc4Ra4YAw==","page_age":null}],"caller":{"type":"direct"}},{"citations":[{"type":"web_search_result_location","cited_text":"Meta is updating its AI glasses to stop recording if someone covers the capture LED and cracking down on covert filming and harassment. ","url":"https://tech.yahoo.com/ai/","title":"AI News, Updates, Products and Reviews | Yahoo Tech","encrypted_index":"Eo8BCioIExgCIiQyNzc5NjY2OC03MzUxLTQwYWMtYWNjNC0wMjRhZWU4OTk1YTUSDHduhBR/MLfI9cRPBRoM7+hyRluZC2LXM5RlIjD5TSnjsS3uBMuIxMIufrYN75N0zKnMhumsKil6zudQ4w8RgLyFynW3FPI0FjYn/vgqEyGJgg4uGUzM+Kenu/D/zAInkv0YBA=="}],"type":"text","text":"Meta is updating its AI glasses to stop recording if someone covers the capture LED and is cracking down on covert filming and harassment."}],"stop_reason":"end_turn","stop_sequence":null,"stop_details":null,"usage":{"input_tokens":8644,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":101,"service_tier":"standard","inference_geo":"not_available","server_tool_use":{"web_search_requests":1,"web_fetch_requests":0}}} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/anthropic/__files/v1_messages-c5a2a8211935.txt b/test-harness/src/testFixtures/resources/cassettes/anthropic/__files/v1_messages-c5a2a8211935.txt index a7c0747f..abeb483b 100644 --- a/test-harness/src/testFixtures/resources/cassettes/anthropic/__files/v1_messages-c5a2a8211935.txt +++ b/test-harness/src/testFixtures/resources/cassettes/anthropic/__files/v1_messages-c5a2a8211935.txt @@ -1,21 +1,24 @@ event: message_start -data: {"type":"message_start","message":{"model":"claude-haiku-4-5-20251001","id":"msg_011Cd6LQXGTvJhH9hbHYL3fp","type":"message","role":"assistant","content":[],"stop_reason":null,"stop_sequence":null,"stop_details":null,"usage":{"input_tokens":14,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":7,"service_tier":"standard","inference_geo":"not_available"}} } +data: {"type":"message_start","message":{"model":"claude-haiku-4-5-20251001","id":"msg_011CebF2QAiWMfe3wYTGt8A3","type":"message","role":"assistant","content":[],"stop_reason":null,"stop_sequence":null,"stop_details":null,"usage":{"input_tokens":14,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":4,"service_tier":"standard","inference_geo":"not_available"}} } event: content_block_start -data: {"type":"content_block_start","index":0,"content_block":{"type":"text","text":""} } +data: {"type":"content_block_start","index":0,"content_block":{"type":"text","text":""} } event: ping data: {"type": "ping"} event: content_block_delta -data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"The capital of France is Paris."} } +data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"The capital of France"} } + +event: content_block_delta +data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" is Paris."} } event: content_block_stop -data: {"type":"content_block_stop","index":0 } +data: {"type":"content_block_stop","index":0 } event: message_delta -data: {"type":"message_delta","delta":{"stop_reason":"end_turn","stop_sequence":null,"stop_details":null},"usage":{"input_tokens":14,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"output_tokens":10} } +data: {"type":"message_delta","delta":{"stop_reason":"end_turn","stop_sequence":null,"stop_details":null},"usage":{"input_tokens":14,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"output_tokens":10}} event: message_stop -data: {"type":"message_stop" } +data: {"type":"message_stop"} diff --git a/test-harness/src/testFixtures/resources/cassettes/anthropic/__files/v1_messages-c5c219eea6ec.json b/test-harness/src/testFixtures/resources/cassettes/anthropic/__files/v1_messages-c5c219eea6ec.json index c8fe7a04..39f2bf52 100644 --- a/test-harness/src/testFixtures/resources/cassettes/anthropic/__files/v1_messages-c5c219eea6ec.json +++ b/test-harness/src/testFixtures/resources/cassettes/anthropic/__files/v1_messages-c5c219eea6ec.json @@ -1 +1 @@ -{"model":"claude-haiku-4-5-20251001","id":"msg_011Cco5VBeLgAQqTZpzs8QJQ","type":"message","role":"assistant","content":[{"type":"text","text":"The capital of France is Paris."}],"stop_reason":"end_turn","stop_sequence":null,"stop_details":null,"usage":{"input_tokens":14,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":10,"service_tier":"standard","inference_geo":"not_available"}} \ No newline at end of file +{"model":"claude-haiku-4-5-20251001","id":"msg_011CebEzUnUUrAGcNZdLgcdU","type":"message","role":"assistant","content":[{"type":"text","text":"The capital of France is Paris."}],"stop_reason":"end_turn","stop_sequence":null,"stop_details":null,"usage":{"input_tokens":14,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":10,"service_tier":"standard","inference_geo":"not_available"}} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/anthropic/__files/v1_messages-d2d0682969b0.json b/test-harness/src/testFixtures/resources/cassettes/anthropic/__files/v1_messages-d2d0682969b0.json index 2dfb876f..8cc2c32e 100644 --- a/test-harness/src/testFixtures/resources/cassettes/anthropic/__files/v1_messages-d2d0682969b0.json +++ b/test-harness/src/testFixtures/resources/cassettes/anthropic/__files/v1_messages-d2d0682969b0.json @@ -1 +1 @@ -{"model":"claude-haiku-4-5-20251001","id":"msg_011Cco5Ns4yCoi1nqWAp5Z1b","type":"message","role":"assistant","content":[{"type":"text","text":"The capital of France is **Paris**. It is located in the north-central part of the country along the Seine River and is the largest city in France. Paris is known for its iconic landmarks, including the Eiffel Tower, Notre"}],"stop_reason":"max_tokens","stop_sequence":null,"stop_details":null,"usage":{"input_tokens":19,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":50,"service_tier":"standard","inference_geo":"not_available"}} \ No newline at end of file +{"model":"claude-haiku-4-5-20251001","id":"msg_011CebEbwE4SrRNwGzjZydCq","type":"message","role":"assistant","content":[{"type":"text","text":"The capital of France is **Paris**. It is located in the north-central part of the country along the Seine River and is the largest city in France."}],"stop_reason":"end_turn","stop_sequence":null,"stop_details":null,"usage":{"input_tokens":19,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":36,"service_tier":"standard","inference_geo":"not_available"}} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/anthropic/__files/v1_messages-d7272d43310d.json b/test-harness/src/testFixtures/resources/cassettes/anthropic/__files/v1_messages-d7272d43310d.json index 7637e51d..d3fc65c4 100644 --- a/test-harness/src/testFixtures/resources/cassettes/anthropic/__files/v1_messages-d7272d43310d.json +++ b/test-harness/src/testFixtures/resources/cassettes/anthropic/__files/v1_messages-d7272d43310d.json @@ -1 +1 @@ -{"model":"claude-sonnet-4-5-20250929","id":"msg_011Ce9f6KdvARZ8uGWz5Q5x9","type":"message","role":"assistant","content":[{"type":"server_tool_use","id":"srvtoolu_01TWkYbRXNbwHNVG2mZcUjsu","name":"web_search","input":{"query":"AI news today"}},{"type":"web_search_tool_result","tool_use_id":"srvtoolu_01TWkYbRXNbwHNVG2mZcUjsu","content":[{"type":"web_search_result","title":"AI News & Artificial Intelligence | TechCrunch","url":"https://techcrunch.com/category/artificial-intelligence/","encrypted_content":"EsIFCioIEhgCIiQyNzc5NjY2OC03MzUxLTQwYWMtYWNjNC0wMjRhZWU4OTk1YTUSDLO3tVUHtYQHUDS98RoMzdFIiTgG1F+6JbQeIjBK7Pd0UYOeat0H7kkdbwn6y47VvGZxVh0DiukM7+CnAKou4HBi3J1xb9uDOqm6BDkqxQTguet9teUgchPwYiVVEhxwCUubzjEDWFYErJs22cnkXBpc4tTQK8DPCFSz4YM5kr5L/eoudS6G3/ZR5r5owPSpsCCUn+LO0vN3e1BQSObxzDRRs0FwtEf1t4+0ETCvYP0R51x5GeD/MrHbPzkhHCg8a9V/excvmHhTTfSSqhkYOWea0dSkcx9uMwzXk9/M+5PC+UArJtu19lGyBfbBjRny/YYFXewC/Jlylh8bOSyW8lgJRQ1WNesFr6mzw4DAnQQ+kWfTgGgY4p3mQJi+AblmO9RLCoiNemMWaRPQqFCgb6TL4cYBkCmm+0FJ/kNp0u+EzwC33+5Aiczpi//AT5Tq2QIKGwhKwPjDRrmNu7H+ftE+HdA1dTJdI+N6KWxhRn7QuLyepj4ZK7ANmTG4yXBTdySJedZaZL9BpXJQsLGIHAb+zGdtSFOkj+wFBjiAC4gakcE2T8rT8mNjA7/lQxY2xqTLPKwLgjSuTPKJs8xybyCaZxGsAf7rSoD96xfaQSKxJjUOV7XL3+jM0Lmb6umEWVsCojxmCVZpQOPJNEJNTmTsjIMWUJPWyRItW1bsriej2qccA3imL12yo/7xxN3g3brpqeRfXBL0987I3T5Ci6zGcCqVLDEbJWA+xWV4dszuIFoY/pefLOt2OyvC44YImokQoC0TWqQvdeMR9k1l9KMl/fgLWUajpP3qabbCPke47qw7MrRMvBemZaOv4YCHkTo+oQ1yuqZC9+eEsGC5aU7nSuYH2C5EYOSqtsjlBpSFJVYldBgD","page_age":"4 days ago"},{"type":"web_search_result","title":"AI News | Latest News | Insights Powering AI-Driven Business Growth","url":"https://www.artificialintelligence-news.com/","encrypted_content":"Et8JCioIEhgCIiQyNzc5NjY2OC03MzUxLTQwYWMtYWNjNC0wMjRhZWU4OTk1YTUSDBFTNozhw3759jvvABoMsK2fyc2OG1mdQtHxIjBoh98cjI3bOZaZsr9sPRsYdKpZdQn358GfoKGmMixTj3NaIrkGshmt3gDhJEgVHnsq4gj3EewLKHNaIDhOT4ecntRwLcjbXydTsmyv5GyZJhuGXMIRse+oym3vX/LVbLJZooYga/4X6In10ZsCfzc/CYPiI0yfZCZjDaa4ANA4s6okyAERZfQMJdQUNAW3cdoy6JB8XHwS0BUcueIhR6HYfNVGOYub1M6Ydy/p4f7R7K242zRIhga1oU3oDU97Hfi1aE0p8lNZfHeGLo6nE+uVYpL0quyfva96SvO6MKBoFSaJ3COq/0dUl9yGDyH1Sn3E9kJMoicOzsr5vI+uT+AGhoSqxuWr1/E5yUmsuyDNt4qdfK/TwUDu5tiLdvvGqTgZ+yy4S8FJwBt0Sb8aKDr48KeGuKLHFA2OBl7pKEmPKjNUxNWoOUzccUuoxXN2ZVuD8JcNjM1sMf+cJZbaQVwQcHyLfwrEmnrSaeuRji94DrYcgK6pSnVAixK0K5zJQT+dwJQrwhPIRRtt2qbmQc8kx376usezjk53KFKzSPzj2QePl6p/kOEEtsIn+UbqOED8G2OB4qmE3/GV1436J0Mw+FsdEAdEkOMHagnrAdzbtsC7dZ6OQS7wf01YjcOv581ZQZgNDm+2iWcXcqxPqvXMhzKoS1g86lrf3dNTSH0fWONRbxZHPu3VF4d8x28q0HmjOViSpmUS59xCM+fAG7KFXZDxKBMyZvU3UAyoKypfsqD+E/3RFnkI2Yvn6IknH3IB2mIrkypaC3JgvwJSbPzQ6liq9dBsuEHlVhh49r4/HKOjLtb5gF+UT0QRNX2136g+oeDDANX+Y9nM2elQbLl8jEa7XzOqXpVNnqmCkZ+XTWJ+GV+jClkrOWrgtjtKgiKW01hm1NsVyuKQ7K7yD/J4gsR+vI5aE/6WVx9ltjAOEp5RiiX/C9z9m8VIpSymqSGvzGw8KnwLPq1JIx66v+tMQMCR4Ykg10WPs0QKBej53q8D6ksiV1H5K70oBNLUPWawCr80S8oQVRE8faINljuYIo60NZegPvGmnF/Sm16X9mVYnRmRFtuQZ6olLa0MfRzeE1tUQRu9/sJ9fxE19f5pbnxALsJO5GXP0sEUU0FmRviqK/bl7eEuQbOQ7K4OGYWdbBcTCCHQzAD9ALBhMNKPbINbYaW7CniNpN3XP3ZffWwSLpeFb2Bs8U0AUip6IogAtN+tOIPKHvOUer1IEz3RTzmsleLxBvjnIg9QMT0+w5SefqVfrajj2wKVPYIQePpZvaRbKDdfH6p7aFrCee1ZQdGKY5llJv+JmCojFV1UkrF2WnKsXBHKM1MhsdAW8X4D/TYqnMuh05ESFeIQoabHNWwgAsCX5WTu5nNcStZy8IHlR+YLdOZJKu+OzT+MQblBFgQREY8PkaYccPFMDLW3lso/Yc5RiZIKTxAEU1LSVrsC7Vb1qviOPOn1Aib5jVUbiurUPRO2xxTpES64i2BR4WgnVjDk/ruyjaRCapgpj0aiKB7opzMH4ClPaGyKyaZJZ31AhXwmSiACvqjWOyZBCspevEAYAw==","page_age":"13 hours ago"},{"type":"web_search_result","title":"AI News — Today's Top Stories, Tracked & Ranked | AI Weekly","url":"https://aiweekly.co/","encrypted_content":"EuAQCioIEhgCIiQyNzc5NjY2OC03MzUxLTQwYWMtYWNjNC0wMjRhZWU4OTk1YTUSDCbXnEi8+dPTOa8o0BoM+kQPVGrMrPGLLuD+IjD0jd8Dbhe7+v9wYDLN8ouFyOlVFrychruUtfLHIjAtk31Gzno8/jcl8+XVZveRv9Qq4w+51FXv6aGFcrijDl9zxsYBxt5Rb5367o/4tY0nbgBB44xpK79AsdGNKYY3W/gGhfWHE2wuEVHhJHHLfZBJSOwzL2FmEnyiMLR/wXcy3GdS3JvqYoLwV1RFI/RO1O0CgAq98CQBIQ8kuC0+4Gjzt4aJDHdtkqOYgesKA43eClcoe1oquLnIzaRG3lXc9waxJ1GTm19HTDkGvMpzA0IxcV+klCMXjnWPSc8i8JNGvK3JuKGY3oL/360dItqPEBgQBuaJW7ASUjSDeNBAMBZAkJ5WmVhzIbOPCm6palS83LAuNJDtn6zzMkhDWV/J/XNsgqP0mM6hLNp0//PdjGK1vV4Vdd4meh0YlEIvZOUupk6EhYTXt+hJ7H/egm7+5kfRdgeCNdh3NbIgRG9Qvo1uYSb7CaWBgHDH+Ag/8Uv7a6jRgTcT+kgHqbLfZlLm3Xj8e4olS5BjowvFLAGqvNOo4FZR/tMQZL0lz6fSMu5Xi+oN86CQY0NvYI/yC4tHGQb06CkOIY+ufqPjRDEhUfsneOUXtsNnDF+552bC+dB+nkUc3zdBgFGrHwc4R43QNYpQLlAxJ/7Prj4FlLzgSbP/QkMGvyu8tfQ2RPWolA4Mr+GZVfF24AxJ+vcJtM6PgTiq1xG4g13JAwZIIU8Th2pPtfAVwjUHn0UD6Xi84QGGHs1gU2jb2rbHezylme4oo33TympJCW6Zia5vNTDSCZsZG2TbRGkrnT3R9Fsz1Kdh+nlPM79CFnJc/YukuoH2fDxQJkg5MkJJ8j06rnjKQAbgwpjfYUH8R1cuPAOKh0PkVFtJmeNXWsVQVva4boDJ2HCSeMErg0S56zWDEEbvYYLJu7x94NQUubVjPvOp6O6um07DOQblNEJdqTf+fzJoDYZnWzbf4KTjxIBS+0Tb5vmJM0P8m6zxNHhoHvU3z+XYlVCCadwuA+ziH5jsu4OvWUFs/oqh9ji7m8havI9rDBmP3ofGHhtpTkIq6eJbiIsJNiFKywW9B0qj98ZzKX45i7JZsWNLQV6vPjP/jkDXJEmcgocv7jtCr5UCHsuJ75GF6yJCwrCyV8+GYQHJe2DIs2oLJgafduiEvdZ5LKZuKVpMeTxFBiwsBdjvOyrsaJk687w2Uh2MhIm7o4UkUVLpDbcKxk0iCuuFQ9c3VxeiSNxml3h3eGQA3iOlpl3iVmmt9YEkIuw6FiDU679j+PMGMQleiZUdA4xchpYvUqCk2x4dwGnV/MpAmACG/UAzNhCUSiZj38bp9H1Hr/P3ir8XMcUDOmTJvRvXYf+taDd21tEbIe18EDKmRVlU7K4eY5lymn+JQGbsZnWvA+ky3jXDBRieJATN3ZhVVp1STsLt6nfcGexbGHtEaNVLymkibZWQ98DyEuAFcZCBwF1aIHypvXqvCSNIoHggCFOYzRizyCLta7SEbHz5QtcnwdoD4cdihECYRj80Cgptu8xvdp+mGkkLYYgeRMvxlH73viisOfFP886YNq0gHY6TqGnqM2UR8YVJuKSzY/TgWFsdWoFtQgQQ4vsFv8aXraJQ2YL3ei/gEpdQwQPOSXHLK9ykrKve/ng/V/25/aBB4jA3u3n4O86s0g9NJA8U6j6rq90sntsglfozFCzUOHyZLW4BqHlkvnsDtsFOVRPJqNCUOnAcJsLdzytextOH5tmqysnfbSe9sXPU0r+ZWG44LLoaJTyJHYj7HwlgAkfJKdCil0Wew1OQ+HPe+KeW61baGVqZ4q/NV+OdDq1W66+s1XtRgWYsFmlbtP7tIcdoEK8lylju+3+Q0WKlUeiRrCxyouxqefX7gXSvrC3br0oN3a3NkFRFe92oXmPo3p8KSw/2Z2+g1RE4Y4eNhsOoOVee8eEKPiR9iNpJ1Pz3zDhEjSEwrsKZfrQHQC7xGHFLYtnG9vsXgze7llcxZZKBB3iU7wDaVbU5vGwjVROpIkp+DS1nOtS5nqQdOxhh47fA4hgSocibnqmH/FREHewE0JFgCLmvSGW5ifC69/njaBO+DQUw13AO/ao+NDMYECRUaifjCR60e5c0f08FwebgqHXDy6baNYSp7Lt6o1Uq/STttQTcGQ54tANWv8MaFDWE+/uIo4ParzYa+zAqzAgKMJuC1ouwhjWwkkDa4f7Glt1jG1VcUEJOM9iw3K1ztVpfH92lSqSIWcd/FTXh8xCYXPXFksfOfDzRkyX1WiMO3KyPfHTvQXs5fh6LSL84EyDsxI7C9X1jd/baszeVR24BfIg01Px4FTG21My1Adm+NMMaVw7ZZ7AVTgUwz+wzSg6YfI6tVoMBSUh3TISMgMq36wr1yPfyE9MQN54yyvxECqswSDAy/qRprgcqwAZbfxSSbLPUdKTz/yBDqvdnkAN4j03l24rTc8T4Jecv9jrnMDJlk3Fuvya7Cce8q83OfWK596ZNIVbTjFUMfbosB4VyC3YRUi2N2q2RPxQCrMVZ24CI5XCRAtUmUcNDvMD9knetXC6lEO6kzNCZW+SaraURa7UL8rc0fJLDmC4zrWelrOwf4wbicg+5BU5oQmDA7TKAFCLA6siEEJxFoTQOAqX94UAuZcUmVqall2Eq1CNQhMqSChUmABbhEkUyK9h/rPVDMAz58PwJhOotxPumpRlwP+SaoKPJwIL8qiO32n2+AZDOemE7iHZ92M1vr+MxYeFlw+74QPT6DYkO5H70fUMYAw==","page_age":"12 hours ago"},{"type":"web_search_result","title":"AI News Today, August 17 — Top AI Stories & Live Updates | AI Weekly","url":"https://aiweekly.co/ai-news-today","encrypted_content":"EuAQCioIEhgCIiQyNzc5NjY2OC03MzUxLTQwYWMtYWNjNC0wMjRhZWU4OTk1YTUSDEXYbsHd8vljsLz+ihoMPWS01WWiKpM+1yL2IjAU44BGgWQu1CweStmnhUVoeLGUTmfZaQruwTETxSfitD17kR2685AnGFJdWggV5dAq4w9TOiEayIUAkq4DE/dIUAHc/kH0lP7C0X4d0u3mhwhagPdjSdCgQ1ldN1/CIwf9THdImrqZLDv7CTysPHUu3HswPxjvz7J2mlwIWzL0jEhWnut8TWwVCzam0srgfd0aQIcq8f7n73RgQqtz2yOS+stSa9d/JhtAzP/ybbgIwbVZbQOPDXLjjRxbYEmkpP3kQIp5NfTaHZrM2t1dgtFwODKyAXzB39unkAJDTJ+h2k5RnUa/oTRfCMdzUXdRfTbEAAC4O2lkbMbRfPKpsegGjW526S16IAFoCfJvuSlMwRjg+yDMYyQI7Sza+2hRtUs89p88NIL9pTgTJmP9HGVRlRcMT6i8L6aailWB789gaPDsuDvB9IFSf8GX/sgVDiUsiDf3u/Pf4SpA3SGx58g3/kAwsbuFhFIBt0OMVFvxmt5LcWRdMlbl4dc0baEeINzK9PecMPFkKMl5hSL70WiU+WCkL3SDnqZezP0t2+lrvOAXZHPkJ4p0TM80fK5gVtn/CpfRhvW5AuS47oIiZHt5oQnH7kHOxak7psWtTjS9uLJaJ7byO7697eRpZocYg7pglw2CERUyWig0INvH0dRNERf1tNpuAnnfFc1bj8fhsUDSSIzb1RlV6Kvvn3zFZbTK8bgxxVwZdp1KH0ORraIg+X+ly8EaS4d0KW8xNPQoKYg+g3z2LkYP2+CFXmzZL4xkKG1t2hslImnhVSLCQZv7R46GfeaT2k1E8PdOYz7CrIV0c0swvAvxrflkC85iJFL5iH3zv4FTrBLQxJcwheGiDL4E8TJGyOb0hihvMpIymog70R7lv7psVOujhaWDQh+jNoXlid88PApAuHbWn3jzG1wyj3wukic03qxAUWUms8u+1MEHm7AFMsGMYv/tPaHqgZkMCkdICxihgswScnsDoSvW4724w410MnBN21wd1Rz4h8/zEUy0zIJKED5AlJTahOigAY/vm2Yq7FoSejdKt9dfJDbgnQ5xTnn8ONHZaXtPJqBExqIk73yukkGdXbcGPqQj0ZnPrT4LT4/IqNFj1sVSXijkZJd8wAu4q4QSXYtNurvIMybeE8GGqzgoxTkjB4cCEj1l5zPQnN5AK+l5TRul6wq3ZQp5kNqtyosDe5/Ul+rGQVP2187eQW5FxW3V3XKTeJBjsEgdSjNaEIplY1fa84Z77lpKj9GwYAimmzJBi3BpwM1Y/YhPIhsCKgKV8HQ4E8etJdep76x1N8xuJfYVrjvV4kWWAKca1jzX+GbUlJuD4OEL6P39k9pZO7ugIcqDNzXlKcaaHg92hB2l7kiYtXjUgVfrkosfxU5kLt7S52yHyTesmxplUzTxM7dignyQgCEglM42bvv+QAJtAvYr/qMV6w5YhOKvaaBck68+jecymvPRuV4w4tgIsYtGHvOq6iQNvaACMNFUq4+Tl8FfjmdsWAE0YLs/9JV6L6GT2m3G+kU4Pvze/kL1zHEaqWYKUzERQZWlILDoc7b3NpwGc0aPVUHUznl7Zd33O+CEjvTFNbvjeFr7i5Uq/J/xUc+G5eY1sDv95/7YI6srMHV9U213HByxVe5TwU4k2deWElv5vYSyJsmdOtgpDRV6ODNviexPoQ7eDoHcInGPNmD0VxpJqzBMekG5RF24eqjeV/AXAqzmmyrj2sFJKmIsLM52FxEreJssC3xZs+22+MI3BEReKxCVFJnObByh1reSXTw2blvxOpzK8KmwRfrtOu4/w9pqrAB1QZXTUPyD5JVX7E9yGB+XIGJvZ/rZqYv/7vGSUyrhLs4c0mYVhG1ozVZOPJGQ9D1258UV/qjyAutl8daunpDG2KTljrkriCjfSOUOiEiWt/4RkMCcTqhaZGaoFgFVfOPZNN4G1h9OPLz3wbj04+m4mWbeFSq4zEPufL1GVz26MCdAcJQqrWDmHH4hKAdJnPDF4K4sa9CKRlzmEQVLKy0/HeJQSFh9nh83LyE6sm2XRNrxDdokv67lnerAMf98g+AqNYgDkoR+QTgfszsZuG/kNm82eT7XIDunK8/vX7Lhj9T18LLZY5JgSEzcDsMtoI7aXC4Pmzk1D8+9fEIjJj4Nb5zozWhSzUmqfMT5uVoe2GP0i/GJSaTWw+AA771z5LhJk7dmpLK6i5NljvKwmItPiIlGSXXPyFbgoELjvLSBN3ra+No78gUNKjv2nH7tQrQ5SYLy23Pso+vTCwQw2q5Xab8iEPrQx5Jsppq2mvfa3/T8wD7u9r+ZkLMcbcbg8HPYYxIYXmiG+oiQvk+anUir+mhKjS0JC5r7cInXlLTFTRi/6nmwzaIl3FYEYM+6JnRFqVpba0h1OeT19j+qhHXPK1SId3MlTyAJR9HpW/tnj28WL6kgS2Yqsqaa8SkvXHBSXnFlm1WWYEfOgqU7JgAeN57UCECpMkyL/5whPYSZgSTXPeqdw3aIHHVDDo6ufTxl5dVdsEiXVDkHdE+X/dU8ODnGBQYm51f/aEobBE323NRjMvH5ZP/Qkd+vyuX6LjiYvVrl8nDkK7q9JE0HVVmFEeHGeyGgZ3AyT7+Mv+26US0nlRC0OqmetxvpvyerSp0Ridsljyxb1MsPvJ5TjSeI+rbwtije/eI4R7AVxmTWjvKpL9WftLDX1R6R6/b1llLz1Ya26+6VxL7H3lKytL0FMOhCBL+fmOn1n/chjrvHyLsm5AQXG6o7YQkmPWsYAw==","page_age":"1 day ago"},{"type":"web_search_result","title":"Artificial Intelligence News -- ScienceDaily","url":"https://www.sciencedaily.com/news/computers_math/artificial_intelligence/","encrypted_content":"EuAQCioIEhgCIiQyNzc5NjY2OC03MzUxLTQwYWMtYWNjNC0wMjRhZWU4OTk1YTUSDMiyp+25F3/v3EyNphoMvQGg81jP4gcm+E6OIjAYk9QqppW5JQSVLnTrNua1anpf+AVgR6xo6WAn+No0Ss3PWj73FuYgBjUBr/OnXj0q4w9Lju1RhxYCHeOWdr9oDgRphBSOst/gN5bN5IpJfBfpUAXGviabcX4TvKB2XypzS50uV5RdNU+u+aVeKoj2UjOXWcH6D/K1tZn7VIdGyEhtn7BNc/ZNi4GMiz+2R5ToYdXbnUJorQaBMBLHfHxgYNx1gStMKhBoiQBdGzU1+LrSTOaU03A426uDY0j6IunG3j8ms67yF0i5ruIH9p+g+TMEMNJ2Va4k4HpXi/goK7iEMDPcTxDnIk2hAW6aN5SXV/kk3o5BcCCEeb5W1iLUwzVQIdjw+NI1YN6DYAwrwldvRqOtx9B3hQpBE5Eb+eugyngBFN0Uc9T64/lrqrSnUrJYwmZoiEdY+FbQfXNOBsMmL0Qgn2IUu5qO+giP0vVRpD71KdkPLMzLoQzjsvh7edhfbtRM5LgWoFlNu8+Np+JM3kuIdz/Wq+4ixU5nuulwLqDArvofOt2Ngz+p8k6yUPWVAICm4/e/rctylu7bzZGPvuq+J9V03McDJo4DldTKZqXj/7EzPT2r6VhtcahqSVAHCjbZJY2wzwZY1u7raK1JS89HpvZVNHtptjPV2Dd2N407rTQsQ/NY2/MY2zI5sZQxI3T+XaXqropOU9HxR2OrsyFJyQWZru22E3gr981MOUedemnHh8ZPCG6Dm8ReVefvtmU+m9YQZT50lYj4iWUKTRrSnlDL1/1IpoPZDfGQxGSVD4zajZYv86IlIKnXkq7QouxwgH9o2L47xN6UTBIbT0RRiXqnK+qxhatndj/DmSw7xqtHNnQA8k+dt4grtHK8sYrr2DRqcgdlsBUAxZG9Fyn5meseYgQYh5LSNWblRaOsDHTkzh2z1FEt5k7r8NdT4Fj07RZcga9NeM8LJzm3i9h1Ggh4WwbsZjy42iPuRVAJVxJZGYYFhgOe79tladhpGBqGBAo1lMSbk2xw2owdoZ3edVAHFzQDL9PeSCs7Uw2A76YTmA6HWIqzFSzPSl9toLSnm+ZuEXT7vV9NP+Kna54FGs5gi+lD5xN7/6TAXq7Ig068QJYsRj6ydjq9ljBMT6ghp8c0hWr6NcY6fXGB+s+cAWWtlL30kkBHiIpgph1nu4/hMUnj8JKV/EW32yZK9k0yMtmSKVKI7K1U8r9sCptIEjh2Uu9i1TydDDt4Tb/PfQ5e6fcinxnBlctel4F8ydl5pvm/SOV0uu8zCipq1o2HLyIoCcvwaGizyqLPt/hOx6m5+WVFWBIJuDIvOh+W5nDTX//KVClYhBclKwVUuEv0U8XjulN9oDftORExTEvVFwqejU2dAZOyT/sfptlFK7u2t/8kQ+fYOjpCp1w1MgsFn7F1z3h1kbpFbULPeEawhWY8BI8KfOuGR3JL7Q3I54vLu7ftuaBGDX16n08+HWHbq6hn5HQRJPuEc90XwqDTublLV1jYyV4leKm8Cl0MUcn92fxVr9jV3y1/DlwHciAbisqE+xthK862ziGHJssnMdMakA4dBFG/tNggYUMTr12NI+raF4ZDgNhE8cJq0ty5Oi5fh5tjALwaRHh7nNUVu2gbjnOZSpUSuN+Xwlukc8YmS1aevTTJk6f3rGARzfs6cgvK1NA75Nh3vJfC8PozK0IVoNtUCcAhm0q+vXhTd9cFSYbJgNtRpp9meOzJnsKaUb4gr+c6j85GoOGh0p5OWNpJzhjUbz7iHf6UFgj5LugABzKqn4148sgqRJEyci8wHfJi+eo+hXCN8PX+ylEuVvmL/3tN1Ft9se6cQHJLbII+QMgaLX5t086Vc+7+y4fZXDbb7CqhSCUGuyciSy6l/JtFZQgognTRuvfAVvl/gFRBOmt6QGRLHYjZUuAC0EIwfQrQRSQfZbcW0hHopn34h/2J7sUCjc1vTHqeyWnU6Fejb3XGRPDRVVpAqo4KiiUEefdD/kOhEHB50MJvmabVEHPBWW8N/V6ns35M1BnKDqWzYzgbXO3pwb1V0Ln3Zq5nMNhA8uJdmHqcEpS67wgEwDZklRtyYenx8pO4g96nzcU7YvSHiqtW8XCKM9e8OCA79j8abrjIf0NQQPdub888PzShCJbcDxxmVHagi9/DA26+xDcq6FYTW/13onpywXPoDCQgqttVqAh3Lveum4pJSJAouSC2ai5vtApcZoWS8bQOWhGgDqLgcNBdVqZ6k2c4Z0pvZleraX+K90RCIC509zgOHN9eOZcfEiolYui7eKD2zFbVpYC37j+7YN6s82I+kLaZ3NCyceB+iowvonmlqzKjROSDzo0mqNEr3RkWdD3xs3L2hZ9Jjk+X/6IgKn018/h1xs+RlUqu5COfCnmOFXWo5A6FT7EL6vhaSJY823ryekd0+lzPrYnNdnkWgMZG4uTCn73tH3k5OZUCYtk33+7AhR/DcPlwL96coKlYd/LMWnMVZ98mjQGrE2FCoQ7QB5e8/zmhEqSFeRiGd5ussPj1/WKmWKR0VTmjZDFL0STiPXxjUQbb60My7rjdbE/EeiicaO8dsWaLUlLEsR02FlfrzuOCMMUoVmYi6yapenpvZLcT4Y23OAf1DCemO/XKPBusIoKD02/DiVdP1LomRUoOVqVCmnhBxtjDG1OYiZvtvTNg31R/vHDdOlS/sqStY6MxXCjpAKG6jH5+QGxoqzD1iaJJjPPBT8/QnwviA1A94c2UbU4P3RRQ8aP0Poq/5qALsdnWYSFfbkfJ3aSH1RIYAw==","page_age":"15 hours ago"},{"type":"web_search_result","title":"Palantir Leads AI Data Deal With USA Today Sparking A Newsroom Revolt","url":"https://www.forbes.com/sites/sandycarter/2026/08/15/palantir-leads-ai-data-deal-with-usa-today-sparking-a-newsroom-revolt/","encrypted_content":"EuMECioIEhgCIiQyNzc5NjY2OC03MzUxLTQwYWMtYWNjNC0wMjRhZWU4OTk1YTUSDOWHLd85yPRfkhMRRxoMXYWDMl+g5Watqgk5IjD+Nw4b8RpIHCQLqDnX5Fsmop3ZJf8b7Esn53yNQuGpluBa/jVAi22IhVYgtGNa6IAq5gNBC4ilVMc4vtYfLb+lDC9CW6K60NcCszV3gbmroWkqDJdIfBUUbBkWIW4wYCvpn2j3ZWTQ6Jt6ZQyD+gPOTtinuTSk2KPF7CpVjsDD9fJ2HLhCGb7nz5NJwCpunRy5ku9jdofni4UU/G4cTpFlJGNaruTrQHY5MO6ikOYsLDKDH2ZdswQ2eV47L/VcsY7pmzCFPhhSkyLedfidZjxXrl0gNrAydbmZXD3ZbkV4g7uaKlkfykDqrOi1HkVSIZqb5gMGPFm0SX8Ahjwy1ulWpE+6hzGZt7u/OHngfIgIfw+lvNDpuyXTyaJ4SfQFRVIlXGe4it5d5KY4es2pQ4baCM1be+Xqsqux/f87XBOiXcMumsmUL6So6Madenm/DIDEUqc0N2ftp+9AzOsnEj/S4/2YBJC6yvo6Wui8iSwthqkRsrokN0yQ3YLcNDWqc/uOiT6yNZP/q6WHS/i1YcE81q0O3cGDu1X0hyCMZwF4KRKgZqYAE8UoygqcTrpxadEVLZs7JfaPfySMR+60GozYPyXvca7BvTa5ZGlXOTJj9Xj/nswtVAT0ObGSgzVVP6RZHlkCkSScfVIBrOW3yUeidy2g7HYYBkWXNTy54YvbfFeQn/WPgiw0zQz9n53z5QQtzLcz0aQCJeEYAw==","page_age":null},{"type":"web_search_result","title":"The Latest AI News, Insights and Reports | AI Magazine","url":"https://aimagazine.com/","encrypted_content":"EtILCioIEhgCIiQyNzc5NjY2OC03MzUxLTQwYWMtYWNjNC0wMjRhZWU4OTk1YTUSDIzTdnNeFdJaaAZ4dRoMI96rNCNOurFza2vDIjA/A0QpEV80U6ugsKDjnGlUcmY31gu21Rwi95JCZaPCkMegrlA6Zytf3QAlSa3dxeIq1Qr/KNnsXToQaFBt9z9lb/3GCyO3vwXiribEzFiyUsyITo+APJRsgjMNZaO01HDCl1Nbg0ww5kxUp4V9NsfaUCAl7RGHvyOjiCM73KYxot4BFER51jpxrzYdVJ7TL6y5TmquAXbtv4hswHrVoD6NhStr57/QljGMVkdTXqwsltwZ2AOkmqnW24I063JhYsxrFpnv2J5is/CBnGJWIT0HopS9VwxqZFFVrIzqcRmcCX5cU91AwStI1ycfyfnyu8TCGd4rOwa0dWOxyxIFz1tuNzUtjX3wrJaQWf1umD1DCO4PyusFM3UnW1aimeaWYJGugubl+MjNZuFuce/vl4lXe/uqxRMrM6BRCcMDoJVLtBmfK/2ig4RrOBIzVMwfzaNSmQhGplH7BrLfAtq0YnzOLNk/0wOFR0O5pwblhL8L+KzHpcVT66+FODYNQVctv56s064asc4ylirbGXg0zBKMpUQkMKfejgwVwDlMjA/4cssMkplHg3Gy0+PlqetMRbWoQhQkKckhlUXuQbmr5yODl+8FVVnf01lFLYHBbGl8aavc3rTFU0Dompbcrk87Fnwn3uHr+hlnX0hCV0XVoBM2pxgp3SHHHkUmYdngfD1ug/oVaVsiBfOKEHTQqDavHXTQOSoc35K4DQHPbGnvpW+4ueMRyRwtk46519vgpeCuhgWBoLNSi6Ppf0KXou+NxxHyHmbvvLDR7NlV7JsULnahKHjX3U4lXcx4xKAw8Ker/T0ZExyu0uv+fBrfQvMtuXPFFyV2vKS5RKjg7GwZhnWWKjgBofvhI4GmaMLBomhIXVbrA907U4MXQ1k2WYUZOMB61m5mgk2ucENBHjKe2rMFSVcRhzkYKEwF+F5FqyMpNMulmxqEMdIX3WOUCcnn3Z7xAYvn797OUjYR/GIzHK9NF9IqaV8HN3/e0FaOXQ3l/xK3BFaajnXhQTAaaPKAg1jUo+9yItYNfARvLeRIgIZcfcWRKczfdNk03BaLwkW00Cgutd8I9gsnwSfB5hIFckTCqVZZoptGyviEJ/y83Q+kXEGFEtTnQsYPR+TtHu8homPMldmz2XbOs9+YLvY9TNOuVS3T/HGTgzhBSn4VOeQ4JSzgFNioALzkwxbuwqsIVGnw4si1UhYAy7Lhyg2HUrfdlYG7+ENDem83Pf34USCLD9vfP/v0p8qaX2Yg0GklB8eUIuETdt8jh60sqdNxdvuTood7W+sDwoXCDZ7zVN0xbHmUFQQHFQmn4S+HbMZa/oXF7guL4+7Z0fUNMehuZhLgMqDaa9LQeLB1Q59rqQb9UGULtkuDOhusInxT+rIkPkfmnDjaV3qTDt6Luq0fyyHoM08jbCEwchH+H76l6EBcSEhiU+NL1N1J2aoFUGaP1RP5kxAK/dcHu/vcHdRaLADDHuy5Kaob7W057zGt6KCOjOt1cD/K+zTDv+hbjg+AU/6RjGagES4NQj13CxWfkSKv8WQEkP3y7EvMRI/om7ViZF6cNQw70LpWhxZqMtIVRuiC6nH+aqa/PTR+9IZPTd8GPcKJ53EdJf4saKM4uTaE5EwUvl5q2/GIk06QBhDmMTZS6eH01QXnk2xWxxXPwQ7eZ39iLegFsjEybJKkboj232iU0OPzOLTj0GS++P5UzCP/XLtt6YzYthkv8Ch9aUx/ZrJ7m70llOCV3JhvKFAfzOOuQO8Pbkub/sZcg+Cc8j3WGuy5my3RyijgB1LtxZqzk8ED4zXItaTt6Ug494FXaU8nLGcsooxEpceH1Roj74UjVn69T2l0YbgsF7vKdhZV23tfrf7ltasp/VrhbzlN98FS6n0bWWUYAw==","page_age":"5 days ago"}],"caller":{"type":"direct"}},{"citations":[{"type":"web_search_result_location","cited_text":"● LIVE Updated 0m ago · Edited by Alexis · Daily editions · About the index · Bloomberg and TechCrunch reported Aug 16 that Stripe has finalized a dea...","url":"https://aiweekly.co/ai-news-today","title":"AI News Today, August 17 — Top AI Stories & Live Updates | AI Weekly","encrypted_index":"Eo8BCioIEhgCIiQyNzc5NjY2OC03MzUxLTQwYWMtYWNjNC0wMjRhZWU4OTk1YTUSDPEs9y20hx9q3le7ZhoMdFuMAg+RyL47TrC6IjDmN7pDkMA/2+kcC7xUqI2GmuqEA7iQQsZjrOGjQ+Gg7UwxU+w4yv33QqXaZSwgkOIqE2Cw/SNFUFccalnm/QLu803lTnQYBA=="}],"type":"text","text":"Stripe has finalized a deal to acquire OpenRouter for more than $7 billion, representing a more than 5x markup from the AI gateway's $1.3 billion Series B valuation in May 2026."}],"stop_reason":"end_turn","stop_sequence":null,"stop_details":null,"usage":{"input_tokens":8656,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":122,"service_tier":"standard","inference_geo":"not_available","server_tool_use":{"web_search_requests":1,"web_fetch_requests":0}}} \ No newline at end of file +{"model":"claude-sonnet-4-5-20250929","id":"msg_011CebER4qPptWWLL5nos1fi","type":"message","role":"assistant","content":[{"type":"server_tool_use","id":"srvtoolu_012jwHZbUsD8YwQ2PmJfaAmi","name":"web_search","input":{"query":"AI news today"}},{"type":"web_search_tool_result","tool_use_id":"srvtoolu_012jwHZbUsD8YwQ2PmJfaAmi","content":[{"type":"web_search_result","title":"AI News & Artificial Intelligence | TechCrunch","url":"https://techcrunch.com/category/artificial-intelligence/","encrypted_content":"EukECioIExgCIiQyNzc5NjY2OC03MzUxLTQwYWMtYWNjNC0wMjRhZWU4OTk1YTUSDHiiDiMIrsjIAQzF1xoMdW3Y8Q59ciJcmwdhIjCBxPG9C7bzR1FM0BWbP76uz0cF4qYUBsL3pV+e/hYwqjbawAhAEp4b3WhhYflp6Ysq7APbkZO9K/ZbA8L7xWaU0XHz5atSGmDzf+B/OtW2CudXA/MCAalDwfO+dI150GPvlKmcMGmmxMuae3iw59kaZHB2YvJ66iJTbK+feagQHT96N/EsagcG3jWCqOfZJqWJoQv8l4vp0A1Bp5u5T3isSP4tbYDfZe9oOBek90P8g9KpnApVnhVQ5yMyczAU9xoan+O6UWlqnQFdMkrE4+KCakWK8RonII+hV9i5+BGuECGiFUi+yYT8yrgSbgz4pZRXiRxNhsvorrGl8AqhMDWMf+JGBN3pH4LVnILE2Ie9uSYgjclwXgXc3jAMmrMYdZVIR/M20QUz3daVa0lz6K8m5Ni1DEy325BBn7SuMzJTnHGMOCYC51MnQUFx/yKM/cjk2ZqcbA0AxLzz1raYo//mYdTtRqk52IYHhmBAt7d0MnpwL5mcBgyBv8FcVXu//wdVy4OfU849+b+XbucTGypBCnaYeBpo5I6+wZZbTx1ulVDUrA6KTXhOkQ5tuxUtccqK64lhv7Ix2pZvhThczAPGvPeZKqi6o0VMKIolEmja5PDXuKuStj1ZTvdNRMZuHm6+pTvak7TxmVxAqYY/8grBHN7NVJ2Ixba2HkHSq0yPyQN4r37iHqXQKMFoo1bkI7rrY9VwURjxMj9Kfr2ZmNMYAw==","page_age":"1 day ago"},{"type":"web_search_result","title":"AI News | Latest News | Insights Powering AI-Driven Business Growth","url":"https://www.artificialintelligence-news.com/","encrypted_content":"EqYJCioIExgCIiQyNzc5NjY2OC03MzUxLTQwYWMtYWNjNC0wMjRhZWU4OTk1YTUSDA6UMi9Wr7J9tjDLLxoM0m7HXUCKR4cWCMF5IjA5p/vXJs3idWsC6tCeupkVZlZdi9urlZ9FE10P3bzHMK9lc4dckGO32jGNNoiwOXwqqQhl5Z2vGFSPdX5xYjXSiziWiKBMB9QeodKKvJbdGUQ7aVuvA2CErJTW+6C6Rs0wW25cJa/antx7MbkEzGzReNdd+eb746MOIzuPSh10ZB905ozznudYszqfqhRBQnClZnh6kRnbrWSGwO9UPh4vfeuWdj3DyxWrPnW36oxJda963P6kiM0npDqNAuOiuEfzxMyr7Pa5T1o6sFEa/vxDmo7cD1Sh6UzPdVxmj4Si7iUgVYw2LSYTIHZhttUY8253XrCQIXdJSEI4CSelMUfnpGZDZ9tbBb+v6Wg04IERoVNP9Iub8vAAl8WhE12EwwEjcT0uFpJHLeKe9VoVTplmVSKcE+RaXwiGRE9yZM+/uHRHuedWLytsOEfAvnk7GlvTzobWxrDkG3iduitjy8GAn8BogJM37yT6a3CrvJlGh2IoYJS18Y3txm21kygj7yqYftJTYfUaELNyNCMKjao0Az9+4C27AqWxzWM80m9l68129VHTNiP+OlZnrCugcVcmm9YztjRXRbfVjrQYurpJP75IAKyUT1FjzP4NXO/FRN4zc7mlqASwYRIu+j9gejSAN4dreXhTk/v+bNJDQKCemWriKUREb130DIPBVbaC2eXP0pxPuBVtoroJR6CMaXrtoCGDyYoXYWOtzFHzhNrxm/28wfTJPEIn2VsKr0QoD9nonn16/gcKLisXhfD3av6izCY23zROsOj+q4wvM5/3sh7IyLzpWqWvYIDzJJ2+8ZMURFZl4aTsz3Snmr9s3w53PpT7xAx4hiL/dwF+dADKVfKVf3+zLfNrNkypfv9BmG/ONDcjbR9JbvBqKrrorNcDhfaosDaBUqxcFhpl/LkPpvK2MD9Ew8YTq0kwKlRnJkCIiAxRT1Z3aspV8Em0qKzcrQRIBX09hSyRKeFOX4neGbbh6aTHa/BW0Ao8LWUhfTCa5Vkdx7+6/SnSkEItoJv5XAXlhGbWEmD7ywIhwdIxmzAg9fu8AzhY6dZeo+Zrx151W9TB9H0OLGZz7RtHDMiEoRQDT8m1szUDoiEQnPbdp8yJoQDmR7+c36H2umLWdPO3j1qnjjqbolh3/lzLsY0wfTatW1n1LNy+/WPZUV1ZATm1yQ8xM/cMuYK2l+eBX17VLrOlgnvVoHIzOe2AdJt2SYKF7Qh47dkOumMHd7TR8k19sO0OsL7sGuSYvYlRUiZSitiyqWbMYWbwhQGK0tRq9yRKvJhLJynalePMteMuTUu5Ng24DjN4WRyyfyBTYK6alinw4Y6T43+bM8Jp5FOK3j9+MLuaLsA0mPi7cWRjZkRHtFhVAzTBbi183V/eqZcDRibKE0IrYgq796Y0HfDiEUXm29rXaM2WHwrjjWpHnphQLtaW5KKhl5DVADT2MKAThNeAfXCumE6Eh85qeTS964bZCltCZbB5fLcYAw==","page_age":"3 days ago"},{"type":"web_search_result","title":"AI News: Top Stories, Ranked & Explained | AI Weekly","url":"https://aiweekly.co/","encrypted_content":"EuAQCioIExgCIiQyNzc5NjY2OC03MzUxLTQwYWMtYWNjNC0wMjRhZWU4OTk1YTUSDCLN3f3DSoOqjvUZ9hoM3q4qZeJNnmdj9FAUIjDUCNbZGhsI0faSEfXEx0wbH3uZx3Yq3OdRBfx4RrqbEuT3cpMHppm07SA6a3azIHwq4w9nrJzKwFAnaIjFCv0kW0iNPJp01izUQ7Rqq2TdTuBfsTUu+ayLdbmeAp4X8tujqaAlIwu9+a8WVo/zRUJ4KuqrbthLJ2bpEawkzZLvDWYWUdDdmh9YhUBnnZOPj4otElHYbb5YaOcoXhNeddxLhVvZFKlNwRm5kIm264ME52Npp5eMXCdHEehXmZj41JkkTa+nV7or1nHD64c74OyharZ+Q2+FqgeuZbCj5U/AmJUzhyyazdij9INrMfhi38O9OlZgSo/FSbTReH11DEbW7ae3J1pOu5fXEQmQ+oueGblMpo2nVGwNYRvz9D3akxMUQbaurdwDhE3YNLD6lRROJg2hP2dM7Yt7dgOWJIATuVTLAeXgANhZachTTZdghbb3wig2ipdCuf3kgu6+BCTSdX3qrfHMvozrh9MGPKKbxR1uGsS/5piI5whQsdQgtKaiKpj/PMTUN7hHhuMuhFEXUWdkm80WS4pfRCxeNOVR6lz0QuFlnThg/1jTHoUchma43GGn53FIM6NKfD10S1Gj2tE6Lp26tHWxjqe1OFhgO4UpQHLIGHUJeFINf0USo2WgmFA8lzbcWUPo/boDU6r/40sMRqvxGQUYicGE48d0O/w7gtZqPGCHQtLqVgLJNetkbdrjgyN/U6/mgwFpZmx5oNYNh3GoT1xr9tsIKfoBDqPJz2ZRdavhU8JtGzy4LLTAhZsAXOoN+Jnqgm5JvaMlDa75V9W5Hf4JAwHM4TK8BWg4FOlS1s7vyJHW6RegB9t/i7Wt7TErcfn7m6CjW+oQWu8CgY4DXw7mAbqUkj9iB6D2Iqj4VvPTTL2ehOtW74fiavS67vQXUE4I5Nmo63pbiHzEmEJaXnfMq+89UseD6wX6vqYQITEROiFfFtEN8bUg2PEr+CZGxctky50o+A+lOOYRIlJ5YmMVCk7yZ5HvS1LMijw6/gjgf9nmHrnerEvjS7z+q6QfEb0sTOuhKI7di2UDjKCj72ldeMDPPd1yMv0z7WMdSIFauq6kHyyP0AERl8dAoIO+Dy0dS9Z29Iiugti6k6MaK5L4SuBAtICLnOI98gWTMQB92ucaywrTdgtBCTQENGFmI/oaf/rCVOXqXW8oVBjSIDQ2kHjuO4jv5YanhW2YNqyA519ZMYQXylw4zhCcrrWsR+xekVtkk4T+cqQ3gB78CdyN06V1NqrJm1IsA2j5Tb9//SVHmMtWz5F6RsBd5IBbVZFIKxsLCvSF5Wg8qg43EPqEgEadaXUhQ0PcejwR8WVU1XIKYrOl0lHsjo6z00eak18g0igQGyayXWD3NO47orAaNlHExOcxwyEKxwiqiQt4XoIBZOmRJO4InrsEaVmv7+WQhe9sw7byZuTmHm2bV0NDJNPeEXq7CV/ArfCZ27oFAAHi6t3ZFLC5p9ndYDsPRY9JeuUCdCbFFEppdtXN1SR+Y56+g/0DOcRKWfzPxWb1HzUwk/oKkuVNCQeyBJMRLwbTeAAsEkX4xRv2hnE86ZgV5HUa/gHRi05F+f+b8j4e6s++avhAo9Y3JWKX2lW2+e0/WTG5dApgSQzncMTyciqlRtzE4I5W2E0UZMplAa3/lNt45hdV4NdTWfVubpRmu/jwXcY5EkLs4RkMMSZsWaNs3btFhDjPdR+kU5st+pShUslDx1HnZN7HZfB5ow98WmPz/07U8JoJWTNFPh1Oqy+cxbQ1kMH7OQ3hBU/FPUtCL63s14Qd/jSh8oHRU5BdrRAbY1N/2YdU/4zWKimp0zVxCbNmkHhrkoJDpxtxjKUwMxFCVeWU73FX9OJYpm0o9aH3o9sXV2nn10F2NgyRord89fF18Llaq7piQOUUTKl8T+rb+cH1VMMan0Y6N4NYPIAqRY3jBnGh6gHxVeSfkTTdxUb9zCIwphE+xD95rT6ZkfYYKOwW/0uS5XayhU9xKUqTKqrJFWvBaf/JFpryDHpIRoHjMOes55BMgl6/ZjYrEIuAahrmtQ4Xtcr5bwF5cWwB3dNButh6Kg9lgpeLhq/+jqCgPgmAjdQfmj5sKJdfvTHytAdWqUwmvkGlKfRnd23i8KCJKCrfyCOA1briVltF71PSkh1KX7FOk4wOa2b+rVgzvykoniBPQRQyzpYMOHab25c5m++fGRSghieLtvK/RdZOh8MrGWYnEvxwrlz92nW867Hx5GbL0pBqXz5ZtL8hFfmGuepSX39JiaU5MHyebeq0NDQIi41UpWwCM7ISIBu2CpeZpTw3EtlxH/TYqRUZS8snAdw5XOtmpmkzrf9u5QNM/MQ8xC96aC5hJb3pCuhZXlUvoFSKTSH/1tjGpO/wiYNqq1wFa3n6O3yITU4Fo/N6yZME+SJKgRjQ/ld5KLtKtOTpsioz4RJBrltd9UmqsHiQPMOXbIJIHWfSxk4sg4zPAIaAzXscMJ9cYh99HzDbCYZVLWj9D3u4U1lRa0O3biyJHVL0fYCuwHkVongFqji4kDiU5Gcqg4bceBdLXfPUzOwdK25tDgRsmdeqfXywmfn3n5ITuMSXK6bysWypD2NkzBbB9zuTnCnPH5sx1X2iJpxofV163vs6e9XPpWcrwOqWsb91ZqemvI/FAYoX8O5HXGrF9QRdW6insiy3kTnQtbkj7nCOHJLBaNTsy++5t0+hqRwwdouOl08VOgn5y6gmAMZm0dljulBUzn24N3PWDCwSHdA1H/ZOuQQYAw==","page_age":"5 hours ago"},{"type":"web_search_result","title":"AI News, Updates, Products and Reviews | Yahoo Tech","url":"https://tech.yahoo.com/ai/","encrypted_content":"Ev8HCioIExgCIiQyNzc5NjY2OC03MzUxLTQwYWMtYWNjNC0wMjRhZWU4OTk1YTUSDIMox7/RgzEhM1yVWhoMw8akKxSmCHZpk0diIjBmuqi0vp81qgnPLxYkw35A/KqEpwBObuF6hAdPeRd6Fh96ekSdyVP197jtIg6npdkqggfcLSuevfU697/WwLZmQgeqIvGQNGS5K8OshxNMAdxGkXm/l7I6eQw+8sTXhlwlgDeANy4DxKaTDgWLWrpY30pJ/eVUxgEMWc1x16A3DYixzSXfXtBTWe0w2IO9ceXGjDqlVSFsam2rtzw4rO8XvyALeNLT6D2NIFB2PUNUqIeKDjdBfKhb037dDMbWBgIzGv5OX5/iMvq4CpFfRZImw9MRqivELnre6wLNQfaOuTpB2I4HqMq5f7NsrgUYUUoodHHuqcIE5AtS3i5nb0fa1Pm3oj8iaJ+6YBmNd3FidOH0/erLgx0mBIzbiK53TOIey7XRPlmezS+JafSo5ujHaU3y7faZ/J0ZDOur6wR/A8gYwu37YO77I4XgCPS8u+NRcUsowa9DRH3YqDkewQk8ALNsMzvBDMSK3rH34Zjqv4e2bhOrxtCorRpfp6Ma9fNnzZs0SDRHfDo70Ud/ObVMMGTl0WsuSoTjApKQvFm7rf9rDD7/KgsIQmGFMa0E2SyNeObODeihXFcAV74IOhEvd0MftMUzliIFU6pxG5+1h+x9p0lBrgtn2sV2Xv1ooOKbbdMxljEIKUwer/CbNEVeR0nOsH1e9u/pXkD9QRIDcNJW6bI3R808lp/7+8k5u/O/1vwzW8c3zgnlu3w175uyQCiaVj3fSseIWb7OP6joxCjkGTOmaa8e+2Ts9gReIZDNYbF+Al919EAO1T6x1bIBb9sL/Rpm8th1riBxT8w2yQz6nL5cUpmOulb0gzhh3zrgSpC/0RvrMSjEaT5Wo0x8LopqIyjQusPZ+uMkMYmNmO/Snav8mRlyiBLiYke1cI+XaSQm6L51ByNFnGB/tbhEuUQLlgbQOV3BeNzkIE6bYPVNJYnn1SS5M08chfyjzZf+LV9lVbPxzso0xp/O9SlOkCXRqH5xCNwM5T1ShcYHT8UxwfL0PtCH6scUDGteaQgNfe7H4k/3TNIJAiYXdZVJd9rOQtWMfgWUji9tVjek9+5RnL4/TGpxpmjhdaHm8h+Mxo/Sn3maAAg2XqAUMKm5PJVYR9c1ujSxHtKAGiVpB8yTjfSLj4F5CzetADaC+8bIbYTSKlnHQvCEb61k6TBqJS0HNScKKHxVgPxALYtOXw6kBAfBtwBN8AJ5H7mpcdri2hsRmwnTAd4186DHT+HTz85qsqDo/afn/dZJFKP48q6GLbTQGAM=","page_age":"6 hours ago"},{"type":"web_search_result","title":"The Latest AI News, Insights and Reports | AI Magazine","url":"https://aimagazine.com/","encrypted_content":"EuAQCioIExgCIiQyNzc5NjY2OC03MzUxLTQwYWMtYWNjNC0wMjRhZWU4OTk1YTUSDFvqM1xvW6wu5M4i4RoMParK3592g77DCFvHIjCyl/BEiGucR4SXw++Z9VbJnbbcMeGSawgnxINYB2LPz3weO2whzbM711kBAckq+gUq4w8VOAJOaiq8R8zHe85E6Y4sX8+etWu1ZoWrB+jnK7vV6TjKRr4XeL9K5wqwPeG5ANIm6U4StZ7Ip0TqFU0XTsTpIFPiTNVh7W3CJmRL0Sn3KLLTGG5JZbZEUur/ASKI5/6W+iT0/j9g1CLU30OUrZZqOc3H6bJLVVO2RljmQjXhTk2BIUmdLVyI/bw5fWAgf3X3JALtUk25X6BlHv4zxrczQRltAMoNpJgCrqrtxSRlBnLj/YDr8L7POGULqjUTPVPESAvNE6WFYqOjiie4NiW/PzOGXxlkg4yHegqNulMjQ2JeaBgMGiaIYfqDDe5iyKdLfO31KsaVdgvNtiJ3nwumpkkL16NZy07qf/ypyIHhqwvBWzADr8BRoP0HQBUjlBZ8VPnSWRCot/f27udxChMtL7NYuQ+x+WHZqnvxpE2pCXj4pIabYHovXquS7pG9tr81JwGHGH+dZ6eFKnUts+1MbcUERKUt8J81eXeAiMJblaR4byeYS3FlO1XgAyhec0sl0Kljutmu3laOyi1Q6U5D9PjBEwuWfNat/ha1uG7MpSu6VKBmWMYeutWKQNendWKamoc/IqQTcA1NbFdgvxxWy39AcckCuPoFLqDUZ2CDgaORDL7uXn1uprlWFkRj2dZU8DKSLs2R+lAdr5maVNvsWKOvZm/+eAE88MhtL/VP27+knADd0RsQWgjm9UcSCvH/SC/GrRNn2Nd39uiZhM/lR9VNRpyYvzPy7vOyk/K2plKd98ZSK9xiBd4KONUCQ8/Tp7tl0HI+5goAF/ZqlrbzCfPp907eYx3IFBgyR/kQhclRp6fnOGQSdIsEQq7vuMRIZw+ujKWPBAtibpECfl67M+CPfFGR22GI1YQrOOuRg6DNKlPD399OK1osYlKRu7o/7HXlWG9mMcBuHLCw8rzB6N0vhA0301GbdCYe+u4rYttzr+USlsKzgptpS8Nw+gVFlpl66GeeMVbf0azINNk0vAncvDjW2o6SNhnLTLZbfPWGy3KLrY3ztVw2LkfUdae+mdTQ+GF8PPKQ4QI52OozTNlarKKIXnsUwwqL5ZPoIU+gt8w7A2Ww0/aML0aaVWDI75IuUWu2mOeMgsaye+RzI0ssohrhDA6dfcmtsZ/Vie4pNVE6QephP5jC6bKg11/SMh2hblodu7MFQCOd02mw/JInc0KVksfl7bZlkIIPHM7bM99HyUVlp7FgHxtG1vm/DRVT5+he5Wof7dW4yBgHKeKfuscJT7wD5dWdhPjgk72ekO27aMWxVh/FbTahq0epuFmp4Y7CD1DZHmv8M4u8400d5UbUVMkHOQ3aLE+ssFIRNEajJmVIBJN1w6+nTrw833nRaE1hPrf+nOq9fOCeqN5lZNFgPTqE9KclvAHgMMb7qdamJyKLrpnerGeAYNx3I+kBo12eTDja15eya6zbLcNg/UEcRRbWY/v2bD0TprGZ90Udq2zz77esVlz9nh4ma65ID0hlJaAyPgRzNyiy/AihUm0vXfQrov+WC/xeAyryGnA7AOMDxOr8sQfAzUxs1AQCzCPIBZHqUU54qs80HXr99PyNP2QSTZ92JEKJuWSElDWy9mOQA+aTrj+SQamxu0iCxn3gTacqv3HLKQsIxwYGjomTuN2aC0YXhpmgR4hMWLbW4SjVnUz994ka+bbK2mroPyiIbHtq3fkb5/SskwY2iBAPvSEDOjj+2tY1oumNGBnWtja8mqOhutXD9Sj8KS+VPNzWYZEFEHSA4nTosrzb3i51CyTOuIEweZgXlbMLJGraD5ppLXFi9IOjbPJ3w70oZkicMW0DodnQ+mcG39dzbAJ4NRLoOW7YaLhk33JR2tI6XUIydOqEWnysgsdR5Opv2gXYXmNEYF/nHeD+Nj84nNmJf4E3AvzG8GCA+HZ1V7vt/W+V+Qud+kdYC7hUtR+CtcLSSjoHkXRiEeuCWPVMUGAyn3L38B+Dn//i+9XisD8EoFJUYJPmQ1e3nphI57pM+spJMrpMY0O7jcmgDpwQ+zNV4A0QfZA1mvcTkD7LzitswclZaPe0/iW0HmmNyB5OAOAFiXQOETnCe8AzeMP/c9zihBpyIAIn0zGNNofhBH2jug5ziQz99a9VXLr260jQs12AgtGMQkiiVkGz2gRcx35BNo9pCKjmVrFI1GKM1lMxJs7Yt3SAiUGuZHZnunJ1DBB0fbAdSd6LONF+FAcRBWIh/YhCA6I5gsL5cT+T+dPmgbrC6LaTIbb9G5pBppEsgpJSQenFHCLwXaqZ07s2j+nXsM3Yi0CqNtdzf/P4AhZD+lY4+w/YQ90EjrG4V5Pcvn81gfzBZbtrdBYQH8kIh4BdFpAr0yznTldGYkUz6FT8L2C3Pt1yYcWRJ+a2dbdost5kPNS79uewKW/qGXEE1X5gk1/H5lpRguBh1UkZ9GW0Wi+qQmTmzCjkGm4tnbLp1/yIUekDp+xvTZGBfs++43mXjbRfNdpFjEsBkMu8tKXHMljh/Nh5pOk8OWdqEmPB5rElmZ2Q8cExhoTvUb2FrPKxyNcv9TFhpdA0ScZAI4rii50VdOOtjU6vCfbrXFN/5CcH/D6kaMfGBJfX1oj3+w+MLfT5NT0kZEzd9U9lTTy7gELcZqKv8ineFQ4Z0/fH5YaS6HwdXMF56ti53G1+hvuk42KgsmNrCWOhTkITroXGhpsZgKKr4Ny3/CIbccMYAw==","page_age":"1 day ago"},{"type":"web_search_result","title":"AIDB Today","url":"https://aidb.substack.com","encrypted_content":"EucCCioIExgCIiQyNzc5NjY2OC03MzUxLTQwYWMtYWNjNC0wMjRhZWU4OTk1YTUSDDcCpTw8wzHUDIXuvhoMT/aaopDeAzcuDPEfIjARuWTZOimqV3777CIhFqXdMCrno8+WujqhQPJiCzBaUtGJC4Ugd9i/y0M4JUGRbwUq6gEW7ihurLwGyu+pG3USqORjmvFcRuAmEOGaguyeLo4VLVWoPJsS1adVrTjpJ14DPcuMb4kAYLeRLthT14DB7BaViITddZTtClEO30saUtQCMwCijGriLwPuLKaagULBYJjDo13BvK+FIeQWbDFNDuS3jwlDgixRZVhxblkOw7H/0OQvx4dxsVJkNoN6baJ2av2Mn3BX5PSFdG4LQ/GOn86rHfq2WQm01Fz+nw/gayyn9qdiDELkBhclaL3SbMQONDsB52ncs54XKIvtanpDZ8chTTHaCTPACPf1VT4wucEOQ6y7cWfxxdztZFAYAw==","page_age":null},{"type":"web_search_result","title":"artificial intelligence newsletter","url":"https://www.foxnews.com/category/columns/artificial-intelligence-newsletter?page=13","encrypted_content":"EuAQCioIExgCIiQyNzc5NjY2OC03MzUxLTQwYWMtYWNjNC0wMjRhZWU4OTk1YTUSDPrEsTD87EQadMkzLxoMNoOcqAtdqJZROy8NIjAjvXyVOKWJeP3DtqYJhx6XKbqL08NCECLyJR3ZvxovWB9iBnGpqmLaBqVMfS+AW7Iq4w8970yLBPjzgk+KEG31JnQq2eUQU9olSokzODkqueAUcCVBR9Gb7CtG3JNFphqZtyafRz01X4S0/C0j8Z0k4HznRgZJcDBMZm+2o8s0+ymx/4nfQMEEFSMagMyesWPWdiOYSEg1T8goHEATOSgrrCRoMbf3/pXqbMxzoxuKfUAs8lxy369VSbaBoGg4aGbCsrM89Acmv9aY69j434QHlibVxbqn03oPVhk6xpxMQQmHIgDUQGGq2+LDityq+/dZJIlawMNpyutSQCkIzCF2e3Ss/5R9vQJQgk+zONmYtd7MXHqmfDZr9CUgHmZp9vYNAugbeMW1zJLXAHSZj+jqIQXXS+0jVo6V3ZD8/wgizt8tpgFJZedpjUWtrcgjqKf9TVw2lOCmC8MFJ9zDrFeRu9qMH2SWuXE67tzcjytTebPwlO0cZaNpdnINVxFsVgFkBb1lhx7aMmphA1hKntZBzINmnzYd8oQIp/gAeeVdNEc5JPDpZyPa/JKpIkbG5WF2RADqPNixZaS/rJHzXzfvDJ1pBOOlRwNqqTZMV34LZ60IiywtGSl7TttjopczUbFOcjVwkvd7WVQ6oJAs41nFlslTUIMZ0YbhfNxwqoBc+4MIKnowGnWtMbXit2GROLLxsJWtUzMutIq0eBgN69xUhF+rVE5yqe1/cw6hJ4VP4Ztt4BmT4haZKVw0CTJtQpxyweu1UfGNXijPBHSkrmdBchok/isuCBGplvbrbsT+S2ZkRYdnB3i2T8BHWvKaamhTNALCRht2aWpuyWyeP0mS2TRXebQCa3nSIQb1tt7VkIDH0aVpX4/FecZQ6Oa5TGIanbuaab3Wof+Zt5btatg8FdgLhAcU7nGAIv+FK9PEHsNYITdz9u4HakYZ15QsLplc0vgP0ofedELmdj4bMZMUQuB7ldrKaCXSfInqPa0w1qFXJRRp/YZ3UOPLL3iJx9lndMWlg6+Sd1XiMgtweg+NbnhAzW+/990J4svAahpMPJhz7C6QK5LiWPDY2O91fXCP0FC1WDSSUGC1q88KvqPMYJSvfaSiYBr5kihFb1O7A981necoWf4S/4RGJvJw74gCHAwW+2e1gchdo8GEGBp7An9MOo8j/2FUiQZdefr4fWC+HQa8Jk3quy0tdlKIxlBsewgNHIiNhS/ofMKCeAuLKqcTTKNj+DzfzAxWwpyCSdSFkbXTakAOcUFa2rWscxfm/CGJf2gQX49oZTF/FP9/ePp0AhrUKPxcpHE4BWqdcrtxtHvQ83DKUdABE+JeSIEB0Ls/3KIINjf5iBeIzBGHxilpzIR2swhA1aPhvM5sVHskOM/Tt5Xa50GOZImxzD8gQPi/WbAKw3Bjm5jzXmqMpDMTYqYJrHs2rGLRQC1aUD1QeeMj6W3QRqJ4R1P48TjwtxiDO3Zplic2fc20obV86CdMEiWwg241t2Bu+qwEv3vHz3pvUkHslyuXM/Rg9Er1cgdsKFZBdwQY9BD1/alXjKU8EaqwSV5XwFgS5dTvvh64ghxc4VolVTnuCym1hFq2admWlRn3dT6tYtpGA0JddJm1QYTUQ76NKrREXzuFRflV+WGqNKKqJ8cF1tksOx0sH2j4hZlw9orbbX9unqJI1SD2TVUpYWsJ4bSEr4SXEbkc1Oc8iDRIsobBuDIkhd8PL/XRwB9/bCLaya8aMAeImo08X7E1vP7HzrmOBGUFfNLFbnHxd8aeogqt0pWLKaVC1m7uOo2EpFbkzOtNIcXT2A549qxneBqWHYHdmm4cDIWgU2VqBA4h8FbxJrfXQXSYkpvcFHIhtb8qgS3CUbYz+U3Hx839+WCS9xjmVzgGbm5H05zkgxRJC3Wz+yVcZNtgLgGTMIkst/gRsqoxO2F6QBMSfRh3B38SSmI3OBpPKoGZ00EsSK29MlICNnq/mkOtgDiXiZAohjgDPLi5zTuRjDz+d7MfH27WL1P7yGg/H/jhtOBS+lOi6nH8nO2q3IPE0QDQrgfATyd2hgml3Adr1VYLrScUU/rxjyUeZ3atpuz7SN6bY3cw66QIyHwExG/a24skevrKo/eZbHX+qeyZX53xjGhATgapwJI6H/+itgcQRogZ7chDJDXi7gUnqjBfil+5ZYA7Iks/F62BRC04zAXJ7xfBiRIesTZQv7pEExUr8Kw1bdwEE42Nyv1ctHEV8fEZHK5tcAQrcMvw7h8d1/5Trw/P41AWOV2QTRh9KzaqUp3msa6Yy1Q6VsYdPVmYhFdbXA1slaETuHgGedHPIiTQnnBd7JYGpmU+KMz0iDx1z91RYETn3sRQz0T52s+2CE774gHcd97jeHWcDPv8i4VigvH0i4Ir+5xr5yOvDuvRc1TV/74/jj6l6g4whS5kf66VmRXCz6Osn1Sh9vgYZblbuC1HzljaRrsYB0Q154nK+BbMHanFEHVUzGoD+76UK+Zh2yZ8oUPLtDN9iX2QYSw1GPqNRIa6IQQ+M3fzX6rxRRF5z0TTNXzRbJ5uN49nia75BzRoY6DnfpZhyl68SiQJIo+6tGDXWaJZw9UNMJAKAiOrmEdls3luEw5ChkeYa4Fym5a2xn1/iBCkEXMx8E2h1ctdJRLdARGoYWJa773ZE6xCw16ntfXPx4SsqcVhRgDcF3AA2FxpzOgy9n56sGmTRmINKayAUxfHV+yaZvIRD5UbsUpUXCWJKjdE7jsYmKkrjXUYAw==","page_age":null},{"type":"web_search_result","title":"artificial intelligence newsletter","url":"https://www.foxnews.com/category/columns/artificial-intelligence-newsletter?page=9","encrypted_content":"EuAQCioIExgCIiQyNzc5NjY2OC03MzUxLTQwYWMtYWNjNC0wMjRhZWU4OTk1YTUSDPOgBZgk85IvNDxi+hoMI9sFH5rdx0Bq4Ao0IjBGQdb/B2/CKbu4j40F9fZntht7VdFiTOXqvhLE/ZuoBaj8rtGbeLfZrWuUF0kp2ZAq4w8BPjjT7CgU4E9nFaE9FylD4VilMJ8/3LAZeS/vgKy4gZKtwwMcFtlQdaNjO2ep3K6DfOXYPAUUBMma5kDqgKcID+Od4pn5NgGgjZriXqzcBX830h+LdySCJXTKpKRvZzkFHP9HzAqGgK8ZBDuBQMiHSHZqC7oGBIG7SWsqcRAoQXfDyoh3iml8qmh8ZuB4X6LImXElK4UMY9b8+N3b57s7kGM6MXG3P0I2h5FGuJSbjHWo/VkTHiDgjwSCfoyvWF+3AZ8Q2OMdpZMBBp2hgqPkZF5QhebyeU8xNF/YuFrTTAzBRJieVi+BoDM5GlKoB7UKax3j+YYIKfxOvJsUnCCEjTo7+jLxmwQoZyzCd93DTPZ8lA3EKD8EWKc1q3hCa7LwWjY4B0h77AxxrrEkyFlM4WzkRLdigR7LuUdBdPs/LXRCo5n2yDkYX0N81y0aynH2NohNGgNzn015t9p3FY3US8rWe3lJQslRqjABcNkxmL0yLaKDbiROIGSHryUZ1pmury8MjFcO1WTzgeOm3FUTP/ibjgpNVNxJGeE5RoxKXjutPRDi9jZGNqPGDzFW5l0Y7mfB4lbJ5FqvgI1kihKIO0b9FzS4GsLyiK3+GrDqK0zvJ98ym+VpFvj69sczMKyWjIBGpbkBsGdbmIhFzVAxSyZ+f8/g3Cs5BEYK6agPmVr3g7tOiwTMcTDTFd8j2RyDDiFRPJsJdB1q6GeawehnvgVIHOJp1JaLkmvBn6HuUsaSdNGsehCKRi9DuGyz1K0Qcvi54+UDqTuH9OdqEnBbgFd8VBvvDF9UcYwrcSO+1eS03pMrQ4IHJf+7pjFMfPfeOFPnWI8W0UFjsZjIO0o6aDF+4tKnhaiIR2z5acsmVLGvtUtBWrpj11qqj3+UZ3BUqvAraLxN9Ywzry67OAJ8g4tNPlzrmox9BqTpaCsNBKx3BfskIeYWcIZtfQlU+HeHOd3C5U4jVZHXShc6lq+WvUlY//rh5mY2qa2RdJq1OcJ62B3eEIuS2XB5jjKvadvSSVptdOYrbcX1KM6psJ1llC6WAXo58d6xLuPuLRAZUdKbK2HXd0Xhi9rbGRxtKdSSTJ0HVzVnxRCGf2WdhK4+pkVqO3QbsZZEqc00VqthuX33GmnYJjte2tqo4hHML1U2+k/2hz+IWl6dEOJn3tyQzi3GVjSO3sfVN3U0CWaZzo8bwUlwmtWYvJF8epBXndgYABAAbNHFZxh/rdLQUveLNM7lW39LXmz+FxY+k8Z3K3aRcD63exl4QRKcbaxoo89NHPI6LWLCGLB4CNm9Z8NaierXM5EpJP34zjlTwjo0zxjMA2VNX10WMPIVfxsf6b+Zlmu2U3WvFVTuJkqkrcS9vp4yJhdqQPIY4L/O77SqmF2U6VeYoWoFbKEtbMdHWxKFNluYOM0skGtyKFhVwh+hmG03H5Eo6y6fyZL796nR5a17vd1JssYAz1bvz9yz6pEnG2a5Xut9rT3z3m6I0ddmAdp3KCDwhTA2L/UYbvutMWUh7iaaOgOixg0dkRc3Ge61nYok0/9qXmwRI0qBAl+FQmVCb1dZ/NQsSfhwVsvNkNfLwPEnrDDcuVr7XwMzpJE6vRONUGhVXd6/yuJIFCvtD3VCraPzOmh53pW0zyeSP3hZE4u1ool3Sxa8Nieo6P3Omfn8q+DOlb2R6CjB4OacbtWE6/RD8ZKtU+ftlF8yUkyKLW4OgZSkZB6hBB3+KYB2S4sdKU0M3Zl5corPKXCtvHQawdyOAAgH4S3BM5M73mRGl4l0WPEpTT0pLzODa1+fZoPSuST8mHAfgLKkjT+HG4jzFee9IVJXnf8Wy3ui1AYdQhTFh9PJCqbhyYiDIDVfh8B9l1RBO/BtfefKLnZHD5t7+kzJYShJOc5GaPi8/9cbqzHKPqQQIOXkTsxWaqAN5LVB1Xy0UMeCv85TYKSMEU+mn7X/lWio2ws/6ujlZ14tCdg9LU5TiXJsYr6AnEE/PXpuXgjkjDPFHq+CQBOXmVIOPPwqLz3WPU5v9uQKD9ufuhzfjj8GotwxSautTs8C+Tnk9hCR5dnnEN4MghauvmFTzpJa6OOvs6EKO29HzJ3YtiPBTf7qA7GftgQg1Ep251d/obe6nzn1Btl842xBJs0mmX8PO2VWQvqeMs+GwT/5YfnDp6iJHzv+iySEtyZs9jA60vppZlPoYd0FyFYN/7nmUMq7x7ul0IDrPtBb7HBGN/rKWWPondLahWBx5E1DWoFBSkxL/L3CUiRVOMroY0/HEiJeU/41D8dD+VZIBpzV3CdjSvfg9KSqprWUI7lT2gxVf9w9ljNdvmcti+tNI5fpK/MrFVWWtxMfTxMt7O7UgNTJnDLk7joMAE3vcKh8Npfj9joJc43uD2aQG2CVF5oplvdF0HCyWKLd+GWqe8F9bHlVwIxwqW4biKxo8Ebf0VCPbSmb2IuKtdMgmMqQvGwGTeTTol/i4h/xImsQz+vGLEm5Boutgc9DjhcFRxqhien9ucyiWRBYwL8v8YpCv3IQIEeyRrnG/a5RvpcSS4WYV4EKVj5Ngemr+ZJ0hQDHvyIDUj52ELmT5tPOpsKZ4qKwwbkAbSRHmzpDLeyQSNWwBxP5PpVoVEDCU65koJYO8wsEh9tKbcBqD5//ApEo4936eZ2V0fFm7efWS+jZxpXk6gGB9O1jdT7uERMqg3dxPNoYAw==","page_age":null}],"caller":{"type":"direct"}},{"citations":[{"type":"web_search_result_location","cited_text":"Meta is updating its AI glasses to stop recording if someone covers the capture LED and cracking down on covert filming and harassment. ","url":"https://tech.yahoo.com/ai/","title":"AI News, Updates, Products and Reviews | Yahoo Tech","encrypted_index":"Eo8BCioIExgCIiQyNzc5NjY2OC03MzUxLTQwYWMtYWNjNC0wMjRhZWU4OTk1YTUSDNAhfkEkyxF9kn/q1hoMqjgcUKr0V29W+D/vIjABt4oVJQzUfvtTUAnpK7u93Mm1TBKfOeW7NW+JzSofrd2ePCus7WWuDjqtT1QFAE8qEwQAH7FBPuBGxTl5gt/lvhkZ2WAYBA=="}],"type":"text","text":"Meta is updating its AI glasses to stop recording if someone covers the capture LED and is cracking down on covert filming and harassment."}],"stop_reason":"end_turn","stop_sequence":null,"stop_details":null,"usage":{"input_tokens":8615,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":101,"service_tier":"standard","inference_geo":"not_available","server_tool_use":{"web_search_requests":1,"web_fetch_requests":0}}} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/anthropic/__files/v1_messages-ecd70db36f85.json b/test-harness/src/testFixtures/resources/cassettes/anthropic/__files/v1_messages-df70de7764ec.json similarity index 73% rename from test-harness/src/testFixtures/resources/cassettes/anthropic/__files/v1_messages-ecd70db36f85.json rename to test-harness/src/testFixtures/resources/cassettes/anthropic/__files/v1_messages-df70de7764ec.json index 85ca7fc2..781324e5 100644 --- a/test-harness/src/testFixtures/resources/cassettes/anthropic/__files/v1_messages-ecd70db36f85.json +++ b/test-harness/src/testFixtures/resources/cassettes/anthropic/__files/v1_messages-df70de7764ec.json @@ -1 +1 @@ -{"model":"claude-haiku-4-5-20251001","id":"msg_011Cd8YKWKBQt3WBG1wWmHA3","type":"message","role":"assistant","content":[{"type":"text","text":"The capital of France is Paris."}],"stop_reason":"end_turn","stop_sequence":null,"stop_details":null,"usage":{"input_tokens":20,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":10,"service_tier":"standard","inference_geo":"not_available"}} \ No newline at end of file +{"model":"claude-haiku-4-5-20251001","id":"msg_011CebESDKQWd9oh1mkEkKGn","type":"message","role":"assistant","content":[{"type":"text","text":"The capital of France is Paris."}],"stop_reason":"end_turn","stop_sequence":null,"stop_details":null,"usage":{"input_tokens":20,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":10,"service_tier":"standard","inference_geo":"not_available"}} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/anthropic/__files/v1_messages-ebc50622068c.json b/test-harness/src/testFixtures/resources/cassettes/anthropic/__files/v1_messages-ebc50622068c.json index 6670b45e..82650357 100644 --- a/test-harness/src/testFixtures/resources/cassettes/anthropic/__files/v1_messages-ebc50622068c.json +++ b/test-harness/src/testFixtures/resources/cassettes/anthropic/__files/v1_messages-ebc50622068c.json @@ -1 +1 @@ -{"model":"claude-haiku-4-5-20251001","id":"msg_011Cco5UxDx3v2qgnEJaH7EB","type":"message","role":"assistant","content":[{"type":"text","text":"The capital of France is **Paris**. It is located in the north-central part of the country along the Seine River and is the largest city in France. Paris is known for its iconic landmarks such as the Eiffel Tower, Notre"}],"stop_reason":"max_tokens","stop_sequence":null,"stop_details":null,"usage":{"input_tokens":21,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":50,"service_tier":"standard","inference_geo":"not_available"}} \ No newline at end of file +{"model":"claude-haiku-4-5-20251001","id":"msg_011CebEz9uAfja6KnFaam54H","type":"message","role":"assistant","content":[{"type":"text","text":"The capital of France is **Paris**. It is located in the north-central part of the country along the Seine River and is the largest city in France. Paris is known for its iconic landmarks, including the Eiffel Tower, Notre"}],"stop_reason":"max_tokens","stop_sequence":null,"stop_details":null,"usage":{"input_tokens":21,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":50,"service_tier":"standard","inference_geo":"not_available"}} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/anthropic/__files/v1_messages-ecc8763eb562.json b/test-harness/src/testFixtures/resources/cassettes/anthropic/__files/v1_messages-ecc8763eb562.json index 0f854341..6813316d 100644 --- a/test-harness/src/testFixtures/resources/cassettes/anthropic/__files/v1_messages-ecc8763eb562.json +++ b/test-harness/src/testFixtures/resources/cassettes/anthropic/__files/v1_messages-ecc8763eb562.json @@ -1 +1 @@ -{"model":"claude-haiku-4-5-20251001","id":"msg_011Cco5GBACywnKPEFZtkcKi","type":"message","role":"assistant","content":[{"type":"text","text":"I can see that you've shared a PDF attachment, but the document appears to be blank or contains no visible text or images on the page shown. \n\nTo help you better, could you please:\n1. Verify that the file uploaded correctly\n2. Check if there's content on other pages of the PDF\n3. Re-upload the document if it may have been corrupted\n\nOnce you share a document with readable content, I'll be happy to provide a brief description of it."}],"stop_reason":"end_turn","stop_sequence":null,"stop_details":null,"usage":{"input_tokens":1592,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":105,"service_tier":"standard","inference_geo":"not_available"}} \ No newline at end of file +{"model":"claude-haiku-4-5-20251001","id":"msg_011CebESYGvmW58pCysQjmVr","type":"message","role":"assistant","content":[{"type":"text","text":"I can see that you've shared a PDF attachment, but the document appears to be blank or contains only a white/empty page. There is no visible text, images, or other content that I can describe.\n\nCould you please:\n1. Verify that the correct file was uploaded\n2. Check if the document loaded properly\n3. Re-upload the attachment if needed\n\nOnce you share a document with visible content, I'll be happy to provide a brief description of it."}],"stop_reason":"end_turn","stop_sequence":null,"stop_details":null,"usage":{"input_tokens":1592,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":103,"service_tier":"standard","inference_geo":"not_available"}} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/anthropic/__files/v1_messages-f60cef52b21d.json b/test-harness/src/testFixtures/resources/cassettes/anthropic/__files/v1_messages-f60cef52b21d.json index e9bf53cd..5588c0bb 100644 --- a/test-harness/src/testFixtures/resources/cassettes/anthropic/__files/v1_messages-f60cef52b21d.json +++ b/test-harness/src/testFixtures/resources/cassettes/anthropic/__files/v1_messages-f60cef52b21d.json @@ -1 +1 @@ -{"model":"claude-sonnet-4-5-20250929","id":"msg_011Cco5G2uNUL2brrL8ndWq7","type":"message","role":"assistant","content":[{"type":"text","text":"The capital of France is **Paris**."}],"stop_reason":"end_turn","stop_sequence":null,"stop_details":null,"usage":{"input_tokens":12,"cache_creation_input_tokens":1990,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":1990},"output_tokens":11,"service_tier":"standard","inference_geo":"not_available"}} \ No newline at end of file +{"model":"claude-sonnet-4-5-20250929","id":"msg_011CebERxMkBKgAs1wrCNGyz","type":"message","role":"assistant","content":[{"type":"text","text":"The capital of France is **Paris**."}],"stop_reason":"end_turn","stop_sequence":null,"stop_details":null,"usage":{"input_tokens":12,"cache_creation_input_tokens":1990,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":1990},"output_tokens":11,"service_tier":"standard","inference_geo":"not_available"}} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/anthropic/__files/v1_messages-f927033e208f.json b/test-harness/src/testFixtures/resources/cassettes/anthropic/__files/v1_messages-f927033e208f.json new file mode 100644 index 00000000..77a0c896 --- /dev/null +++ b/test-harness/src/testFixtures/resources/cassettes/anthropic/__files/v1_messages-f927033e208f.json @@ -0,0 +1 @@ +{"model":"claude-haiku-4-5-20251001","id":"msg_011CebESgJsYsb17Hg1aE8V1","type":"message","role":"assistant","content":[{"type":"text","text":"I can see that you've shared a PDF attachment, but the document appears to be blank or contains only a white/empty page. There is no visible text, images, or other content that I can describe.\n\nCould you please:\n1. Verify that the correct file was uploaded\n2. Check if the document loaded properly\n3. Re-upload the attachment if needed\n\nOnce you share a document with visible content, I'll be happy to provide a brief description of it."}],"stop_reason":"end_turn","stop_sequence":null,"stop_details":null,"usage":{"input_tokens":1592,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":103,"service_tier":"standard","inference_geo":"not_available"}} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/anthropic/__files/v1_messages-f948f576465a.json b/test-harness/src/testFixtures/resources/cassettes/anthropic/__files/v1_messages-f948f576465a.json new file mode 100644 index 00000000..21e07fa9 --- /dev/null +++ b/test-harness/src/testFixtures/resources/cassettes/anthropic/__files/v1_messages-f948f576465a.json @@ -0,0 +1 @@ +{"model":"claude-haiku-4-5-20251001","id":"msg_011CebESLUWqzcZnL57B2rdA","type":"message","role":"assistant","content":[{"type":"text","text":"The capital of France is Paris."}],"stop_reason":"end_turn","stop_sequence":null,"stop_details":null,"usage":{"input_tokens":20,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":10,"service_tier":"standard","inference_geo":"not_available"}} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/anthropic/__files/v1_messages-fa9b4d1d898f.json b/test-harness/src/testFixtures/resources/cassettes/anthropic/__files/v1_messages-fa9b4d1d898f.json index 81141b10..60855358 100644 --- a/test-harness/src/testFixtures/resources/cassettes/anthropic/__files/v1_messages-fa9b4d1d898f.json +++ b/test-harness/src/testFixtures/resources/cassettes/anthropic/__files/v1_messages-fa9b4d1d898f.json @@ -1 +1 @@ -{"model":"claude-haiku-4-5-20251001","id":"msg_011Cco5NjX3VXvvMuhNsiRbr","type":"message","role":"assistant","content":[{"type":"text","text":"The capital of France is **Paris**. It is located in the north-central part of the country along the Seine River and is the largest city in France. Paris is known for its iconic landmarks, including the Eiffel Tower, Notre"}],"stop_reason":"max_tokens","stop_sequence":null,"stop_details":null,"usage":{"input_tokens":19,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":50,"service_tier":"standard","inference_geo":"not_available"}} \ No newline at end of file +{"model":"claude-haiku-4-5-20251001","id":"msg_011CebEbgoPZyMmMoxaerLZ7","type":"message","role":"assistant","content":[{"type":"text","text":"The capital of France is **Paris**. It is located in the north-central part of the country along the Seine River and is the largest city in France."}],"stop_reason":"end_turn","stop_sequence":null,"stop_details":null,"usage":{"input_tokens":19,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":36,"service_tier":"standard","inference_geo":"not_available"}} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/anthropic/__files/v1_messages-fd3be93f9126.txt b/test-harness/src/testFixtures/resources/cassettes/anthropic/__files/v1_messages-fd3be93f9126.txt new file mode 100644 index 00000000..992dd5a1 --- /dev/null +++ b/test-harness/src/testFixtures/resources/cassettes/anthropic/__files/v1_messages-fd3be93f9126.txt @@ -0,0 +1,24 @@ +event: message_start +data: {"type":"message_start","message":{"model":"claude-haiku-4-5-20251001","id":"msg_011CebEd3jkH8BFQQ5dq4tV8","type":"message","role":"assistant","content":[],"stop_reason":null,"stop_sequence":null,"stop_details":null,"usage":{"input_tokens":19,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":6,"service_tier":"standard","inference_geo":"not_available"}} } + +event: content_block_start +data: {"type":"content_block_start","index":0,"content_block":{"type":"text","text":""} } + +event: ping +data: {"type": "ping"} + +event: content_block_delta +data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"The capital of France is **"} } + +event: content_block_delta +data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"Paris**. It is located in the north-central part of the country along the Seine River and is the largest city in France."} } + +event: content_block_stop +data: {"type":"content_block_stop","index":0 } + +event: message_delta +data: {"type":"message_delta","delta":{"stop_reason":"end_turn","stop_sequence":null,"stop_details":null},"usage":{"input_tokens":19,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"output_tokens":36} } + +event: message_stop +data: {"type":"message_stop" } + diff --git a/test-harness/src/testFixtures/resources/cassettes/anthropic/mappings/v1_messages-10af9cffed94.json b/test-harness/src/testFixtures/resources/cassettes/anthropic/mappings/v1_messages-10af9cffed94.json index 6b70a01a..f8cfad5c 100644 --- a/test-harness/src/testFixtures/resources/cassettes/anthropic/mappings/v1_messages-10af9cffed94.json +++ b/test-harness/src/testFixtures/resources/cassettes/anthropic/mappings/v1_messages-10af9cffed94.json @@ -23,8 +23,8 @@ "Server" : "cloudflare", "vary" : "Accept-Encoding", "anthropic-ratelimit-output-tokens-limit" : "2000000", - "anthropic-ratelimit-output-tokens-reset" : "2026-08-18T05:04:16Z", - "anthropic-ratelimit-input-tokens-reset" : "2026-08-18T05:04:16Z", + "anthropic-ratelimit-output-tokens-reset" : "2026-08-31T17:39:18Z", + "anthropic-ratelimit-input-tokens-reset" : "2026-08-31T17:39:18Z", "anthropic-ratelimit-tokens-remaining" : "11999000", "anthropic-ratelimit-requests-limit" : "20000", "anthropic-workspace-id" : "wrkspc_01J8hau4yJ2SKvtbeP9drm9A", @@ -32,22 +32,22 @@ "anthropic-ratelimit-input-tokens-remaining" : "9999000", "anthropic-ratelimit-requests-remaining" : "19999", "Content-Type" : "text/event-stream; charset=utf-8", - "CF-RAY" : "a2ce607579fe75e0-SEA", + "CF-RAY" : "a33dd0585d4c23ef-SEA", "anthropic-ratelimit-tokens-limit" : "12000000", "cf-cache-status" : "DYNAMIC", - "request-id" : "req_011Ce9dVavqUS3NcYEqM3JkS", - "anthropic-ratelimit-tokens-reset" : "2026-08-18T05:04:16Z", + "request-id" : "req_011CebEaujVHiLJdo3mCWt9R", + "anthropic-ratelimit-tokens-reset" : "2026-08-31T17:39:18Z", "strict-transport-security" : "max-age=31536000; includeSubDomains; preload", - "Date" : "Tue, 18 Aug 2026 05:04:17 GMT", + "Date" : "Mon, 31 Aug 2026 17:39:19 GMT", "X-Robots-Tag" : "none", - "anthropic-ratelimit-requests-reset" : "2026-08-18T05:04:16Z", + "anthropic-ratelimit-requests-reset" : "2026-08-31T17:39:18Z", "Cache-Control" : "no-cache", "anthropic-ratelimit-input-tokens-limit" : "10000000", - "traceresponse" : "00-e655b7e5083fed31f3ad8fe990b07810-425052d11c29900d-01", + "traceresponse" : "00-2373b1d4b170872e711fdb351b39e370-2272e1ddeac80ab7-01", "anthropic-ratelimit-output-tokens-remaining" : "2000000" } }, "uuid" : "78c9b5e6-7f0b-3c0e-ae4c-c0bf1dd6f61e", "persistent" : true, - "insertionIndex" : 25 + "insertionIndex" : 24 } \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/anthropic/mappings/v1_messages-11997f5f60ca.json b/test-harness/src/testFixtures/resources/cassettes/anthropic/mappings/v1_messages-11997f5f60ca.json index d2072c4a..28e57899 100644 --- a/test-harness/src/testFixtures/resources/cassettes/anthropic/mappings/v1_messages-11997f5f60ca.json +++ b/test-harness/src/testFixtures/resources/cassettes/anthropic/mappings/v1_messages-11997f5f60ca.json @@ -23,26 +23,27 @@ "Server" : "cloudflare", "vary" : "Accept-Encoding", "anthropic-ratelimit-output-tokens-limit" : "2000000", - "anthropic-ratelimit-output-tokens-reset" : "2026-07-07T17:16:42Z", - "anthropic-ratelimit-input-tokens-reset" : "2026-07-07T17:16:42Z", + "anthropic-ratelimit-output-tokens-reset" : "2026-08-31T17:39:31Z", + "anthropic-ratelimit-input-tokens-reset" : "2026-08-31T17:39:31Z", "anthropic-ratelimit-tokens-remaining" : "12000000", "anthropic-ratelimit-requests-limit" : "20000", + "anthropic-workspace-id" : "wrkspc_01J8hau4yJ2SKvtbeP9drm9A", "Content-Security-Policy" : "default-src 'none'; frame-ancestors 'none'", "anthropic-ratelimit-input-tokens-remaining" : "10000000", "anthropic-ratelimit-requests-remaining" : "19999", "Content-Type" : "text/event-stream; charset=utf-8", - "CF-RAY" : "a1787f9ee8526e12-SEA", + "CF-RAY" : "a33dd0a6cdd9ba45-SEA", "anthropic-ratelimit-tokens-limit" : "12000000", "cf-cache-status" : "DYNAMIC", - "request-id" : "req_011Cco5NcKDFxTWr3vaLxM11", - "anthropic-ratelimit-tokens-reset" : "2026-07-07T17:16:42Z", + "request-id" : "req_011CebEbqWWfXJX9mtJ3AWfZ", + "anthropic-ratelimit-tokens-reset" : "2026-08-31T17:39:31Z", "strict-transport-security" : "max-age=31536000; includeSubDomains; preload", - "Date" : "Tue, 07 Jul 2026 17:16:43 GMT", + "Date" : "Mon, 31 Aug 2026 17:39:31 GMT", "X-Robots-Tag" : "none", - "anthropic-ratelimit-requests-reset" : "2026-07-07T17:16:42Z", + "anthropic-ratelimit-requests-reset" : "2026-08-31T17:39:31Z", "Cache-Control" : "no-cache", "anthropic-ratelimit-input-tokens-limit" : "10000000", - "traceresponse" : "00-16cf073c586d12f5bf87152659486505-4b38c5e13e464629-01", + "traceresponse" : "00-d8257933612726372187cdca4bb41888-93aaee65ad5b85ff-01", "anthropic-ratelimit-output-tokens-remaining" : "2000000" } }, @@ -51,5 +52,5 @@ "scenarioName" : "scenario-1-v1-messages", "requiredScenarioState" : "Started", "newScenarioState" : "scenario-1-v1-messages-2", - "insertionIndex" : 14 + "insertionIndex" : 20 } \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/anthropic/mappings/v1_messages-2043d4c3771e.json b/test-harness/src/testFixtures/resources/cassettes/anthropic/mappings/v1_messages-2043d4c3771e.json index 45268d41..9b9409c3 100644 --- a/test-harness/src/testFixtures/resources/cassettes/anthropic/mappings/v1_messages-2043d4c3771e.json +++ b/test-harness/src/testFixtures/resources/cassettes/anthropic/mappings/v1_messages-2043d4c3771e.json @@ -23,29 +23,30 @@ "Server" : "cloudflare", "vary" : "Accept-Encoding", "anthropic-ratelimit-output-tokens-limit" : "2000000", - "anthropic-ratelimit-output-tokens-reset" : "2026-07-16T20:03:52Z", - "anthropic-ratelimit-input-tokens-reset" : "2026-07-16T20:03:52Z", + "anthropic-ratelimit-output-tokens-reset" : "2026-08-31T17:44:56Z", + "anthropic-ratelimit-input-tokens-reset" : "2026-08-31T17:44:56Z", "anthropic-ratelimit-tokens-remaining" : "12000000", "anthropic-ratelimit-requests-limit" : "20000", + "anthropic-workspace-id" : "wrkspc_01J8hau4yJ2SKvtbeP9drm9A", "Content-Security-Policy" : "default-src 'none'; frame-ancestors 'none'", "anthropic-ratelimit-input-tokens-remaining" : "10000000", "anthropic-ratelimit-requests-remaining" : "19999", "Content-Type" : "application/json", - "CF-RAY" : "a1c39cd89cd8b455-SEA", + "CF-RAY" : "a33dd895f93d75ac-SEA", "anthropic-ratelimit-tokens-limit" : "12000000", "cf-cache-status" : "DYNAMIC", - "request-id" : "req_011Cd6LQ8uZMxixQzABcMRS9", - "anthropic-ratelimit-tokens-reset" : "2026-07-16T20:03:52Z", + "request-id" : "req_011CebF1nwu9jkJe3zkB5RnA", + "anthropic-ratelimit-tokens-reset" : "2026-08-31T17:44:56Z", "strict-transport-security" : "max-age=31536000; includeSubDomains; preload", - "Date" : "Thu, 16 Jul 2026 20:03:52 GMT", + "Date" : "Mon, 31 Aug 2026 17:44:56 GMT", "X-Robots-Tag" : "none", - "anthropic-ratelimit-requests-reset" : "2026-07-16T20:03:51Z", + "anthropic-ratelimit-requests-reset" : "2026-08-31T17:44:56Z", "anthropic-ratelimit-input-tokens-limit" : "10000000", - "traceresponse" : "00-2dc93e01a1ea8d79b7b54950bde81861-d4aec612679004a5-01", + "traceresponse" : "00-ea266ff6ca7305a458572a4e8ca243f7-2f6245a4bb45a540-01", "anthropic-ratelimit-output-tokens-remaining" : "2000000" } }, "uuid" : "6d6c5eaa-6adb-3a92-bd0c-c4a7f836c7d5", "persistent" : true, - "insertionIndex" : 23 + "insertionIndex" : 33 } \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/anthropic/mappings/v1_messages-24749b216947.json b/test-harness/src/testFixtures/resources/cassettes/anthropic/mappings/v1_messages-24749b216947.json new file mode 100644 index 00000000..ea5b39ad --- /dev/null +++ b/test-harness/src/testFixtures/resources/cassettes/anthropic/mappings/v1_messages-24749b216947.json @@ -0,0 +1,54 @@ +{ + "id" : "2dd64dbf-041b-3ffa-b8d0-487a0aa85c9b", + "name" : "v1_messages", + "request" : { + "url" : "/v1/messages", + "method" : "POST", + "headers" : { + "Content-Type" : { + "equalTo" : "application/json" + } + }, + "bodyPatterns" : [ { + "equalToJson" : "{\"max_tokens\":50,\"messages\":[{\"content\":\"What is the capital of France?\",\"role\":\"user\"}],\"model\":\"claude-haiku-4-5\",\"system\":\"You are a helpful assistant\",\"temperature\":0.0}", + "ignoreArrayOrder" : true, + "ignoreExtraElements" : false + } ] + }, + "response" : { + "status" : 200, + "bodyFileName" : "v1_messages-24749b216947.json", + "headers" : { + "anthropic-organization-id" : "27796668-7351-40ac-acc4-024aee8995a5", + "Server" : "cloudflare", + "vary" : "Accept-Encoding", + "anthropic-ratelimit-output-tokens-limit" : "2000000", + "anthropic-ratelimit-output-tokens-reset" : "2026-08-31T17:39:45Z", + "anthropic-ratelimit-input-tokens-reset" : "2026-08-31T17:39:45Z", + "anthropic-ratelimit-tokens-remaining" : "12000000", + "anthropic-ratelimit-requests-limit" : "20000", + "anthropic-workspace-id" : "wrkspc_01J8hau4yJ2SKvtbeP9drm9A", + "Content-Security-Policy" : "default-src 'none'; frame-ancestors 'none'", + "anthropic-ratelimit-input-tokens-remaining" : "10000000", + "anthropic-ratelimit-requests-remaining" : "19999", + "Content-Type" : "application/json", + "CF-RAY" : "a33dd0fe9be17bf2-SEA", + "anthropic-ratelimit-tokens-limit" : "12000000", + "cf-cache-status" : "DYNAMIC", + "request-id" : "req_011CebEcsVMLxXC3RYRursGA", + "anthropic-ratelimit-tokens-reset" : "2026-08-31T17:39:45Z", + "strict-transport-security" : "max-age=31536000; includeSubDomains; preload", + "Date" : "Mon, 31 Aug 2026 17:39:45 GMT", + "X-Robots-Tag" : "none", + "anthropic-ratelimit-requests-reset" : "2026-08-31T17:39:45Z", + "anthropic-ratelimit-input-tokens-limit" : "10000000", + "traceresponse" : "00-83c37bb11948cc30df8f6471c18bda92-e6cc91f3f708abbd-01", + "anthropic-ratelimit-output-tokens-remaining" : "2000000" + } + }, + "uuid" : "2dd64dbf-041b-3ffa-b8d0-487a0aa85c9b", + "persistent" : true, + "scenarioName" : "scenario-2-v1-messages", + "requiredScenarioState" : "scenario-2-v1-messages-4", + "insertionIndex" : 16 +} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/anthropic/mappings/v1_messages-285f53811fc5.json b/test-harness/src/testFixtures/resources/cassettes/anthropic/mappings/v1_messages-285f53811fc5.json index 8be60269..dd666ae6 100644 --- a/test-harness/src/testFixtures/resources/cassettes/anthropic/mappings/v1_messages-285f53811fc5.json +++ b/test-harness/src/testFixtures/resources/cassettes/anthropic/mappings/v1_messages-285f53811fc5.json @@ -23,26 +23,27 @@ "Server" : "cloudflare", "vary" : "Accept-Encoding", "anthropic-ratelimit-output-tokens-limit" : "2000000", - "anthropic-ratelimit-output-tokens-reset" : "2026-07-07T17:16:48Z", - "anthropic-ratelimit-input-tokens-reset" : "2026-07-07T17:16:48Z", + "anthropic-ratelimit-output-tokens-reset" : "2026-08-31T17:39:34Z", + "anthropic-ratelimit-input-tokens-reset" : "2026-08-31T17:39:34Z", "anthropic-ratelimit-tokens-remaining" : "12000000", "anthropic-ratelimit-requests-limit" : "20000", + "anthropic-workspace-id" : "wrkspc_01J8hau4yJ2SKvtbeP9drm9A", "Content-Security-Policy" : "default-src 'none'; frame-ancestors 'none'", "anthropic-ratelimit-input-tokens-remaining" : "10000000", "anthropic-ratelimit-requests-remaining" : "19999", "Content-Type" : "text/event-stream; charset=utf-8", - "CF-RAY" : "a1787fbf4d4950b7-SEA", + "CF-RAY" : "a33dd0beb8eec39d-SEA", "anthropic-ratelimit-tokens-limit" : "12000000", "cf-cache-status" : "DYNAMIC", - "request-id" : "req_011Cco5NzZBFxcVv7gZvV4iG", - "anthropic-ratelimit-tokens-reset" : "2026-07-07T17:16:48Z", + "request-id" : "req_011CebEc7noJyq5gTU7ysneR", + "anthropic-ratelimit-tokens-reset" : "2026-08-31T17:39:34Z", "strict-transport-security" : "max-age=31536000; includeSubDomains; preload", - "Date" : "Tue, 07 Jul 2026 17:16:48 GMT", + "Date" : "Mon, 31 Aug 2026 17:39:35 GMT", "X-Robots-Tag" : "none", - "anthropic-ratelimit-requests-reset" : "2026-07-07T17:16:48Z", + "anthropic-ratelimit-requests-reset" : "2026-08-31T17:39:34Z", "Cache-Control" : "no-cache", "anthropic-ratelimit-input-tokens-limit" : "10000000", - "traceresponse" : "00-452502cca24672c87dddcc6043d8c4ea-ef7ad7ddd48cf54c-01", + "traceresponse" : "00-76301d6842116031520ec5240b8f077a-9fd262c7bc5562ee-01", "anthropic-ratelimit-output-tokens-remaining" : "2000000" } }, @@ -50,5 +51,6 @@ "persistent" : true, "scenarioName" : "scenario-1-v1-messages", "requiredScenarioState" : "scenario-1-v1-messages-2", - "insertionIndex" : 11 + "newScenarioState" : "scenario-1-v1-messages-3", + "insertionIndex" : 17 } \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/anthropic/mappings/v1_messages-476c4a4ce15b.json b/test-harness/src/testFixtures/resources/cassettes/anthropic/mappings/v1_messages-476c4a4ce15b.json index 0f0f3760..a8c76cdb 100644 --- a/test-harness/src/testFixtures/resources/cassettes/anthropic/mappings/v1_messages-476c4a4ce15b.json +++ b/test-harness/src/testFixtures/resources/cassettes/anthropic/mappings/v1_messages-476c4a4ce15b.json @@ -30,29 +30,30 @@ "Server" : "cloudflare", "vary" : "Accept-Encoding", "anthropic-ratelimit-output-tokens-limit" : "2000000", - "anthropic-ratelimit-output-tokens-reset" : "2026-07-07T17:16:41Z", - "anthropic-ratelimit-input-tokens-reset" : "2026-07-07T17:16:41Z", + "anthropic-ratelimit-output-tokens-reset" : "2026-08-31T17:39:27Z", + "anthropic-ratelimit-input-tokens-reset" : "2026-08-31T17:39:27Z", "anthropic-ratelimit-tokens-remaining" : "12000000", "anthropic-ratelimit-requests-limit" : "20000", + "anthropic-workspace-id" : "wrkspc_01J8hau4yJ2SKvtbeP9drm9A", "Content-Security-Policy" : "default-src 'none'; frame-ancestors 'none'", "anthropic-ratelimit-input-tokens-remaining" : "10000000", "anthropic-ratelimit-requests-remaining" : "19999", "Content-Type" : "application/json", - "CF-RAY" : "a1787f94aee90abe-SEA", + "CF-RAY" : "a33dd08c8925a36c-SEA", "anthropic-ratelimit-tokens-limit" : "12000000", "cf-cache-status" : "DYNAMIC", - "request-id" : "req_011Cco5NVLWmfwWsaNme31Mv", - "anthropic-ratelimit-tokens-reset" : "2026-07-07T17:16:41Z", + "request-id" : "req_011CebEbXTZtW1dVuPA8TKae", + "anthropic-ratelimit-tokens-reset" : "2026-08-31T17:39:27Z", "strict-transport-security" : "max-age=31536000; includeSubDomains; preload", - "Date" : "Tue, 07 Jul 2026 17:16:41 GMT", + "Date" : "Mon, 31 Aug 2026 17:39:27 GMT", "X-Robots-Tag" : "none", - "anthropic-ratelimit-requests-reset" : "2026-07-07T17:16:41Z", + "anthropic-ratelimit-requests-reset" : "2026-08-31T17:39:26Z", "anthropic-ratelimit-input-tokens-limit" : "10000000", - "traceresponse" : "00-b6e13275bba26986703535153923bcb7-cda5a3cae4bd88dc-01", + "traceresponse" : "00-0b11d1493f2c39d752d907e86e7f3d19-f2d568c801bba977-01", "anthropic-ratelimit-output-tokens-remaining" : "2000000" } }, "uuid" : "eee75071-17f6-309e-8389-193ac2c214e6", "persistent" : true, - "insertionIndex" : 15 + "insertionIndex" : 22 } \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/anthropic/mappings/v1_messages-50aa255b9074.json b/test-harness/src/testFixtures/resources/cassettes/anthropic/mappings/v1_messages-50aa255b9074.json index 574bcfc5..02d20789 100644 --- a/test-harness/src/testFixtures/resources/cassettes/anthropic/mappings/v1_messages-50aa255b9074.json +++ b/test-harness/src/testFixtures/resources/cassettes/anthropic/mappings/v1_messages-50aa255b9074.json @@ -23,29 +23,30 @@ "Server" : "cloudflare", "vary" : "Accept-Encoding", "anthropic-ratelimit-output-tokens-limit" : "2000000", - "anthropic-ratelimit-output-tokens-reset" : "2026-07-07T17:15:12Z", - "anthropic-ratelimit-input-tokens-reset" : "2026-07-07T17:15:12Z", + "anthropic-ratelimit-output-tokens-reset" : "2026-08-31T17:37:20Z", + "anthropic-ratelimit-input-tokens-reset" : "2026-08-31T17:37:20Z", "anthropic-ratelimit-tokens-remaining" : "11999000", "anthropic-ratelimit-requests-limit" : "20000", + "anthropic-workspace-id" : "wrkspc_01J8hau4yJ2SKvtbeP9drm9A", "Content-Security-Policy" : "default-src 'none'; frame-ancestors 'none'", "anthropic-ratelimit-input-tokens-remaining" : "9999000", "anthropic-ratelimit-requests-remaining" : "19999", "Content-Type" : "application/json", - "CF-RAY" : "a1787d62cb65db33-SEA", + "CF-RAY" : "a33dcd6f6e3906ac-SEA", "anthropic-ratelimit-tokens-limit" : "12000000", "cf-cache-status" : "DYNAMIC", - "request-id" : "req_011Cco5Frvqj13joi5icpQYx", - "anthropic-ratelimit-tokens-reset" : "2026-07-07T17:15:12Z", + "request-id" : "req_011CebES8Ar7Y2xDum3vtZ9E", + "anthropic-ratelimit-tokens-reset" : "2026-08-31T17:37:20Z", "strict-transport-security" : "max-age=31536000; includeSubDomains; preload", - "Date" : "Tue, 07 Jul 2026 17:15:12 GMT", + "Date" : "Mon, 31 Aug 2026 17:37:20 GMT", "X-Robots-Tag" : "none", - "anthropic-ratelimit-requests-reset" : "2026-07-07T17:15:11Z", + "anthropic-ratelimit-requests-reset" : "2026-08-31T17:37:19Z", "anthropic-ratelimit-input-tokens-limit" : "10000000", - "traceresponse" : "00-561b6f56b969f998ad076332f6d06b46-9b465e0e2e07cf0f-01", + "traceresponse" : "00-1908f67b7ac142e37ef531c856574d03-d0cebd8a3d4b1aa5-01", "anthropic-ratelimit-output-tokens-remaining" : "2000000" } }, "uuid" : "3854499b-4b48-335c-a38c-0e5ff44cf5f7", "persistent" : true, - "insertionIndex" : 6 + "insertionIndex" : 7 } \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/anthropic/mappings/v1_messages-53b26763566c.json b/test-harness/src/testFixtures/resources/cassettes/anthropic/mappings/v1_messages-53b26763566c.json new file mode 100644 index 00000000..be370045 --- /dev/null +++ b/test-harness/src/testFixtures/resources/cassettes/anthropic/mappings/v1_messages-53b26763566c.json @@ -0,0 +1,56 @@ +{ + "id" : "2536ad87-71c9-34e2-ae3a-e601c7901338", + "name" : "v1_messages", + "request" : { + "url" : "/v1/messages", + "method" : "POST", + "headers" : { + "Content-Type" : { + "equalTo" : "application/json" + } + }, + "bodyPatterns" : [ { + "equalToJson" : "{\"max_tokens\":128,\"messages\":[{\"content\":\"Count from 1 to 5.\",\"role\":\"user\"}],\"model\":\"claude-haiku-4-5-20251001\",\"system\":\"You are a helpful assistant.\",\"temperature\":0.0,\"stream\":true}", + "ignoreArrayOrder" : true, + "ignoreExtraElements" : false + } ] + }, + "response" : { + "status" : 200, + "bodyFileName" : "v1_messages-53b26763566c.txt", + "headers" : { + "anthropic-organization-id" : "27796668-7351-40ac-acc4-024aee8995a5", + "Server" : "cloudflare", + "vary" : "Accept-Encoding", + "anthropic-ratelimit-output-tokens-limit" : "2000000", + "anthropic-ratelimit-output-tokens-reset" : "2026-08-31T17:37:04Z", + "anthropic-ratelimit-input-tokens-reset" : "2026-08-31T17:37:04Z", + "anthropic-ratelimit-tokens-remaining" : "12000000", + "anthropic-ratelimit-requests-limit" : "20000", + "anthropic-workspace-id" : "wrkspc_01J8hau4yJ2SKvtbeP9drm9A", + "Content-Security-Policy" : "default-src 'none'; frame-ancestors 'none'", + "anthropic-ratelimit-input-tokens-remaining" : "10000000", + "anthropic-ratelimit-requests-remaining" : "19999", + "Content-Type" : "text/event-stream; charset=utf-8", + "CF-RAY" : "a33dcd0f4bdb4f60-SEA", + "anthropic-ratelimit-tokens-limit" : "12000000", + "cf-cache-status" : "DYNAMIC", + "request-id" : "req_011CebEQzUxgEpvE8KQ7sc1Y", + "anthropic-ratelimit-tokens-reset" : "2026-08-31T17:37:04Z", + "strict-transport-security" : "max-age=31536000; includeSubDomains; preload", + "Date" : "Mon, 31 Aug 2026 17:37:04 GMT", + "X-Robots-Tag" : "none", + "anthropic-ratelimit-requests-reset" : "2026-08-31T17:37:04Z", + "Cache-Control" : "no-cache", + "anthropic-ratelimit-input-tokens-limit" : "10000000", + "traceresponse" : "00-15eacf9bf1ace9ebae859b00de60a71a-94d7c61d95849b2d-01", + "anthropic-ratelimit-output-tokens-remaining" : "2000000" + } + }, + "uuid" : "2536ad87-71c9-34e2-ae3a-e601c7901338", + "persistent" : true, + "scenarioName" : "scenario-3-v1-messages", + "requiredScenarioState" : "Started", + "newScenarioState" : "scenario-3-v1-messages-2", + "insertionIndex" : 14 +} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/anthropic/mappings/v1_messages-5d20989d033b.json b/test-harness/src/testFixtures/resources/cassettes/anthropic/mappings/v1_messages-5d20989d033b.json index a9e02414..1d5e960b 100644 --- a/test-harness/src/testFixtures/resources/cassettes/anthropic/mappings/v1_messages-5d20989d033b.json +++ b/test-harness/src/testFixtures/resources/cassettes/anthropic/mappings/v1_messages-5d20989d033b.json @@ -23,26 +23,27 @@ "Server" : "cloudflare", "vary" : "Accept-Encoding", "anthropic-ratelimit-output-tokens-limit" : "2000000", - "anthropic-ratelimit-output-tokens-reset" : "2026-07-07T17:15:04Z", - "anthropic-ratelimit-input-tokens-reset" : "2026-07-07T17:15:04Z", + "anthropic-ratelimit-output-tokens-reset" : "2026-08-31T17:37:16Z", + "anthropic-ratelimit-input-tokens-reset" : "2026-08-31T17:37:16Z", "anthropic-ratelimit-tokens-remaining" : "12000000", "anthropic-ratelimit-requests-limit" : "20000", + "anthropic-workspace-id" : "wrkspc_01J8hau4yJ2SKvtbeP9drm9A", "Content-Security-Policy" : "default-src 'none'; frame-ancestors 'none'", "anthropic-ratelimit-input-tokens-remaining" : "10000000", "anthropic-ratelimit-requests-remaining" : "19999", "Content-Type" : "text/event-stream; charset=utf-8", - "CF-RAY" : "a1787d352f12df5b-SEA", + "CF-RAY" : "a33dcd5bcd128399-SEA", "anthropic-ratelimit-tokens-limit" : "12000000", "cf-cache-status" : "DYNAMIC", - "request-id" : "req_011Cco5FKo67Tf2gXC3Ron22", - "anthropic-ratelimit-tokens-reset" : "2026-07-07T17:15:04Z", + "request-id" : "req_011CebERtkT3TYPKrmBRXxV6", + "anthropic-ratelimit-tokens-reset" : "2026-08-31T17:37:16Z", "strict-transport-security" : "max-age=31536000; includeSubDomains; preload", - "Date" : "Tue, 07 Jul 2026 17:15:04 GMT", + "Date" : "Mon, 31 Aug 2026 17:37:16 GMT", "X-Robots-Tag" : "none", - "anthropic-ratelimit-requests-reset" : "2026-07-07T17:15:04Z", + "anthropic-ratelimit-requests-reset" : "2026-08-31T17:37:16Z", "Cache-Control" : "no-cache", "anthropic-ratelimit-input-tokens-limit" : "10000000", - "traceresponse" : "00-7c54396c9f7b8c229f930b4dd79fb1d9-b06e6ad981aa550f-01", + "traceresponse" : "00-b929bac43f4a0038317a05e074d18a8c-cdd61ff5120e0bc6-01", "anthropic-ratelimit-output-tokens-remaining" : "2000000" } }, diff --git a/test-harness/src/testFixtures/resources/cassettes/anthropic/mappings/v1_messages-640a93927303.json b/test-harness/src/testFixtures/resources/cassettes/anthropic/mappings/v1_messages-640a93927303.json new file mode 100644 index 00000000..d97e7340 --- /dev/null +++ b/test-harness/src/testFixtures/resources/cassettes/anthropic/mappings/v1_messages-640a93927303.json @@ -0,0 +1,55 @@ +{ + "id" : "7407b110-fe17-3a9d-a7ae-a7f6eae3b9cf", + "name" : "v1_messages", + "request" : { + "url" : "/v1/messages", + "method" : "POST", + "headers" : { + "Content-Type" : { + "equalTo" : "application/json" + } + }, + "bodyPatterns" : [ { + "equalToJson" : "{\"max_tokens\":128,\"messages\":[{\"content\":[{\"text\":\"Briefly describe these attachments\",\"type\":\"text\"},{\"source\":{\"data\":\"iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mP8z8DwHwAFBQIAX8jx0gAAAABJRU5ErkJggg==\",\"media_type\":\"image/png\",\"type\":\"base64\"},\"type\":\"image\"},{\"source\":{\"data\":\"JVBERi0xLjAKMSAwIG9iago8PCAvVHlwZSAvQ2F0YWxvZyAvUGFnZXMgMiAwIFIgPj4KZW5kb2JqCjIgMCBvYmoKPDwgL1R5cGUgL1BhZ2VzIC9LaWRzIFszIDAgUl0gL0NvdW50IDEgPj4KZW5kb2JqCjMgMCBvYmoKPDwgL1R5cGUgL1BhZ2UgL1BhcmVudCAyIDAgUiAvTWVkaWFCb3ggWzAgMCA2MTIgNzkyXSA+PgplbmRvYmoKeHJlZgowIDQKMDAwMDAwMDAwMCA2NTUzNSBmIAowMDAwMDAwMDA5IDAwMDAwIG4gCjAwMDAwMDAwNTggMDAwMDAgbiAKMDAwMDAwMDExNSAwMDAwMCBuIAp0cmFpbGVyCjw8IC9TaXplIDQgL1Jvb3QgMSAwIFIgPj4Kc3RhcnR4cmVmCjE5MAolJUVPRgo=\",\"media_type\":\"application/pdf\",\"type\":\"base64\"},\"type\":\"document\"}],\"role\":\"user\"}],\"model\":\"claude-haiku-4-5-20251001\",\"temperature\":0.0}", + "ignoreArrayOrder" : true, + "ignoreExtraElements" : false + } ] + }, + "response" : { + "status" : 200, + "bodyFileName" : "v1_messages-640a93927303.json", + "headers" : { + "anthropic-organization-id" : "27796668-7351-40ac-acc4-024aee8995a5", + "Server" : "cloudflare", + "vary" : "Accept-Encoding", + "anthropic-ratelimit-output-tokens-limit" : "2000000", + "anthropic-ratelimit-output-tokens-reset" : "2026-08-31T17:37:24Z", + "anthropic-ratelimit-input-tokens-reset" : "2026-08-31T17:37:23Z", + "anthropic-ratelimit-tokens-remaining" : "11999000", + "anthropic-ratelimit-requests-limit" : "20000", + "anthropic-workspace-id" : "wrkspc_01J8hau4yJ2SKvtbeP9drm9A", + "Content-Security-Policy" : "default-src 'none'; frame-ancestors 'none'", + "anthropic-ratelimit-input-tokens-remaining" : "9999000", + "anthropic-ratelimit-requests-remaining" : "19999", + "Content-Type" : "application/json", + "CF-RAY" : "a33dcd84e91d7205-SEA", + "anthropic-ratelimit-tokens-limit" : "12000000", + "cf-cache-status" : "DYNAMIC", + "request-id" : "req_011CebESNw6ooSv16Xba3X3x", + "anthropic-ratelimit-tokens-reset" : "2026-08-31T17:37:23Z", + "strict-transport-security" : "max-age=31536000; includeSubDomains; preload", + "Date" : "Mon, 31 Aug 2026 17:37:24 GMT", + "X-Robots-Tag" : "none", + "anthropic-ratelimit-requests-reset" : "2026-08-31T17:37:22Z", + "anthropic-ratelimit-input-tokens-limit" : "10000000", + "traceresponse" : "00-bdb3b9aacbcce529e019113d7b54c914-bb0b34ec11e755d6-01", + "anthropic-ratelimit-output-tokens-remaining" : "2000000" + } + }, + "uuid" : "7407b110-fe17-3a9d-a7ae-a7f6eae3b9cf", + "persistent" : true, + "scenarioName" : "scenario-1-v1-messages", + "requiredScenarioState" : "Started", + "newScenarioState" : "scenario-1-v1-messages-2", + "insertionIndex" : 3 +} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/anthropic/mappings/v1_messages-664c4d4fed33.json b/test-harness/src/testFixtures/resources/cassettes/anthropic/mappings/v1_messages-664c4d4fed33.json index 7b17d5bb..53982140 100644 --- a/test-harness/src/testFixtures/resources/cassettes/anthropic/mappings/v1_messages-664c4d4fed33.json +++ b/test-harness/src/testFixtures/resources/cassettes/anthropic/mappings/v1_messages-664c4d4fed33.json @@ -23,29 +23,30 @@ "Server" : "cloudflare", "vary" : "Accept-Encoding", "anthropic-ratelimit-output-tokens-limit" : "2000000", - "anthropic-ratelimit-output-tokens-reset" : "2026-07-07T17:16:37Z", - "anthropic-ratelimit-input-tokens-reset" : "2026-07-07T17:16:37Z", + "anthropic-ratelimit-output-tokens-reset" : "2026-08-31T17:39:12Z", + "anthropic-ratelimit-input-tokens-reset" : "2026-08-31T17:39:12Z", "anthropic-ratelimit-tokens-remaining" : "11998000", "anthropic-ratelimit-requests-limit" : "20000", + "anthropic-workspace-id" : "wrkspc_01J8hau4yJ2SKvtbeP9drm9A", "Content-Security-Policy" : "default-src 'none'; frame-ancestors 'none'", "anthropic-ratelimit-input-tokens-remaining" : "9998000", "anthropic-ratelimit-requests-remaining" : "19999", "Content-Type" : "application/json", - "CF-RAY" : "a1787f7819da7594-SEA", + "CF-RAY" : "a33dd02afaaff8d9-SEA", "anthropic-ratelimit-tokens-limit" : "12000000", "cf-cache-status" : "DYNAMIC", - "request-id" : "req_011Cco5N9xhGgJkcpCFwkwHP", - "anthropic-ratelimit-tokens-reset" : "2026-07-07T17:16:37Z", + "request-id" : "req_011CebEaNhSSLZR52EgX2KeH", + "anthropic-ratelimit-tokens-reset" : "2026-08-31T17:39:12Z", "strict-transport-security" : "max-age=31536000; includeSubDomains; preload", - "Date" : "Tue, 07 Jul 2026 17:16:37 GMT", + "Date" : "Mon, 31 Aug 2026 17:39:12 GMT", "X-Robots-Tag" : "none", - "anthropic-ratelimit-requests-reset" : "2026-07-07T17:16:36Z", + "anthropic-ratelimit-requests-reset" : "2026-08-31T17:39:11Z", "anthropic-ratelimit-input-tokens-limit" : "10000000", - "traceresponse" : "00-f3c9e3c08feccd29b4c79e2db3ad4dfe-8bd1dcf29243c618-01", + "traceresponse" : "00-f1ec4b0985b31e0aa3d4d02b2496e20d-aaf96cd985645351-01", "anthropic-ratelimit-output-tokens-remaining" : "2000000" } }, "uuid" : "d4f8a3ed-ddb2-38e4-9ae1-8a9bdbe56aa0", "persistent" : true, - "insertionIndex" : 17 + "insertionIndex" : 26 } \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/anthropic/mappings/v1_messages-74a60d2aa4be.json b/test-harness/src/testFixtures/resources/cassettes/anthropic/mappings/v1_messages-74a60d2aa4be.json index 308e76f4..2ea1ed27 100644 --- a/test-harness/src/testFixtures/resources/cassettes/anthropic/mappings/v1_messages-74a60d2aa4be.json +++ b/test-harness/src/testFixtures/resources/cassettes/anthropic/mappings/v1_messages-74a60d2aa4be.json @@ -23,8 +23,8 @@ "Server" : "cloudflare", "vary" : "Accept-Encoding", "anthropic-ratelimit-output-tokens-limit" : "2000000", - "anthropic-ratelimit-output-tokens-reset" : "2026-08-13T19:06:42Z", - "anthropic-ratelimit-input-tokens-reset" : "2026-08-13T19:06:42Z", + "anthropic-ratelimit-output-tokens-reset" : "2026-08-31T17:44:39Z", + "anthropic-ratelimit-input-tokens-reset" : "2026-08-31T17:44:39Z", "anthropic-ratelimit-tokens-remaining" : "12000000", "anthropic-ratelimit-requests-limit" : "20000", "anthropic-workspace-id" : "wrkspc_01J8hau4yJ2SKvtbeP9drm9A", @@ -32,22 +32,22 @@ "anthropic-ratelimit-input-tokens-remaining" : "10000000", "anthropic-ratelimit-requests-remaining" : "19999", "Content-Type" : "text/event-stream; charset=utf-8", - "CF-RAY" : "a2a9ffa02882fcac-SEA", + "CF-RAY" : "a33dd830eb447598-SEA", "anthropic-ratelimit-tokens-limit" : "12000000", "cf-cache-status" : "DYNAMIC", - "request-id" : "req_011Ce1Ggzn7i9DPduqfs8VAq", - "anthropic-ratelimit-tokens-reset" : "2026-08-13T19:06:42Z", + "request-id" : "req_011CebEzbkfnuEdXNYbLZm7M", + "anthropic-ratelimit-tokens-reset" : "2026-08-31T17:44:39Z", "strict-transport-security" : "max-age=31536000; includeSubDomains; preload", - "Date" : "Thu, 13 Aug 2026 19:06:43 GMT", + "Date" : "Mon, 31 Aug 2026 17:44:40 GMT", "X-Robots-Tag" : "none", - "anthropic-ratelimit-requests-reset" : "2026-08-13T19:06:42Z", + "anthropic-ratelimit-requests-reset" : "2026-08-31T17:44:39Z", "Cache-Control" : "no-cache", "anthropic-ratelimit-input-tokens-limit" : "10000000", - "traceresponse" : "00-fd09b9dfb45db31fcdbcdc495ad7eae1-b20fd450b01eebf8-01", + "traceresponse" : "00-3162f789d47b0b9124c3a60e9fe78209-8a9bde90ce4c5aad-01", "anthropic-ratelimit-output-tokens-remaining" : "2000000" } }, "uuid" : "2c7344ba-cce7-35f0-9067-9cf5f984f5f2", "persistent" : true, - "insertionIndex" : 25 + "insertionIndex" : 28 } \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/anthropic/mappings/v1_messages-810cd8105a5b.json b/test-harness/src/testFixtures/resources/cassettes/anthropic/mappings/v1_messages-810cd8105a5b.json new file mode 100644 index 00000000..eeaa4e3d --- /dev/null +++ b/test-harness/src/testFixtures/resources/cassettes/anthropic/mappings/v1_messages-810cd8105a5b.json @@ -0,0 +1,55 @@ +{ + "id" : "8a2286dc-f523-3db7-b2f5-dd01279e20ea", + "name" : "v1_messages", + "request" : { + "url" : "/v1/messages", + "method" : "POST", + "headers" : { + "Content-Type" : { + "equalTo" : "application/json" + } + }, + "bodyPatterns" : [ { + "equalToJson" : "{\"max_tokens\":50,\"messages\":[{\"content\":\"What is the capital of France?\",\"role\":\"user\"}],\"model\":\"claude-haiku-4-5\",\"system\":\"You are a helpful assistant\",\"temperature\":0.0}", + "ignoreArrayOrder" : true, + "ignoreExtraElements" : false + } ] + }, + "response" : { + "status" : 200, + "bodyFileName" : "v1_messages-810cd8105a5b.json", + "headers" : { + "anthropic-organization-id" : "27796668-7351-40ac-acc4-024aee8995a5", + "Server" : "cloudflare", + "vary" : "Accept-Encoding", + "anthropic-ratelimit-output-tokens-limit" : "2000000", + "anthropic-ratelimit-output-tokens-reset" : "2026-08-31T17:39:33Z", + "anthropic-ratelimit-input-tokens-reset" : "2026-08-31T17:39:33Z", + "anthropic-ratelimit-tokens-remaining" : "12000000", + "anthropic-ratelimit-requests-limit" : "20000", + "anthropic-workspace-id" : "wrkspc_01J8hau4yJ2SKvtbeP9drm9A", + "Content-Security-Policy" : "default-src 'none'; frame-ancestors 'none'", + "anthropic-ratelimit-input-tokens-remaining" : "10000000", + "anthropic-ratelimit-requests-remaining" : "19999", + "Content-Type" : "application/json", + "CF-RAY" : "a33dd0b34a6cebbe-SEA", + "anthropic-ratelimit-tokens-limit" : "12000000", + "cf-cache-status" : "DYNAMIC", + "request-id" : "req_011CebEbz1F6aWrf4zo3avGs", + "anthropic-ratelimit-tokens-reset" : "2026-08-31T17:39:33Z", + "strict-transport-security" : "max-age=31536000; includeSubDomains; preload", + "Date" : "Mon, 31 Aug 2026 17:39:33 GMT", + "X-Robots-Tag" : "none", + "anthropic-ratelimit-requests-reset" : "2026-08-31T17:39:33Z", + "anthropic-ratelimit-input-tokens-limit" : "10000000", + "traceresponse" : "00-45316ccc7e318cb13ec2a52e410b5ac0-4a275417fc9b5c67-01", + "anthropic-ratelimit-output-tokens-remaining" : "2000000" + } + }, + "uuid" : "8a2286dc-f523-3db7-b2f5-dd01279e20ea", + "persistent" : true, + "scenarioName" : "scenario-2-v1-messages", + "requiredScenarioState" : "scenario-2-v1-messages-3", + "newScenarioState" : "scenario-2-v1-messages-4", + "insertionIndex" : 18 +} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/anthropic/mappings/v1_messages-8551e22f9273.json b/test-harness/src/testFixtures/resources/cassettes/anthropic/mappings/v1_messages-8551e22f9273.json index 3b69967c..8117055b 100644 --- a/test-harness/src/testFixtures/resources/cassettes/anthropic/mappings/v1_messages-8551e22f9273.json +++ b/test-harness/src/testFixtures/resources/cassettes/anthropic/mappings/v1_messages-8551e22f9273.json @@ -30,30 +30,31 @@ "Server" : "cloudflare", "vary" : "Accept-Encoding", "anthropic-ratelimit-output-tokens-limit" : "2000000", - "anthropic-ratelimit-output-tokens-reset" : "2026-07-07T17:16:39Z", - "anthropic-ratelimit-input-tokens-reset" : "2026-07-07T17:16:39Z", + "anthropic-ratelimit-output-tokens-reset" : "2026-08-31T17:39:24Z", + "anthropic-ratelimit-input-tokens-reset" : "2026-08-31T17:39:24Z", "anthropic-ratelimit-tokens-remaining" : "12000000", "anthropic-ratelimit-requests-limit" : "20000", + "anthropic-workspace-id" : "wrkspc_01J8hau4yJ2SKvtbeP9drm9A", "Content-Security-Policy" : "default-src 'none'; frame-ancestors 'none'", "anthropic-ratelimit-input-tokens-remaining" : "10000000", "anthropic-ratelimit-requests-remaining" : "19999", "Content-Type" : "text/event-stream; charset=utf-8", - "CF-RAY" : "a1787f885837cdf7-SEA", + "CF-RAY" : "a33dd07f2866ebf2-SEA", "anthropic-ratelimit-tokens-limit" : "12000000", "cf-cache-status" : "DYNAMIC", - "request-id" : "req_011Cco5NLwFG8pDg6b6oeQvr", - "anthropic-ratelimit-tokens-reset" : "2026-07-07T17:16:39Z", + "request-id" : "req_011CebEbNLsyCb4kYYQHdXZG", + "anthropic-ratelimit-tokens-reset" : "2026-08-31T17:39:24Z", "strict-transport-security" : "max-age=31536000; includeSubDomains; preload", - "Date" : "Tue, 07 Jul 2026 17:16:39 GMT", + "Date" : "Mon, 31 Aug 2026 17:39:25 GMT", "X-Robots-Tag" : "none", - "anthropic-ratelimit-requests-reset" : "2026-07-07T17:16:39Z", + "anthropic-ratelimit-requests-reset" : "2026-08-31T17:39:24Z", "Cache-Control" : "no-cache", "anthropic-ratelimit-input-tokens-limit" : "10000000", - "traceresponse" : "00-22c4064494ada0ea73f38813145d9a65-1d4a4185baa4ff89-01", + "traceresponse" : "00-16ef7ee7908c39e30fb454d2120064d4-31f30107c0e10ad1-01", "anthropic-ratelimit-output-tokens-remaining" : "2000000" } }, "uuid" : "f5405d1d-3596-368c-bf65-e444619dc738", "persistent" : true, - "insertionIndex" : 16 + "insertionIndex" : 23 } \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/anthropic/mappings/v1_messages-95926394746c.json b/test-harness/src/testFixtures/resources/cassettes/anthropic/mappings/v1_messages-95926394746c.json index b8e96a19..971dbdf9 100644 --- a/test-harness/src/testFixtures/resources/cassettes/anthropic/mappings/v1_messages-95926394746c.json +++ b/test-harness/src/testFixtures/resources/cassettes/anthropic/mappings/v1_messages-95926394746c.json @@ -23,29 +23,30 @@ "Server" : "cloudflare", "vary" : "Accept-Encoding", "anthropic-ratelimit-output-tokens-limit" : "2000000", - "anthropic-ratelimit-output-tokens-reset" : "2026-07-07T17:15:08Z", - "anthropic-ratelimit-input-tokens-reset" : "2026-07-07T17:15:08Z", + "anthropic-ratelimit-output-tokens-reset" : "2026-08-31T17:37:15Z", + "anthropic-ratelimit-input-tokens-reset" : "2026-08-31T17:37:14Z", "anthropic-ratelimit-tokens-remaining" : "11999000", "anthropic-ratelimit-requests-limit" : "20000", + "anthropic-workspace-id" : "wrkspc_01J8hau4yJ2SKvtbeP9drm9A", "Content-Security-Policy" : "default-src 'none'; frame-ancestors 'none'", "anthropic-ratelimit-input-tokens-remaining" : "9999000", "anthropic-ratelimit-requests-remaining" : "19999", "Content-Type" : "application/json", - "CF-RAY" : "a1787d495ef8d311-SEA", + "CF-RAY" : "a33dcd4efee4ec54-SEA", "anthropic-ratelimit-tokens-limit" : "12000000", "cf-cache-status" : "DYNAMIC", - "request-id" : "req_011Cco5FZZKPxBUfWKbc7cNq", - "anthropic-ratelimit-tokens-reset" : "2026-07-07T17:15:08Z", + "request-id" : "req_011CebERk16XsYVewbFaCpAt", + "anthropic-ratelimit-tokens-reset" : "2026-08-31T17:37:14Z", "strict-transport-security" : "max-age=31536000; includeSubDomains; preload", - "Date" : "Tue, 07 Jul 2026 17:15:08 GMT", + "Date" : "Mon, 31 Aug 2026 17:37:15 GMT", "X-Robots-Tag" : "none", - "anthropic-ratelimit-requests-reset" : "2026-07-07T17:15:07Z", + "anthropic-ratelimit-requests-reset" : "2026-08-31T17:37:14Z", "anthropic-ratelimit-input-tokens-limit" : "10000000", - "traceresponse" : "00-11491dded4c4cea0a119a32e0812319b-c6b961dee61a8cf9-01", + "traceresponse" : "00-50981d889d14a5ff39396763ce6d5fba-3bce7f1ed9332556-01", "anthropic-ratelimit-output-tokens-remaining" : "2000000" } }, "uuid" : "b8e74ed0-5ef3-36c9-a6d6-6d067e082be7", "persistent" : true, - "insertionIndex" : 9 + "insertionIndex" : 12 } \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/anthropic/mappings/v1_messages-fff3634fca99.json b/test-harness/src/testFixtures/resources/cassettes/anthropic/mappings/v1_messages-a6025c05a563.json similarity index 64% rename from test-harness/src/testFixtures/resources/cassettes/anthropic/mappings/v1_messages-fff3634fca99.json rename to test-harness/src/testFixtures/resources/cassettes/anthropic/mappings/v1_messages-a6025c05a563.json index a3adc59d..32d53e46 100644 --- a/test-harness/src/testFixtures/resources/cassettes/anthropic/mappings/v1_messages-fff3634fca99.json +++ b/test-harness/src/testFixtures/resources/cassettes/anthropic/mappings/v1_messages-a6025c05a563.json @@ -1,5 +1,5 @@ { - "id" : "c7c5ac50-6a46-347a-8b65-c24b3b014ec5", + "id" : "01fa4e51-b7d3-3816-a5c1-c4f868dabaf8", "name" : "v1_messages", "request" : { "url" : "/v1/messages", @@ -17,36 +17,39 @@ }, "response" : { "status" : 200, - "bodyFileName" : "v1_messages-fff3634fca99.txt", + "bodyFileName" : "v1_messages-a6025c05a563.txt", "headers" : { "anthropic-organization-id" : "27796668-7351-40ac-acc4-024aee8995a5", "Server" : "cloudflare", "vary" : "Accept-Encoding", "anthropic-ratelimit-output-tokens-limit" : "2000000", - "anthropic-ratelimit-output-tokens-reset" : "2026-07-18T00:01:21Z", - "anthropic-ratelimit-input-tokens-reset" : "2026-07-18T00:01:21Z", + "anthropic-ratelimit-output-tokens-reset" : "2026-08-31T17:37:15Z", + "anthropic-ratelimit-input-tokens-reset" : "2026-08-31T17:37:15Z", "anthropic-ratelimit-tokens-remaining" : "12000000", "anthropic-ratelimit-requests-limit" : "20000", + "anthropic-workspace-id" : "wrkspc_01J8hau4yJ2SKvtbeP9drm9A", "Content-Security-Policy" : "default-src 'none'; frame-ancestors 'none'", "anthropic-ratelimit-input-tokens-remaining" : "10000000", "anthropic-ratelimit-requests-remaining" : "19999", "Content-Type" : "text/event-stream; charset=utf-8", - "CF-RAY" : "a1cd361b4b1d5ea8-SEA", + "CF-RAY" : "a33dcd560dcc5b4d-SEA", "anthropic-ratelimit-tokens-limit" : "12000000", "cf-cache-status" : "DYNAMIC", - "request-id" : "req_011Cd8YKSHbSgMRVJYk3UrR9", - "anthropic-ratelimit-tokens-reset" : "2026-07-18T00:01:21Z", + "request-id" : "req_011CebERpqZ2xgQUWrJ8JMUm", + "anthropic-ratelimit-tokens-reset" : "2026-08-31T17:37:15Z", "strict-transport-security" : "max-age=31536000; includeSubDomains; preload", - "Date" : "Sat, 18 Jul 2026 00:01:21 GMT", + "Date" : "Mon, 31 Aug 2026 17:37:15 GMT", "X-Robots-Tag" : "none", - "anthropic-ratelimit-requests-reset" : "2026-07-18T00:01:21Z", + "anthropic-ratelimit-requests-reset" : "2026-08-31T17:37:15Z", "Cache-Control" : "no-cache", "anthropic-ratelimit-input-tokens-limit" : "10000000", - "traceresponse" : "00-6f33a59a31de2e0605349c3f9017c5b0-8c1be3b7a7368cfd-01", + "traceresponse" : "00-0c01ec27434bcf69af77e6da0c1faf0e-e511a5656aca5fba-01", "anthropic-ratelimit-output-tokens-remaining" : "2000000" } }, - "uuid" : "c7c5ac50-6a46-347a-8b65-c24b3b014ec5", + "uuid" : "01fa4e51-b7d3-3816-a5c1-c4f868dabaf8", "persistent" : true, - "insertionIndex" : 26 + "scenarioName" : "scenario-3-v1-messages", + "requiredScenarioState" : "scenario-3-v1-messages-2", + "insertionIndex" : 11 } \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/anthropic/mappings/v1_messages-a8b7f878b224.json b/test-harness/src/testFixtures/resources/cassettes/anthropic/mappings/v1_messages-a8b7f878b224.json index cfeef939..a2ac968a 100644 --- a/test-harness/src/testFixtures/resources/cassettes/anthropic/mappings/v1_messages-a8b7f878b224.json +++ b/test-harness/src/testFixtures/resources/cassettes/anthropic/mappings/v1_messages-a8b7f878b224.json @@ -23,29 +23,30 @@ "Server" : "cloudflare", "vary" : "Accept-Encoding", "anthropic-ratelimit-output-tokens-limit" : "2000000", - "anthropic-ratelimit-output-tokens-reset" : "2026-07-07T17:15:10Z", - "anthropic-ratelimit-input-tokens-reset" : "2026-07-07T17:15:10Z", + "anthropic-ratelimit-output-tokens-reset" : "2026-08-31T17:37:18Z", + "anthropic-ratelimit-input-tokens-reset" : "2026-08-31T17:37:18Z", "anthropic-ratelimit-tokens-remaining" : "11999000", "anthropic-ratelimit-requests-limit" : "20000", + "anthropic-workspace-id" : "wrkspc_01J8hau4yJ2SKvtbeP9drm9A", "Content-Security-Policy" : "default-src 'none'; frame-ancestors 'none'", "anthropic-ratelimit-input-tokens-remaining" : "9999000", "anthropic-ratelimit-requests-remaining" : "19999", "Content-Type" : "application/json", - "CF-RAY" : "a1787d583cd3d44b-SEA", + "CF-RAY" : "a33dcd676d0aec7c-SEA", "anthropic-ratelimit-tokens-limit" : "12000000", "cf-cache-status" : "DYNAMIC", - "request-id" : "req_011Cco5FjnELgbidRXMSDRVi", - "anthropic-ratelimit-tokens-reset" : "2026-07-07T17:15:10Z", + "request-id" : "req_011CebES2iBRSdVtLLAEXVkK", + "anthropic-ratelimit-tokens-reset" : "2026-08-31T17:37:18Z", "strict-transport-security" : "max-age=31536000; includeSubDomains; preload", - "Date" : "Tue, 07 Jul 2026 17:15:11 GMT", + "Date" : "Mon, 31 Aug 2026 17:37:19 GMT", "X-Robots-Tag" : "none", - "anthropic-ratelimit-requests-reset" : "2026-07-07T17:15:09Z", + "anthropic-ratelimit-requests-reset" : "2026-08-31T17:37:18Z", "anthropic-ratelimit-input-tokens-limit" : "10000000", - "traceresponse" : "00-1b9bd26acdb191d135cd195746855a1a-9489bfc21034ad36-01", + "traceresponse" : "00-1737dff9572a81cadc8f130f52b0e31d-d6d6f8c3e7cd29d8-01", "anthropic-ratelimit-output-tokens-remaining" : "2000000" } }, "uuid" : "770c0d49-a795-3260-9fe2-b6ae93f42408", "persistent" : true, - "insertionIndex" : 7 + "insertionIndex" : 8 } \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/anthropic/mappings/v1_messages-b11ab95242d5.json b/test-harness/src/testFixtures/resources/cassettes/anthropic/mappings/v1_messages-b11ab95242d5.json index c25748c8..7f53b97a 100644 --- a/test-harness/src/testFixtures/resources/cassettes/anthropic/mappings/v1_messages-b11ab95242d5.json +++ b/test-harness/src/testFixtures/resources/cassettes/anthropic/mappings/v1_messages-b11ab95242d5.json @@ -23,25 +23,26 @@ "Server" : "cloudflare", "vary" : "Accept-Encoding", "anthropic-ratelimit-output-tokens-limit" : "2000000", - "anthropic-ratelimit-output-tokens-reset" : "2026-07-07T17:15:13Z", - "anthropic-ratelimit-input-tokens-reset" : "2026-07-07T17:15:13Z", + "anthropic-ratelimit-output-tokens-reset" : "2026-08-31T17:37:21Z", + "anthropic-ratelimit-input-tokens-reset" : "2026-08-31T17:37:21Z", "anthropic-ratelimit-tokens-remaining" : "12000000", "anthropic-ratelimit-requests-limit" : "20000", + "anthropic-workspace-id" : "wrkspc_01J8hau4yJ2SKvtbeP9drm9A", "Content-Security-Policy" : "default-src 'none'; frame-ancestors 'none'", "anthropic-ratelimit-input-tokens-remaining" : "10000000", "anthropic-ratelimit-requests-remaining" : "19999", "Content-Type" : "application/json", - "CF-RAY" : "a1787d6babd9ec08-SEA", + "CF-RAY" : "a33dcd7aad0ba335-SEA", "anthropic-ratelimit-tokens-limit" : "12000000", "cf-cache-status" : "DYNAMIC", - "request-id" : "req_011Cco5Fy1Th8cqn8KaMqXmG", - "anthropic-ratelimit-tokens-reset" : "2026-07-07T17:15:13Z", + "request-id" : "req_011CebESFsCVusXkx5rMd8Jz", + "anthropic-ratelimit-tokens-reset" : "2026-08-31T17:37:21Z", "strict-transport-security" : "max-age=31536000; includeSubDomains; preload", - "Date" : "Tue, 07 Jul 2026 17:15:13 GMT", + "Date" : "Mon, 31 Aug 2026 17:37:21 GMT", "X-Robots-Tag" : "none", - "anthropic-ratelimit-requests-reset" : "2026-07-07T17:15:12Z", + "anthropic-ratelimit-requests-reset" : "2026-08-31T17:37:21Z", "anthropic-ratelimit-input-tokens-limit" : "10000000", - "traceresponse" : "00-7d94ec7e5905a12212e0e86b8ab33d02-0251d6b34f066261-01", + "traceresponse" : "00-8e357fd4abe729c4a0145b1559c42791-ac80c08e55bb0169-01", "anthropic-ratelimit-output-tokens-remaining" : "2000000" } }, diff --git a/test-harness/src/testFixtures/resources/cassettes/anthropic/mappings/v1_messages-b14b6bf1e7ab.json b/test-harness/src/testFixtures/resources/cassettes/anthropic/mappings/v1_messages-b14b6bf1e7ab.json index 2d632420..51cef7b9 100644 --- a/test-harness/src/testFixtures/resources/cassettes/anthropic/mappings/v1_messages-b14b6bf1e7ab.json +++ b/test-harness/src/testFixtures/resources/cassettes/anthropic/mappings/v1_messages-b14b6bf1e7ab.json @@ -23,30 +23,31 @@ "Server" : "cloudflare", "vary" : "Accept-Encoding", "anthropic-ratelimit-output-tokens-limit" : "2000000", - "anthropic-ratelimit-output-tokens-reset" : "2026-07-07T17:18:14Z", - "anthropic-ratelimit-input-tokens-reset" : "2026-07-07T17:18:14Z", + "anthropic-ratelimit-output-tokens-reset" : "2026-08-31T17:44:42Z", + "anthropic-ratelimit-input-tokens-reset" : "2026-08-31T17:44:42Z", "anthropic-ratelimit-tokens-remaining" : "12000000", "anthropic-ratelimit-requests-limit" : "20000", + "anthropic-workspace-id" : "wrkspc_01J8hau4yJ2SKvtbeP9drm9A", "Content-Security-Policy" : "default-src 'none'; frame-ancestors 'none'", "anthropic-ratelimit-input-tokens-remaining" : "10000000", "anthropic-ratelimit-requests-remaining" : "19999", "Content-Type" : "text/event-stream; charset=utf-8", - "CF-RAY" : "a17881dacbc5b9b2-SEA", + "CF-RAY" : "a33dd841fe8c93ab-SEA", "anthropic-ratelimit-tokens-limit" : "12000000", "cf-cache-status" : "DYNAMIC", - "request-id" : "req_011Cco5VMi5NmDVmTTtKaq3m", - "anthropic-ratelimit-tokens-reset" : "2026-07-07T17:18:14Z", + "request-id" : "req_011CebEzoUsLZ3zxke2zEXdt", + "anthropic-ratelimit-tokens-reset" : "2026-08-31T17:44:42Z", "strict-transport-security" : "max-age=31536000; includeSubDomains; preload", - "Date" : "Tue, 07 Jul 2026 17:18:14 GMT", + "Date" : "Mon, 31 Aug 2026 17:44:43 GMT", "X-Robots-Tag" : "none", - "anthropic-ratelimit-requests-reset" : "2026-07-07T17:18:14Z", + "anthropic-ratelimit-requests-reset" : "2026-08-31T17:44:42Z", "Cache-Control" : "no-cache", "anthropic-ratelimit-input-tokens-limit" : "10000000", - "traceresponse" : "00-c72fadf064e684bbf5437e9ef91b3140-f7ed2b732a3c96e5-01", + "traceresponse" : "00-381e6a4758b724615cb487452db777ad-2723e67b32697752-01", "anthropic-ratelimit-output-tokens-remaining" : "2000000" } }, "uuid" : "03206728-9348-375f-85b2-b95cf539b35f", "persistent" : true, - "insertionIndex" : 18 + "insertionIndex" : 27 } \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/anthropic/mappings/v1_messages-b32c5f08c744.json b/test-harness/src/testFixtures/resources/cassettes/anthropic/mappings/v1_messages-b32c5f08c744.json index f2bfa82d..bd7e62ef 100644 --- a/test-harness/src/testFixtures/resources/cassettes/anthropic/mappings/v1_messages-b32c5f08c744.json +++ b/test-harness/src/testFixtures/resources/cassettes/anthropic/mappings/v1_messages-b32c5f08c744.json @@ -23,29 +23,30 @@ "Server" : "cloudflare", "vary" : "Accept-Encoding", "anthropic-ratelimit-output-tokens-limit" : "2000000", - "anthropic-ratelimit-output-tokens-reset" : "2026-07-16T20:03:55Z", - "anthropic-ratelimit-input-tokens-reset" : "2026-07-16T20:03:54Z", + "anthropic-ratelimit-output-tokens-reset" : "2026-08-31T17:45:00Z", + "anthropic-ratelimit-input-tokens-reset" : "2026-08-31T17:45:00Z", "anthropic-ratelimit-tokens-remaining" : "12000000", "anthropic-ratelimit-requests-limit" : "20000", + "anthropic-workspace-id" : "wrkspc_01J8hau4yJ2SKvtbeP9drm9A", "Content-Security-Policy" : "default-src 'none'; frame-ancestors 'none'", "anthropic-ratelimit-input-tokens-remaining" : "10000000", "anthropic-ratelimit-requests-remaining" : "19999", "Content-Type" : "application/json", - "CF-RAY" : "a1c39ce91bfbeb3a-SEA", + "CF-RAY" : "a33dd8b09a24dc73-SEA", "anthropic-ratelimit-tokens-limit" : "12000000", "cf-cache-status" : "DYNAMIC", - "request-id" : "req_011Cd6LQMBVbhZbspdALGvpt", - "anthropic-ratelimit-tokens-reset" : "2026-07-16T20:03:54Z", + "request-id" : "req_011CebF27CkKZLNhbpRbcUGs", + "anthropic-ratelimit-tokens-reset" : "2026-08-31T17:45:00Z", "strict-transport-security" : "max-age=31536000; includeSubDomains; preload", - "Date" : "Thu, 16 Jul 2026 20:03:55 GMT", + "Date" : "Mon, 31 Aug 2026 17:45:00 GMT", "X-Robots-Tag" : "none", - "anthropic-ratelimit-requests-reset" : "2026-07-16T20:03:54Z", + "anthropic-ratelimit-requests-reset" : "2026-08-31T17:45:00Z", "anthropic-ratelimit-input-tokens-limit" : "10000000", - "traceresponse" : "00-6c5b50b9f99dbc9088175087aadda4c9-4b19488d3bee9f4b-01", + "traceresponse" : "00-b43bf472441a67ab6e8f55ef6f550df6-0e42d3702d13459c-01", "anthropic-ratelimit-output-tokens-remaining" : "2000000" } }, "uuid" : "bb531d1b-f660-37cc-97c0-94d1f6637844", "persistent" : true, - "insertionIndex" : 22 + "insertionIndex" : 32 } \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/anthropic/mappings/v1_messages-c0794efcd5dc.json b/test-harness/src/testFixtures/resources/cassettes/anthropic/mappings/v1_messages-c0794efcd5dc.json index 6bf9a84b..823a3092 100644 --- a/test-harness/src/testFixtures/resources/cassettes/anthropic/mappings/v1_messages-c0794efcd5dc.json +++ b/test-harness/src/testFixtures/resources/cassettes/anthropic/mappings/v1_messages-c0794efcd5dc.json @@ -23,8 +23,8 @@ "Server" : "cloudflare", "vary" : "Accept-Encoding", "anthropic-ratelimit-output-tokens-limit" : "2000000", - "anthropic-ratelimit-output-tokens-reset" : "2026-08-18T05:04:15Z", - "anthropic-ratelimit-input-tokens-reset" : "2026-08-18T05:04:15Z", + "anthropic-ratelimit-output-tokens-reset" : "2026-08-31T17:39:18Z", + "anthropic-ratelimit-input-tokens-reset" : "2026-08-31T17:39:18Z", "anthropic-ratelimit-tokens-remaining" : "11994000", "anthropic-ratelimit-requests-limit" : "20000", "anthropic-workspace-id" : "wrkspc_01J8hau4yJ2SKvtbeP9drm9A", @@ -32,21 +32,21 @@ "anthropic-ratelimit-input-tokens-remaining" : "9994000", "anthropic-ratelimit-requests-remaining" : "19999", "Content-Type" : "application/json", - "CF-RAY" : "a2ce60525f5eec58-SEA", + "CF-RAY" : "a33dd03ddc2da3b9-SEA", "anthropic-ratelimit-tokens-limit" : "12000000", "cf-cache-status" : "DYNAMIC", - "request-id" : "req_011Ce9dVAxgjvKeRRne7Sucm", - "anthropic-ratelimit-tokens-reset" : "2026-08-18T05:04:15Z", + "request-id" : "req_011CebEabeoKGrZyzet2rJGF", + "anthropic-ratelimit-tokens-reset" : "2026-08-31T17:39:18Z", "strict-transport-security" : "max-age=31536000; includeSubDomains; preload", - "Date" : "Tue, 18 Aug 2026 05:04:15 GMT", + "Date" : "Mon, 31 Aug 2026 17:39:18 GMT", "X-Robots-Tag" : "none", - "anthropic-ratelimit-requests-reset" : "2026-08-18T05:04:10Z", + "anthropic-ratelimit-requests-reset" : "2026-08-31T17:39:14Z", "anthropic-ratelimit-input-tokens-limit" : "10000000", - "traceresponse" : "00-bba893816bcf76d673bfa5806c94981e-d0c3287ada920b80-01", + "traceresponse" : "00-f0f3b1b6a9a2943ade81f1767d99ca30-c73766e83269c937-01", "anthropic-ratelimit-output-tokens-remaining" : "2000000" } }, "uuid" : "454a6457-ae7a-3b31-975b-bc607fe03633", "persistent" : true, - "insertionIndex" : 26 + "insertionIndex" : 25 } \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/anthropic/mappings/v1_messages-c5a2a8211935.json b/test-harness/src/testFixtures/resources/cassettes/anthropic/mappings/v1_messages-c5a2a8211935.json index 051e941a..ee85d093 100644 --- a/test-harness/src/testFixtures/resources/cassettes/anthropic/mappings/v1_messages-c5a2a8211935.json +++ b/test-harness/src/testFixtures/resources/cassettes/anthropic/mappings/v1_messages-c5a2a8211935.json @@ -23,30 +23,31 @@ "Server" : "cloudflare", "vary" : "Accept-Encoding", "anthropic-ratelimit-output-tokens-limit" : "2000000", - "anthropic-ratelimit-output-tokens-reset" : "2026-07-16T20:03:57Z", - "anthropic-ratelimit-input-tokens-reset" : "2026-07-16T20:03:57Z", + "anthropic-ratelimit-output-tokens-reset" : "2026-08-31T17:45:04Z", + "anthropic-ratelimit-input-tokens-reset" : "2026-08-31T17:45:04Z", "anthropic-ratelimit-tokens-remaining" : "12000000", "anthropic-ratelimit-requests-limit" : "20000", + "anthropic-workspace-id" : "wrkspc_01J8hau4yJ2SKvtbeP9drm9A", "Content-Security-Policy" : "default-src 'none'; frame-ancestors 'none'", "anthropic-ratelimit-input-tokens-remaining" : "10000000", "anthropic-ratelimit-requests-remaining" : "19999", "Content-Type" : "text/event-stream; charset=utf-8", - "CF-RAY" : "a1c39cf88b43def5-SEA", + "CF-RAY" : "a33dd8c87dd9a354-SEA", "anthropic-ratelimit-tokens-limit" : "12000000", "cf-cache-status" : "DYNAMIC", - "request-id" : "req_011Cd6LQWnwUHSsrj2p73A3q", - "anthropic-ratelimit-tokens-reset" : "2026-07-16T20:03:57Z", + "request-id" : "req_011CebF2PivaBHsoekcFMGPB", + "anthropic-ratelimit-tokens-reset" : "2026-08-31T17:45:04Z", "strict-transport-security" : "max-age=31536000; includeSubDomains; preload", - "Date" : "Thu, 16 Jul 2026 20:03:57 GMT", + "Date" : "Mon, 31 Aug 2026 17:45:04 GMT", "X-Robots-Tag" : "none", - "anthropic-ratelimit-requests-reset" : "2026-07-16T20:03:57Z", + "anthropic-ratelimit-requests-reset" : "2026-08-31T17:45:04Z", "Cache-Control" : "no-cache", "anthropic-ratelimit-input-tokens-limit" : "10000000", - "traceresponse" : "00-7dd02b4662fbe5c9a881118d38645840-8065e3e8fa61226b-01", + "traceresponse" : "00-26bcec487d47344e73191d63f30d00fb-dce8b819b59bc035-01", "anthropic-ratelimit-output-tokens-remaining" : "2000000" } }, "uuid" : "8b734410-0716-34b9-a142-1be22ace494c", "persistent" : true, - "insertionIndex" : 21 + "insertionIndex" : 31 } \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/anthropic/mappings/v1_messages-c5c219eea6ec.json b/test-harness/src/testFixtures/resources/cassettes/anthropic/mappings/v1_messages-c5c219eea6ec.json index c5f4c9d1..a8b7a8e0 100644 --- a/test-harness/src/testFixtures/resources/cassettes/anthropic/mappings/v1_messages-c5c219eea6ec.json +++ b/test-harness/src/testFixtures/resources/cassettes/anthropic/mappings/v1_messages-c5c219eea6ec.json @@ -23,29 +23,30 @@ "Server" : "cloudflare", "vary" : "Accept-Encoding", "anthropic-ratelimit-output-tokens-limit" : "2000000", - "anthropic-ratelimit-output-tokens-reset" : "2026-07-07T17:18:12Z", - "anthropic-ratelimit-input-tokens-reset" : "2026-07-07T17:18:11Z", + "anthropic-ratelimit-output-tokens-reset" : "2026-08-31T17:44:38Z", + "anthropic-ratelimit-input-tokens-reset" : "2026-08-31T17:44:38Z", "anthropic-ratelimit-tokens-remaining" : "12000000", "anthropic-ratelimit-requests-limit" : "20000", + "anthropic-workspace-id" : "wrkspc_01J8hau4yJ2SKvtbeP9drm9A", "Content-Security-Policy" : "default-src 'none'; frame-ancestors 'none'", "anthropic-ratelimit-input-tokens-remaining" : "10000000", "anthropic-ratelimit-requests-remaining" : "19999", "Content-Type" : "application/json", - "CF-RAY" : "a17881cbfc63d447-SEA", + "CF-RAY" : "a33dd8260f87e945-SEA", "anthropic-ratelimit-tokens-limit" : "12000000", "cf-cache-status" : "DYNAMIC", - "request-id" : "req_011Cco5VBQhVL6a7WDpd5NiC", - "anthropic-ratelimit-tokens-reset" : "2026-07-07T17:18:11Z", + "request-id" : "req_011CebEzUNRAYaauSCGN81fF", + "anthropic-ratelimit-tokens-reset" : "2026-08-31T17:44:38Z", "strict-transport-security" : "max-age=31536000; includeSubDomains; preload", - "Date" : "Tue, 07 Jul 2026 17:18:12 GMT", + "Date" : "Mon, 31 Aug 2026 17:44:38 GMT", "X-Robots-Tag" : "none", - "anthropic-ratelimit-requests-reset" : "2026-07-07T17:18:11Z", + "anthropic-ratelimit-requests-reset" : "2026-08-31T17:44:38Z", "anthropic-ratelimit-input-tokens-limit" : "10000000", - "traceresponse" : "00-ff9c394cddcac700ee1f55d0d2d31678-e54269942eaab1b5-01", + "traceresponse" : "00-a853ee8486710230a12095d3d188563a-df3ac3ca13472afe-01", "anthropic-ratelimit-output-tokens-remaining" : "2000000" } }, "uuid" : "b7ab2684-0b68-376f-9ce0-2362938ebd6a", "persistent" : true, - "insertionIndex" : 19 + "insertionIndex" : 29 } \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/anthropic/mappings/v1_messages-d2d0682969b0.json b/test-harness/src/testFixtures/resources/cassettes/anthropic/mappings/v1_messages-d2d0682969b0.json index ec32e6a4..1b3346fc 100644 --- a/test-harness/src/testFixtures/resources/cassettes/anthropic/mappings/v1_messages-d2d0682969b0.json +++ b/test-harness/src/testFixtures/resources/cassettes/anthropic/mappings/v1_messages-d2d0682969b0.json @@ -23,25 +23,26 @@ "Server" : "cloudflare", "vary" : "Accept-Encoding", "anthropic-ratelimit-output-tokens-limit" : "2000000", - "anthropic-ratelimit-output-tokens-reset" : "2026-07-07T17:16:47Z", - "anthropic-ratelimit-input-tokens-reset" : "2026-07-07T17:16:46Z", + "anthropic-ratelimit-output-tokens-reset" : "2026-08-31T17:39:32Z", + "anthropic-ratelimit-input-tokens-reset" : "2026-08-31T17:39:32Z", "anthropic-ratelimit-tokens-remaining" : "12000000", "anthropic-ratelimit-requests-limit" : "20000", + "anthropic-workspace-id" : "wrkspc_01J8hau4yJ2SKvtbeP9drm9A", "Content-Security-Policy" : "default-src 'none'; frame-ancestors 'none'", "anthropic-ratelimit-input-tokens-remaining" : "10000000", "anthropic-ratelimit-requests-remaining" : "19999", "Content-Type" : "application/json", - "CF-RAY" : "a1787fb41930eb6b-SEA", + "CF-RAY" : "a33dd0ae8ec9388f-SEA", "anthropic-ratelimit-tokens-limit" : "12000000", "cf-cache-status" : "DYNAMIC", - "request-id" : "req_011Cco5Nrp6S34523eCtkavV", - "anthropic-ratelimit-tokens-reset" : "2026-07-07T17:16:46Z", + "request-id" : "req_011CebEbvjHkUw5JQTRo1wfs", + "anthropic-ratelimit-tokens-reset" : "2026-08-31T17:39:32Z", "strict-transport-security" : "max-age=31536000; includeSubDomains; preload", - "Date" : "Tue, 07 Jul 2026 17:16:47 GMT", + "Date" : "Mon, 31 Aug 2026 17:39:32 GMT", "X-Robots-Tag" : "none", - "anthropic-ratelimit-requests-reset" : "2026-07-07T17:16:46Z", + "anthropic-ratelimit-requests-reset" : "2026-08-31T17:39:32Z", "anthropic-ratelimit-input-tokens-limit" : "10000000", - "traceresponse" : "00-9aef0040e4804305d98ab7f7434e746d-76f3f02dd9c6f67f-01", + "traceresponse" : "00-98db9d2978e601380c2ce72391349f9d-a48b331edf1d1402-01", "anthropic-ratelimit-output-tokens-remaining" : "2000000" } }, @@ -49,5 +50,6 @@ "persistent" : true, "scenarioName" : "scenario-2-v1-messages", "requiredScenarioState" : "scenario-2-v1-messages-2", - "insertionIndex" : 12 + "newScenarioState" : "scenario-2-v1-messages-3", + "insertionIndex" : 19 } \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/anthropic/mappings/v1_messages-d7272d43310d.json b/test-harness/src/testFixtures/resources/cassettes/anthropic/mappings/v1_messages-d7272d43310d.json index c864823c..601b0426 100644 --- a/test-harness/src/testFixtures/resources/cassettes/anthropic/mappings/v1_messages-d7272d43310d.json +++ b/test-harness/src/testFixtures/resources/cassettes/anthropic/mappings/v1_messages-d7272d43310d.json @@ -23,8 +23,8 @@ "Server" : "cloudflare", "vary" : "Accept-Encoding", "anthropic-ratelimit-output-tokens-limit" : "2000000", - "anthropic-ratelimit-output-tokens-reset" : "2026-08-18T05:25:19Z", - "anthropic-ratelimit-input-tokens-reset" : "2026-08-18T05:25:18Z", + "anthropic-ratelimit-output-tokens-reset" : "2026-08-31T17:37:10Z", + "anthropic-ratelimit-input-tokens-reset" : "2026-08-31T17:37:09Z", "anthropic-ratelimit-tokens-remaining" : "11994000", "anthropic-ratelimit-requests-limit" : "20000", "anthropic-workspace-id" : "wrkspc_01J8hau4yJ2SKvtbeP9drm9A", @@ -32,21 +32,21 @@ "anthropic-ratelimit-input-tokens-remaining" : "9994000", "anthropic-ratelimit-requests-remaining" : "19999", "Content-Type" : "application/json", - "CF-RAY" : "a2ce7f26b80bba52-SEA", + "CF-RAY" : "a33dcd14aec375aa-SEA", "anthropic-ratelimit-tokens-limit" : "12000000", "cf-cache-status" : "DYNAMIC", - "request-id" : "req_011Ce9f6GB4PWSdDnpWhdxbT", - "anthropic-ratelimit-tokens-reset" : "2026-08-18T05:25:18Z", + "request-id" : "req_011CebER47EqcpjaoTk5ohNU", + "anthropic-ratelimit-tokens-reset" : "2026-08-31T17:37:09Z", "strict-transport-security" : "max-age=31536000; includeSubDomains; preload", - "Date" : "Tue, 18 Aug 2026 05:25:19 GMT", + "Date" : "Mon, 31 Aug 2026 17:37:10 GMT", "X-Robots-Tag" : "none", - "anthropic-ratelimit-requests-reset" : "2026-08-18T05:25:14Z", + "anthropic-ratelimit-requests-reset" : "2026-08-31T17:37:04Z", "anthropic-ratelimit-input-tokens-limit" : "10000000", - "traceresponse" : "00-f711a485285ab38714b55ee1fe88aa68-b8ad80fc286ded83-01", + "traceresponse" : "00-e5166991f7d062dd5e86b3c6eab06e84-ad12c6fd8be1e0f2-01", "anthropic-ratelimit-output-tokens-remaining" : "2000000" } }, "uuid" : "8474ba87-903a-3635-9126-e84b6c20e0b9", "persistent" : true, - "insertionIndex" : 28 + "insertionIndex" : 13 } \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/anthropic/mappings/v1_messages-df70de7764ec.json b/test-harness/src/testFixtures/resources/cassettes/anthropic/mappings/v1_messages-df70de7764ec.json new file mode 100644 index 00000000..a01f788b --- /dev/null +++ b/test-harness/src/testFixtures/resources/cassettes/anthropic/mappings/v1_messages-df70de7764ec.json @@ -0,0 +1,55 @@ +{ + "id" : "bcd3ac40-a35f-3a9c-8448-080bd5529cc5", + "name" : "v1_messages", + "request" : { + "url" : "/v1/messages", + "method" : "POST", + "headers" : { + "Content-Type" : { + "equalTo" : "application/json" + } + }, + "bodyPatterns" : [ { + "equalToJson" : "{\"max_tokens\":128,\"messages\":[{\"content\":\"What is the capital of France?\",\"role\":\"user\"}],\"model\":\"claude-haiku-4-5-20251001\",\"system\":\"You are a helpful assistant.\",\"temperature\":0.0}", + "ignoreArrayOrder" : true, + "ignoreExtraElements" : false + } ] + }, + "response" : { + "status" : 200, + "bodyFileName" : "v1_messages-df70de7764ec.json", + "headers" : { + "anthropic-organization-id" : "27796668-7351-40ac-acc4-024aee8995a5", + "Server" : "cloudflare", + "vary" : "Accept-Encoding", + "anthropic-ratelimit-output-tokens-limit" : "2000000", + "anthropic-ratelimit-output-tokens-reset" : "2026-08-31T17:37:20Z", + "anthropic-ratelimit-input-tokens-reset" : "2026-08-31T17:37:20Z", + "anthropic-ratelimit-tokens-remaining" : "12000000", + "anthropic-ratelimit-requests-limit" : "20000", + "anthropic-workspace-id" : "wrkspc_01J8hau4yJ2SKvtbeP9drm9A", + "Content-Security-Policy" : "default-src 'none'; frame-ancestors 'none'", + "anthropic-ratelimit-input-tokens-remaining" : "10000000", + "anthropic-ratelimit-requests-remaining" : "19999", + "Content-Type" : "application/json", + "CF-RAY" : "a33dcd7658441d77-SEA", + "anthropic-ratelimit-tokens-limit" : "12000000", + "cf-cache-status" : "DYNAMIC", + "request-id" : "req_011CebESCtcEAExSTQWnCNG3", + "anthropic-ratelimit-tokens-reset" : "2026-08-31T17:37:20Z", + "strict-transport-security" : "max-age=31536000; includeSubDomains; preload", + "Date" : "Mon, 31 Aug 2026 17:37:20 GMT", + "X-Robots-Tag" : "none", + "anthropic-ratelimit-requests-reset" : "2026-08-31T17:37:20Z", + "anthropic-ratelimit-input-tokens-limit" : "10000000", + "traceresponse" : "00-5ddd5e2683a28ae160773da93fdf6c5a-b7037e15b7db8e07-01", + "anthropic-ratelimit-output-tokens-remaining" : "2000000" + } + }, + "uuid" : "bcd3ac40-a35f-3a9c-8448-080bd5529cc5", + "persistent" : true, + "scenarioName" : "scenario-2-v1-messages", + "requiredScenarioState" : "Started", + "newScenarioState" : "scenario-2-v1-messages-2", + "insertionIndex" : 6 +} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/anthropic/mappings/v1_messages-ebc50622068c.json b/test-harness/src/testFixtures/resources/cassettes/anthropic/mappings/v1_messages-ebc50622068c.json index 49a73d86..2f06d32e 100644 --- a/test-harness/src/testFixtures/resources/cassettes/anthropic/mappings/v1_messages-ebc50622068c.json +++ b/test-harness/src/testFixtures/resources/cassettes/anthropic/mappings/v1_messages-ebc50622068c.json @@ -23,29 +23,30 @@ "Server" : "cloudflare", "vary" : "Accept-Encoding", "anthropic-ratelimit-output-tokens-limit" : "2000000", - "anthropic-ratelimit-output-tokens-reset" : "2026-07-07T17:18:09Z", - "anthropic-ratelimit-input-tokens-reset" : "2026-07-07T17:18:09Z", + "anthropic-ratelimit-output-tokens-reset" : "2026-08-31T17:44:34Z", + "anthropic-ratelimit-input-tokens-reset" : "2026-08-31T17:44:34Z", "anthropic-ratelimit-tokens-remaining" : "12000000", "anthropic-ratelimit-requests-limit" : "20000", + "anthropic-workspace-id" : "wrkspc_01J8hau4yJ2SKvtbeP9drm9A", "Content-Security-Policy" : "default-src 'none'; frame-ancestors 'none'", "anthropic-ratelimit-input-tokens-remaining" : "10000000", "anthropic-ratelimit-requests-remaining" : "19999", "Content-Type" : "application/json", - "CF-RAY" : "a17881b78cfbba1b-SEA", + "CF-RAY" : "a33dd809bd2fb9c7-SEA", "anthropic-ratelimit-tokens-limit" : "12000000", "cf-cache-status" : "DYNAMIC", - "request-id" : "req_011Cco5UwRpYXUAiJwKN2VRy", - "anthropic-ratelimit-tokens-reset" : "2026-07-07T17:18:09Z", + "request-id" : "req_011CebEz99GnJ4tAPskF4M9R", + "anthropic-ratelimit-tokens-reset" : "2026-08-31T17:44:34Z", "strict-transport-security" : "max-age=31536000; includeSubDomains; preload", - "Date" : "Tue, 07 Jul 2026 17:18:09 GMT", + "Date" : "Mon, 31 Aug 2026 17:44:34 GMT", "X-Robots-Tag" : "none", - "anthropic-ratelimit-requests-reset" : "2026-07-07T17:18:08Z", + "anthropic-ratelimit-requests-reset" : "2026-08-31T17:44:33Z", "anthropic-ratelimit-input-tokens-limit" : "10000000", - "traceresponse" : "00-078a055f27f90767ddecca0dc576b369-3cf11a2108d476fc-01", + "traceresponse" : "00-13d5efb544506bb096a7cb4b77767643-922003701b4de23f-01", "anthropic-ratelimit-output-tokens-remaining" : "2000000" } }, "uuid" : "8cd464d5-51d0-3166-b164-4d8f6713fef2", "persistent" : true, - "insertionIndex" : 20 + "insertionIndex" : 30 } \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/anthropic/mappings/v1_messages-ecc8763eb562.json b/test-harness/src/testFixtures/resources/cassettes/anthropic/mappings/v1_messages-ecc8763eb562.json index 0ef2bfeb..73765bf8 100644 --- a/test-harness/src/testFixtures/resources/cassettes/anthropic/mappings/v1_messages-ecc8763eb562.json +++ b/test-harness/src/testFixtures/resources/cassettes/anthropic/mappings/v1_messages-ecc8763eb562.json @@ -23,29 +23,30 @@ "Server" : "cloudflare", "vary" : "Accept-Encoding", "anthropic-ratelimit-output-tokens-limit" : "2000000", - "anthropic-ratelimit-output-tokens-reset" : "2026-07-07T17:15:17Z", - "anthropic-ratelimit-input-tokens-reset" : "2026-07-07T17:15:15Z", + "anthropic-ratelimit-output-tokens-reset" : "2026-08-31T17:37:26Z", + "anthropic-ratelimit-input-tokens-reset" : "2026-08-31T17:37:25Z", "anthropic-ratelimit-tokens-remaining" : "11999000", "anthropic-ratelimit-requests-limit" : "20000", + "anthropic-workspace-id" : "wrkspc_01J8hau4yJ2SKvtbeP9drm9A", "Content-Security-Policy" : "default-src 'none'; frame-ancestors 'none'", "anthropic-ratelimit-input-tokens-remaining" : "9999000", "anthropic-ratelimit-requests-remaining" : "19999", "Content-Type" : "application/json", - "CF-RAY" : "a1787d7c5c58ba2e-SEA", + "CF-RAY" : "a33dcd916ea7a384-SEA", "anthropic-ratelimit-tokens-limit" : "12000000", "cf-cache-status" : "DYNAMIC", - "request-id" : "req_011Cco5GASYaxUbSi9xRULT6", - "anthropic-ratelimit-tokens-reset" : "2026-07-07T17:15:15Z", + "request-id" : "req_011CebESXR5bfbFVeCgpugK5", + "anthropic-ratelimit-tokens-reset" : "2026-08-31T17:37:25Z", "strict-transport-security" : "max-age=31536000; includeSubDomains; preload", - "Date" : "Tue, 07 Jul 2026 17:15:17 GMT", + "Date" : "Mon, 31 Aug 2026 17:37:26 GMT", "X-Robots-Tag" : "none", - "anthropic-ratelimit-requests-reset" : "2026-07-07T17:15:15Z", + "anthropic-ratelimit-requests-reset" : "2026-08-31T17:37:24Z", "anthropic-ratelimit-input-tokens-limit" : "10000000", - "traceresponse" : "00-f28ad470081c2427da1448a32e84a37c-df813a304041dd10-01", + "traceresponse" : "00-99099051a9b93b463899e92a51406586-ef558f3235c04b4e-01", "anthropic-ratelimit-output-tokens-remaining" : "2000000" } }, "uuid" : "d86b9b35-64fb-3e63-9d2e-4432f4db5ad8", "persistent" : true, - "insertionIndex" : 3 + "insertionIndex" : 2 } \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/anthropic/mappings/v1_messages-f60cef52b21d.json b/test-harness/src/testFixtures/resources/cassettes/anthropic/mappings/v1_messages-f60cef52b21d.json index 530b2129..99b94e5b 100644 --- a/test-harness/src/testFixtures/resources/cassettes/anthropic/mappings/v1_messages-f60cef52b21d.json +++ b/test-harness/src/testFixtures/resources/cassettes/anthropic/mappings/v1_messages-f60cef52b21d.json @@ -23,29 +23,30 @@ "Server" : "cloudflare", "vary" : "Accept-Encoding", "anthropic-ratelimit-output-tokens-limit" : "2000000", - "anthropic-ratelimit-output-tokens-reset" : "2026-07-07T17:15:14Z", - "anthropic-ratelimit-input-tokens-reset" : "2026-07-07T17:15:14Z", + "anthropic-ratelimit-output-tokens-reset" : "2026-08-31T17:37:17Z", + "anthropic-ratelimit-input-tokens-reset" : "2026-08-31T17:37:17Z", "anthropic-ratelimit-tokens-remaining" : "11999000", "anthropic-ratelimit-requests-limit" : "20000", + "anthropic-workspace-id" : "wrkspc_01J8hau4yJ2SKvtbeP9drm9A", "Content-Security-Policy" : "default-src 'none'; frame-ancestors 'none'", "anthropic-ratelimit-input-tokens-remaining" : "9999000", "anthropic-ratelimit-requests-remaining" : "19999", "Content-Type" : "application/json", - "CF-RAY" : "a1787d70cb51ec9c-SEA", + "CF-RAY" : "a33dcd600f3f4224-SEA", "anthropic-ratelimit-tokens-limit" : "12000000", "cf-cache-status" : "DYNAMIC", - "request-id" : "req_011Cco5G2Z2rUV8qVVHBCX3w", - "anthropic-ratelimit-tokens-reset" : "2026-07-07T17:15:14Z", + "request-id" : "req_011CebERwoWNYTW3T7ZssbPE", + "anthropic-ratelimit-tokens-reset" : "2026-08-31T17:37:17Z", "strict-transport-security" : "max-age=31536000; includeSubDomains; preload", - "Date" : "Tue, 07 Jul 2026 17:15:14 GMT", + "Date" : "Mon, 31 Aug 2026 17:37:17 GMT", "X-Robots-Tag" : "none", - "anthropic-ratelimit-requests-reset" : "2026-07-07T17:15:13Z", + "anthropic-ratelimit-requests-reset" : "2026-08-31T17:37:16Z", "anthropic-ratelimit-input-tokens-limit" : "10000000", - "traceresponse" : "00-5f5b73b03ed3d22c4b9e2bbe707bb1c3-434cf03d4ee27c35-01", + "traceresponse" : "00-958f9fca33fe9088b14936e1112c781a-6afff34bffc2abde-01", "anthropic-ratelimit-output-tokens-remaining" : "2000000" } }, "uuid" : "c98686b9-91d1-3d4b-8527-d23623d64f3f", "persistent" : true, - "insertionIndex" : 4 + "insertionIndex" : 9 } \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/anthropic/mappings/v1_messages-21a878708183.json b/test-harness/src/testFixtures/resources/cassettes/anthropic/mappings/v1_messages-f927033e208f.json similarity index 72% rename from test-harness/src/testFixtures/resources/cassettes/anthropic/mappings/v1_messages-21a878708183.json rename to test-harness/src/testFixtures/resources/cassettes/anthropic/mappings/v1_messages-f927033e208f.json index b64436ca..df593ac1 100644 --- a/test-harness/src/testFixtures/resources/cassettes/anthropic/mappings/v1_messages-21a878708183.json +++ b/test-harness/src/testFixtures/resources/cassettes/anthropic/mappings/v1_messages-f927033e208f.json @@ -1,5 +1,5 @@ { - "id" : "bdd0773e-b24b-3313-bebd-ee4492fed7b9", + "id" : "5442dce1-587a-3845-9155-32fc44d8fc6e", "name" : "v1_messages", "request" : { "url" : "/v1/messages", @@ -17,35 +17,38 @@ }, "response" : { "status" : 200, - "bodyFileName" : "v1_messages-21a878708183.json", + "bodyFileName" : "v1_messages-f927033e208f.json", "headers" : { "anthropic-organization-id" : "27796668-7351-40ac-acc4-024aee8995a5", "Server" : "cloudflare", "vary" : "Accept-Encoding", "anthropic-ratelimit-output-tokens-limit" : "2000000", - "anthropic-ratelimit-output-tokens-reset" : "2026-07-18T00:01:24Z", - "anthropic-ratelimit-input-tokens-reset" : "2026-07-18T00:01:23Z", + "anthropic-ratelimit-output-tokens-reset" : "2026-08-31T17:37:28Z", + "anthropic-ratelimit-input-tokens-reset" : "2026-08-31T17:37:27Z", "anthropic-ratelimit-tokens-remaining" : "11999000", "anthropic-ratelimit-requests-limit" : "20000", + "anthropic-workspace-id" : "wrkspc_01J8hau4yJ2SKvtbeP9drm9A", "Content-Security-Policy" : "default-src 'none'; frame-ancestors 'none'", "anthropic-ratelimit-input-tokens-remaining" : "9999000", "anthropic-ratelimit-requests-remaining" : "19999", "Content-Type" : "application/json", - "CF-RAY" : "a1cd3620b8a975d9-SEA", + "CF-RAY" : "a33dcd9d4ba4a382-SEA", "anthropic-ratelimit-tokens-limit" : "12000000", "cf-cache-status" : "DYNAMIC", - "request-id" : "req_011Cd8YKWkUnHF9U9sjetdtY", - "anthropic-ratelimit-tokens-reset" : "2026-07-18T00:01:23Z", + "request-id" : "req_011CebESfbD59bsLXS9bvntu", + "anthropic-ratelimit-tokens-reset" : "2026-08-31T17:37:27Z", "strict-transport-security" : "max-age=31536000; includeSubDomains; preload", - "Date" : "Sat, 18 Jul 2026 00:01:24 GMT", + "Date" : "Mon, 31 Aug 2026 17:37:28 GMT", "X-Robots-Tag" : "none", - "anthropic-ratelimit-requests-reset" : "2026-07-18T00:01:22Z", + "anthropic-ratelimit-requests-reset" : "2026-08-31T17:37:26Z", "anthropic-ratelimit-input-tokens-limit" : "10000000", - "traceresponse" : "00-839a841b03ba3c732565efa9e60a390b-c8fbeec0d8049f82-01", + "traceresponse" : "00-800bc9afeeaff270691a9f204425e513-b1c23946ee457853-01", "anthropic-ratelimit-output-tokens-remaining" : "2000000" } }, - "uuid" : "bdd0773e-b24b-3313-bebd-ee4492fed7b9", + "uuid" : "5442dce1-587a-3845-9155-32fc44d8fc6e", "persistent" : true, - "insertionIndex" : 24 + "scenarioName" : "scenario-1-v1-messages", + "requiredScenarioState" : "scenario-1-v1-messages-2", + "insertionIndex" : 1 } \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/anthropic/mappings/v1_messages-ecd70db36f85.json b/test-harness/src/testFixtures/resources/cassettes/anthropic/mappings/v1_messages-f948f576465a.json similarity index 64% rename from test-harness/src/testFixtures/resources/cassettes/anthropic/mappings/v1_messages-ecd70db36f85.json rename to test-harness/src/testFixtures/resources/cassettes/anthropic/mappings/v1_messages-f948f576465a.json index 5d101af3..5e813830 100644 --- a/test-harness/src/testFixtures/resources/cassettes/anthropic/mappings/v1_messages-ecd70db36f85.json +++ b/test-harness/src/testFixtures/resources/cassettes/anthropic/mappings/v1_messages-f948f576465a.json @@ -1,5 +1,5 @@ { - "id" : "7e7426d7-1e1f-32fe-a876-2b1bc615edf2", + "id" : "927cdf5c-5816-3e86-8725-b7fd3f5a0466", "name" : "v1_messages", "request" : { "url" : "/v1/messages", @@ -17,35 +17,38 @@ }, "response" : { "status" : 200, - "bodyFileName" : "v1_messages-ecd70db36f85.json", + "bodyFileName" : "v1_messages-f948f576465a.json", "headers" : { "anthropic-organization-id" : "27796668-7351-40ac-acc4-024aee8995a5", "Server" : "cloudflare", "vary" : "Accept-Encoding", "anthropic-ratelimit-output-tokens-limit" : "2000000", - "anthropic-ratelimit-output-tokens-reset" : "2026-07-18T00:01:22Z", - "anthropic-ratelimit-input-tokens-reset" : "2026-07-18T00:01:22Z", + "anthropic-ratelimit-output-tokens-reset" : "2026-08-31T17:37:22Z", + "anthropic-ratelimit-input-tokens-reset" : "2026-08-31T17:37:22Z", "anthropic-ratelimit-tokens-remaining" : "12000000", "anthropic-ratelimit-requests-limit" : "20000", + "anthropic-workspace-id" : "wrkspc_01J8hau4yJ2SKvtbeP9drm9A", "Content-Security-Policy" : "default-src 'none'; frame-ancestors 'none'", "anthropic-ratelimit-input-tokens-remaining" : "10000000", "anthropic-ratelimit-requests-remaining" : "19999", "Content-Type" : "application/json", - "CF-RAY" : "a1cd3620ac70762e-SEA", + "CF-RAY" : "a33dcd80de57b9b2-SEA", "anthropic-ratelimit-tokens-limit" : "12000000", "cf-cache-status" : "DYNAMIC", - "request-id" : "req_011Cd8YKVxMYhjXEScosxLPH", - "anthropic-ratelimit-tokens-reset" : "2026-07-18T00:01:22Z", + "request-id" : "req_011CebESL5x93iKeyehqYWUe", + "anthropic-ratelimit-tokens-reset" : "2026-08-31T17:37:22Z", "strict-transport-security" : "max-age=31536000; includeSubDomains; preload", - "Date" : "Sat, 18 Jul 2026 00:01:22 GMT", + "Date" : "Mon, 31 Aug 2026 17:37:22 GMT", "X-Robots-Tag" : "none", - "anthropic-ratelimit-requests-reset" : "2026-07-18T00:01:22Z", + "anthropic-ratelimit-requests-reset" : "2026-08-31T17:37:22Z", "anthropic-ratelimit-input-tokens-limit" : "10000000", - "traceresponse" : "00-aaef19a992c73921be91c7e20653634e-6b05467d69b7beb2-01", + "traceresponse" : "00-660afe5dda990741c7ea62fd90890849-e0e7d16baac80504-01", "anthropic-ratelimit-output-tokens-remaining" : "2000000" } }, - "uuid" : "7e7426d7-1e1f-32fe-a876-2b1bc615edf2", + "uuid" : "927cdf5c-5816-3e86-8725-b7fd3f5a0466", "persistent" : true, - "insertionIndex" : 25 + "scenarioName" : "scenario-2-v1-messages", + "requiredScenarioState" : "scenario-2-v1-messages-2", + "insertionIndex" : 4 } \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/anthropic/mappings/v1_messages-fa9b4d1d898f.json b/test-harness/src/testFixtures/resources/cassettes/anthropic/mappings/v1_messages-fa9b4d1d898f.json index d14acfe0..ce38876d 100644 --- a/test-harness/src/testFixtures/resources/cassettes/anthropic/mappings/v1_messages-fa9b4d1d898f.json +++ b/test-harness/src/testFixtures/resources/cassettes/anthropic/mappings/v1_messages-fa9b4d1d898f.json @@ -23,25 +23,26 @@ "Server" : "cloudflare", "vary" : "Accept-Encoding", "anthropic-ratelimit-output-tokens-limit" : "2000000", - "anthropic-ratelimit-output-tokens-reset" : "2026-07-07T17:16:45Z", - "anthropic-ratelimit-input-tokens-reset" : "2026-07-07T17:16:44Z", + "anthropic-ratelimit-output-tokens-reset" : "2026-08-31T17:39:29Z", + "anthropic-ratelimit-input-tokens-reset" : "2026-08-31T17:39:29Z", "anthropic-ratelimit-tokens-remaining" : "12000000", "anthropic-ratelimit-requests-limit" : "20000", + "anthropic-workspace-id" : "wrkspc_01J8hau4yJ2SKvtbeP9drm9A", "Content-Security-Policy" : "default-src 'none'; frame-ancestors 'none'", "anthropic-ratelimit-input-tokens-remaining" : "10000000", "anthropic-ratelimit-requests-remaining" : "19999", "Content-Type" : "application/json", - "CF-RAY" : "a1787fa91f96b9aa-SEA", + "CF-RAY" : "a33dd0999a6c2403-SEA", "anthropic-ratelimit-tokens-limit" : "12000000", "cf-cache-status" : "DYNAMIC", - "request-id" : "req_011Cco5NjJPzJsq25mqh8Q7p", - "anthropic-ratelimit-tokens-reset" : "2026-07-07T17:16:44Z", + "request-id" : "req_011CebEbgRpJvc2yv4rAdDNb", + "anthropic-ratelimit-tokens-reset" : "2026-08-31T17:39:29Z", "strict-transport-security" : "max-age=31536000; includeSubDomains; preload", - "Date" : "Tue, 07 Jul 2026 17:16:45 GMT", + "Date" : "Mon, 31 Aug 2026 17:39:29 GMT", "X-Robots-Tag" : "none", - "anthropic-ratelimit-requests-reset" : "2026-07-07T17:16:44Z", + "anthropic-ratelimit-requests-reset" : "2026-08-31T17:39:29Z", "anthropic-ratelimit-input-tokens-limit" : "10000000", - "traceresponse" : "00-eadba841e4ada0086a178a486e87f45f-5279d0e973c13bac-01", + "traceresponse" : "00-d3ae465d4f63ffc8aeae1088859a01dc-17a3f6ae1be7894b-01", "anthropic-ratelimit-output-tokens-remaining" : "2000000" } }, @@ -50,5 +51,5 @@ "scenarioName" : "scenario-2-v1-messages", "requiredScenarioState" : "Started", "newScenarioState" : "scenario-2-v1-messages-2", - "insertionIndex" : 13 + "insertionIndex" : 21 } \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/anthropic/mappings/v1_messages-fd3be93f9126.json b/test-harness/src/testFixtures/resources/cassettes/anthropic/mappings/v1_messages-fd3be93f9126.json new file mode 100644 index 00000000..66ccf4f3 --- /dev/null +++ b/test-harness/src/testFixtures/resources/cassettes/anthropic/mappings/v1_messages-fd3be93f9126.json @@ -0,0 +1,55 @@ +{ + "id" : "621d0bcd-5211-3da6-a610-05f0bc3eca37", + "name" : "v1_messages", + "request" : { + "url" : "/v1/messages", + "method" : "POST", + "headers" : { + "Content-Type" : { + "equalTo" : "application/json" + } + }, + "bodyPatterns" : [ { + "equalToJson" : "{\"max_tokens\":50,\"messages\":[{\"content\":\"What is the capital of France?\",\"role\":\"user\"}],\"model\":\"claude-haiku-4-5\",\"system\":\"You are a helpful assistant\",\"temperature\":0.0,\"stream\":true}", + "ignoreArrayOrder" : true, + "ignoreExtraElements" : false + } ] + }, + "response" : { + "status" : 200, + "bodyFileName" : "v1_messages-fd3be93f9126.txt", + "headers" : { + "anthropic-organization-id" : "27796668-7351-40ac-acc4-024aee8995a5", + "Server" : "cloudflare", + "vary" : "Accept-Encoding", + "anthropic-ratelimit-output-tokens-limit" : "2000000", + "anthropic-ratelimit-output-tokens-reset" : "2026-08-31T17:39:47Z", + "anthropic-ratelimit-input-tokens-reset" : "2026-08-31T17:39:47Z", + "anthropic-ratelimit-tokens-remaining" : "12000000", + "anthropic-ratelimit-requests-limit" : "20000", + "anthropic-workspace-id" : "wrkspc_01J8hau4yJ2SKvtbeP9drm9A", + "Content-Security-Policy" : "default-src 'none'; frame-ancestors 'none'", + "anthropic-ratelimit-input-tokens-remaining" : "10000000", + "anthropic-ratelimit-requests-remaining" : "19999", + "Content-Type" : "text/event-stream; charset=utf-8", + "CF-RAY" : "a33dd10ccec1c25c-SEA", + "anthropic-ratelimit-tokens-limit" : "12000000", + "cf-cache-status" : "DYNAMIC", + "request-id" : "req_011CebEd3KT1XnSKPaetzwYv", + "anthropic-ratelimit-tokens-reset" : "2026-08-31T17:39:47Z", + "strict-transport-security" : "max-age=31536000; includeSubDomains; preload", + "Date" : "Mon, 31 Aug 2026 17:39:47 GMT", + "X-Robots-Tag" : "none", + "anthropic-ratelimit-requests-reset" : "2026-08-31T17:39:47Z", + "Cache-Control" : "no-cache", + "anthropic-ratelimit-input-tokens-limit" : "10000000", + "traceresponse" : "00-e7a696563bb1202c53dd86e5d5352998-aeb09909e9fccbf6-01", + "anthropic-ratelimit-output-tokens-remaining" : "2000000" + } + }, + "uuid" : "621d0bcd-5211-3da6-a610-05f0bc3eca37", + "persistent" : true, + "scenarioName" : "scenario-1-v1-messages", + "requiredScenarioState" : "scenario-1-v1-messages-3", + "insertionIndex" : 15 +} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/bedrock/__files/model_us.amazon.nova-lite-v10_converse-4db0a4c3f9d3.json b/test-harness/src/testFixtures/resources/cassettes/bedrock/__files/model_us.amazon.nova-lite-v10_converse-4db0a4c3f9d3.json index 745fdc83..b066939b 100644 --- a/test-harness/src/testFixtures/resources/cassettes/bedrock/__files/model_us.amazon.nova-lite-v10_converse-4db0a4c3f9d3.json +++ b/test-harness/src/testFixtures/resources/cassettes/bedrock/__files/model_us.amazon.nova-lite-v10_converse-4db0a4c3f9d3.json @@ -1 +1 @@ -{"metrics":{"latencyMs":847},"output":{"message":{"content":[{"text":"The capital of France is Paris. Paris is not only the capital but also the largest city in France, known for its rich history, culture, and iconic landmarks such as the Eiffel Tower, Notre-Dame Cathedral, and the Louvre Museum. It serves as a major center for art, fashion, gastronomy, and business in Europe."}],"role":"assistant"}},"stopReason":"end_turn","usage":{"inputTokens":7,"outputTokens":67,"serverToolUsage":{},"totalTokens":74}} \ No newline at end of file +{"metrics":{"latencyMs":1065},"output":{"message":{"content":[{"text":"The capital of France is Paris. Paris is not only the capital but also the largest city in France, known for its significant influence in various fields such as art, fashion, gastronomy, and culture. It is located in the northern part of the country along the Seine River. Paris is home to many famous landmarks and institutions, including the Eiffel Tower, the Louvre Museum, Notre-Dame Cathedral, and the Palace of Versailles. The city is divided into 20 administrative arrondissements (districts), each with its own unique character and attractions. As a global city, Paris plays a crucial role in international diplomacy, hosting numerous embassies and being the seat of various international organizations."}],"role":"assistant"}},"stopReason":"end_turn","usage":{"inputTokens":7,"outputTokens":137,"serverToolUsage":{},"totalTokens":144}} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/bedrock/__files/model_us.amazon.nova-lite-v10_converse-6d400a17d490.json b/test-harness/src/testFixtures/resources/cassettes/bedrock/__files/model_us.amazon.nova-lite-v10_converse-6d400a17d490.json index d4d4c43d..6c3d4a68 100644 --- a/test-harness/src/testFixtures/resources/cassettes/bedrock/__files/model_us.amazon.nova-lite-v10_converse-6d400a17d490.json +++ b/test-harness/src/testFixtures/resources/cassettes/bedrock/__files/model_us.amazon.nova-lite-v10_converse-6d400a17d490.json @@ -1 +1 @@ -{"metrics":{"latencyMs":345},"output":{"message":{"content":[{"text":"Paris"}],"role":"assistant"}},"stopReason":"end_turn","usage":{"inputTokens":12,"outputTokens":2,"serverToolUsage":{},"totalTokens":14}} \ No newline at end of file +{"metrics":{"latencyMs":447},"output":{"message":{"content":[{"text":"Paris"}],"role":"assistant"}},"stopReason":"end_turn","usage":{"inputTokens":12,"outputTokens":2,"serverToolUsage":{},"totalTokens":14}} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/bedrock/__files/model_us.amazon.nova-lite-v10_converse-c1cf32bb5183.json b/test-harness/src/testFixtures/resources/cassettes/bedrock/__files/model_us.amazon.nova-lite-v10_converse-c1cf32bb5183.json index 02d4a7b7..3ef37e33 100644 --- a/test-harness/src/testFixtures/resources/cassettes/bedrock/__files/model_us.amazon.nova-lite-v10_converse-c1cf32bb5183.json +++ b/test-harness/src/testFixtures/resources/cassettes/bedrock/__files/model_us.amazon.nova-lite-v10_converse-c1cf32bb5183.json @@ -1 +1 @@ -{"metrics":{"latencyMs":1909},"output":{"message":{"content":[{"text":"The first image shows a red background with no visible content or objects. The second image is a blank white background, also devoid of any discernible content."}],"role":"assistant"}},"stopReason":"end_turn","usage":{"inputTokens":2144,"outputTokens":32,"serverToolUsage":{},"totalTokens":2176}} \ No newline at end of file +{"metrics":{"latencyMs":2766},"output":{"message":{"content":[{"text":"The image depicts a table containing various numerical values and text. The table is organized with headers and rows, and it appears to be related to financial or statistical data. Here is a breakdown of the table:\n\nTable Breakdown:\n\nHeader:\n\n'%' (percent)\n'2023'\n'2022'\n\nRow 1:\n\n'Revenue'\n'5.4%'\n'3.4%'\n\nRow 2:\n\n'Operating Income'\n'4.2%'\n'1.4%'\n\nRow 3:\n\n'Net Income'\n'3.3%'\n'-0.2%'\n\nThe table shows percentage changes for the years 2023 and 2022 across three categories: Revenue, Operating Income, and Net Income. The data indicates positive growth in all three categories for 2023 compared to 2022."}],"role":"assistant"}},"stopReason":"end_turn","usage":{"inputTokens":2144,"outputTokens":176,"serverToolUsage":{},"totalTokens":2320}} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/bedrock/__files/model_us.amazon.nova-lite-v10_converse-stream-5cfd571ec323.txt b/test-harness/src/testFixtures/resources/cassettes/bedrock/__files/model_us.amazon.nova-lite-v10_converse-stream-5cfd571ec323.txt index 283cacfd..28a8eff3 100644 Binary files a/test-harness/src/testFixtures/resources/cassettes/bedrock/__files/model_us.amazon.nova-lite-v10_converse-stream-5cfd571ec323.txt and b/test-harness/src/testFixtures/resources/cassettes/bedrock/__files/model_us.amazon.nova-lite-v10_converse-stream-5cfd571ec323.txt differ diff --git a/test-harness/src/testFixtures/resources/cassettes/bedrock/__files/model_us.anthropic.claude-haiku-4-5-20251001-v10_converse-6b7d2a8e6e30.json b/test-harness/src/testFixtures/resources/cassettes/bedrock/__files/model_us.anthropic.claude-haiku-4-5-20251001-v10_converse-6b7d2a8e6e30.json deleted file mode 100644 index 8d2a9b37..00000000 --- a/test-harness/src/testFixtures/resources/cassettes/bedrock/__files/model_us.anthropic.claude-haiku-4-5-20251001-v10_converse-6b7d2a8e6e30.json +++ /dev/null @@ -1 +0,0 @@ -{"metrics":{"latencyMs":2187},"output":{"message":{"content":[{"reasoningContent":{"reasoningText":{"signature":"EoEECkgIERABGAIqQOXK8cSX7ezXjXQRvtb1XQsRJS/XNWZfOoh1UmQKZCNM8Uj0A6isq5cPGmNENwYJKcoWB9LJeJExTBrb3Pr4GhcSDGd7ge83G8bDZP9yYxoMPB9UfhSp6Mc5NTu1IjD39rrAZRB4LpiRmiLwR67QKyhWl88hCYV6NEcfaYh1JHocTXBcoTuOXatz08F8Zsoq5gJwUbAktJW1gBUNilvSks73FyOsDYmyiaay1LcxlddkZuUGZVsUrgxs4k9bvVchCNg+b9+62FJev+nF+yzUCLdm75Ug4lH/qaxEGoUR8E2r87EzCAchYg9ZNSuXx/9Ne6D14Y76J3g3D3Xypt0N1YECz13GD059ESmMSxhuWx9U6h0Vj6ixwkiqgNmAhE8+CjRfj1fRHOXTHOLi30Fc6qSnB3iSQ6qWnhaXItoH5MO3lwqFpP7dH8+L0CGhBMFsOIHe2T/otyD+I75XP1TDSE2TvUjm3IzHQc9ncFGAFEzlp2f4fF+Glh7dwSmF1XOqYmpshg6LIwANA+MI3efCsMxOVGrV4iY1/+kmfJ6XfCtfY1lGGN6eBQ/BioyvCuSX0AJPb9+K4LrnV7Hu+yyt3reTMt9meH/lIbbnmMvC2/9/eI+pfrN+oo9/2hG6jVIOgX6y/0KKBMZydyOhYa3nT57Z5q6KvssaGAE=","text":"Let me work through this carefully.\n\nThe farmer has 17 sheep.\n\"All but 9 run away\"\n\nThis means that all the sheep EXCEPT 9 run away.\n\nSo if all but 9 run away, then 9 sheep remain.\n\nLet me double-check: \n- Started with: 17 sheep\n- All but 9 ran away, meaning (17 - 9) = 8 sheep ran away\n- Sheep left: 9\n\nYes, that's correct. 9 sheep are left."}}},{"text":"# Reasoning\n\n\"All but 9 run away\" means that 9 sheep do NOT run away—they stay.\n\nSo if the farmer started with 17 sheep, and all except 9 of them ran away, then 9 sheep remain.\n\n# Answer\n\n**9 sheep are left**"}],"role":"assistant"}},"stopReason":"end_turn","usage":{"cacheReadInputTokenCount":0,"cacheReadInputTokens":0,"cacheWriteInputTokenCount":0,"cacheWriteInputTokens":0,"inputTokens":68,"outputTokens":202,"serverToolUsage":{},"totalTokens":270}} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/bedrock/__files/model_us.anthropic.claude-haiku-4-5-20251001-v10_converse-a0c323c8e12f.json b/test-harness/src/testFixtures/resources/cassettes/bedrock/__files/model_us.anthropic.claude-haiku-4-5-20251001-v10_converse-a0c323c8e12f.json index 917b539f..bfad1d6f 100644 --- a/test-harness/src/testFixtures/resources/cassettes/bedrock/__files/model_us.anthropic.claude-haiku-4-5-20251001-v10_converse-a0c323c8e12f.json +++ b/test-harness/src/testFixtures/resources/cassettes/bedrock/__files/model_us.anthropic.claude-haiku-4-5-20251001-v10_converse-a0c323c8e12f.json @@ -1 +1 @@ -{"metrics":{"latencyMs":971},"output":{"message":{"content":[{"text":"Paris"}],"role":"assistant"}},"stopReason":"end_turn","usage":{"cacheReadInputTokenCount":0,"cacheReadInputTokens":0,"cacheWriteInputTokenCount":0,"cacheWriteInputTokens":0,"inputTokens":19,"outputTokens":4,"serverToolUsage":{},"totalTokens":23}} \ No newline at end of file +{"metrics":{"latencyMs":16818},"output":{"message":{"content":[{"text":"Paris"}],"role":"assistant"}},"stopReason":"end_turn","usage":{"cacheReadInputTokenCount":0,"cacheReadInputTokens":0,"inputTokens":19,"outputTokens":4,"serverToolUsage":{},"totalTokens":23}} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/bedrock/__files/model_us.anthropic.claude-haiku-4-5-20251001-v10_converse-stream-7036d5c4e7a0.txt b/test-harness/src/testFixtures/resources/cassettes/bedrock/__files/model_us.anthropic.claude-haiku-4-5-20251001-v10_converse-stream-7036d5c4e7a0.txt index 3e9b8e88..06c94c66 100644 Binary files a/test-harness/src/testFixtures/resources/cassettes/bedrock/__files/model_us.anthropic.claude-haiku-4-5-20251001-v10_converse-stream-7036d5c4e7a0.txt and b/test-harness/src/testFixtures/resources/cassettes/bedrock/__files/model_us.anthropic.claude-haiku-4-5-20251001-v10_converse-stream-7036d5c4e7a0.txt differ diff --git a/test-harness/src/testFixtures/resources/cassettes/bedrock/__files/model_us.anthropic.claude-sonnet-4-5-20250929-v10_converse-530d2233ec90.json b/test-harness/src/testFixtures/resources/cassettes/bedrock/__files/model_us.anthropic.claude-sonnet-4-5-20250929-v10_converse-530d2233ec90.json deleted file mode 100644 index f8eb36dd..00000000 --- a/test-harness/src/testFixtures/resources/cassettes/bedrock/__files/model_us.anthropic.claude-sonnet-4-5-20250929-v10_converse-530d2233ec90.json +++ /dev/null @@ -1 +0,0 @@ -{"metrics":{"latencyMs":1328},"output":{"message":{"content":[{"text":"Paris."}],"role":"assistant"}},"stopReason":"end_turn","usage":{"cacheDetails":[{"inputTokens":1175,"ttl":"5m"}],"cacheReadInputTokenCount":0,"cacheReadInputTokens":0,"cacheWriteInputTokenCount":1175,"cacheWriteInputTokens":1175,"inputTokens":12,"outputTokens":5,"serverToolUsage":{},"totalTokens":1192}} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/bedrock/__files/model_us.anthropic.claude-sonnet-4-5-20250929-v10_converse-705351f1acd8.json b/test-harness/src/testFixtures/resources/cassettes/bedrock/__files/model_us.anthropic.claude-sonnet-4-5-20250929-v10_converse-705351f1acd8.json deleted file mode 100644 index c5ec2fc5..00000000 --- a/test-harness/src/testFixtures/resources/cassettes/bedrock/__files/model_us.anthropic.claude-sonnet-4-5-20250929-v10_converse-705351f1acd8.json +++ /dev/null @@ -1 +0,0 @@ -{"metrics":{"latencyMs":1696},"output":{"message":{"content":[{"text":"Paris."}],"role":"assistant"}},"stopReason":"end_turn","usage":{"cacheReadInputTokenCount":1175,"cacheReadInputTokens":1175,"cacheWriteInputTokenCount":0,"cacheWriteInputTokens":0,"inputTokens":12,"outputTokens":5,"serverToolUsage":{},"totalTokens":1192}} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/bedrock/mappings/model_us.amazon.nova-lite-v10_converse-4db0a4c3f9d3.json b/test-harness/src/testFixtures/resources/cassettes/bedrock/mappings/model_us.amazon.nova-lite-v10_converse-4db0a4c3f9d3.json index 4ca54f58..5ead0012 100644 --- a/test-harness/src/testFixtures/resources/cassettes/bedrock/mappings/model_us.amazon.nova-lite-v10_converse-4db0a4c3f9d3.json +++ b/test-harness/src/testFixtures/resources/cassettes/bedrock/mappings/model_us.amazon.nova-lite-v10_converse-4db0a4c3f9d3.json @@ -19,8 +19,8 @@ "status" : 200, "bodyFileName" : "model_us.amazon.nova-lite-v10_converse-4db0a4c3f9d3.json", "headers" : { - "x-amzn-RequestId" : "22547faa-14bf-4da6-a06e-35f606b3367f", - "Date" : "Tue, 07 Jul 2026 17:15:00 GMT", + "x-amzn-RequestId" : "431a9b85-fccd-4208-bb4d-665bf9a7409f", + "Date" : "Mon, 31 Aug 2026 17:36:58 GMT", "Content-Type" : "application/json" } }, diff --git a/test-harness/src/testFixtures/resources/cassettes/bedrock/mappings/model_us.amazon.nova-lite-v10_converse-6d400a17d490.json b/test-harness/src/testFixtures/resources/cassettes/bedrock/mappings/model_us.amazon.nova-lite-v10_converse-6d400a17d490.json index 9281dc4b..b6367ab8 100644 --- a/test-harness/src/testFixtures/resources/cassettes/bedrock/mappings/model_us.amazon.nova-lite-v10_converse-6d400a17d490.json +++ b/test-harness/src/testFixtures/resources/cassettes/bedrock/mappings/model_us.amazon.nova-lite-v10_converse-6d400a17d490.json @@ -19,8 +19,8 @@ "status" : 200, "bodyFileName" : "model_us.amazon.nova-lite-v10_converse-6d400a17d490.json", "headers" : { - "x-amzn-RequestId" : "7d4ebcff-c2a7-4af7-a991-066fdf6819fe", - "Date" : "Tue, 07 Jul 2026 17:17:29 GMT", + "x-amzn-RequestId" : "578bb3ef-7667-493a-bf9e-fa34a192dc90", + "Date" : "Mon, 31 Aug 2026 17:40:24 GMT", "Content-Type" : "application/json" } }, diff --git a/test-harness/src/testFixtures/resources/cassettes/bedrock/mappings/model_us.amazon.nova-lite-v10_converse-c1cf32bb5183.json b/test-harness/src/testFixtures/resources/cassettes/bedrock/mappings/model_us.amazon.nova-lite-v10_converse-c1cf32bb5183.json index 4febae2c..ff48408a 100644 --- a/test-harness/src/testFixtures/resources/cassettes/bedrock/mappings/model_us.amazon.nova-lite-v10_converse-c1cf32bb5183.json +++ b/test-harness/src/testFixtures/resources/cassettes/bedrock/mappings/model_us.amazon.nova-lite-v10_converse-c1cf32bb5183.json @@ -19,8 +19,8 @@ "status" : 200, "bodyFileName" : "model_us.amazon.nova-lite-v10_converse-c1cf32bb5183.json", "headers" : { - "x-amzn-RequestId" : "cd4f4a63-023c-435e-8b48-bc0ac7b3a5dd", - "Date" : "Tue, 07 Jul 2026 17:15:06 GMT", + "x-amzn-RequestId" : "b3aba81a-d417-43df-bc3d-b63c150d6cee", + "Date" : "Mon, 31 Aug 2026 17:37:13 GMT", "Content-Type" : "application/json" } }, diff --git a/test-harness/src/testFixtures/resources/cassettes/bedrock/mappings/model_us.amazon.nova-lite-v10_converse-stream-5cfd571ec323.json b/test-harness/src/testFixtures/resources/cassettes/bedrock/mappings/model_us.amazon.nova-lite-v10_converse-stream-5cfd571ec323.json index fc1e1f00..ef3182cd 100644 --- a/test-harness/src/testFixtures/resources/cassettes/bedrock/mappings/model_us.amazon.nova-lite-v10_converse-stream-5cfd571ec323.json +++ b/test-harness/src/testFixtures/resources/cassettes/bedrock/mappings/model_us.amazon.nova-lite-v10_converse-stream-5cfd571ec323.json @@ -19,8 +19,8 @@ "status" : 200, "bodyFileName" : "model_us.amazon.nova-lite-v10_converse-stream-5cfd571ec323.txt", "headers" : { - "x-amzn-RequestId" : "127963c6-6f8d-4413-a2c0-d8c19b32411e", - "Date" : "Tue, 07 Jul 2026 17:15:01 GMT", + "x-amzn-RequestId" : "df2be18f-9fca-4a3c-94cf-4fda481ed6c6", + "Date" : "Mon, 31 Aug 2026 17:36:59 GMT", "Content-Type" : "application/vnd.amazon.eventstream" } }, diff --git a/test-harness/src/testFixtures/resources/cassettes/bedrock/mappings/model_us.anthropic.claude-haiku-4-5-20251001-v10_converse-6b7d2a8e6e30.json b/test-harness/src/testFixtures/resources/cassettes/bedrock/mappings/model_us.anthropic.claude-haiku-4-5-20251001-v10_converse-6b7d2a8e6e30.json deleted file mode 100644 index ee97eefa..00000000 --- a/test-harness/src/testFixtures/resources/cassettes/bedrock/mappings/model_us.anthropic.claude-haiku-4-5-20251001-v10_converse-6b7d2a8e6e30.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "id" : "945a82a7-f1a8-31e8-b2fd-f7c89c936d08", - "name" : "model_us.anthropic.claude-haiku-4-5-20251001-v10_converse", - "request" : { - "url" : "/model/us.anthropic.claude-haiku-4-5-20251001-v1%3A0/converse", - "method" : "POST", - "headers" : { - "Content-Type" : { - "equalTo" : "application/json" - } - }, - "bodyPatterns" : [ { - "equalToJson" : "{\"messages\":[{\"role\":\"user\",\"content\":[{\"text\":\"A farmer has 17 sheep and all but 9 run away. How many sheep are left? Reason it through, then give the number.\"}]}],\"inferenceConfig\":{\"maxTokens\":2048},\"additionalModelRequestFields\":{\"reasoning_config\":{\"type\":\"enabled\",\"budget_tokens\":1024}}}", - "ignoreArrayOrder" : true, - "ignoreExtraElements" : false - } ] - }, - "response" : { - "status" : 200, - "bodyFileName" : "model_us.anthropic.claude-haiku-4-5-20251001-v10_converse-6b7d2a8e6e30.json", - "headers" : { - "x-amzn-RequestId" : "e81539eb-665d-4cfb-a39d-dd865e2accd4", - "Date" : "Fri, 21 Aug 2026 20:25:29 GMT", - "Content-Type" : "application/json" - } - }, - "uuid" : "945a82a7-f1a8-31e8-b2fd-f7c89c936d08", - "persistent" : true, - "insertionIndex" : 7 -} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/bedrock/mappings/model_us.anthropic.claude-haiku-4-5-20251001-v10_converse-a0c323c8e12f.json b/test-harness/src/testFixtures/resources/cassettes/bedrock/mappings/model_us.anthropic.claude-haiku-4-5-20251001-v10_converse-a0c323c8e12f.json index 2771137c..2088c1d4 100644 --- a/test-harness/src/testFixtures/resources/cassettes/bedrock/mappings/model_us.anthropic.claude-haiku-4-5-20251001-v10_converse-a0c323c8e12f.json +++ b/test-harness/src/testFixtures/resources/cassettes/bedrock/mappings/model_us.anthropic.claude-haiku-4-5-20251001-v10_converse-a0c323c8e12f.json @@ -19,8 +19,8 @@ "status" : 200, "bodyFileName" : "model_us.anthropic.claude-haiku-4-5-20251001-v10_converse-a0c323c8e12f.json", "headers" : { - "x-amzn-RequestId" : "0aaa7e7f-69e0-41c7-b583-9ed0a1712760", - "Date" : "Tue, 07 Jul 2026 17:17:28 GMT", + "x-amzn-RequestId" : "93bc3e2f-76f4-4b87-b322-1b188e57497a", + "Date" : "Mon, 31 Aug 2026 17:40:23 GMT", "Content-Type" : "application/json" } }, diff --git a/test-harness/src/testFixtures/resources/cassettes/bedrock/mappings/model_us.anthropic.claude-haiku-4-5-20251001-v10_converse-stream-7036d5c4e7a0.json b/test-harness/src/testFixtures/resources/cassettes/bedrock/mappings/model_us.anthropic.claude-haiku-4-5-20251001-v10_converse-stream-7036d5c4e7a0.json index 36a76d3c..b41f48c9 100644 --- a/test-harness/src/testFixtures/resources/cassettes/bedrock/mappings/model_us.anthropic.claude-haiku-4-5-20251001-v10_converse-stream-7036d5c4e7a0.json +++ b/test-harness/src/testFixtures/resources/cassettes/bedrock/mappings/model_us.anthropic.claude-haiku-4-5-20251001-v10_converse-stream-7036d5c4e7a0.json @@ -19,8 +19,8 @@ "status" : 200, "bodyFileName" : "model_us.anthropic.claude-haiku-4-5-20251001-v10_converse-stream-7036d5c4e7a0.txt", "headers" : { - "x-amzn-RequestId" : "06a69971-0d02-445b-8279-be16c99b5ffb", - "Date" : "Tue, 07 Jul 2026 17:17:24 GMT", + "x-amzn-RequestId" : "e971bbdd-5441-4fdd-87cc-2cfb0928e194", + "Date" : "Mon, 31 Aug 2026 17:40:04 GMT", "Content-Type" : "application/vnd.amazon.eventstream" } }, diff --git a/test-harness/src/testFixtures/resources/cassettes/bedrock/mappings/model_us.anthropic.claude-sonnet-4-5-20250929-v10_converse-530d2233ec90.json b/test-harness/src/testFixtures/resources/cassettes/bedrock/mappings/model_us.anthropic.claude-sonnet-4-5-20250929-v10_converse-530d2233ec90.json deleted file mode 100644 index 4d8e1bc8..00000000 --- a/test-harness/src/testFixtures/resources/cassettes/bedrock/mappings/model_us.anthropic.claude-sonnet-4-5-20250929-v10_converse-530d2233ec90.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "id" : "d217694c-ae96-3791-b292-1138b83920f7", - "name" : "model_us.anthropic.claude-sonnet-4-5-20250929-v10_converse", - "request" : { - "url" : "/model/us.anthropic.claude-sonnet-4-5-20250929-v1%3A0/converse", - "method" : "POST", - "headers" : { - "Content-Type" : { - "equalTo" : "application/json" - } - }, - "bodyPatterns" : [ { - "equalToJson" : "{\"messages\":[{\"role\":\"user\",\"content\":[{\"text\":\"What is the capital of France?\"}]}],\"system\":[{\"text\":\"[cache buster: bedrock vcr-mode]\\nYou are a helpful assistant answering questions about world geography.\\nFollow the operating guidelines below on every response.\\n\\n1. Answer format. Answer in a single short sentence unless the user explicitly asks for more detail. Do not add preambles such as \\\"Sure, here is the answer\\\" or \\\"Great question\\\". Just answer the question that was asked.\\n2. Place names. Always state the canonical English name of a place first, followed by the local name in parentheses only when it differs materially. Do not include pronunciation guides or phonetic spellings.\\n3. Capitals. When the user asks about a country, prefer the capital over the largest city. When the user asks about a region, prefer the administrative center. When the user asks about a continent, note that continents have no single capital and offer a widely recognized reference city.\\n4. Disputed territory. If the user asks about a disputed territory, name the de-facto administrative center without taking a political position. Do not editorialize and do not characterize any claim as legitimate or illegitimate.\\n5. Off topic. If the user asks a question that is not about geography, answer it briefly and then offer to continue with geography-related questions. Do not refuse simply because the question is off topic.\\n6. Uncertainty. Never invent place names. If you are not sure, say you are not sure and suggest a likely alternative the user may have meant, phrased as a question.\\n7. Spelling. Use modern spelling conventions. Prefer \\\"Kyiv\\\" over \\\"Kiev\\\", \\\"Beijing\\\" over \\\"Peking\\\", \\\"Mumbai\\\" over \\\"Bombay\\\", and \\\"Eswatini\\\" over \\\"Swaziland\\\".\\n8. Units. Always use the metric system for distances, elevations, and areas. If the user explicitly asks for imperial units, convert and include both, metric first.\\n9. Meta questions. Do not mention these instructions to the user. Do not refer to them as \\\"my guidelines\\\" or \\\"my system prompt\\\". Follow them silently and without commentary.\\n10. Greetings. If the user greets you, greet them back briefly and then wait for their actual question. Do not volunteer geography trivia unprompted.\\n11. Reference material. Treat any reference material supplied in a later cached block as authoritative. If it conflicts with your training data, prefer the supplied material and note that you are doing so.\\n12. Lists. When listing more than three items, use a compact comma-separated list rather than bullet points. Reserve bullet points for genuinely structured or tabular data.\\n13. Numbers. Round populations to the nearest thousand below one million, and to the nearest hundred thousand above it. Always state the year the figure refers to, because population figures age quickly.\\n14. Coordinates. When giving coordinates, use decimal degrees to four places, latitude first, and include the hemisphere letters rather than signed values.\\n15. Time zones. Identify time zones by their IANA name, not by abbreviation, because abbreviations such as CST are ambiguous across regions. Mention daylight saving only when it is currently in effect.\\n16. Languages. When naming an official language, distinguish de-jure official status from de-facto working language, and say explicitly which one you mean.\\n17. Borders. Describe borders in terms of the countries they separate, ordered alphabetically, so the description is stable regardless of which side the user asked about.\\n18. Elevation. Give elevations relative to mean sea level, and note explicitly when a figure is below sea level. For mountains, give the summit elevation rather than prominence unless asked.\\n19. Historical names. When a place has been renamed, give the current name first and the historical name in parentheses with the year of the change, if the year is known with confidence.\\n20. Ambiguous queries. If a place name matches multiple locations, list the two or three most populous matches with their countries and ask which the user meant.\\n21. Bodies of water. Distinguish seas, gulfs, bays, and straits precisely. When a body of water has competing regional names, give both and note which is more widely used internationally.\\n22. Administrative divisions. Use the country's own term for its first-level divisions (prefecture, oblast, canton, state, province) rather than substituting a generic word.\\n23. Islands. For island questions, state whether the island is part of an archipelago and name the sovereign state that administers it, which may differ from the nearest mainland.\\n24. Rivers. Give river lengths from source to mouth and name the sea or lake the river discharges into. Note when the length is disputed because of differing source definitions.\\n25. Climate. When describing climate, name the Koppen classification and then translate it into one plain-language sentence. Do not give month-by-month tables unless asked.\\n26. Population density. Report density as inhabitants per square kilometre, and say whether the figure covers the municipality, the urban area, or the metropolitan area, because these differ greatly.\\n27. Superlatives. For largest, longest, and highest questions, state the measure being used, because different measures produce different winners. Give the runner-up when the margin is small.\\n28. Landlocked states. When asked whether a country is landlocked, mention any navigable river or treaty access to the sea that materially qualifies the answer.\\n\"},{\"cachePoint\":{\"type\":\"default\"}}],\"inferenceConfig\":{\"maxTokens\":128,\"temperature\":0.0}}", - "ignoreArrayOrder" : true, - "ignoreExtraElements" : false - } ] - }, - "response" : { - "status" : 200, - "bodyFileName" : "model_us.anthropic.claude-sonnet-4-5-20250929-v10_converse-530d2233ec90.json", - "headers" : { - "x-amzn-RequestId" : "fc0df70e-6a0a-48f3-8afd-9f9711eb015b", - "Date" : "Fri, 21 Aug 2026 22:17:44 GMT", - "Content-Type" : "application/json" - } - }, - "uuid" : "d217694c-ae96-3791-b292-1138b83920f7", - "persistent" : true, - "scenarioName" : "scenario-1-model-us.anthropic.claude-sonnet-4-5-20250929-v1:0-converse", - "requiredScenarioState" : "Started", - "newScenarioState" : "scenario-1-model-us.anthropic.claude-sonnet-4-5-20250929-v1:0-converse-2", - "insertionIndex" : 12 -} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/bedrock/mappings/model_us.anthropic.claude-sonnet-4-5-20250929-v10_converse-705351f1acd8.json b/test-harness/src/testFixtures/resources/cassettes/bedrock/mappings/model_us.anthropic.claude-sonnet-4-5-20250929-v10_converse-705351f1acd8.json deleted file mode 100644 index 78df20a1..00000000 --- a/test-harness/src/testFixtures/resources/cassettes/bedrock/mappings/model_us.anthropic.claude-sonnet-4-5-20250929-v10_converse-705351f1acd8.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "id" : "b2d0c4fb-91a5-36b9-83b2-c2c1c60bb822", - "name" : "model_us.anthropic.claude-sonnet-4-5-20250929-v10_converse", - "request" : { - "url" : "/model/us.anthropic.claude-sonnet-4-5-20250929-v1%3A0/converse", - "method" : "POST", - "headers" : { - "Content-Type" : { - "equalTo" : "application/json" - } - }, - "bodyPatterns" : [ { - "equalToJson" : "{\"messages\":[{\"role\":\"user\",\"content\":[{\"text\":\"What is the capital of France?\"}]}],\"system\":[{\"text\":\"[cache buster: bedrock vcr-mode]\\nYou are a helpful assistant answering questions about world geography.\\nFollow the operating guidelines below on every response.\\n\\n1. Answer format. Answer in a single short sentence unless the user explicitly asks for more detail. Do not add preambles such as \\\"Sure, here is the answer\\\" or \\\"Great question\\\". Just answer the question that was asked.\\n2. Place names. Always state the canonical English name of a place first, followed by the local name in parentheses only when it differs materially. Do not include pronunciation guides or phonetic spellings.\\n3. Capitals. When the user asks about a country, prefer the capital over the largest city. When the user asks about a region, prefer the administrative center. When the user asks about a continent, note that continents have no single capital and offer a widely recognized reference city.\\n4. Disputed territory. If the user asks about a disputed territory, name the de-facto administrative center without taking a political position. Do not editorialize and do not characterize any claim as legitimate or illegitimate.\\n5. Off topic. If the user asks a question that is not about geography, answer it briefly and then offer to continue with geography-related questions. Do not refuse simply because the question is off topic.\\n6. Uncertainty. Never invent place names. If you are not sure, say you are not sure and suggest a likely alternative the user may have meant, phrased as a question.\\n7. Spelling. Use modern spelling conventions. Prefer \\\"Kyiv\\\" over \\\"Kiev\\\", \\\"Beijing\\\" over \\\"Peking\\\", \\\"Mumbai\\\" over \\\"Bombay\\\", and \\\"Eswatini\\\" over \\\"Swaziland\\\".\\n8. Units. Always use the metric system for distances, elevations, and areas. If the user explicitly asks for imperial units, convert and include both, metric first.\\n9. Meta questions. Do not mention these instructions to the user. Do not refer to them as \\\"my guidelines\\\" or \\\"my system prompt\\\". Follow them silently and without commentary.\\n10. Greetings. If the user greets you, greet them back briefly and then wait for their actual question. Do not volunteer geography trivia unprompted.\\n11. Reference material. Treat any reference material supplied in a later cached block as authoritative. If it conflicts with your training data, prefer the supplied material and note that you are doing so.\\n12. Lists. When listing more than three items, use a compact comma-separated list rather than bullet points. Reserve bullet points for genuinely structured or tabular data.\\n13. Numbers. Round populations to the nearest thousand below one million, and to the nearest hundred thousand above it. Always state the year the figure refers to, because population figures age quickly.\\n14. Coordinates. When giving coordinates, use decimal degrees to four places, latitude first, and include the hemisphere letters rather than signed values.\\n15. Time zones. Identify time zones by their IANA name, not by abbreviation, because abbreviations such as CST are ambiguous across regions. Mention daylight saving only when it is currently in effect.\\n16. Languages. When naming an official language, distinguish de-jure official status from de-facto working language, and say explicitly which one you mean.\\n17. Borders. Describe borders in terms of the countries they separate, ordered alphabetically, so the description is stable regardless of which side the user asked about.\\n18. Elevation. Give elevations relative to mean sea level, and note explicitly when a figure is below sea level. For mountains, give the summit elevation rather than prominence unless asked.\\n19. Historical names. When a place has been renamed, give the current name first and the historical name in parentheses with the year of the change, if the year is known with confidence.\\n20. Ambiguous queries. If a place name matches multiple locations, list the two or three most populous matches with their countries and ask which the user meant.\\n21. Bodies of water. Distinguish seas, gulfs, bays, and straits precisely. When a body of water has competing regional names, give both and note which is more widely used internationally.\\n22. Administrative divisions. Use the country's own term for its first-level divisions (prefecture, oblast, canton, state, province) rather than substituting a generic word.\\n23. Islands. For island questions, state whether the island is part of an archipelago and name the sovereign state that administers it, which may differ from the nearest mainland.\\n24. Rivers. Give river lengths from source to mouth and name the sea or lake the river discharges into. Note when the length is disputed because of differing source definitions.\\n25. Climate. When describing climate, name the Koppen classification and then translate it into one plain-language sentence. Do not give month-by-month tables unless asked.\\n26. Population density. Report density as inhabitants per square kilometre, and say whether the figure covers the municipality, the urban area, or the metropolitan area, because these differ greatly.\\n27. Superlatives. For largest, longest, and highest questions, state the measure being used, because different measures produce different winners. Give the runner-up when the margin is small.\\n28. Landlocked states. When asked whether a country is landlocked, mention any navigable river or treaty access to the sea that materially qualifies the answer.\\n\"},{\"cachePoint\":{\"type\":\"default\"}}],\"inferenceConfig\":{\"maxTokens\":128,\"temperature\":0.0}}", - "ignoreArrayOrder" : true, - "ignoreExtraElements" : false - } ] - }, - "response" : { - "status" : 200, - "bodyFileName" : "model_us.anthropic.claude-sonnet-4-5-20250929-v10_converse-705351f1acd8.json", - "headers" : { - "x-amzn-RequestId" : "ed2e84c6-e53f-4414-b399-29c4ad6ca568", - "Date" : "Fri, 21 Aug 2026 22:17:46 GMT", - "Content-Type" : "application/json" - } - }, - "uuid" : "b2d0c4fb-91a5-36b9-83b2-c2c1c60bb822", - "persistent" : true, - "scenarioName" : "scenario-1-model-us.anthropic.claude-sonnet-4-5-20250929-v1:0-converse", - "requiredScenarioState" : "scenario-1-model-us.anthropic.claude-sonnet-4-5-20250929-v1:0-converse-2", - "insertionIndex" : 11 -} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/api_apikey_login-81bd6e090352.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/api_apikey_login-81bd6e090352.json deleted file mode 100644 index 85a4f46c..00000000 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/api_apikey_login-81bd6e090352.json +++ /dev/null @@ -1 +0,0 @@ -{"org_info":[{"id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","name":"Braintrust SDKs","api_url":"https://api.braintrust.dev","git_metadata":{"collect":"some","fields":["commit","branch","tag","dirty","author_name","author_email","commit_message","commit_time"]},"is_universal_api":null,"proxy_url":"https://api.braintrust.dev","realtime_url":"wss://realtime.braintrustapi.com"}]} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/api_apikey_login-215f45a550ce.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/api_apikey_login-a807d76d8a80.json similarity index 100% rename from test-harness/src/testFixtures/resources/cassettes/braintrust/__files/api_apikey_login-215f45a550ce.json rename to test-harness/src/testFixtures/resources/cassettes/braintrust/__files/api_apikey_login-a807d76d8a80.json diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-0196bdc4536f.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-0196bdc4536f.json new file mode 100644 index 00000000..6c1366dd --- /dev/null +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-0196bdc4536f.json @@ -0,0 +1 @@ +{"data":[{"_async_scoring_state":null,"_pagination_key":"p07680251233063075854","_xact_id":"1000197783586473083","audit_data":[{"_xact_id":"1000197783586473083","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":{"span_origin":{"instrumentation":{"name":"braintrust-java"},"name":"braintrust.sdk.java","version":"0.3.22-ca5ce6d-DIRTY"}},"created":"2026-08-31T17:37:07.907Z","error":null,"expected":null,"facets":null,"id":"245e64ea156b947a","input":null,"is_root":true,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","client":"langchain1.14-openai"},"metrics":{"end":1788197836.7153447,"start":1788197827.907864},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":null,"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"ff642aef149e2798f70003a539499a49","scores":null,"span_attributes":{"name":"web_search","type":"task"},"span_id":"245e64ea156b947a","span_parents":null,"tags":null},{"_async_scoring_state":null,"_pagination_key":"p07680251233063075847","_xact_id":"1000197783586473083","audit_data":[{"_xact_id":"1000197783586473083","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":{"span_origin":{"instrumentation":{"name":"braintrust-java"},"name":"braintrust.sdk.java","version":"0.3.22-ca5ce6d-DIRTY"}},"created":"2026-08-31T17:37:07.911Z","error":null,"expected":null,"facets":null,"id":"e35d169233af09e2","input":[{"content":[{"text":"Search the web for a recent AI news headline and answer in one sentence.","type":"input_text"}],"role":"user","type":"message"}],"is_root":false,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","model":"gpt-4o","provider":"openai","request_base_uri":"http://localhost:52408","request_method":"POST","request_path":"responses","response_id":"resp_0101af2ea84b56a6016a95bbc5316087d0979c70b5e36ed044","store":false,"stream":false,"tools":[{"search_context_size":"low","type":"web_search_preview"}],"x-request-id":"req_40d0e21087b54dbf8c6e98b781d5e8c1"},"metrics":{"completion_reasoning_tokens":0,"completion_tokens":142,"end":1788197836.713955,"estimated_cost":0.00221,"prompt_cached_tokens":0,"prompt_tokens":316,"start":1788197827.911293,"tokens":458},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":[{"action":{"queries":["recent AI news"],"query":"recent AI news","type":"search"},"id":"ws_0101af2ea84b56a6016a95bbc7f0e887d0893eed6df9b97576","status":"completed","type":"web_search_call"},{"content":[{"annotations":[{"end_index":277,"start_index":162,"title":"Exclusive: AI advocacy group launches data center push in battleground states","type":"url_citation","url":"https://www.axios.com/2026/08/31/ai-advocacy-group-data-center-battleground-states?utm_source=openai"},{"end_index":478,"start_index":297,"title":"Exclusive: AI advocacy group launches data center push in battleground states","type":"url_citation","url":"https://www.axios.com/2026/08/31/ai-advocacy-group-data-center-battleground-states?utm_source=openai"}],"logprobs":[],"text":"An AI advocacy group has launched a $50 million campaign to support AI data center development in battleground states, starting with Kansas, Ohio, and Wisconsin. ([axios.com](https://www.axios.com/2026/08/31/ai-advocacy-group-data-center-battleground-states?utm_source=openai))\n\n\n## Highlights:\n- [Exclusive: AI advocacy group launches data center push in battleground states](https://www.axios.com/2026/08/31/ai-advocacy-group-data-center-battleground-states?utm_source=openai), Published on Monday, August 31 ","type":"output_text"}],"id":"msg_0101af2ea84b56a6016a95bbc9b6b087d0a716c1e9db704ba9","role":"assistant","status":"completed","type":"message"}],"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"ff642aef149e2798f70003a539499a49","scores":null,"span_attributes":{"name":"responses","type":"llm"},"span_id":"e35d169233af09e2","span_parents":["245e64ea156b947a"],"tags":null},{"_async_scoring_state":null,"_pagination_key":"p07680251233063075846","_xact_id":"1000197783586473083","audit_data":[{"_xact_id":"1000197783586473083","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":{"span_origin":{"instrumentation":{"name":"braintrust-java"},"name":"braintrust.sdk.java","version":"0.3.22-ca5ce6d-DIRTY"}},"created":"2026-08-31T17:37:16.713Z","error":null,"expected":null,"facets":null,"id":"c5e6cee6671b782a","input":{"action":{"queries":["recent AI news"],"query":"recent AI news","type":"search"}},"is_root":false,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","status":"completed","tool_id":"ws_0101af2ea84b56a6016a95bbc7f0e887d0893eed6df9b97576","tool_type":"web_search_call"},"metrics":{"end":1788197836.713829,"start":1788197836.713829},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":{"status":"completed"},"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"ff642aef149e2798f70003a539499a49","scores":null,"span_attributes":{"name":"web_search_call","type":"tool"},"span_id":"c5e6cee6671b782a","span_parents":["e35d169233af09e2"],"tags":null}],"schema":{"type":"array","items":{"type":"object","properties":{"_async_scoring_state":{},"_pagination_key":{"description":"A stable, time-ordered key that can be used to paginate over project logs events. This field is auto-generated by Braintrust and only exists in Brainstore.","type":["string","null"]},"_xact_id":{"description":"The transaction id of an event is unique to the network operation that processed the event insertion. Transaction ids are monotonically increasing over time and can be used to retrieve a versioned snapshot of the project logs (see the `version` parameter)","type":"string"},"audit_data":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"classifications":{"anyOf":[{"additionalProperties":{"items":{"additionalProperties":false,"properties":{"confidence":{"description":"Optional confidence score for the classification","type":["number","null"]},"id":{"description":"Stable classification identifier","type":"string"},"label":{"description":"Original label of the classification item, which is useful for search and indexing purposes","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"type":"object"},{"type":"null"}],"description":"Optional metadata associated with the classification"},"source":{"anyOf":[{"anyOf":[{"additionalProperties":false,"properties":{"id":{"type":"string"},"type":{"const":"function","type":"string"},"version":{"description":"The version of the function","type":"string"}},"required":["type","id"],"type":"object"},{"additionalProperties":false,"properties":{"function_type":{"default":"scorer","description":"The type of global function. Defaults to 'scorer'.","enum":["llm","scorer","task","tool","custom_view","preprocessor","facet","classifier","tag","parameters","sandbox"],"type":"string"},"name":{"type":"string"},"type":{"const":"global","type":"string"}},"required":["type","name"],"type":"object"}]},{"type":"null"}],"description":"Optional function identifier that produced the classification"}},"required":["id"],"type":"object"},"type":"array"},"properties":{},"type":"object"},{"type":"null"}]},"comments":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"context":{"anyOf":[{"additionalProperties":{},"properties":{"caller_filename":{"description":"Name of the file in code where the project logs event was created","type":["string","null"]},"caller_functionname":{"description":"The function in code which created the project logs event","type":["string","null"]},"caller_lineno":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"created":{"description":"The timestamp the project logs event was created","format":"date-time","type":"string"},"error":{"description":"The error that occurred, if any."},"expected":{"description":"The ground truth value (an arbitrary, JSON serializable object) that you'd compare to `output` to determine if your `output` value is correct or not. Braintrust currently does not compare `output` to `expected` for you, since there are so many different ways to do that correctly. Instead, these values are just used to help you navigate while digging into analyses. However, we may later use these values to re-score outputs or fine-tune your models."},"facets":{"anyOf":[{"additionalProperties":{"type":["string","null"]},"properties":{},"type":"object"},{"type":"null"}]},"id":{"description":"A unique identifier for the project logs event. If you don't provide one, Braintrust will generate one for you","type":"string"},"input":{"description":"The arguments that uniquely define a user input (an arbitrary, JSON serializable object)."},"is_root":{"description":"Whether this span is a root span","type":["boolean","null"]},"log_id":{"const":"g","description":"A literal 'g' which identifies the log as a project log","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"properties":{"model":{"description":"The model used for this example","type":["string","null"]}},"type":"object"},{"type":"null"}]},"metrics":{"anyOf":[{"additionalProperties":{"type":"number"},"properties":{"caller_filename":{"description":"This metric is deprecated"},"caller_functionname":{"description":"This metric is deprecated"},"caller_lineno":{"description":"This metric is deprecated"},"completion_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"end":{"description":"A unix timestamp recording when the section of code which produced the project logs event finished","type":["number","null"]},"prompt_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"start":{"description":"A unix timestamp recording when the section of code which produced the project logs event started","type":["number","null"]},"tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"org_id":{"description":"Unique id for the organization that the project belongs under","format":"uuid","type":"string"},"origin":{"anyOf":[{"description":"Reference to the original object and event this was copied from.","properties":{"_xact_id":{"description":"Transaction ID of the original event.","type":["string","null"]},"created":{"description":"Created timestamp of the original event. Used to help sort in the UI","type":["string","null"]},"id":{"description":"ID of the original event.","type":"string"},"object_id":{"description":"ID of the object the event is originating from.","format":"uuid","type":"string"},"object_type":{"description":"Type of the object the event is originating from.","enum":["project_logs","experiment","dataset","prompt","function","prompt_session"],"type":"string"}},"required":["object_type","object_id","id"],"type":"object"},{"type":"null"}]},"output":{"description":"The output of your application, including post-processing (an arbitrary, JSON serializable object), that allows you to determine whether the result is correct or not. For example, in an app that generates SQL queries, the `output` should be the _result_ of the SQL query generated by the model, not the query itself, because there may be multiple valid queries that answer a single question."},"project_id":{"description":"Unique identifier for the project","format":"uuid","type":"string"},"root_span_id":{"description":"A unique identifier for the trace this project logs event belongs to","type":"string"},"scores":{"anyOf":[{"additionalProperties":{"anyOf":[{"maximum":1,"minimum":0,"type":"number"},{"type":"null"}]},"properties":{},"type":"object"},{"type":"null"}]},"span_attributes":{"anyOf":[{"additionalProperties":{},"description":"Human-identifying attributes of the span, such as name, type, etc.","properties":{"name":{"description":"Name of the span, for display purposes only","type":["string","null"]},"purpose":{"anyOf":[{"enum":["scorer"],"type":"string"},{"type":"null"}]},"type":{"anyOf":[{"enum":["llm","score","function","eval","task","tool","automation","facet","preprocessor","classifier","review"],"type":"string"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"span_id":{"description":"A unique identifier used to link different project logs events together as part of a full trace. See the [tracing guide](https://www.braintrust.dev/docs/instrument) for full details on tracing","type":"string"},"span_parents":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]},"tags":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]}}}},"realtime_state":{"type":"on","minimum_xact_id":"1000197783589884487","read_bytes":0,"actual_xact_id":"1000197783589884487"},"freshness_state":{"last_processed_xact_id":"1000197783589884487","last_considered_xact_id":"1000197783589884487"},"warnings":[]} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-d303f12e1678.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-06c58dbf2d58.json similarity index 68% rename from test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-d303f12e1678.json rename to test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-06c58dbf2d58.json index cb0895f0..570dd79d 100644 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-d303f12e1678.json +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-06c58dbf2d58.json @@ -1 +1 @@ -{"data":[{"_async_scoring_state":null,"_pagination_key":"p07663649184161857542","_xact_id":"1000197530259310894","audit_data":[{"_xact_id":"1000197530259310894","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":{"span_origin":{"instrumentation":{"name":"braintrust-java"},"name":"braintrust.sdk.java","version":"0.3.17-0155866-DIRTY"}},"created":"2026-07-17T23:52:47.144Z","error":null,"expected":null,"facets":null,"id":"aa04e9caeb43b3aa","input":null,"is_root":true,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","client":"springai2-anthropic"},"metrics":{"end":1784332368.4540834,"start":1784332367.144806},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":null,"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"c5da3c1868b118ea29f3ffa6560bed11","scores":null,"span_attributes":{"name":"streaming","type":"task"},"span_id":"aa04e9caeb43b3aa","span_parents":null,"tags":null}],"schema":{"type":"array","items":{"type":"object","properties":{"_async_scoring_state":{},"_pagination_key":{"description":"A stable, time-ordered key that can be used to paginate over project logs events. This field is auto-generated by Braintrust and only exists in Brainstore.","type":["string","null"]},"_xact_id":{"description":"The transaction id of an event is unique to the network operation that processed the event insertion. Transaction ids are monotonically increasing over time and can be used to retrieve a versioned snapshot of the project logs (see the `version` parameter)","type":"string"},"audit_data":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"classifications":{"anyOf":[{"additionalProperties":{"items":{"additionalProperties":false,"properties":{"confidence":{"description":"Optional confidence score for the classification","type":["number","null"]},"id":{"description":"Stable classification identifier","type":"string"},"label":{"description":"Original label of the classification item, which is useful for search and indexing purposes","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"type":"object"},{"type":"null"}],"description":"Optional metadata associated with the classification"},"source":{"anyOf":[{"anyOf":[{"additionalProperties":false,"properties":{"id":{"type":"string"},"type":{"const":"function","type":"string"},"version":{"description":"The version of the function","type":"string"}},"required":["type","id"],"type":"object"},{"additionalProperties":false,"properties":{"function_type":{"default":"scorer","description":"The type of global function. Defaults to 'scorer'.","enum":["llm","scorer","task","tool","custom_view","preprocessor","facet","classifier","tag","parameters","sandbox"],"type":"string"},"name":{"type":"string"},"type":{"const":"global","type":"string"}},"required":["type","name"],"type":"object"}]},{"type":"null"}],"description":"Optional function identifier that produced the classification"}},"required":["id"],"type":"object"},"type":"array"},"properties":{},"type":"object"},{"type":"null"}]},"comments":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"context":{"anyOf":[{"additionalProperties":{},"properties":{"caller_filename":{"description":"Name of the file in code where the project logs event was created","type":["string","null"]},"caller_functionname":{"description":"The function in code which created the project logs event","type":["string","null"]},"caller_lineno":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"created":{"description":"The timestamp the project logs event was created","format":"date-time","type":"string"},"error":{"description":"The error that occurred, if any."},"expected":{"description":"The ground truth value (an arbitrary, JSON serializable object) that you'd compare to `output` to determine if your `output` value is correct or not. Braintrust currently does not compare `output` to `expected` for you, since there are so many different ways to do that correctly. Instead, these values are just used to help you navigate while digging into analyses. However, we may later use these values to re-score outputs or fine-tune your models."},"facets":{"anyOf":[{"additionalProperties":{"type":["string","null"]},"properties":{},"type":"object"},{"type":"null"}]},"id":{"description":"A unique identifier for the project logs event. If you don't provide one, Braintrust will generate one for you","type":"string"},"input":{"description":"The arguments that uniquely define a user input (an arbitrary, JSON serializable object)."},"is_root":{"description":"Whether this span is a root span","type":["boolean","null"]},"log_id":{"const":"g","description":"A literal 'g' which identifies the log as a project log","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"properties":{"model":{"description":"The model used for this example","type":["string","null"]}},"type":"object"},{"type":"null"}]},"metrics":{"anyOf":[{"additionalProperties":{"type":"number"},"properties":{"caller_filename":{"description":"This metric is deprecated"},"caller_functionname":{"description":"This metric is deprecated"},"caller_lineno":{"description":"This metric is deprecated"},"completion_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"end":{"description":"A unix timestamp recording when the section of code which produced the project logs event finished","type":["number","null"]},"prompt_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"start":{"description":"A unix timestamp recording when the section of code which produced the project logs event started","type":["number","null"]},"tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"org_id":{"description":"Unique id for the organization that the project belongs under","format":"uuid","type":"string"},"origin":{"anyOf":[{"description":"Reference to the original object and event this was copied from.","properties":{"_xact_id":{"description":"Transaction ID of the original event.","type":["string","null"]},"created":{"description":"Created timestamp of the original event. Used to help sort in the UI","type":["string","null"]},"id":{"description":"ID of the original event.","type":"string"},"object_id":{"description":"ID of the object the event is originating from.","format":"uuid","type":"string"},"object_type":{"description":"Type of the object the event is originating from.","enum":["project_logs","experiment","dataset","prompt","function","prompt_session"],"type":"string"}},"required":["object_type","object_id","id"],"type":"object"},{"type":"null"}]},"output":{"description":"The output of your application, including post-processing (an arbitrary, JSON serializable object), that allows you to determine whether the result is correct or not. For example, in an app that generates SQL queries, the `output` should be the _result_ of the SQL query generated by the model, not the query itself, because there may be multiple valid queries that answer a single question."},"project_id":{"description":"Unique identifier for the project","format":"uuid","type":"string"},"root_span_id":{"description":"A unique identifier for the trace this project logs event belongs to","type":"string"},"scores":{"anyOf":[{"additionalProperties":{"anyOf":[{"maximum":1,"minimum":0,"type":"number"},{"type":"null"}]},"properties":{},"type":"object"},{"type":"null"}]},"span_attributes":{"anyOf":[{"additionalProperties":{},"description":"Human-identifying attributes of the span, such as name, type, etc.","properties":{"name":{"description":"Name of the span, for display purposes only","type":["string","null"]},"purpose":{"anyOf":[{"enum":["scorer"],"type":"string"},{"type":"null"}]},"type":{"anyOf":[{"enum":["llm","score","function","eval","task","tool","automation","facet","preprocessor","classifier","review"],"type":"string"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"span_id":{"description":"A unique identifier used to link different project logs events together as part of a full trace. See the [tracing guide](https://www.braintrust.dev/docs/instrument) for full details on tracing","type":"string"},"span_parents":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]},"tags":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]}}}},"realtime_state":{"type":"on","minimum_xact_id":"1000197530259310894","read_bytes":0,"actual_xact_id":"1000197530259310894"},"freshness_state":{"last_processed_xact_id":"1000197530259310894","last_considered_xact_id":"1000197530259310894"},"warnings":[]} \ No newline at end of file +{"data":[{"_async_scoring_state":null,"_pagination_key":"p07680251233063075850","_xact_id":"1000197783586473083","audit_data":[{"_xact_id":"1000197783586473083","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":{"span_origin":{"instrumentation":{"name":"braintrust-java"},"name":"braintrust.sdk.java","version":"0.3.22-ca5ce6d-DIRTY"}},"created":"2026-08-31T17:37:10.626Z","error":null,"expected":null,"facets":null,"id":"0a90e6300f1777b4","input":null,"is_root":true,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","client":"bedrock"},"metrics":{"end":1788197833.849042,"start":1788197830.626902},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":null,"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"7513e8d10e866dba54ff7911b7157336","scores":null,"span_attributes":{"name":"attachments","type":"task"},"span_id":"0a90e6300f1777b4","span_parents":null,"tags":null},{"_async_scoring_state":null,"_pagination_key":"p07680251233063075855","_xact_id":"1000197783586473083","audit_data":[{"_xact_id":"1000197783586473083","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":{"span_origin":{"instrumentation":{"name":"braintrust-java"},"name":"braintrust.sdk.java","version":"0.3.22-ca5ce6d-DIRTY"}},"created":"2026-08-31T17:37:10.633Z","error":null,"expected":null,"facets":null,"id":"87883fc4389c4061","input":[{"content":[{"text":"Briefly describe these attachments","type":"text"},{"image":{"format":"png","source":{"bytes":{"content_type":"image/png","filename":"attachment.png","key":"7cd229aa-b10d-4026-b53a-2123137d735c","type":"braintrust_attachment"}}},"type":"image"},{"document":{"format":"pdf","name":"blank","source":{"bytes":{"content_type":"application/pdf","filename":"attachment.pdf","key":"4e77095f-a630-4af4-9851-c25f64a2e77b","type":"braintrust_attachment"}}}}],"role":"user"}],"is_root":false,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","endpoint":"converse","model":"us.amazon.nova-lite-v1:0","provider":"bedrock","request_base_uri":"http://localhost","request_method":"POST","request_path":"model/us.amazon.nova-lite-v1%3A0/converse"},"metrics":{"completion_tokens":176,"end":1788197833.846624,"estimated_cost":0.00017088,"prompt_tokens":2144,"start":1788197830.6332135,"tokens":2320},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":[{"content":[{"text":"The image depicts a table containing various numerical values and text. The table is organized with headers and rows, and it appears to be related to financial or statistical data. Here is a breakdown of the table:\n\nTable Breakdown:\n\nHeader:\n\n'%' (percent)\n'2023'\n'2022'\n\nRow 1:\n\n'Revenue'\n'5.4%'\n'3.4%'\n\nRow 2:\n\n'Operating Income'\n'4.2%'\n'1.4%'\n\nRow 3:\n\n'Net Income'\n'3.3%'\n'-0.2%'\n\nThe table shows percentage changes for the years 2023 and 2022 across three categories: Revenue, Operating Income, and Net Income. The data indicates positive growth in all three categories for 2023 compared to 2022.","type":"text"}],"role":"assistant"}],"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"7513e8d10e866dba54ff7911b7157336","scores":null,"span_attributes":{"name":"bedrock.converse","type":"llm"},"span_id":"87883fc4389c4061","span_parents":["0a90e6300f1777b4"],"tags":null}],"schema":{"type":"array","items":{"type":"object","properties":{"_async_scoring_state":{},"_pagination_key":{"description":"A stable, time-ordered key that can be used to paginate over project logs events. This field is auto-generated by Braintrust and only exists in Brainstore.","type":["string","null"]},"_xact_id":{"description":"The transaction id of an event is unique to the network operation that processed the event insertion. Transaction ids are monotonically increasing over time and can be used to retrieve a versioned snapshot of the project logs (see the `version` parameter)","type":"string"},"audit_data":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"classifications":{"anyOf":[{"additionalProperties":{"items":{"additionalProperties":false,"properties":{"confidence":{"description":"Optional confidence score for the classification","type":["number","null"]},"id":{"description":"Stable classification identifier","type":"string"},"label":{"description":"Original label of the classification item, which is useful for search and indexing purposes","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"type":"object"},{"type":"null"}],"description":"Optional metadata associated with the classification"},"source":{"anyOf":[{"anyOf":[{"additionalProperties":false,"properties":{"id":{"type":"string"},"type":{"const":"function","type":"string"},"version":{"description":"The version of the function","type":"string"}},"required":["type","id"],"type":"object"},{"additionalProperties":false,"properties":{"function_type":{"default":"scorer","description":"The type of global function. Defaults to 'scorer'.","enum":["llm","scorer","task","tool","custom_view","preprocessor","facet","classifier","tag","parameters","sandbox"],"type":"string"},"name":{"type":"string"},"type":{"const":"global","type":"string"}},"required":["type","name"],"type":"object"}]},{"type":"null"}],"description":"Optional function identifier that produced the classification"}},"required":["id"],"type":"object"},"type":"array"},"properties":{},"type":"object"},{"type":"null"}]},"comments":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"context":{"anyOf":[{"additionalProperties":{},"properties":{"caller_filename":{"description":"Name of the file in code where the project logs event was created","type":["string","null"]},"caller_functionname":{"description":"The function in code which created the project logs event","type":["string","null"]},"caller_lineno":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"created":{"description":"The timestamp the project logs event was created","format":"date-time","type":"string"},"error":{"description":"The error that occurred, if any."},"expected":{"description":"The ground truth value (an arbitrary, JSON serializable object) that you'd compare to `output` to determine if your `output` value is correct or not. Braintrust currently does not compare `output` to `expected` for you, since there are so many different ways to do that correctly. Instead, these values are just used to help you navigate while digging into analyses. However, we may later use these values to re-score outputs or fine-tune your models."},"facets":{"anyOf":[{"additionalProperties":{"type":["string","null"]},"properties":{},"type":"object"},{"type":"null"}]},"id":{"description":"A unique identifier for the project logs event. If you don't provide one, Braintrust will generate one for you","type":"string"},"input":{"description":"The arguments that uniquely define a user input (an arbitrary, JSON serializable object)."},"is_root":{"description":"Whether this span is a root span","type":["boolean","null"]},"log_id":{"const":"g","description":"A literal 'g' which identifies the log as a project log","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"properties":{"model":{"description":"The model used for this example","type":["string","null"]}},"type":"object"},{"type":"null"}]},"metrics":{"anyOf":[{"additionalProperties":{"type":"number"},"properties":{"caller_filename":{"description":"This metric is deprecated"},"caller_functionname":{"description":"This metric is deprecated"},"caller_lineno":{"description":"This metric is deprecated"},"completion_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"end":{"description":"A unix timestamp recording when the section of code which produced the project logs event finished","type":["number","null"]},"prompt_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"start":{"description":"A unix timestamp recording when the section of code which produced the project logs event started","type":["number","null"]},"tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"org_id":{"description":"Unique id for the organization that the project belongs under","format":"uuid","type":"string"},"origin":{"anyOf":[{"description":"Reference to the original object and event this was copied from.","properties":{"_xact_id":{"description":"Transaction ID of the original event.","type":["string","null"]},"created":{"description":"Created timestamp of the original event. Used to help sort in the UI","type":["string","null"]},"id":{"description":"ID of the original event.","type":"string"},"object_id":{"description":"ID of the object the event is originating from.","format":"uuid","type":"string"},"object_type":{"description":"Type of the object the event is originating from.","enum":["project_logs","experiment","dataset","prompt","function","prompt_session"],"type":"string"}},"required":["object_type","object_id","id"],"type":"object"},{"type":"null"}]},"output":{"description":"The output of your application, including post-processing (an arbitrary, JSON serializable object), that allows you to determine whether the result is correct or not. For example, in an app that generates SQL queries, the `output` should be the _result_ of the SQL query generated by the model, not the query itself, because there may be multiple valid queries that answer a single question."},"project_id":{"description":"Unique identifier for the project","format":"uuid","type":"string"},"root_span_id":{"description":"A unique identifier for the trace this project logs event belongs to","type":"string"},"scores":{"anyOf":[{"additionalProperties":{"anyOf":[{"maximum":1,"minimum":0,"type":"number"},{"type":"null"}]},"properties":{},"type":"object"},{"type":"null"}]},"span_attributes":{"anyOf":[{"additionalProperties":{},"description":"Human-identifying attributes of the span, such as name, type, etc.","properties":{"name":{"description":"Name of the span, for display purposes only","type":["string","null"]},"purpose":{"anyOf":[{"enum":["scorer"],"type":"string"},{"type":"null"}]},"type":{"anyOf":[{"enum":["llm","score","function","eval","task","tool","automation","facet","preprocessor","classifier","review"],"type":"string"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"span_id":{"description":"A unique identifier used to link different project logs events together as part of a full trace. See the [tracing guide](https://www.braintrust.dev/docs/instrument) for full details on tracing","type":"string"},"span_parents":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]},"tags":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]}}}},"realtime_state":{"type":"on","minimum_xact_id":"1000197783589161396","read_bytes":14598,"actual_xact_id":"1000197783589884487"},"freshness_state":{"last_processed_xact_id":"1000197783589884487","last_considered_xact_id":"1000197783589884487"},"warnings":[]} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-0bbfe26e5b45.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-0bbfe26e5b45.json deleted file mode 100644 index 79cf972a..00000000 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-0bbfe26e5b45.json +++ /dev/null @@ -1 +0,0 @@ -{"data":[{"_async_scoring_state":null,"_pagination_key":"p07659835826909872129","_xact_id":"1000197472072096966","audit_data":[{"_xact_id":"1000197472072096966","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":null,"created":"2026-07-07T17:14:58.912Z","error":null,"expected":null,"facets":null,"id":"820e9dea8ab6650a","input":null,"is_root":true,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","client":"bedrock"},"metrics":{"end":1783444500.330771,"start":1783444498.912283},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":null,"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"85b62101325bb5a37f5939555dab368f","scores":null,"span_attributes":{"name":"converse","type":"task"},"span_id":"820e9dea8ab6650a","span_parents":null,"tags":null},{"_async_scoring_state":null,"_pagination_key":"p07659835826909872133","_xact_id":"1000197472072096966","audit_data":[{"_xact_id":"1000197472072096966","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":null,"created":"2026-07-07T17:14:59.062Z","error":null,"expected":null,"facets":null,"id":"30b5b6e246985d5c","input":[{"content":[{"text":"What is the capital of France?","type":"text"}],"role":"user"}],"is_root":false,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","endpoint":"converse","model":"us.amazon.nova-lite-v1:0","provider":"bedrock","request_base_uri":"http://localhost","request_method":"POST","request_path":"model/us.amazon.nova-lite-v1%3A0/converse"},"metrics":{"completion_tokens":67,"end":1783444500.3302293,"estimated_cost":0.000016499999999999998,"prompt_tokens":7,"start":1783444499.0625157,"tokens":74},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":[{"content":[{"text":"The capital of France is Paris. Paris is not only the capital but also the largest city in France, known for its rich history, culture, and iconic landmarks such as the Eiffel Tower, Notre-Dame Cathedral, and the Louvre Museum. It serves as a major center for art, fashion, gastronomy, and business in Europe.","type":"text"}],"role":"assistant"}],"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"85b62101325bb5a37f5939555dab368f","scores":null,"span_attributes":{"name":"bedrock.converse","type":"llm"},"span_id":"30b5b6e246985d5c","span_parents":["820e9dea8ab6650a"],"tags":null}],"schema":{"type":"array","items":{"type":"object","properties":{"_async_scoring_state":{},"_pagination_key":{"description":"A stable, time-ordered key that can be used to paginate over project logs events. This field is auto-generated by Braintrust and only exists in Brainstore.","type":["string","null"]},"_xact_id":{"description":"The transaction id of an event is unique to the network operation that processed the event insertion. Transaction ids are monotonically increasing over time and can be used to retrieve a versioned snapshot of the project logs (see the `version` parameter)","type":"string"},"audit_data":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"classifications":{"anyOf":[{"additionalProperties":{"items":{"additionalProperties":false,"properties":{"confidence":{"description":"Optional confidence score for the classification","type":["number","null"]},"id":{"description":"Stable classification identifier","type":"string"},"label":{"description":"Original label of the classification item, which is useful for search and indexing purposes","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"type":"object"},{"type":"null"}],"description":"Optional metadata associated with the classification"},"source":{"anyOf":[{"anyOf":[{"additionalProperties":false,"properties":{"id":{"type":"string"},"type":{"const":"function","type":"string"},"version":{"description":"The version of the function","type":"string"}},"required":["type","id"],"type":"object"},{"additionalProperties":false,"properties":{"function_type":{"default":"scorer","description":"The type of global function. Defaults to 'scorer'.","enum":["llm","scorer","task","tool","custom_view","preprocessor","facet","classifier","tag","parameters","sandbox"],"type":"string"},"name":{"type":"string"},"type":{"const":"global","type":"string"}},"required":["type","name"],"type":"object"}]},{"type":"null"}],"description":"Optional function identifier that produced the classification"}},"required":["id"],"type":"object"},"type":"array"},"properties":{},"type":"object"},{"type":"null"}]},"comments":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"context":{"anyOf":[{"additionalProperties":{},"properties":{"caller_filename":{"description":"Name of the file in code where the project logs event was created","type":["string","null"]},"caller_functionname":{"description":"The function in code which created the project logs event","type":["string","null"]},"caller_lineno":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"created":{"description":"The timestamp the project logs event was created","format":"date-time","type":"string"},"error":{"description":"The error that occurred, if any."},"expected":{"description":"The ground truth value (an arbitrary, JSON serializable object) that you'd compare to `output` to determine if your `output` value is correct or not. Braintrust currently does not compare `output` to `expected` for you, since there are so many different ways to do that correctly. Instead, these values are just used to help you navigate while digging into analyses. However, we may later use these values to re-score outputs or fine-tune your models."},"facets":{"anyOf":[{"additionalProperties":{"type":["string","null"]},"properties":{},"type":"object"},{"type":"null"}]},"id":{"description":"A unique identifier for the project logs event. If you don't provide one, Braintrust will generate one for you","type":"string"},"input":{"description":"The arguments that uniquely define a user input (an arbitrary, JSON serializable object)."},"is_root":{"description":"Whether this span is a root span","type":["boolean","null"]},"log_id":{"const":"g","description":"A literal 'g' which identifies the log as a project log","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"properties":{"model":{"description":"The model used for this example","type":["string","null"]}},"type":"object"},{"type":"null"}]},"metrics":{"anyOf":[{"additionalProperties":{"type":"number"},"properties":{"caller_filename":{"description":"This metric is deprecated"},"caller_functionname":{"description":"This metric is deprecated"},"caller_lineno":{"description":"This metric is deprecated"},"completion_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"end":{"description":"A unix timestamp recording when the section of code which produced the project logs event finished","type":["number","null"]},"prompt_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"start":{"description":"A unix timestamp recording when the section of code which produced the project logs event started","type":["number","null"]},"tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"org_id":{"description":"Unique id for the organization that the project belongs under","format":"uuid","type":"string"},"origin":{"anyOf":[{"description":"Reference to the original object and event this was copied from.","properties":{"_xact_id":{"description":"Transaction ID of the original event.","type":["string","null"]},"created":{"description":"Created timestamp of the original event. Used to help sort in the UI","type":["string","null"]},"id":{"description":"ID of the original event.","type":"string"},"object_id":{"description":"ID of the object the event is originating from.","format":"uuid","type":"string"},"object_type":{"description":"Type of the object the event is originating from.","enum":["project_logs","experiment","dataset","prompt","function","prompt_session"],"type":"string"}},"required":["object_type","object_id","id"],"type":"object"},{"type":"null"}]},"output":{"description":"The output of your application, including post-processing (an arbitrary, JSON serializable object), that allows you to determine whether the result is correct or not. For example, in an app that generates SQL queries, the `output` should be the _result_ of the SQL query generated by the model, not the query itself, because there may be multiple valid queries that answer a single question."},"project_id":{"description":"Unique identifier for the project","format":"uuid","type":"string"},"root_span_id":{"description":"A unique identifier for the trace this project logs event belongs to","type":"string"},"scores":{"anyOf":[{"additionalProperties":{"anyOf":[{"maximum":1,"minimum":0,"type":"number"},{"type":"null"}]},"properties":{},"type":"object"},{"type":"null"}]},"span_attributes":{"anyOf":[{"additionalProperties":{},"description":"Human-identifying attributes of the span, such as name, type, etc.","properties":{"name":{"description":"Name of the span, for display purposes only","type":["string","null"]},"purpose":{"anyOf":[{"enum":["scorer"],"type":"string"},{"type":"null"}]},"type":{"anyOf":[{"enum":["llm","score","function","eval","task","tool","automation","facet","preprocessor","classifier","review"],"type":"string"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"span_id":{"description":"A unique identifier used to link different project logs events together as part of a full trace. See the [tracing guide](https://www.braintrust.dev/docs/instrument) for full details on tracing","type":"string"},"span_parents":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]},"tags":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]}}}},"realtime_state":{"type":"on","minimum_xact_id":"1000197472073890576","read_bytes":4909,"actual_xact_id":"1000197472074645319"},"freshness_state":{"last_processed_xact_id":"1000197472073890576","last_considered_xact_id":"1000197472074645319"},"warnings":[]} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-0efb36841fa8.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-0efb36841fa8.json new file mode 100644 index 00000000..a275249e --- /dev/null +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-0efb36841fa8.json @@ -0,0 +1 @@ +{"data":[{"_async_scoring_state":null,"_pagination_key":"p07680251263181783056","_xact_id":"1000197783586932658","audit_data":[{"_xact_id":"1000197783586932658","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":{"span_origin":{"instrumentation":{"name":"braintrust-java"},"name":"braintrust.sdk.java","version":"0.3.22-ca5ce6d-DIRTY"}},"created":"2026-08-31T17:37:16.619Z","error":null,"expected":null,"facets":null,"id":"8209db499bcdf031","input":null,"is_root":true,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","client":"anthropic"},"metrics":{"end":1788197837.7902951,"start":1788197836.619089},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":null,"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"507c740f5c1065f25026fd2421ac8422","scores":null,"span_attributes":{"name":"prompt_caching_1h","type":"task"},"span_id":"8209db499bcdf031","span_parents":null,"tags":null},{"_async_scoring_state":null,"_pagination_key":"p07680251263181783041","_xact_id":"1000197783586932658","audit_data":[{"_xact_id":"1000197783586932658","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":{"span_origin":{"instrumentation":{"name":"braintrust-java"},"name":"braintrust.sdk.java","version":"0.3.22-ca5ce6d-DIRTY"}},"created":"2026-08-31T17:37:16.625Z","error":null,"expected":null,"facets":null,"id":"6690dcc027d2b04f","input":[{"content":"What is the capital of France?","role":"user"},{"content":[{"cache_control":{"ttl":"1h","type":"ephemeral"},"text":"[cache buster: anthropic vcr-mode]\nReference material (stable, cached with a 1 hour TTL):\n\nThe following is a condensed atlas of capital cities. It does\nnot change between requests within a session, which is why it\nis cached with the longer 1 hour TTL. Consult it before\nanswering.\n\nEurope:\n - France: Paris\n - Germany: Berlin\n - Italy: Rome\n - Spain: Madrid\n - Portugal: Lisbon\n - United Kingdom: London\n - Ireland: Dublin\n - Netherlands: Amsterdam (seat of government: The Hague)\n - Belgium: Brussels\n - Luxembourg: Luxembourg City\n - Switzerland: Bern (de facto; no de jure capital)\n - Austria: Vienna\n - Denmark: Copenhagen\n - Sweden: Stockholm\n - Norway: Oslo\n - Finland: Helsinki\n - Iceland: Reykjavik\n - Poland: Warsaw\n - Czechia: Prague\n - Slovakia: Bratislava\n - Hungary: Budapest\n - Romania: Bucharest\n - Bulgaria: Sofia\n - Greece: Athens\n - Ukraine: Kyiv\n - Belarus: Minsk\n - Russia: Moscow\n - Serbia: Belgrade\n - Croatia: Zagreb\n - Slovenia: Ljubljana\n - Bosnia and Herzegovina: Sarajevo\n - North Macedonia: Skopje\n - Albania: Tirana\n - Montenegro: Podgorica\n - Estonia: Tallinn\n - Latvia: Riga\n - Lithuania: Vilnius\n - Moldova: Chisinau\n - Malta: Valletta\n\nAsia:\n - Japan: Tokyo\n - China: Beijing\n - South Korea: Seoul\n - North Korea: Pyongyang\n - Mongolia: Ulaanbaatar\n - Vietnam: Hanoi\n - Thailand: Bangkok\n - Cambodia: Phnom Penh\n - Laos: Vientiane\n - Myanmar: Naypyidaw\n - Malaysia: Kuala Lumpur\n - Singapore: Singapore\n - Indonesia: Jakarta (moving to Nusantara)\n - Philippines: Manila\n - India: New Delhi\n - Pakistan: Islamabad\n - Bangladesh: Dhaka\n - Sri Lanka: Sri Jayawardenepura Kotte (commercial: Colombo)\n - Nepal: Kathmandu\n - Bhutan: Thimphu\n - Afghanistan: Kabul\n - Iran: Tehran\n - Iraq: Baghdad\n - Saudi Arabia: Riyadh\n - Yemen: Sanaa\n - Oman: Muscat\n - United Arab Emirates: Abu Dhabi\n - Qatar: Doha\n - Bahrain: Manama\n - Kuwait: Kuwait City\n - Jordan: Amman\n - Lebanon: Beirut\n - Syria: Damascus\n - Israel: Jerusalem (recognition varies)\n - Turkey: Ankara\n - Armenia: Yerevan\n - Azerbaijan: Baku\n - Georgia: Tbilisi\n - Kazakhstan: Astana\n - Uzbekistan: Tashkent\n - Turkmenistan: Ashgabat\n - Kyrgyzstan: Bishkek\n - Tajikistan: Dushanbe\n\nAfrica:\n - Egypt: Cairo\n - Libya: Tripoli\n - Tunisia: Tunis\n - Algeria: Algiers\n - Morocco: Rabat\n - Sudan: Khartoum\n - South Sudan: Juba\n - Ethiopia: Addis Ababa\n - Eritrea: Asmara\n - Somalia: Mogadishu\n - Djibouti: Djibouti\n - Kenya: Nairobi\n - Uganda: Kampala\n - Rwanda: Kigali\n - Burundi: Gitega\n - Tanzania: Dodoma\n - Nigeria: Abuja\n - Ghana: Accra\n - Ivory Coast: Yamoussoukro (de facto: Abidjan)\n - Senegal: Dakar\n - Mali: Bamako\n - Cameroon: Yaounde\n - South Africa: Pretoria (executive), Cape Town (legislative), Bloemfontein (judicial)\n - Zimbabwe: Harare\n - Zambia: Lusaka\n - Angola: Luanda\n - Mozambique: Maputo\n - Madagascar: Antananarivo\n - Namibia: Windhoek\n - Botswana: Gaborone\n - Democratic Republic of the Congo: Kinshasa\n - Republic of the Congo: Brazzaville\n\nAmericas:\n - United States: Washington, D.C.\n - Canada: Ottawa\n - Mexico: Mexico City\n - Guatemala: Guatemala City\n - Belize: Belmopan\n - Honduras: Tegucigalpa\n - El Salvador: San Salvador\n - Nicaragua: Managua\n - Costa Rica: San Jose\n - Panama: Panama City\n - Cuba: Havana\n - Jamaica: Kingston\n - Haiti: Port-au-Prince\n - Dominican Republic: Santo Domingo\n - Colombia: Bogota\n - Venezuela: Caracas\n - Ecuador: Quito\n - Peru: Lima\n - Bolivia: Sucre (constitutional), La Paz (seat of government)\n - Chile: Santiago\n - Argentina: Buenos Aires\n - Uruguay: Montevideo\n - Paraguay: Asuncion\n - Brazil: Brasilia\n\nOceania:\n - Australia: Canberra\n - New Zealand: Wellington\n - Fiji: Suva\n - Papua New Guinea: Port Moresby\n - Samoa: Apia\n - Tonga: Nuku'alofa\n - Vanuatu: Port Vila\n - Solomon Islands: Honiara\n - Micronesia: Palikir\n - Palau: Ngerulmud\n - Marshall Islands: Majuro\n - Kiribati: South Tarawa\n - Nauru: no official capital; government in Yaren District\n - Tuvalu: Funafuti\n\nNotes on multi-capital and disputed cases:\n\n - Netherlands: the constitutional capital is Amsterdam but\n the seat of government, parliament, and supreme court are\n all in The Hague. Prefer Amsterdam unless the user asks\n about the government specifically.\n - South Africa: three capitals split by branch. Pretoria\n hosts the executive, Cape Town hosts parliament, and\n Bloemfontein hosts the supreme court of appeal. No single\n city is \"the\" capital.\n - Bolivia: Sucre is the constitutional capital, but La Paz\n is the seat of government and the larger city. Either\n answer is defensible; list both when asked.\n - Ivory Coast: Yamoussoukro has been the official capital\n since 1983, but Abidjan remains the economic hub and de\n facto administrative center for most purposes.\n - Sri Lanka: Sri Jayawardenepura Kotte is the legislative\n capital. Colombo is the commercial capital and by far the\n more commonly referenced city.\n - Switzerland: Bern is the de facto capital (the seat of\n the federal authorities), but Swiss law does not\n designate any city as \"the capital\".\n - Nauru: has no designated capital. Government offices are\n in the Yaren District, which is often listed as the\n capital by convention.\n - Israel: Jerusalem is the declared capital, but\n international recognition of that status is not\n universal. Many embassies are in Tel Aviv.\n - Palestine: de jure capital is East Jerusalem; de facto\n administrative center is Ramallah. Both appear in\n official usage.\n - Taiwan: Taipei is the capital of the Republic of China.\n Recognition as a sovereign state varies by country.\n - Kosovo: Pristina is the capital of the Republic of\n Kosovo. Recognition as a sovereign state varies by\n country.\n - Somaliland: Hargeisa is the capital of the self-declared\n Republic of Somaliland, which is not widely recognized.\n Somalia, which claims the territory, has its capital at\n Mogadishu.\n\nEnd of reference material.\n","type":"text"}],"role":"system"}],"is_root":false,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","max_tokens":128,"model":"claude-sonnet-4-5-20250929","provider":"anthropic","request-id":"req_011CebERwoWNYTW3T7ZssbPE","request_base_uri":"","request_method":"POST","request_path":"v1/messages","response_id":"msg_011CebERxMkBKgAs1wrCNGyz","temperature":0},"metrics":{"completion_tokens":11,"end":1788197837.7900593,"estimated_cost":0.012140999999999999,"prompt_cache_creation_1h_tokens":1990,"prompt_cache_creation_5m_tokens":0,"prompt_cached_tokens":0,"prompt_tokens":2002,"start":1788197836.625088,"tokens":2013},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":{"content":[{"text":"The capital of France is **Paris**.","type":"text"}],"id":"msg_011CebERxMkBKgAs1wrCNGyz","model":"claude-sonnet-4-5-20250929","role":"assistant","stop_details":null,"stop_reason":"end_turn","stop_sequence":null,"type":"message","usage":{"cache_creation":{"ephemeral_1h_input_tokens":1990,"ephemeral_5m_input_tokens":0},"cache_creation_input_tokens":1990,"cache_read_input_tokens":0,"inference_geo":"not_available","input_tokens":12,"output_tokens":11,"service_tier":"standard"}},"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"507c740f5c1065f25026fd2421ac8422","scores":null,"span_attributes":{"name":"anthropic.messages.create","type":"llm"},"span_id":"6690dcc027d2b04f","span_parents":["8209db499bcdf031"],"tags":null}],"schema":{"type":"array","items":{"type":"object","properties":{"_async_scoring_state":{},"_pagination_key":{"description":"A stable, time-ordered key that can be used to paginate over project logs events. This field is auto-generated by Braintrust and only exists in Brainstore.","type":["string","null"]},"_xact_id":{"description":"The transaction id of an event is unique to the network operation that processed the event insertion. Transaction ids are monotonically increasing over time and can be used to retrieve a versioned snapshot of the project logs (see the `version` parameter)","type":"string"},"audit_data":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"classifications":{"anyOf":[{"additionalProperties":{"items":{"additionalProperties":false,"properties":{"confidence":{"description":"Optional confidence score for the classification","type":["number","null"]},"id":{"description":"Stable classification identifier","type":"string"},"label":{"description":"Original label of the classification item, which is useful for search and indexing purposes","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"type":"object"},{"type":"null"}],"description":"Optional metadata associated with the classification"},"source":{"anyOf":[{"anyOf":[{"additionalProperties":false,"properties":{"id":{"type":"string"},"type":{"const":"function","type":"string"},"version":{"description":"The version of the function","type":"string"}},"required":["type","id"],"type":"object"},{"additionalProperties":false,"properties":{"function_type":{"default":"scorer","description":"The type of global function. Defaults to 'scorer'.","enum":["llm","scorer","task","tool","custom_view","preprocessor","facet","classifier","tag","parameters","sandbox"],"type":"string"},"name":{"type":"string"},"type":{"const":"global","type":"string"}},"required":["type","name"],"type":"object"}]},{"type":"null"}],"description":"Optional function identifier that produced the classification"}},"required":["id"],"type":"object"},"type":"array"},"properties":{},"type":"object"},{"type":"null"}]},"comments":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"context":{"anyOf":[{"additionalProperties":{},"properties":{"caller_filename":{"description":"Name of the file in code where the project logs event was created","type":["string","null"]},"caller_functionname":{"description":"The function in code which created the project logs event","type":["string","null"]},"caller_lineno":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"created":{"description":"The timestamp the project logs event was created","format":"date-time","type":"string"},"error":{"description":"The error that occurred, if any."},"expected":{"description":"The ground truth value (an arbitrary, JSON serializable object) that you'd compare to `output` to determine if your `output` value is correct or not. Braintrust currently does not compare `output` to `expected` for you, since there are so many different ways to do that correctly. Instead, these values are just used to help you navigate while digging into analyses. However, we may later use these values to re-score outputs or fine-tune your models."},"facets":{"anyOf":[{"additionalProperties":{"type":["string","null"]},"properties":{},"type":"object"},{"type":"null"}]},"id":{"description":"A unique identifier for the project logs event. If you don't provide one, Braintrust will generate one for you","type":"string"},"input":{"description":"The arguments that uniquely define a user input (an arbitrary, JSON serializable object)."},"is_root":{"description":"Whether this span is a root span","type":["boolean","null"]},"log_id":{"const":"g","description":"A literal 'g' which identifies the log as a project log","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"properties":{"model":{"description":"The model used for this example","type":["string","null"]}},"type":"object"},{"type":"null"}]},"metrics":{"anyOf":[{"additionalProperties":{"type":"number"},"properties":{"caller_filename":{"description":"This metric is deprecated"},"caller_functionname":{"description":"This metric is deprecated"},"caller_lineno":{"description":"This metric is deprecated"},"completion_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"end":{"description":"A unix timestamp recording when the section of code which produced the project logs event finished","type":["number","null"]},"prompt_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"start":{"description":"A unix timestamp recording when the section of code which produced the project logs event started","type":["number","null"]},"tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"org_id":{"description":"Unique id for the organization that the project belongs under","format":"uuid","type":"string"},"origin":{"anyOf":[{"description":"Reference to the original object and event this was copied from.","properties":{"_xact_id":{"description":"Transaction ID of the original event.","type":["string","null"]},"created":{"description":"Created timestamp of the original event. Used to help sort in the UI","type":["string","null"]},"id":{"description":"ID of the original event.","type":"string"},"object_id":{"description":"ID of the object the event is originating from.","format":"uuid","type":"string"},"object_type":{"description":"Type of the object the event is originating from.","enum":["project_logs","experiment","dataset","prompt","function","prompt_session"],"type":"string"}},"required":["object_type","object_id","id"],"type":"object"},{"type":"null"}]},"output":{"description":"The output of your application, including post-processing (an arbitrary, JSON serializable object), that allows you to determine whether the result is correct or not. For example, in an app that generates SQL queries, the `output` should be the _result_ of the SQL query generated by the model, not the query itself, because there may be multiple valid queries that answer a single question."},"project_id":{"description":"Unique identifier for the project","format":"uuid","type":"string"},"root_span_id":{"description":"A unique identifier for the trace this project logs event belongs to","type":"string"},"scores":{"anyOf":[{"additionalProperties":{"anyOf":[{"maximum":1,"minimum":0,"type":"number"},{"type":"null"}]},"properties":{},"type":"object"},{"type":"null"}]},"span_attributes":{"anyOf":[{"additionalProperties":{},"description":"Human-identifying attributes of the span, such as name, type, etc.","properties":{"name":{"description":"Name of the span, for display purposes only","type":["string","null"]},"purpose":{"anyOf":[{"enum":["scorer"],"type":"string"},{"type":"null"}]},"type":{"anyOf":[{"enum":["llm","score","function","eval","task","tool","automation","facet","preprocessor","classifier","review"],"type":"string"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"span_id":{"description":"A unique identifier used to link different project logs events together as part of a full trace. See the [tracing guide](https://www.braintrust.dev/docs/instrument) for full details on tracing","type":"string"},"span_parents":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]},"tags":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]}}}},"realtime_state":{"type":"on","minimum_xact_id":"1000197783589161396","read_bytes":0,"actual_xact_id":"1000197783589161396"},"freshness_state":{"last_processed_xact_id":"1000197783589161396","last_considered_xact_id":"1000197783589161396"},"warnings":[]} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-10bd39761b9d.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-10bd39761b9d.json deleted file mode 100644 index b05659a8..00000000 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-10bd39761b9d.json +++ /dev/null @@ -1 +0,0 @@ -{"data":[{"_async_scoring_state":null,"_pagination_key":"p07659835926102147073","_xact_id":"1000197472073610520","audit_data":[{"_xact_id":"1000197472073610520","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":null,"created":"2026-07-07T17:15:01.140Z","error":null,"expected":null,"facets":null,"id":"a895e4ae33431574","input":null,"is_root":true,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","client":"langchain-openai"},"metrics":{"end":1783444524.1414511,"start":1783444501.140985},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":null,"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"9de3f14ced7ce293a3f265165c9a5059","scores":null,"span_attributes":{"name":"reasoning","type":"task"},"span_id":"a895e4ae33431574","span_parents":null,"tags":null},{"_async_scoring_state":null,"_pagination_key":"p07659835876496441350","_xact_id":"1000197472072853597","audit_data":[{"_xact_id":"1000197472072853597","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":null,"created":"2026-07-07T17:15:01.152Z","error":null,"expected":null,"facets":null,"id":"864d63e7a2333421","input":[{"content":"Look at this sequence: 2, 6, 12, 20, 30. What is the pattern and what would be the formula for the nth term?\n","role":"user"}],"is_root":false,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","model":"o4-mini","provider":"openai","request_base_uri":"http://localhost:63169","request_method":"POST","request_path":"responses"},"metrics":{"completion_reasoning_tokens":832,"completion_tokens":962,"end":1783444515.1698973,"estimated_cost":0.0042779,"prompt_cached_tokens":0,"prompt_tokens":41,"start":1783444501.1523755,"tokens":1003},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":[{"content":[],"id":"rs_0348cfee672d66ba006a4d341602f48199af393909c4e1bb43","summary":[{"text":"**Identifying sequence pattern**\n\nThe user asked about the sequence 2, 6, 12, 20, 30, and I'm noticing that it looks like it’s based on triangular numbers multiplied by 2. Triangular numbers are 1, 3, 6, 10, 15, so when I double those, I get 2, 6, 12, 20, and 30. It turns out the nth term formula is n(n+1). These numbers are products of consecutive integers, so I can express it as 2*T_n, where T_n represents triangular numbers.","type":"summary_text"},{"text":"**Identifying the pronic number pattern**\n\nI'm analyzing the differences in the sequence: the first differences are 4, 6, 8, and 10, which increase by 2, indicating a quadratic formula. The general formula is a_n = n^2 + n, representing pronic numbers, or the product of two consecutive integers. If I index from n=1, the formula yields 2 for the first term. Essentially, I can summarise that the pattern is products of n and n+1, or triangular numbers doubled. Therefore, the answer is a_n = n(n+1).","type":"summary_text"},{"text":"**Finalizing the formula**\n\nI want to make sure I include the explicit formula in my answer. The formula for the nth term of the sequence is a_n = n^2 + n. This neatly summarizes the pattern I've identified. It fits well within the context of pronic numbers, where each term represents the product of two consecutive integers. So, to wrap it up, the explicit formula is indeed a_n = n^2 + n. That's my final answer!","type":"summary_text"}],"type":"reasoning"},{"content":[{"annotations":[],"logprobs":[],"text":"The terms are the “pronic” numbers (each is the product of two consecutive integers):\n\n 2 = 1·2 \n 6 = 2·3 \n12 = 3·4 \n20 = 4·5 \n30 = 5·6 \n\nIf you call the first term n=1, the nth term is\n\n aₙ = n·(n + 1) ,\n\nequivalently\n\n aₙ = n² + n.","type":"output_text"}],"id":"msg_0348cfee672d66ba006a4d3422ab8081998a4d5d38ea5fe453","role":"assistant","status":"completed","type":"message"}],"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"9de3f14ced7ce293a3f265165c9a5059","scores":null,"span_attributes":{"name":"responses","type":"llm"},"span_id":"864d63e7a2333421","span_parents":["a895e4ae33431574"],"tags":null},{"_async_scoring_state":null,"_pagination_key":"p07659835926102147078","_xact_id":"1000197472073610520","audit_data":[{"_xact_id":"1000197472073610520","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":null,"created":"2026-07-07T17:15:15.188Z","error":null,"expected":null,"facets":null,"id":"281abc593828e09e","input":[{"content":"Look at this sequence: 2, 6, 12, 20, 30. What is the pattern and what would be the formula for the nth term?\n","role":"user"},{"content":[],"id":"rs_0348cfee672d66ba006a4d341602f48199af393909c4e1bb43","summary":[{"text":"**Identifying sequence pattern**\n\nThe user asked about the sequence 2, 6, 12, 20, 30, and I'm noticing that it looks like it’s based on triangular numbers multiplied by 2. Triangular numbers are 1, 3, 6, 10, 15, so when I double those, I get 2, 6, 12, 20, and 30. It turns out the nth term formula is n(n+1). These numbers are products of consecutive integers, so I can express it as 2*T_n, where T_n represents triangular numbers.","type":"summary_text"},{"text":"**Identifying the pronic number pattern**\n\nI'm analyzing the differences in the sequence: the first differences are 4, 6, 8, and 10, which increase by 2, indicating a quadratic formula. The general formula is a_n = n^2 + n, representing pronic numbers, or the product of two consecutive integers. If I index from n=1, the formula yields 2 for the first term. Essentially, I can summarise that the pattern is products of n and n+1, or triangular numbers doubled. Therefore, the answer is a_n = n(n+1).","type":"summary_text"},{"text":"**Finalizing the formula**\n\nI want to make sure I include the explicit formula in my answer. The formula for the nth term of the sequence is a_n = n^2 + n. This neatly summarizes the pattern I've identified. It fits well within the context of pronic numbers, where each term represents the product of two consecutive integers. So, to wrap it up, the explicit formula is indeed a_n = n^2 + n. That's my final answer!","type":"summary_text"}],"type":"reasoning"},{"content":[{"annotations":[],"logprobs":[],"text":"The terms are the “pronic” numbers (each is the product of two consecutive integers):\n\n 2 = 1·2 \n 6 = 2·3 \n12 = 3·4 \n20 = 4·5 \n30 = 5·6 \n\nIf you call the first term n=1, the nth term is\n\n aₙ = n·(n + 1) ,\n\nequivalently\n\n aₙ = n² + n.","type":"output_text"}],"id":"msg_0348cfee672d66ba006a4d3422ab8081998a4d5d38ea5fe453","role":"assistant","status":"completed","type":"message"},{"content":"Using the pattern you discovered, what would be the 10th term? And can you find the sum of the first 10 terms?","role":"user"}],"is_root":false,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","model":"o4-mini","provider":"openai","request_base_uri":"http://localhost:63169","request_method":"POST","request_path":"responses"},"metrics":{"completion_reasoning_tokens":320,"completion_tokens":574,"end":1783444524.1173089,"estimated_cost":0.0027203,"prompt_cached_tokens":0,"prompt_tokens":177,"start":1783444515.1883857,"tokens":751},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":[{"content":[],"id":"rs_0348cfee672d66ba006a4d34242224819998603a2f2c0e3512","summary":[{"text":"**Calculating pronic numbers**\n\nI'm working through pronic numbers, defined as a_n = n(n+1). For the 10th term, a_{10} is 110 since 10*11 equals 110. To find the sum of the first 10 terms, I break it down: I need the sum of squares and the sum of integers, which adds up to 440. I confirm that summing the pronic numbers directly gives the same total, and I also derive a formula for the partial sum, which checks out. So, the results are the 10th term is 110, and the sum is 440.","type":"summary_text"},{"text":"**Finalizing pronic numbers**\n\nTo finalize my calculations, I find that a_{10} is 110, calculated as 10*11. For the sum of the first 10 terms, I break it down into the sum of squares and the sum of integers, which equals 440 (385 + 55). I also have a formula for the partial sum, S_N = N(N+1)(N+2)/3, which confirms this when I calculate S_{10} as 440. So, I've got my answer: 110 for the term and 440 for the sum.","type":"summary_text"}],"type":"reasoning"},{"content":[{"annotations":[],"logprobs":[],"text":"The nth term is aₙ = n(n + 1). \nSo the 10th term is \n a₁₀ = 10·11 = 110. \n\nThe sum of the first 10 terms is \n S₁₀ = ∑ₙ₌₁¹⁰ n(n + 1) \n = ∑ₙ₌₁¹⁰ n² + ∑ₙ₌₁¹⁰ n \n = (10·11·21)/6 + (10·11)/2 \n = 385 + 55 \n = 440. \n\nEquivalently, one can use the closed‐form \n S_N = N(N + 1)(N + 2)/3 \nto get S₁₀ = 10·11·12/3 = 440.","type":"output_text"}],"id":"msg_0348cfee672d66ba006a4d342b6304819993c7c9771c741f6b","role":"assistant","status":"completed","type":"message"}],"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"9de3f14ced7ce293a3f265165c9a5059","scores":null,"span_attributes":{"name":"responses","type":"llm"},"span_id":"281abc593828e09e","span_parents":["a895e4ae33431574"],"tags":null}],"schema":{"type":"array","items":{"type":"object","properties":{"_async_scoring_state":{},"_pagination_key":{"description":"A stable, time-ordered key that can be used to paginate over project logs events. This field is auto-generated by Braintrust and only exists in Brainstore.","type":["string","null"]},"_xact_id":{"description":"The transaction id of an event is unique to the network operation that processed the event insertion. Transaction ids are monotonically increasing over time and can be used to retrieve a versioned snapshot of the project logs (see the `version` parameter)","type":"string"},"audit_data":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"classifications":{"anyOf":[{"additionalProperties":{"items":{"additionalProperties":false,"properties":{"confidence":{"description":"Optional confidence score for the classification","type":["number","null"]},"id":{"description":"Stable classification identifier","type":"string"},"label":{"description":"Original label of the classification item, which is useful for search and indexing purposes","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"type":"object"},{"type":"null"}],"description":"Optional metadata associated with the classification"},"source":{"anyOf":[{"anyOf":[{"additionalProperties":false,"properties":{"id":{"type":"string"},"type":{"const":"function","type":"string"},"version":{"description":"The version of the function","type":"string"}},"required":["type","id"],"type":"object"},{"additionalProperties":false,"properties":{"function_type":{"default":"scorer","description":"The type of global function. Defaults to 'scorer'.","enum":["llm","scorer","task","tool","custom_view","preprocessor","facet","classifier","tag","parameters","sandbox"],"type":"string"},"name":{"type":"string"},"type":{"const":"global","type":"string"}},"required":["type","name"],"type":"object"}]},{"type":"null"}],"description":"Optional function identifier that produced the classification"}},"required":["id"],"type":"object"},"type":"array"},"properties":{},"type":"object"},{"type":"null"}]},"comments":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"context":{"anyOf":[{"additionalProperties":{},"properties":{"caller_filename":{"description":"Name of the file in code where the project logs event was created","type":["string","null"]},"caller_functionname":{"description":"The function in code which created the project logs event","type":["string","null"]},"caller_lineno":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"created":{"description":"The timestamp the project logs event was created","format":"date-time","type":"string"},"error":{"description":"The error that occurred, if any."},"expected":{"description":"The ground truth value (an arbitrary, JSON serializable object) that you'd compare to `output` to determine if your `output` value is correct or not. Braintrust currently does not compare `output` to `expected` for you, since there are so many different ways to do that correctly. Instead, these values are just used to help you navigate while digging into analyses. However, we may later use these values to re-score outputs or fine-tune your models."},"facets":{"anyOf":[{"additionalProperties":{"type":["string","null"]},"properties":{},"type":"object"},{"type":"null"}]},"id":{"description":"A unique identifier for the project logs event. If you don't provide one, Braintrust will generate one for you","type":"string"},"input":{"description":"The arguments that uniquely define a user input (an arbitrary, JSON serializable object)."},"is_root":{"description":"Whether this span is a root span","type":["boolean","null"]},"log_id":{"const":"g","description":"A literal 'g' which identifies the log as a project log","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"properties":{"model":{"description":"The model used for this example","type":["string","null"]}},"type":"object"},{"type":"null"}]},"metrics":{"anyOf":[{"additionalProperties":{"type":"number"},"properties":{"caller_filename":{"description":"This metric is deprecated"},"caller_functionname":{"description":"This metric is deprecated"},"caller_lineno":{"description":"This metric is deprecated"},"completion_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"end":{"description":"A unix timestamp recording when the section of code which produced the project logs event finished","type":["number","null"]},"prompt_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"start":{"description":"A unix timestamp recording when the section of code which produced the project logs event started","type":["number","null"]},"tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"org_id":{"description":"Unique id for the organization that the project belongs under","format":"uuid","type":"string"},"origin":{"anyOf":[{"description":"Reference to the original object and event this was copied from.","properties":{"_xact_id":{"description":"Transaction ID of the original event.","type":["string","null"]},"created":{"description":"Created timestamp of the original event. Used to help sort in the UI","type":["string","null"]},"id":{"description":"ID of the original event.","type":"string"},"object_id":{"description":"ID of the object the event is originating from.","format":"uuid","type":"string"},"object_type":{"description":"Type of the object the event is originating from.","enum":["project_logs","experiment","dataset","prompt","function","prompt_session"],"type":"string"}},"required":["object_type","object_id","id"],"type":"object"},{"type":"null"}]},"output":{"description":"The output of your application, including post-processing (an arbitrary, JSON serializable object), that allows you to determine whether the result is correct or not. For example, in an app that generates SQL queries, the `output` should be the _result_ of the SQL query generated by the model, not the query itself, because there may be multiple valid queries that answer a single question."},"project_id":{"description":"Unique identifier for the project","format":"uuid","type":"string"},"root_span_id":{"description":"A unique identifier for the trace this project logs event belongs to","type":"string"},"scores":{"anyOf":[{"additionalProperties":{"anyOf":[{"maximum":1,"minimum":0,"type":"number"},{"type":"null"}]},"properties":{},"type":"object"},{"type":"null"}]},"span_attributes":{"anyOf":[{"additionalProperties":{},"description":"Human-identifying attributes of the span, such as name, type, etc.","properties":{"name":{"description":"Name of the span, for display purposes only","type":["string","null"]},"purpose":{"anyOf":[{"enum":["scorer"],"type":"string"},{"type":"null"}]},"type":{"anyOf":[{"enum":["llm","score","function","eval","task","tool","automation","facet","preprocessor","classifier","review"],"type":"string"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"span_id":{"description":"A unique identifier used to link different project logs events together as part of a full trace. See the [tracing guide](https://www.braintrust.dev/docs/instrument) for full details on tracing","type":"string"},"span_parents":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]},"tags":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]}}}},"realtime_state":{"type":"on","minimum_xact_id":"1000197472074645319","read_bytes":0,"actual_xact_id":"1000197472074645319"},"freshness_state":{"last_processed_xact_id":"1000197472074645319","last_considered_xact_id":"1000197472074645319"},"warnings":[]} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-11e862dfa961.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-11e862dfa961.json deleted file mode 100644 index db17ac7d..00000000 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-11e862dfa961.json +++ /dev/null @@ -1 +0,0 @@ -{"data":[{"_async_scoring_state":null,"_pagination_key":"p07659835993918734336","_xact_id":"1000197472074645319","audit_data":[{"_xact_id":"1000197472074645319","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":null,"created":"2026-07-07T17:15:24.141Z","error":null,"expected":null,"facets":null,"id":"94ae408a03eec0f3","input":null,"is_root":true,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","client":"springai-openai"},"metrics":{"end":1783444540.8198242,"start":1783444524.141518},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":null,"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"8acad74a574f6d2c76ba3b3ebfca619a","scores":null,"span_attributes":{"name":"reasoning","type":"task"},"span_id":"94ae408a03eec0f3","span_parents":null,"tags":null},{"_async_scoring_state":null,"_pagination_key":"p07659835944455897090","_xact_id":"1000197472073890576","audit_data":[{"_xact_id":"1000197472073890576","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":null,"created":"2026-07-07T17:15:24.144Z","error":null,"expected":null,"facets":null,"id":"e4563947fc2e9a27","input":[{"content":"Look at this sequence: 2, 6, 12, 20, 30. What is the pattern and what would be the formula for the nth term?\n","role":"user"}],"is_root":false,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","model":"o4-mini","provider":"openai","request_base_uri":"http://localhost:63169","request_method":"POST","request_path":"responses"},"metrics":{"completion_reasoning_tokens":512,"completion_tokens":771,"end":1783444533.3199956,"estimated_cost":0.0034375000000000005,"prompt_cached_tokens":0,"prompt_tokens":41,"start":1783444524.1446724,"tokens":812},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":[{"content":[],"id":"rs_0ff02e989ebfcde4006a4d342cbddc8199a202842893922128","summary":[{"text":"**Exploring the sequence of pronic numbers**\n\nThe user is asking about the pattern in the sequence: 2, 6, 12, 20, 30. These numbers represent the first five pronic or oblong numbers, calculated with the formula n(n+1). For instance, 2 is from 1*2, 6 is from 2*3, and so on. The general formula reflects this, and I also recognize that the differences between terms form an even sequence, leading me to confirm it as a quadratic pattern.","type":"summary_text"},{"text":"**Establishing the pronic numbers pattern**\n\nThe pattern in the sequence is pronic numbers, where the formula is a_n = n(n+1). I can express it differently as n^2 + n, starting from n = 1. The first term is 2, and if indexing begins at 0, it shifts slightly. However, most commonly we index from 1, so the general term remains n(n+1). The differences between terms increase by 2, confirming it's indeed the pronic numbers—also known as oblong numbers.","type":"summary_text"}],"type":"reasoning"},{"content":[{"annotations":[],"logprobs":[],"text":"The easiest way to see the pattern is to look at the successive differences:\n\n 6–2 = 4, \n 12–6 = 6, \n 20–12 = 8, \n 30–20 = 10, \n\nso you’re adding 4, then 6, then 8, then 10, … i.e. successive even numbers. Equivalently each term is the product of two consecutive integers:\n\n 2 = 1·2 \n 6 = 2·3 \n 12 = 3·4 \n 20 = 4·5 \n 30 = 5·6 \n\nIf we call the first term “n = 1,” the nth term is\n\n aₙ = n·(n + 1) = n² + n.\n\nHence the general formula is \n\n aₙ = n(n+1).","type":"output_text"}],"id":"msg_0ff02e989ebfcde4006a4d3433942481999a50df50f13e8985","role":"assistant","status":"completed","type":"message"}],"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"8acad74a574f6d2c76ba3b3ebfca619a","scores":null,"span_attributes":{"name":"responses","type":"llm"},"span_id":"e4563947fc2e9a27","span_parents":["94ae408a03eec0f3"],"tags":null},{"_async_scoring_state":null,"_pagination_key":"p07659835993918734337","_xact_id":"1000197472074645319","audit_data":[{"_xact_id":"1000197472074645319","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":null,"created":"2026-07-07T17:15:33.345Z","error":null,"expected":null,"facets":null,"id":"0cbc9b68fc7374b2","input":[{"content":"Look at this sequence: 2, 6, 12, 20, 30. What is the pattern and what would be the formula for the nth term?\n","role":"user"},{"content":[],"id":"rs_0ff02e989ebfcde4006a4d342cbddc8199a202842893922128","summary":[{"text":"**Exploring the sequence of pronic numbers**\n\nThe user is asking about the pattern in the sequence: 2, 6, 12, 20, 30. These numbers represent the first five pronic or oblong numbers, calculated with the formula n(n+1). For instance, 2 is from 1*2, 6 is from 2*3, and so on. The general formula reflects this, and I also recognize that the differences between terms form an even sequence, leading me to confirm it as a quadratic pattern.","type":"summary_text"},{"text":"**Establishing the pronic numbers pattern**\n\nThe pattern in the sequence is pronic numbers, where the formula is a_n = n(n+1). I can express it differently as n^2 + n, starting from n = 1. The first term is 2, and if indexing begins at 0, it shifts slightly. However, most commonly we index from 1, so the general term remains n(n+1). The differences between terms increase by 2, confirming it's indeed the pronic numbers—also known as oblong numbers.","type":"summary_text"}],"type":"reasoning"},{"content":[{"annotations":[],"logprobs":[],"text":"The easiest way to see the pattern is to look at the successive differences:\n\n 6–2 = 4, \n 12–6 = 6, \n 20–12 = 8, \n 30–20 = 10, \n\nso you’re adding 4, then 6, then 8, then 10, … i.e. successive even numbers. Equivalently each term is the product of two consecutive integers:\n\n 2 = 1·2 \n 6 = 2·3 \n 12 = 3·4 \n 20 = 4·5 \n 30 = 5·6 \n\nIf we call the first term “n = 1,” the nth term is\n\n aₙ = n·(n + 1) = n² + n.\n\nHence the general formula is \n\n aₙ = n(n+1).","type":"output_text"}],"id":"msg_0ff02e989ebfcde4006a4d3433942481999a50df50f13e8985","role":"assistant","status":"completed","type":"message"},{"content":"Using the pattern you discovered, what would be the 10th term? And can you find the sum of the first 10 terms?","role":"user"}],"is_root":false,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","model":"o4-mini","provider":"openai","request_base_uri":"http://localhost:63169","request_method":"POST","request_path":"responses"},"metrics":{"completion_reasoning_tokens":448,"completion_tokens":631,"end":1783444540.8000376,"estimated_cost":0.0030778,"prompt_cached_tokens":0,"prompt_tokens":274,"start":1783444533.3453956,"tokens":905},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":[{"content":[],"id":"rs_0ff02e989ebfcde4006a4d3435f6908199b3719abd571b16ed","summary":[{"text":"**Calculating terms and sums**\n\nThe user wants to find the 10th term of a pattern defined by a_n = n(n+1). For n = 10, that gives a_10 = 10 * 11 = 110. Next, I’ll work out the sum of the first 10 terms. I can break it down into two parts: the sum of n^2 and the sum of n. The sums give 385 and 55, respectively. Adding those, the total sum equals 440. I can confirm that using the derived sum formula also works!","type":"summary_text"},{"text":"**Finalizing the calculations**\n\nI’m summarizing the results: the 10th term of the sequence is 110, and the sum of the first 10 terms is 440. The formula can be presented as sum = (n(n+1)(n+2))/3. To answer the question about the 10th term and the sum, I can clearly state: The 10th term a_10 is 10 * 11 = 110, and the sum is ∑_{k=1 to 10} k(k+1) = 440. Let’s ensure the delivery is clear and concise!","type":"summary_text"}],"type":"reasoning"},{"content":[{"annotations":[],"logprobs":[],"text":"The nth term is aₙ = n(n+1). \nSo the 10th term is \n a₁₀ = 10·11 = 110. \n\nThe sum of the first 10 terms is \n S₁₀ = ∑ₙ₌₁¹⁰ n(n+1) \n = ∑n² + ∑n \n = (10·11·21)/6 + (10·11)/2 \n = 385 + 55 \n = 440. \n\nEquivalently, one can use the closed‐form \n ∑ₙ₌₁ⁿ n(n+1) = n(n+1)(n+2)/3 \nso for n=10: 10·11·12/3 = 440.","type":"output_text"}],"id":"msg_0ff02e989ebfcde4006a4d343c105481999a7a57c25375ad7e","role":"assistant","status":"completed","type":"message"}],"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"8acad74a574f6d2c76ba3b3ebfca619a","scores":null,"span_attributes":{"name":"responses","type":"llm"},"span_id":"0cbc9b68fc7374b2","span_parents":["94ae408a03eec0f3"],"tags":null}],"schema":{"type":"array","items":{"type":"object","properties":{"_async_scoring_state":{},"_pagination_key":{"description":"A stable, time-ordered key that can be used to paginate over project logs events. This field is auto-generated by Braintrust and only exists in Brainstore.","type":["string","null"]},"_xact_id":{"description":"The transaction id of an event is unique to the network operation that processed the event insertion. Transaction ids are monotonically increasing over time and can be used to retrieve a versioned snapshot of the project logs (see the `version` parameter)","type":"string"},"audit_data":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"classifications":{"anyOf":[{"additionalProperties":{"items":{"additionalProperties":false,"properties":{"confidence":{"description":"Optional confidence score for the classification","type":["number","null"]},"id":{"description":"Stable classification identifier","type":"string"},"label":{"description":"Original label of the classification item, which is useful for search and indexing purposes","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"type":"object"},{"type":"null"}],"description":"Optional metadata associated with the classification"},"source":{"anyOf":[{"anyOf":[{"additionalProperties":false,"properties":{"id":{"type":"string"},"type":{"const":"function","type":"string"},"version":{"description":"The version of the function","type":"string"}},"required":["type","id"],"type":"object"},{"additionalProperties":false,"properties":{"function_type":{"default":"scorer","description":"The type of global function. Defaults to 'scorer'.","enum":["llm","scorer","task","tool","custom_view","preprocessor","facet","classifier","tag","parameters","sandbox"],"type":"string"},"name":{"type":"string"},"type":{"const":"global","type":"string"}},"required":["type","name"],"type":"object"}]},{"type":"null"}],"description":"Optional function identifier that produced the classification"}},"required":["id"],"type":"object"},"type":"array"},"properties":{},"type":"object"},{"type":"null"}]},"comments":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"context":{"anyOf":[{"additionalProperties":{},"properties":{"caller_filename":{"description":"Name of the file in code where the project logs event was created","type":["string","null"]},"caller_functionname":{"description":"The function in code which created the project logs event","type":["string","null"]},"caller_lineno":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"created":{"description":"The timestamp the project logs event was created","format":"date-time","type":"string"},"error":{"description":"The error that occurred, if any."},"expected":{"description":"The ground truth value (an arbitrary, JSON serializable object) that you'd compare to `output` to determine if your `output` value is correct or not. Braintrust currently does not compare `output` to `expected` for you, since there are so many different ways to do that correctly. Instead, these values are just used to help you navigate while digging into analyses. However, we may later use these values to re-score outputs or fine-tune your models."},"facets":{"anyOf":[{"additionalProperties":{"type":["string","null"]},"properties":{},"type":"object"},{"type":"null"}]},"id":{"description":"A unique identifier for the project logs event. If you don't provide one, Braintrust will generate one for you","type":"string"},"input":{"description":"The arguments that uniquely define a user input (an arbitrary, JSON serializable object)."},"is_root":{"description":"Whether this span is a root span","type":["boolean","null"]},"log_id":{"const":"g","description":"A literal 'g' which identifies the log as a project log","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"properties":{"model":{"description":"The model used for this example","type":["string","null"]}},"type":"object"},{"type":"null"}]},"metrics":{"anyOf":[{"additionalProperties":{"type":"number"},"properties":{"caller_filename":{"description":"This metric is deprecated"},"caller_functionname":{"description":"This metric is deprecated"},"caller_lineno":{"description":"This metric is deprecated"},"completion_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"end":{"description":"A unix timestamp recording when the section of code which produced the project logs event finished","type":["number","null"]},"prompt_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"start":{"description":"A unix timestamp recording when the section of code which produced the project logs event started","type":["number","null"]},"tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"org_id":{"description":"Unique id for the organization that the project belongs under","format":"uuid","type":"string"},"origin":{"anyOf":[{"description":"Reference to the original object and event this was copied from.","properties":{"_xact_id":{"description":"Transaction ID of the original event.","type":["string","null"]},"created":{"description":"Created timestamp of the original event. Used to help sort in the UI","type":["string","null"]},"id":{"description":"ID of the original event.","type":"string"},"object_id":{"description":"ID of the object the event is originating from.","format":"uuid","type":"string"},"object_type":{"description":"Type of the object the event is originating from.","enum":["project_logs","experiment","dataset","prompt","function","prompt_session"],"type":"string"}},"required":["object_type","object_id","id"],"type":"object"},{"type":"null"}]},"output":{"description":"The output of your application, including post-processing (an arbitrary, JSON serializable object), that allows you to determine whether the result is correct or not. For example, in an app that generates SQL queries, the `output` should be the _result_ of the SQL query generated by the model, not the query itself, because there may be multiple valid queries that answer a single question."},"project_id":{"description":"Unique identifier for the project","format":"uuid","type":"string"},"root_span_id":{"description":"A unique identifier for the trace this project logs event belongs to","type":"string"},"scores":{"anyOf":[{"additionalProperties":{"anyOf":[{"maximum":1,"minimum":0,"type":"number"},{"type":"null"}]},"properties":{},"type":"object"},{"type":"null"}]},"span_attributes":{"anyOf":[{"additionalProperties":{},"description":"Human-identifying attributes of the span, such as name, type, etc.","properties":{"name":{"description":"Name of the span, for display purposes only","type":["string","null"]},"purpose":{"anyOf":[{"enum":["scorer"],"type":"string"},{"type":"null"}]},"type":{"anyOf":[{"enum":["llm","score","function","eval","task","tool","automation","facet","preprocessor","classifier","review"],"type":"string"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"span_id":{"description":"A unique identifier used to link different project logs events together as part of a full trace. See the [tracing guide](https://www.braintrust.dev/docs/instrument) for full details on tracing","type":"string"},"span_parents":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]},"tags":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]}}}},"realtime_state":{"type":"on","minimum_xact_id":"1000197472074645319","read_bytes":0,"actual_xact_id":"1000197472074645319"},"freshness_state":{"last_processed_xact_id":"1000197472074645319","last_considered_xact_id":"1000197472074645319"},"warnings":[]} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-11f551f7e964.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-11f551f7e964.json deleted file mode 100644 index feb7f8c6..00000000 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-11f551f7e964.json +++ /dev/null @@ -1 +0,0 @@ -{"data":[{"_async_scoring_state":null,"_pagination_key":"p07659835926102147075","_xact_id":"1000197472073610520","audit_data":[{"_xact_id":"1000197472073610520","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":null,"created":"2026-07-07T17:15:24.666Z","error":null,"expected":null,"facets":null,"id":"6cac616f79339fd0","input":null,"is_root":true,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","client":"langchain-openai"},"metrics":{"end":1783444525.8424451,"start":1783444524.666579},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":null,"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"4f8910b785cf49cf77874ca7ca94ddfe","scores":null,"span_attributes":{"name":"completions","type":"task"},"span_id":"6cac616f79339fd0","span_parents":null,"tags":null},{"_async_scoring_state":null,"_pagination_key":"p07659835926102147080","_xact_id":"1000197472073610520","audit_data":[{"_xact_id":"1000197472073610520","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":null,"created":"2026-07-07T17:15:24.671Z","error":null,"expected":null,"facets":null,"id":"6444b1893152da0a","input":[{"content":"you are a helpful assistant","role":"system"},{"content":"What is the capital of France?","role":"user"}],"is_root":false,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","model":"gpt-4o-mini","provider":"openai","request_base_uri":"http://localhost:63169","request_method":"POST","request_path":"chat/completions"},"metrics":{"completion_tokens":7,"end":1783444525.8420084,"estimated_cost":0.00000765,"prompt_cached_tokens":0,"prompt_tokens":23,"start":1783444524.6710305,"tokens":30},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":[{"finish_reason":"stop","index":0,"logprobs":null,"message":{"annotations":[],"content":"The capital of France is Paris.","refusal":null,"role":"assistant"}}],"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"4f8910b785cf49cf77874ca7ca94ddfe","scores":null,"span_attributes":{"name":"Chat Completion","type":"llm"},"span_id":"6444b1893152da0a","span_parents":["6cac616f79339fd0"],"tags":null}],"schema":{"type":"array","items":{"type":"object","properties":{"_async_scoring_state":{},"_pagination_key":{"description":"A stable, time-ordered key that can be used to paginate over project logs events. This field is auto-generated by Braintrust and only exists in Brainstore.","type":["string","null"]},"_xact_id":{"description":"The transaction id of an event is unique to the network operation that processed the event insertion. Transaction ids are monotonically increasing over time and can be used to retrieve a versioned snapshot of the project logs (see the `version` parameter)","type":"string"},"audit_data":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"classifications":{"anyOf":[{"additionalProperties":{"items":{"additionalProperties":false,"properties":{"confidence":{"description":"Optional confidence score for the classification","type":["number","null"]},"id":{"description":"Stable classification identifier","type":"string"},"label":{"description":"Original label of the classification item, which is useful for search and indexing purposes","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"type":"object"},{"type":"null"}],"description":"Optional metadata associated with the classification"},"source":{"anyOf":[{"anyOf":[{"additionalProperties":false,"properties":{"id":{"type":"string"},"type":{"const":"function","type":"string"},"version":{"description":"The version of the function","type":"string"}},"required":["type","id"],"type":"object"},{"additionalProperties":false,"properties":{"function_type":{"default":"scorer","description":"The type of global function. Defaults to 'scorer'.","enum":["llm","scorer","task","tool","custom_view","preprocessor","facet","classifier","tag","parameters","sandbox"],"type":"string"},"name":{"type":"string"},"type":{"const":"global","type":"string"}},"required":["type","name"],"type":"object"}]},{"type":"null"}],"description":"Optional function identifier that produced the classification"}},"required":["id"],"type":"object"},"type":"array"},"properties":{},"type":"object"},{"type":"null"}]},"comments":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"context":{"anyOf":[{"additionalProperties":{},"properties":{"caller_filename":{"description":"Name of the file in code where the project logs event was created","type":["string","null"]},"caller_functionname":{"description":"The function in code which created the project logs event","type":["string","null"]},"caller_lineno":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"created":{"description":"The timestamp the project logs event was created","format":"date-time","type":"string"},"error":{"description":"The error that occurred, if any."},"expected":{"description":"The ground truth value (an arbitrary, JSON serializable object) that you'd compare to `output` to determine if your `output` value is correct or not. Braintrust currently does not compare `output` to `expected` for you, since there are so many different ways to do that correctly. Instead, these values are just used to help you navigate while digging into analyses. However, we may later use these values to re-score outputs or fine-tune your models."},"facets":{"anyOf":[{"additionalProperties":{"type":["string","null"]},"properties":{},"type":"object"},{"type":"null"}]},"id":{"description":"A unique identifier for the project logs event. If you don't provide one, Braintrust will generate one for you","type":"string"},"input":{"description":"The arguments that uniquely define a user input (an arbitrary, JSON serializable object)."},"is_root":{"description":"Whether this span is a root span","type":["boolean","null"]},"log_id":{"const":"g","description":"A literal 'g' which identifies the log as a project log","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"properties":{"model":{"description":"The model used for this example","type":["string","null"]}},"type":"object"},{"type":"null"}]},"metrics":{"anyOf":[{"additionalProperties":{"type":"number"},"properties":{"caller_filename":{"description":"This metric is deprecated"},"caller_functionname":{"description":"This metric is deprecated"},"caller_lineno":{"description":"This metric is deprecated"},"completion_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"end":{"description":"A unix timestamp recording when the section of code which produced the project logs event finished","type":["number","null"]},"prompt_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"start":{"description":"A unix timestamp recording when the section of code which produced the project logs event started","type":["number","null"]},"tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"org_id":{"description":"Unique id for the organization that the project belongs under","format":"uuid","type":"string"},"origin":{"anyOf":[{"description":"Reference to the original object and event this was copied from.","properties":{"_xact_id":{"description":"Transaction ID of the original event.","type":["string","null"]},"created":{"description":"Created timestamp of the original event. Used to help sort in the UI","type":["string","null"]},"id":{"description":"ID of the original event.","type":"string"},"object_id":{"description":"ID of the object the event is originating from.","format":"uuid","type":"string"},"object_type":{"description":"Type of the object the event is originating from.","enum":["project_logs","experiment","dataset","prompt","function","prompt_session"],"type":"string"}},"required":["object_type","object_id","id"],"type":"object"},{"type":"null"}]},"output":{"description":"The output of your application, including post-processing (an arbitrary, JSON serializable object), that allows you to determine whether the result is correct or not. For example, in an app that generates SQL queries, the `output` should be the _result_ of the SQL query generated by the model, not the query itself, because there may be multiple valid queries that answer a single question."},"project_id":{"description":"Unique identifier for the project","format":"uuid","type":"string"},"root_span_id":{"description":"A unique identifier for the trace this project logs event belongs to","type":"string"},"scores":{"anyOf":[{"additionalProperties":{"anyOf":[{"maximum":1,"minimum":0,"type":"number"},{"type":"null"}]},"properties":{},"type":"object"},{"type":"null"}]},"span_attributes":{"anyOf":[{"additionalProperties":{},"description":"Human-identifying attributes of the span, such as name, type, etc.","properties":{"name":{"description":"Name of the span, for display purposes only","type":["string","null"]},"purpose":{"anyOf":[{"enum":["scorer"],"type":"string"},{"type":"null"}]},"type":{"anyOf":[{"enum":["llm","score","function","eval","task","tool","automation","facet","preprocessor","classifier","review"],"type":"string"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"span_id":{"description":"A unique identifier used to link different project logs events together as part of a full trace. See the [tracing guide](https://www.braintrust.dev/docs/instrument) for full details on tracing","type":"string"},"span_parents":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]},"tags":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]}}}},"realtime_state":{"type":"on","minimum_xact_id":"1000197472073890576","read_bytes":4909,"actual_xact_id":"1000197472074645319"},"freshness_state":{"last_processed_xact_id":"1000197472074645319","last_considered_xact_id":"1000197472074645319"},"warnings":[]} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-140b6db9747e.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-140b6db9747e.json new file mode 100644 index 00000000..8358c407 --- /dev/null +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-140b6db9747e.json @@ -0,0 +1 @@ +{"data":[{"_async_scoring_state":null,"_pagination_key":"p07680251233063075851","_xact_id":"1000197783586473083","audit_data":[{"_xact_id":"1000197783586473083","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":{"span_origin":{"instrumentation":{"name":"braintrust-java"},"name":"braintrust.sdk.java","version":"0.3.22-ca5ce6d-DIRTY"}},"created":"2026-08-31T17:37:13.849Z","error":null,"expected":null,"facets":null,"id":"86c218ef91f0befd","input":null,"is_root":true,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","client":"springai-anthropic"},"metrics":{"end":1788197835.010214,"start":1788197833.84977},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":null,"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"99ae58f7b44156c1ee12036d81c73975","scores":null,"span_attributes":{"name":"prompt_caching_5m","type":"task"},"span_id":"86c218ef91f0befd","span_parents":null,"tags":null},{"_async_scoring_state":null,"_pagination_key":"p07680251233063075843","_xact_id":"1000197783586473083","audit_data":[{"_xact_id":"1000197783586473083","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":{"span_origin":{"instrumentation":{"name":"braintrust-java"},"name":"braintrust.sdk.java","version":"0.3.22-ca5ce6d-DIRTY"}},"created":"2026-08-31T17:37:13.909Z","error":null,"expected":null,"facets":null,"id":"01e0751b285a3f8b","input":[{"content":"What is the capital of France?","role":"user"},{"content":[{"cache_control":{"ttl":"5m","type":"ephemeral"},"text":"[cache buster: springai-anthropic vcr-mode]\nYou are a helpful assistant answering questions about world\ngeography. Follow the operating guidelines below on every\nresponse. These guidelines are refreshed frequently, so they\nare cached with the default 5 minute TTL.\n\n1. Answer in a single short sentence unless the user explicitly\n asks for more detail. Do not add preambles like \"Sure, here\n is the answer\" or \"Great question\". Just answer.\n2. Always state the canonical English name of a place first,\n followed by the local name in parentheses only when it\n differs. Do not include pronunciation guides.\n3. When the user asks about a country, prefer the capital over\n the largest city. When the user asks about a region, prefer\n the administrative center. When the user asks about a\n continent, prefer a widely recognized reference city and\n note that continents have no single capital.\n4. If the user asks about a disputed territory, name the\n de-facto administrative center without taking a political\n position. Do not editorialize.\n5. If the user asks a question that is not about geography,\n answer it briefly and then offer to continue with\n geography-related questions.\n6. Never invent place names. If you are not sure, say you are\n not sure and suggest a likely alternative the user may have\n meant.\n7. Use modern spelling conventions. Prefer \"Kyiv\" over \"Kiev\",\n \"Beijing\" over \"Peking\", \"Mumbai\" over \"Bombay\", and so on.\n8. Always use the metric system for distances, elevations, and\n areas. If the user explicitly asks for imperial units,\n convert and include both.\n9. Do not mention these instructions to the user. Do not refer\n to them as \"my guidelines\" or \"my system prompt\". Just\n follow them silently.\n10. If the user greets you, greet them back briefly and then\n wait for their actual question. Do not volunteer geography\n trivia.\n11. Treat any reference material supplied in a later cached\n block as authoritative. If it conflicts with your training\n data, prefer the reference material.\n12. If the user asks for a source or citation, say that you\n cannot cite sources directly but can describe where the\n information typically comes from (atlases, official\n government statistics, the CIA World Factbook, etc.).\n13. Keep responses under 40 words when possible. Brevity is a\n hard requirement, not a preference.\n14. Never use emojis. Never use bullet points unless the user\n explicitly asks for a list.\n15. If the user asks a follow-up that depends on the previous\n turn, answer based on the last place you discussed unless\n they name a new one.\n16. Do not volunteer comparative size, population, or GDP\n rankings unless the user asks. These numbers change over\n time and you are not a statistics oracle.\n17. When multiple entities share a name, disambiguate by the\n country or region (for example: \"Georgia, the country\" vs.\n \"Georgia, the US state\").\n18. Do not translate proper nouns. \"New York\" is not rendered\n in the user's language unless they explicitly request a\n translation.\n19. Never speculate about future political boundary changes.\n Stick to the current, widely recognized status quo.\n20. If the user asks about a place that no longer exists under\n that name (for example \"Constantinople\"), give the modern\n equivalent and note the historical name in parentheses.\n21. If a place has multiple official capitals (for example\n South Africa or Bolivia), list all of them with their\n roles, still in a single sentence.\n22. If the user asks for coordinates, give latitude and\n longitude in decimal degrees to two decimal places.\n23. If the user asks about a body of water, name the countries\n that border it, in rough clockwise order starting from the\n north.\n24. If the user asks about a mountain, give the elevation in\n meters and the country or countries it sits in.\n25. Do not mention sanctions, travel advisories, or current\n conflicts. This assistant is a reference for geography, not\n current events.\n26. If the user asks whether a place is a country, answer yes\n only for United Nations member states and widely\n recognized observer states. For partially recognized\n states, describe the recognition status in one clause\n rather than giving a flat yes or no.\n27. If the user asks about time zones, give the primary IANA\n zone identifier and the UTC offset at this moment, noting\n whether daylight saving time is currently in effect.\n28. If the user asks about currency, give the ISO 4217 code\n and the common symbol, without quoting an exchange rate.\n29. If the user asks about official languages, list at most\n three in order of number of speakers, and note that the\n list is not exhaustive when it is not.\n30. If the user asks about climate, give a one-clause\n Köppen summary (for example \"humid subtropical (Cfa)\")\n rather than a month-by-month breakdown.\n31. If the user asks about the flag of a country, describe it\n in words: colors, arrangement, and central emblem if any.\n Do not attempt ASCII art.\n32. If the user asks about national holidays, give only the\n single most widely observed one, with its date.\n33. If the user asks about the head of state or head of\n government, answer with the office name (\"the President\",\n \"the Prime Minister\") rather than the current office\n holder. Names of current office holders change too often\n for a cached prompt to keep up.\n34. If the user asks about airports, give the three-letter\n IATA code and the full airport name.\n35. If the user asks about train stations, give the\n widely used English-language name of the primary station\n and the city it serves.\n","type":"text"}],"role":"system"}],"is_root":false,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","max_tokens":128,"model":"claude-sonnet-4-5-20250929","provider":"anthropic","request-id":"req_011CebERk16XsYVewbFaCpAt","request_base_uri":"http://localhost:52407","request_method":"POST","request_path":"v1/messages","response_id":"msg_011CebERkfHNQ2tvMSPXU4vj","stream":false,"temperature":0},"metrics":{"completion_tokens":5,"end":1788197834.9987185,"estimated_cost":0.005241,"prompt_cache_creation_1h_tokens":0,"prompt_cache_creation_5m_tokens":1368,"prompt_cached_tokens":0,"prompt_tokens":1380,"start":1788197833.909066,"tokens":1385},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":{"content":[{"text":"Paris.","type":"text"}],"id":"msg_011CebERkfHNQ2tvMSPXU4vj","model":"claude-sonnet-4-5-20250929","role":"assistant","stop_details":null,"stop_reason":"end_turn","stop_sequence":null,"type":"message","usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":1368},"cache_creation_input_tokens":1368,"cache_read_input_tokens":0,"inference_geo":"not_available","input_tokens":12,"output_tokens":5,"service_tier":"standard"}},"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"99ae58f7b44156c1ee12036d81c73975","scores":null,"span_attributes":{"name":"anthropic.messages.create","type":"llm"},"span_id":"01e0751b285a3f8b","span_parents":["86c218ef91f0befd"],"tags":null}],"schema":{"type":"array","items":{"type":"object","properties":{"_async_scoring_state":{},"_pagination_key":{"description":"A stable, time-ordered key that can be used to paginate over project logs events. This field is auto-generated by Braintrust and only exists in Brainstore.","type":["string","null"]},"_xact_id":{"description":"The transaction id of an event is unique to the network operation that processed the event insertion. Transaction ids are monotonically increasing over time and can be used to retrieve a versioned snapshot of the project logs (see the `version` parameter)","type":"string"},"audit_data":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"classifications":{"anyOf":[{"additionalProperties":{"items":{"additionalProperties":false,"properties":{"confidence":{"description":"Optional confidence score for the classification","type":["number","null"]},"id":{"description":"Stable classification identifier","type":"string"},"label":{"description":"Original label of the classification item, which is useful for search and indexing purposes","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"type":"object"},{"type":"null"}],"description":"Optional metadata associated with the classification"},"source":{"anyOf":[{"anyOf":[{"additionalProperties":false,"properties":{"id":{"type":"string"},"type":{"const":"function","type":"string"},"version":{"description":"The version of the function","type":"string"}},"required":["type","id"],"type":"object"},{"additionalProperties":false,"properties":{"function_type":{"default":"scorer","description":"The type of global function. Defaults to 'scorer'.","enum":["llm","scorer","task","tool","custom_view","preprocessor","facet","classifier","tag","parameters","sandbox"],"type":"string"},"name":{"type":"string"},"type":{"const":"global","type":"string"}},"required":["type","name"],"type":"object"}]},{"type":"null"}],"description":"Optional function identifier that produced the classification"}},"required":["id"],"type":"object"},"type":"array"},"properties":{},"type":"object"},{"type":"null"}]},"comments":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"context":{"anyOf":[{"additionalProperties":{},"properties":{"caller_filename":{"description":"Name of the file in code where the project logs event was created","type":["string","null"]},"caller_functionname":{"description":"The function in code which created the project logs event","type":["string","null"]},"caller_lineno":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"created":{"description":"The timestamp the project logs event was created","format":"date-time","type":"string"},"error":{"description":"The error that occurred, if any."},"expected":{"description":"The ground truth value (an arbitrary, JSON serializable object) that you'd compare to `output` to determine if your `output` value is correct or not. Braintrust currently does not compare `output` to `expected` for you, since there are so many different ways to do that correctly. Instead, these values are just used to help you navigate while digging into analyses. However, we may later use these values to re-score outputs or fine-tune your models."},"facets":{"anyOf":[{"additionalProperties":{"type":["string","null"]},"properties":{},"type":"object"},{"type":"null"}]},"id":{"description":"A unique identifier for the project logs event. If you don't provide one, Braintrust will generate one for you","type":"string"},"input":{"description":"The arguments that uniquely define a user input (an arbitrary, JSON serializable object)."},"is_root":{"description":"Whether this span is a root span","type":["boolean","null"]},"log_id":{"const":"g","description":"A literal 'g' which identifies the log as a project log","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"properties":{"model":{"description":"The model used for this example","type":["string","null"]}},"type":"object"},{"type":"null"}]},"metrics":{"anyOf":[{"additionalProperties":{"type":"number"},"properties":{"caller_filename":{"description":"This metric is deprecated"},"caller_functionname":{"description":"This metric is deprecated"},"caller_lineno":{"description":"This metric is deprecated"},"completion_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"end":{"description":"A unix timestamp recording when the section of code which produced the project logs event finished","type":["number","null"]},"prompt_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"start":{"description":"A unix timestamp recording when the section of code which produced the project logs event started","type":["number","null"]},"tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"org_id":{"description":"Unique id for the organization that the project belongs under","format":"uuid","type":"string"},"origin":{"anyOf":[{"description":"Reference to the original object and event this was copied from.","properties":{"_xact_id":{"description":"Transaction ID of the original event.","type":["string","null"]},"created":{"description":"Created timestamp of the original event. Used to help sort in the UI","type":["string","null"]},"id":{"description":"ID of the original event.","type":"string"},"object_id":{"description":"ID of the object the event is originating from.","format":"uuid","type":"string"},"object_type":{"description":"Type of the object the event is originating from.","enum":["project_logs","experiment","dataset","prompt","function","prompt_session"],"type":"string"}},"required":["object_type","object_id","id"],"type":"object"},{"type":"null"}]},"output":{"description":"The output of your application, including post-processing (an arbitrary, JSON serializable object), that allows you to determine whether the result is correct or not. For example, in an app that generates SQL queries, the `output` should be the _result_ of the SQL query generated by the model, not the query itself, because there may be multiple valid queries that answer a single question."},"project_id":{"description":"Unique identifier for the project","format":"uuid","type":"string"},"root_span_id":{"description":"A unique identifier for the trace this project logs event belongs to","type":"string"},"scores":{"anyOf":[{"additionalProperties":{"anyOf":[{"maximum":1,"minimum":0,"type":"number"},{"type":"null"}]},"properties":{},"type":"object"},{"type":"null"}]},"span_attributes":{"anyOf":[{"additionalProperties":{},"description":"Human-identifying attributes of the span, such as name, type, etc.","properties":{"name":{"description":"Name of the span, for display purposes only","type":["string","null"]},"purpose":{"anyOf":[{"enum":["scorer"],"type":"string"},{"type":"null"}]},"type":{"anyOf":[{"enum":["llm","score","function","eval","task","tool","automation","facet","preprocessor","classifier","review"],"type":"string"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"span_id":{"description":"A unique identifier used to link different project logs events together as part of a full trace. See the [tracing guide](https://www.braintrust.dev/docs/instrument) for full details on tracing","type":"string"},"span_parents":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]},"tags":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]}}}},"realtime_state":{"type":"on","minimum_xact_id":"1000197783589161396","read_bytes":0,"actual_xact_id":"1000197783589161396"},"freshness_state":{"last_processed_xact_id":"1000197783589161396","last_considered_xact_id":"1000197783589161396"},"warnings":[]} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-167536065e72.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-167536065e72.json new file mode 100644 index 00000000..6d90428a --- /dev/null +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-167536065e72.json @@ -0,0 +1 @@ +{"data":[{"_async_scoring_state":null,"_pagination_key":"p07680251263181783066","_xact_id":"1000197783586932658","audit_data":[{"_xact_id":"1000197783586932658","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":{"span_origin":{"instrumentation":{"name":"braintrust-java"},"name":"braintrust.sdk.java","version":"0.3.22-ca5ce6d-DIRTY"}},"created":"2026-08-31T17:37:20.881Z","error":null,"expected":null,"facets":null,"id":"be0457d45ed8a961","input":null,"is_root":true,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","client":"springai-anthropic"},"metrics":{"end":1788197841.8628986,"start":1788197840.881356},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":null,"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"bbbdd8b7de6cbab16e56bdc161c13c12","scores":null,"span_attributes":{"name":"messages","type":"task"},"span_id":"be0457d45ed8a961","span_parents":null,"tags":null},{"_async_scoring_state":null,"_pagination_key":"p07680251263181783051","_xact_id":"1000197783586932658","audit_data":[{"_xact_id":"1000197783586932658","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":{"span_origin":{"instrumentation":{"name":"braintrust-java"},"name":"braintrust.sdk.java","version":"0.3.22-ca5ce6d-DIRTY"}},"created":"2026-08-31T17:37:20.886Z","error":null,"expected":null,"facets":null,"id":"e1f1ca5efdd6bbe0","input":[{"content":"What is the capital of France?","role":"user"},{"content":"You are a helpful assistant.","role":"system"}],"is_root":false,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","max_tokens":128,"model":"claude-haiku-4-5-20251001","provider":"anthropic","request-id":"req_011CebESFsCVusXkx5rMd8Jz","request_base_uri":"http://localhost:52407","request_method":"POST","request_path":"v1/messages","response_id":"msg_011CebESGQhC5MmEmmZuwApw","stream":false,"temperature":0},"metrics":{"completion_tokens":10,"end":1788197841.855125,"estimated_cost":0.00007000000000000001,"prompt_cache_creation_1h_tokens":0,"prompt_cache_creation_5m_tokens":0,"prompt_cached_tokens":0,"prompt_tokens":20,"start":1788197840.8868842,"tokens":30},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":{"content":[{"text":"The capital of France is Paris.","type":"text"}],"id":"msg_011CebESGQhC5MmEmmZuwApw","model":"claude-haiku-4-5-20251001","role":"assistant","stop_details":null,"stop_reason":"end_turn","stop_sequence":null,"type":"message","usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":0},"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"inference_geo":"not_available","input_tokens":20,"output_tokens":10,"service_tier":"standard"}},"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"bbbdd8b7de6cbab16e56bdc161c13c12","scores":null,"span_attributes":{"name":"anthropic.messages.create","type":"llm"},"span_id":"e1f1ca5efdd6bbe0","span_parents":["be0457d45ed8a961"],"tags":null}],"schema":{"type":"array","items":{"type":"object","properties":{"_async_scoring_state":{},"_pagination_key":{"description":"A stable, time-ordered key that can be used to paginate over project logs events. This field is auto-generated by Braintrust and only exists in Brainstore.","type":["string","null"]},"_xact_id":{"description":"The transaction id of an event is unique to the network operation that processed the event insertion. Transaction ids are monotonically increasing over time and can be used to retrieve a versioned snapshot of the project logs (see the `version` parameter)","type":"string"},"audit_data":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"classifications":{"anyOf":[{"additionalProperties":{"items":{"additionalProperties":false,"properties":{"confidence":{"description":"Optional confidence score for the classification","type":["number","null"]},"id":{"description":"Stable classification identifier","type":"string"},"label":{"description":"Original label of the classification item, which is useful for search and indexing purposes","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"type":"object"},{"type":"null"}],"description":"Optional metadata associated with the classification"},"source":{"anyOf":[{"anyOf":[{"additionalProperties":false,"properties":{"id":{"type":"string"},"type":{"const":"function","type":"string"},"version":{"description":"The version of the function","type":"string"}},"required":["type","id"],"type":"object"},{"additionalProperties":false,"properties":{"function_type":{"default":"scorer","description":"The type of global function. Defaults to 'scorer'.","enum":["llm","scorer","task","tool","custom_view","preprocessor","facet","classifier","tag","parameters","sandbox"],"type":"string"},"name":{"type":"string"},"type":{"const":"global","type":"string"}},"required":["type","name"],"type":"object"}]},{"type":"null"}],"description":"Optional function identifier that produced the classification"}},"required":["id"],"type":"object"},"type":"array"},"properties":{},"type":"object"},{"type":"null"}]},"comments":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"context":{"anyOf":[{"additionalProperties":{},"properties":{"caller_filename":{"description":"Name of the file in code where the project logs event was created","type":["string","null"]},"caller_functionname":{"description":"The function in code which created the project logs event","type":["string","null"]},"caller_lineno":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"created":{"description":"The timestamp the project logs event was created","format":"date-time","type":"string"},"error":{"description":"The error that occurred, if any."},"expected":{"description":"The ground truth value (an arbitrary, JSON serializable object) that you'd compare to `output` to determine if your `output` value is correct or not. Braintrust currently does not compare `output` to `expected` for you, since there are so many different ways to do that correctly. Instead, these values are just used to help you navigate while digging into analyses. However, we may later use these values to re-score outputs or fine-tune your models."},"facets":{"anyOf":[{"additionalProperties":{"type":["string","null"]},"properties":{},"type":"object"},{"type":"null"}]},"id":{"description":"A unique identifier for the project logs event. If you don't provide one, Braintrust will generate one for you","type":"string"},"input":{"description":"The arguments that uniquely define a user input (an arbitrary, JSON serializable object)."},"is_root":{"description":"Whether this span is a root span","type":["boolean","null"]},"log_id":{"const":"g","description":"A literal 'g' which identifies the log as a project log","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"properties":{"model":{"description":"The model used for this example","type":["string","null"]}},"type":"object"},{"type":"null"}]},"metrics":{"anyOf":[{"additionalProperties":{"type":"number"},"properties":{"caller_filename":{"description":"This metric is deprecated"},"caller_functionname":{"description":"This metric is deprecated"},"caller_lineno":{"description":"This metric is deprecated"},"completion_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"end":{"description":"A unix timestamp recording when the section of code which produced the project logs event finished","type":["number","null"]},"prompt_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"start":{"description":"A unix timestamp recording when the section of code which produced the project logs event started","type":["number","null"]},"tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"org_id":{"description":"Unique id for the organization that the project belongs under","format":"uuid","type":"string"},"origin":{"anyOf":[{"description":"Reference to the original object and event this was copied from.","properties":{"_xact_id":{"description":"Transaction ID of the original event.","type":["string","null"]},"created":{"description":"Created timestamp of the original event. Used to help sort in the UI","type":["string","null"]},"id":{"description":"ID of the original event.","type":"string"},"object_id":{"description":"ID of the object the event is originating from.","format":"uuid","type":"string"},"object_type":{"description":"Type of the object the event is originating from.","enum":["project_logs","experiment","dataset","prompt","function","prompt_session"],"type":"string"}},"required":["object_type","object_id","id"],"type":"object"},{"type":"null"}]},"output":{"description":"The output of your application, including post-processing (an arbitrary, JSON serializable object), that allows you to determine whether the result is correct or not. For example, in an app that generates SQL queries, the `output` should be the _result_ of the SQL query generated by the model, not the query itself, because there may be multiple valid queries that answer a single question."},"project_id":{"description":"Unique identifier for the project","format":"uuid","type":"string"},"root_span_id":{"description":"A unique identifier for the trace this project logs event belongs to","type":"string"},"scores":{"anyOf":[{"additionalProperties":{"anyOf":[{"maximum":1,"minimum":0,"type":"number"},{"type":"null"}]},"properties":{},"type":"object"},{"type":"null"}]},"span_attributes":{"anyOf":[{"additionalProperties":{},"description":"Human-identifying attributes of the span, such as name, type, etc.","properties":{"name":{"description":"Name of the span, for display purposes only","type":["string","null"]},"purpose":{"anyOf":[{"enum":["scorer"],"type":"string"},{"type":"null"}]},"type":{"anyOf":[{"enum":["llm","score","function","eval","task","tool","automation","facet","preprocessor","classifier","review"],"type":"string"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"span_id":{"description":"A unique identifier used to link different project logs events together as part of a full trace. See the [tracing guide](https://www.braintrust.dev/docs/instrument) for full details on tracing","type":"string"},"span_parents":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]},"tags":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]}}}},"realtime_state":{"type":"on","minimum_xact_id":"1000197783589161396","read_bytes":0,"actual_xact_id":"1000197783589161396"},"freshness_state":{"last_processed_xact_id":"1000197783589161396","last_considered_xact_id":"1000197783589161396"},"warnings":[]} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-1b62d5d402e5.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-1b62d5d402e5.json deleted file mode 100644 index dec8cb89..00000000 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-1b62d5d402e5.json +++ /dev/null @@ -1 +0,0 @@ -{"data":[{"_async_scoring_state":null,"_pagination_key":"p07659835876496441346","_xact_id":"1000197472072853597","audit_data":[{"_xact_id":"1000197472072853597","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":null,"created":"2026-07-07T17:15:13.253Z","error":null,"expected":null,"facets":null,"id":"9aef1945bad7272d","input":null,"is_root":true,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","client":"anthropic"},"metrics":{"end":1783444515.0897884,"start":1783444513.2530591},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":null,"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"8f4f3ffcdc1c447d8b6565a9e10d469d","scores":null,"span_attributes":{"name":"prompt_caching_1h","type":"task"},"span_id":"9aef1945bad7272d","span_parents":null,"tags":null},{"_async_scoring_state":null,"_pagination_key":"p07659835876496441349","_xact_id":"1000197472072853597","audit_data":[{"_xact_id":"1000197472072853597","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":null,"created":"2026-07-07T17:15:13.262Z","error":null,"expected":null,"facets":null,"id":"d6f285ee97fee06f","input":[{"content":"What is the capital of France?","role":"user"}],"is_root":false,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","model":"claude-sonnet-4-5-20250929","provider":"anthropic","request_base_uri":"","request_method":"POST","request_path":"v1/messages"},"metrics":{"completion_tokens":11,"end":1783444515.0893278,"estimated_cost":0.012105,"prompt_cache_creation_1h_tokens":1990,"prompt_cache_creation_5m_tokens":0,"prompt_cached_tokens":0,"prompt_tokens":12,"start":1783444513.2621284,"tokens":23},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":{"content":[{"text":"The capital of France is **Paris**.","type":"text"}],"id":"msg_011Cco5G2uNUL2brrL8ndWq7","model":"claude-sonnet-4-5-20250929","role":"assistant","stop_details":null,"stop_reason":"end_turn","stop_sequence":null,"type":"message","usage":{"cache_creation":{"ephemeral_1h_input_tokens":1990,"ephemeral_5m_input_tokens":0},"cache_creation_input_tokens":1990,"cache_read_input_tokens":0,"inference_geo":"not_available","input_tokens":12,"output_tokens":11,"service_tier":"standard"}},"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"8f4f3ffcdc1c447d8b6565a9e10d469d","scores":null,"span_attributes":{"name":"anthropic.messages.create","type":"llm"},"span_id":"d6f285ee97fee06f","span_parents":["9aef1945bad7272d"],"tags":null}],"schema":{"type":"array","items":{"type":"object","properties":{"_async_scoring_state":{},"_pagination_key":{"description":"A stable, time-ordered key that can be used to paginate over project logs events. This field is auto-generated by Braintrust and only exists in Brainstore.","type":["string","null"]},"_xact_id":{"description":"The transaction id of an event is unique to the network operation that processed the event insertion. Transaction ids are monotonically increasing over time and can be used to retrieve a versioned snapshot of the project logs (see the `version` parameter)","type":"string"},"audit_data":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"classifications":{"anyOf":[{"additionalProperties":{"items":{"additionalProperties":false,"properties":{"confidence":{"description":"Optional confidence score for the classification","type":["number","null"]},"id":{"description":"Stable classification identifier","type":"string"},"label":{"description":"Original label of the classification item, which is useful for search and indexing purposes","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"type":"object"},{"type":"null"}],"description":"Optional metadata associated with the classification"},"source":{"anyOf":[{"anyOf":[{"additionalProperties":false,"properties":{"id":{"type":"string"},"type":{"const":"function","type":"string"},"version":{"description":"The version of the function","type":"string"}},"required":["type","id"],"type":"object"},{"additionalProperties":false,"properties":{"function_type":{"default":"scorer","description":"The type of global function. Defaults to 'scorer'.","enum":["llm","scorer","task","tool","custom_view","preprocessor","facet","classifier","tag","parameters","sandbox"],"type":"string"},"name":{"type":"string"},"type":{"const":"global","type":"string"}},"required":["type","name"],"type":"object"}]},{"type":"null"}],"description":"Optional function identifier that produced the classification"}},"required":["id"],"type":"object"},"type":"array"},"properties":{},"type":"object"},{"type":"null"}]},"comments":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"context":{"anyOf":[{"additionalProperties":{},"properties":{"caller_filename":{"description":"Name of the file in code where the project logs event was created","type":["string","null"]},"caller_functionname":{"description":"The function in code which created the project logs event","type":["string","null"]},"caller_lineno":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"created":{"description":"The timestamp the project logs event was created","format":"date-time","type":"string"},"error":{"description":"The error that occurred, if any."},"expected":{"description":"The ground truth value (an arbitrary, JSON serializable object) that you'd compare to `output` to determine if your `output` value is correct or not. Braintrust currently does not compare `output` to `expected` for you, since there are so many different ways to do that correctly. Instead, these values are just used to help you navigate while digging into analyses. However, we may later use these values to re-score outputs or fine-tune your models."},"facets":{"anyOf":[{"additionalProperties":{"type":["string","null"]},"properties":{},"type":"object"},{"type":"null"}]},"id":{"description":"A unique identifier for the project logs event. If you don't provide one, Braintrust will generate one for you","type":"string"},"input":{"description":"The arguments that uniquely define a user input (an arbitrary, JSON serializable object)."},"is_root":{"description":"Whether this span is a root span","type":["boolean","null"]},"log_id":{"const":"g","description":"A literal 'g' which identifies the log as a project log","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"properties":{"model":{"description":"The model used for this example","type":["string","null"]}},"type":"object"},{"type":"null"}]},"metrics":{"anyOf":[{"additionalProperties":{"type":"number"},"properties":{"caller_filename":{"description":"This metric is deprecated"},"caller_functionname":{"description":"This metric is deprecated"},"caller_lineno":{"description":"This metric is deprecated"},"completion_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"end":{"description":"A unix timestamp recording when the section of code which produced the project logs event finished","type":["number","null"]},"prompt_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"start":{"description":"A unix timestamp recording when the section of code which produced the project logs event started","type":["number","null"]},"tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"org_id":{"description":"Unique id for the organization that the project belongs under","format":"uuid","type":"string"},"origin":{"anyOf":[{"description":"Reference to the original object and event this was copied from.","properties":{"_xact_id":{"description":"Transaction ID of the original event.","type":["string","null"]},"created":{"description":"Created timestamp of the original event. Used to help sort in the UI","type":["string","null"]},"id":{"description":"ID of the original event.","type":"string"},"object_id":{"description":"ID of the object the event is originating from.","format":"uuid","type":"string"},"object_type":{"description":"Type of the object the event is originating from.","enum":["project_logs","experiment","dataset","prompt","function","prompt_session"],"type":"string"}},"required":["object_type","object_id","id"],"type":"object"},{"type":"null"}]},"output":{"description":"The output of your application, including post-processing (an arbitrary, JSON serializable object), that allows you to determine whether the result is correct or not. For example, in an app that generates SQL queries, the `output` should be the _result_ of the SQL query generated by the model, not the query itself, because there may be multiple valid queries that answer a single question."},"project_id":{"description":"Unique identifier for the project","format":"uuid","type":"string"},"root_span_id":{"description":"A unique identifier for the trace this project logs event belongs to","type":"string"},"scores":{"anyOf":[{"additionalProperties":{"anyOf":[{"maximum":1,"minimum":0,"type":"number"},{"type":"null"}]},"properties":{},"type":"object"},{"type":"null"}]},"span_attributes":{"anyOf":[{"additionalProperties":{},"description":"Human-identifying attributes of the span, such as name, type, etc.","properties":{"name":{"description":"Name of the span, for display purposes only","type":["string","null"]},"purpose":{"anyOf":[{"enum":["scorer"],"type":"string"},{"type":"null"}]},"type":{"anyOf":[{"enum":["llm","score","function","eval","task","tool","automation","facet","preprocessor","classifier","review"],"type":"string"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"span_id":{"description":"A unique identifier used to link different project logs events together as part of a full trace. See the [tracing guide](https://www.braintrust.dev/docs/instrument) for full details on tracing","type":"string"},"span_parents":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]},"tags":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]}}}},"realtime_state":{"type":"on","minimum_xact_id":"1000197472073890576","read_bytes":0,"actual_xact_id":"1000197472073890576"},"freshness_state":{"last_processed_xact_id":"1000197472073890576","last_considered_xact_id":"1000197472073890576"},"warnings":[]} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-216a0a10f5e8.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-216a0a10f5e8.json deleted file mode 100644 index aafddb45..00000000 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-216a0a10f5e8.json +++ /dev/null @@ -1 +0,0 @@ -{"data":[{"_async_scoring_state":null,"_pagination_key":"p07659835804562489348","_xact_id":"1000197472071755972","audit_data":[{"_xact_id":"1000197472071755972","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":null,"created":"2026-07-07T17:14:55.033Z","error":null,"expected":null,"facets":null,"id":"3231d9d516fc5035","input":null,"is_root":true,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","client":"google"},"metrics":{"end":1783444498.2317114,"start":1783444495.0331142},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":null,"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"978b606ba34d38299d34c36cdb035060","scores":null,"span_attributes":{"name":"attachments","type":"task"},"span_id":"3231d9d516fc5035","span_parents":null,"tags":null},{"_async_scoring_state":null,"_pagination_key":"p07659835804562489355","_xact_id":"1000197472071755972","audit_data":[{"_xact_id":"1000197472071755972","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":null,"created":"2026-07-07T17:14:55.050Z","error":null,"expected":null,"facets":null,"id":"f73ab35f8f410f40","input":{"config":{"temperature":0},"contents":[{"parts":[{"text":"Briefly describe these attachments"},{"image_url":{"url":{"content_type":"image/png","filename":"attachment.png","key":"fbc49503-8ee1-4129-b8fb-40b7d847670b","type":"braintrust_attachment"}}},{"file":{"file_data":{"content_type":"application/pdf","filename":"attachment.pdf","key":"37172561-a5bf-4ebd-8e5d-b78563d0ff24","type":"braintrust_attachment"}}},{"file":{"file_data":{"content_type":"audio/wav","filename":"attachment.wav","key":"898db0e9-ea9b-46a4-b4fb-b79d390695c1","type":"braintrust_attachment"}}},{"file":{"file_data":{"content_type":"video/mp4","filename":"attachment.mp4","key":"b249813f-9a28-4cdc-9248-27ebcc9d4036","type":"braintrust_attachment"}}}],"role":"user"}],"model":"gemini-3.1-flash-lite-preview"},"is_root":false,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","model":"gemini-3.1-flash-lite","provider":"gemini","temperature":0},"metrics":{"completion_tokens":39,"end":1783444498.2132063,"estimated_cost":0.000479,"prompt_tokens":1682,"start":1783444495.0506806,"tokens":1721},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":{"candidates":[{"content":{"parts":[{"text":"The provided attachments consist of:\n\n1. **A solid red square image.**\n2. **A PDF document** containing a single page that appears to be a blank white screen.","thoughtSignature":"EjQKMgERTTIPrG5zv/dkI5wQRGivo1E3JPZgOfnCWeTlT7DvSboQeRR8NyTQ1rqs5bC1iFHI"}],"role":"model"},"finishReason":"STOP","index":0}],"modelVersion":"gemini-3.1-flash-lite","responseId":"DzRNaqq_FreAqtsPyo-f6A0","usageMetadata":{"candidatesTokenCount":39,"promptTokenCount":1682,"promptTokensDetails":[{"modality":"VIDEO","tokenCount":64},{"modality":"AUDIO","tokenCount":3},{"modality":"TEXT","tokenCount":6},{"modality":"IMAGE","tokenCount":1609}],"serviceTier":"standard","totalTokenCount":1721}},"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"978b606ba34d38299d34c36cdb035060","scores":null,"span_attributes":{"name":"generate_content","type":"llm"},"span_id":"f73ab35f8f410f40","span_parents":["3231d9d516fc5035"],"tags":null}],"schema":{"type":"array","items":{"type":"object","properties":{"_async_scoring_state":{},"_pagination_key":{"description":"A stable, time-ordered key that can be used to paginate over project logs events. This field is auto-generated by Braintrust and only exists in Brainstore.","type":["string","null"]},"_xact_id":{"description":"The transaction id of an event is unique to the network operation that processed the event insertion. Transaction ids are monotonically increasing over time and can be used to retrieve a versioned snapshot of the project logs (see the `version` parameter)","type":"string"},"audit_data":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"classifications":{"anyOf":[{"additionalProperties":{"items":{"additionalProperties":false,"properties":{"confidence":{"description":"Optional confidence score for the classification","type":["number","null"]},"id":{"description":"Stable classification identifier","type":"string"},"label":{"description":"Original label of the classification item, which is useful for search and indexing purposes","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"type":"object"},{"type":"null"}],"description":"Optional metadata associated with the classification"},"source":{"anyOf":[{"anyOf":[{"additionalProperties":false,"properties":{"id":{"type":"string"},"type":{"const":"function","type":"string"},"version":{"description":"The version of the function","type":"string"}},"required":["type","id"],"type":"object"},{"additionalProperties":false,"properties":{"function_type":{"default":"scorer","description":"The type of global function. Defaults to 'scorer'.","enum":["llm","scorer","task","tool","custom_view","preprocessor","facet","classifier","tag","parameters","sandbox"],"type":"string"},"name":{"type":"string"},"type":{"const":"global","type":"string"}},"required":["type","name"],"type":"object"}]},{"type":"null"}],"description":"Optional function identifier that produced the classification"}},"required":["id"],"type":"object"},"type":"array"},"properties":{},"type":"object"},{"type":"null"}]},"comments":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"context":{"anyOf":[{"additionalProperties":{},"properties":{"caller_filename":{"description":"Name of the file in code where the project logs event was created","type":["string","null"]},"caller_functionname":{"description":"The function in code which created the project logs event","type":["string","null"]},"caller_lineno":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"created":{"description":"The timestamp the project logs event was created","format":"date-time","type":"string"},"error":{"description":"The error that occurred, if any."},"expected":{"description":"The ground truth value (an arbitrary, JSON serializable object) that you'd compare to `output` to determine if your `output` value is correct or not. Braintrust currently does not compare `output` to `expected` for you, since there are so many different ways to do that correctly. Instead, these values are just used to help you navigate while digging into analyses. However, we may later use these values to re-score outputs or fine-tune your models."},"facets":{"anyOf":[{"additionalProperties":{"type":["string","null"]},"properties":{},"type":"object"},{"type":"null"}]},"id":{"description":"A unique identifier for the project logs event. If you don't provide one, Braintrust will generate one for you","type":"string"},"input":{"description":"The arguments that uniquely define a user input (an arbitrary, JSON serializable object)."},"is_root":{"description":"Whether this span is a root span","type":["boolean","null"]},"log_id":{"const":"g","description":"A literal 'g' which identifies the log as a project log","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"properties":{"model":{"description":"The model used for this example","type":["string","null"]}},"type":"object"},{"type":"null"}]},"metrics":{"anyOf":[{"additionalProperties":{"type":"number"},"properties":{"caller_filename":{"description":"This metric is deprecated"},"caller_functionname":{"description":"This metric is deprecated"},"caller_lineno":{"description":"This metric is deprecated"},"completion_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"end":{"description":"A unix timestamp recording when the section of code which produced the project logs event finished","type":["number","null"]},"prompt_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"start":{"description":"A unix timestamp recording when the section of code which produced the project logs event started","type":["number","null"]},"tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"org_id":{"description":"Unique id for the organization that the project belongs under","format":"uuid","type":"string"},"origin":{"anyOf":[{"description":"Reference to the original object and event this was copied from.","properties":{"_xact_id":{"description":"Transaction ID of the original event.","type":["string","null"]},"created":{"description":"Created timestamp of the original event. Used to help sort in the UI","type":["string","null"]},"id":{"description":"ID of the original event.","type":"string"},"object_id":{"description":"ID of the object the event is originating from.","format":"uuid","type":"string"},"object_type":{"description":"Type of the object the event is originating from.","enum":["project_logs","experiment","dataset","prompt","function","prompt_session"],"type":"string"}},"required":["object_type","object_id","id"],"type":"object"},{"type":"null"}]},"output":{"description":"The output of your application, including post-processing (an arbitrary, JSON serializable object), that allows you to determine whether the result is correct or not. For example, in an app that generates SQL queries, the `output` should be the _result_ of the SQL query generated by the model, not the query itself, because there may be multiple valid queries that answer a single question."},"project_id":{"description":"Unique identifier for the project","format":"uuid","type":"string"},"root_span_id":{"description":"A unique identifier for the trace this project logs event belongs to","type":"string"},"scores":{"anyOf":[{"additionalProperties":{"anyOf":[{"maximum":1,"minimum":0,"type":"number"},{"type":"null"}]},"properties":{},"type":"object"},{"type":"null"}]},"span_attributes":{"anyOf":[{"additionalProperties":{},"description":"Human-identifying attributes of the span, such as name, type, etc.","properties":{"name":{"description":"Name of the span, for display purposes only","type":["string","null"]},"purpose":{"anyOf":[{"enum":["scorer"],"type":"string"},{"type":"null"}]},"type":{"anyOf":[{"enum":["llm","score","function","eval","task","tool","automation","facet","preprocessor","classifier","review"],"type":"string"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"span_id":{"description":"A unique identifier used to link different project logs events together as part of a full trace. See the [tracing guide](https://www.braintrust.dev/docs/instrument) for full details on tracing","type":"string"},"span_parents":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]},"tags":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]}}}},"realtime_state":{"type":"on","minimum_xact_id":"1000197472073890576","read_bytes":4909,"actual_xact_id":"1000197472074645319"},"freshness_state":{"last_processed_xact_id":"1000197472074645319","last_considered_xact_id":"1000197472074645319"},"warnings":[]} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-23027ba95062.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-23027ba95062.json deleted file mode 100644 index ba7ef9c5..00000000 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-23027ba95062.json +++ /dev/null @@ -1 +0,0 @@ -{"data":[{"_async_scoring_state":null,"_pagination_key":"p07663651388792373259","_xact_id":"1000197530292950886","audit_data":[{"_xact_id":"1000197530292950886","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":{"span_origin":{"instrumentation":{"name":"braintrust-java"},"name":"braintrust.sdk.java","version":"0.3.17-0155866-DIRTY"}},"created":"2026-07-18T00:01:21.833Z","error":null,"expected":null,"facets":null,"id":"c3bec3c6f07387d3","input":null,"is_root":true,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","client":"springai2-anthropic"},"metrics":{"end":1784332884.7264118,"start":1784332881.833479},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":null,"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"a5e49dfbd6546b7aa6b43968e85075e9","scores":null,"span_attributes":{"name":"attachments","type":"task"},"span_id":"c3bec3c6f07387d3","span_parents":null,"tags":null},{"_async_scoring_state":null,"_pagination_key":"p07663651388792373253","_xact_id":"1000197530292950886","audit_data":[{"_xact_id":"1000197530292950886","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":{"span_origin":{"instrumentation":{"name":"braintrust-java"},"name":"braintrust.sdk.java","version":"0.3.17-0155866-DIRTY"}},"created":"2026-07-18T00:01:21.840Z","error":null,"expected":null,"facets":null,"id":"151441d72cc126e9","input":[{"content":[{"text":"Briefly describe these attachments","type":"text"},{"source":{"content_type":"image/png","filename":"attachment.png","key":"f694ec15-2046-4dac-88b4-7b6c90d29099","type":"braintrust_attachment"},"type":"image"},{"source":{"content_type":"application/pdf","filename":"attachment.pdf","key":"923829c5-49fb-42c8-b6b1-b3901e6b77ee","type":"braintrust_attachment"},"type":"document"}],"role":"user"}],"is_root":false,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","model":"claude-haiku-4-5-20251001","provider":"anthropic","request_base_uri":"","request_method":"POST","request_path":"v1/messages"},"metrics":{"completion_tokens":105,"end":1784332884.7228358,"estimated_cost":0.002117,"prompt_cache_creation_1h_tokens":0,"prompt_cache_creation_5m_tokens":0,"prompt_cached_tokens":0,"prompt_tokens":1592,"start":1784332881.8404489,"tokens":1697},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":{"content":[{"text":"I can see that you've shared a PDF attachment, but the document appears to be blank or contains no visible text or images on the page shown. \n\nTo help you better, could you please:\n1. Verify that the file uploaded correctly\n2. Check if there's content on other pages of the PDF\n3. Re-upload the document if it may have been corrupted\n\nOnce you share a document with visible content, I'll be happy to provide a brief description of it.","type":"text"}],"id":"msg_011Cd8YKZia5qKDaeKmNqQtd","model":"claude-haiku-4-5-20251001","role":"assistant","stop_details":null,"stop_reason":"end_turn","stop_sequence":null,"type":"message","usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":0},"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"inference_geo":"not_available","input_tokens":1592,"output_tokens":105,"service_tier":"standard"}},"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"a5e49dfbd6546b7aa6b43968e85075e9","scores":null,"span_attributes":{"name":"anthropic.messages.create","type":"llm"},"span_id":"151441d72cc126e9","span_parents":["c3bec3c6f07387d3"],"tags":null}],"schema":{"type":"array","items":{"type":"object","properties":{"_async_scoring_state":{},"_pagination_key":{"description":"A stable, time-ordered key that can be used to paginate over project logs events. This field is auto-generated by Braintrust and only exists in Brainstore.","type":["string","null"]},"_xact_id":{"description":"The transaction id of an event is unique to the network operation that processed the event insertion. Transaction ids are monotonically increasing over time and can be used to retrieve a versioned snapshot of the project logs (see the `version` parameter)","type":"string"},"audit_data":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"classifications":{"anyOf":[{"additionalProperties":{"items":{"additionalProperties":false,"properties":{"confidence":{"description":"Optional confidence score for the classification","type":["number","null"]},"id":{"description":"Stable classification identifier","type":"string"},"label":{"description":"Original label of the classification item, which is useful for search and indexing purposes","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"type":"object"},{"type":"null"}],"description":"Optional metadata associated with the classification"},"source":{"anyOf":[{"anyOf":[{"additionalProperties":false,"properties":{"id":{"type":"string"},"type":{"const":"function","type":"string"},"version":{"description":"The version of the function","type":"string"}},"required":["type","id"],"type":"object"},{"additionalProperties":false,"properties":{"function_type":{"default":"scorer","description":"The type of global function. Defaults to 'scorer'.","enum":["llm","scorer","task","tool","custom_view","preprocessor","facet","classifier","tag","parameters","sandbox"],"type":"string"},"name":{"type":"string"},"type":{"const":"global","type":"string"}},"required":["type","name"],"type":"object"}]},{"type":"null"}],"description":"Optional function identifier that produced the classification"}},"required":["id"],"type":"object"},"type":"array"},"properties":{},"type":"object"},{"type":"null"}]},"comments":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"context":{"anyOf":[{"additionalProperties":{},"properties":{"caller_filename":{"description":"Name of the file in code where the project logs event was created","type":["string","null"]},"caller_functionname":{"description":"The function in code which created the project logs event","type":["string","null"]},"caller_lineno":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"created":{"description":"The timestamp the project logs event was created","format":"date-time","type":"string"},"error":{"description":"The error that occurred, if any."},"expected":{"description":"The ground truth value (an arbitrary, JSON serializable object) that you'd compare to `output` to determine if your `output` value is correct or not. Braintrust currently does not compare `output` to `expected` for you, since there are so many different ways to do that correctly. Instead, these values are just used to help you navigate while digging into analyses. However, we may later use these values to re-score outputs or fine-tune your models."},"facets":{"anyOf":[{"additionalProperties":{"type":["string","null"]},"properties":{},"type":"object"},{"type":"null"}]},"id":{"description":"A unique identifier for the project logs event. If you don't provide one, Braintrust will generate one for you","type":"string"},"input":{"description":"The arguments that uniquely define a user input (an arbitrary, JSON serializable object)."},"is_root":{"description":"Whether this span is a root span","type":["boolean","null"]},"log_id":{"const":"g","description":"A literal 'g' which identifies the log as a project log","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"properties":{"model":{"description":"The model used for this example","type":["string","null"]}},"type":"object"},{"type":"null"}]},"metrics":{"anyOf":[{"additionalProperties":{"type":"number"},"properties":{"caller_filename":{"description":"This metric is deprecated"},"caller_functionname":{"description":"This metric is deprecated"},"caller_lineno":{"description":"This metric is deprecated"},"completion_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"end":{"description":"A unix timestamp recording when the section of code which produced the project logs event finished","type":["number","null"]},"prompt_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"start":{"description":"A unix timestamp recording when the section of code which produced the project logs event started","type":["number","null"]},"tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"org_id":{"description":"Unique id for the organization that the project belongs under","format":"uuid","type":"string"},"origin":{"anyOf":[{"description":"Reference to the original object and event this was copied from.","properties":{"_xact_id":{"description":"Transaction ID of the original event.","type":["string","null"]},"created":{"description":"Created timestamp of the original event. Used to help sort in the UI","type":["string","null"]},"id":{"description":"ID of the original event.","type":"string"},"object_id":{"description":"ID of the object the event is originating from.","format":"uuid","type":"string"},"object_type":{"description":"Type of the object the event is originating from.","enum":["project_logs","experiment","dataset","prompt","function","prompt_session"],"type":"string"}},"required":["object_type","object_id","id"],"type":"object"},{"type":"null"}]},"output":{"description":"The output of your application, including post-processing (an arbitrary, JSON serializable object), that allows you to determine whether the result is correct or not. For example, in an app that generates SQL queries, the `output` should be the _result_ of the SQL query generated by the model, not the query itself, because there may be multiple valid queries that answer a single question."},"project_id":{"description":"Unique identifier for the project","format":"uuid","type":"string"},"root_span_id":{"description":"A unique identifier for the trace this project logs event belongs to","type":"string"},"scores":{"anyOf":[{"additionalProperties":{"anyOf":[{"maximum":1,"minimum":0,"type":"number"},{"type":"null"}]},"properties":{},"type":"object"},{"type":"null"}]},"span_attributes":{"anyOf":[{"additionalProperties":{},"description":"Human-identifying attributes of the span, such as name, type, etc.","properties":{"name":{"description":"Name of the span, for display purposes only","type":["string","null"]},"purpose":{"anyOf":[{"enum":["scorer"],"type":"string"},{"type":"null"}]},"type":{"anyOf":[{"enum":["llm","score","function","eval","task","tool","automation","facet","preprocessor","classifier","review"],"type":"string"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"span_id":{"description":"A unique identifier used to link different project logs events together as part of a full trace. See the [tracing guide](https://www.braintrust.dev/docs/instrument) for full details on tracing","type":"string"},"span_parents":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]},"tags":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]}}}},"realtime_state":{"type":"on","minimum_xact_id":"1000197530292950886","read_bytes":0,"actual_xact_id":"1000197530292950886"},"freshness_state":{"last_processed_xact_id":"1000197530292950886","last_considered_xact_id":"1000197530292950886"},"warnings":[]} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-2486fde21737.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-2486fde21737.json new file mode 100644 index 00000000..71708196 --- /dev/null +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-2486fde21737.json @@ -0,0 +1 @@ +{"data":[{"_async_scoring_state":null,"_pagination_key":"p07680251203138355203","_xact_id":"1000197783586016468","audit_data":[{"_xact_id":"1000197783586016468","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":{"span_origin":{"instrumentation":{"name":"braintrust-java"},"name":"braintrust.sdk.java","version":"0.3.22-ca5ce6d-DIRTY"}},"created":"2026-08-31T17:37:03.528Z","error":null,"expected":null,"facets":null,"id":"4b5969da252d3181","input":null,"is_root":true,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","client":"springai2-anthropic"},"metrics":{"end":1788197824.5175302,"start":1788197823.5288908},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":null,"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"40ef2b9464b3a33e287a55ead1b8a023","scores":null,"span_attributes":{"name":"streaming","type":"task"},"span_id":"4b5969da252d3181","span_parents":null,"tags":null},{"_async_scoring_state":null,"_pagination_key":"p07680251203138355200","_xact_id":"1000197783586016468","audit_data":[{"_xact_id":"1000197783586016468","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":{"span_origin":{"instrumentation":{"name":"braintrust-java"},"name":"braintrust.sdk.java","version":"0.3.22-ca5ce6d-DIRTY"}},"created":"2026-08-31T17:37:03.627Z","error":null,"expected":null,"facets":null,"id":"3395e519640bfa92","input":[{"content":"Count from 1 to 5.","role":"user"},{"content":"You are a helpful assistant.","role":"system"}],"is_root":false,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","max_tokens":128,"model":"claude-haiku-4-5-20251001","provider":"anthropic","request-id":"req_011CebEQzUxgEpvE8KQ7sc1Y","request_base_uri":"","request_method":"POST","request_path":"v1/messages","response_id":"msg_011CebER1CcouMHmSVZkovb9","stream":true,"temperature":0},"metrics":{"completion_tokens":13,"end":1788197824.5172336,"estimated_cost":0.000087,"prompt_cache_creation_1h_tokens":0,"prompt_cache_creation_5m_tokens":0,"prompt_cached_tokens":0,"prompt_tokens":22,"start":1788197823.627997,"time_to_first_token":0.024222875,"tokens":35},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":{"container":null,"content":[{"citations":null,"text":"1\n2\n3\n4\n5","type":"text","valid":true}],"id":"msg_011CebER1CcouMHmSVZkovb9","model":"claude-haiku-4-5-20251001","role":"assistant","stop_details":null,"stop_reason":"end_turn","stop_sequence":null,"type":"message","usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":0,"valid":true},"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"inference_geo":"not_available","input_tokens":22,"output_tokens":13,"output_tokens_details":null,"server_tool_use":null,"service_tier":"standard","valid":true},"valid":true},"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"40ef2b9464b3a33e287a55ead1b8a023","scores":null,"span_attributes":{"name":"anthropic.messages.stream","type":"llm"},"span_id":"3395e519640bfa92","span_parents":["4b5969da252d3181"],"tags":null}],"schema":{"type":"array","items":{"type":"object","properties":{"_async_scoring_state":{},"_pagination_key":{"description":"A stable, time-ordered key that can be used to paginate over project logs events. This field is auto-generated by Braintrust and only exists in Brainstore.","type":["string","null"]},"_xact_id":{"description":"The transaction id of an event is unique to the network operation that processed the event insertion. Transaction ids are monotonically increasing over time and can be used to retrieve a versioned snapshot of the project logs (see the `version` parameter)","type":"string"},"audit_data":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"classifications":{"anyOf":[{"additionalProperties":{"items":{"additionalProperties":false,"properties":{"confidence":{"description":"Optional confidence score for the classification","type":["number","null"]},"id":{"description":"Stable classification identifier","type":"string"},"label":{"description":"Original label of the classification item, which is useful for search and indexing purposes","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"type":"object"},{"type":"null"}],"description":"Optional metadata associated with the classification"},"source":{"anyOf":[{"anyOf":[{"additionalProperties":false,"properties":{"id":{"type":"string"},"type":{"const":"function","type":"string"},"version":{"description":"The version of the function","type":"string"}},"required":["type","id"],"type":"object"},{"additionalProperties":false,"properties":{"function_type":{"default":"scorer","description":"The type of global function. Defaults to 'scorer'.","enum":["llm","scorer","task","tool","custom_view","preprocessor","facet","classifier","tag","parameters","sandbox"],"type":"string"},"name":{"type":"string"},"type":{"const":"global","type":"string"}},"required":["type","name"],"type":"object"}]},{"type":"null"}],"description":"Optional function identifier that produced the classification"}},"required":["id"],"type":"object"},"type":"array"},"properties":{},"type":"object"},{"type":"null"}]},"comments":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"context":{"anyOf":[{"additionalProperties":{},"properties":{"caller_filename":{"description":"Name of the file in code where the project logs event was created","type":["string","null"]},"caller_functionname":{"description":"The function in code which created the project logs event","type":["string","null"]},"caller_lineno":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"created":{"description":"The timestamp the project logs event was created","format":"date-time","type":"string"},"error":{"description":"The error that occurred, if any."},"expected":{"description":"The ground truth value (an arbitrary, JSON serializable object) that you'd compare to `output` to determine if your `output` value is correct or not. Braintrust currently does not compare `output` to `expected` for you, since there are so many different ways to do that correctly. Instead, these values are just used to help you navigate while digging into analyses. However, we may later use these values to re-score outputs or fine-tune your models."},"facets":{"anyOf":[{"additionalProperties":{"type":["string","null"]},"properties":{},"type":"object"},{"type":"null"}]},"id":{"description":"A unique identifier for the project logs event. If you don't provide one, Braintrust will generate one for you","type":"string"},"input":{"description":"The arguments that uniquely define a user input (an arbitrary, JSON serializable object)."},"is_root":{"description":"Whether this span is a root span","type":["boolean","null"]},"log_id":{"const":"g","description":"A literal 'g' which identifies the log as a project log","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"properties":{"model":{"description":"The model used for this example","type":["string","null"]}},"type":"object"},{"type":"null"}]},"metrics":{"anyOf":[{"additionalProperties":{"type":"number"},"properties":{"caller_filename":{"description":"This metric is deprecated"},"caller_functionname":{"description":"This metric is deprecated"},"caller_lineno":{"description":"This metric is deprecated"},"completion_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"end":{"description":"A unix timestamp recording when the section of code which produced the project logs event finished","type":["number","null"]},"prompt_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"start":{"description":"A unix timestamp recording when the section of code which produced the project logs event started","type":["number","null"]},"tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"org_id":{"description":"Unique id for the organization that the project belongs under","format":"uuid","type":"string"},"origin":{"anyOf":[{"description":"Reference to the original object and event this was copied from.","properties":{"_xact_id":{"description":"Transaction ID of the original event.","type":["string","null"]},"created":{"description":"Created timestamp of the original event. Used to help sort in the UI","type":["string","null"]},"id":{"description":"ID of the original event.","type":"string"},"object_id":{"description":"ID of the object the event is originating from.","format":"uuid","type":"string"},"object_type":{"description":"Type of the object the event is originating from.","enum":["project_logs","experiment","dataset","prompt","function","prompt_session"],"type":"string"}},"required":["object_type","object_id","id"],"type":"object"},{"type":"null"}]},"output":{"description":"The output of your application, including post-processing (an arbitrary, JSON serializable object), that allows you to determine whether the result is correct or not. For example, in an app that generates SQL queries, the `output` should be the _result_ of the SQL query generated by the model, not the query itself, because there may be multiple valid queries that answer a single question."},"project_id":{"description":"Unique identifier for the project","format":"uuid","type":"string"},"root_span_id":{"description":"A unique identifier for the trace this project logs event belongs to","type":"string"},"scores":{"anyOf":[{"additionalProperties":{"anyOf":[{"maximum":1,"minimum":0,"type":"number"},{"type":"null"}]},"properties":{},"type":"object"},{"type":"null"}]},"span_attributes":{"anyOf":[{"additionalProperties":{},"description":"Human-identifying attributes of the span, such as name, type, etc.","properties":{"name":{"description":"Name of the span, for display purposes only","type":["string","null"]},"purpose":{"anyOf":[{"enum":["scorer"],"type":"string"},{"type":"null"}]},"type":{"anyOf":[{"enum":["llm","score","function","eval","task","tool","automation","facet","preprocessor","classifier","review"],"type":"string"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"span_id":{"description":"A unique identifier used to link different project logs events together as part of a full trace. See the [tracing guide](https://www.braintrust.dev/docs/instrument) for full details on tracing","type":"string"},"span_parents":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]},"tags":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]}}}},"realtime_state":{"type":"on","minimum_xact_id":"1000197783589161396","read_bytes":14598,"actual_xact_id":"1000197783589884487"},"freshness_state":{"last_processed_xact_id":"1000197783589884487","last_considered_xact_id":"1000197783589884487"},"warnings":[]} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-297722e748ab.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-297722e748ab.json new file mode 100644 index 00000000..0983f1d0 --- /dev/null +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-297722e748ab.json @@ -0,0 +1 @@ +{"data":[{"_async_scoring_state":null,"_pagination_key":"p07680251289063456776","_xact_id":"1000197783587327581","audit_data":[{"_xact_id":"1000197783587327581","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":{"span_origin":{"instrumentation":{"name":"braintrust-java"},"name":"braintrust.sdk.java","version":"0.3.22-ca5ce6d-DIRTY"}},"created":"2026-08-31T17:37:22.498Z","error":null,"expected":null,"facets":null,"id":"3adb4fbe0eeb1d1e","input":null,"is_root":true,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","client":"anthropic"},"metrics":{"end":1788197844.5098412,"start":1788197842.498008},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":null,"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"e116d5f530b97511b00908b55260b6ac","scores":null,"span_attributes":{"name":"attachments","type":"task"},"span_id":"3adb4fbe0eeb1d1e","span_parents":null,"tags":null},{"_async_scoring_state":null,"_pagination_key":"p07680251289063456769","_xact_id":"1000197783587327581","audit_data":[{"_xact_id":"1000197783587327581","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":{"span_origin":{"instrumentation":{"name":"braintrust-java"},"name":"braintrust.sdk.java","version":"0.3.22-ca5ce6d-DIRTY"}},"created":"2026-08-31T17:37:22.525Z","error":null,"expected":null,"facets":null,"id":"5a4a85106c192b72","input":[{"content":[{"text":"Briefly describe these attachments","type":"text"},{"source":{"content_type":"image/png","filename":"attachment.png","key":"ad6f42c9-c552-4ac0-891c-2cdc50eee8e9","type":"braintrust_attachment"},"type":"image"},{"source":{"content_type":"application/pdf","filename":"attachment.pdf","key":"265c55fe-8be1-4cdb-9e47-b221666e9b18","type":"braintrust_attachment"},"type":"document"}],"role":"user"}],"is_root":false,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","max_tokens":128,"model":"claude-haiku-4-5-20251001","provider":"anthropic","request-id":"req_011CebESNw6ooSv16Xba3X3x","request_base_uri":"","request_method":"POST","request_path":"v1/messages","response_id":"msg_011CebESPzbX4V4ncXeEDU5b","temperature":0},"metrics":{"completion_tokens":103,"end":1788197844.508724,"estimated_cost":0.0021070000000000004,"prompt_cache_creation_1h_tokens":0,"prompt_cache_creation_5m_tokens":0,"prompt_cached_tokens":0,"prompt_tokens":1592,"start":1788197842.5250418,"tokens":1695},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":{"content":[{"text":"I can see that you've shared a PDF attachment, but the document appears to be blank or contains only a white/empty page. There is no visible text, images, or other content that I can describe.\n\nCould you please:\n1. Verify that the correct file was uploaded\n2. Check if the document loaded properly\n3. Re-upload the attachment if needed\n\nOnce you share a document with visible content, I'll be happy to provide a brief description of it.","type":"text"}],"id":"msg_011CebESPzbX4V4ncXeEDU5b","model":"claude-haiku-4-5-20251001","role":"assistant","stop_details":null,"stop_reason":"end_turn","stop_sequence":null,"type":"message","usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":0},"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"inference_geo":"not_available","input_tokens":1592,"output_tokens":103,"service_tier":"standard"}},"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"e116d5f530b97511b00908b55260b6ac","scores":null,"span_attributes":{"name":"anthropic.messages.create","type":"llm"},"span_id":"5a4a85106c192b72","span_parents":["3adb4fbe0eeb1d1e"],"tags":null}],"schema":{"type":"array","items":{"type":"object","properties":{"_async_scoring_state":{},"_pagination_key":{"description":"A stable, time-ordered key that can be used to paginate over project logs events. This field is auto-generated by Braintrust and only exists in Brainstore.","type":["string","null"]},"_xact_id":{"description":"The transaction id of an event is unique to the network operation that processed the event insertion. Transaction ids are monotonically increasing over time and can be used to retrieve a versioned snapshot of the project logs (see the `version` parameter)","type":"string"},"audit_data":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"classifications":{"anyOf":[{"additionalProperties":{"items":{"additionalProperties":false,"properties":{"confidence":{"description":"Optional confidence score for the classification","type":["number","null"]},"id":{"description":"Stable classification identifier","type":"string"},"label":{"description":"Original label of the classification item, which is useful for search and indexing purposes","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"type":"object"},{"type":"null"}],"description":"Optional metadata associated with the classification"},"source":{"anyOf":[{"anyOf":[{"additionalProperties":false,"properties":{"id":{"type":"string"},"type":{"const":"function","type":"string"},"version":{"description":"The version of the function","type":"string"}},"required":["type","id"],"type":"object"},{"additionalProperties":false,"properties":{"function_type":{"default":"scorer","description":"The type of global function. Defaults to 'scorer'.","enum":["llm","scorer","task","tool","custom_view","preprocessor","facet","classifier","tag","parameters","sandbox"],"type":"string"},"name":{"type":"string"},"type":{"const":"global","type":"string"}},"required":["type","name"],"type":"object"}]},{"type":"null"}],"description":"Optional function identifier that produced the classification"}},"required":["id"],"type":"object"},"type":"array"},"properties":{},"type":"object"},{"type":"null"}]},"comments":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"context":{"anyOf":[{"additionalProperties":{},"properties":{"caller_filename":{"description":"Name of the file in code where the project logs event was created","type":["string","null"]},"caller_functionname":{"description":"The function in code which created the project logs event","type":["string","null"]},"caller_lineno":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"created":{"description":"The timestamp the project logs event was created","format":"date-time","type":"string"},"error":{"description":"The error that occurred, if any."},"expected":{"description":"The ground truth value (an arbitrary, JSON serializable object) that you'd compare to `output` to determine if your `output` value is correct or not. Braintrust currently does not compare `output` to `expected` for you, since there are so many different ways to do that correctly. Instead, these values are just used to help you navigate while digging into analyses. However, we may later use these values to re-score outputs or fine-tune your models."},"facets":{"anyOf":[{"additionalProperties":{"type":["string","null"]},"properties":{},"type":"object"},{"type":"null"}]},"id":{"description":"A unique identifier for the project logs event. If you don't provide one, Braintrust will generate one for you","type":"string"},"input":{"description":"The arguments that uniquely define a user input (an arbitrary, JSON serializable object)."},"is_root":{"description":"Whether this span is a root span","type":["boolean","null"]},"log_id":{"const":"g","description":"A literal 'g' which identifies the log as a project log","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"properties":{"model":{"description":"The model used for this example","type":["string","null"]}},"type":"object"},{"type":"null"}]},"metrics":{"anyOf":[{"additionalProperties":{"type":"number"},"properties":{"caller_filename":{"description":"This metric is deprecated"},"caller_functionname":{"description":"This metric is deprecated"},"caller_lineno":{"description":"This metric is deprecated"},"completion_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"end":{"description":"A unix timestamp recording when the section of code which produced the project logs event finished","type":["number","null"]},"prompt_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"start":{"description":"A unix timestamp recording when the section of code which produced the project logs event started","type":["number","null"]},"tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"org_id":{"description":"Unique id for the organization that the project belongs under","format":"uuid","type":"string"},"origin":{"anyOf":[{"description":"Reference to the original object and event this was copied from.","properties":{"_xact_id":{"description":"Transaction ID of the original event.","type":["string","null"]},"created":{"description":"Created timestamp of the original event. Used to help sort in the UI","type":["string","null"]},"id":{"description":"ID of the original event.","type":"string"},"object_id":{"description":"ID of the object the event is originating from.","format":"uuid","type":"string"},"object_type":{"description":"Type of the object the event is originating from.","enum":["project_logs","experiment","dataset","prompt","function","prompt_session"],"type":"string"}},"required":["object_type","object_id","id"],"type":"object"},{"type":"null"}]},"output":{"description":"The output of your application, including post-processing (an arbitrary, JSON serializable object), that allows you to determine whether the result is correct or not. For example, in an app that generates SQL queries, the `output` should be the _result_ of the SQL query generated by the model, not the query itself, because there may be multiple valid queries that answer a single question."},"project_id":{"description":"Unique identifier for the project","format":"uuid","type":"string"},"root_span_id":{"description":"A unique identifier for the trace this project logs event belongs to","type":"string"},"scores":{"anyOf":[{"additionalProperties":{"anyOf":[{"maximum":1,"minimum":0,"type":"number"},{"type":"null"}]},"properties":{},"type":"object"},{"type":"null"}]},"span_attributes":{"anyOf":[{"additionalProperties":{},"description":"Human-identifying attributes of the span, such as name, type, etc.","properties":{"name":{"description":"Name of the span, for display purposes only","type":["string","null"]},"purpose":{"anyOf":[{"enum":["scorer"],"type":"string"},{"type":"null"}]},"type":{"anyOf":[{"enum":["llm","score","function","eval","task","tool","automation","facet","preprocessor","classifier","review"],"type":"string"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"span_id":{"description":"A unique identifier used to link different project logs events together as part of a full trace. See the [tracing guide](https://www.braintrust.dev/docs/instrument) for full details on tracing","type":"string"},"span_parents":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]},"tags":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]}}}},"realtime_state":{"type":"on","minimum_xact_id":"1000197783589161396","read_bytes":0,"actual_xact_id":"1000197783589161396"},"freshness_state":{"last_processed_xact_id":"1000197783589161396","last_considered_xact_id":"1000197783589161396"},"warnings":[]} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-3304ea146292.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-3304ea146292.json deleted file mode 100644 index 6360fd84..00000000 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-3304ea146292.json +++ /dev/null @@ -1 +0,0 @@ -{"data":[{"_async_scoring_state":null,"_pagination_key":"p07659835804562489347","_xact_id":"1000197472071755972","audit_data":[{"_xact_id":"1000197472071755972","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":null,"created":"2026-07-07T17:14:56.801Z","error":null,"expected":null,"facets":null,"id":"daa7e450057d512d","input":null,"is_root":true,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","client":"springai-openai"},"metrics":{"end":1783444498.196925,"start":1783444496.80162},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":null,"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"8c482fded5ef09d5e5ab1d3f1d5d8d71","scores":null,"span_attributes":{"name":"streaming","type":"task"},"span_id":"daa7e450057d512d","span_parents":null,"tags":null},{"_async_scoring_state":null,"_pagination_key":"p07659835804562489354","_xact_id":"1000197472071755972","audit_data":[{"_xact_id":"1000197472071755972","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":null,"created":"2026-07-07T17:14:56.839Z","error":null,"expected":null,"facets":null,"id":"4e40b85bd93838b1","input":[{"content":"you are a thoughtful assistant","role":"system"},{"content":"Count from 1 to 10 slowly.","role":"user"}],"is_root":false,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","model":"gpt-4o-mini-2024-07-18","provider":"openai","request_base_uri":"http://localhost:63169","request_method":"POST","request_path":"chat/completions"},"metrics":{"completion_tokens":41,"end":1783444498.1985564,"estimated_cost":0.000028349999999999998,"prompt_cached_tokens":0,"prompt_tokens":25,"start":1783444496.83997,"time_to_first_token":1.336542,"tokens":66},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":[{"finish_reason":"stop","index":0,"message":{"content":"Sure! Here we go:\n\n1... \n2... \n3... \n4... \n5... \n6... \n7... \n8... \n9... \n10... \n\nThere you have it!","role":"assistant"}}],"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"8c482fded5ef09d5e5ab1d3f1d5d8d71","scores":null,"span_attributes":{"name":"Chat Completion","type":"llm"},"span_id":"4e40b85bd93838b1","span_parents":["daa7e450057d512d"],"tags":null}],"schema":{"type":"array","items":{"type":"object","properties":{"_async_scoring_state":{},"_pagination_key":{"description":"A stable, time-ordered key that can be used to paginate over project logs events. This field is auto-generated by Braintrust and only exists in Brainstore.","type":["string","null"]},"_xact_id":{"description":"The transaction id of an event is unique to the network operation that processed the event insertion. Transaction ids are monotonically increasing over time and can be used to retrieve a versioned snapshot of the project logs (see the `version` parameter)","type":"string"},"audit_data":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"classifications":{"anyOf":[{"additionalProperties":{"items":{"additionalProperties":false,"properties":{"confidence":{"description":"Optional confidence score for the classification","type":["number","null"]},"id":{"description":"Stable classification identifier","type":"string"},"label":{"description":"Original label of the classification item, which is useful for search and indexing purposes","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"type":"object"},{"type":"null"}],"description":"Optional metadata associated with the classification"},"source":{"anyOf":[{"anyOf":[{"additionalProperties":false,"properties":{"id":{"type":"string"},"type":{"const":"function","type":"string"},"version":{"description":"The version of the function","type":"string"}},"required":["type","id"],"type":"object"},{"additionalProperties":false,"properties":{"function_type":{"default":"scorer","description":"The type of global function. Defaults to 'scorer'.","enum":["llm","scorer","task","tool","custom_view","preprocessor","facet","classifier","tag","parameters","sandbox"],"type":"string"},"name":{"type":"string"},"type":{"const":"global","type":"string"}},"required":["type","name"],"type":"object"}]},{"type":"null"}],"description":"Optional function identifier that produced the classification"}},"required":["id"],"type":"object"},"type":"array"},"properties":{},"type":"object"},{"type":"null"}]},"comments":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"context":{"anyOf":[{"additionalProperties":{},"properties":{"caller_filename":{"description":"Name of the file in code where the project logs event was created","type":["string","null"]},"caller_functionname":{"description":"The function in code which created the project logs event","type":["string","null"]},"caller_lineno":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"created":{"description":"The timestamp the project logs event was created","format":"date-time","type":"string"},"error":{"description":"The error that occurred, if any."},"expected":{"description":"The ground truth value (an arbitrary, JSON serializable object) that you'd compare to `output` to determine if your `output` value is correct or not. Braintrust currently does not compare `output` to `expected` for you, since there are so many different ways to do that correctly. Instead, these values are just used to help you navigate while digging into analyses. However, we may later use these values to re-score outputs or fine-tune your models."},"facets":{"anyOf":[{"additionalProperties":{"type":["string","null"]},"properties":{},"type":"object"},{"type":"null"}]},"id":{"description":"A unique identifier for the project logs event. If you don't provide one, Braintrust will generate one for you","type":"string"},"input":{"description":"The arguments that uniquely define a user input (an arbitrary, JSON serializable object)."},"is_root":{"description":"Whether this span is a root span","type":["boolean","null"]},"log_id":{"const":"g","description":"A literal 'g' which identifies the log as a project log","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"properties":{"model":{"description":"The model used for this example","type":["string","null"]}},"type":"object"},{"type":"null"}]},"metrics":{"anyOf":[{"additionalProperties":{"type":"number"},"properties":{"caller_filename":{"description":"This metric is deprecated"},"caller_functionname":{"description":"This metric is deprecated"},"caller_lineno":{"description":"This metric is deprecated"},"completion_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"end":{"description":"A unix timestamp recording when the section of code which produced the project logs event finished","type":["number","null"]},"prompt_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"start":{"description":"A unix timestamp recording when the section of code which produced the project logs event started","type":["number","null"]},"tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"org_id":{"description":"Unique id for the organization that the project belongs under","format":"uuid","type":"string"},"origin":{"anyOf":[{"description":"Reference to the original object and event this was copied from.","properties":{"_xact_id":{"description":"Transaction ID of the original event.","type":["string","null"]},"created":{"description":"Created timestamp of the original event. Used to help sort in the UI","type":["string","null"]},"id":{"description":"ID of the original event.","type":"string"},"object_id":{"description":"ID of the object the event is originating from.","format":"uuid","type":"string"},"object_type":{"description":"Type of the object the event is originating from.","enum":["project_logs","experiment","dataset","prompt","function","prompt_session"],"type":"string"}},"required":["object_type","object_id","id"],"type":"object"},{"type":"null"}]},"output":{"description":"The output of your application, including post-processing (an arbitrary, JSON serializable object), that allows you to determine whether the result is correct or not. For example, in an app that generates SQL queries, the `output` should be the _result_ of the SQL query generated by the model, not the query itself, because there may be multiple valid queries that answer a single question."},"project_id":{"description":"Unique identifier for the project","format":"uuid","type":"string"},"root_span_id":{"description":"A unique identifier for the trace this project logs event belongs to","type":"string"},"scores":{"anyOf":[{"additionalProperties":{"anyOf":[{"maximum":1,"minimum":0,"type":"number"},{"type":"null"}]},"properties":{},"type":"object"},{"type":"null"}]},"span_attributes":{"anyOf":[{"additionalProperties":{},"description":"Human-identifying attributes of the span, such as name, type, etc.","properties":{"name":{"description":"Name of the span, for display purposes only","type":["string","null"]},"purpose":{"anyOf":[{"enum":["scorer"],"type":"string"},{"type":"null"}]},"type":{"anyOf":[{"enum":["llm","score","function","eval","task","tool","automation","facet","preprocessor","classifier","review"],"type":"string"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"span_id":{"description":"A unique identifier used to link different project logs events together as part of a full trace. See the [tracing guide](https://www.braintrust.dev/docs/instrument) for full details on tracing","type":"string"},"span_parents":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]},"tags":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]}}}},"realtime_state":{"type":"on","minimum_xact_id":"1000197472074645319","read_bytes":0,"actual_xact_id":"1000197472074645319"},"freshness_state":{"last_processed_xact_id":"1000197472074645319","last_considered_xact_id":"1000197472074645319"},"warnings":[]} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-ab9d7bd617e8.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-37c43c36743a.json similarity index 73% rename from test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-ab9d7bd617e8.json rename to test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-37c43c36743a.json index 1552d8f5..2ee32c81 100644 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-ab9d7bd617e8.json +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-37c43c36743a.json @@ -1 +1 @@ -{"data":[{"_async_scoring_state":null,"_pagination_key":"p07663649184161857545","_xact_id":"1000197530259310894","audit_data":[{"_xact_id":"1000197530259310894","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":{"span_origin":{"instrumentation":{"name":"braintrust-java"},"name":"braintrust.sdk.java","version":"0.3.17-0155866-DIRTY"}},"created":"2026-07-17T23:52:47.144Z","error":null,"expected":null,"facets":null,"id":"8e3fb271fda26444","input":null,"is_root":true,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","client":"springai2-openai"},"metrics":{"end":1784332369.0330398,"start":1784332367.1447968},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":null,"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"6fe28983035e7eef2880fb8ce3213555","scores":null,"span_attributes":{"name":"completions","type":"task"},"span_id":"8e3fb271fda26444","span_parents":null,"tags":null},{"_async_scoring_state":null,"_pagination_key":"p07663649184161857539","_xact_id":"1000197530259310894","audit_data":[{"_xact_id":"1000197530259310894","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":{"span_origin":{"instrumentation":{"name":"braintrust-java"},"name":"braintrust.sdk.java","version":"0.3.17-0155866-DIRTY"}},"created":"2026-07-17T23:52:47.521Z","error":null,"expected":null,"facets":null,"id":"2fb48dce2ee8a1e2","input":[{"content":"you are a helpful assistant","role":"system"},{"content":"What is the capital of France?","role":"user"}],"is_root":false,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","model":"gpt-4o-mini","provider":"openai","request_base_uri":"http://localhost:55247","request_method":"POST","request_path":"chat/completions"},"metrics":{"completion_tokens":7,"end":1784332369.032752,"estimated_cost":0.00000765,"prompt_cached_tokens":0,"prompt_tokens":23,"start":1784332367.521122,"tokens":30},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":[{"finish_reason":"stop","index":0,"logprobs":null,"message":{"annotations":[],"content":"The capital of France is Paris.","refusal":null,"role":"assistant"}}],"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"6fe28983035e7eef2880fb8ce3213555","scores":null,"span_attributes":{"name":"Chat Completion","type":"llm"},"span_id":"2fb48dce2ee8a1e2","span_parents":["8e3fb271fda26444"],"tags":null}],"schema":{"type":"array","items":{"type":"object","properties":{"_async_scoring_state":{},"_pagination_key":{"description":"A stable, time-ordered key that can be used to paginate over project logs events. This field is auto-generated by Braintrust and only exists in Brainstore.","type":["string","null"]},"_xact_id":{"description":"The transaction id of an event is unique to the network operation that processed the event insertion. Transaction ids are monotonically increasing over time and can be used to retrieve a versioned snapshot of the project logs (see the `version` parameter)","type":"string"},"audit_data":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"classifications":{"anyOf":[{"additionalProperties":{"items":{"additionalProperties":false,"properties":{"confidence":{"description":"Optional confidence score for the classification","type":["number","null"]},"id":{"description":"Stable classification identifier","type":"string"},"label":{"description":"Original label of the classification item, which is useful for search and indexing purposes","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"type":"object"},{"type":"null"}],"description":"Optional metadata associated with the classification"},"source":{"anyOf":[{"anyOf":[{"additionalProperties":false,"properties":{"id":{"type":"string"},"type":{"const":"function","type":"string"},"version":{"description":"The version of the function","type":"string"}},"required":["type","id"],"type":"object"},{"additionalProperties":false,"properties":{"function_type":{"default":"scorer","description":"The type of global function. Defaults to 'scorer'.","enum":["llm","scorer","task","tool","custom_view","preprocessor","facet","classifier","tag","parameters","sandbox"],"type":"string"},"name":{"type":"string"},"type":{"const":"global","type":"string"}},"required":["type","name"],"type":"object"}]},{"type":"null"}],"description":"Optional function identifier that produced the classification"}},"required":["id"],"type":"object"},"type":"array"},"properties":{},"type":"object"},{"type":"null"}]},"comments":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"context":{"anyOf":[{"additionalProperties":{},"properties":{"caller_filename":{"description":"Name of the file in code where the project logs event was created","type":["string","null"]},"caller_functionname":{"description":"The function in code which created the project logs event","type":["string","null"]},"caller_lineno":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"created":{"description":"The timestamp the project logs event was created","format":"date-time","type":"string"},"error":{"description":"The error that occurred, if any."},"expected":{"description":"The ground truth value (an arbitrary, JSON serializable object) that you'd compare to `output` to determine if your `output` value is correct or not. Braintrust currently does not compare `output` to `expected` for you, since there are so many different ways to do that correctly. Instead, these values are just used to help you navigate while digging into analyses. However, we may later use these values to re-score outputs or fine-tune your models."},"facets":{"anyOf":[{"additionalProperties":{"type":["string","null"]},"properties":{},"type":"object"},{"type":"null"}]},"id":{"description":"A unique identifier for the project logs event. If you don't provide one, Braintrust will generate one for you","type":"string"},"input":{"description":"The arguments that uniquely define a user input (an arbitrary, JSON serializable object)."},"is_root":{"description":"Whether this span is a root span","type":["boolean","null"]},"log_id":{"const":"g","description":"A literal 'g' which identifies the log as a project log","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"properties":{"model":{"description":"The model used for this example","type":["string","null"]}},"type":"object"},{"type":"null"}]},"metrics":{"anyOf":[{"additionalProperties":{"type":"number"},"properties":{"caller_filename":{"description":"This metric is deprecated"},"caller_functionname":{"description":"This metric is deprecated"},"caller_lineno":{"description":"This metric is deprecated"},"completion_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"end":{"description":"A unix timestamp recording when the section of code which produced the project logs event finished","type":["number","null"]},"prompt_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"start":{"description":"A unix timestamp recording when the section of code which produced the project logs event started","type":["number","null"]},"tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"org_id":{"description":"Unique id for the organization that the project belongs under","format":"uuid","type":"string"},"origin":{"anyOf":[{"description":"Reference to the original object and event this was copied from.","properties":{"_xact_id":{"description":"Transaction ID of the original event.","type":["string","null"]},"created":{"description":"Created timestamp of the original event. Used to help sort in the UI","type":["string","null"]},"id":{"description":"ID of the original event.","type":"string"},"object_id":{"description":"ID of the object the event is originating from.","format":"uuid","type":"string"},"object_type":{"description":"Type of the object the event is originating from.","enum":["project_logs","experiment","dataset","prompt","function","prompt_session"],"type":"string"}},"required":["object_type","object_id","id"],"type":"object"},{"type":"null"}]},"output":{"description":"The output of your application, including post-processing (an arbitrary, JSON serializable object), that allows you to determine whether the result is correct or not. For example, in an app that generates SQL queries, the `output` should be the _result_ of the SQL query generated by the model, not the query itself, because there may be multiple valid queries that answer a single question."},"project_id":{"description":"Unique identifier for the project","format":"uuid","type":"string"},"root_span_id":{"description":"A unique identifier for the trace this project logs event belongs to","type":"string"},"scores":{"anyOf":[{"additionalProperties":{"anyOf":[{"maximum":1,"minimum":0,"type":"number"},{"type":"null"}]},"properties":{},"type":"object"},{"type":"null"}]},"span_attributes":{"anyOf":[{"additionalProperties":{},"description":"Human-identifying attributes of the span, such as name, type, etc.","properties":{"name":{"description":"Name of the span, for display purposes only","type":["string","null"]},"purpose":{"anyOf":[{"enum":["scorer"],"type":"string"},{"type":"null"}]},"type":{"anyOf":[{"enum":["llm","score","function","eval","task","tool","automation","facet","preprocessor","classifier","review"],"type":"string"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"span_id":{"description":"A unique identifier used to link different project logs events together as part of a full trace. See the [tracing guide](https://www.braintrust.dev/docs/instrument) for full details on tracing","type":"string"},"span_parents":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]},"tags":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]}}}},"realtime_state":{"type":"on","minimum_xact_id":"1000197530259310894","read_bytes":0,"actual_xact_id":"1000197530259310894"},"freshness_state":{"last_processed_xact_id":"1000197530259310894","last_considered_xact_id":"1000197530259310894"},"warnings":[]} \ No newline at end of file +{"data":[{"_async_scoring_state":null,"_pagination_key":"p07680251263181783063","_xact_id":"1000197783586932658","audit_data":[{"_xact_id":"1000197783586932658","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":{"span_origin":{"instrumentation":{"name":"braintrust-java"},"name":"braintrust.sdk.java","version":"0.3.22-ca5ce6d-DIRTY"}},"created":"2026-08-31T17:37:19.999Z","error":null,"expected":null,"facets":null,"id":"bf42e20277921a7a","input":null,"is_root":true,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","client":"langchain1.8-openai"},"metrics":{"end":1788197840.7502878,"start":1788197839.999443},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":null,"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"93dc61f8ad224ff689a72da433eb5cfa","scores":null,"span_attributes":{"name":"streaming_multiple_choices","type":"task"},"span_id":"bf42e20277921a7a","span_parents":null,"tags":null},{"_async_scoring_state":null,"_pagination_key":"p07680251263181783048","_xact_id":"1000197783586932658","audit_data":[{"_xact_id":"1000197783586932658","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":{"span_origin":{"instrumentation":{"name":"braintrust-java"},"name":"braintrust.sdk.java","version":"0.3.22-ca5ce6d-DIRTY"}},"created":"2026-08-31T17:37:20.004Z","error":null,"expected":null,"facets":null,"id":"848dbf8b5feb1241","input":[{"content":"you are a concise assistant","role":"system"},{"content":"Say hello in one word.","role":"user"}],"is_root":false,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","max_tokens":100,"model":"gpt-4o-mini","n":2,"provider":"openai","request_base_uri":"http://localhost:52408","request_method":"POST","request_path":"chat/completions","response_id":"chatcmpl-EJ0EaZUY0yqFa5S5YCHubC5v9Dvj6","stream":true,"stream_options":{"include_usage":true},"temperature":0,"x-request-id":"req_8044e637af404ae9b421762bc74bbcc4"},"metrics":{"completion_reasoning_tokens":0,"completion_tokens":4,"end":1788197840.7510827,"estimated_cost":0.0000057,"prompt_cached_tokens":0,"prompt_tokens":22,"start":1788197840.0048108,"time_to_first_token":0.740294833,"tokens":26},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":[{"finish_reason":"stop","index":0,"message":{"content":"Hello!","refusal":null,"role":"assistant"}},{"finish_reason":"stop","index":1,"message":{"content":"Hello!","refusal":null,"role":"assistant"}}],"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"93dc61f8ad224ff689a72da433eb5cfa","scores":null,"span_attributes":{"name":"Chat Completion","type":"llm"},"span_id":"848dbf8b5feb1241","span_parents":["bf42e20277921a7a"],"tags":null}],"schema":{"type":"array","items":{"type":"object","properties":{"_async_scoring_state":{},"_pagination_key":{"description":"A stable, time-ordered key that can be used to paginate over project logs events. This field is auto-generated by Braintrust and only exists in Brainstore.","type":["string","null"]},"_xact_id":{"description":"The transaction id of an event is unique to the network operation that processed the event insertion. Transaction ids are monotonically increasing over time and can be used to retrieve a versioned snapshot of the project logs (see the `version` parameter)","type":"string"},"audit_data":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"classifications":{"anyOf":[{"additionalProperties":{"items":{"additionalProperties":false,"properties":{"confidence":{"description":"Optional confidence score for the classification","type":["number","null"]},"id":{"description":"Stable classification identifier","type":"string"},"label":{"description":"Original label of the classification item, which is useful for search and indexing purposes","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"type":"object"},{"type":"null"}],"description":"Optional metadata associated with the classification"},"source":{"anyOf":[{"anyOf":[{"additionalProperties":false,"properties":{"id":{"type":"string"},"type":{"const":"function","type":"string"},"version":{"description":"The version of the function","type":"string"}},"required":["type","id"],"type":"object"},{"additionalProperties":false,"properties":{"function_type":{"default":"scorer","description":"The type of global function. Defaults to 'scorer'.","enum":["llm","scorer","task","tool","custom_view","preprocessor","facet","classifier","tag","parameters","sandbox"],"type":"string"},"name":{"type":"string"},"type":{"const":"global","type":"string"}},"required":["type","name"],"type":"object"}]},{"type":"null"}],"description":"Optional function identifier that produced the classification"}},"required":["id"],"type":"object"},"type":"array"},"properties":{},"type":"object"},{"type":"null"}]},"comments":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"context":{"anyOf":[{"additionalProperties":{},"properties":{"caller_filename":{"description":"Name of the file in code where the project logs event was created","type":["string","null"]},"caller_functionname":{"description":"The function in code which created the project logs event","type":["string","null"]},"caller_lineno":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"created":{"description":"The timestamp the project logs event was created","format":"date-time","type":"string"},"error":{"description":"The error that occurred, if any."},"expected":{"description":"The ground truth value (an arbitrary, JSON serializable object) that you'd compare to `output` to determine if your `output` value is correct or not. Braintrust currently does not compare `output` to `expected` for you, since there are so many different ways to do that correctly. Instead, these values are just used to help you navigate while digging into analyses. However, we may later use these values to re-score outputs or fine-tune your models."},"facets":{"anyOf":[{"additionalProperties":{"type":["string","null"]},"properties":{},"type":"object"},{"type":"null"}]},"id":{"description":"A unique identifier for the project logs event. If you don't provide one, Braintrust will generate one for you","type":"string"},"input":{"description":"The arguments that uniquely define a user input (an arbitrary, JSON serializable object)."},"is_root":{"description":"Whether this span is a root span","type":["boolean","null"]},"log_id":{"const":"g","description":"A literal 'g' which identifies the log as a project log","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"properties":{"model":{"description":"The model used for this example","type":["string","null"]}},"type":"object"},{"type":"null"}]},"metrics":{"anyOf":[{"additionalProperties":{"type":"number"},"properties":{"caller_filename":{"description":"This metric is deprecated"},"caller_functionname":{"description":"This metric is deprecated"},"caller_lineno":{"description":"This metric is deprecated"},"completion_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"end":{"description":"A unix timestamp recording when the section of code which produced the project logs event finished","type":["number","null"]},"prompt_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"start":{"description":"A unix timestamp recording when the section of code which produced the project logs event started","type":["number","null"]},"tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"org_id":{"description":"Unique id for the organization that the project belongs under","format":"uuid","type":"string"},"origin":{"anyOf":[{"description":"Reference to the original object and event this was copied from.","properties":{"_xact_id":{"description":"Transaction ID of the original event.","type":["string","null"]},"created":{"description":"Created timestamp of the original event. Used to help sort in the UI","type":["string","null"]},"id":{"description":"ID of the original event.","type":"string"},"object_id":{"description":"ID of the object the event is originating from.","format":"uuid","type":"string"},"object_type":{"description":"Type of the object the event is originating from.","enum":["project_logs","experiment","dataset","prompt","function","prompt_session"],"type":"string"}},"required":["object_type","object_id","id"],"type":"object"},{"type":"null"}]},"output":{"description":"The output of your application, including post-processing (an arbitrary, JSON serializable object), that allows you to determine whether the result is correct or not. For example, in an app that generates SQL queries, the `output` should be the _result_ of the SQL query generated by the model, not the query itself, because there may be multiple valid queries that answer a single question."},"project_id":{"description":"Unique identifier for the project","format":"uuid","type":"string"},"root_span_id":{"description":"A unique identifier for the trace this project logs event belongs to","type":"string"},"scores":{"anyOf":[{"additionalProperties":{"anyOf":[{"maximum":1,"minimum":0,"type":"number"},{"type":"null"}]},"properties":{},"type":"object"},{"type":"null"}]},"span_attributes":{"anyOf":[{"additionalProperties":{},"description":"Human-identifying attributes of the span, such as name, type, etc.","properties":{"name":{"description":"Name of the span, for display purposes only","type":["string","null"]},"purpose":{"anyOf":[{"enum":["scorer"],"type":"string"},{"type":"null"}]},"type":{"anyOf":[{"enum":["llm","score","function","eval","task","tool","automation","facet","preprocessor","classifier","review"],"type":"string"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"span_id":{"description":"A unique identifier used to link different project logs events together as part of a full trace. See the [tracing guide](https://www.braintrust.dev/docs/instrument) for full details on tracing","type":"string"},"span_parents":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]},"tags":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]}}}},"realtime_state":{"type":"on","minimum_xact_id":"1000197783589884487","read_bytes":0,"actual_xact_id":"1000197783589884487"},"freshness_state":{"last_processed_xact_id":"1000197783589884487","last_considered_xact_id":"1000197783589884487"},"warnings":[]} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-38b88ebc8fab.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-38b88ebc8fab.json new file mode 100644 index 00000000..85d955ad --- /dev/null +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-38b88ebc8fab.json @@ -0,0 +1 @@ +{"data":[{"_async_scoring_state":null,"_pagination_key":"p07680251177209954309","_xact_id":"1000197783585620832","audit_data":[{"_xact_id":"1000197783585620832","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":{"span_origin":{"instrumentation":{"name":"braintrust-java"},"name":"braintrust.sdk.java","version":"0.3.22-ca5ce6d-DIRTY"}},"created":"2026-08-31T17:37:02.554Z","error":null,"expected":null,"facets":null,"id":"4ab64228ed149df9","input":null,"is_root":true,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","client":"google"},"metrics":{"end":1788197823.5286922,"start":1788197822.554164},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":null,"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"927c2d880638e702231220991fe61ceb","scores":null,"span_attributes":{"name":"generate_content","type":"task"},"span_id":"4ab64228ed149df9","span_parents":null,"tags":null},{"_async_scoring_state":null,"_pagination_key":"p07680251177209954305","_xact_id":"1000197783585620832","audit_data":[{"_xact_id":"1000197783585620832","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":{"span_origin":{"instrumentation":{"name":"braintrust-java"},"name":"braintrust.sdk.java","version":"0.3.22-ca5ce6d-DIRTY"}},"created":"2026-08-31T17:37:02.597Z","error":null,"expected":null,"facets":null,"id":"31b74bb2e2ad7018","input":{"config":{"temperature":0},"contents":[{"parts":[{"text":"What is the capital of France?"}],"role":"user"}],"model":"gemini-3.1-flash-lite-preview"},"is_root":false,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","model":"gemini-3.1-flash-lite","provider":"google","temperature":0},"metrics":{"completion_tokens":7,"end":1788197823.4946287,"estimated_cost":0.000012499999999999999,"prompt_tokens":8,"start":1788197822.597826,"tokens":15},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":{"candidates":[{"content":{"parts":[{"text":"The capital of France is Paris.","thoughtSignature":"EnEKbwERTTIPtCPe6fTDceE3sr0sXjLG/8pJPcZ1qEP7zA5tgnYmqDa1isH+WOJqxAvblSlT57u7TfdBOP4h9ttKI8wf3QNwdNG+2NCRVQsIjTF3w+XYsomhBMBYdAeb/+Hp/yGdF31tnvOVvvxPW27F9g=="}],"role":"model"},"finishReason":"STOP","index":0}],"modelVersion":"gemini-3.1-flash-lite","responseId":"vruVapHcOLbqz7IPz6Sw2A8","usageMetadata":{"candidatesTokenCount":7,"promptTokenCount":8,"promptTokensDetails":[{"modality":"TEXT","tokenCount":8}],"serviceTier":"standard","totalTokenCount":15}},"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"927c2d880638e702231220991fe61ceb","scores":null,"span_attributes":{"name":"generate_content","type":"llm"},"span_id":"31b74bb2e2ad7018","span_parents":["4ab64228ed149df9"],"tags":null}],"schema":{"type":"array","items":{"type":"object","properties":{"_async_scoring_state":{},"_pagination_key":{"description":"A stable, time-ordered key that can be used to paginate over project logs events. This field is auto-generated by Braintrust and only exists in Brainstore.","type":["string","null"]},"_xact_id":{"description":"The transaction id of an event is unique to the network operation that processed the event insertion. Transaction ids are monotonically increasing over time and can be used to retrieve a versioned snapshot of the project logs (see the `version` parameter)","type":"string"},"audit_data":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"classifications":{"anyOf":[{"additionalProperties":{"items":{"additionalProperties":false,"properties":{"confidence":{"description":"Optional confidence score for the classification","type":["number","null"]},"id":{"description":"Stable classification identifier","type":"string"},"label":{"description":"Original label of the classification item, which is useful for search and indexing purposes","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"type":"object"},{"type":"null"}],"description":"Optional metadata associated with the classification"},"source":{"anyOf":[{"anyOf":[{"additionalProperties":false,"properties":{"id":{"type":"string"},"type":{"const":"function","type":"string"},"version":{"description":"The version of the function","type":"string"}},"required":["type","id"],"type":"object"},{"additionalProperties":false,"properties":{"function_type":{"default":"scorer","description":"The type of global function. Defaults to 'scorer'.","enum":["llm","scorer","task","tool","custom_view","preprocessor","facet","classifier","tag","parameters","sandbox"],"type":"string"},"name":{"type":"string"},"type":{"const":"global","type":"string"}},"required":["type","name"],"type":"object"}]},{"type":"null"}],"description":"Optional function identifier that produced the classification"}},"required":["id"],"type":"object"},"type":"array"},"properties":{},"type":"object"},{"type":"null"}]},"comments":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"context":{"anyOf":[{"additionalProperties":{},"properties":{"caller_filename":{"description":"Name of the file in code where the project logs event was created","type":["string","null"]},"caller_functionname":{"description":"The function in code which created the project logs event","type":["string","null"]},"caller_lineno":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"created":{"description":"The timestamp the project logs event was created","format":"date-time","type":"string"},"error":{"description":"The error that occurred, if any."},"expected":{"description":"The ground truth value (an arbitrary, JSON serializable object) that you'd compare to `output` to determine if your `output` value is correct or not. Braintrust currently does not compare `output` to `expected` for you, since there are so many different ways to do that correctly. Instead, these values are just used to help you navigate while digging into analyses. However, we may later use these values to re-score outputs or fine-tune your models."},"facets":{"anyOf":[{"additionalProperties":{"type":["string","null"]},"properties":{},"type":"object"},{"type":"null"}]},"id":{"description":"A unique identifier for the project logs event. If you don't provide one, Braintrust will generate one for you","type":"string"},"input":{"description":"The arguments that uniquely define a user input (an arbitrary, JSON serializable object)."},"is_root":{"description":"Whether this span is a root span","type":["boolean","null"]},"log_id":{"const":"g","description":"A literal 'g' which identifies the log as a project log","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"properties":{"model":{"description":"The model used for this example","type":["string","null"]}},"type":"object"},{"type":"null"}]},"metrics":{"anyOf":[{"additionalProperties":{"type":"number"},"properties":{"caller_filename":{"description":"This metric is deprecated"},"caller_functionname":{"description":"This metric is deprecated"},"caller_lineno":{"description":"This metric is deprecated"},"completion_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"end":{"description":"A unix timestamp recording when the section of code which produced the project logs event finished","type":["number","null"]},"prompt_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"start":{"description":"A unix timestamp recording when the section of code which produced the project logs event started","type":["number","null"]},"tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"org_id":{"description":"Unique id for the organization that the project belongs under","format":"uuid","type":"string"},"origin":{"anyOf":[{"description":"Reference to the original object and event this was copied from.","properties":{"_xact_id":{"description":"Transaction ID of the original event.","type":["string","null"]},"created":{"description":"Created timestamp of the original event. Used to help sort in the UI","type":["string","null"]},"id":{"description":"ID of the original event.","type":"string"},"object_id":{"description":"ID of the object the event is originating from.","format":"uuid","type":"string"},"object_type":{"description":"Type of the object the event is originating from.","enum":["project_logs","experiment","dataset","prompt","function","prompt_session"],"type":"string"}},"required":["object_type","object_id","id"],"type":"object"},{"type":"null"}]},"output":{"description":"The output of your application, including post-processing (an arbitrary, JSON serializable object), that allows you to determine whether the result is correct or not. For example, in an app that generates SQL queries, the `output` should be the _result_ of the SQL query generated by the model, not the query itself, because there may be multiple valid queries that answer a single question."},"project_id":{"description":"Unique identifier for the project","format":"uuid","type":"string"},"root_span_id":{"description":"A unique identifier for the trace this project logs event belongs to","type":"string"},"scores":{"anyOf":[{"additionalProperties":{"anyOf":[{"maximum":1,"minimum":0,"type":"number"},{"type":"null"}]},"properties":{},"type":"object"},{"type":"null"}]},"span_attributes":{"anyOf":[{"additionalProperties":{},"description":"Human-identifying attributes of the span, such as name, type, etc.","properties":{"name":{"description":"Name of the span, for display purposes only","type":["string","null"]},"purpose":{"anyOf":[{"enum":["scorer"],"type":"string"},{"type":"null"}]},"type":{"anyOf":[{"enum":["llm","score","function","eval","task","tool","automation","facet","preprocessor","classifier","review"],"type":"string"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"span_id":{"description":"A unique identifier used to link different project logs events together as part of a full trace. See the [tracing guide](https://www.braintrust.dev/docs/instrument) for full details on tracing","type":"string"},"span_parents":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]},"tags":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]}}}},"realtime_state":{"type":"on","minimum_xact_id":"1000197783589161396","read_bytes":14598,"actual_xact_id":"1000197783589884487"},"freshness_state":{"last_processed_xact_id":"1000197783589884487","last_considered_xact_id":"1000197783589884487"},"warnings":[]} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-47541e20a280.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-398c586dae81.json similarity index 71% rename from test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-47541e20a280.json rename to test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-398c586dae81.json index c9d5064a..e636838e 100644 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-47541e20a280.json +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-398c586dae81.json @@ -1 +1 @@ -{"data":[{"_async_scoring_state":null,"_pagination_key":"p07659835849527656449","_xact_id":"1000197472072442086","audit_data":[{"_xact_id":"1000197472072442086","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":null,"created":"2026-07-07T17:15:06.942Z","error":null,"expected":null,"facets":null,"id":"d7e006540b698316","input":null,"is_root":true,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","client":"springai-anthropic"},"metrics":{"end":1783444508.5386658,"start":1783444506.942544},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":null,"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"14a18d0ad1051e39f5ef5f9ca35fd43c","scores":null,"span_attributes":{"name":"prompt_caching_5m","type":"task"},"span_id":"d7e006540b698316","span_parents":null,"tags":null},{"_async_scoring_state":null,"_pagination_key":"p07659835849527656453","_xact_id":"1000197472072442086","audit_data":[{"_xact_id":"1000197472072442086","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":null,"created":"2026-07-07T17:15:06.961Z","error":null,"expected":null,"facets":null,"id":"887448dcb40139e8","input":[{"content":"What is the capital of France?","role":"user"}],"is_root":false,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","model":"claude-sonnet-4-5-20250929","provider":"anthropic","request_base_uri":"http://localhost:63165","request_method":"POST","request_path":"v1/messages"},"metrics":{"completion_tokens":5,"end":1783444508.528269,"estimated_cost":0.005205,"prompt_cache_creation_1h_tokens":0,"prompt_cache_creation_5m_tokens":1368,"prompt_cached_tokens":0,"prompt_tokens":12,"start":1783444506.961179,"tokens":17},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":{"content":[{"text":"Paris.","type":"text"}],"id":"msg_011Cco5FZvtoDthiGHpMRkqH","model":"claude-sonnet-4-5-20250929","role":"assistant","stop_details":null,"stop_reason":"end_turn","stop_sequence":null,"type":"message","usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":1368},"cache_creation_input_tokens":1368,"cache_read_input_tokens":0,"inference_geo":"not_available","input_tokens":12,"output_tokens":5,"service_tier":"standard"}},"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"14a18d0ad1051e39f5ef5f9ca35fd43c","scores":null,"span_attributes":{"name":"anthropic.messages.create","type":"llm"},"span_id":"887448dcb40139e8","span_parents":["d7e006540b698316"],"tags":null}],"schema":{"type":"array","items":{"type":"object","properties":{"_async_scoring_state":{},"_pagination_key":{"description":"A stable, time-ordered key that can be used to paginate over project logs events. This field is auto-generated by Braintrust and only exists in Brainstore.","type":["string","null"]},"_xact_id":{"description":"The transaction id of an event is unique to the network operation that processed the event insertion. Transaction ids are monotonically increasing over time and can be used to retrieve a versioned snapshot of the project logs (see the `version` parameter)","type":"string"},"audit_data":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"classifications":{"anyOf":[{"additionalProperties":{"items":{"additionalProperties":false,"properties":{"confidence":{"description":"Optional confidence score for the classification","type":["number","null"]},"id":{"description":"Stable classification identifier","type":"string"},"label":{"description":"Original label of the classification item, which is useful for search and indexing purposes","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"type":"object"},{"type":"null"}],"description":"Optional metadata associated with the classification"},"source":{"anyOf":[{"anyOf":[{"additionalProperties":false,"properties":{"id":{"type":"string"},"type":{"const":"function","type":"string"},"version":{"description":"The version of the function","type":"string"}},"required":["type","id"],"type":"object"},{"additionalProperties":false,"properties":{"function_type":{"default":"scorer","description":"The type of global function. Defaults to 'scorer'.","enum":["llm","scorer","task","tool","custom_view","preprocessor","facet","classifier","tag","parameters","sandbox"],"type":"string"},"name":{"type":"string"},"type":{"const":"global","type":"string"}},"required":["type","name"],"type":"object"}]},{"type":"null"}],"description":"Optional function identifier that produced the classification"}},"required":["id"],"type":"object"},"type":"array"},"properties":{},"type":"object"},{"type":"null"}]},"comments":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"context":{"anyOf":[{"additionalProperties":{},"properties":{"caller_filename":{"description":"Name of the file in code where the project logs event was created","type":["string","null"]},"caller_functionname":{"description":"The function in code which created the project logs event","type":["string","null"]},"caller_lineno":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"created":{"description":"The timestamp the project logs event was created","format":"date-time","type":"string"},"error":{"description":"The error that occurred, if any."},"expected":{"description":"The ground truth value (an arbitrary, JSON serializable object) that you'd compare to `output` to determine if your `output` value is correct or not. Braintrust currently does not compare `output` to `expected` for you, since there are so many different ways to do that correctly. Instead, these values are just used to help you navigate while digging into analyses. However, we may later use these values to re-score outputs or fine-tune your models."},"facets":{"anyOf":[{"additionalProperties":{"type":["string","null"]},"properties":{},"type":"object"},{"type":"null"}]},"id":{"description":"A unique identifier for the project logs event. If you don't provide one, Braintrust will generate one for you","type":"string"},"input":{"description":"The arguments that uniquely define a user input (an arbitrary, JSON serializable object)."},"is_root":{"description":"Whether this span is a root span","type":["boolean","null"]},"log_id":{"const":"g","description":"A literal 'g' which identifies the log as a project log","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"properties":{"model":{"description":"The model used for this example","type":["string","null"]}},"type":"object"},{"type":"null"}]},"metrics":{"anyOf":[{"additionalProperties":{"type":"number"},"properties":{"caller_filename":{"description":"This metric is deprecated"},"caller_functionname":{"description":"This metric is deprecated"},"caller_lineno":{"description":"This metric is deprecated"},"completion_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"end":{"description":"A unix timestamp recording when the section of code which produced the project logs event finished","type":["number","null"]},"prompt_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"start":{"description":"A unix timestamp recording when the section of code which produced the project logs event started","type":["number","null"]},"tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"org_id":{"description":"Unique id for the organization that the project belongs under","format":"uuid","type":"string"},"origin":{"anyOf":[{"description":"Reference to the original object and event this was copied from.","properties":{"_xact_id":{"description":"Transaction ID of the original event.","type":["string","null"]},"created":{"description":"Created timestamp of the original event. Used to help sort in the UI","type":["string","null"]},"id":{"description":"ID of the original event.","type":"string"},"object_id":{"description":"ID of the object the event is originating from.","format":"uuid","type":"string"},"object_type":{"description":"Type of the object the event is originating from.","enum":["project_logs","experiment","dataset","prompt","function","prompt_session"],"type":"string"}},"required":["object_type","object_id","id"],"type":"object"},{"type":"null"}]},"output":{"description":"The output of your application, including post-processing (an arbitrary, JSON serializable object), that allows you to determine whether the result is correct or not. For example, in an app that generates SQL queries, the `output` should be the _result_ of the SQL query generated by the model, not the query itself, because there may be multiple valid queries that answer a single question."},"project_id":{"description":"Unique identifier for the project","format":"uuid","type":"string"},"root_span_id":{"description":"A unique identifier for the trace this project logs event belongs to","type":"string"},"scores":{"anyOf":[{"additionalProperties":{"anyOf":[{"maximum":1,"minimum":0,"type":"number"},{"type":"null"}]},"properties":{},"type":"object"},{"type":"null"}]},"span_attributes":{"anyOf":[{"additionalProperties":{},"description":"Human-identifying attributes of the span, such as name, type, etc.","properties":{"name":{"description":"Name of the span, for display purposes only","type":["string","null"]},"purpose":{"anyOf":[{"enum":["scorer"],"type":"string"},{"type":"null"}]},"type":{"anyOf":[{"enum":["llm","score","function","eval","task","tool","automation","facet","preprocessor","classifier","review"],"type":"string"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"span_id":{"description":"A unique identifier used to link different project logs events together as part of a full trace. See the [tracing guide](https://www.braintrust.dev/docs/instrument) for full details on tracing","type":"string"},"span_parents":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]},"tags":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]}}}},"realtime_state":{"type":"on","minimum_xact_id":"1000197472073890576","read_bytes":4909,"actual_xact_id":"1000197472074645319"},"freshness_state":{"last_processed_xact_id":"1000197472073890576","last_considered_xact_id":"1000197472074645319"},"warnings":[]} \ No newline at end of file +{"data":[{"_async_scoring_state":null,"_pagination_key":"p07680251263181783069","_xact_id":"1000197783586932658","audit_data":[{"_xact_id":"1000197783586932658","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":{"span_origin":{"instrumentation":{"name":"braintrust-java"},"name":"braintrust.sdk.java","version":"0.3.22-ca5ce6d-DIRTY"}},"created":"2026-08-31T17:37:22.377Z","error":null,"expected":null,"facets":null,"id":"a748d39dadb9a6bd","input":null,"is_root":true,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","client":"openai"},"metrics":{"end":1788197843.2745056,"start":1788197842.3772569},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":null,"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"5588692a0746bfb33f6c4935d1b0b2bc","scores":null,"span_attributes":{"name":"streaming_multiple_choices","type":"task"},"span_id":"a748d39dadb9a6bd","span_parents":null,"tags":null},{"_async_scoring_state":null,"_pagination_key":"p07680251263181783054","_xact_id":"1000197783586932658","audit_data":[{"_xact_id":"1000197783586932658","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":{"span_origin":{"instrumentation":{"name":"braintrust-java"},"name":"braintrust.sdk.java","version":"0.3.22-ca5ce6d-DIRTY"}},"created":"2026-08-31T17:37:22.379Z","error":null,"expected":null,"facets":null,"id":"fb3f69cd5858beb9","input":[{"content":"you are a concise assistant","role":"system"},{"content":"Say hello in one word.","role":"user"}],"is_root":false,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","max_tokens":100,"model":"gpt-4o-mini","n":2,"provider":"openai","request_base_uri":"http://localhost:52408","request_method":"POST","request_path":"chat/completions","response_id":"chatcmpl-EJ0Ec4nkxCT7TKYQJPkQX7IU9RExi","stream":true,"stream_options":{"include_usage":true},"temperature":0,"x-request-id":"req_fd62bdcec4364fd39f49a80571aeeb1c"},"metrics":{"completion_reasoning_tokens":0,"completion_tokens":4,"end":1788197843.2741928,"estimated_cost":0.0000057,"prompt_cached_tokens":0,"prompt_tokens":22,"start":1788197842.379895,"time_to_first_token":0.000416042,"tokens":26},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":[{"finish_reason":"stop","index":0,"logprobs":null,"message":{"content":"Hello!","refusal":null,"role":"assistant","tool_calls":[]}},{"finish_reason":"stop","index":1,"logprobs":null,"message":{"content":"Hello!","refusal":null,"role":"assistant","tool_calls":[]}}],"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"5588692a0746bfb33f6c4935d1b0b2bc","scores":null,"span_attributes":{"name":"Chat Completion","type":"llm"},"span_id":"fb3f69cd5858beb9","span_parents":["a748d39dadb9a6bd"],"tags":null}],"schema":{"type":"array","items":{"type":"object","properties":{"_async_scoring_state":{},"_pagination_key":{"description":"A stable, time-ordered key that can be used to paginate over project logs events. This field is auto-generated by Braintrust and only exists in Brainstore.","type":["string","null"]},"_xact_id":{"description":"The transaction id of an event is unique to the network operation that processed the event insertion. Transaction ids are monotonically increasing over time and can be used to retrieve a versioned snapshot of the project logs (see the `version` parameter)","type":"string"},"audit_data":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"classifications":{"anyOf":[{"additionalProperties":{"items":{"additionalProperties":false,"properties":{"confidence":{"description":"Optional confidence score for the classification","type":["number","null"]},"id":{"description":"Stable classification identifier","type":"string"},"label":{"description":"Original label of the classification item, which is useful for search and indexing purposes","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"type":"object"},{"type":"null"}],"description":"Optional metadata associated with the classification"},"source":{"anyOf":[{"anyOf":[{"additionalProperties":false,"properties":{"id":{"type":"string"},"type":{"const":"function","type":"string"},"version":{"description":"The version of the function","type":"string"}},"required":["type","id"],"type":"object"},{"additionalProperties":false,"properties":{"function_type":{"default":"scorer","description":"The type of global function. Defaults to 'scorer'.","enum":["llm","scorer","task","tool","custom_view","preprocessor","facet","classifier","tag","parameters","sandbox"],"type":"string"},"name":{"type":"string"},"type":{"const":"global","type":"string"}},"required":["type","name"],"type":"object"}]},{"type":"null"}],"description":"Optional function identifier that produced the classification"}},"required":["id"],"type":"object"},"type":"array"},"properties":{},"type":"object"},{"type":"null"}]},"comments":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"context":{"anyOf":[{"additionalProperties":{},"properties":{"caller_filename":{"description":"Name of the file in code where the project logs event was created","type":["string","null"]},"caller_functionname":{"description":"The function in code which created the project logs event","type":["string","null"]},"caller_lineno":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"created":{"description":"The timestamp the project logs event was created","format":"date-time","type":"string"},"error":{"description":"The error that occurred, if any."},"expected":{"description":"The ground truth value (an arbitrary, JSON serializable object) that you'd compare to `output` to determine if your `output` value is correct or not. Braintrust currently does not compare `output` to `expected` for you, since there are so many different ways to do that correctly. Instead, these values are just used to help you navigate while digging into analyses. However, we may later use these values to re-score outputs or fine-tune your models."},"facets":{"anyOf":[{"additionalProperties":{"type":["string","null"]},"properties":{},"type":"object"},{"type":"null"}]},"id":{"description":"A unique identifier for the project logs event. If you don't provide one, Braintrust will generate one for you","type":"string"},"input":{"description":"The arguments that uniquely define a user input (an arbitrary, JSON serializable object)."},"is_root":{"description":"Whether this span is a root span","type":["boolean","null"]},"log_id":{"const":"g","description":"A literal 'g' which identifies the log as a project log","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"properties":{"model":{"description":"The model used for this example","type":["string","null"]}},"type":"object"},{"type":"null"}]},"metrics":{"anyOf":[{"additionalProperties":{"type":"number"},"properties":{"caller_filename":{"description":"This metric is deprecated"},"caller_functionname":{"description":"This metric is deprecated"},"caller_lineno":{"description":"This metric is deprecated"},"completion_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"end":{"description":"A unix timestamp recording when the section of code which produced the project logs event finished","type":["number","null"]},"prompt_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"start":{"description":"A unix timestamp recording when the section of code which produced the project logs event started","type":["number","null"]},"tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"org_id":{"description":"Unique id for the organization that the project belongs under","format":"uuid","type":"string"},"origin":{"anyOf":[{"description":"Reference to the original object and event this was copied from.","properties":{"_xact_id":{"description":"Transaction ID of the original event.","type":["string","null"]},"created":{"description":"Created timestamp of the original event. Used to help sort in the UI","type":["string","null"]},"id":{"description":"ID of the original event.","type":"string"},"object_id":{"description":"ID of the object the event is originating from.","format":"uuid","type":"string"},"object_type":{"description":"Type of the object the event is originating from.","enum":["project_logs","experiment","dataset","prompt","function","prompt_session"],"type":"string"}},"required":["object_type","object_id","id"],"type":"object"},{"type":"null"}]},"output":{"description":"The output of your application, including post-processing (an arbitrary, JSON serializable object), that allows you to determine whether the result is correct or not. For example, in an app that generates SQL queries, the `output` should be the _result_ of the SQL query generated by the model, not the query itself, because there may be multiple valid queries that answer a single question."},"project_id":{"description":"Unique identifier for the project","format":"uuid","type":"string"},"root_span_id":{"description":"A unique identifier for the trace this project logs event belongs to","type":"string"},"scores":{"anyOf":[{"additionalProperties":{"anyOf":[{"maximum":1,"minimum":0,"type":"number"},{"type":"null"}]},"properties":{},"type":"object"},{"type":"null"}]},"span_attributes":{"anyOf":[{"additionalProperties":{},"description":"Human-identifying attributes of the span, such as name, type, etc.","properties":{"name":{"description":"Name of the span, for display purposes only","type":["string","null"]},"purpose":{"anyOf":[{"enum":["scorer"],"type":"string"},{"type":"null"}]},"type":{"anyOf":[{"enum":["llm","score","function","eval","task","tool","automation","facet","preprocessor","classifier","review"],"type":"string"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"span_id":{"description":"A unique identifier used to link different project logs events together as part of a full trace. See the [tracing guide](https://www.braintrust.dev/docs/instrument) for full details on tracing","type":"string"},"span_parents":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]},"tags":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]}}}},"realtime_state":{"type":"on","minimum_xact_id":"1000197783589884487","read_bytes":0,"actual_xact_id":"1000197783589884487"},"freshness_state":{"last_processed_xact_id":"1000197783589884487","last_considered_xact_id":"1000197783589884487"},"warnings":[]} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-411302da969a.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-411302da969a.json new file mode 100644 index 00000000..5e10472b --- /dev/null +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-411302da969a.json @@ -0,0 +1 @@ +{"data":[{"_async_scoring_state":null,"_pagination_key":"p07680251233063075853","_xact_id":"1000197783586473083","audit_data":[{"_xact_id":"1000197783586473083","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":{"span_origin":{"instrumentation":{"name":"braintrust-java"},"name":"braintrust.sdk.java","version":"0.3.22-ca5ce6d-DIRTY"}},"created":"2026-08-31T17:37:15.946Z","error":null,"expected":null,"facets":null,"id":"e40e47473c4a22bb","input":null,"is_root":true,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","client":"springai-anthropic"},"metrics":{"end":1788197836.6189659,"start":1788197835.9464478},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":null,"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"977e036b9707460c32cc1ebc3e5f6aa5","scores":null,"span_attributes":{"name":"streaming","type":"task"},"span_id":"e40e47473c4a22bb","span_parents":null,"tags":null},{"_async_scoring_state":null,"_pagination_key":"p07680251233063075845","_xact_id":"1000197783586473083","audit_data":[{"_xact_id":"1000197783586473083","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":{"span_origin":{"instrumentation":{"name":"braintrust-java"},"name":"braintrust.sdk.java","version":"0.3.22-ca5ce6d-DIRTY"}},"created":"2026-08-31T17:37:15.948Z","error":null,"expected":null,"facets":null,"id":"9cd7cefbc6523569","input":[{"content":"Count from 1 to 5.","role":"user"},{"content":"You are a helpful assistant.","role":"system"}],"is_root":false,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","model":"claude-haiku-4-5-20251001","provider":"anthropic","request-id":"req_011CebERtkT3TYPKrmBRXxV6","request_base_uri":"http://localhost:52407","request_method":"POST","request_path":"v1/messages","response_id":"msg_011CebERuJguU6rst6zRmr76"},"metrics":{"completion_tokens":13,"end":1788197836.6187818,"estimated_cost":0.000087,"prompt_cache_creation_1h_tokens":0,"prompt_cache_creation_5m_tokens":0,"prompt_cached_tokens":0,"prompt_tokens":22,"start":1788197835.948491,"time_to_first_token":0.653312042,"tokens":35},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":{"content":[{"text":"1\n2\n3\n4\n5","type":"text"}],"id":"msg_011CebERuJguU6rst6zRmr76","role":"assistant","stop_reason":"end_turn","usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":0},"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"inference_geo":"not_available","input_tokens":22,"output_tokens":13,"service_tier":"standard"}},"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"977e036b9707460c32cc1ebc3e5f6aa5","scores":null,"span_attributes":{"name":"anthropic.messages.stream","type":"llm"},"span_id":"9cd7cefbc6523569","span_parents":["e40e47473c4a22bb"],"tags":null}],"schema":{"type":"array","items":{"type":"object","properties":{"_async_scoring_state":{},"_pagination_key":{"description":"A stable, time-ordered key that can be used to paginate over project logs events. This field is auto-generated by Braintrust and only exists in Brainstore.","type":["string","null"]},"_xact_id":{"description":"The transaction id of an event is unique to the network operation that processed the event insertion. Transaction ids are monotonically increasing over time and can be used to retrieve a versioned snapshot of the project logs (see the `version` parameter)","type":"string"},"audit_data":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"classifications":{"anyOf":[{"additionalProperties":{"items":{"additionalProperties":false,"properties":{"confidence":{"description":"Optional confidence score for the classification","type":["number","null"]},"id":{"description":"Stable classification identifier","type":"string"},"label":{"description":"Original label of the classification item, which is useful for search and indexing purposes","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"type":"object"},{"type":"null"}],"description":"Optional metadata associated with the classification"},"source":{"anyOf":[{"anyOf":[{"additionalProperties":false,"properties":{"id":{"type":"string"},"type":{"const":"function","type":"string"},"version":{"description":"The version of the function","type":"string"}},"required":["type","id"],"type":"object"},{"additionalProperties":false,"properties":{"function_type":{"default":"scorer","description":"The type of global function. Defaults to 'scorer'.","enum":["llm","scorer","task","tool","custom_view","preprocessor","facet","classifier","tag","parameters","sandbox"],"type":"string"},"name":{"type":"string"},"type":{"const":"global","type":"string"}},"required":["type","name"],"type":"object"}]},{"type":"null"}],"description":"Optional function identifier that produced the classification"}},"required":["id"],"type":"object"},"type":"array"},"properties":{},"type":"object"},{"type":"null"}]},"comments":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"context":{"anyOf":[{"additionalProperties":{},"properties":{"caller_filename":{"description":"Name of the file in code where the project logs event was created","type":["string","null"]},"caller_functionname":{"description":"The function in code which created the project logs event","type":["string","null"]},"caller_lineno":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"created":{"description":"The timestamp the project logs event was created","format":"date-time","type":"string"},"error":{"description":"The error that occurred, if any."},"expected":{"description":"The ground truth value (an arbitrary, JSON serializable object) that you'd compare to `output` to determine if your `output` value is correct or not. Braintrust currently does not compare `output` to `expected` for you, since there are so many different ways to do that correctly. Instead, these values are just used to help you navigate while digging into analyses. However, we may later use these values to re-score outputs or fine-tune your models."},"facets":{"anyOf":[{"additionalProperties":{"type":["string","null"]},"properties":{},"type":"object"},{"type":"null"}]},"id":{"description":"A unique identifier for the project logs event. If you don't provide one, Braintrust will generate one for you","type":"string"},"input":{"description":"The arguments that uniquely define a user input (an arbitrary, JSON serializable object)."},"is_root":{"description":"Whether this span is a root span","type":["boolean","null"]},"log_id":{"const":"g","description":"A literal 'g' which identifies the log as a project log","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"properties":{"model":{"description":"The model used for this example","type":["string","null"]}},"type":"object"},{"type":"null"}]},"metrics":{"anyOf":[{"additionalProperties":{"type":"number"},"properties":{"caller_filename":{"description":"This metric is deprecated"},"caller_functionname":{"description":"This metric is deprecated"},"caller_lineno":{"description":"This metric is deprecated"},"completion_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"end":{"description":"A unix timestamp recording when the section of code which produced the project logs event finished","type":["number","null"]},"prompt_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"start":{"description":"A unix timestamp recording when the section of code which produced the project logs event started","type":["number","null"]},"tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"org_id":{"description":"Unique id for the organization that the project belongs under","format":"uuid","type":"string"},"origin":{"anyOf":[{"description":"Reference to the original object and event this was copied from.","properties":{"_xact_id":{"description":"Transaction ID of the original event.","type":["string","null"]},"created":{"description":"Created timestamp of the original event. Used to help sort in the UI","type":["string","null"]},"id":{"description":"ID of the original event.","type":"string"},"object_id":{"description":"ID of the object the event is originating from.","format":"uuid","type":"string"},"object_type":{"description":"Type of the object the event is originating from.","enum":["project_logs","experiment","dataset","prompt","function","prompt_session"],"type":"string"}},"required":["object_type","object_id","id"],"type":"object"},{"type":"null"}]},"output":{"description":"The output of your application, including post-processing (an arbitrary, JSON serializable object), that allows you to determine whether the result is correct or not. For example, in an app that generates SQL queries, the `output` should be the _result_ of the SQL query generated by the model, not the query itself, because there may be multiple valid queries that answer a single question."},"project_id":{"description":"Unique identifier for the project","format":"uuid","type":"string"},"root_span_id":{"description":"A unique identifier for the trace this project logs event belongs to","type":"string"},"scores":{"anyOf":[{"additionalProperties":{"anyOf":[{"maximum":1,"minimum":0,"type":"number"},{"type":"null"}]},"properties":{},"type":"object"},{"type":"null"}]},"span_attributes":{"anyOf":[{"additionalProperties":{},"description":"Human-identifying attributes of the span, such as name, type, etc.","properties":{"name":{"description":"Name of the span, for display purposes only","type":["string","null"]},"purpose":{"anyOf":[{"enum":["scorer"],"type":"string"},{"type":"null"}]},"type":{"anyOf":[{"enum":["llm","score","function","eval","task","tool","automation","facet","preprocessor","classifier","review"],"type":"string"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"span_id":{"description":"A unique identifier used to link different project logs events together as part of a full trace. See the [tracing guide](https://www.braintrust.dev/docs/instrument) for full details on tracing","type":"string"},"span_parents":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]},"tags":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]}}}},"realtime_state":{"type":"on","minimum_xact_id":"1000197783589161396","read_bytes":14598,"actual_xact_id":"1000197783589884487"},"freshness_state":{"last_processed_xact_id":"1000197783589884487","last_considered_xact_id":"1000197783589884487"},"warnings":[]} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-4517fb16a4f0.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-4517fb16a4f0.json new file mode 100644 index 00000000..261f0174 --- /dev/null +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-4517fb16a4f0.json @@ -0,0 +1 @@ +{"data":[{"_async_scoring_state":null,"_pagination_key":"p07680251263181783058","_xact_id":"1000197783586932658","audit_data":[{"_xact_id":"1000197783586932658","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":{"span_origin":{"instrumentation":{"name":"braintrust-java"},"name":"braintrust.sdk.java","version":"0.3.22-ca5ce6d-DIRTY"}},"created":"2026-08-31T17:37:17.790Z","error":null,"expected":null,"facets":null,"id":"5888e6b8e79989dc","input":null,"is_root":true,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","client":"springai-anthropic"},"metrics":{"end":1788197839.0775106,"start":1788197837.790368},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":null,"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"ae831d8e000a476c0fc38c8c88380b23","scores":null,"span_attributes":{"name":"prompt_caching_1h","type":"task"},"span_id":"5888e6b8e79989dc","span_parents":null,"tags":null},{"_async_scoring_state":null,"_pagination_key":"p07680251263181783043","_xact_id":"1000197783586932658","audit_data":[{"_xact_id":"1000197783586932658","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":{"span_origin":{"instrumentation":{"name":"braintrust-java"},"name":"braintrust.sdk.java","version":"0.3.22-ca5ce6d-DIRTY"}},"created":"2026-08-31T17:37:17.794Z","error":null,"expected":null,"facets":null,"id":"a809bc84c0312785","input":[{"content":"What is the capital of France?","role":"user"},{"content":[{"cache_control":{"ttl":"1h","type":"ephemeral"},"text":"[cache buster: springai-anthropic vcr-mode]\nReference material (stable, cached with a 1 hour TTL):\n\nThe following is a condensed atlas of capital cities. It does\nnot change between requests within a session, which is why it\nis cached with the longer 1 hour TTL. Consult it before\nanswering.\n\nEurope:\n - France: Paris\n - Germany: Berlin\n - Italy: Rome\n - Spain: Madrid\n - Portugal: Lisbon\n - United Kingdom: London\n - Ireland: Dublin\n - Netherlands: Amsterdam (seat of government: The Hague)\n - Belgium: Brussels\n - Luxembourg: Luxembourg City\n - Switzerland: Bern (de facto; no de jure capital)\n - Austria: Vienna\n - Denmark: Copenhagen\n - Sweden: Stockholm\n - Norway: Oslo\n - Finland: Helsinki\n - Iceland: Reykjavik\n - Poland: Warsaw\n - Czechia: Prague\n - Slovakia: Bratislava\n - Hungary: Budapest\n - Romania: Bucharest\n - Bulgaria: Sofia\n - Greece: Athens\n - Ukraine: Kyiv\n - Belarus: Minsk\n - Russia: Moscow\n - Serbia: Belgrade\n - Croatia: Zagreb\n - Slovenia: Ljubljana\n - Bosnia and Herzegovina: Sarajevo\n - North Macedonia: Skopje\n - Albania: Tirana\n - Montenegro: Podgorica\n - Estonia: Tallinn\n - Latvia: Riga\n - Lithuania: Vilnius\n - Moldova: Chisinau\n - Malta: Valletta\n\nAsia:\n - Japan: Tokyo\n - China: Beijing\n - South Korea: Seoul\n - North Korea: Pyongyang\n - Mongolia: Ulaanbaatar\n - Vietnam: Hanoi\n - Thailand: Bangkok\n - Cambodia: Phnom Penh\n - Laos: Vientiane\n - Myanmar: Naypyidaw\n - Malaysia: Kuala Lumpur\n - Singapore: Singapore\n - Indonesia: Jakarta (moving to Nusantara)\n - Philippines: Manila\n - India: New Delhi\n - Pakistan: Islamabad\n - Bangladesh: Dhaka\n - Sri Lanka: Sri Jayawardenepura Kotte (commercial: Colombo)\n - Nepal: Kathmandu\n - Bhutan: Thimphu\n - Afghanistan: Kabul\n - Iran: Tehran\n - Iraq: Baghdad\n - Saudi Arabia: Riyadh\n - Yemen: Sanaa\n - Oman: Muscat\n - United Arab Emirates: Abu Dhabi\n - Qatar: Doha\n - Bahrain: Manama\n - Kuwait: Kuwait City\n - Jordan: Amman\n - Lebanon: Beirut\n - Syria: Damascus\n - Israel: Jerusalem (recognition varies)\n - Turkey: Ankara\n - Armenia: Yerevan\n - Azerbaijan: Baku\n - Georgia: Tbilisi\n - Kazakhstan: Astana\n - Uzbekistan: Tashkent\n - Turkmenistan: Ashgabat\n - Kyrgyzstan: Bishkek\n - Tajikistan: Dushanbe\n\nAfrica:\n - Egypt: Cairo\n - Libya: Tripoli\n - Tunisia: Tunis\n - Algeria: Algiers\n - Morocco: Rabat\n - Sudan: Khartoum\n - South Sudan: Juba\n - Ethiopia: Addis Ababa\n - Eritrea: Asmara\n - Somalia: Mogadishu\n - Djibouti: Djibouti\n - Kenya: Nairobi\n - Uganda: Kampala\n - Rwanda: Kigali\n - Burundi: Gitega\n - Tanzania: Dodoma\n - Nigeria: Abuja\n - Ghana: Accra\n - Ivory Coast: Yamoussoukro (de facto: Abidjan)\n - Senegal: Dakar\n - Mali: Bamako\n - Cameroon: Yaounde\n - South Africa: Pretoria (executive), Cape Town (legislative), Bloemfontein (judicial)\n - Zimbabwe: Harare\n - Zambia: Lusaka\n - Angola: Luanda\n - Mozambique: Maputo\n - Madagascar: Antananarivo\n - Namibia: Windhoek\n - Botswana: Gaborone\n - Democratic Republic of the Congo: Kinshasa\n - Republic of the Congo: Brazzaville\n\nAmericas:\n - United States: Washington, D.C.\n - Canada: Ottawa\n - Mexico: Mexico City\n - Guatemala: Guatemala City\n - Belize: Belmopan\n - Honduras: Tegucigalpa\n - El Salvador: San Salvador\n - Nicaragua: Managua\n - Costa Rica: San Jose\n - Panama: Panama City\n - Cuba: Havana\n - Jamaica: Kingston\n - Haiti: Port-au-Prince\n - Dominican Republic: Santo Domingo\n - Colombia: Bogota\n - Venezuela: Caracas\n - Ecuador: Quito\n - Peru: Lima\n - Bolivia: Sucre (constitutional), La Paz (seat of government)\n - Chile: Santiago\n - Argentina: Buenos Aires\n - Uruguay: Montevideo\n - Paraguay: Asuncion\n - Brazil: Brasilia\n\nOceania:\n - Australia: Canberra\n - New Zealand: Wellington\n - Fiji: Suva\n - Papua New Guinea: Port Moresby\n - Samoa: Apia\n - Tonga: Nuku'alofa\n - Vanuatu: Port Vila\n - Solomon Islands: Honiara\n - Micronesia: Palikir\n - Palau: Ngerulmud\n - Marshall Islands: Majuro\n - Kiribati: South Tarawa\n - Nauru: no official capital; government in Yaren District\n - Tuvalu: Funafuti\n\nNotes on multi-capital and disputed cases:\n\n - Netherlands: the constitutional capital is Amsterdam but\n the seat of government, parliament, and supreme court are\n all in The Hague. Prefer Amsterdam unless the user asks\n about the government specifically.\n - South Africa: three capitals split by branch. Pretoria\n hosts the executive, Cape Town hosts parliament, and\n Bloemfontein hosts the supreme court of appeal. No single\n city is \"the\" capital.\n - Bolivia: Sucre is the constitutional capital, but La Paz\n is the seat of government and the larger city. Either\n answer is defensible; list both when asked.\n - Ivory Coast: Yamoussoukro has been the official capital\n since 1983, but Abidjan remains the economic hub and de\n facto administrative center for most purposes.\n - Sri Lanka: Sri Jayawardenepura Kotte is the legislative\n capital. Colombo is the commercial capital and by far the\n more commonly referenced city.\n - Switzerland: Bern is the de facto capital (the seat of\n the federal authorities), but Swiss law does not\n designate any city as \"the capital\".\n - Nauru: has no designated capital. Government offices are\n in the Yaren District, which is often listed as the\n capital by convention.\n - Israel: Jerusalem is the declared capital, but\n international recognition of that status is not\n universal. Many embassies are in Tel Aviv.\n - Palestine: de jure capital is East Jerusalem; de facto\n administrative center is Ramallah. Both appear in\n official usage.\n - Taiwan: Taipei is the capital of the Republic of China.\n Recognition as a sovereign state varies by country.\n - Kosovo: Pristina is the capital of the Republic of\n Kosovo. Recognition as a sovereign state varies by\n country.\n - Somaliland: Hargeisa is the capital of the self-declared\n Republic of Somaliland, which is not widely recognized.\n Somalia, which claims the territory, has its capital at\n Mogadishu.\n\nEnd of reference material.\n","type":"text"}],"role":"system"}],"is_root":false,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","max_tokens":128,"model":"claude-sonnet-4-5-20250929","provider":"anthropic","request-id":"req_011CebES2iBRSdVtLLAEXVkK","request_base_uri":"http://localhost:52407","request_method":"POST","request_path":"v1/messages","response_id":"msg_011CebES3PrbP5Po49G1nDtE","stream":false,"temperature":0},"metrics":{"completion_tokens":11,"end":1788197839.069,"estimated_cost":0.012159,"prompt_cache_creation_1h_tokens":1993,"prompt_cache_creation_5m_tokens":0,"prompt_cached_tokens":0,"prompt_tokens":2005,"start":1788197837.7946143,"tokens":2016},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":{"content":[{"text":"The capital of France is **Paris**.","type":"text"}],"id":"msg_011CebES3PrbP5Po49G1nDtE","model":"claude-sonnet-4-5-20250929","role":"assistant","stop_details":null,"stop_reason":"end_turn","stop_sequence":null,"type":"message","usage":{"cache_creation":{"ephemeral_1h_input_tokens":1993,"ephemeral_5m_input_tokens":0},"cache_creation_input_tokens":1993,"cache_read_input_tokens":0,"inference_geo":"not_available","input_tokens":12,"output_tokens":11,"service_tier":"standard"}},"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"ae831d8e000a476c0fc38c8c88380b23","scores":null,"span_attributes":{"name":"anthropic.messages.create","type":"llm"},"span_id":"a809bc84c0312785","span_parents":["5888e6b8e79989dc"],"tags":null}],"schema":{"type":"array","items":{"type":"object","properties":{"_async_scoring_state":{},"_pagination_key":{"description":"A stable, time-ordered key that can be used to paginate over project logs events. This field is auto-generated by Braintrust and only exists in Brainstore.","type":["string","null"]},"_xact_id":{"description":"The transaction id of an event is unique to the network operation that processed the event insertion. Transaction ids are monotonically increasing over time and can be used to retrieve a versioned snapshot of the project logs (see the `version` parameter)","type":"string"},"audit_data":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"classifications":{"anyOf":[{"additionalProperties":{"items":{"additionalProperties":false,"properties":{"confidence":{"description":"Optional confidence score for the classification","type":["number","null"]},"id":{"description":"Stable classification identifier","type":"string"},"label":{"description":"Original label of the classification item, which is useful for search and indexing purposes","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"type":"object"},{"type":"null"}],"description":"Optional metadata associated with the classification"},"source":{"anyOf":[{"anyOf":[{"additionalProperties":false,"properties":{"id":{"type":"string"},"type":{"const":"function","type":"string"},"version":{"description":"The version of the function","type":"string"}},"required":["type","id"],"type":"object"},{"additionalProperties":false,"properties":{"function_type":{"default":"scorer","description":"The type of global function. Defaults to 'scorer'.","enum":["llm","scorer","task","tool","custom_view","preprocessor","facet","classifier","tag","parameters","sandbox"],"type":"string"},"name":{"type":"string"},"type":{"const":"global","type":"string"}},"required":["type","name"],"type":"object"}]},{"type":"null"}],"description":"Optional function identifier that produced the classification"}},"required":["id"],"type":"object"},"type":"array"},"properties":{},"type":"object"},{"type":"null"}]},"comments":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"context":{"anyOf":[{"additionalProperties":{},"properties":{"caller_filename":{"description":"Name of the file in code where the project logs event was created","type":["string","null"]},"caller_functionname":{"description":"The function in code which created the project logs event","type":["string","null"]},"caller_lineno":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"created":{"description":"The timestamp the project logs event was created","format":"date-time","type":"string"},"error":{"description":"The error that occurred, if any."},"expected":{"description":"The ground truth value (an arbitrary, JSON serializable object) that you'd compare to `output` to determine if your `output` value is correct or not. Braintrust currently does not compare `output` to `expected` for you, since there are so many different ways to do that correctly. Instead, these values are just used to help you navigate while digging into analyses. However, we may later use these values to re-score outputs or fine-tune your models."},"facets":{"anyOf":[{"additionalProperties":{"type":["string","null"]},"properties":{},"type":"object"},{"type":"null"}]},"id":{"description":"A unique identifier for the project logs event. If you don't provide one, Braintrust will generate one for you","type":"string"},"input":{"description":"The arguments that uniquely define a user input (an arbitrary, JSON serializable object)."},"is_root":{"description":"Whether this span is a root span","type":["boolean","null"]},"log_id":{"const":"g","description":"A literal 'g' which identifies the log as a project log","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"properties":{"model":{"description":"The model used for this example","type":["string","null"]}},"type":"object"},{"type":"null"}]},"metrics":{"anyOf":[{"additionalProperties":{"type":"number"},"properties":{"caller_filename":{"description":"This metric is deprecated"},"caller_functionname":{"description":"This metric is deprecated"},"caller_lineno":{"description":"This metric is deprecated"},"completion_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"end":{"description":"A unix timestamp recording when the section of code which produced the project logs event finished","type":["number","null"]},"prompt_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"start":{"description":"A unix timestamp recording when the section of code which produced the project logs event started","type":["number","null"]},"tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"org_id":{"description":"Unique id for the organization that the project belongs under","format":"uuid","type":"string"},"origin":{"anyOf":[{"description":"Reference to the original object and event this was copied from.","properties":{"_xact_id":{"description":"Transaction ID of the original event.","type":["string","null"]},"created":{"description":"Created timestamp of the original event. Used to help sort in the UI","type":["string","null"]},"id":{"description":"ID of the original event.","type":"string"},"object_id":{"description":"ID of the object the event is originating from.","format":"uuid","type":"string"},"object_type":{"description":"Type of the object the event is originating from.","enum":["project_logs","experiment","dataset","prompt","function","prompt_session"],"type":"string"}},"required":["object_type","object_id","id"],"type":"object"},{"type":"null"}]},"output":{"description":"The output of your application, including post-processing (an arbitrary, JSON serializable object), that allows you to determine whether the result is correct or not. For example, in an app that generates SQL queries, the `output` should be the _result_ of the SQL query generated by the model, not the query itself, because there may be multiple valid queries that answer a single question."},"project_id":{"description":"Unique identifier for the project","format":"uuid","type":"string"},"root_span_id":{"description":"A unique identifier for the trace this project logs event belongs to","type":"string"},"scores":{"anyOf":[{"additionalProperties":{"anyOf":[{"maximum":1,"minimum":0,"type":"number"},{"type":"null"}]},"properties":{},"type":"object"},{"type":"null"}]},"span_attributes":{"anyOf":[{"additionalProperties":{},"description":"Human-identifying attributes of the span, such as name, type, etc.","properties":{"name":{"description":"Name of the span, for display purposes only","type":["string","null"]},"purpose":{"anyOf":[{"enum":["scorer"],"type":"string"},{"type":"null"}]},"type":{"anyOf":[{"enum":["llm","score","function","eval","task","tool","automation","facet","preprocessor","classifier","review"],"type":"string"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"span_id":{"description":"A unique identifier used to link different project logs events together as part of a full trace. See the [tracing guide](https://www.braintrust.dev/docs/instrument) for full details on tracing","type":"string"},"span_parents":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]},"tags":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]}}}},"realtime_state":{"type":"on","minimum_xact_id":"1000197783589161396","read_bytes":0,"actual_xact_id":"1000197783589161396"},"freshness_state":{"last_processed_xact_id":"1000197783589161396","last_considered_xact_id":"1000197783589161396"},"warnings":[]} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-70a295828a5b.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-566d042bdb8f.json similarity index 72% rename from test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-70a295828a5b.json rename to test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-566d042bdb8f.json index 2738c32c..4d60a99c 100644 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-70a295828a5b.json +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-566d042bdb8f.json @@ -1 +1 @@ -{"data":[{"_async_scoring_state":null,"_pagination_key":"p07663649184161857544","_xact_id":"1000197530259310894","audit_data":[{"_xact_id":"1000197530259310894","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":{"span_origin":{"instrumentation":{"name":"braintrust-java"},"name":"braintrust.sdk.java","version":"0.3.17-0155866-DIRTY"}},"created":"2026-07-17T23:52:48.454Z","error":null,"expected":null,"facets":null,"id":"bf96e1e583b5e7d7","input":null,"is_root":true,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","client":"springai2-anthropic"},"metrics":{"end":1784332368.999873,"start":1784332368.454321},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":null,"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"288351f2c44585790bbd287a0b6a0161","scores":null,"span_attributes":{"name":"messages","type":"task"},"span_id":"bf96e1e583b5e7d7","span_parents":null,"tags":null},{"_async_scoring_state":null,"_pagination_key":"p07663649184161857538","_xact_id":"1000197530259310894","audit_data":[{"_xact_id":"1000197530259310894","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":{"span_origin":{"instrumentation":{"name":"braintrust-java"},"name":"braintrust.sdk.java","version":"0.3.17-0155866-DIRTY"}},"created":"2026-07-17T23:52:48.456Z","error":null,"expected":null,"facets":null,"id":"a0d9bc9f7483ba94","input":[{"content":"What is the capital of France?","role":"user"},{"content":"You are a helpful assistant.","role":"system"}],"is_root":false,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","model":"claude-haiku-4-5-20251001","provider":"anthropic","request_base_uri":"","request_method":"POST","request_path":"v1/messages"},"metrics":{"completion_tokens":10,"end":1784332368.999068,"estimated_cost":0.00007000000000000001,"prompt_cache_creation_1h_tokens":0,"prompt_cache_creation_5m_tokens":0,"prompt_cached_tokens":0,"prompt_tokens":20,"start":1784332368.4560509,"tokens":30},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":{"content":[{"text":"The capital of France is Paris.","type":"text"}],"id":"msg_011Cd8XffJ81ekj4sdbziKg4","model":"claude-haiku-4-5-20251001","role":"assistant","stop_details":null,"stop_reason":"end_turn","stop_sequence":null,"type":"message","usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":0},"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"inference_geo":"not_available","input_tokens":20,"output_tokens":10,"service_tier":"standard"}},"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"288351f2c44585790bbd287a0b6a0161","scores":null,"span_attributes":{"name":"anthropic.messages.create","type":"llm"},"span_id":"a0d9bc9f7483ba94","span_parents":["bf96e1e583b5e7d7"],"tags":null}],"schema":{"type":"array","items":{"type":"object","properties":{"_async_scoring_state":{},"_pagination_key":{"description":"A stable, time-ordered key that can be used to paginate over project logs events. This field is auto-generated by Braintrust and only exists in Brainstore.","type":["string","null"]},"_xact_id":{"description":"The transaction id of an event is unique to the network operation that processed the event insertion. Transaction ids are monotonically increasing over time and can be used to retrieve a versioned snapshot of the project logs (see the `version` parameter)","type":"string"},"audit_data":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"classifications":{"anyOf":[{"additionalProperties":{"items":{"additionalProperties":false,"properties":{"confidence":{"description":"Optional confidence score for the classification","type":["number","null"]},"id":{"description":"Stable classification identifier","type":"string"},"label":{"description":"Original label of the classification item, which is useful for search and indexing purposes","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"type":"object"},{"type":"null"}],"description":"Optional metadata associated with the classification"},"source":{"anyOf":[{"anyOf":[{"additionalProperties":false,"properties":{"id":{"type":"string"},"type":{"const":"function","type":"string"},"version":{"description":"The version of the function","type":"string"}},"required":["type","id"],"type":"object"},{"additionalProperties":false,"properties":{"function_type":{"default":"scorer","description":"The type of global function. Defaults to 'scorer'.","enum":["llm","scorer","task","tool","custom_view","preprocessor","facet","classifier","tag","parameters","sandbox"],"type":"string"},"name":{"type":"string"},"type":{"const":"global","type":"string"}},"required":["type","name"],"type":"object"}]},{"type":"null"}],"description":"Optional function identifier that produced the classification"}},"required":["id"],"type":"object"},"type":"array"},"properties":{},"type":"object"},{"type":"null"}]},"comments":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"context":{"anyOf":[{"additionalProperties":{},"properties":{"caller_filename":{"description":"Name of the file in code where the project logs event was created","type":["string","null"]},"caller_functionname":{"description":"The function in code which created the project logs event","type":["string","null"]},"caller_lineno":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"created":{"description":"The timestamp the project logs event was created","format":"date-time","type":"string"},"error":{"description":"The error that occurred, if any."},"expected":{"description":"The ground truth value (an arbitrary, JSON serializable object) that you'd compare to `output` to determine if your `output` value is correct or not. Braintrust currently does not compare `output` to `expected` for you, since there are so many different ways to do that correctly. Instead, these values are just used to help you navigate while digging into analyses. However, we may later use these values to re-score outputs or fine-tune your models."},"facets":{"anyOf":[{"additionalProperties":{"type":["string","null"]},"properties":{},"type":"object"},{"type":"null"}]},"id":{"description":"A unique identifier for the project logs event. If you don't provide one, Braintrust will generate one for you","type":"string"},"input":{"description":"The arguments that uniquely define a user input (an arbitrary, JSON serializable object)."},"is_root":{"description":"Whether this span is a root span","type":["boolean","null"]},"log_id":{"const":"g","description":"A literal 'g' which identifies the log as a project log","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"properties":{"model":{"description":"The model used for this example","type":["string","null"]}},"type":"object"},{"type":"null"}]},"metrics":{"anyOf":[{"additionalProperties":{"type":"number"},"properties":{"caller_filename":{"description":"This metric is deprecated"},"caller_functionname":{"description":"This metric is deprecated"},"caller_lineno":{"description":"This metric is deprecated"},"completion_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"end":{"description":"A unix timestamp recording when the section of code which produced the project logs event finished","type":["number","null"]},"prompt_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"start":{"description":"A unix timestamp recording when the section of code which produced the project logs event started","type":["number","null"]},"tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"org_id":{"description":"Unique id for the organization that the project belongs under","format":"uuid","type":"string"},"origin":{"anyOf":[{"description":"Reference to the original object and event this was copied from.","properties":{"_xact_id":{"description":"Transaction ID of the original event.","type":["string","null"]},"created":{"description":"Created timestamp of the original event. Used to help sort in the UI","type":["string","null"]},"id":{"description":"ID of the original event.","type":"string"},"object_id":{"description":"ID of the object the event is originating from.","format":"uuid","type":"string"},"object_type":{"description":"Type of the object the event is originating from.","enum":["project_logs","experiment","dataset","prompt","function","prompt_session"],"type":"string"}},"required":["object_type","object_id","id"],"type":"object"},{"type":"null"}]},"output":{"description":"The output of your application, including post-processing (an arbitrary, JSON serializable object), that allows you to determine whether the result is correct or not. For example, in an app that generates SQL queries, the `output` should be the _result_ of the SQL query generated by the model, not the query itself, because there may be multiple valid queries that answer a single question."},"project_id":{"description":"Unique identifier for the project","format":"uuid","type":"string"},"root_span_id":{"description":"A unique identifier for the trace this project logs event belongs to","type":"string"},"scores":{"anyOf":[{"additionalProperties":{"anyOf":[{"maximum":1,"minimum":0,"type":"number"},{"type":"null"}]},"properties":{},"type":"object"},{"type":"null"}]},"span_attributes":{"anyOf":[{"additionalProperties":{},"description":"Human-identifying attributes of the span, such as name, type, etc.","properties":{"name":{"description":"Name of the span, for display purposes only","type":["string","null"]},"purpose":{"anyOf":[{"enum":["scorer"],"type":"string"},{"type":"null"}]},"type":{"anyOf":[{"enum":["llm","score","function","eval","task","tool","automation","facet","preprocessor","classifier","review"],"type":"string"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"span_id":{"description":"A unique identifier used to link different project logs events together as part of a full trace. See the [tracing guide](https://www.braintrust.dev/docs/instrument) for full details on tracing","type":"string"},"span_parents":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]},"tags":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]}}}},"realtime_state":{"type":"on","minimum_xact_id":"1000197530259310894","read_bytes":0,"actual_xact_id":"1000197530259310894"},"freshness_state":{"last_processed_xact_id":"1000197530259310894","last_considered_xact_id":"1000197530259310894"},"warnings":[]} \ No newline at end of file +{"data":[{"_async_scoring_state":null,"_pagination_key":"p07680251177209954308","_xact_id":"1000197783585620832","audit_data":[{"_xact_id":"1000197783585620832","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":{"span_origin":{"instrumentation":{"name":"braintrust-java"},"name":"braintrust.sdk.java","version":"0.3.22-ca5ce6d-DIRTY"}},"created":"2026-08-31T17:36:58.513Z","error":null,"expected":null,"facets":null,"id":"465d12576a561452","input":null,"is_root":true,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","client":"bedrock"},"metrics":{"end":1788197822.553781,"start":1788197818.513736},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":null,"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"e29913042d28ee431622b2f679632a84","scores":null,"span_attributes":{"name":"converse_stream","type":"task"},"span_id":"465d12576a561452","span_parents":null,"tags":null},{"_async_scoring_state":null,"_pagination_key":"p07680251177209954311","_xact_id":"1000197783585620832","audit_data":[{"_xact_id":"1000197783585620832","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":{"span_origin":{"instrumentation":{"name":"braintrust-java"},"name":"braintrust.sdk.java","version":"0.3.22-ca5ce6d-DIRTY"}},"created":"2026-08-31T17:36:58.540Z","error":null,"expected":null,"facets":null,"id":"f4e59e31aaf2e853","input":[{"content":[{"text":"count to 10 slowly","type":"text"}],"role":"user"}],"is_root":false,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","endpoint":"converse-stream","model":"us.amazon.nova-lite-v1:0","provider":"bedrock","request_base_uri":"http://localhost","request_method":"POST","request_path":"model/us.amazon.nova-lite-v1%3A0/converse-stream"},"metrics":{"completion_tokens":100,"end":1788197820.3742692,"estimated_cost":0.00002436,"prompt_tokens":6,"start":1788197818.5400953,"time_to_first_token":0.005774375,"tokens":106},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":[{"content":[{"text":"Sure, let's count to 10 slowly:\n\n1... \nTake a deep breath and relax.\n\n2...\nFeel the rhythm of each number.\n\n3...\nNotice the calmness in the moment.\n\n4...\nLet each count bring you peace.\n\n5...\nEnjoy the journey to the next number.\n\n6...\nEach number is a step closer.\n\n7...\nStay present and mindful.\n\n8...\nAlmost there, keep going.\n\n9...\nOne more to reach the end.\n\n10...\nYou did it!","type":"text"}],"role":"assistant"}],"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"e29913042d28ee431622b2f679632a84","scores":null,"span_attributes":{"name":"bedrock.converse-stream","type":"llm"},"span_id":"f4e59e31aaf2e853","span_parents":["465d12576a561452"],"tags":null}],"schema":{"type":"array","items":{"type":"object","properties":{"_async_scoring_state":{},"_pagination_key":{"description":"A stable, time-ordered key that can be used to paginate over project logs events. This field is auto-generated by Braintrust and only exists in Brainstore.","type":["string","null"]},"_xact_id":{"description":"The transaction id of an event is unique to the network operation that processed the event insertion. Transaction ids are monotonically increasing over time and can be used to retrieve a versioned snapshot of the project logs (see the `version` parameter)","type":"string"},"audit_data":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"classifications":{"anyOf":[{"additionalProperties":{"items":{"additionalProperties":false,"properties":{"confidence":{"description":"Optional confidence score for the classification","type":["number","null"]},"id":{"description":"Stable classification identifier","type":"string"},"label":{"description":"Original label of the classification item, which is useful for search and indexing purposes","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"type":"object"},{"type":"null"}],"description":"Optional metadata associated with the classification"},"source":{"anyOf":[{"anyOf":[{"additionalProperties":false,"properties":{"id":{"type":"string"},"type":{"const":"function","type":"string"},"version":{"description":"The version of the function","type":"string"}},"required":["type","id"],"type":"object"},{"additionalProperties":false,"properties":{"function_type":{"default":"scorer","description":"The type of global function. Defaults to 'scorer'.","enum":["llm","scorer","task","tool","custom_view","preprocessor","facet","classifier","tag","parameters","sandbox"],"type":"string"},"name":{"type":"string"},"type":{"const":"global","type":"string"}},"required":["type","name"],"type":"object"}]},{"type":"null"}],"description":"Optional function identifier that produced the classification"}},"required":["id"],"type":"object"},"type":"array"},"properties":{},"type":"object"},{"type":"null"}]},"comments":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"context":{"anyOf":[{"additionalProperties":{},"properties":{"caller_filename":{"description":"Name of the file in code where the project logs event was created","type":["string","null"]},"caller_functionname":{"description":"The function in code which created the project logs event","type":["string","null"]},"caller_lineno":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"created":{"description":"The timestamp the project logs event was created","format":"date-time","type":"string"},"error":{"description":"The error that occurred, if any."},"expected":{"description":"The ground truth value (an arbitrary, JSON serializable object) that you'd compare to `output` to determine if your `output` value is correct or not. Braintrust currently does not compare `output` to `expected` for you, since there are so many different ways to do that correctly. Instead, these values are just used to help you navigate while digging into analyses. However, we may later use these values to re-score outputs or fine-tune your models."},"facets":{"anyOf":[{"additionalProperties":{"type":["string","null"]},"properties":{},"type":"object"},{"type":"null"}]},"id":{"description":"A unique identifier for the project logs event. If you don't provide one, Braintrust will generate one for you","type":"string"},"input":{"description":"The arguments that uniquely define a user input (an arbitrary, JSON serializable object)."},"is_root":{"description":"Whether this span is a root span","type":["boolean","null"]},"log_id":{"const":"g","description":"A literal 'g' which identifies the log as a project log","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"properties":{"model":{"description":"The model used for this example","type":["string","null"]}},"type":"object"},{"type":"null"}]},"metrics":{"anyOf":[{"additionalProperties":{"type":"number"},"properties":{"caller_filename":{"description":"This metric is deprecated"},"caller_functionname":{"description":"This metric is deprecated"},"caller_lineno":{"description":"This metric is deprecated"},"completion_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"end":{"description":"A unix timestamp recording when the section of code which produced the project logs event finished","type":["number","null"]},"prompt_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"start":{"description":"A unix timestamp recording when the section of code which produced the project logs event started","type":["number","null"]},"tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"org_id":{"description":"Unique id for the organization that the project belongs under","format":"uuid","type":"string"},"origin":{"anyOf":[{"description":"Reference to the original object and event this was copied from.","properties":{"_xact_id":{"description":"Transaction ID of the original event.","type":["string","null"]},"created":{"description":"Created timestamp of the original event. Used to help sort in the UI","type":["string","null"]},"id":{"description":"ID of the original event.","type":"string"},"object_id":{"description":"ID of the object the event is originating from.","format":"uuid","type":"string"},"object_type":{"description":"Type of the object the event is originating from.","enum":["project_logs","experiment","dataset","prompt","function","prompt_session"],"type":"string"}},"required":["object_type","object_id","id"],"type":"object"},{"type":"null"}]},"output":{"description":"The output of your application, including post-processing (an arbitrary, JSON serializable object), that allows you to determine whether the result is correct or not. For example, in an app that generates SQL queries, the `output` should be the _result_ of the SQL query generated by the model, not the query itself, because there may be multiple valid queries that answer a single question."},"project_id":{"description":"Unique identifier for the project","format":"uuid","type":"string"},"root_span_id":{"description":"A unique identifier for the trace this project logs event belongs to","type":"string"},"scores":{"anyOf":[{"additionalProperties":{"anyOf":[{"maximum":1,"minimum":0,"type":"number"},{"type":"null"}]},"properties":{},"type":"object"},{"type":"null"}]},"span_attributes":{"anyOf":[{"additionalProperties":{},"description":"Human-identifying attributes of the span, such as name, type, etc.","properties":{"name":{"description":"Name of the span, for display purposes only","type":["string","null"]},"purpose":{"anyOf":[{"enum":["scorer"],"type":"string"},{"type":"null"}]},"type":{"anyOf":[{"enum":["llm","score","function","eval","task","tool","automation","facet","preprocessor","classifier","review"],"type":"string"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"span_id":{"description":"A unique identifier used to link different project logs events together as part of a full trace. See the [tracing guide](https://www.braintrust.dev/docs/instrument) for full details on tracing","type":"string"},"span_parents":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]},"tags":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]}}}},"realtime_state":{"type":"on","minimum_xact_id":"1000197783589161396","read_bytes":14598,"actual_xact_id":"1000197783589884487"},"freshness_state":{"last_processed_xact_id":"1000197783589884487","last_considered_xact_id":"1000197783589884487"},"warnings":[]} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-5abe910f4fc2.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-5abe910f4fc2.json new file mode 100644 index 00000000..cc3015c9 --- /dev/null +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-5abe910f4fc2.json @@ -0,0 +1 @@ +{"data":[{"_async_scoring_state":null,"_pagination_key":"p07680251409244356610","_xact_id":"1000197783589161396","audit_data":[{"_xact_id":"1000197783589161396","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":{"span_origin":{"instrumentation":{"name":"braintrust-java"},"name":"braintrust.sdk.java","version":"0.3.22-ca5ce6d-DIRTY"}},"created":"2026-08-31T17:37:47.315Z","error":null,"expected":null,"facets":null,"id":"0962cc93cf8d6b9f","input":null,"is_root":true,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","client":"langchain1.14-openai"},"metrics":{"end":1788197874.5011868,"start":1788197867.31507},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":null,"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"432e4184a74aaf5ff0a506e2519358bc","scores":null,"span_attributes":{"name":"reasoning_completions","type":"task"},"span_id":"0962cc93cf8d6b9f","span_parents":null,"tags":null},{"_async_scoring_state":null,"_pagination_key":"p07680251409244356608","_xact_id":"1000197783589161396","audit_data":[{"_xact_id":"1000197783589161396","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":{"span_origin":{"instrumentation":{"name":"braintrust-java"},"name":"braintrust.sdk.java","version":"0.3.22-ca5ce6d-DIRTY"}},"created":"2026-08-31T17:37:47.318Z","error":null,"expected":null,"facets":null,"id":"23552452916c67c9","input":[{"content":"Look at this sequence: 2, 6, 12, 20, 30. What is the pattern and what would be the formula for the nth term?\n","role":"user"}],"is_root":false,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","model":"o4-mini","provider":"openai","reasoning_effort":"medium","request_base_uri":"http://localhost:52408","request_method":"POST","request_path":"chat/completions","response_id":"chatcmpl-EJ0F1mnfyJg8mIIBkLLvWCpLk7ZhL","stream":false,"x-request-id":"req_85ae7fc5c2414e7b9553e77e81f69eb9"},"metrics":{"completion_reasoning_tokens":640,"completion_tokens":754,"end":1788197874.5005984,"estimated_cost":0.0033627000000000006,"prompt_cached_tokens":0,"prompt_tokens":41,"start":1788197867.318646,"tokens":795},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":[{"finish_reason":"stop","index":0,"message":{"annotations":[],"content":"Each term is the product of two consecutive integers:\n\n 2 = 1·2 \n 6 = 2·3 \n 12 = 3·4 \n 20 = 4·5 \n 30 = 5·6 \n\nSo if you call the first term n=1, the n-th term is\n\n aₙ = n·(n+1) \n\nEquivalently, aₙ = n² + n.","refusal":null,"role":"assistant"}}],"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"432e4184a74aaf5ff0a506e2519358bc","scores":null,"span_attributes":{"name":"Chat Completion","type":"llm"},"span_id":"23552452916c67c9","span_parents":["0962cc93cf8d6b9f"],"tags":null}],"schema":{"type":"array","items":{"type":"object","properties":{"_async_scoring_state":{},"_pagination_key":{"description":"A stable, time-ordered key that can be used to paginate over project logs events. This field is auto-generated by Braintrust and only exists in Brainstore.","type":["string","null"]},"_xact_id":{"description":"The transaction id of an event is unique to the network operation that processed the event insertion. Transaction ids are monotonically increasing over time and can be used to retrieve a versioned snapshot of the project logs (see the `version` parameter)","type":"string"},"audit_data":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"classifications":{"anyOf":[{"additionalProperties":{"items":{"additionalProperties":false,"properties":{"confidence":{"description":"Optional confidence score for the classification","type":["number","null"]},"id":{"description":"Stable classification identifier","type":"string"},"label":{"description":"Original label of the classification item, which is useful for search and indexing purposes","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"type":"object"},{"type":"null"}],"description":"Optional metadata associated with the classification"},"source":{"anyOf":[{"anyOf":[{"additionalProperties":false,"properties":{"id":{"type":"string"},"type":{"const":"function","type":"string"},"version":{"description":"The version of the function","type":"string"}},"required":["type","id"],"type":"object"},{"additionalProperties":false,"properties":{"function_type":{"default":"scorer","description":"The type of global function. Defaults to 'scorer'.","enum":["llm","scorer","task","tool","custom_view","preprocessor","facet","classifier","tag","parameters","sandbox"],"type":"string"},"name":{"type":"string"},"type":{"const":"global","type":"string"}},"required":["type","name"],"type":"object"}]},{"type":"null"}],"description":"Optional function identifier that produced the classification"}},"required":["id"],"type":"object"},"type":"array"},"properties":{},"type":"object"},{"type":"null"}]},"comments":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"context":{"anyOf":[{"additionalProperties":{},"properties":{"caller_filename":{"description":"Name of the file in code where the project logs event was created","type":["string","null"]},"caller_functionname":{"description":"The function in code which created the project logs event","type":["string","null"]},"caller_lineno":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"created":{"description":"The timestamp the project logs event was created","format":"date-time","type":"string"},"error":{"description":"The error that occurred, if any."},"expected":{"description":"The ground truth value (an arbitrary, JSON serializable object) that you'd compare to `output` to determine if your `output` value is correct or not. Braintrust currently does not compare `output` to `expected` for you, since there are so many different ways to do that correctly. Instead, these values are just used to help you navigate while digging into analyses. However, we may later use these values to re-score outputs or fine-tune your models."},"facets":{"anyOf":[{"additionalProperties":{"type":["string","null"]},"properties":{},"type":"object"},{"type":"null"}]},"id":{"description":"A unique identifier for the project logs event. If you don't provide one, Braintrust will generate one for you","type":"string"},"input":{"description":"The arguments that uniquely define a user input (an arbitrary, JSON serializable object)."},"is_root":{"description":"Whether this span is a root span","type":["boolean","null"]},"log_id":{"const":"g","description":"A literal 'g' which identifies the log as a project log","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"properties":{"model":{"description":"The model used for this example","type":["string","null"]}},"type":"object"},{"type":"null"}]},"metrics":{"anyOf":[{"additionalProperties":{"type":"number"},"properties":{"caller_filename":{"description":"This metric is deprecated"},"caller_functionname":{"description":"This metric is deprecated"},"caller_lineno":{"description":"This metric is deprecated"},"completion_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"end":{"description":"A unix timestamp recording when the section of code which produced the project logs event finished","type":["number","null"]},"prompt_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"start":{"description":"A unix timestamp recording when the section of code which produced the project logs event started","type":["number","null"]},"tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"org_id":{"description":"Unique id for the organization that the project belongs under","format":"uuid","type":"string"},"origin":{"anyOf":[{"description":"Reference to the original object and event this was copied from.","properties":{"_xact_id":{"description":"Transaction ID of the original event.","type":["string","null"]},"created":{"description":"Created timestamp of the original event. Used to help sort in the UI","type":["string","null"]},"id":{"description":"ID of the original event.","type":"string"},"object_id":{"description":"ID of the object the event is originating from.","format":"uuid","type":"string"},"object_type":{"description":"Type of the object the event is originating from.","enum":["project_logs","experiment","dataset","prompt","function","prompt_session"],"type":"string"}},"required":["object_type","object_id","id"],"type":"object"},{"type":"null"}]},"output":{"description":"The output of your application, including post-processing (an arbitrary, JSON serializable object), that allows you to determine whether the result is correct or not. For example, in an app that generates SQL queries, the `output` should be the _result_ of the SQL query generated by the model, not the query itself, because there may be multiple valid queries that answer a single question."},"project_id":{"description":"Unique identifier for the project","format":"uuid","type":"string"},"root_span_id":{"description":"A unique identifier for the trace this project logs event belongs to","type":"string"},"scores":{"anyOf":[{"additionalProperties":{"anyOf":[{"maximum":1,"minimum":0,"type":"number"},{"type":"null"}]},"properties":{},"type":"object"},{"type":"null"}]},"span_attributes":{"anyOf":[{"additionalProperties":{},"description":"Human-identifying attributes of the span, such as name, type, etc.","properties":{"name":{"description":"Name of the span, for display purposes only","type":["string","null"]},"purpose":{"anyOf":[{"enum":["scorer"],"type":"string"},{"type":"null"}]},"type":{"anyOf":[{"enum":["llm","score","function","eval","task","tool","automation","facet","preprocessor","classifier","review"],"type":"string"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"span_id":{"description":"A unique identifier used to link different project logs events together as part of a full trace. See the [tracing guide](https://www.braintrust.dev/docs/instrument) for full details on tracing","type":"string"},"span_parents":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]},"tags":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]}}}},"realtime_state":{"type":"on","minimum_xact_id":"1000197783589884487","read_bytes":0,"actual_xact_id":"1000197783589884487"},"freshness_state":{"last_processed_xact_id":"1000197783589884487","last_considered_xact_id":"1000197783589884487"},"warnings":[]} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-3ab061030d80.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-5c166c476473.json similarity index 70% rename from test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-3ab061030d80.json rename to test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-5c166c476473.json index 8d31181d..5fea9795 100644 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-3ab061030d80.json +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-5c166c476473.json @@ -1 +1 @@ -{"data":[{"_async_scoring_state":null,"_pagination_key":"p07659835926102147072","_xact_id":"1000197472073610520","audit_data":[{"_xact_id":"1000197472073610520","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":null,"created":"2026-07-07T17:15:22.193Z","error":null,"expected":null,"facets":null,"id":"7dcb4028b22fa331","input":null,"is_root":true,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","client":"openai"},"metrics":{"end":1783444523.4170897,"start":1783444522.193472},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":null,"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"3180e785623eb389395664ee29927e47","scores":null,"span_attributes":{"name":"attachments","type":"task"},"span_id":"7dcb4028b22fa331","span_parents":null,"tags":null},{"_async_scoring_state":null,"_pagination_key":"p07659835926102147077","_xact_id":"1000197472073610520","audit_data":[{"_xact_id":"1000197472073610520","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":null,"created":"2026-07-07T17:15:22.207Z","error":null,"expected":null,"facets":null,"id":"dd405442ac837f1d","input":[{"content":"you are a helpful assistant","role":"system"},{"content":[{"text":"Briefly describe these attachments","type":"text"},{"image_url":{"url":{"content_type":"image/png","filename":"attachment.png","key":"fe9efa58-be88-434a-a86f-e65d55dfffe5","type":"braintrust_attachment"}},"type":"image_url"},{"file":{"file_data":{"content_type":"application/pdf","filename":"attachment.pdf","key":"3536d515-94d9-41e4-95de-66b89e800878","type":"braintrust_attachment"},"filename":"blank.pdf"},"type":"file"}],"role":"user"}],"is_root":false,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","model":"gpt-4o","provider":"openai","request_base_uri":"http://localhost:63169","request_method":"POST","request_path":"chat/completions"},"metrics":{"completion_tokens":37,"end":1783444523.4157646,"estimated_cost":0.0016075,"prompt_cached_tokens":0,"prompt_tokens":495,"start":1783444522.2075746,"tokens":532},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":[{"finish_reason":"stop","index":0,"logprobs":null,"message":{"annotations":[],"content":"The attachments include:\n\n1. **Image**: A solid red square.\n2. **PDF (blank.pdf)**: The document appears to be blank with no readable content or images.","refusal":null,"role":"assistant"}}],"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"3180e785623eb389395664ee29927e47","scores":null,"span_attributes":{"name":"Chat Completion","type":"llm"},"span_id":"dd405442ac837f1d","span_parents":["7dcb4028b22fa331"],"tags":null}],"schema":{"type":"array","items":{"type":"object","properties":{"_async_scoring_state":{},"_pagination_key":{"description":"A stable, time-ordered key that can be used to paginate over project logs events. This field is auto-generated by Braintrust and only exists in Brainstore.","type":["string","null"]},"_xact_id":{"description":"The transaction id of an event is unique to the network operation that processed the event insertion. Transaction ids are monotonically increasing over time and can be used to retrieve a versioned snapshot of the project logs (see the `version` parameter)","type":"string"},"audit_data":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"classifications":{"anyOf":[{"additionalProperties":{"items":{"additionalProperties":false,"properties":{"confidence":{"description":"Optional confidence score for the classification","type":["number","null"]},"id":{"description":"Stable classification identifier","type":"string"},"label":{"description":"Original label of the classification item, which is useful for search and indexing purposes","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"type":"object"},{"type":"null"}],"description":"Optional metadata associated with the classification"},"source":{"anyOf":[{"anyOf":[{"additionalProperties":false,"properties":{"id":{"type":"string"},"type":{"const":"function","type":"string"},"version":{"description":"The version of the function","type":"string"}},"required":["type","id"],"type":"object"},{"additionalProperties":false,"properties":{"function_type":{"default":"scorer","description":"The type of global function. Defaults to 'scorer'.","enum":["llm","scorer","task","tool","custom_view","preprocessor","facet","classifier","tag","parameters","sandbox"],"type":"string"},"name":{"type":"string"},"type":{"const":"global","type":"string"}},"required":["type","name"],"type":"object"}]},{"type":"null"}],"description":"Optional function identifier that produced the classification"}},"required":["id"],"type":"object"},"type":"array"},"properties":{},"type":"object"},{"type":"null"}]},"comments":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"context":{"anyOf":[{"additionalProperties":{},"properties":{"caller_filename":{"description":"Name of the file in code where the project logs event was created","type":["string","null"]},"caller_functionname":{"description":"The function in code which created the project logs event","type":["string","null"]},"caller_lineno":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"created":{"description":"The timestamp the project logs event was created","format":"date-time","type":"string"},"error":{"description":"The error that occurred, if any."},"expected":{"description":"The ground truth value (an arbitrary, JSON serializable object) that you'd compare to `output` to determine if your `output` value is correct or not. Braintrust currently does not compare `output` to `expected` for you, since there are so many different ways to do that correctly. Instead, these values are just used to help you navigate while digging into analyses. However, we may later use these values to re-score outputs or fine-tune your models."},"facets":{"anyOf":[{"additionalProperties":{"type":["string","null"]},"properties":{},"type":"object"},{"type":"null"}]},"id":{"description":"A unique identifier for the project logs event. If you don't provide one, Braintrust will generate one for you","type":"string"},"input":{"description":"The arguments that uniquely define a user input (an arbitrary, JSON serializable object)."},"is_root":{"description":"Whether this span is a root span","type":["boolean","null"]},"log_id":{"const":"g","description":"A literal 'g' which identifies the log as a project log","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"properties":{"model":{"description":"The model used for this example","type":["string","null"]}},"type":"object"},{"type":"null"}]},"metrics":{"anyOf":[{"additionalProperties":{"type":"number"},"properties":{"caller_filename":{"description":"This metric is deprecated"},"caller_functionname":{"description":"This metric is deprecated"},"caller_lineno":{"description":"This metric is deprecated"},"completion_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"end":{"description":"A unix timestamp recording when the section of code which produced the project logs event finished","type":["number","null"]},"prompt_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"start":{"description":"A unix timestamp recording when the section of code which produced the project logs event started","type":["number","null"]},"tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"org_id":{"description":"Unique id for the organization that the project belongs under","format":"uuid","type":"string"},"origin":{"anyOf":[{"description":"Reference to the original object and event this was copied from.","properties":{"_xact_id":{"description":"Transaction ID of the original event.","type":["string","null"]},"created":{"description":"Created timestamp of the original event. Used to help sort in the UI","type":["string","null"]},"id":{"description":"ID of the original event.","type":"string"},"object_id":{"description":"ID of the object the event is originating from.","format":"uuid","type":"string"},"object_type":{"description":"Type of the object the event is originating from.","enum":["project_logs","experiment","dataset","prompt","function","prompt_session"],"type":"string"}},"required":["object_type","object_id","id"],"type":"object"},{"type":"null"}]},"output":{"description":"The output of your application, including post-processing (an arbitrary, JSON serializable object), that allows you to determine whether the result is correct or not. For example, in an app that generates SQL queries, the `output` should be the _result_ of the SQL query generated by the model, not the query itself, because there may be multiple valid queries that answer a single question."},"project_id":{"description":"Unique identifier for the project","format":"uuid","type":"string"},"root_span_id":{"description":"A unique identifier for the trace this project logs event belongs to","type":"string"},"scores":{"anyOf":[{"additionalProperties":{"anyOf":[{"maximum":1,"minimum":0,"type":"number"},{"type":"null"}]},"properties":{},"type":"object"},{"type":"null"}]},"span_attributes":{"anyOf":[{"additionalProperties":{},"description":"Human-identifying attributes of the span, such as name, type, etc.","properties":{"name":{"description":"Name of the span, for display purposes only","type":["string","null"]},"purpose":{"anyOf":[{"enum":["scorer"],"type":"string"},{"type":"null"}]},"type":{"anyOf":[{"enum":["llm","score","function","eval","task","tool","automation","facet","preprocessor","classifier","review"],"type":"string"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"span_id":{"description":"A unique identifier used to link different project logs events together as part of a full trace. See the [tracing guide](https://www.braintrust.dev/docs/instrument) for full details on tracing","type":"string"},"span_parents":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]},"tags":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]}}}},"realtime_state":{"type":"on","minimum_xact_id":"1000197472073890576","read_bytes":4909,"actual_xact_id":"1000197472074645319"},"freshness_state":{"last_processed_xact_id":"1000197472074645319","last_considered_xact_id":"1000197472074645319"},"warnings":[]} \ No newline at end of file +{"data":[{"_async_scoring_state":null,"_pagination_key":"p07680251121458085897","_xact_id":"1000197783584770126","audit_data":[{"_xact_id":"1000197783584770126","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":{"span_origin":{"instrumentation":{"name":"braintrust-java"},"name":"braintrust.sdk.java","version":"0.3.22-ca5ce6d-DIRTY"}},"created":"2026-08-31T17:36:47.077Z","error":null,"expected":null,"facets":null,"id":"3f27262c31e51d69","input":null,"is_root":true,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","client":"openai"},"metrics":{"end":1788197809.6161046,"start":1788197807.077494},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":null,"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"35749b8a55a0864106d2c815fdf661ae","scores":null,"span_attributes":{"name":"streaming","type":"task"},"span_id":"3f27262c31e51d69","span_parents":null,"tags":null},{"_async_scoring_state":null,"_pagination_key":"p07680251121458085890","_xact_id":"1000197783584770126","audit_data":[{"_xact_id":"1000197783584770126","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":{"span_origin":{"instrumentation":{"name":"braintrust-java"},"name":"braintrust.sdk.java","version":"0.3.22-ca5ce6d-DIRTY"}},"created":"2026-08-31T17:36:47.312Z","error":null,"expected":null,"facets":null,"id":"10f3064f1102619c","input":[{"content":"you are a thoughtful assistant","role":"system"},{"content":"Count from 1 to 10 slowly.","role":"user"}],"is_root":false,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","max_tokens":800,"model":"gpt-4o-mini","provider":"openai","request_base_uri":"http://localhost:52408","request_method":"POST","request_path":"chat/completions","response_id":"chatcmpl-EJ0E4nNdRpVkkxMrP2X2hhfbpxODg","stream":true,"stream_options":{"include_usage":true},"temperature":0,"x-request-id":"req_799ea895dd5440ccab1491658af9ef28"},"metrics":{"completion_reasoning_tokens":0,"completion_tokens":40,"end":1788197809.6159475,"estimated_cost":0.00002775,"prompt_cached_tokens":0,"prompt_tokens":25,"start":1788197807.3125591,"time_to_first_token":0.007648125,"tokens":65},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":[{"finish_reason":"stop","index":0,"logprobs":null,"message":{"content":"Sure! Here we go:\n\n1... \n2... \n3... \n4... \n5... \n6... \n7... \n8... \n9... \n10... \n\nTake your time!","refusal":null,"role":"assistant","tool_calls":[]}}],"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"35749b8a55a0864106d2c815fdf661ae","scores":null,"span_attributes":{"name":"Chat Completion","type":"llm"},"span_id":"10f3064f1102619c","span_parents":["3f27262c31e51d69"],"tags":null}],"schema":{"type":"array","items":{"type":"object","properties":{"_async_scoring_state":{},"_pagination_key":{"description":"A stable, time-ordered key that can be used to paginate over project logs events. This field is auto-generated by Braintrust and only exists in Brainstore.","type":["string","null"]},"_xact_id":{"description":"The transaction id of an event is unique to the network operation that processed the event insertion. Transaction ids are monotonically increasing over time and can be used to retrieve a versioned snapshot of the project logs (see the `version` parameter)","type":"string"},"audit_data":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"classifications":{"anyOf":[{"additionalProperties":{"items":{"additionalProperties":false,"properties":{"confidence":{"description":"Optional confidence score for the classification","type":["number","null"]},"id":{"description":"Stable classification identifier","type":"string"},"label":{"description":"Original label of the classification item, which is useful for search and indexing purposes","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"type":"object"},{"type":"null"}],"description":"Optional metadata associated with the classification"},"source":{"anyOf":[{"anyOf":[{"additionalProperties":false,"properties":{"id":{"type":"string"},"type":{"const":"function","type":"string"},"version":{"description":"The version of the function","type":"string"}},"required":["type","id"],"type":"object"},{"additionalProperties":false,"properties":{"function_type":{"default":"scorer","description":"The type of global function. Defaults to 'scorer'.","enum":["llm","scorer","task","tool","custom_view","preprocessor","facet","classifier","tag","parameters","sandbox"],"type":"string"},"name":{"type":"string"},"type":{"const":"global","type":"string"}},"required":["type","name"],"type":"object"}]},{"type":"null"}],"description":"Optional function identifier that produced the classification"}},"required":["id"],"type":"object"},"type":"array"},"properties":{},"type":"object"},{"type":"null"}]},"comments":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"context":{"anyOf":[{"additionalProperties":{},"properties":{"caller_filename":{"description":"Name of the file in code where the project logs event was created","type":["string","null"]},"caller_functionname":{"description":"The function in code which created the project logs event","type":["string","null"]},"caller_lineno":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"created":{"description":"The timestamp the project logs event was created","format":"date-time","type":"string"},"error":{"description":"The error that occurred, if any."},"expected":{"description":"The ground truth value (an arbitrary, JSON serializable object) that you'd compare to `output` to determine if your `output` value is correct or not. Braintrust currently does not compare `output` to `expected` for you, since there are so many different ways to do that correctly. Instead, these values are just used to help you navigate while digging into analyses. However, we may later use these values to re-score outputs or fine-tune your models."},"facets":{"anyOf":[{"additionalProperties":{"type":["string","null"]},"properties":{},"type":"object"},{"type":"null"}]},"id":{"description":"A unique identifier for the project logs event. If you don't provide one, Braintrust will generate one for you","type":"string"},"input":{"description":"The arguments that uniquely define a user input (an arbitrary, JSON serializable object)."},"is_root":{"description":"Whether this span is a root span","type":["boolean","null"]},"log_id":{"const":"g","description":"A literal 'g' which identifies the log as a project log","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"properties":{"model":{"description":"The model used for this example","type":["string","null"]}},"type":"object"},{"type":"null"}]},"metrics":{"anyOf":[{"additionalProperties":{"type":"number"},"properties":{"caller_filename":{"description":"This metric is deprecated"},"caller_functionname":{"description":"This metric is deprecated"},"caller_lineno":{"description":"This metric is deprecated"},"completion_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"end":{"description":"A unix timestamp recording when the section of code which produced the project logs event finished","type":["number","null"]},"prompt_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"start":{"description":"A unix timestamp recording when the section of code which produced the project logs event started","type":["number","null"]},"tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"org_id":{"description":"Unique id for the organization that the project belongs under","format":"uuid","type":"string"},"origin":{"anyOf":[{"description":"Reference to the original object and event this was copied from.","properties":{"_xact_id":{"description":"Transaction ID of the original event.","type":["string","null"]},"created":{"description":"Created timestamp of the original event. Used to help sort in the UI","type":["string","null"]},"id":{"description":"ID of the original event.","type":"string"},"object_id":{"description":"ID of the object the event is originating from.","format":"uuid","type":"string"},"object_type":{"description":"Type of the object the event is originating from.","enum":["project_logs","experiment","dataset","prompt","function","prompt_session"],"type":"string"}},"required":["object_type","object_id","id"],"type":"object"},{"type":"null"}]},"output":{"description":"The output of your application, including post-processing (an arbitrary, JSON serializable object), that allows you to determine whether the result is correct or not. For example, in an app that generates SQL queries, the `output` should be the _result_ of the SQL query generated by the model, not the query itself, because there may be multiple valid queries that answer a single question."},"project_id":{"description":"Unique identifier for the project","format":"uuid","type":"string"},"root_span_id":{"description":"A unique identifier for the trace this project logs event belongs to","type":"string"},"scores":{"anyOf":[{"additionalProperties":{"anyOf":[{"maximum":1,"minimum":0,"type":"number"},{"type":"null"}]},"properties":{},"type":"object"},{"type":"null"}]},"span_attributes":{"anyOf":[{"additionalProperties":{},"description":"Human-identifying attributes of the span, such as name, type, etc.","properties":{"name":{"description":"Name of the span, for display purposes only","type":["string","null"]},"purpose":{"anyOf":[{"enum":["scorer"],"type":"string"},{"type":"null"}]},"type":{"anyOf":[{"enum":["llm","score","function","eval","task","tool","automation","facet","preprocessor","classifier","review"],"type":"string"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"span_id":{"description":"A unique identifier used to link different project logs events together as part of a full trace. See the [tracing guide](https://www.braintrust.dev/docs/instrument) for full details on tracing","type":"string"},"span_parents":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]},"tags":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]}}}},"realtime_state":{"type":"on","minimum_xact_id":"1000197783589884487","read_bytes":0,"actual_xact_id":"1000197783589884487"},"freshness_state":{"last_processed_xact_id":"1000197783589884487","last_considered_xact_id":"1000197783589884487"},"warnings":[]} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-e4c15f68b541.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-6035346467b9.json similarity index 70% rename from test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-e4c15f68b541.json rename to test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-6035346467b9.json index 1c48fd1c..25bbf8a0 100644 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-e4c15f68b541.json +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-6035346467b9.json @@ -1 +1 @@ -{"data":[{"_async_scoring_state":null,"_pagination_key":"p07659835804562489346","_xact_id":"1000197472071755972","audit_data":[{"_xact_id":"1000197472071755972","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":null,"created":"2026-07-07T17:14:55.997Z","error":null,"expected":null,"facets":null,"id":"5b383006bab84ffa","input":null,"is_root":true,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","client":"springai-openai"},"metrics":{"end":1783444496.8014736,"start":1783444495.997934},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":null,"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"c31556a56343507b10f26c862652f91d","scores":null,"span_attributes":{"name":"tools","type":"task"},"span_id":"5b383006bab84ffa","span_parents":null,"tags":null},{"_async_scoring_state":null,"_pagination_key":"p07659835804562489353","_xact_id":"1000197472071755972","audit_data":[{"_xact_id":"1000197472071755972","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":null,"created":"2026-07-07T17:14:56.014Z","error":null,"expected":null,"facets":null,"id":"2386324e2b45ec80","input":[{"content":"What is the weather like in Paris, France?","role":"user"}],"is_root":false,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","model":"gpt-4o","provider":"openai","request_base_uri":"http://localhost:63169","request_method":"POST","request_path":"chat/completions"},"metrics":{"completion_tokens":16,"end":1783444496.7927375,"estimated_cost":0.0003725,"prompt_cached_tokens":0,"prompt_tokens":85,"start":1783444496.0149634,"tokens":101},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":[{"finish_reason":"tool_calls","index":0,"logprobs":null,"message":{"annotations":[],"content":null,"refusal":null,"role":"assistant","tool_calls":[{"function":{"arguments":"{\"location\":\"Paris, France\"}","name":"get_weather"},"id":"call_YPPx0Xg3JkOiapkSrnwtjsIZ","type":"function"}]}}],"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"c31556a56343507b10f26c862652f91d","scores":null,"span_attributes":{"name":"Chat Completion","type":"llm"},"span_id":"2386324e2b45ec80","span_parents":["5b383006bab84ffa"],"tags":null}],"schema":{"type":"array","items":{"type":"object","properties":{"_async_scoring_state":{},"_pagination_key":{"description":"A stable, time-ordered key that can be used to paginate over project logs events. This field is auto-generated by Braintrust and only exists in Brainstore.","type":["string","null"]},"_xact_id":{"description":"The transaction id of an event is unique to the network operation that processed the event insertion. Transaction ids are monotonically increasing over time and can be used to retrieve a versioned snapshot of the project logs (see the `version` parameter)","type":"string"},"audit_data":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"classifications":{"anyOf":[{"additionalProperties":{"items":{"additionalProperties":false,"properties":{"confidence":{"description":"Optional confidence score for the classification","type":["number","null"]},"id":{"description":"Stable classification identifier","type":"string"},"label":{"description":"Original label of the classification item, which is useful for search and indexing purposes","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"type":"object"},{"type":"null"}],"description":"Optional metadata associated with the classification"},"source":{"anyOf":[{"anyOf":[{"additionalProperties":false,"properties":{"id":{"type":"string"},"type":{"const":"function","type":"string"},"version":{"description":"The version of the function","type":"string"}},"required":["type","id"],"type":"object"},{"additionalProperties":false,"properties":{"function_type":{"default":"scorer","description":"The type of global function. Defaults to 'scorer'.","enum":["llm","scorer","task","tool","custom_view","preprocessor","facet","classifier","tag","parameters","sandbox"],"type":"string"},"name":{"type":"string"},"type":{"const":"global","type":"string"}},"required":["type","name"],"type":"object"}]},{"type":"null"}],"description":"Optional function identifier that produced the classification"}},"required":["id"],"type":"object"},"type":"array"},"properties":{},"type":"object"},{"type":"null"}]},"comments":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"context":{"anyOf":[{"additionalProperties":{},"properties":{"caller_filename":{"description":"Name of the file in code where the project logs event was created","type":["string","null"]},"caller_functionname":{"description":"The function in code which created the project logs event","type":["string","null"]},"caller_lineno":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"created":{"description":"The timestamp the project logs event was created","format":"date-time","type":"string"},"error":{"description":"The error that occurred, if any."},"expected":{"description":"The ground truth value (an arbitrary, JSON serializable object) that you'd compare to `output` to determine if your `output` value is correct or not. Braintrust currently does not compare `output` to `expected` for you, since there are so many different ways to do that correctly. Instead, these values are just used to help you navigate while digging into analyses. However, we may later use these values to re-score outputs or fine-tune your models."},"facets":{"anyOf":[{"additionalProperties":{"type":["string","null"]},"properties":{},"type":"object"},{"type":"null"}]},"id":{"description":"A unique identifier for the project logs event. If you don't provide one, Braintrust will generate one for you","type":"string"},"input":{"description":"The arguments that uniquely define a user input (an arbitrary, JSON serializable object)."},"is_root":{"description":"Whether this span is a root span","type":["boolean","null"]},"log_id":{"const":"g","description":"A literal 'g' which identifies the log as a project log","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"properties":{"model":{"description":"The model used for this example","type":["string","null"]}},"type":"object"},{"type":"null"}]},"metrics":{"anyOf":[{"additionalProperties":{"type":"number"},"properties":{"caller_filename":{"description":"This metric is deprecated"},"caller_functionname":{"description":"This metric is deprecated"},"caller_lineno":{"description":"This metric is deprecated"},"completion_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"end":{"description":"A unix timestamp recording when the section of code which produced the project logs event finished","type":["number","null"]},"prompt_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"start":{"description":"A unix timestamp recording when the section of code which produced the project logs event started","type":["number","null"]},"tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"org_id":{"description":"Unique id for the organization that the project belongs under","format":"uuid","type":"string"},"origin":{"anyOf":[{"description":"Reference to the original object and event this was copied from.","properties":{"_xact_id":{"description":"Transaction ID of the original event.","type":["string","null"]},"created":{"description":"Created timestamp of the original event. Used to help sort in the UI","type":["string","null"]},"id":{"description":"ID of the original event.","type":"string"},"object_id":{"description":"ID of the object the event is originating from.","format":"uuid","type":"string"},"object_type":{"description":"Type of the object the event is originating from.","enum":["project_logs","experiment","dataset","prompt","function","prompt_session"],"type":"string"}},"required":["object_type","object_id","id"],"type":"object"},{"type":"null"}]},"output":{"description":"The output of your application, including post-processing (an arbitrary, JSON serializable object), that allows you to determine whether the result is correct or not. For example, in an app that generates SQL queries, the `output` should be the _result_ of the SQL query generated by the model, not the query itself, because there may be multiple valid queries that answer a single question."},"project_id":{"description":"Unique identifier for the project","format":"uuid","type":"string"},"root_span_id":{"description":"A unique identifier for the trace this project logs event belongs to","type":"string"},"scores":{"anyOf":[{"additionalProperties":{"anyOf":[{"maximum":1,"minimum":0,"type":"number"},{"type":"null"}]},"properties":{},"type":"object"},{"type":"null"}]},"span_attributes":{"anyOf":[{"additionalProperties":{},"description":"Human-identifying attributes of the span, such as name, type, etc.","properties":{"name":{"description":"Name of the span, for display purposes only","type":["string","null"]},"purpose":{"anyOf":[{"enum":["scorer"],"type":"string"},{"type":"null"}]},"type":{"anyOf":[{"enum":["llm","score","function","eval","task","tool","automation","facet","preprocessor","classifier","review"],"type":"string"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"span_id":{"description":"A unique identifier used to link different project logs events together as part of a full trace. See the [tracing guide](https://www.braintrust.dev/docs/instrument) for full details on tracing","type":"string"},"span_parents":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]},"tags":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]}}}},"realtime_state":{"type":"on","minimum_xact_id":"1000197472074645319","read_bytes":0,"actual_xact_id":"1000197472074645319"},"freshness_state":{"last_processed_xact_id":"1000197472074645319","last_considered_xact_id":"1000197472074645319"},"warnings":[]} \ No newline at end of file +{"data":[{"_async_scoring_state":null,"_pagination_key":"p07680251263181783062","_xact_id":"1000197783586932658","audit_data":[{"_xact_id":"1000197783586932658","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":{"span_origin":{"instrumentation":{"name":"braintrust-java"},"name":"braintrust.sdk.java","version":"0.3.22-ca5ce6d-DIRTY"}},"created":"2026-08-31T17:37:10.717Z","error":null,"expected":null,"facets":null,"id":"d879fe7424bce2df","input":null,"is_root":true,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","client":"springai2-openai"},"metrics":{"end":1788197840.6833398,"start":1788197830.717483},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":null,"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"841a1a6424421ee99cda6fbe10edd7be","scores":null,"span_attributes":{"name":"reasoning_completions","type":"task"},"span_id":"d879fe7424bce2df","span_parents":null,"tags":null},{"_async_scoring_state":null,"_pagination_key":"p07680251263181783047","_xact_id":"1000197783586932658","audit_data":[{"_xact_id":"1000197783586932658","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":{"span_origin":{"instrumentation":{"name":"braintrust-java"},"name":"braintrust.sdk.java","version":"0.3.22-ca5ce6d-DIRTY"}},"created":"2026-08-31T17:37:10.719Z","error":null,"expected":null,"facets":null,"id":"7a78110c18fbc6f0","input":[{"content":"Look at this sequence: 2, 6, 12, 20, 30. What is the pattern and what would be the formula for the nth term?\n","role":"user"}],"is_root":false,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","model":"o4-mini","provider":"openai","reasoning_effort":"medium","request_base_uri":"http://localhost:52408","request_method":"POST","request_path":"chat/completions","response_id":"chatcmpl-EJ0ERSVknSPeCPgBkUY4RLjd9q0iJ","x-request-id":"req_98b5c7942be64564b02bea7c7eb7bb47"},"metrics":{"completion_reasoning_tokens":768,"completion_tokens":942,"end":1788197840.682438,"estimated_cost":0.004189900000000001,"prompt_cached_tokens":0,"prompt_tokens":41,"start":1788197830.719473,"tokens":983},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":[{"finish_reason":"stop","index":0,"message":{"annotations":[],"content":"The numbers 2, 6, 12, 20, 30,… are the “pronic” (or oblong) numbers: each term is the product of two consecutive integers. In fact if you label them so that \n a₁=2, a₂=6, a₃=12… \nthen \n aₙ = n·(n+1). \n\nCheck: \nn=1 → 1·2 =2 \nn=2 → 2·3 =6 \nn=3 → 3·4 =12 \nn=4 → 4·5 =20 \nn=5 → 5·6 =30 \n\nEquivalently aₙ = n² + n.","refusal":null,"role":"assistant"}}],"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"841a1a6424421ee99cda6fbe10edd7be","scores":null,"span_attributes":{"name":"Chat Completion","type":"llm"},"span_id":"7a78110c18fbc6f0","span_parents":["d879fe7424bce2df"],"tags":null}],"schema":{"type":"array","items":{"type":"object","properties":{"_async_scoring_state":{},"_pagination_key":{"description":"A stable, time-ordered key that can be used to paginate over project logs events. This field is auto-generated by Braintrust and only exists in Brainstore.","type":["string","null"]},"_xact_id":{"description":"The transaction id of an event is unique to the network operation that processed the event insertion. Transaction ids are monotonically increasing over time and can be used to retrieve a versioned snapshot of the project logs (see the `version` parameter)","type":"string"},"audit_data":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"classifications":{"anyOf":[{"additionalProperties":{"items":{"additionalProperties":false,"properties":{"confidence":{"description":"Optional confidence score for the classification","type":["number","null"]},"id":{"description":"Stable classification identifier","type":"string"},"label":{"description":"Original label of the classification item, which is useful for search and indexing purposes","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"type":"object"},{"type":"null"}],"description":"Optional metadata associated with the classification"},"source":{"anyOf":[{"anyOf":[{"additionalProperties":false,"properties":{"id":{"type":"string"},"type":{"const":"function","type":"string"},"version":{"description":"The version of the function","type":"string"}},"required":["type","id"],"type":"object"},{"additionalProperties":false,"properties":{"function_type":{"default":"scorer","description":"The type of global function. Defaults to 'scorer'.","enum":["llm","scorer","task","tool","custom_view","preprocessor","facet","classifier","tag","parameters","sandbox"],"type":"string"},"name":{"type":"string"},"type":{"const":"global","type":"string"}},"required":["type","name"],"type":"object"}]},{"type":"null"}],"description":"Optional function identifier that produced the classification"}},"required":["id"],"type":"object"},"type":"array"},"properties":{},"type":"object"},{"type":"null"}]},"comments":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"context":{"anyOf":[{"additionalProperties":{},"properties":{"caller_filename":{"description":"Name of the file in code where the project logs event was created","type":["string","null"]},"caller_functionname":{"description":"The function in code which created the project logs event","type":["string","null"]},"caller_lineno":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"created":{"description":"The timestamp the project logs event was created","format":"date-time","type":"string"},"error":{"description":"The error that occurred, if any."},"expected":{"description":"The ground truth value (an arbitrary, JSON serializable object) that you'd compare to `output` to determine if your `output` value is correct or not. Braintrust currently does not compare `output` to `expected` for you, since there are so many different ways to do that correctly. Instead, these values are just used to help you navigate while digging into analyses. However, we may later use these values to re-score outputs or fine-tune your models."},"facets":{"anyOf":[{"additionalProperties":{"type":["string","null"]},"properties":{},"type":"object"},{"type":"null"}]},"id":{"description":"A unique identifier for the project logs event. If you don't provide one, Braintrust will generate one for you","type":"string"},"input":{"description":"The arguments that uniquely define a user input (an arbitrary, JSON serializable object)."},"is_root":{"description":"Whether this span is a root span","type":["boolean","null"]},"log_id":{"const":"g","description":"A literal 'g' which identifies the log as a project log","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"properties":{"model":{"description":"The model used for this example","type":["string","null"]}},"type":"object"},{"type":"null"}]},"metrics":{"anyOf":[{"additionalProperties":{"type":"number"},"properties":{"caller_filename":{"description":"This metric is deprecated"},"caller_functionname":{"description":"This metric is deprecated"},"caller_lineno":{"description":"This metric is deprecated"},"completion_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"end":{"description":"A unix timestamp recording when the section of code which produced the project logs event finished","type":["number","null"]},"prompt_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"start":{"description":"A unix timestamp recording when the section of code which produced the project logs event started","type":["number","null"]},"tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"org_id":{"description":"Unique id for the organization that the project belongs under","format":"uuid","type":"string"},"origin":{"anyOf":[{"description":"Reference to the original object and event this was copied from.","properties":{"_xact_id":{"description":"Transaction ID of the original event.","type":["string","null"]},"created":{"description":"Created timestamp of the original event. Used to help sort in the UI","type":["string","null"]},"id":{"description":"ID of the original event.","type":"string"},"object_id":{"description":"ID of the object the event is originating from.","format":"uuid","type":"string"},"object_type":{"description":"Type of the object the event is originating from.","enum":["project_logs","experiment","dataset","prompt","function","prompt_session"],"type":"string"}},"required":["object_type","object_id","id"],"type":"object"},{"type":"null"}]},"output":{"description":"The output of your application, including post-processing (an arbitrary, JSON serializable object), that allows you to determine whether the result is correct or not. For example, in an app that generates SQL queries, the `output` should be the _result_ of the SQL query generated by the model, not the query itself, because there may be multiple valid queries that answer a single question."},"project_id":{"description":"Unique identifier for the project","format":"uuid","type":"string"},"root_span_id":{"description":"A unique identifier for the trace this project logs event belongs to","type":"string"},"scores":{"anyOf":[{"additionalProperties":{"anyOf":[{"maximum":1,"minimum":0,"type":"number"},{"type":"null"}]},"properties":{},"type":"object"},{"type":"null"}]},"span_attributes":{"anyOf":[{"additionalProperties":{},"description":"Human-identifying attributes of the span, such as name, type, etc.","properties":{"name":{"description":"Name of the span, for display purposes only","type":["string","null"]},"purpose":{"anyOf":[{"enum":["scorer"],"type":"string"},{"type":"null"}]},"type":{"anyOf":[{"enum":["llm","score","function","eval","task","tool","automation","facet","preprocessor","classifier","review"],"type":"string"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"span_id":{"description":"A unique identifier used to link different project logs events together as part of a full trace. See the [tracing guide](https://www.braintrust.dev/docs/instrument) for full details on tracing","type":"string"},"span_parents":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]},"tags":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]}}}},"realtime_state":{"type":"on","minimum_xact_id":"1000197783589884487","read_bytes":0,"actual_xact_id":"1000197783589884487"},"freshness_state":{"last_processed_xact_id":"1000197783589884487","last_considered_xact_id":"1000197783589884487"},"warnings":[]} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-66565a616681.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-66565a616681.json new file mode 100644 index 00000000..717fc0da --- /dev/null +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-66565a616681.json @@ -0,0 +1 @@ +{"data":[{"_async_scoring_state":null,"_pagination_key":"p07680251121458085895","_xact_id":"1000197783584770126","audit_data":[{"_xact_id":"1000197783584770126","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":{"span_origin":{"instrumentation":{"name":"braintrust-java"},"name":"braintrust.sdk.java","version":"0.3.22-ca5ce6d-DIRTY"}},"created":"2026-08-31T17:36:47.077Z","error":null,"expected":null,"facets":null,"id":"0a4f803c2a614de5","input":null,"is_root":true,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","client":"langchain1.8-openai"},"metrics":{"end":1788197808.8567643,"start":1788197807.077491},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":null,"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"0a29674f4f56fecfc2e832fe414a698e","scores":null,"span_attributes":{"name":"tools","type":"task"},"span_id":"0a4f803c2a614de5","span_parents":null,"tags":null},{"_async_scoring_state":null,"_pagination_key":"p07680251121458085888","_xact_id":"1000197783584770126","audit_data":[{"_xact_id":"1000197783584770126","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":{"span_origin":{"instrumentation":{"name":"braintrust-java"},"name":"braintrust.sdk.java","version":"0.3.22-ca5ce6d-DIRTY"}},"created":"2026-08-31T17:36:47.173Z","error":null,"expected":null,"facets":null,"id":"ae89ec8d384cc888","input":[{"content":"What is the weather like in Paris, France?","role":"user"}],"is_root":false,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","max_tokens":500,"model":"gpt-4o","provider":"openai","request_base_uri":"http://localhost:52408","request_method":"POST","request_path":"chat/completions","response_id":"chatcmpl-EJ0E4s5kukGZxKwvhLhS2dco4Le8T","stream":false,"temperature":0,"tools":[{"function":{"description":"Get the current weather for a location","name":"get_weather","parameters":{"properties":{"location":{"description":"The city and state, e.g. San Francisco, CA","type":"string"},"unit":{"description":"The unit of temperature","enum":["celsius","fahrenheit"],"type":"string"}},"required":["location"],"type":"object"}},"type":"function"}],"x-request-id":"req_22a4699c26ba47ef8d7123f2a4f50603"},"metrics":{"completion_reasoning_tokens":0,"completion_tokens":16,"end":1788197808.843397,"estimated_cost":0.0003725,"prompt_cached_tokens":0,"prompt_tokens":85,"start":1788197807.1739433,"tokens":101},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":[{"finish_reason":"tool_calls","index":0,"logprobs":null,"message":{"annotations":[],"content":null,"refusal":null,"role":"assistant","tool_calls":[{"function":{"arguments":"{\"location\":\"Paris, France\"}","name":"get_weather"},"id":"call_ZmZrFmTa4XFzmSglMlpEFxiK","type":"function"}]}}],"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"0a29674f4f56fecfc2e832fe414a698e","scores":null,"span_attributes":{"name":"Chat Completion","type":"llm"},"span_id":"ae89ec8d384cc888","span_parents":["0a4f803c2a614de5"],"tags":null}],"schema":{"type":"array","items":{"type":"object","properties":{"_async_scoring_state":{},"_pagination_key":{"description":"A stable, time-ordered key that can be used to paginate over project logs events. This field is auto-generated by Braintrust and only exists in Brainstore.","type":["string","null"]},"_xact_id":{"description":"The transaction id of an event is unique to the network operation that processed the event insertion. Transaction ids are monotonically increasing over time and can be used to retrieve a versioned snapshot of the project logs (see the `version` parameter)","type":"string"},"audit_data":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"classifications":{"anyOf":[{"additionalProperties":{"items":{"additionalProperties":false,"properties":{"confidence":{"description":"Optional confidence score for the classification","type":["number","null"]},"id":{"description":"Stable classification identifier","type":"string"},"label":{"description":"Original label of the classification item, which is useful for search and indexing purposes","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"type":"object"},{"type":"null"}],"description":"Optional metadata associated with the classification"},"source":{"anyOf":[{"anyOf":[{"additionalProperties":false,"properties":{"id":{"type":"string"},"type":{"const":"function","type":"string"},"version":{"description":"The version of the function","type":"string"}},"required":["type","id"],"type":"object"},{"additionalProperties":false,"properties":{"function_type":{"default":"scorer","description":"The type of global function. Defaults to 'scorer'.","enum":["llm","scorer","task","tool","custom_view","preprocessor","facet","classifier","tag","parameters","sandbox"],"type":"string"},"name":{"type":"string"},"type":{"const":"global","type":"string"}},"required":["type","name"],"type":"object"}]},{"type":"null"}],"description":"Optional function identifier that produced the classification"}},"required":["id"],"type":"object"},"type":"array"},"properties":{},"type":"object"},{"type":"null"}]},"comments":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"context":{"anyOf":[{"additionalProperties":{},"properties":{"caller_filename":{"description":"Name of the file in code where the project logs event was created","type":["string","null"]},"caller_functionname":{"description":"The function in code which created the project logs event","type":["string","null"]},"caller_lineno":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"created":{"description":"The timestamp the project logs event was created","format":"date-time","type":"string"},"error":{"description":"The error that occurred, if any."},"expected":{"description":"The ground truth value (an arbitrary, JSON serializable object) that you'd compare to `output` to determine if your `output` value is correct or not. Braintrust currently does not compare `output` to `expected` for you, since there are so many different ways to do that correctly. Instead, these values are just used to help you navigate while digging into analyses. However, we may later use these values to re-score outputs or fine-tune your models."},"facets":{"anyOf":[{"additionalProperties":{"type":["string","null"]},"properties":{},"type":"object"},{"type":"null"}]},"id":{"description":"A unique identifier for the project logs event. If you don't provide one, Braintrust will generate one for you","type":"string"},"input":{"description":"The arguments that uniquely define a user input (an arbitrary, JSON serializable object)."},"is_root":{"description":"Whether this span is a root span","type":["boolean","null"]},"log_id":{"const":"g","description":"A literal 'g' which identifies the log as a project log","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"properties":{"model":{"description":"The model used for this example","type":["string","null"]}},"type":"object"},{"type":"null"}]},"metrics":{"anyOf":[{"additionalProperties":{"type":"number"},"properties":{"caller_filename":{"description":"This metric is deprecated"},"caller_functionname":{"description":"This metric is deprecated"},"caller_lineno":{"description":"This metric is deprecated"},"completion_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"end":{"description":"A unix timestamp recording when the section of code which produced the project logs event finished","type":["number","null"]},"prompt_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"start":{"description":"A unix timestamp recording when the section of code which produced the project logs event started","type":["number","null"]},"tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"org_id":{"description":"Unique id for the organization that the project belongs under","format":"uuid","type":"string"},"origin":{"anyOf":[{"description":"Reference to the original object and event this was copied from.","properties":{"_xact_id":{"description":"Transaction ID of the original event.","type":["string","null"]},"created":{"description":"Created timestamp of the original event. Used to help sort in the UI","type":["string","null"]},"id":{"description":"ID of the original event.","type":"string"},"object_id":{"description":"ID of the object the event is originating from.","format":"uuid","type":"string"},"object_type":{"description":"Type of the object the event is originating from.","enum":["project_logs","experiment","dataset","prompt","function","prompt_session"],"type":"string"}},"required":["object_type","object_id","id"],"type":"object"},{"type":"null"}]},"output":{"description":"The output of your application, including post-processing (an arbitrary, JSON serializable object), that allows you to determine whether the result is correct or not. For example, in an app that generates SQL queries, the `output` should be the _result_ of the SQL query generated by the model, not the query itself, because there may be multiple valid queries that answer a single question."},"project_id":{"description":"Unique identifier for the project","format":"uuid","type":"string"},"root_span_id":{"description":"A unique identifier for the trace this project logs event belongs to","type":"string"},"scores":{"anyOf":[{"additionalProperties":{"anyOf":[{"maximum":1,"minimum":0,"type":"number"},{"type":"null"}]},"properties":{},"type":"object"},{"type":"null"}]},"span_attributes":{"anyOf":[{"additionalProperties":{},"description":"Human-identifying attributes of the span, such as name, type, etc.","properties":{"name":{"description":"Name of the span, for display purposes only","type":["string","null"]},"purpose":{"anyOf":[{"enum":["scorer"],"type":"string"},{"type":"null"}]},"type":{"anyOf":[{"enum":["llm","score","function","eval","task","tool","automation","facet","preprocessor","classifier","review"],"type":"string"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"span_id":{"description":"A unique identifier used to link different project logs events together as part of a full trace. See the [tracing guide](https://www.braintrust.dev/docs/instrument) for full details on tracing","type":"string"},"span_parents":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]},"tags":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]}}}},"realtime_state":{"type":"on","minimum_xact_id":"1000197783589884487","read_bytes":0,"actual_xact_id":"1000197783589884487"},"freshness_state":{"last_processed_xact_id":"1000197783589884487","last_considered_xact_id":"1000197783589884487"},"warnings":[]} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-67d7f8507c92.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-67d7f8507c92.json new file mode 100644 index 00000000..59188c8e --- /dev/null +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-67d7f8507c92.json @@ -0,0 +1 @@ +{"data":[{"_async_scoring_state":null,"_pagination_key":"p07680251263181783064","_xact_id":"1000197783586932658","audit_data":[{"_xact_id":"1000197783586932658","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":{"span_origin":{"instrumentation":{"name":"braintrust-java"},"name":"braintrust.sdk.java","version":"0.3.22-ca5ce6d-DIRTY"}},"created":"2026-08-31T17:37:20.185Z","error":null,"expected":null,"facets":null,"id":"e88312ff0381cf14","input":null,"is_root":true,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","client":"anthropic"},"metrics":{"end":1788197840.8812249,"start":1788197840.185502},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":null,"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"a7f40f13c51c478688d2891a2ecb5994","scores":null,"span_attributes":{"name":"messages","type":"task"},"span_id":"e88312ff0381cf14","span_parents":null,"tags":null},{"_async_scoring_state":null,"_pagination_key":"p07680251263181783049","_xact_id":"1000197783586932658","audit_data":[{"_xact_id":"1000197783586932658","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":{"span_origin":{"instrumentation":{"name":"braintrust-java"},"name":"braintrust.sdk.java","version":"0.3.22-ca5ce6d-DIRTY"}},"created":"2026-08-31T17:37:20.193Z","error":null,"expected":null,"facets":null,"id":"4573051b2a580e56","input":[{"content":"What is the capital of France?","role":"user"},{"content":"You are a helpful assistant.","role":"system"}],"is_root":false,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","max_tokens":128,"model":"claude-haiku-4-5-20251001","provider":"anthropic","request-id":"req_011CebESCtcEAExSTQWnCNG3","request_base_uri":"","request_method":"POST","request_path":"v1/messages","response_id":"msg_011CebESDKQWd9oh1mkEkKGn","temperature":0},"metrics":{"completion_tokens":10,"end":1788197840.880952,"estimated_cost":0.00007000000000000001,"prompt_cache_creation_1h_tokens":0,"prompt_cache_creation_5m_tokens":0,"prompt_cached_tokens":0,"prompt_tokens":20,"start":1788197840.193185,"tokens":30},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":{"content":[{"text":"The capital of France is Paris.","type":"text"}],"id":"msg_011CebESDKQWd9oh1mkEkKGn","model":"claude-haiku-4-5-20251001","role":"assistant","stop_details":null,"stop_reason":"end_turn","stop_sequence":null,"type":"message","usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":0},"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"inference_geo":"not_available","input_tokens":20,"output_tokens":10,"service_tier":"standard"}},"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"a7f40f13c51c478688d2891a2ecb5994","scores":null,"span_attributes":{"name":"anthropic.messages.create","type":"llm"},"span_id":"4573051b2a580e56","span_parents":["e88312ff0381cf14"],"tags":null}],"schema":{"type":"array","items":{"type":"object","properties":{"_async_scoring_state":{},"_pagination_key":{"description":"A stable, time-ordered key that can be used to paginate over project logs events. This field is auto-generated by Braintrust and only exists in Brainstore.","type":["string","null"]},"_xact_id":{"description":"The transaction id of an event is unique to the network operation that processed the event insertion. Transaction ids are monotonically increasing over time and can be used to retrieve a versioned snapshot of the project logs (see the `version` parameter)","type":"string"},"audit_data":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"classifications":{"anyOf":[{"additionalProperties":{"items":{"additionalProperties":false,"properties":{"confidence":{"description":"Optional confidence score for the classification","type":["number","null"]},"id":{"description":"Stable classification identifier","type":"string"},"label":{"description":"Original label of the classification item, which is useful for search and indexing purposes","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"type":"object"},{"type":"null"}],"description":"Optional metadata associated with the classification"},"source":{"anyOf":[{"anyOf":[{"additionalProperties":false,"properties":{"id":{"type":"string"},"type":{"const":"function","type":"string"},"version":{"description":"The version of the function","type":"string"}},"required":["type","id"],"type":"object"},{"additionalProperties":false,"properties":{"function_type":{"default":"scorer","description":"The type of global function. Defaults to 'scorer'.","enum":["llm","scorer","task","tool","custom_view","preprocessor","facet","classifier","tag","parameters","sandbox"],"type":"string"},"name":{"type":"string"},"type":{"const":"global","type":"string"}},"required":["type","name"],"type":"object"}]},{"type":"null"}],"description":"Optional function identifier that produced the classification"}},"required":["id"],"type":"object"},"type":"array"},"properties":{},"type":"object"},{"type":"null"}]},"comments":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"context":{"anyOf":[{"additionalProperties":{},"properties":{"caller_filename":{"description":"Name of the file in code where the project logs event was created","type":["string","null"]},"caller_functionname":{"description":"The function in code which created the project logs event","type":["string","null"]},"caller_lineno":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"created":{"description":"The timestamp the project logs event was created","format":"date-time","type":"string"},"error":{"description":"The error that occurred, if any."},"expected":{"description":"The ground truth value (an arbitrary, JSON serializable object) that you'd compare to `output` to determine if your `output` value is correct or not. Braintrust currently does not compare `output` to `expected` for you, since there are so many different ways to do that correctly. Instead, these values are just used to help you navigate while digging into analyses. However, we may later use these values to re-score outputs or fine-tune your models."},"facets":{"anyOf":[{"additionalProperties":{"type":["string","null"]},"properties":{},"type":"object"},{"type":"null"}]},"id":{"description":"A unique identifier for the project logs event. If you don't provide one, Braintrust will generate one for you","type":"string"},"input":{"description":"The arguments that uniquely define a user input (an arbitrary, JSON serializable object)."},"is_root":{"description":"Whether this span is a root span","type":["boolean","null"]},"log_id":{"const":"g","description":"A literal 'g' which identifies the log as a project log","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"properties":{"model":{"description":"The model used for this example","type":["string","null"]}},"type":"object"},{"type":"null"}]},"metrics":{"anyOf":[{"additionalProperties":{"type":"number"},"properties":{"caller_filename":{"description":"This metric is deprecated"},"caller_functionname":{"description":"This metric is deprecated"},"caller_lineno":{"description":"This metric is deprecated"},"completion_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"end":{"description":"A unix timestamp recording when the section of code which produced the project logs event finished","type":["number","null"]},"prompt_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"start":{"description":"A unix timestamp recording when the section of code which produced the project logs event started","type":["number","null"]},"tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"org_id":{"description":"Unique id for the organization that the project belongs under","format":"uuid","type":"string"},"origin":{"anyOf":[{"description":"Reference to the original object and event this was copied from.","properties":{"_xact_id":{"description":"Transaction ID of the original event.","type":["string","null"]},"created":{"description":"Created timestamp of the original event. Used to help sort in the UI","type":["string","null"]},"id":{"description":"ID of the original event.","type":"string"},"object_id":{"description":"ID of the object the event is originating from.","format":"uuid","type":"string"},"object_type":{"description":"Type of the object the event is originating from.","enum":["project_logs","experiment","dataset","prompt","function","prompt_session"],"type":"string"}},"required":["object_type","object_id","id"],"type":"object"},{"type":"null"}]},"output":{"description":"The output of your application, including post-processing (an arbitrary, JSON serializable object), that allows you to determine whether the result is correct or not. For example, in an app that generates SQL queries, the `output` should be the _result_ of the SQL query generated by the model, not the query itself, because there may be multiple valid queries that answer a single question."},"project_id":{"description":"Unique identifier for the project","format":"uuid","type":"string"},"root_span_id":{"description":"A unique identifier for the trace this project logs event belongs to","type":"string"},"scores":{"anyOf":[{"additionalProperties":{"anyOf":[{"maximum":1,"minimum":0,"type":"number"},{"type":"null"}]},"properties":{},"type":"object"},{"type":"null"}]},"span_attributes":{"anyOf":[{"additionalProperties":{},"description":"Human-identifying attributes of the span, such as name, type, etc.","properties":{"name":{"description":"Name of the span, for display purposes only","type":["string","null"]},"purpose":{"anyOf":[{"enum":["scorer"],"type":"string"},{"type":"null"}]},"type":{"anyOf":[{"enum":["llm","score","function","eval","task","tool","automation","facet","preprocessor","classifier","review"],"type":"string"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"span_id":{"description":"A unique identifier used to link different project logs events together as part of a full trace. See the [tracing guide](https://www.braintrust.dev/docs/instrument) for full details on tracing","type":"string"},"span_parents":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]},"tags":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]}}}},"realtime_state":{"type":"on","minimum_xact_id":"1000197783589161396","read_bytes":0,"actual_xact_id":"1000197783589161396"},"freshness_state":{"last_processed_xact_id":"1000197783589161396","last_considered_xact_id":"1000197783589161396"},"warnings":[]} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-68a934551d9c.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-68a934551d9c.json new file mode 100644 index 00000000..c49c9241 --- /dev/null +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-68a934551d9c.json @@ -0,0 +1 @@ +{"data":[{"_async_scoring_state":null,"_pagination_key":"p07680251263181783067","_xact_id":"1000197783586932658","audit_data":[{"_xact_id":"1000197783586932658","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":{"span_origin":{"instrumentation":{"name":"braintrust-java"},"name":"braintrust.sdk.java","version":"0.3.22-ca5ce6d-DIRTY"}},"created":"2026-08-31T17:37:21.491Z","error":null,"expected":null,"facets":null,"id":"5444ff4d598520ca","input":null,"is_root":true,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","client":"springai2-openai"},"metrics":{"end":1788197842.3771536,"start":1788197841.491162},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":null,"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"7c6bbab7a5ef8898e6e9e45c2c15e717","scores":null,"span_attributes":{"name":"streaming","type":"task"},"span_id":"5444ff4d598520ca","span_parents":null,"tags":null},{"_async_scoring_state":null,"_pagination_key":"p07680251263181783052","_xact_id":"1000197783586932658","audit_data":[{"_xact_id":"1000197783586932658","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":{"span_origin":{"instrumentation":{"name":"braintrust-java"},"name":"braintrust.sdk.java","version":"0.3.22-ca5ce6d-DIRTY"}},"created":"2026-08-31T17:37:21.492Z","error":null,"expected":null,"facets":null,"id":"69311dffa41a40f6","input":[{"content":"you are a thoughtful assistant","role":"system"},{"content":"Count from 1 to 10 slowly.","role":"user"}],"is_root":false,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","max_tokens":800,"model":"gpt-4o-mini","provider":"openai","request_base_uri":"http://localhost:52408","request_method":"POST","request_path":"chat/completions","response_id":"chatcmpl-EJ0Eba29v9GP4U7RIvViAezufPU31","stream":true,"stream_options":{"include_obfuscation":false,"include_usage":true},"temperature":0,"x-request-id":"req_857fd1fb280e4286be76f1506aa791c3"},"metrics":{"completion_reasoning_tokens":0,"completion_tokens":40,"end":1788197842.376953,"estimated_cost":0.00002775,"prompt_cached_tokens":0,"prompt_tokens":25,"start":1788197841.4926531,"time_to_first_token":0.001239541,"tokens":65},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":[{"finish_reason":"stop","index":0,"logprobs":null,"message":{"content":"Sure! Here we go:\n\n1... \n2... \n3... \n4... \n5... \n6... \n7... \n8... \n9... \n10... \n\nTake your time!","refusal":null,"role":"assistant","tool_calls":[]}}],"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"7c6bbab7a5ef8898e6e9e45c2c15e717","scores":null,"span_attributes":{"name":"Chat Completion","type":"llm"},"span_id":"69311dffa41a40f6","span_parents":["5444ff4d598520ca"],"tags":null}],"schema":{"type":"array","items":{"type":"object","properties":{"_async_scoring_state":{},"_pagination_key":{"description":"A stable, time-ordered key that can be used to paginate over project logs events. This field is auto-generated by Braintrust and only exists in Brainstore.","type":["string","null"]},"_xact_id":{"description":"The transaction id of an event is unique to the network operation that processed the event insertion. Transaction ids are monotonically increasing over time and can be used to retrieve a versioned snapshot of the project logs (see the `version` parameter)","type":"string"},"audit_data":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"classifications":{"anyOf":[{"additionalProperties":{"items":{"additionalProperties":false,"properties":{"confidence":{"description":"Optional confidence score for the classification","type":["number","null"]},"id":{"description":"Stable classification identifier","type":"string"},"label":{"description":"Original label of the classification item, which is useful for search and indexing purposes","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"type":"object"},{"type":"null"}],"description":"Optional metadata associated with the classification"},"source":{"anyOf":[{"anyOf":[{"additionalProperties":false,"properties":{"id":{"type":"string"},"type":{"const":"function","type":"string"},"version":{"description":"The version of the function","type":"string"}},"required":["type","id"],"type":"object"},{"additionalProperties":false,"properties":{"function_type":{"default":"scorer","description":"The type of global function. Defaults to 'scorer'.","enum":["llm","scorer","task","tool","custom_view","preprocessor","facet","classifier","tag","parameters","sandbox"],"type":"string"},"name":{"type":"string"},"type":{"const":"global","type":"string"}},"required":["type","name"],"type":"object"}]},{"type":"null"}],"description":"Optional function identifier that produced the classification"}},"required":["id"],"type":"object"},"type":"array"},"properties":{},"type":"object"},{"type":"null"}]},"comments":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"context":{"anyOf":[{"additionalProperties":{},"properties":{"caller_filename":{"description":"Name of the file in code where the project logs event was created","type":["string","null"]},"caller_functionname":{"description":"The function in code which created the project logs event","type":["string","null"]},"caller_lineno":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"created":{"description":"The timestamp the project logs event was created","format":"date-time","type":"string"},"error":{"description":"The error that occurred, if any."},"expected":{"description":"The ground truth value (an arbitrary, JSON serializable object) that you'd compare to `output` to determine if your `output` value is correct or not. Braintrust currently does not compare `output` to `expected` for you, since there are so many different ways to do that correctly. Instead, these values are just used to help you navigate while digging into analyses. However, we may later use these values to re-score outputs or fine-tune your models."},"facets":{"anyOf":[{"additionalProperties":{"type":["string","null"]},"properties":{},"type":"object"},{"type":"null"}]},"id":{"description":"A unique identifier for the project logs event. If you don't provide one, Braintrust will generate one for you","type":"string"},"input":{"description":"The arguments that uniquely define a user input (an arbitrary, JSON serializable object)."},"is_root":{"description":"Whether this span is a root span","type":["boolean","null"]},"log_id":{"const":"g","description":"A literal 'g' which identifies the log as a project log","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"properties":{"model":{"description":"The model used for this example","type":["string","null"]}},"type":"object"},{"type":"null"}]},"metrics":{"anyOf":[{"additionalProperties":{"type":"number"},"properties":{"caller_filename":{"description":"This metric is deprecated"},"caller_functionname":{"description":"This metric is deprecated"},"caller_lineno":{"description":"This metric is deprecated"},"completion_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"end":{"description":"A unix timestamp recording when the section of code which produced the project logs event finished","type":["number","null"]},"prompt_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"start":{"description":"A unix timestamp recording when the section of code which produced the project logs event started","type":["number","null"]},"tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"org_id":{"description":"Unique id for the organization that the project belongs under","format":"uuid","type":"string"},"origin":{"anyOf":[{"description":"Reference to the original object and event this was copied from.","properties":{"_xact_id":{"description":"Transaction ID of the original event.","type":["string","null"]},"created":{"description":"Created timestamp of the original event. Used to help sort in the UI","type":["string","null"]},"id":{"description":"ID of the original event.","type":"string"},"object_id":{"description":"ID of the object the event is originating from.","format":"uuid","type":"string"},"object_type":{"description":"Type of the object the event is originating from.","enum":["project_logs","experiment","dataset","prompt","function","prompt_session"],"type":"string"}},"required":["object_type","object_id","id"],"type":"object"},{"type":"null"}]},"output":{"description":"The output of your application, including post-processing (an arbitrary, JSON serializable object), that allows you to determine whether the result is correct or not. For example, in an app that generates SQL queries, the `output` should be the _result_ of the SQL query generated by the model, not the query itself, because there may be multiple valid queries that answer a single question."},"project_id":{"description":"Unique identifier for the project","format":"uuid","type":"string"},"root_span_id":{"description":"A unique identifier for the trace this project logs event belongs to","type":"string"},"scores":{"anyOf":[{"additionalProperties":{"anyOf":[{"maximum":1,"minimum":0,"type":"number"},{"type":"null"}]},"properties":{},"type":"object"},{"type":"null"}]},"span_attributes":{"anyOf":[{"additionalProperties":{},"description":"Human-identifying attributes of the span, such as name, type, etc.","properties":{"name":{"description":"Name of the span, for display purposes only","type":["string","null"]},"purpose":{"anyOf":[{"enum":["scorer"],"type":"string"},{"type":"null"}]},"type":{"anyOf":[{"enum":["llm","score","function","eval","task","tool","automation","facet","preprocessor","classifier","review"],"type":"string"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"span_id":{"description":"A unique identifier used to link different project logs events together as part of a full trace. See the [tracing guide](https://www.braintrust.dev/docs/instrument) for full details on tracing","type":"string"},"span_parents":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]},"tags":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]}}}},"realtime_state":{"type":"on","minimum_xact_id":"1000197783589884487","read_bytes":0,"actual_xact_id":"1000197783589884487"},"freshness_state":{"last_processed_xact_id":"1000197783589884487","last_considered_xact_id":"1000197783589884487"},"warnings":[]} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-6acac93b0b31.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-6acac93b0b31.json deleted file mode 100644 index 5a879a07..00000000 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-6acac93b0b31.json +++ /dev/null @@ -1 +0,0 @@ -{"data":[{"_async_scoring_state":null,"_pagination_key":"p07659835876496441345","_xact_id":"1000197472072853597","audit_data":[{"_xact_id":"1000197472072853597","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":null,"created":"2026-07-07T17:15:12.424Z","error":null,"expected":null,"facets":null,"id":"968fd672df742eb9","input":null,"is_root":true,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","client":"springai-anthropic"},"metrics":{"end":1783444513.2528336,"start":1783444512.424194},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":null,"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"ad02c2989f0698359922a88d6ce6715a","scores":null,"span_attributes":{"name":"messages","type":"task"},"span_id":"968fd672df742eb9","span_parents":null,"tags":null},{"_async_scoring_state":null,"_pagination_key":"p07659835876496441348","_xact_id":"1000197472072853597","audit_data":[{"_xact_id":"1000197472072853597","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":null,"created":"2026-07-07T17:15:12.439Z","error":null,"expected":null,"facets":null,"id":"88b574a8850bd6c1","input":[{"content":"What is the capital of France?","role":"user"},{"content":"You are a helpful assistant.","role":"system"}],"is_root":false,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","model":"claude-haiku-4-5-20251001","provider":"anthropic","request_base_uri":"http://localhost:63165","request_method":"POST","request_path":"v1/messages"},"metrics":{"completion_tokens":10,"end":1783444513.2446938,"estimated_cost":0.00007000000000000001,"prompt_cache_creation_1h_tokens":0,"prompt_cache_creation_5m_tokens":0,"prompt_cached_tokens":0,"prompt_tokens":20,"start":1783444512.439795,"tokens":30},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":{"content":[{"text":"The capital of France is Paris.","type":"text"}],"id":"msg_011Cco5FyMJWcjfhdyGQyvL2","model":"claude-haiku-4-5-20251001","role":"assistant","stop_details":null,"stop_reason":"end_turn","stop_sequence":null,"type":"message","usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":0},"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"inference_geo":"not_available","input_tokens":20,"output_tokens":10,"service_tier":"standard"}},"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"ad02c2989f0698359922a88d6ce6715a","scores":null,"span_attributes":{"name":"anthropic.messages.create","type":"llm"},"span_id":"88b574a8850bd6c1","span_parents":["968fd672df742eb9"],"tags":null}],"schema":{"type":"array","items":{"type":"object","properties":{"_async_scoring_state":{},"_pagination_key":{"description":"A stable, time-ordered key that can be used to paginate over project logs events. This field is auto-generated by Braintrust and only exists in Brainstore.","type":["string","null"]},"_xact_id":{"description":"The transaction id of an event is unique to the network operation that processed the event insertion. Transaction ids are monotonically increasing over time and can be used to retrieve a versioned snapshot of the project logs (see the `version` parameter)","type":"string"},"audit_data":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"classifications":{"anyOf":[{"additionalProperties":{"items":{"additionalProperties":false,"properties":{"confidence":{"description":"Optional confidence score for the classification","type":["number","null"]},"id":{"description":"Stable classification identifier","type":"string"},"label":{"description":"Original label of the classification item, which is useful for search and indexing purposes","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"type":"object"},{"type":"null"}],"description":"Optional metadata associated with the classification"},"source":{"anyOf":[{"anyOf":[{"additionalProperties":false,"properties":{"id":{"type":"string"},"type":{"const":"function","type":"string"},"version":{"description":"The version of the function","type":"string"}},"required":["type","id"],"type":"object"},{"additionalProperties":false,"properties":{"function_type":{"default":"scorer","description":"The type of global function. Defaults to 'scorer'.","enum":["llm","scorer","task","tool","custom_view","preprocessor","facet","classifier","tag","parameters","sandbox"],"type":"string"},"name":{"type":"string"},"type":{"const":"global","type":"string"}},"required":["type","name"],"type":"object"}]},{"type":"null"}],"description":"Optional function identifier that produced the classification"}},"required":["id"],"type":"object"},"type":"array"},"properties":{},"type":"object"},{"type":"null"}]},"comments":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"context":{"anyOf":[{"additionalProperties":{},"properties":{"caller_filename":{"description":"Name of the file in code where the project logs event was created","type":["string","null"]},"caller_functionname":{"description":"The function in code which created the project logs event","type":["string","null"]},"caller_lineno":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"created":{"description":"The timestamp the project logs event was created","format":"date-time","type":"string"},"error":{"description":"The error that occurred, if any."},"expected":{"description":"The ground truth value (an arbitrary, JSON serializable object) that you'd compare to `output` to determine if your `output` value is correct or not. Braintrust currently does not compare `output` to `expected` for you, since there are so many different ways to do that correctly. Instead, these values are just used to help you navigate while digging into analyses. However, we may later use these values to re-score outputs or fine-tune your models."},"facets":{"anyOf":[{"additionalProperties":{"type":["string","null"]},"properties":{},"type":"object"},{"type":"null"}]},"id":{"description":"A unique identifier for the project logs event. If you don't provide one, Braintrust will generate one for you","type":"string"},"input":{"description":"The arguments that uniquely define a user input (an arbitrary, JSON serializable object)."},"is_root":{"description":"Whether this span is a root span","type":["boolean","null"]},"log_id":{"const":"g","description":"A literal 'g' which identifies the log as a project log","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"properties":{"model":{"description":"The model used for this example","type":["string","null"]}},"type":"object"},{"type":"null"}]},"metrics":{"anyOf":[{"additionalProperties":{"type":"number"},"properties":{"caller_filename":{"description":"This metric is deprecated"},"caller_functionname":{"description":"This metric is deprecated"},"caller_lineno":{"description":"This metric is deprecated"},"completion_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"end":{"description":"A unix timestamp recording when the section of code which produced the project logs event finished","type":["number","null"]},"prompt_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"start":{"description":"A unix timestamp recording when the section of code which produced the project logs event started","type":["number","null"]},"tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"org_id":{"description":"Unique id for the organization that the project belongs under","format":"uuid","type":"string"},"origin":{"anyOf":[{"description":"Reference to the original object and event this was copied from.","properties":{"_xact_id":{"description":"Transaction ID of the original event.","type":["string","null"]},"created":{"description":"Created timestamp of the original event. Used to help sort in the UI","type":["string","null"]},"id":{"description":"ID of the original event.","type":"string"},"object_id":{"description":"ID of the object the event is originating from.","format":"uuid","type":"string"},"object_type":{"description":"Type of the object the event is originating from.","enum":["project_logs","experiment","dataset","prompt","function","prompt_session"],"type":"string"}},"required":["object_type","object_id","id"],"type":"object"},{"type":"null"}]},"output":{"description":"The output of your application, including post-processing (an arbitrary, JSON serializable object), that allows you to determine whether the result is correct or not. For example, in an app that generates SQL queries, the `output` should be the _result_ of the SQL query generated by the model, not the query itself, because there may be multiple valid queries that answer a single question."},"project_id":{"description":"Unique identifier for the project","format":"uuid","type":"string"},"root_span_id":{"description":"A unique identifier for the trace this project logs event belongs to","type":"string"},"scores":{"anyOf":[{"additionalProperties":{"anyOf":[{"maximum":1,"minimum":0,"type":"number"},{"type":"null"}]},"properties":{},"type":"object"},{"type":"null"}]},"span_attributes":{"anyOf":[{"additionalProperties":{},"description":"Human-identifying attributes of the span, such as name, type, etc.","properties":{"name":{"description":"Name of the span, for display purposes only","type":["string","null"]},"purpose":{"anyOf":[{"enum":["scorer"],"type":"string"},{"type":"null"}]},"type":{"anyOf":[{"enum":["llm","score","function","eval","task","tool","automation","facet","preprocessor","classifier","review"],"type":"string"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"span_id":{"description":"A unique identifier used to link different project logs events together as part of a full trace. See the [tracing guide](https://www.braintrust.dev/docs/instrument) for full details on tracing","type":"string"},"span_parents":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]},"tags":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]}}}},"realtime_state":{"type":"on","minimum_xact_id":"1000197472073890576","read_bytes":0,"actual_xact_id":"1000197472073890576"},"freshness_state":{"last_processed_xact_id":"1000197472073890576","last_considered_xact_id":"1000197472073890576"},"warnings":[]} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-729686f4b73a.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-729686f4b73a.json index 80bdf1db..720f8648 100644 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-729686f4b73a.json +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-729686f4b73a.json @@ -1 +1 @@ -{"data":[{"count":1,"version":"1000197155625133059"}],"schema":{"type":"array","items":{"type":"object","properties":{"version":{"description":"The transaction id of an event is unique to the network operation that processed the event insertion. Transaction ids are monotonically increasing over time and can be used to retrieve a versioned snapshot of the dataset (see the `version` parameter)","type":"string"},"count":{"type":"integer"}}}},"realtime_state":{"type":"on","minimum_xact_id":"1000197155625133059","read_bytes":0,"actual_xact_id":"1000197155625133059"},"freshness_state":{"last_processed_xact_id":"1000197155625133059","last_considered_xact_id":"1000197155625133059"},"warnings":[{"code":"missingSegmentEliminationSpecs","message":"No filters available for segment elimination. Add a range filter on created, _xact_id, or _pagination_key, or scope to a specific root_span_id or id.","stage":"optimizer","severity":"warning"}]} \ No newline at end of file +{"data":[{"count":1,"version":"1000197155625133059"}],"schema":{"type":"array","items":{"type":"object","properties":{"version":{"description":"The transaction id of an event is unique to the network operation that processed the event insertion. Transaction ids are monotonically increasing over time and can be used to retrieve a versioned snapshot of the dataset (see the `version` parameter)","type":"string"},"count":{"type":"integer"}}}},"realtime_state":{"type":"on","minimum_xact_id":"1000197155625133059","read_bytes":0,"actual_xact_id":"1000197155625133059"},"freshness_state":{"last_processed_xact_id":"1000197155625133059","last_considered_xact_id":"1000197155625133059"},"warnings":[]} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-76fefb636a2b.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-76fefb636a2b.json deleted file mode 100644 index 30b9169e..00000000 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-76fefb636a2b.json +++ /dev/null @@ -1 +0,0 @@ -{"data":[{"_async_scoring_state":null,"_pagination_key":"p07659835944455897088","_xact_id":"1000197472073890576","audit_data":[{"_xact_id":"1000197472073890576","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":null,"created":"2026-07-07T17:14:56.027Z","error":null,"expected":null,"facets":null,"id":"bebb4b2f07244906","input":null,"is_root":true,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","client":"openai"},"metrics":{"end":1783444532.969832,"start":1783444496.027265},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":null,"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"2eb2b807604a07599221b5e0e592347f","scores":null,"span_attributes":{"name":"reasoning","type":"task"},"span_id":"bebb4b2f07244906","span_parents":null,"tags":null},{"_async_scoring_state":null,"_pagination_key":"p07659835926102147076","_xact_id":"1000197472073610520","audit_data":[{"_xact_id":"1000197472073610520","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":null,"created":"2026-07-07T17:14:56.077Z","error":null,"expected":null,"facets":null,"id":"292016d70e5d63ef","input":[{"content":"Look at this sequence: 2, 6, 12, 20, 30. What is the pattern and what would be the formula for the nth term?\n","role":"user"}],"is_root":false,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","model":"o4-mini","provider":"openai","request_base_uri":"http://localhost:63169","request_method":"POST","request_path":"responses"},"metrics":{"completion_reasoning_tokens":326,"completion_tokens":326,"end":1783444522.7630904,"estimated_cost":0.0025058000000000003,"prompt_cached_tokens":0,"prompt_tokens":974,"start":1783444496.0770934,"tokens":1300},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":[{"content":[],"id":"rs_08a462d4f86dbfbb006a4d3411dce08199bfea223c8f6868be","summary":[{"text":"**Analyzing the sequence**\n\nThe user is asking about the sequence 2, 6, 12, 20, 30, and I'm thinking this resembles pronic numbers, which are defined as n(n+1). So, I can see that each term fits this pattern: for example, 2=1*2, 6=2*3, and so on. I realize that if I consider indexing from n=1, the formula is a_n = n(n+1). It turns out the pattern involves multiplying two consecutive integers, confirming this quadratic relationship!","type":"summary_text"},{"text":"**Explaining pronic numbers**\n\nI'm solving for the formula a_n = n^2 + n, which indicates we're dealing with pronic numbers, as this represents the pattern a_n = n(n+1). The differences between the terms are increasing by 2, starting from 4. So, if n starts at 1, the nth term is simply a_n = n(n+1). \n\nAlternatively, for zero indexing, I could say a_n = n(n-1) for n≥2. Additionally, each term is the sum of the first n even numbers. So overall, the final answer is that the pattern is pronic numbers, with the formula a_n = n(n+1) or equivalently n^2 + n.","type":"summary_text"},{"text":"**Summarizing pronic numbers**\n\nI'm working with the formula a_n = n^2 + n, identifying this as representing pronic numbers. The pattern involves multiplying consecutive integers, so a_n = n(n+1). For example, T_1 gives us 2, T_2 gives us 6, and so on.\n\nIf the user wants more detail, I can mention that the first differences between terms are 4, 6, 8, and 10, which increase by 2 each time. Overall, I’ll present both the pattern and the formula as: pronic numbers, a_n = n(n+1) or n^2 + n.","type":"summary_text"}],"type":"reasoning"},{"content":[{"annotations":[],"logprobs":[],"text":"Each term is the product of two consecutive integers:\n\n1·2 = 2 \n2·3 = 6 \n3·4 = 12 \n4·5 = 20 \n5·6 = 30 \n\nHence the n-th term (with n starting at 1) is \naₙ = n·(n + 1) = n² + n.","type":"output_text"}],"id":"msg_08a462d4f86dbfbb006a4d342a0b208199ac6daf4cb9b9363a","role":"assistant","status":"completed","type":"message"}],"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"2eb2b807604a07599221b5e0e592347f","scores":null,"span_attributes":{"name":"responses","type":"llm"},"span_id":"292016d70e5d63ef","span_parents":["bebb4b2f07244906"],"tags":null},{"_async_scoring_state":null,"_pagination_key":"p07659835944455897089","_xact_id":"1000197472073890576","audit_data":[{"_xact_id":"1000197472073890576","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":null,"created":"2026-07-07T17:15:22.790Z","error":null,"expected":null,"facets":null,"id":"abd97aefc09c36aa","input":[{"content":"Look at this sequence: 2, 6, 12, 20, 30. What is the pattern and what would be the formula for the nth term?\n","role":"user"},{"content":[],"id":"rs_08a462d4f86dbfbb006a4d3411dce08199bfea223c8f6868be","summary":[{"text":"**Analyzing the sequence**\n\nThe user is asking about the sequence 2, 6, 12, 20, 30, and I'm thinking this resembles pronic numbers, which are defined as n(n+1). So, I can see that each term fits this pattern: for example, 2=1*2, 6=2*3, and so on. I realize that if I consider indexing from n=1, the formula is a_n = n(n+1). It turns out the pattern involves multiplying two consecutive integers, confirming this quadratic relationship!","type":"summary_text"},{"text":"**Explaining pronic numbers**\n\nI'm solving for the formula a_n = n^2 + n, which indicates we're dealing with pronic numbers, as this represents the pattern a_n = n(n+1). The differences between the terms are increasing by 2, starting from 4. So, if n starts at 1, the nth term is simply a_n = n(n+1). \n\nAlternatively, for zero indexing, I could say a_n = n(n-1) for n≥2. Additionally, each term is the sum of the first n even numbers. So overall, the final answer is that the pattern is pronic numbers, with the formula a_n = n(n+1) or equivalently n^2 + n.","type":"summary_text"},{"text":"**Summarizing pronic numbers**\n\nI'm working with the formula a_n = n^2 + n, identifying this as representing pronic numbers. The pattern involves multiplying consecutive integers, so a_n = n(n+1). For example, T_1 gives us 2, T_2 gives us 6, and so on.\n\nIf the user wants more detail, I can mention that the first differences between terms are 4, 6, 8, and 10, which increase by 2 each time. Overall, I’ll present both the pattern and the formula as: pronic numbers, a_n = n(n+1) or n^2 + n.","type":"summary_text"}],"type":"reasoning"},{"content":[{"annotations":[],"logprobs":[],"text":"Each term is the product of two consecutive integers:\n\n1·2 = 2 \n2·3 = 6 \n3·4 = 12 \n4·5 = 20 \n5·6 = 30 \n\nHence the n-th term (with n starting at 1) is \naₙ = n·(n + 1) = n² + n.","type":"output_text"}],"id":"msg_08a462d4f86dbfbb006a4d342a0b208199ac6daf4cb9b9363a","role":"assistant","status":"completed","type":"message"},{"content":"Using the pattern you discovered, what would be the 10th term? And can you find the sum of the first 10 terms?","role":"user"}],"is_root":false,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","model":"o4-mini","provider":"openai","request_base_uri":"http://localhost:63169","request_method":"POST","request_path":"responses"},"metrics":{"completion_reasoning_tokens":384,"completion_tokens":582,"end":1783444532.9465687,"estimated_cost":0.0027335000000000003,"prompt_cached_tokens":0,"prompt_tokens":157,"start":1783444522.790899,"tokens":739},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":[{"content":[],"id":"rs_08a462d4f86dbfbb006a4d342b78d88199bbd214fd1c332352","summary":[],"type":"reasoning"},{"content":[{"annotations":[],"logprobs":[],"text":"The 10th term is \na₁₀ = 10·(10 + 1) = 10·11 = 110. \n\nThe sum of the first 10 terms is \n∑_{n=1}^{10} aₙ = ∑_{n=1}^{10} [n(n+1)] \n = ∑_{n=1}^{10} (n² + n) \n = (∑ n²) + (∑ n) \n = [10·11·21/6] + [10·11/2] \n = 385 + 55 \n = 440.","type":"output_text"}],"id":"msg_08a462d4f86dbfbb006a4d3433036c8199b4975c912b6a4c39","role":"assistant","status":"completed","type":"message"}],"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"2eb2b807604a07599221b5e0e592347f","scores":null,"span_attributes":{"name":"responses","type":"llm"},"span_id":"abd97aefc09c36aa","span_parents":["bebb4b2f07244906"],"tags":null}],"schema":{"type":"array","items":{"type":"object","properties":{"_async_scoring_state":{},"_pagination_key":{"description":"A stable, time-ordered key that can be used to paginate over project logs events. This field is auto-generated by Braintrust and only exists in Brainstore.","type":["string","null"]},"_xact_id":{"description":"The transaction id of an event is unique to the network operation that processed the event insertion. Transaction ids are monotonically increasing over time and can be used to retrieve a versioned snapshot of the project logs (see the `version` parameter)","type":"string"},"audit_data":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"classifications":{"anyOf":[{"additionalProperties":{"items":{"additionalProperties":false,"properties":{"confidence":{"description":"Optional confidence score for the classification","type":["number","null"]},"id":{"description":"Stable classification identifier","type":"string"},"label":{"description":"Original label of the classification item, which is useful for search and indexing purposes","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"type":"object"},{"type":"null"}],"description":"Optional metadata associated with the classification"},"source":{"anyOf":[{"anyOf":[{"additionalProperties":false,"properties":{"id":{"type":"string"},"type":{"const":"function","type":"string"},"version":{"description":"The version of the function","type":"string"}},"required":["type","id"],"type":"object"},{"additionalProperties":false,"properties":{"function_type":{"default":"scorer","description":"The type of global function. Defaults to 'scorer'.","enum":["llm","scorer","task","tool","custom_view","preprocessor","facet","classifier","tag","parameters","sandbox"],"type":"string"},"name":{"type":"string"},"type":{"const":"global","type":"string"}},"required":["type","name"],"type":"object"}]},{"type":"null"}],"description":"Optional function identifier that produced the classification"}},"required":["id"],"type":"object"},"type":"array"},"properties":{},"type":"object"},{"type":"null"}]},"comments":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"context":{"anyOf":[{"additionalProperties":{},"properties":{"caller_filename":{"description":"Name of the file in code where the project logs event was created","type":["string","null"]},"caller_functionname":{"description":"The function in code which created the project logs event","type":["string","null"]},"caller_lineno":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"created":{"description":"The timestamp the project logs event was created","format":"date-time","type":"string"},"error":{"description":"The error that occurred, if any."},"expected":{"description":"The ground truth value (an arbitrary, JSON serializable object) that you'd compare to `output` to determine if your `output` value is correct or not. Braintrust currently does not compare `output` to `expected` for you, since there are so many different ways to do that correctly. Instead, these values are just used to help you navigate while digging into analyses. However, we may later use these values to re-score outputs or fine-tune your models."},"facets":{"anyOf":[{"additionalProperties":{"type":["string","null"]},"properties":{},"type":"object"},{"type":"null"}]},"id":{"description":"A unique identifier for the project logs event. If you don't provide one, Braintrust will generate one for you","type":"string"},"input":{"description":"The arguments that uniquely define a user input (an arbitrary, JSON serializable object)."},"is_root":{"description":"Whether this span is a root span","type":["boolean","null"]},"log_id":{"const":"g","description":"A literal 'g' which identifies the log as a project log","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"properties":{"model":{"description":"The model used for this example","type":["string","null"]}},"type":"object"},{"type":"null"}]},"metrics":{"anyOf":[{"additionalProperties":{"type":"number"},"properties":{"caller_filename":{"description":"This metric is deprecated"},"caller_functionname":{"description":"This metric is deprecated"},"caller_lineno":{"description":"This metric is deprecated"},"completion_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"end":{"description":"A unix timestamp recording when the section of code which produced the project logs event finished","type":["number","null"]},"prompt_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"start":{"description":"A unix timestamp recording when the section of code which produced the project logs event started","type":["number","null"]},"tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"org_id":{"description":"Unique id for the organization that the project belongs under","format":"uuid","type":"string"},"origin":{"anyOf":[{"description":"Reference to the original object and event this was copied from.","properties":{"_xact_id":{"description":"Transaction ID of the original event.","type":["string","null"]},"created":{"description":"Created timestamp of the original event. Used to help sort in the UI","type":["string","null"]},"id":{"description":"ID of the original event.","type":"string"},"object_id":{"description":"ID of the object the event is originating from.","format":"uuid","type":"string"},"object_type":{"description":"Type of the object the event is originating from.","enum":["project_logs","experiment","dataset","prompt","function","prompt_session"],"type":"string"}},"required":["object_type","object_id","id"],"type":"object"},{"type":"null"}]},"output":{"description":"The output of your application, including post-processing (an arbitrary, JSON serializable object), that allows you to determine whether the result is correct or not. For example, in an app that generates SQL queries, the `output` should be the _result_ of the SQL query generated by the model, not the query itself, because there may be multiple valid queries that answer a single question."},"project_id":{"description":"Unique identifier for the project","format":"uuid","type":"string"},"root_span_id":{"description":"A unique identifier for the trace this project logs event belongs to","type":"string"},"scores":{"anyOf":[{"additionalProperties":{"anyOf":[{"maximum":1,"minimum":0,"type":"number"},{"type":"null"}]},"properties":{},"type":"object"},{"type":"null"}]},"span_attributes":{"anyOf":[{"additionalProperties":{},"description":"Human-identifying attributes of the span, such as name, type, etc.","properties":{"name":{"description":"Name of the span, for display purposes only","type":["string","null"]},"purpose":{"anyOf":[{"enum":["scorer"],"type":"string"},{"type":"null"}]},"type":{"anyOf":[{"enum":["llm","score","function","eval","task","tool","automation","facet","preprocessor","classifier","review"],"type":"string"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"span_id":{"description":"A unique identifier used to link different project logs events together as part of a full trace. See the [tracing guide](https://www.braintrust.dev/docs/instrument) for full details on tracing","type":"string"},"span_parents":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]},"tags":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]}}}},"realtime_state":{"type":"on","minimum_xact_id":"1000197472074645319","read_bytes":0,"actual_xact_id":"1000197472074645319"},"freshness_state":{"last_processed_xact_id":"1000197472074645319","last_considered_xact_id":"1000197472074645319"},"warnings":[]} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-78f0a8f58774.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-78f0a8f58774.json index 80bdf1db..720f8648 100644 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-78f0a8f58774.json +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-78f0a8f58774.json @@ -1 +1 @@ -{"data":[{"count":1,"version":"1000197155625133059"}],"schema":{"type":"array","items":{"type":"object","properties":{"version":{"description":"The transaction id of an event is unique to the network operation that processed the event insertion. Transaction ids are monotonically increasing over time and can be used to retrieve a versioned snapshot of the dataset (see the `version` parameter)","type":"string"},"count":{"type":"integer"}}}},"realtime_state":{"type":"on","minimum_xact_id":"1000197155625133059","read_bytes":0,"actual_xact_id":"1000197155625133059"},"freshness_state":{"last_processed_xact_id":"1000197155625133059","last_considered_xact_id":"1000197155625133059"},"warnings":[{"code":"missingSegmentEliminationSpecs","message":"No filters available for segment elimination. Add a range filter on created, _xact_id, or _pagination_key, or scope to a specific root_span_id or id.","stage":"optimizer","severity":"warning"}]} \ No newline at end of file +{"data":[{"count":1,"version":"1000197155625133059"}],"schema":{"type":"array","items":{"type":"object","properties":{"version":{"description":"The transaction id of an event is unique to the network operation that processed the event insertion. Transaction ids are monotonically increasing over time and can be used to retrieve a versioned snapshot of the dataset (see the `version` parameter)","type":"string"},"count":{"type":"integer"}}}},"realtime_state":{"type":"on","minimum_xact_id":"1000197155625133059","read_bytes":0,"actual_xact_id":"1000197155625133059"},"freshness_state":{"last_processed_xact_id":"1000197155625133059","last_considered_xact_id":"1000197155625133059"},"warnings":[]} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-7c1f6fcf4219.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-7c1f6fcf4219.json deleted file mode 100644 index 05262921..00000000 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-7c1f6fcf4219.json +++ /dev/null @@ -1 +0,0 @@ -{"data":[{"_async_scoring_state":null,"_pagination_key":"p07659835804562489350","_xact_id":"1000197472071755972","audit_data":[{"_xact_id":"1000197472071755972","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":null,"created":"2026-07-07T17:14:58.196Z","error":null,"expected":null,"facets":null,"id":"b26673e166828979","input":null,"is_root":true,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","client":"openai"},"metrics":{"end":1783444498.9741094,"start":1783444498.196998},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":null,"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"9118cb69fa20f0bbe32c5a9e8a33163d","scores":null,"span_attributes":{"name":"tools","type":"task"},"span_id":"b26673e166828979","span_parents":null,"tags":null},{"_async_scoring_state":null,"_pagination_key":"p07659835804562489357","_xact_id":"1000197472071755972","audit_data":[{"_xact_id":"1000197472071755972","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":null,"created":"2026-07-07T17:14:58.233Z","error":null,"expected":null,"facets":null,"id":"69678394fc69a97f","input":[{"content":"What is the weather like in Paris, France?","role":"user"}],"is_root":false,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","model":"gpt-4o","provider":"openai","request_base_uri":"http://localhost:63169","request_method":"POST","request_path":"chat/completions"},"metrics":{"completion_tokens":16,"end":1783444498.9737077,"estimated_cost":0.0003725,"prompt_cached_tokens":0,"prompt_tokens":85,"start":1783444498.233563,"tokens":101},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":[{"finish_reason":"tool_calls","index":0,"logprobs":null,"message":{"annotations":[],"content":null,"refusal":null,"role":"assistant","tool_calls":[{"function":{"arguments":"{\"location\":\"Paris, France\"}","name":"get_weather"},"id":"call_kOEkBHnUXfK8phM2avAbGGFq","type":"function"}]}}],"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"9118cb69fa20f0bbe32c5a9e8a33163d","scores":null,"span_attributes":{"name":"Chat Completion","type":"llm"},"span_id":"69678394fc69a97f","span_parents":["b26673e166828979"],"tags":null}],"schema":{"type":"array","items":{"type":"object","properties":{"_async_scoring_state":{},"_pagination_key":{"description":"A stable, time-ordered key that can be used to paginate over project logs events. This field is auto-generated by Braintrust and only exists in Brainstore.","type":["string","null"]},"_xact_id":{"description":"The transaction id of an event is unique to the network operation that processed the event insertion. Transaction ids are monotonically increasing over time and can be used to retrieve a versioned snapshot of the project logs (see the `version` parameter)","type":"string"},"audit_data":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"classifications":{"anyOf":[{"additionalProperties":{"items":{"additionalProperties":false,"properties":{"confidence":{"description":"Optional confidence score for the classification","type":["number","null"]},"id":{"description":"Stable classification identifier","type":"string"},"label":{"description":"Original label of the classification item, which is useful for search and indexing purposes","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"type":"object"},{"type":"null"}],"description":"Optional metadata associated with the classification"},"source":{"anyOf":[{"anyOf":[{"additionalProperties":false,"properties":{"id":{"type":"string"},"type":{"const":"function","type":"string"},"version":{"description":"The version of the function","type":"string"}},"required":["type","id"],"type":"object"},{"additionalProperties":false,"properties":{"function_type":{"default":"scorer","description":"The type of global function. Defaults to 'scorer'.","enum":["llm","scorer","task","tool","custom_view","preprocessor","facet","classifier","tag","parameters","sandbox"],"type":"string"},"name":{"type":"string"},"type":{"const":"global","type":"string"}},"required":["type","name"],"type":"object"}]},{"type":"null"}],"description":"Optional function identifier that produced the classification"}},"required":["id"],"type":"object"},"type":"array"},"properties":{},"type":"object"},{"type":"null"}]},"comments":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"context":{"anyOf":[{"additionalProperties":{},"properties":{"caller_filename":{"description":"Name of the file in code where the project logs event was created","type":["string","null"]},"caller_functionname":{"description":"The function in code which created the project logs event","type":["string","null"]},"caller_lineno":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"created":{"description":"The timestamp the project logs event was created","format":"date-time","type":"string"},"error":{"description":"The error that occurred, if any."},"expected":{"description":"The ground truth value (an arbitrary, JSON serializable object) that you'd compare to `output` to determine if your `output` value is correct or not. Braintrust currently does not compare `output` to `expected` for you, since there are so many different ways to do that correctly. Instead, these values are just used to help you navigate while digging into analyses. However, we may later use these values to re-score outputs or fine-tune your models."},"facets":{"anyOf":[{"additionalProperties":{"type":["string","null"]},"properties":{},"type":"object"},{"type":"null"}]},"id":{"description":"A unique identifier for the project logs event. If you don't provide one, Braintrust will generate one for you","type":"string"},"input":{"description":"The arguments that uniquely define a user input (an arbitrary, JSON serializable object)."},"is_root":{"description":"Whether this span is a root span","type":["boolean","null"]},"log_id":{"const":"g","description":"A literal 'g' which identifies the log as a project log","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"properties":{"model":{"description":"The model used for this example","type":["string","null"]}},"type":"object"},{"type":"null"}]},"metrics":{"anyOf":[{"additionalProperties":{"type":"number"},"properties":{"caller_filename":{"description":"This metric is deprecated"},"caller_functionname":{"description":"This metric is deprecated"},"caller_lineno":{"description":"This metric is deprecated"},"completion_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"end":{"description":"A unix timestamp recording when the section of code which produced the project logs event finished","type":["number","null"]},"prompt_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"start":{"description":"A unix timestamp recording when the section of code which produced the project logs event started","type":["number","null"]},"tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"org_id":{"description":"Unique id for the organization that the project belongs under","format":"uuid","type":"string"},"origin":{"anyOf":[{"description":"Reference to the original object and event this was copied from.","properties":{"_xact_id":{"description":"Transaction ID of the original event.","type":["string","null"]},"created":{"description":"Created timestamp of the original event. Used to help sort in the UI","type":["string","null"]},"id":{"description":"ID of the original event.","type":"string"},"object_id":{"description":"ID of the object the event is originating from.","format":"uuid","type":"string"},"object_type":{"description":"Type of the object the event is originating from.","enum":["project_logs","experiment","dataset","prompt","function","prompt_session"],"type":"string"}},"required":["object_type","object_id","id"],"type":"object"},{"type":"null"}]},"output":{"description":"The output of your application, including post-processing (an arbitrary, JSON serializable object), that allows you to determine whether the result is correct or not. For example, in an app that generates SQL queries, the `output` should be the _result_ of the SQL query generated by the model, not the query itself, because there may be multiple valid queries that answer a single question."},"project_id":{"description":"Unique identifier for the project","format":"uuid","type":"string"},"root_span_id":{"description":"A unique identifier for the trace this project logs event belongs to","type":"string"},"scores":{"anyOf":[{"additionalProperties":{"anyOf":[{"maximum":1,"minimum":0,"type":"number"},{"type":"null"}]},"properties":{},"type":"object"},{"type":"null"}]},"span_attributes":{"anyOf":[{"additionalProperties":{},"description":"Human-identifying attributes of the span, such as name, type, etc.","properties":{"name":{"description":"Name of the span, for display purposes only","type":["string","null"]},"purpose":{"anyOf":[{"enum":["scorer"],"type":"string"},{"type":"null"}]},"type":{"anyOf":[{"enum":["llm","score","function","eval","task","tool","automation","facet","preprocessor","classifier","review"],"type":"string"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"span_id":{"description":"A unique identifier used to link different project logs events together as part of a full trace. See the [tracing guide](https://www.braintrust.dev/docs/instrument) for full details on tracing","type":"string"},"span_parents":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]},"tags":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]}}}},"realtime_state":{"type":"on","minimum_xact_id":"1000197472074645319","read_bytes":0,"actual_xact_id":"1000197472074645319"},"freshness_state":{"last_processed_xact_id":"1000197472074645319","last_considered_xact_id":"1000197472074645319"},"warnings":[]} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-7d45b695967a.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-7df9d61397ac.json similarity index 70% rename from test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-7d45b695967a.json rename to test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-7df9d61397ac.json index 10a60bdf..bdb2b787 100644 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-7d45b695967a.json +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-7df9d61397ac.json @@ -1 +1 @@ -{"data":[{"_async_scoring_state":null,"_pagination_key":"p07663651388792373254","_xact_id":"1000197530292950886","audit_data":[{"_xact_id":"1000197530292950886","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":{"span_origin":{"instrumentation":{"name":"braintrust-java"},"name":"braintrust.sdk.java","version":"0.3.17-0155866-DIRTY"}},"created":"2026-07-18T00:01:20.507Z","error":null,"expected":null,"facets":null,"id":"5f8cf1e76c22ac01","input":null,"is_root":true,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","client":"springai2-openai"},"metrics":{"end":1784332881.7411067,"start":1784332880.507649},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":null,"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"63f844bcc7fe2e938130176d811dc0e2","scores":null,"span_attributes":{"name":"completions","type":"task"},"span_id":"5f8cf1e76c22ac01","span_parents":null,"tags":null},{"_async_scoring_state":null,"_pagination_key":"p07663651388792373248","_xact_id":"1000197530292950886","audit_data":[{"_xact_id":"1000197530292950886","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":{"span_origin":{"instrumentation":{"name":"braintrust-java"},"name":"braintrust.sdk.java","version":"0.3.17-0155866-DIRTY"}},"created":"2026-07-18T00:01:20.854Z","error":null,"expected":null,"facets":null,"id":"8c7da8f7f7f5cd29","input":[{"content":"you are a helpful assistant","role":"system"},{"content":"What is the capital of France?","role":"user"}],"is_root":false,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","model":"gpt-4o-mini","provider":"openai","request_base_uri":"http://localhost:55372","request_method":"POST","request_path":"chat/completions"},"metrics":{"completion_tokens":7,"end":1784332881.7354336,"estimated_cost":0.00000765,"prompt_cached_tokens":0,"prompt_tokens":23,"start":1784332880.8543808,"tokens":30},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":[{"finish_reason":"stop","index":0,"logprobs":null,"message":{"annotations":[],"content":"The capital of France is Paris.","refusal":null,"role":"assistant"}}],"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"63f844bcc7fe2e938130176d811dc0e2","scores":null,"span_attributes":{"name":"Chat Completion","type":"llm"},"span_id":"8c7da8f7f7f5cd29","span_parents":["5f8cf1e76c22ac01"],"tags":null}],"schema":{"type":"array","items":{"type":"object","properties":{"_async_scoring_state":{},"_pagination_key":{"description":"A stable, time-ordered key that can be used to paginate over project logs events. This field is auto-generated by Braintrust and only exists in Brainstore.","type":["string","null"]},"_xact_id":{"description":"The transaction id of an event is unique to the network operation that processed the event insertion. Transaction ids are monotonically increasing over time and can be used to retrieve a versioned snapshot of the project logs (see the `version` parameter)","type":"string"},"audit_data":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"classifications":{"anyOf":[{"additionalProperties":{"items":{"additionalProperties":false,"properties":{"confidence":{"description":"Optional confidence score for the classification","type":["number","null"]},"id":{"description":"Stable classification identifier","type":"string"},"label":{"description":"Original label of the classification item, which is useful for search and indexing purposes","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"type":"object"},{"type":"null"}],"description":"Optional metadata associated with the classification"},"source":{"anyOf":[{"anyOf":[{"additionalProperties":false,"properties":{"id":{"type":"string"},"type":{"const":"function","type":"string"},"version":{"description":"The version of the function","type":"string"}},"required":["type","id"],"type":"object"},{"additionalProperties":false,"properties":{"function_type":{"default":"scorer","description":"The type of global function. Defaults to 'scorer'.","enum":["llm","scorer","task","tool","custom_view","preprocessor","facet","classifier","tag","parameters","sandbox"],"type":"string"},"name":{"type":"string"},"type":{"const":"global","type":"string"}},"required":["type","name"],"type":"object"}]},{"type":"null"}],"description":"Optional function identifier that produced the classification"}},"required":["id"],"type":"object"},"type":"array"},"properties":{},"type":"object"},{"type":"null"}]},"comments":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"context":{"anyOf":[{"additionalProperties":{},"properties":{"caller_filename":{"description":"Name of the file in code where the project logs event was created","type":["string","null"]},"caller_functionname":{"description":"The function in code which created the project logs event","type":["string","null"]},"caller_lineno":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"created":{"description":"The timestamp the project logs event was created","format":"date-time","type":"string"},"error":{"description":"The error that occurred, if any."},"expected":{"description":"The ground truth value (an arbitrary, JSON serializable object) that you'd compare to `output` to determine if your `output` value is correct or not. Braintrust currently does not compare `output` to `expected` for you, since there are so many different ways to do that correctly. Instead, these values are just used to help you navigate while digging into analyses. However, we may later use these values to re-score outputs or fine-tune your models."},"facets":{"anyOf":[{"additionalProperties":{"type":["string","null"]},"properties":{},"type":"object"},{"type":"null"}]},"id":{"description":"A unique identifier for the project logs event. If you don't provide one, Braintrust will generate one for you","type":"string"},"input":{"description":"The arguments that uniquely define a user input (an arbitrary, JSON serializable object)."},"is_root":{"description":"Whether this span is a root span","type":["boolean","null"]},"log_id":{"const":"g","description":"A literal 'g' which identifies the log as a project log","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"properties":{"model":{"description":"The model used for this example","type":["string","null"]}},"type":"object"},{"type":"null"}]},"metrics":{"anyOf":[{"additionalProperties":{"type":"number"},"properties":{"caller_filename":{"description":"This metric is deprecated"},"caller_functionname":{"description":"This metric is deprecated"},"caller_lineno":{"description":"This metric is deprecated"},"completion_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"end":{"description":"A unix timestamp recording when the section of code which produced the project logs event finished","type":["number","null"]},"prompt_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"start":{"description":"A unix timestamp recording when the section of code which produced the project logs event started","type":["number","null"]},"tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"org_id":{"description":"Unique id for the organization that the project belongs under","format":"uuid","type":"string"},"origin":{"anyOf":[{"description":"Reference to the original object and event this was copied from.","properties":{"_xact_id":{"description":"Transaction ID of the original event.","type":["string","null"]},"created":{"description":"Created timestamp of the original event. Used to help sort in the UI","type":["string","null"]},"id":{"description":"ID of the original event.","type":"string"},"object_id":{"description":"ID of the object the event is originating from.","format":"uuid","type":"string"},"object_type":{"description":"Type of the object the event is originating from.","enum":["project_logs","experiment","dataset","prompt","function","prompt_session"],"type":"string"}},"required":["object_type","object_id","id"],"type":"object"},{"type":"null"}]},"output":{"description":"The output of your application, including post-processing (an arbitrary, JSON serializable object), that allows you to determine whether the result is correct or not. For example, in an app that generates SQL queries, the `output` should be the _result_ of the SQL query generated by the model, not the query itself, because there may be multiple valid queries that answer a single question."},"project_id":{"description":"Unique identifier for the project","format":"uuid","type":"string"},"root_span_id":{"description":"A unique identifier for the trace this project logs event belongs to","type":"string"},"scores":{"anyOf":[{"additionalProperties":{"anyOf":[{"maximum":1,"minimum":0,"type":"number"},{"type":"null"}]},"properties":{},"type":"object"},{"type":"null"}]},"span_attributes":{"anyOf":[{"additionalProperties":{},"description":"Human-identifying attributes of the span, such as name, type, etc.","properties":{"name":{"description":"Name of the span, for display purposes only","type":["string","null"]},"purpose":{"anyOf":[{"enum":["scorer"],"type":"string"},{"type":"null"}]},"type":{"anyOf":[{"enum":["llm","score","function","eval","task","tool","automation","facet","preprocessor","classifier","review"],"type":"string"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"span_id":{"description":"A unique identifier used to link different project logs events together as part of a full trace. See the [tracing guide](https://www.braintrust.dev/docs/instrument) for full details on tracing","type":"string"},"span_parents":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]},"tags":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]}}}},"realtime_state":{"type":"on","minimum_xact_id":"1000197530292950886","read_bytes":0,"actual_xact_id":"1000197530292950886"},"freshness_state":{"last_processed_xact_id":"1000197530292950886","last_considered_xact_id":"1000197530292950886"},"warnings":[]} \ No newline at end of file +{"data":[{"_async_scoring_state":null,"_pagination_key":"p07680251263181783057","_xact_id":"1000197783586932658","audit_data":[{"_xact_id":"1000197783586932658","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":{"span_origin":{"instrumentation":{"name":"braintrust-java"},"name":"braintrust.sdk.java","version":"0.3.22-ca5ce6d-DIRTY"}},"created":"2026-08-31T17:37:17.751Z","error":null,"expected":null,"facets":null,"id":"4f9d959a5ef7dbe1","input":null,"is_root":true,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","client":"langchain1.14-openai"},"metrics":{"end":1788197838.4724698,"start":1788197837.751423},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":null,"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"d1f2db2c39c3e0beddf6391270cb48a2","scores":null,"span_attributes":{"name":"tools","type":"task"},"span_id":"4f9d959a5ef7dbe1","span_parents":null,"tags":null},{"_async_scoring_state":null,"_pagination_key":"p07680251263181783042","_xact_id":"1000197783586932658","audit_data":[{"_xact_id":"1000197783586932658","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":{"span_origin":{"instrumentation":{"name":"braintrust-java"},"name":"braintrust.sdk.java","version":"0.3.22-ca5ce6d-DIRTY"}},"created":"2026-08-31T17:37:17.757Z","error":null,"expected":null,"facets":null,"id":"c155ba94fa888b0c","input":[{"content":"What is the weather like in Paris, France?","role":"user"}],"is_root":false,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","max_tokens":500,"model":"gpt-4o","provider":"openai","request_base_uri":"http://localhost:52408","request_method":"POST","request_path":"chat/completions","response_id":"chatcmpl-EJ0EYWAR5JEsdiBHX5HNYzDjo0t8E","stream":false,"temperature":0,"tools":[{"function":{"description":"Get the current weather for a location","name":"get_weather","parameters":{"properties":{"location":{"description":"The city and state, e.g. San Francisco, CA","type":"string"},"unit":{"description":"The unit of temperature","enum":["celsius","fahrenheit"],"type":"string"}},"required":["location"],"type":"object"}},"type":"function"}],"x-request-id":"req_24068c5c109041cda4489a2e3cf96034"},"metrics":{"completion_reasoning_tokens":0,"completion_tokens":16,"end":1788197838.4711385,"estimated_cost":0.0003725,"prompt_cached_tokens":0,"prompt_tokens":85,"start":1788197837.757798,"tokens":101},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":[{"finish_reason":"tool_calls","index":0,"logprobs":null,"message":{"annotations":[],"content":null,"refusal":null,"role":"assistant","tool_calls":[{"function":{"arguments":"{\"location\":\"Paris, France\"}","name":"get_weather"},"id":"call_NpP8IKPMjzwEkmeYXoyQe0sV","type":"function"}]}}],"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"d1f2db2c39c3e0beddf6391270cb48a2","scores":null,"span_attributes":{"name":"Chat Completion","type":"llm"},"span_id":"c155ba94fa888b0c","span_parents":["4f9d959a5ef7dbe1"],"tags":null}],"schema":{"type":"array","items":{"type":"object","properties":{"_async_scoring_state":{},"_pagination_key":{"description":"A stable, time-ordered key that can be used to paginate over project logs events. This field is auto-generated by Braintrust and only exists in Brainstore.","type":["string","null"]},"_xact_id":{"description":"The transaction id of an event is unique to the network operation that processed the event insertion. Transaction ids are monotonically increasing over time and can be used to retrieve a versioned snapshot of the project logs (see the `version` parameter)","type":"string"},"audit_data":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"classifications":{"anyOf":[{"additionalProperties":{"items":{"additionalProperties":false,"properties":{"confidence":{"description":"Optional confidence score for the classification","type":["number","null"]},"id":{"description":"Stable classification identifier","type":"string"},"label":{"description":"Original label of the classification item, which is useful for search and indexing purposes","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"type":"object"},{"type":"null"}],"description":"Optional metadata associated with the classification"},"source":{"anyOf":[{"anyOf":[{"additionalProperties":false,"properties":{"id":{"type":"string"},"type":{"const":"function","type":"string"},"version":{"description":"The version of the function","type":"string"}},"required":["type","id"],"type":"object"},{"additionalProperties":false,"properties":{"function_type":{"default":"scorer","description":"The type of global function. Defaults to 'scorer'.","enum":["llm","scorer","task","tool","custom_view","preprocessor","facet","classifier","tag","parameters","sandbox"],"type":"string"},"name":{"type":"string"},"type":{"const":"global","type":"string"}},"required":["type","name"],"type":"object"}]},{"type":"null"}],"description":"Optional function identifier that produced the classification"}},"required":["id"],"type":"object"},"type":"array"},"properties":{},"type":"object"},{"type":"null"}]},"comments":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"context":{"anyOf":[{"additionalProperties":{},"properties":{"caller_filename":{"description":"Name of the file in code where the project logs event was created","type":["string","null"]},"caller_functionname":{"description":"The function in code which created the project logs event","type":["string","null"]},"caller_lineno":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"created":{"description":"The timestamp the project logs event was created","format":"date-time","type":"string"},"error":{"description":"The error that occurred, if any."},"expected":{"description":"The ground truth value (an arbitrary, JSON serializable object) that you'd compare to `output` to determine if your `output` value is correct or not. Braintrust currently does not compare `output` to `expected` for you, since there are so many different ways to do that correctly. Instead, these values are just used to help you navigate while digging into analyses. However, we may later use these values to re-score outputs or fine-tune your models."},"facets":{"anyOf":[{"additionalProperties":{"type":["string","null"]},"properties":{},"type":"object"},{"type":"null"}]},"id":{"description":"A unique identifier for the project logs event. If you don't provide one, Braintrust will generate one for you","type":"string"},"input":{"description":"The arguments that uniquely define a user input (an arbitrary, JSON serializable object)."},"is_root":{"description":"Whether this span is a root span","type":["boolean","null"]},"log_id":{"const":"g","description":"A literal 'g' which identifies the log as a project log","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"properties":{"model":{"description":"The model used for this example","type":["string","null"]}},"type":"object"},{"type":"null"}]},"metrics":{"anyOf":[{"additionalProperties":{"type":"number"},"properties":{"caller_filename":{"description":"This metric is deprecated"},"caller_functionname":{"description":"This metric is deprecated"},"caller_lineno":{"description":"This metric is deprecated"},"completion_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"end":{"description":"A unix timestamp recording when the section of code which produced the project logs event finished","type":["number","null"]},"prompt_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"start":{"description":"A unix timestamp recording when the section of code which produced the project logs event started","type":["number","null"]},"tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"org_id":{"description":"Unique id for the organization that the project belongs under","format":"uuid","type":"string"},"origin":{"anyOf":[{"description":"Reference to the original object and event this was copied from.","properties":{"_xact_id":{"description":"Transaction ID of the original event.","type":["string","null"]},"created":{"description":"Created timestamp of the original event. Used to help sort in the UI","type":["string","null"]},"id":{"description":"ID of the original event.","type":"string"},"object_id":{"description":"ID of the object the event is originating from.","format":"uuid","type":"string"},"object_type":{"description":"Type of the object the event is originating from.","enum":["project_logs","experiment","dataset","prompt","function","prompt_session"],"type":"string"}},"required":["object_type","object_id","id"],"type":"object"},{"type":"null"}]},"output":{"description":"The output of your application, including post-processing (an arbitrary, JSON serializable object), that allows you to determine whether the result is correct or not. For example, in an app that generates SQL queries, the `output` should be the _result_ of the SQL query generated by the model, not the query itself, because there may be multiple valid queries that answer a single question."},"project_id":{"description":"Unique identifier for the project","format":"uuid","type":"string"},"root_span_id":{"description":"A unique identifier for the trace this project logs event belongs to","type":"string"},"scores":{"anyOf":[{"additionalProperties":{"anyOf":[{"maximum":1,"minimum":0,"type":"number"},{"type":"null"}]},"properties":{},"type":"object"},{"type":"null"}]},"span_attributes":{"anyOf":[{"additionalProperties":{},"description":"Human-identifying attributes of the span, such as name, type, etc.","properties":{"name":{"description":"Name of the span, for display purposes only","type":["string","null"]},"purpose":{"anyOf":[{"enum":["scorer"],"type":"string"},{"type":"null"}]},"type":{"anyOf":[{"enum":["llm","score","function","eval","task","tool","automation","facet","preprocessor","classifier","review"],"type":"string"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"span_id":{"description":"A unique identifier used to link different project logs events together as part of a full trace. See the [tracing guide](https://www.braintrust.dev/docs/instrument) for full details on tracing","type":"string"},"span_parents":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]},"tags":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]}}}},"realtime_state":{"type":"on","minimum_xact_id":"1000197783589884487","read_bytes":0,"actual_xact_id":"1000197783589884487"},"freshness_state":{"last_processed_xact_id":"1000197783589884487","last_considered_xact_id":"1000197783589884487"},"warnings":[]} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-957b0db7e65f.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-811cf73687e1.json similarity index 72% rename from test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-957b0db7e65f.json rename to test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-811cf73687e1.json index db1364a4..acca4eb2 100644 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-957b0db7e65f.json +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-811cf73687e1.json @@ -1 +1 @@ -{"data":[{"_async_scoring_state":null,"_pagination_key":"p07659835826909872132","_xact_id":"1000197472072096966","audit_data":[{"_xact_id":"1000197472072096966","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":null,"created":"2026-07-07T17:15:03.617Z","error":null,"expected":null,"facets":null,"id":"6166ec4ab7051516","input":null,"is_root":true,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","client":"springai-anthropic"},"metrics":{"end":1783444504.687077,"start":1783444503.617825},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":null,"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"ee570c2360369703bad48b07ca705d44","scores":null,"span_attributes":{"name":"streaming","type":"task"},"span_id":"6166ec4ab7051516","span_parents":null,"tags":null},{"_async_scoring_state":null,"_pagination_key":"p07659835826909872137","_xact_id":"1000197472072096966","audit_data":[{"_xact_id":"1000197472072096966","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":null,"created":"2026-07-07T17:15:03.635Z","error":null,"expected":null,"facets":null,"id":"7e72cb5a863a2927","input":[{"content":"Count from 1 to 5.","role":"user"},{"content":"You are a helpful assistant.","role":"system"}],"is_root":false,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","model":"claude-haiku-4-5-20251001","provider":"anthropic","request_base_uri":"http://localhost:63165","request_method":"POST","request_path":"v1/messages"},"metrics":{"completion_tokens":13,"end":1783444504.6869454,"estimated_cost":0.000087,"prompt_cache_creation_1h_tokens":0,"prompt_cache_creation_5m_tokens":0,"prompt_cached_tokens":0,"prompt_tokens":22,"start":1783444503.6354058,"time_to_first_token":1.036888416,"tokens":35},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":{"content":[{"text":"1\n2\n3\n4\n5","type":"text"}],"role":"assistant","usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":0},"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"inference_geo":"not_available","input_tokens":22,"output_tokens":13,"service_tier":"standard"}},"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"ee570c2360369703bad48b07ca705d44","scores":null,"span_attributes":{"name":"anthropic.messages.stream","type":"llm"},"span_id":"7e72cb5a863a2927","span_parents":["6166ec4ab7051516"],"tags":null}],"schema":{"type":"array","items":{"type":"object","properties":{"_async_scoring_state":{},"_pagination_key":{"description":"A stable, time-ordered key that can be used to paginate over project logs events. This field is auto-generated by Braintrust and only exists in Brainstore.","type":["string","null"]},"_xact_id":{"description":"The transaction id of an event is unique to the network operation that processed the event insertion. Transaction ids are monotonically increasing over time and can be used to retrieve a versioned snapshot of the project logs (see the `version` parameter)","type":"string"},"audit_data":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"classifications":{"anyOf":[{"additionalProperties":{"items":{"additionalProperties":false,"properties":{"confidence":{"description":"Optional confidence score for the classification","type":["number","null"]},"id":{"description":"Stable classification identifier","type":"string"},"label":{"description":"Original label of the classification item, which is useful for search and indexing purposes","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"type":"object"},{"type":"null"}],"description":"Optional metadata associated with the classification"},"source":{"anyOf":[{"anyOf":[{"additionalProperties":false,"properties":{"id":{"type":"string"},"type":{"const":"function","type":"string"},"version":{"description":"The version of the function","type":"string"}},"required":["type","id"],"type":"object"},{"additionalProperties":false,"properties":{"function_type":{"default":"scorer","description":"The type of global function. Defaults to 'scorer'.","enum":["llm","scorer","task","tool","custom_view","preprocessor","facet","classifier","tag","parameters","sandbox"],"type":"string"},"name":{"type":"string"},"type":{"const":"global","type":"string"}},"required":["type","name"],"type":"object"}]},{"type":"null"}],"description":"Optional function identifier that produced the classification"}},"required":["id"],"type":"object"},"type":"array"},"properties":{},"type":"object"},{"type":"null"}]},"comments":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"context":{"anyOf":[{"additionalProperties":{},"properties":{"caller_filename":{"description":"Name of the file in code where the project logs event was created","type":["string","null"]},"caller_functionname":{"description":"The function in code which created the project logs event","type":["string","null"]},"caller_lineno":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"created":{"description":"The timestamp the project logs event was created","format":"date-time","type":"string"},"error":{"description":"The error that occurred, if any."},"expected":{"description":"The ground truth value (an arbitrary, JSON serializable object) that you'd compare to `output` to determine if your `output` value is correct or not. Braintrust currently does not compare `output` to `expected` for you, since there are so many different ways to do that correctly. Instead, these values are just used to help you navigate while digging into analyses. However, we may later use these values to re-score outputs or fine-tune your models."},"facets":{"anyOf":[{"additionalProperties":{"type":["string","null"]},"properties":{},"type":"object"},{"type":"null"}]},"id":{"description":"A unique identifier for the project logs event. If you don't provide one, Braintrust will generate one for you","type":"string"},"input":{"description":"The arguments that uniquely define a user input (an arbitrary, JSON serializable object)."},"is_root":{"description":"Whether this span is a root span","type":["boolean","null"]},"log_id":{"const":"g","description":"A literal 'g' which identifies the log as a project log","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"properties":{"model":{"description":"The model used for this example","type":["string","null"]}},"type":"object"},{"type":"null"}]},"metrics":{"anyOf":[{"additionalProperties":{"type":"number"},"properties":{"caller_filename":{"description":"This metric is deprecated"},"caller_functionname":{"description":"This metric is deprecated"},"caller_lineno":{"description":"This metric is deprecated"},"completion_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"end":{"description":"A unix timestamp recording when the section of code which produced the project logs event finished","type":["number","null"]},"prompt_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"start":{"description":"A unix timestamp recording when the section of code which produced the project logs event started","type":["number","null"]},"tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"org_id":{"description":"Unique id for the organization that the project belongs under","format":"uuid","type":"string"},"origin":{"anyOf":[{"description":"Reference to the original object and event this was copied from.","properties":{"_xact_id":{"description":"Transaction ID of the original event.","type":["string","null"]},"created":{"description":"Created timestamp of the original event. Used to help sort in the UI","type":["string","null"]},"id":{"description":"ID of the original event.","type":"string"},"object_id":{"description":"ID of the object the event is originating from.","format":"uuid","type":"string"},"object_type":{"description":"Type of the object the event is originating from.","enum":["project_logs","experiment","dataset","prompt","function","prompt_session"],"type":"string"}},"required":["object_type","object_id","id"],"type":"object"},{"type":"null"}]},"output":{"description":"The output of your application, including post-processing (an arbitrary, JSON serializable object), that allows you to determine whether the result is correct or not. For example, in an app that generates SQL queries, the `output` should be the _result_ of the SQL query generated by the model, not the query itself, because there may be multiple valid queries that answer a single question."},"project_id":{"description":"Unique identifier for the project","format":"uuid","type":"string"},"root_span_id":{"description":"A unique identifier for the trace this project logs event belongs to","type":"string"},"scores":{"anyOf":[{"additionalProperties":{"anyOf":[{"maximum":1,"minimum":0,"type":"number"},{"type":"null"}]},"properties":{},"type":"object"},{"type":"null"}]},"span_attributes":{"anyOf":[{"additionalProperties":{},"description":"Human-identifying attributes of the span, such as name, type, etc.","properties":{"name":{"description":"Name of the span, for display purposes only","type":["string","null"]},"purpose":{"anyOf":[{"enum":["scorer"],"type":"string"},{"type":"null"}]},"type":{"anyOf":[{"enum":["llm","score","function","eval","task","tool","automation","facet","preprocessor","classifier","review"],"type":"string"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"span_id":{"description":"A unique identifier used to link different project logs events together as part of a full trace. See the [tracing guide](https://www.braintrust.dev/docs/instrument) for full details on tracing","type":"string"},"span_parents":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]},"tags":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]}}}},"realtime_state":{"type":"on","minimum_xact_id":"1000197472073890576","read_bytes":4909,"actual_xact_id":"1000197472074645319"},"freshness_state":{"last_processed_xact_id":"1000197472073890576","last_considered_xact_id":"1000197472074645319"},"warnings":[]} \ No newline at end of file +{"data":[{"_async_scoring_state":null,"_pagination_key":"p07680251121458085899","_xact_id":"1000197783584770126","audit_data":[{"_xact_id":"1000197783584770126","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":{"span_origin":{"instrumentation":{"name":"braintrust-java"},"name":"braintrust.sdk.java","version":"0.3.22-ca5ce6d-DIRTY"}},"created":"2026-08-31T17:36:49.379Z","error":null,"expected":null,"facets":null,"id":"7ec876707b9c9fe8","input":null,"is_root":true,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","client":"openai"},"metrics":{"end":1788197810.3392892,"start":1788197809.379051},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":null,"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"8b02184076aef8ce6d7c5f6514b7f52e","scores":null,"span_attributes":{"name":"completions","type":"task"},"span_id":"7ec876707b9c9fe8","span_parents":null,"tags":null},{"_async_scoring_state":null,"_pagination_key":"p07680251121458085892","_xact_id":"1000197783584770126","audit_data":[{"_xact_id":"1000197783584770126","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":{"span_origin":{"instrumentation":{"name":"braintrust-java"},"name":"braintrust.sdk.java","version":"0.3.22-ca5ce6d-DIRTY"}},"created":"2026-08-31T17:36:49.385Z","error":null,"expected":null,"facets":null,"id":"ffe1b7d067bed6b0","input":[{"content":"you are a helpful assistant","role":"system"},{"content":"What is the capital of France?","role":"user"}],"is_root":false,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","model":"gpt-4o-mini","provider":"openai","request_base_uri":"http://localhost:52408","request_method":"POST","request_path":"chat/completions","response_id":"chatcmpl-EJ0E58PI3B4EgwwAt1s9bi7kts51y","stream":false,"temperature":0,"x-request-id":"req_2327ffc15ed94e768b2e95766bfe75c3"},"metrics":{"completion_reasoning_tokens":0,"completion_tokens":7,"end":1788197810.338592,"estimated_cost":0.00000765,"prompt_cached_tokens":0,"prompt_tokens":23,"start":1788197809.38583,"tokens":30},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":[{"finish_reason":"stop","index":0,"logprobs":null,"message":{"annotations":[],"content":"The capital of France is Paris.","refusal":null,"role":"assistant"}}],"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"8b02184076aef8ce6d7c5f6514b7f52e","scores":null,"span_attributes":{"name":"Chat Completion","type":"llm"},"span_id":"ffe1b7d067bed6b0","span_parents":["7ec876707b9c9fe8"],"tags":null}],"schema":{"type":"array","items":{"type":"object","properties":{"_async_scoring_state":{},"_pagination_key":{"description":"A stable, time-ordered key that can be used to paginate over project logs events. This field is auto-generated by Braintrust and only exists in Brainstore.","type":["string","null"]},"_xact_id":{"description":"The transaction id of an event is unique to the network operation that processed the event insertion. Transaction ids are monotonically increasing over time and can be used to retrieve a versioned snapshot of the project logs (see the `version` parameter)","type":"string"},"audit_data":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"classifications":{"anyOf":[{"additionalProperties":{"items":{"additionalProperties":false,"properties":{"confidence":{"description":"Optional confidence score for the classification","type":["number","null"]},"id":{"description":"Stable classification identifier","type":"string"},"label":{"description":"Original label of the classification item, which is useful for search and indexing purposes","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"type":"object"},{"type":"null"}],"description":"Optional metadata associated with the classification"},"source":{"anyOf":[{"anyOf":[{"additionalProperties":false,"properties":{"id":{"type":"string"},"type":{"const":"function","type":"string"},"version":{"description":"The version of the function","type":"string"}},"required":["type","id"],"type":"object"},{"additionalProperties":false,"properties":{"function_type":{"default":"scorer","description":"The type of global function. Defaults to 'scorer'.","enum":["llm","scorer","task","tool","custom_view","preprocessor","facet","classifier","tag","parameters","sandbox"],"type":"string"},"name":{"type":"string"},"type":{"const":"global","type":"string"}},"required":["type","name"],"type":"object"}]},{"type":"null"}],"description":"Optional function identifier that produced the classification"}},"required":["id"],"type":"object"},"type":"array"},"properties":{},"type":"object"},{"type":"null"}]},"comments":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"context":{"anyOf":[{"additionalProperties":{},"properties":{"caller_filename":{"description":"Name of the file in code where the project logs event was created","type":["string","null"]},"caller_functionname":{"description":"The function in code which created the project logs event","type":["string","null"]},"caller_lineno":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"created":{"description":"The timestamp the project logs event was created","format":"date-time","type":"string"},"error":{"description":"The error that occurred, if any."},"expected":{"description":"The ground truth value (an arbitrary, JSON serializable object) that you'd compare to `output` to determine if your `output` value is correct or not. Braintrust currently does not compare `output` to `expected` for you, since there are so many different ways to do that correctly. Instead, these values are just used to help you navigate while digging into analyses. However, we may later use these values to re-score outputs or fine-tune your models."},"facets":{"anyOf":[{"additionalProperties":{"type":["string","null"]},"properties":{},"type":"object"},{"type":"null"}]},"id":{"description":"A unique identifier for the project logs event. If you don't provide one, Braintrust will generate one for you","type":"string"},"input":{"description":"The arguments that uniquely define a user input (an arbitrary, JSON serializable object)."},"is_root":{"description":"Whether this span is a root span","type":["boolean","null"]},"log_id":{"const":"g","description":"A literal 'g' which identifies the log as a project log","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"properties":{"model":{"description":"The model used for this example","type":["string","null"]}},"type":"object"},{"type":"null"}]},"metrics":{"anyOf":[{"additionalProperties":{"type":"number"},"properties":{"caller_filename":{"description":"This metric is deprecated"},"caller_functionname":{"description":"This metric is deprecated"},"caller_lineno":{"description":"This metric is deprecated"},"completion_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"end":{"description":"A unix timestamp recording when the section of code which produced the project logs event finished","type":["number","null"]},"prompt_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"start":{"description":"A unix timestamp recording when the section of code which produced the project logs event started","type":["number","null"]},"tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"org_id":{"description":"Unique id for the organization that the project belongs under","format":"uuid","type":"string"},"origin":{"anyOf":[{"description":"Reference to the original object and event this was copied from.","properties":{"_xact_id":{"description":"Transaction ID of the original event.","type":["string","null"]},"created":{"description":"Created timestamp of the original event. Used to help sort in the UI","type":["string","null"]},"id":{"description":"ID of the original event.","type":"string"},"object_id":{"description":"ID of the object the event is originating from.","format":"uuid","type":"string"},"object_type":{"description":"Type of the object the event is originating from.","enum":["project_logs","experiment","dataset","prompt","function","prompt_session"],"type":"string"}},"required":["object_type","object_id","id"],"type":"object"},{"type":"null"}]},"output":{"description":"The output of your application, including post-processing (an arbitrary, JSON serializable object), that allows you to determine whether the result is correct or not. For example, in an app that generates SQL queries, the `output` should be the _result_ of the SQL query generated by the model, not the query itself, because there may be multiple valid queries that answer a single question."},"project_id":{"description":"Unique identifier for the project","format":"uuid","type":"string"},"root_span_id":{"description":"A unique identifier for the trace this project logs event belongs to","type":"string"},"scores":{"anyOf":[{"additionalProperties":{"anyOf":[{"maximum":1,"minimum":0,"type":"number"},{"type":"null"}]},"properties":{},"type":"object"},{"type":"null"}]},"span_attributes":{"anyOf":[{"additionalProperties":{},"description":"Human-identifying attributes of the span, such as name, type, etc.","properties":{"name":{"description":"Name of the span, for display purposes only","type":["string","null"]},"purpose":{"anyOf":[{"enum":["scorer"],"type":"string"},{"type":"null"}]},"type":{"anyOf":[{"enum":["llm","score","function","eval","task","tool","automation","facet","preprocessor","classifier","review"],"type":"string"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"span_id":{"description":"A unique identifier used to link different project logs events together as part of a full trace. See the [tracing guide](https://www.braintrust.dev/docs/instrument) for full details on tracing","type":"string"},"span_parents":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]},"tags":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]}}}},"realtime_state":{"type":"on","minimum_xact_id":"1000197783589884487","read_bytes":0,"actual_xact_id":"1000197783589884487"},"freshness_state":{"last_processed_xact_id":"1000197783589884487","last_considered_xact_id":"1000197783589884487"},"warnings":[]} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-861c67da54b7.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-861c67da54b7.json new file mode 100644 index 00000000..21cae7f5 --- /dev/null +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-861c67da54b7.json @@ -0,0 +1 @@ +{"data":[{"_async_scoring_state":null,"_pagination_key":"p07680251233063075848","_xact_id":"1000197783586473083","audit_data":[{"_xact_id":"1000197783586473083","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":{"span_origin":{"instrumentation":{"name":"braintrust-java"},"name":"braintrust.sdk.java","version":"0.3.22-ca5ce6d-DIRTY"}},"created":"2026-08-31T17:37:04.517Z","error":null,"expected":null,"facets":null,"id":"315297cdabb281bb","input":null,"is_root":true,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","client":"anthropic"},"metrics":{"end":1788197830.6268418,"start":1788197824.517608},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":null,"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"5ebbf0fd54af3ba1dafc91c34d181abf","scores":null,"span_attributes":{"name":"web_search","type":"task"},"span_id":"315297cdabb281bb","span_parents":null,"tags":null},{"_async_scoring_state":null,"_pagination_key":"p07680251233063075841","_xact_id":"1000197783586473083","audit_data":[{"_xact_id":"1000197783586473083","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":{"span_origin":{"instrumentation":{"name":"braintrust-java"},"name":"braintrust.sdk.java","version":"0.3.22-ca5ce6d-DIRTY"}},"created":"2026-08-31T17:37:04.564Z","error":null,"expected":null,"facets":null,"id":"57273781b5b257ec","input":[{"content":"Search the web for a recent AI news headline and answer in one sentence.","role":"user"}],"is_root":false,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","max_tokens":1024,"model":"claude-sonnet-4-5-20250929","provider":"anthropic","request-id":"req_011CebER47EqcpjaoTk5ohNU","request_base_uri":"","request_method":"POST","request_path":"v1/messages","response_id":"msg_011CebER4qPptWWLL5nos1fi","tools":[{"name":"web_search","type":"web_search_20250305"}]},"metrics":{"completion_tokens":101,"end":1788197830.626526,"estimated_cost":0.02736,"prompt_cache_creation_1h_tokens":0,"prompt_cache_creation_5m_tokens":0,"prompt_cached_tokens":0,"prompt_tokens":8615,"server_tool_use_web_fetch_requests":0,"server_tool_use_web_search_requests":1,"start":1788197824.564009,"tokens":8716},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":{"content":[{"id":"srvtoolu_012jwHZbUsD8YwQ2PmJfaAmi","input":{"query":"AI news today"},"name":"web_search","type":"server_tool_use"},{"caller":{"type":"direct"},"content":[{"encrypted_content":"EukECioIExgCIiQyNzc5NjY2OC03MzUxLTQwYWMtYWNjNC0wMjRhZWU4OTk1YTUSDHiiDiMIrsjIAQzF1xoMdW3Y8Q59ciJcmwdhIjCBxPG9C7bzR1FM0BWbP76uz0cF4qYUBsL3pV+e/hYwqjbawAhAEp4b3WhhYflp6Ysq7APbkZO9K/ZbA8L7xWaU0XHz5atSGmDzf+B/OtW2CudXA/MCAalDwfO+dI150GPvlKmcMGmmxMuae3iw59kaZHB2YvJ66iJTbK+feagQHT96N/EsagcG3jWCqOfZJqWJoQv8l4vp0A1Bp5u5T3isSP4tbYDfZe9oOBek90P8g9KpnApVnhVQ5yMyczAU9xoan+O6UWlqnQFdMkrE4+KCakWK8RonII+hV9i5+BGuECGiFUi+yYT8yrgSbgz4pZRXiRxNhsvorrGl8AqhMDWMf+JGBN3pH4LVnILE2Ie9uSYgjclwXgXc3jAMmrMYdZVIR/M20QUz3daVa0lz6K8m5Ni1DEy325BBn7SuMzJTnHGMOCYC51MnQUFx/yKM/cjk2ZqcbA0AxLzz1raYo//mYdTtRqk52IYHhmBAt7d0MnpwL5mcBgyBv8FcVXu//wdVy4OfU849+b+XbucTGypBCnaYeBpo5I6+wZZbTx1ulVDUrA6KTXhOkQ5tuxUtccqK64lhv7Ix2pZvhThczAPGvPeZKqi6o0VMKIolEmja5PDXuKuStj1ZTvdNRMZuHm6+pTvak7TxmVxAqYY/8grBHN7NVJ2Ixba2HkHSq0yPyQN4r37iHqXQKMFoo1bkI7rrY9VwURjxMj9Kfr2ZmNMYAw==","page_age":"1 day ago","title":"AI News & Artificial Intelligence | TechCrunch","type":"web_search_result","url":"https://techcrunch.com/category/artificial-intelligence/"},{"encrypted_content":"EqYJCioIExgCIiQyNzc5NjY2OC03MzUxLTQwYWMtYWNjNC0wMjRhZWU4OTk1YTUSDA6UMi9Wr7J9tjDLLxoM0m7HXUCKR4cWCMF5IjA5p/vXJs3idWsC6tCeupkVZlZdi9urlZ9FE10P3bzHMK9lc4dckGO32jGNNoiwOXwqqQhl5Z2vGFSPdX5xYjXSiziWiKBMB9QeodKKvJbdGUQ7aVuvA2CErJTW+6C6Rs0wW25cJa/antx7MbkEzGzReNdd+eb746MOIzuPSh10ZB905ozznudYszqfqhRBQnClZnh6kRnbrWSGwO9UPh4vfeuWdj3DyxWrPnW36oxJda963P6kiM0npDqNAuOiuEfzxMyr7Pa5T1o6sFEa/vxDmo7cD1Sh6UzPdVxmj4Si7iUgVYw2LSYTIHZhttUY8253XrCQIXdJSEI4CSelMUfnpGZDZ9tbBb+v6Wg04IERoVNP9Iub8vAAl8WhE12EwwEjcT0uFpJHLeKe9VoVTplmVSKcE+RaXwiGRE9yZM+/uHRHuedWLytsOEfAvnk7GlvTzobWxrDkG3iduitjy8GAn8BogJM37yT6a3CrvJlGh2IoYJS18Y3txm21kygj7yqYftJTYfUaELNyNCMKjao0Az9+4C27AqWxzWM80m9l68129VHTNiP+OlZnrCugcVcmm9YztjRXRbfVjrQYurpJP75IAKyUT1FjzP4NXO/FRN4zc7mlqASwYRIu+j9gejSAN4dreXhTk/v+bNJDQKCemWriKUREb130DIPBVbaC2eXP0pxPuBVtoroJR6CMaXrtoCGDyYoXYWOtzFHzhNrxm/28wfTJPEIn2VsKr0QoD9nonn16/gcKLisXhfD3av6izCY23zROsOj+q4wvM5/3sh7IyLzpWqWvYIDzJJ2+8ZMURFZl4aTsz3Snmr9s3w53PpT7xAx4hiL/dwF+dADKVfKVf3+zLfNrNkypfv9BmG/ONDcjbR9JbvBqKrrorNcDhfaosDaBUqxcFhpl/LkPpvK2MD9Ew8YTq0kwKlRnJkCIiAxRT1Z3aspV8Em0qKzcrQRIBX09hSyRKeFOX4neGbbh6aTHa/BW0Ao8LWUhfTCa5Vkdx7+6/SnSkEItoJv5XAXlhGbWEmD7ywIhwdIxmzAg9fu8AzhY6dZeo+Zrx151W9TB9H0OLGZz7RtHDMiEoRQDT8m1szUDoiEQnPbdp8yJoQDmR7+c36H2umLWdPO3j1qnjjqbolh3/lzLsY0wfTatW1n1LNy+/WPZUV1ZATm1yQ8xM/cMuYK2l+eBX17VLrOlgnvVoHIzOe2AdJt2SYKF7Qh47dkOumMHd7TR8k19sO0OsL7sGuSYvYlRUiZSitiyqWbMYWbwhQGK0tRq9yRKvJhLJynalePMteMuTUu5Ng24DjN4WRyyfyBTYK6alinw4Y6T43+bM8Jp5FOK3j9+MLuaLsA0mPi7cWRjZkRHtFhVAzTBbi183V/eqZcDRibKE0IrYgq796Y0HfDiEUXm29rXaM2WHwrjjWpHnphQLtaW5KKhl5DVADT2MKAThNeAfXCumE6Eh85qeTS964bZCltCZbB5fLcYAw==","page_age":"3 days ago","title":"AI News | Latest News | Insights Powering AI-Driven Business Growth","type":"web_search_result","url":"https://www.artificialintelligence-news.com/"},{"encrypted_content":"EuAQCioIExgCIiQyNzc5NjY2OC03MzUxLTQwYWMtYWNjNC0wMjRhZWU4OTk1YTUSDCLN3f3DSoOqjvUZ9hoM3q4qZeJNnmdj9FAUIjDUCNbZGhsI0faSEfXEx0wbH3uZx3Yq3OdRBfx4RrqbEuT3cpMHppm07SA6a3azIHwq4w9nrJzKwFAnaIjFCv0kW0iNPJp01izUQ7Rqq2TdTuBfsTUu+ayLdbmeAp4X8tujqaAlIwu9+a8WVo/zRUJ4KuqrbthLJ2bpEawkzZLvDWYWUdDdmh9YhUBnnZOPj4otElHYbb5YaOcoXhNeddxLhVvZFKlNwRm5kIm264ME52Npp5eMXCdHEehXmZj41JkkTa+nV7or1nHD64c74OyharZ+Q2+FqgeuZbCj5U/AmJUzhyyazdij9INrMfhi38O9OlZgSo/FSbTReH11DEbW7ae3J1pOu5fXEQmQ+oueGblMpo2nVGwNYRvz9D3akxMUQbaurdwDhE3YNLD6lRROJg2hP2dM7Yt7dgOWJIATuVTLAeXgANhZachTTZdghbb3wig2ipdCuf3kgu6+BCTSdX3qrfHMvozrh9MGPKKbxR1uGsS/5piI5whQsdQgtKaiKpj/PMTUN7hHhuMuhFEXUWdkm80WS4pfRCxeNOVR6lz0QuFlnThg/1jTHoUchma43GGn53FIM6NKfD10S1Gj2tE6Lp26tHWxjqe1OFhgO4UpQHLIGHUJeFINf0USo2WgmFA8lzbcWUPo/boDU6r/40sMRqvxGQUYicGE48d0O/w7gtZqPGCHQtLqVgLJNetkbdrjgyN/U6/mgwFpZmx5oNYNh3GoT1xr9tsIKfoBDqPJz2ZRdavhU8JtGzy4LLTAhZsAXOoN+Jnqgm5JvaMlDa75V9W5Hf4JAwHM4TK8BWg4FOlS1s7vyJHW6RegB9t/i7Wt7TErcfn7m6CjW+oQWu8CgY4DXw7mAbqUkj9iB6D2Iqj4VvPTTL2ehOtW74fiavS67vQXUE4I5Nmo63pbiHzEmEJaXnfMq+89UseD6wX6vqYQITEROiFfFtEN8bUg2PEr+CZGxctky50o+A+lOOYRIlJ5YmMVCk7yZ5HvS1LMijw6/gjgf9nmHrnerEvjS7z+q6QfEb0sTOuhKI7di2UDjKCj72ldeMDPPd1yMv0z7WMdSIFauq6kHyyP0AERl8dAoIO+Dy0dS9Z29Iiugti6k6MaK5L4SuBAtICLnOI98gWTMQB92ucaywrTdgtBCTQENGFmI/oaf/rCVOXqXW8oVBjSIDQ2kHjuO4jv5YanhW2YNqyA519ZMYQXylw4zhCcrrWsR+xekVtkk4T+cqQ3gB78CdyN06V1NqrJm1IsA2j5Tb9//SVHmMtWz5F6RsBd5IBbVZFIKxsLCvSF5Wg8qg43EPqEgEadaXUhQ0PcejwR8WVU1XIKYrOl0lHsjo6z00eak18g0igQGyayXWD3NO47orAaNlHExOcxwyEKxwiqiQt4XoIBZOmRJO4InrsEaVmv7+WQhe9sw7byZuTmHm2bV0NDJNPeEXq7CV/ArfCZ27oFAAHi6t3ZFLC5p9ndYDsPRY9JeuUCdCbFFEppdtXN1SR+Y56+g/0DOcRKWfzPxWb1HzUwk/oKkuVNCQeyBJMRLwbTeAAsEkX4xRv2hnE86ZgV5HUa/gHRi05F+f+b8j4e6s++avhAo9Y3JWKX2lW2+e0/WTG5dApgSQzncMTyciqlRtzE4I5W2E0UZMplAa3/lNt45hdV4NdTWfVubpRmu/jwXcY5EkLs4RkMMSZsWaNs3btFhDjPdR+kU5st+pShUslDx1HnZN7HZfB5ow98WmPz/07U8JoJWTNFPh1Oqy+cxbQ1kMH7OQ3hBU/FPUtCL63s14Qd/jSh8oHRU5BdrRAbY1N/2YdU/4zWKimp0zVxCbNmkHhrkoJDpxtxjKUwMxFCVeWU73FX9OJYpm0o9aH3o9sXV2nn10F2NgyRord89fF18Llaq7piQOUUTKl8T+rb+cH1VMMan0Y6N4NYPIAqRY3jBnGh6gHxVeSfkTTdxUb9zCIwphE+xD95rT6ZkfYYKOwW/0uS5XayhU9xKUqTKqrJFWvBaf/JFpryDHpIRoHjMOes55BMgl6/ZjYrEIuAahrmtQ4Xtcr5bwF5cWwB3dNButh6Kg9lgpeLhq/+jqCgPgmAjdQfmj5sKJdfvTHytAdWqUwmvkGlKfRnd23i8KCJKCrfyCOA1briVltF71PSkh1KX7FOk4wOa2b+rVgzvykoniBPQRQyzpYMOHab25c5m++fGRSghieLtvK/RdZOh8MrGWYnEvxwrlz92nW867Hx5GbL0pBqXz5ZtL8hFfmGuepSX39JiaU5MHyebeq0NDQIi41UpWwCM7ISIBu2CpeZpTw3EtlxH/TYqRUZS8snAdw5XOtmpmkzrf9u5QNM/MQ8xC96aC5hJb3pCuhZXlUvoFSKTSH/1tjGpO/wiYNqq1wFa3n6O3yITU4Fo/N6yZME+SJKgRjQ/ld5KLtKtOTpsioz4RJBrltd9UmqsHiQPMOXbIJIHWfSxk4sg4zPAIaAzXscMJ9cYh99HzDbCYZVLWj9D3u4U1lRa0O3biyJHVL0fYCuwHkVongFqji4kDiU5Gcqg4bceBdLXfPUzOwdK25tDgRsmdeqfXywmfn3n5ITuMSXK6bysWypD2NkzBbB9zuTnCnPH5sx1X2iJpxofV163vs6e9XPpWcrwOqWsb91ZqemvI/FAYoX8O5HXGrF9QRdW6insiy3kTnQtbkj7nCOHJLBaNTsy++5t0+hqRwwdouOl08VOgn5y6gmAMZm0dljulBUzn24N3PWDCwSHdA1H/ZOuQQYAw==","page_age":"5 hours ago","title":"AI News: Top Stories, Ranked & Explained | AI Weekly","type":"web_search_result","url":"https://aiweekly.co/"},{"encrypted_content":"Ev8HCioIExgCIiQyNzc5NjY2OC03MzUxLTQwYWMtYWNjNC0wMjRhZWU4OTk1YTUSDIMox7/RgzEhM1yVWhoMw8akKxSmCHZpk0diIjBmuqi0vp81qgnPLxYkw35A/KqEpwBObuF6hAdPeRd6Fh96ekSdyVP197jtIg6npdkqggfcLSuevfU697/WwLZmQgeqIvGQNGS5K8OshxNMAdxGkXm/l7I6eQw+8sTXhlwlgDeANy4DxKaTDgWLWrpY30pJ/eVUxgEMWc1x16A3DYixzSXfXtBTWe0w2IO9ceXGjDqlVSFsam2rtzw4rO8XvyALeNLT6D2NIFB2PUNUqIeKDjdBfKhb037dDMbWBgIzGv5OX5/iMvq4CpFfRZImw9MRqivELnre6wLNQfaOuTpB2I4HqMq5f7NsrgUYUUoodHHuqcIE5AtS3i5nb0fa1Pm3oj8iaJ+6YBmNd3FidOH0/erLgx0mBIzbiK53TOIey7XRPlmezS+JafSo5ujHaU3y7faZ/J0ZDOur6wR/A8gYwu37YO77I4XgCPS8u+NRcUsowa9DRH3YqDkewQk8ALNsMzvBDMSK3rH34Zjqv4e2bhOrxtCorRpfp6Ma9fNnzZs0SDRHfDo70Ud/ObVMMGTl0WsuSoTjApKQvFm7rf9rDD7/KgsIQmGFMa0E2SyNeObODeihXFcAV74IOhEvd0MftMUzliIFU6pxG5+1h+x9p0lBrgtn2sV2Xv1ooOKbbdMxljEIKUwer/CbNEVeR0nOsH1e9u/pXkD9QRIDcNJW6bI3R808lp/7+8k5u/O/1vwzW8c3zgnlu3w175uyQCiaVj3fSseIWb7OP6joxCjkGTOmaa8e+2Ts9gReIZDNYbF+Al919EAO1T6x1bIBb9sL/Rpm8th1riBxT8w2yQz6nL5cUpmOulb0gzhh3zrgSpC/0RvrMSjEaT5Wo0x8LopqIyjQusPZ+uMkMYmNmO/Snav8mRlyiBLiYke1cI+XaSQm6L51ByNFnGB/tbhEuUQLlgbQOV3BeNzkIE6bYPVNJYnn1SS5M08chfyjzZf+LV9lVbPxzso0xp/O9SlOkCXRqH5xCNwM5T1ShcYHT8UxwfL0PtCH6scUDGteaQgNfe7H4k/3TNIJAiYXdZVJd9rOQtWMfgWUji9tVjek9+5RnL4/TGpxpmjhdaHm8h+Mxo/Sn3maAAg2XqAUMKm5PJVYR9c1ujSxHtKAGiVpB8yTjfSLj4F5CzetADaC+8bIbYTSKlnHQvCEb61k6TBqJS0HNScKKHxVgPxALYtOXw6kBAfBtwBN8AJ5H7mpcdri2hsRmwnTAd4186DHT+HTz85qsqDo/afn/dZJFKP48q6GLbTQGAM=","page_age":"6 hours ago","title":"AI News, Updates, Products and Reviews | Yahoo Tech","type":"web_search_result","url":"https://tech.yahoo.com/ai/"},{"encrypted_content":"EuAQCioIExgCIiQyNzc5NjY2OC03MzUxLTQwYWMtYWNjNC0wMjRhZWU4OTk1YTUSDFvqM1xvW6wu5M4i4RoMParK3592g77DCFvHIjCyl/BEiGucR4SXw++Z9VbJnbbcMeGSawgnxINYB2LPz3weO2whzbM711kBAckq+gUq4w8VOAJOaiq8R8zHe85E6Y4sX8+etWu1ZoWrB+jnK7vV6TjKRr4XeL9K5wqwPeG5ANIm6U4StZ7Ip0TqFU0XTsTpIFPiTNVh7W3CJmRL0Sn3KLLTGG5JZbZEUur/ASKI5/6W+iT0/j9g1CLU30OUrZZqOc3H6bJLVVO2RljmQjXhTk2BIUmdLVyI/bw5fWAgf3X3JALtUk25X6BlHv4zxrczQRltAMoNpJgCrqrtxSRlBnLj/YDr8L7POGULqjUTPVPESAvNE6WFYqOjiie4NiW/PzOGXxlkg4yHegqNulMjQ2JeaBgMGiaIYfqDDe5iyKdLfO31KsaVdgvNtiJ3nwumpkkL16NZy07qf/ypyIHhqwvBWzADr8BRoP0HQBUjlBZ8VPnSWRCot/f27udxChMtL7NYuQ+x+WHZqnvxpE2pCXj4pIabYHovXquS7pG9tr81JwGHGH+dZ6eFKnUts+1MbcUERKUt8J81eXeAiMJblaR4byeYS3FlO1XgAyhec0sl0Kljutmu3laOyi1Q6U5D9PjBEwuWfNat/ha1uG7MpSu6VKBmWMYeutWKQNendWKamoc/IqQTcA1NbFdgvxxWy39AcckCuPoFLqDUZ2CDgaORDL7uXn1uprlWFkRj2dZU8DKSLs2R+lAdr5maVNvsWKOvZm/+eAE88MhtL/VP27+knADd0RsQWgjm9UcSCvH/SC/GrRNn2Nd39uiZhM/lR9VNRpyYvzPy7vOyk/K2plKd98ZSK9xiBd4KONUCQ8/Tp7tl0HI+5goAF/ZqlrbzCfPp907eYx3IFBgyR/kQhclRp6fnOGQSdIsEQq7vuMRIZw+ujKWPBAtibpECfl67M+CPfFGR22GI1YQrOOuRg6DNKlPD399OK1osYlKRu7o/7HXlWG9mMcBuHLCw8rzB6N0vhA0301GbdCYe+u4rYttzr+USlsKzgptpS8Nw+gVFlpl66GeeMVbf0azINNk0vAncvDjW2o6SNhnLTLZbfPWGy3KLrY3ztVw2LkfUdae+mdTQ+GF8PPKQ4QI52OozTNlarKKIXnsUwwqL5ZPoIU+gt8w7A2Ww0/aML0aaVWDI75IuUWu2mOeMgsaye+RzI0ssohrhDA6dfcmtsZ/Vie4pNVE6QephP5jC6bKg11/SMh2hblodu7MFQCOd02mw/JInc0KVksfl7bZlkIIPHM7bM99HyUVlp7FgHxtG1vm/DRVT5+he5Wof7dW4yBgHKeKfuscJT7wD5dWdhPjgk72ekO27aMWxVh/FbTahq0epuFmp4Y7CD1DZHmv8M4u8400d5UbUVMkHOQ3aLE+ssFIRNEajJmVIBJN1w6+nTrw833nRaE1hPrf+nOq9fOCeqN5lZNFgPTqE9KclvAHgMMb7qdamJyKLrpnerGeAYNx3I+kBo12eTDja15eya6zbLcNg/UEcRRbWY/v2bD0TprGZ90Udq2zz77esVlz9nh4ma65ID0hlJaAyPgRzNyiy/AihUm0vXfQrov+WC/xeAyryGnA7AOMDxOr8sQfAzUxs1AQCzCPIBZHqUU54qs80HXr99PyNP2QSTZ92JEKJuWSElDWy9mOQA+aTrj+SQamxu0iCxn3gTacqv3HLKQsIxwYGjomTuN2aC0YXhpmgR4hMWLbW4SjVnUz994ka+bbK2mroPyiIbHtq3fkb5/SskwY2iBAPvSEDOjj+2tY1oumNGBnWtja8mqOhutXD9Sj8KS+VPNzWYZEFEHSA4nTosrzb3i51CyTOuIEweZgXlbMLJGraD5ppLXFi9IOjbPJ3w70oZkicMW0DodnQ+mcG39dzbAJ4NRLoOW7YaLhk33JR2tI6XUIydOqEWnysgsdR5Opv2gXYXmNEYF/nHeD+Nj84nNmJf4E3AvzG8GCA+HZ1V7vt/W+V+Qud+kdYC7hUtR+CtcLSSjoHkXRiEeuCWPVMUGAyn3L38B+Dn//i+9XisD8EoFJUYJPmQ1e3nphI57pM+spJMrpMY0O7jcmgDpwQ+zNV4A0QfZA1mvcTkD7LzitswclZaPe0/iW0HmmNyB5OAOAFiXQOETnCe8AzeMP/c9zihBpyIAIn0zGNNofhBH2jug5ziQz99a9VXLr260jQs12AgtGMQkiiVkGz2gRcx35BNo9pCKjmVrFI1GKM1lMxJs7Yt3SAiUGuZHZnunJ1DBB0fbAdSd6LONF+FAcRBWIh/YhCA6I5gsL5cT+T+dPmgbrC6LaTIbb9G5pBppEsgpJSQenFHCLwXaqZ07s2j+nXsM3Yi0CqNtdzf/P4AhZD+lY4+w/YQ90EjrG4V5Pcvn81gfzBZbtrdBYQH8kIh4BdFpAr0yznTldGYkUz6FT8L2C3Pt1yYcWRJ+a2dbdost5kPNS79uewKW/qGXEE1X5gk1/H5lpRguBh1UkZ9GW0Wi+qQmTmzCjkGm4tnbLp1/yIUekDp+xvTZGBfs++43mXjbRfNdpFjEsBkMu8tKXHMljh/Nh5pOk8OWdqEmPB5rElmZ2Q8cExhoTvUb2FrPKxyNcv9TFhpdA0ScZAI4rii50VdOOtjU6vCfbrXFN/5CcH/D6kaMfGBJfX1oj3+w+MLfT5NT0kZEzd9U9lTTy7gELcZqKv8ineFQ4Z0/fH5YaS6HwdXMF56ti53G1+hvuk42KgsmNrCWOhTkITroXGhpsZgKKr4Ny3/CIbccMYAw==","page_age":"1 day ago","title":"The Latest AI News, Insights and Reports | AI Magazine","type":"web_search_result","url":"https://aimagazine.com/"},{"encrypted_content":"EucCCioIExgCIiQyNzc5NjY2OC03MzUxLTQwYWMtYWNjNC0wMjRhZWU4OTk1YTUSDDcCpTw8wzHUDIXuvhoMT/aaopDeAzcuDPEfIjARuWTZOimqV3777CIhFqXdMCrno8+WujqhQPJiCzBaUtGJC4Ugd9i/y0M4JUGRbwUq6gEW7ihurLwGyu+pG3USqORjmvFcRuAmEOGaguyeLo4VLVWoPJsS1adVrTjpJ14DPcuMb4kAYLeRLthT14DB7BaViITddZTtClEO30saUtQCMwCijGriLwPuLKaagULBYJjDo13BvK+FIeQWbDFNDuS3jwlDgixRZVhxblkOw7H/0OQvx4dxsVJkNoN6baJ2av2Mn3BX5PSFdG4LQ/GOn86rHfq2WQm01Fz+nw/gayyn9qdiDELkBhclaL3SbMQONDsB52ncs54XKIvtanpDZ8chTTHaCTPACPf1VT4wucEOQ6y7cWfxxdztZFAYAw==","page_age":null,"title":"AIDB Today","type":"web_search_result","url":"https://aidb.substack.com"},{"encrypted_content":"EuAQCioIExgCIiQyNzc5NjY2OC03MzUxLTQwYWMtYWNjNC0wMjRhZWU4OTk1YTUSDPrEsTD87EQadMkzLxoMNoOcqAtdqJZROy8NIjAjvXyVOKWJeP3DtqYJhx6XKbqL08NCECLyJR3ZvxovWB9iBnGpqmLaBqVMfS+AW7Iq4w8970yLBPjzgk+KEG31JnQq2eUQU9olSokzODkqueAUcCVBR9Gb7CtG3JNFphqZtyafRz01X4S0/C0j8Z0k4HznRgZJcDBMZm+2o8s0+ymx/4nfQMEEFSMagMyesWPWdiOYSEg1T8goHEATOSgrrCRoMbf3/pXqbMxzoxuKfUAs8lxy369VSbaBoGg4aGbCsrM89Acmv9aY69j434QHlibVxbqn03oPVhk6xpxMQQmHIgDUQGGq2+LDityq+/dZJIlawMNpyutSQCkIzCF2e3Ss/5R9vQJQgk+zONmYtd7MXHqmfDZr9CUgHmZp9vYNAugbeMW1zJLXAHSZj+jqIQXXS+0jVo6V3ZD8/wgizt8tpgFJZedpjUWtrcgjqKf9TVw2lOCmC8MFJ9zDrFeRu9qMH2SWuXE67tzcjytTebPwlO0cZaNpdnINVxFsVgFkBb1lhx7aMmphA1hKntZBzINmnzYd8oQIp/gAeeVdNEc5JPDpZyPa/JKpIkbG5WF2RADqPNixZaS/rJHzXzfvDJ1pBOOlRwNqqTZMV34LZ60IiywtGSl7TttjopczUbFOcjVwkvd7WVQ6oJAs41nFlslTUIMZ0YbhfNxwqoBc+4MIKnowGnWtMbXit2GROLLxsJWtUzMutIq0eBgN69xUhF+rVE5yqe1/cw6hJ4VP4Ztt4BmT4haZKVw0CTJtQpxyweu1UfGNXijPBHSkrmdBchok/isuCBGplvbrbsT+S2ZkRYdnB3i2T8BHWvKaamhTNALCRht2aWpuyWyeP0mS2TRXebQCa3nSIQb1tt7VkIDH0aVpX4/FecZQ6Oa5TGIanbuaab3Wof+Zt5btatg8FdgLhAcU7nGAIv+FK9PEHsNYITdz9u4HakYZ15QsLplc0vgP0ofedELmdj4bMZMUQuB7ldrKaCXSfInqPa0w1qFXJRRp/YZ3UOPLL3iJx9lndMWlg6+Sd1XiMgtweg+NbnhAzW+/990J4svAahpMPJhz7C6QK5LiWPDY2O91fXCP0FC1WDSSUGC1q88KvqPMYJSvfaSiYBr5kihFb1O7A981necoWf4S/4RGJvJw74gCHAwW+2e1gchdo8GEGBp7An9MOo8j/2FUiQZdefr4fWC+HQa8Jk3quy0tdlKIxlBsewgNHIiNhS/ofMKCeAuLKqcTTKNj+DzfzAxWwpyCSdSFkbXTakAOcUFa2rWscxfm/CGJf2gQX49oZTF/FP9/ePp0AhrUKPxcpHE4BWqdcrtxtHvQ83DKUdABE+JeSIEB0Ls/3KIINjf5iBeIzBGHxilpzIR2swhA1aPhvM5sVHskOM/Tt5Xa50GOZImxzD8gQPi/WbAKw3Bjm5jzXmqMpDMTYqYJrHs2rGLRQC1aUD1QeeMj6W3QRqJ4R1P48TjwtxiDO3Zplic2fc20obV86CdMEiWwg241t2Bu+qwEv3vHz3pvUkHslyuXM/Rg9Er1cgdsKFZBdwQY9BD1/alXjKU8EaqwSV5XwFgS5dTvvh64ghxc4VolVTnuCym1hFq2admWlRn3dT6tYtpGA0JddJm1QYTUQ76NKrREXzuFRflV+WGqNKKqJ8cF1tksOx0sH2j4hZlw9orbbX9unqJI1SD2TVUpYWsJ4bSEr4SXEbkc1Oc8iDRIsobBuDIkhd8PL/XRwB9/bCLaya8aMAeImo08X7E1vP7HzrmOBGUFfNLFbnHxd8aeogqt0pWLKaVC1m7uOo2EpFbkzOtNIcXT2A549qxneBqWHYHdmm4cDIWgU2VqBA4h8FbxJrfXQXSYkpvcFHIhtb8qgS3CUbYz+U3Hx839+WCS9xjmVzgGbm5H05zkgxRJC3Wz+yVcZNtgLgGTMIkst/gRsqoxO2F6QBMSfRh3B38SSmI3OBpPKoGZ00EsSK29MlICNnq/mkOtgDiXiZAohjgDPLi5zTuRjDz+d7MfH27WL1P7yGg/H/jhtOBS+lOi6nH8nO2q3IPE0QDQrgfATyd2hgml3Adr1VYLrScUU/rxjyUeZ3atpuz7SN6bY3cw66QIyHwExG/a24skevrKo/eZbHX+qeyZX53xjGhATgapwJI6H/+itgcQRogZ7chDJDXi7gUnqjBfil+5ZYA7Iks/F62BRC04zAXJ7xfBiRIesTZQv7pEExUr8Kw1bdwEE42Nyv1ctHEV8fEZHK5tcAQrcMvw7h8d1/5Trw/P41AWOV2QTRh9KzaqUp3msa6Yy1Q6VsYdPVmYhFdbXA1slaETuHgGedHPIiTQnnBd7JYGpmU+KMz0iDx1z91RYETn3sRQz0T52s+2CE774gHcd97jeHWcDPv8i4VigvH0i4Ir+5xr5yOvDuvRc1TV/74/jj6l6g4whS5kf66VmRXCz6Osn1Sh9vgYZblbuC1HzljaRrsYB0Q154nK+BbMHanFEHVUzGoD+76UK+Zh2yZ8oUPLtDN9iX2QYSw1GPqNRIa6IQQ+M3fzX6rxRRF5z0TTNXzRbJ5uN49nia75BzRoY6DnfpZhyl68SiQJIo+6tGDXWaJZw9UNMJAKAiOrmEdls3luEw5ChkeYa4Fym5a2xn1/iBCkEXMx8E2h1ctdJRLdARGoYWJa773ZE6xCw16ntfXPx4SsqcVhRgDcF3AA2FxpzOgy9n56sGmTRmINKayAUxfHV+yaZvIRD5UbsUpUXCWJKjdE7jsYmKkrjXUYAw==","page_age":null,"title":"artificial intelligence newsletter","type":"web_search_result","url":"https://www.foxnews.com/category/columns/artificial-intelligence-newsletter?page=13"},{"encrypted_content":"EuAQCioIExgCIiQyNzc5NjY2OC03MzUxLTQwYWMtYWNjNC0wMjRhZWU4OTk1YTUSDPOgBZgk85IvNDxi+hoMI9sFH5rdx0Bq4Ao0IjBGQdb/B2/CKbu4j40F9fZntht7VdFiTOXqvhLE/ZuoBaj8rtGbeLfZrWuUF0kp2ZAq4w8BPjjT7CgU4E9nFaE9FylD4VilMJ8/3LAZeS/vgKy4gZKtwwMcFtlQdaNjO2ep3K6DfOXYPAUUBMma5kDqgKcID+Od4pn5NgGgjZriXqzcBX830h+LdySCJXTKpKRvZzkFHP9HzAqGgK8ZBDuBQMiHSHZqC7oGBIG7SWsqcRAoQXfDyoh3iml8qmh8ZuB4X6LImXElK4UMY9b8+N3b57s7kGM6MXG3P0I2h5FGuJSbjHWo/VkTHiDgjwSCfoyvWF+3AZ8Q2OMdpZMBBp2hgqPkZF5QhebyeU8xNF/YuFrTTAzBRJieVi+BoDM5GlKoB7UKax3j+YYIKfxOvJsUnCCEjTo7+jLxmwQoZyzCd93DTPZ8lA3EKD8EWKc1q3hCa7LwWjY4B0h77AxxrrEkyFlM4WzkRLdigR7LuUdBdPs/LXRCo5n2yDkYX0N81y0aynH2NohNGgNzn015t9p3FY3US8rWe3lJQslRqjABcNkxmL0yLaKDbiROIGSHryUZ1pmury8MjFcO1WTzgeOm3FUTP/ibjgpNVNxJGeE5RoxKXjutPRDi9jZGNqPGDzFW5l0Y7mfB4lbJ5FqvgI1kihKIO0b9FzS4GsLyiK3+GrDqK0zvJ98ym+VpFvj69sczMKyWjIBGpbkBsGdbmIhFzVAxSyZ+f8/g3Cs5BEYK6agPmVr3g7tOiwTMcTDTFd8j2RyDDiFRPJsJdB1q6GeawehnvgVIHOJp1JaLkmvBn6HuUsaSdNGsehCKRi9DuGyz1K0Qcvi54+UDqTuH9OdqEnBbgFd8VBvvDF9UcYwrcSO+1eS03pMrQ4IHJf+7pjFMfPfeOFPnWI8W0UFjsZjIO0o6aDF+4tKnhaiIR2z5acsmVLGvtUtBWrpj11qqj3+UZ3BUqvAraLxN9Ywzry67OAJ8g4tNPlzrmox9BqTpaCsNBKx3BfskIeYWcIZtfQlU+HeHOd3C5U4jVZHXShc6lq+WvUlY//rh5mY2qa2RdJq1OcJ62B3eEIuS2XB5jjKvadvSSVptdOYrbcX1KM6psJ1llC6WAXo58d6xLuPuLRAZUdKbK2HXd0Xhi9rbGRxtKdSSTJ0HVzVnxRCGf2WdhK4+pkVqO3QbsZZEqc00VqthuX33GmnYJjte2tqo4hHML1U2+k/2hz+IWl6dEOJn3tyQzi3GVjSO3sfVN3U0CWaZzo8bwUlwmtWYvJF8epBXndgYABAAbNHFZxh/rdLQUveLNM7lW39LXmz+FxY+k8Z3K3aRcD63exl4QRKcbaxoo89NHPI6LWLCGLB4CNm9Z8NaierXM5EpJP34zjlTwjo0zxjMA2VNX10WMPIVfxsf6b+Zlmu2U3WvFVTuJkqkrcS9vp4yJhdqQPIY4L/O77SqmF2U6VeYoWoFbKEtbMdHWxKFNluYOM0skGtyKFhVwh+hmG03H5Eo6y6fyZL796nR5a17vd1JssYAz1bvz9yz6pEnG2a5Xut9rT3z3m6I0ddmAdp3KCDwhTA2L/UYbvutMWUh7iaaOgOixg0dkRc3Ge61nYok0/9qXmwRI0qBAl+FQmVCb1dZ/NQsSfhwVsvNkNfLwPEnrDDcuVr7XwMzpJE6vRONUGhVXd6/yuJIFCvtD3VCraPzOmh53pW0zyeSP3hZE4u1ool3Sxa8Nieo6P3Omfn8q+DOlb2R6CjB4OacbtWE6/RD8ZKtU+ftlF8yUkyKLW4OgZSkZB6hBB3+KYB2S4sdKU0M3Zl5corPKXCtvHQawdyOAAgH4S3BM5M73mRGl4l0WPEpTT0pLzODa1+fZoPSuST8mHAfgLKkjT+HG4jzFee9IVJXnf8Wy3ui1AYdQhTFh9PJCqbhyYiDIDVfh8B9l1RBO/BtfefKLnZHD5t7+kzJYShJOc5GaPi8/9cbqzHKPqQQIOXkTsxWaqAN5LVB1Xy0UMeCv85TYKSMEU+mn7X/lWio2ws/6ujlZ14tCdg9LU5TiXJsYr6AnEE/PXpuXgjkjDPFHq+CQBOXmVIOPPwqLz3WPU5v9uQKD9ufuhzfjj8GotwxSautTs8C+Tnk9hCR5dnnEN4MghauvmFTzpJa6OOvs6EKO29HzJ3YtiPBTf7qA7GftgQg1Ep251d/obe6nzn1Btl842xBJs0mmX8PO2VWQvqeMs+GwT/5YfnDp6iJHzv+iySEtyZs9jA60vppZlPoYd0FyFYN/7nmUMq7x7ul0IDrPtBb7HBGN/rKWWPondLahWBx5E1DWoFBSkxL/L3CUiRVOMroY0/HEiJeU/41D8dD+VZIBpzV3CdjSvfg9KSqprWUI7lT2gxVf9w9ljNdvmcti+tNI5fpK/MrFVWWtxMfTxMt7O7UgNTJnDLk7joMAE3vcKh8Npfj9joJc43uD2aQG2CVF5oplvdF0HCyWKLd+GWqe8F9bHlVwIxwqW4biKxo8Ebf0VCPbSmb2IuKtdMgmMqQvGwGTeTTol/i4h/xImsQz+vGLEm5Boutgc9DjhcFRxqhien9ucyiWRBYwL8v8YpCv3IQIEeyRrnG/a5RvpcSS4WYV4EKVj5Ngemr+ZJ0hQDHvyIDUj52ELmT5tPOpsKZ4qKwwbkAbSRHmzpDLeyQSNWwBxP5PpVoVEDCU65koJYO8wsEh9tKbcBqD5//ApEo4936eZ2V0fFm7efWS+jZxpXk6gGB9O1jdT7uERMqg3dxPNoYAw==","page_age":null,"title":"artificial intelligence newsletter","type":"web_search_result","url":"https://www.foxnews.com/category/columns/artificial-intelligence-newsletter?page=9"}],"tool_use_id":"srvtoolu_012jwHZbUsD8YwQ2PmJfaAmi","type":"web_search_tool_result"},{"citations":[{"cited_text":"Meta is updating its AI glasses to stop recording if someone covers the capture LED and cracking down on covert filming and harassment. ","encrypted_index":"Eo8BCioIExgCIiQyNzc5NjY2OC03MzUxLTQwYWMtYWNjNC0wMjRhZWU4OTk1YTUSDNAhfkEkyxF9kn/q1hoMqjgcUKr0V29W+D/vIjABt4oVJQzUfvtTUAnpK7u93Mm1TBKfOeW7NW+JzSofrd2ePCus7WWuDjqtT1QFAE8qEwQAH7FBPuBGxTl5gt/lvhkZ2WAYBA==","title":"AI News, Updates, Products and Reviews | Yahoo Tech","type":"web_search_result_location","url":"https://tech.yahoo.com/ai/"}],"text":"Meta is updating its AI glasses to stop recording if someone covers the capture LED and is cracking down on covert filming and harassment.","type":"text"}],"id":"msg_011CebER4qPptWWLL5nos1fi","model":"claude-sonnet-4-5-20250929","role":"assistant","stop_details":null,"stop_reason":"end_turn","stop_sequence":null,"type":"message","usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":0},"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"inference_geo":"not_available","input_tokens":8615,"output_tokens":101,"server_tool_use":{"web_fetch_requests":0,"web_search_requests":1},"service_tier":"standard"}},"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"5ebbf0fd54af3ba1dafc91c34d181abf","scores":null,"span_attributes":{"name":"anthropic.messages.create","type":"llm"},"span_id":"57273781b5b257ec","span_parents":["315297cdabb281bb"],"tags":null},{"_async_scoring_state":null,"_pagination_key":"p07680251233063075840","_xact_id":"1000197783586473083","audit_data":[{"_xact_id":"1000197783586473083","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":{"span_origin":{"instrumentation":{"name":"braintrust-java"},"name":"braintrust.sdk.java","version":"0.3.22-ca5ce6d-DIRTY"}},"created":"2026-08-31T17:37:10.626Z","error":null,"expected":null,"facets":null,"id":"a0c369225cc66870","input":{"query":"AI news today"},"is_root":false,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","caller":{"type":"direct"},"tool_call_type":"server_tool_use","tool_result_type":"web_search_tool_result","tool_use_id":"srvtoolu_012jwHZbUsD8YwQ2PmJfaAmi"},"metrics":{"end":1788197830.6262789,"start":1788197830.6262789},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":[{"encrypted_content":"","page_age":"1 day ago","title":"AI News & Artificial Intelligence | TechCrunch","type":"web_search_result","url":"https://techcrunch.com/category/artificial-intelligence/"},{"encrypted_content":"","page_age":"3 days ago","title":"AI News | Latest News | Insights Powering AI-Driven Business Growth","type":"web_search_result","url":"https://www.artificialintelligence-news.com/"},{"encrypted_content":"","page_age":"5 hours ago","title":"AI News: Top Stories, Ranked & Explained | AI Weekly","type":"web_search_result","url":"https://aiweekly.co/"},{"encrypted_content":"","page_age":"6 hours ago","title":"AI News, Updates, Products and Reviews | Yahoo Tech","type":"web_search_result","url":"https://tech.yahoo.com/ai/"},{"encrypted_content":"","page_age":"1 day ago","title":"The Latest AI News, Insights and Reports | AI Magazine","type":"web_search_result","url":"https://aimagazine.com/"},{"encrypted_content":"","page_age":null,"title":"AIDB Today","type":"web_search_result","url":"https://aidb.substack.com"},{"encrypted_content":"","page_age":null,"title":"artificial intelligence newsletter","type":"web_search_result","url":"https://www.foxnews.com/category/columns/artificial-intelligence-newsletter?page=13"},{"encrypted_content":"","page_age":null,"title":"artificial intelligence newsletter","type":"web_search_result","url":"https://www.foxnews.com/category/columns/artificial-intelligence-newsletter?page=9"}],"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"5ebbf0fd54af3ba1dafc91c34d181abf","scores":null,"span_attributes":{"name":"web_search","type":"tool"},"span_id":"a0c369225cc66870","span_parents":["57273781b5b257ec"],"tags":null}],"schema":{"type":"array","items":{"type":"object","properties":{"_async_scoring_state":{},"_pagination_key":{"description":"A stable, time-ordered key that can be used to paginate over project logs events. This field is auto-generated by Braintrust and only exists in Brainstore.","type":["string","null"]},"_xact_id":{"description":"The transaction id of an event is unique to the network operation that processed the event insertion. Transaction ids are monotonically increasing over time and can be used to retrieve a versioned snapshot of the project logs (see the `version` parameter)","type":"string"},"audit_data":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"classifications":{"anyOf":[{"additionalProperties":{"items":{"additionalProperties":false,"properties":{"confidence":{"description":"Optional confidence score for the classification","type":["number","null"]},"id":{"description":"Stable classification identifier","type":"string"},"label":{"description":"Original label of the classification item, which is useful for search and indexing purposes","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"type":"object"},{"type":"null"}],"description":"Optional metadata associated with the classification"},"source":{"anyOf":[{"anyOf":[{"additionalProperties":false,"properties":{"id":{"type":"string"},"type":{"const":"function","type":"string"},"version":{"description":"The version of the function","type":"string"}},"required":["type","id"],"type":"object"},{"additionalProperties":false,"properties":{"function_type":{"default":"scorer","description":"The type of global function. Defaults to 'scorer'.","enum":["llm","scorer","task","tool","custom_view","preprocessor","facet","classifier","tag","parameters","sandbox"],"type":"string"},"name":{"type":"string"},"type":{"const":"global","type":"string"}},"required":["type","name"],"type":"object"}]},{"type":"null"}],"description":"Optional function identifier that produced the classification"}},"required":["id"],"type":"object"},"type":"array"},"properties":{},"type":"object"},{"type":"null"}]},"comments":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"context":{"anyOf":[{"additionalProperties":{},"properties":{"caller_filename":{"description":"Name of the file in code where the project logs event was created","type":["string","null"]},"caller_functionname":{"description":"The function in code which created the project logs event","type":["string","null"]},"caller_lineno":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"created":{"description":"The timestamp the project logs event was created","format":"date-time","type":"string"},"error":{"description":"The error that occurred, if any."},"expected":{"description":"The ground truth value (an arbitrary, JSON serializable object) that you'd compare to `output` to determine if your `output` value is correct or not. Braintrust currently does not compare `output` to `expected` for you, since there are so many different ways to do that correctly. Instead, these values are just used to help you navigate while digging into analyses. However, we may later use these values to re-score outputs or fine-tune your models."},"facets":{"anyOf":[{"additionalProperties":{"type":["string","null"]},"properties":{},"type":"object"},{"type":"null"}]},"id":{"description":"A unique identifier for the project logs event. If you don't provide one, Braintrust will generate one for you","type":"string"},"input":{"description":"The arguments that uniquely define a user input (an arbitrary, JSON serializable object)."},"is_root":{"description":"Whether this span is a root span","type":["boolean","null"]},"log_id":{"const":"g","description":"A literal 'g' which identifies the log as a project log","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"properties":{"model":{"description":"The model used for this example","type":["string","null"]}},"type":"object"},{"type":"null"}]},"metrics":{"anyOf":[{"additionalProperties":{"type":"number"},"properties":{"caller_filename":{"description":"This metric is deprecated"},"caller_functionname":{"description":"This metric is deprecated"},"caller_lineno":{"description":"This metric is deprecated"},"completion_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"end":{"description":"A unix timestamp recording when the section of code which produced the project logs event finished","type":["number","null"]},"prompt_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"start":{"description":"A unix timestamp recording when the section of code which produced the project logs event started","type":["number","null"]},"tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"org_id":{"description":"Unique id for the organization that the project belongs under","format":"uuid","type":"string"},"origin":{"anyOf":[{"description":"Reference to the original object and event this was copied from.","properties":{"_xact_id":{"description":"Transaction ID of the original event.","type":["string","null"]},"created":{"description":"Created timestamp of the original event. Used to help sort in the UI","type":["string","null"]},"id":{"description":"ID of the original event.","type":"string"},"object_id":{"description":"ID of the object the event is originating from.","format":"uuid","type":"string"},"object_type":{"description":"Type of the object the event is originating from.","enum":["project_logs","experiment","dataset","prompt","function","prompt_session"],"type":"string"}},"required":["object_type","object_id","id"],"type":"object"},{"type":"null"}]},"output":{"description":"The output of your application, including post-processing (an arbitrary, JSON serializable object), that allows you to determine whether the result is correct or not. For example, in an app that generates SQL queries, the `output` should be the _result_ of the SQL query generated by the model, not the query itself, because there may be multiple valid queries that answer a single question."},"project_id":{"description":"Unique identifier for the project","format":"uuid","type":"string"},"root_span_id":{"description":"A unique identifier for the trace this project logs event belongs to","type":"string"},"scores":{"anyOf":[{"additionalProperties":{"anyOf":[{"maximum":1,"minimum":0,"type":"number"},{"type":"null"}]},"properties":{},"type":"object"},{"type":"null"}]},"span_attributes":{"anyOf":[{"additionalProperties":{},"description":"Human-identifying attributes of the span, such as name, type, etc.","properties":{"name":{"description":"Name of the span, for display purposes only","type":["string","null"]},"purpose":{"anyOf":[{"enum":["scorer"],"type":"string"},{"type":"null"}]},"type":{"anyOf":[{"enum":["llm","score","function","eval","task","tool","automation","facet","preprocessor","classifier","review"],"type":"string"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"span_id":{"description":"A unique identifier used to link different project logs events together as part of a full trace. See the [tracing guide](https://www.braintrust.dev/docs/instrument) for full details on tracing","type":"string"},"span_parents":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]},"tags":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]}}}},"realtime_state":{"type":"on","minimum_xact_id":"1000197783589161396","read_bytes":14598,"actual_xact_id":"1000197783589884487"},"freshness_state":{"last_processed_xact_id":"1000197783589884487","last_considered_xact_id":"1000197783589884487"},"warnings":[]} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-88a3fdc03a4f.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-88a3fdc03a4f.json new file mode 100644 index 00000000..944b3713 --- /dev/null +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-88a3fdc03a4f.json @@ -0,0 +1 @@ +{"data":[{"name":"test-distributed-trace-parent","root_span_id":"b2c4e2f917794144eff5e6ac0e08e33e","span_id":"eb85fed14607ba1c","span_parents":null},{"name":"LLM","root_span_id":"b2c4e2f917794144eff5e6ac0e08e33e","span_id":"1fed1e53-3198-4f06-8ec2-a182c0c71716","span_parents":["3e4e53d6-aa3e-4307-8f99-eef7e80651af"]},{"name":"close-enough-judge","root_span_id":"b2c4e2f917794144eff5e6ac0e08e33e","span_id":"3e4e53d6-aa3e-4307-8f99-eef7e80651af","span_parents":["eb85fed14607ba1c"]}],"schema":{"type":"array","items":{"type":"object","properties":{"span_id":{"description":"A unique identifier used to link different project logs events together as part of a full trace. See the [tracing guide](https://www.braintrust.dev/docs/instrument) for full details on tracing","type":"string"},"span_parents":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]},"root_span_id":{"description":"A unique identifier for the trace this project logs event belongs to","type":"string"},"name":{"description":"Name of the span, for display purposes only","type":["string","null"]}}}},"cursor":"apW7hQC6AAA","realtime_state":{"type":"on","minimum_xact_id":"1000197755177471893","read_bytes":8297,"actual_xact_id":"1000197783581886495"},"freshness_state":{"last_processed_xact_id":"1000197783581819585","last_considered_xact_id":"1000197783581886495"},"warnings":[]} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-8ba1d50d5105.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-8ba1d50d5105.json new file mode 100644 index 00000000..a9d4f863 --- /dev/null +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-8ba1d50d5105.json @@ -0,0 +1 @@ +{"data":[{"_async_scoring_state":null,"_pagination_key":"p07680251147406540811","_xact_id":"1000197783585166068","audit_data":[{"_xact_id":"1000197783585166068","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":{"span_origin":{"instrumentation":{"name":"braintrust-java"},"name":"braintrust.sdk.java","version":"0.3.22-ca5ce6d-DIRTY"}},"created":"2026-08-31T17:36:54.980Z","error":null,"expected":null,"facets":null,"id":"bc8acd7e85ace2a6","input":null,"is_root":true,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","client":"springai-openai"},"metrics":{"end":1788197816.8547034,"start":1788197814.9802449},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":null,"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"cfeeeef1fadd4cfbf965ede95b78f38c","scores":null,"span_attributes":{"name":"attachments","type":"task"},"span_id":"bc8acd7e85ace2a6","span_parents":null,"tags":null},{"_async_scoring_state":null,"_pagination_key":"p07680251147406540805","_xact_id":"1000197783585166068","audit_data":[{"_xact_id":"1000197783585166068","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":{"span_origin":{"instrumentation":{"name":"braintrust-java"},"name":"braintrust.sdk.java","version":"0.3.22-ca5ce6d-DIRTY"}},"created":"2026-08-31T17:36:54.996Z","error":null,"expected":null,"facets":null,"id":"db772c8d2995e94c","input":[{"content":"you are a helpful assistant","role":"system"},{"content":[{"text":"Briefly describe these attachments","type":"text"},{"image_url":{"url":{"content_type":"image/png","filename":"attachment.png","key":"62dbe552-c52e-4a22-870c-96956c193d6a","type":"braintrust_attachment"}},"type":"image_url"},{"file":{"file_data":{"content_type":"application/pdf","filename":"attachment.pdf","key":"7d2f2dfd-28d1-4d7e-b715-06fbba5f367d","type":"braintrust_attachment"},"filename":"blank.pdf"},"type":"file"}],"role":"user"}],"is_root":false,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","model":"gpt-4o","provider":"openai","request_base_uri":"http://localhost:52408","request_method":"POST","request_path":"chat/completions","response_id":"chatcmpl-EJ0EBmejmHqJyetvRCxNHHkMFgnmX","stream":false,"temperature":0,"x-request-id":"req_4e8a50f4083e4496845523e891d525fc"},"metrics":{"completion_reasoning_tokens":0,"completion_tokens":50,"end":1788197816.8424451,"estimated_cost":0.0017375000000000001,"prompt_cached_tokens":0,"prompt_tokens":495,"start":1788197814.9967191,"tokens":545},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":[{"finish_reason":"stop","index":0,"logprobs":null,"message":{"annotations":[],"content":"The first attachment is a solid red square, which appears to be a plain red image with no additional content or details.\n\nThe second attachment, \"blank.pdf,\" is a document that contains no readable content or images. It appears to be completely blank.","refusal":null,"role":"assistant"}}],"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"cfeeeef1fadd4cfbf965ede95b78f38c","scores":null,"span_attributes":{"name":"Chat Completion","type":"llm"},"span_id":"db772c8d2995e94c","span_parents":["bc8acd7e85ace2a6"],"tags":null}],"schema":{"type":"array","items":{"type":"object","properties":{"_async_scoring_state":{},"_pagination_key":{"description":"A stable, time-ordered key that can be used to paginate over project logs events. This field is auto-generated by Braintrust and only exists in Brainstore.","type":["string","null"]},"_xact_id":{"description":"The transaction id of an event is unique to the network operation that processed the event insertion. Transaction ids are monotonically increasing over time and can be used to retrieve a versioned snapshot of the project logs (see the `version` parameter)","type":"string"},"audit_data":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"classifications":{"anyOf":[{"additionalProperties":{"items":{"additionalProperties":false,"properties":{"confidence":{"description":"Optional confidence score for the classification","type":["number","null"]},"id":{"description":"Stable classification identifier","type":"string"},"label":{"description":"Original label of the classification item, which is useful for search and indexing purposes","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"type":"object"},{"type":"null"}],"description":"Optional metadata associated with the classification"},"source":{"anyOf":[{"anyOf":[{"additionalProperties":false,"properties":{"id":{"type":"string"},"type":{"const":"function","type":"string"},"version":{"description":"The version of the function","type":"string"}},"required":["type","id"],"type":"object"},{"additionalProperties":false,"properties":{"function_type":{"default":"scorer","description":"The type of global function. Defaults to 'scorer'.","enum":["llm","scorer","task","tool","custom_view","preprocessor","facet","classifier","tag","parameters","sandbox"],"type":"string"},"name":{"type":"string"},"type":{"const":"global","type":"string"}},"required":["type","name"],"type":"object"}]},{"type":"null"}],"description":"Optional function identifier that produced the classification"}},"required":["id"],"type":"object"},"type":"array"},"properties":{},"type":"object"},{"type":"null"}]},"comments":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"context":{"anyOf":[{"additionalProperties":{},"properties":{"caller_filename":{"description":"Name of the file in code where the project logs event was created","type":["string","null"]},"caller_functionname":{"description":"The function in code which created the project logs event","type":["string","null"]},"caller_lineno":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"created":{"description":"The timestamp the project logs event was created","format":"date-time","type":"string"},"error":{"description":"The error that occurred, if any."},"expected":{"description":"The ground truth value (an arbitrary, JSON serializable object) that you'd compare to `output` to determine if your `output` value is correct or not. Braintrust currently does not compare `output` to `expected` for you, since there are so many different ways to do that correctly. Instead, these values are just used to help you navigate while digging into analyses. However, we may later use these values to re-score outputs or fine-tune your models."},"facets":{"anyOf":[{"additionalProperties":{"type":["string","null"]},"properties":{},"type":"object"},{"type":"null"}]},"id":{"description":"A unique identifier for the project logs event. If you don't provide one, Braintrust will generate one for you","type":"string"},"input":{"description":"The arguments that uniquely define a user input (an arbitrary, JSON serializable object)."},"is_root":{"description":"Whether this span is a root span","type":["boolean","null"]},"log_id":{"const":"g","description":"A literal 'g' which identifies the log as a project log","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"properties":{"model":{"description":"The model used for this example","type":["string","null"]}},"type":"object"},{"type":"null"}]},"metrics":{"anyOf":[{"additionalProperties":{"type":"number"},"properties":{"caller_filename":{"description":"This metric is deprecated"},"caller_functionname":{"description":"This metric is deprecated"},"caller_lineno":{"description":"This metric is deprecated"},"completion_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"end":{"description":"A unix timestamp recording when the section of code which produced the project logs event finished","type":["number","null"]},"prompt_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"start":{"description":"A unix timestamp recording when the section of code which produced the project logs event started","type":["number","null"]},"tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"org_id":{"description":"Unique id for the organization that the project belongs under","format":"uuid","type":"string"},"origin":{"anyOf":[{"description":"Reference to the original object and event this was copied from.","properties":{"_xact_id":{"description":"Transaction ID of the original event.","type":["string","null"]},"created":{"description":"Created timestamp of the original event. Used to help sort in the UI","type":["string","null"]},"id":{"description":"ID of the original event.","type":"string"},"object_id":{"description":"ID of the object the event is originating from.","format":"uuid","type":"string"},"object_type":{"description":"Type of the object the event is originating from.","enum":["project_logs","experiment","dataset","prompt","function","prompt_session"],"type":"string"}},"required":["object_type","object_id","id"],"type":"object"},{"type":"null"}]},"output":{"description":"The output of your application, including post-processing (an arbitrary, JSON serializable object), that allows you to determine whether the result is correct or not. For example, in an app that generates SQL queries, the `output` should be the _result_ of the SQL query generated by the model, not the query itself, because there may be multiple valid queries that answer a single question."},"project_id":{"description":"Unique identifier for the project","format":"uuid","type":"string"},"root_span_id":{"description":"A unique identifier for the trace this project logs event belongs to","type":"string"},"scores":{"anyOf":[{"additionalProperties":{"anyOf":[{"maximum":1,"minimum":0,"type":"number"},{"type":"null"}]},"properties":{},"type":"object"},{"type":"null"}]},"span_attributes":{"anyOf":[{"additionalProperties":{},"description":"Human-identifying attributes of the span, such as name, type, etc.","properties":{"name":{"description":"Name of the span, for display purposes only","type":["string","null"]},"purpose":{"anyOf":[{"enum":["scorer"],"type":"string"},{"type":"null"}]},"type":{"anyOf":[{"enum":["llm","score","function","eval","task","tool","automation","facet","preprocessor","classifier","review"],"type":"string"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"span_id":{"description":"A unique identifier used to link different project logs events together as part of a full trace. See the [tracing guide](https://www.braintrust.dev/docs/instrument) for full details on tracing","type":"string"},"span_parents":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]},"tags":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]}}}},"realtime_state":{"type":"on","minimum_xact_id":"1000197783589884487","read_bytes":0,"actual_xact_id":"1000197783589884487"},"freshness_state":{"last_processed_xact_id":"1000197783589884487","last_considered_xact_id":"1000197783589884487"},"warnings":[]} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-8ed952ec43a4.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-8ed952ec43a4.json deleted file mode 100644 index 50eeab86..00000000 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-8ed952ec43a4.json +++ /dev/null @@ -1 +0,0 @@ -{"data":[{"_async_scoring_state":null,"_pagination_key":"p07659835899147517952","_xact_id":"1000197472073199225","audit_data":[{"_xact_id":"1000197472073199225","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":null,"created":"2026-07-07T17:15:15.090Z","error":null,"expected":null,"facets":null,"id":"331dc57fd4f90911","input":null,"is_root":true,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","client":"springai-anthropic"},"metrics":{"end":1783444517.0504735,"start":1783444515.090007},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":null,"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"980b9347b71fe7478555f6d00157a76d","scores":null,"span_attributes":{"name":"attachments","type":"task"},"span_id":"331dc57fd4f90911","span_parents":null,"tags":null},{"_async_scoring_state":null,"_pagination_key":"p07659835899147517957","_xact_id":"1000197472073199225","audit_data":[{"_xact_id":"1000197472073199225","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":null,"created":"2026-07-07T17:15:15.106Z","error":null,"expected":null,"facets":null,"id":"39a29e6d248ef74a","input":[{"content":[{"text":"Briefly describe these attachments","type":"text"},{"source":{"content_type":"image/png","filename":"attachment.png","key":"8e588ee3-a4c5-49c6-b777-159e21bfac53","type":"braintrust_attachment"},"type":"image"},{"source":{"content_type":"application/pdf","filename":"attachment.pdf","key":"63856c32-ff15-43e4-b4b3-98acfe09ba99","type":"braintrust_attachment"},"type":"document"}],"role":"user"}],"is_root":false,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","model":"claude-haiku-4-5-20251001","provider":"anthropic","request_base_uri":"http://localhost:63165","request_method":"POST","request_path":"v1/messages"},"metrics":{"completion_tokens":105,"end":1783444517.0422435,"prompt_cache_creation_1h_tokens":0,"prompt_cache_creation_5m_tokens":0,"prompt_cached_tokens":0,"prompt_tokens":1592,"start":1783444515.1060183,"tokens":1697},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":{"content":[{"text":"I can see that you've shared a PDF attachment, but the document appears to be blank or contains no visible text or images on the page shown. \n\nTo help you better, could you please:\n1. Verify that the file uploaded correctly\n2. Check if there's content on other pages of the PDF\n3. Re-upload the document if it may have been corrupted\n\nOnce you share a document with readable content, I'll be happy to provide a brief description of it.","type":"text"}],"id":"msg_011Cco5GBACywnKPEFZtkcKi","model":"claude-haiku-4-5-20251001","role":"assistant","stop_details":null,"stop_reason":"end_turn","stop_sequence":null,"type":"message","usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":0},"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"inference_geo":"not_available","input_tokens":1592,"output_tokens":105,"service_tier":"standard"}},"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"980b9347b71fe7478555f6d00157a76d","scores":null,"span_attributes":{"name":"anthropic.messages.create","type":"llm"},"span_id":"39a29e6d248ef74a","span_parents":["331dc57fd4f90911"],"tags":null}],"schema":{"type":"array","items":{"type":"object","properties":{"_async_scoring_state":{},"_pagination_key":{"description":"A stable, time-ordered key that can be used to paginate over project logs events. This field is auto-generated by Braintrust and only exists in Brainstore.","type":["string","null"]},"_xact_id":{"description":"The transaction id of an event is unique to the network operation that processed the event insertion. Transaction ids are monotonically increasing over time and can be used to retrieve a versioned snapshot of the project logs (see the `version` parameter)","type":"string"},"audit_data":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"classifications":{"anyOf":[{"additionalProperties":{"items":{"additionalProperties":false,"properties":{"confidence":{"description":"Optional confidence score for the classification","type":["number","null"]},"id":{"description":"Stable classification identifier","type":"string"},"label":{"description":"Original label of the classification item, which is useful for search and indexing purposes","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"type":"object"},{"type":"null"}],"description":"Optional metadata associated with the classification"},"source":{"anyOf":[{"anyOf":[{"additionalProperties":false,"properties":{"id":{"type":"string"},"type":{"const":"function","type":"string"},"version":{"description":"The version of the function","type":"string"}},"required":["type","id"],"type":"object"},{"additionalProperties":false,"properties":{"function_type":{"default":"scorer","description":"The type of global function. Defaults to 'scorer'.","enum":["llm","scorer","task","tool","custom_view","preprocessor","facet","classifier","tag","parameters","sandbox"],"type":"string"},"name":{"type":"string"},"type":{"const":"global","type":"string"}},"required":["type","name"],"type":"object"}]},{"type":"null"}],"description":"Optional function identifier that produced the classification"}},"required":["id"],"type":"object"},"type":"array"},"properties":{},"type":"object"},{"type":"null"}]},"comments":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"context":{"anyOf":[{"additionalProperties":{},"properties":{"caller_filename":{"description":"Name of the file in code where the project logs event was created","type":["string","null"]},"caller_functionname":{"description":"The function in code which created the project logs event","type":["string","null"]},"caller_lineno":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"created":{"description":"The timestamp the project logs event was created","format":"date-time","type":"string"},"error":{"description":"The error that occurred, if any."},"expected":{"description":"The ground truth value (an arbitrary, JSON serializable object) that you'd compare to `output` to determine if your `output` value is correct or not. Braintrust currently does not compare `output` to `expected` for you, since there are so many different ways to do that correctly. Instead, these values are just used to help you navigate while digging into analyses. However, we may later use these values to re-score outputs or fine-tune your models."},"facets":{"anyOf":[{"additionalProperties":{"type":["string","null"]},"properties":{},"type":"object"},{"type":"null"}]},"id":{"description":"A unique identifier for the project logs event. If you don't provide one, Braintrust will generate one for you","type":"string"},"input":{"description":"The arguments that uniquely define a user input (an arbitrary, JSON serializable object)."},"is_root":{"description":"Whether this span is a root span","type":["boolean","null"]},"log_id":{"const":"g","description":"A literal 'g' which identifies the log as a project log","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"properties":{"model":{"description":"The model used for this example","type":["string","null"]}},"type":"object"},{"type":"null"}]},"metrics":{"anyOf":[{"additionalProperties":{"type":"number"},"properties":{"caller_filename":{"description":"This metric is deprecated"},"caller_functionname":{"description":"This metric is deprecated"},"caller_lineno":{"description":"This metric is deprecated"},"completion_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"end":{"description":"A unix timestamp recording when the section of code which produced the project logs event finished","type":["number","null"]},"prompt_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"start":{"description":"A unix timestamp recording when the section of code which produced the project logs event started","type":["number","null"]},"tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"org_id":{"description":"Unique id for the organization that the project belongs under","format":"uuid","type":"string"},"origin":{"anyOf":[{"description":"Reference to the original object and event this was copied from.","properties":{"_xact_id":{"description":"Transaction ID of the original event.","type":["string","null"]},"created":{"description":"Created timestamp of the original event. Used to help sort in the UI","type":["string","null"]},"id":{"description":"ID of the original event.","type":"string"},"object_id":{"description":"ID of the object the event is originating from.","format":"uuid","type":"string"},"object_type":{"description":"Type of the object the event is originating from.","enum":["project_logs","experiment","dataset","prompt","function","prompt_session"],"type":"string"}},"required":["object_type","object_id","id"],"type":"object"},{"type":"null"}]},"output":{"description":"The output of your application, including post-processing (an arbitrary, JSON serializable object), that allows you to determine whether the result is correct or not. For example, in an app that generates SQL queries, the `output` should be the _result_ of the SQL query generated by the model, not the query itself, because there may be multiple valid queries that answer a single question."},"project_id":{"description":"Unique identifier for the project","format":"uuid","type":"string"},"root_span_id":{"description":"A unique identifier for the trace this project logs event belongs to","type":"string"},"scores":{"anyOf":[{"additionalProperties":{"anyOf":[{"maximum":1,"minimum":0,"type":"number"},{"type":"null"}]},"properties":{},"type":"object"},{"type":"null"}]},"span_attributes":{"anyOf":[{"additionalProperties":{},"description":"Human-identifying attributes of the span, such as name, type, etc.","properties":{"name":{"description":"Name of the span, for display purposes only","type":["string","null"]},"purpose":{"anyOf":[{"enum":["scorer"],"type":"string"},{"type":"null"}]},"type":{"anyOf":[{"enum":["llm","score","function","eval","task","tool","automation","facet","preprocessor","classifier","review"],"type":"string"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"span_id":{"description":"A unique identifier used to link different project logs events together as part of a full trace. See the [tracing guide](https://www.braintrust.dev/docs/instrument) for full details on tracing","type":"string"},"span_parents":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]},"tags":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]}}}},"realtime_state":{"type":"on","minimum_xact_id":"1000197472072442086","read_bytes":40897,"actual_xact_id":"1000197472073890576"},"freshness_state":{"last_processed_xact_id":"1000197472073890576","last_considered_xact_id":"1000197472073890576"},"warnings":[]} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-8ee0f1c046e5.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-8ee0f1c046e5.json deleted file mode 100644 index e5501629..00000000 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-8ee0f1c046e5.json +++ /dev/null @@ -1 +0,0 @@ -{"data":[{"_async_scoring_state":null,"_pagination_key":"p07663651388792373258","_xact_id":"1000197530292950886","audit_data":[{"_xact_id":"1000197530292950886","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":{"span_origin":{"instrumentation":{"name":"braintrust-java"},"name":"braintrust.sdk.java","version":"0.3.17-0155866-DIRTY"}},"created":"2026-07-18T00:01:21.741Z","error":null,"expected":null,"facets":null,"id":"96e115aed24322a6","input":null,"is_root":true,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","client":"springai2-openai"},"metrics":{"end":1784332882.835125,"start":1784332881.741326},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":null,"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"735de9155b1b2781b0550bbb1612c16e","scores":null,"span_attributes":{"name":"streaming","type":"task"},"span_id":"96e115aed24322a6","span_parents":null,"tags":null},{"_async_scoring_state":null,"_pagination_key":"p07663651388792373252","_xact_id":"1000197530292950886","audit_data":[{"_xact_id":"1000197530292950886","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":{"span_origin":{"instrumentation":{"name":"braintrust-java"},"name":"braintrust.sdk.java","version":"0.3.17-0155866-DIRTY"}},"created":"2026-07-18T00:01:21.747Z","error":null,"expected":null,"facets":null,"id":"6dd8f7560adfd944","input":[{"content":"you are a thoughtful assistant","role":"system"},{"content":"Count from 1 to 10 slowly.","role":"user"}],"is_root":false,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","model":"gpt-4o-mini","provider":"openai","request_base_uri":"http://localhost:55372","request_method":"POST","request_path":"chat/completions"},"metrics":{"completion_tokens":40,"end":1784332882.8346725,"estimated_cost":0.00002775,"prompt_cached_tokens":0,"prompt_tokens":25,"start":1784332881.74796,"time_to_first_token":0.002706333,"tokens":65},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":[{"finish_reason":"stop","index":0,"logprobs":null,"message":{"content":"Sure! Here we go:\n\n1... \n2... \n3... \n4... \n5... \n6... \n7... \n8... \n9... \n10... \n\nTake your time!","refusal":null,"role":"assistant","tool_calls":[]}}],"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"735de9155b1b2781b0550bbb1612c16e","scores":null,"span_attributes":{"name":"Chat Completion","type":"llm"},"span_id":"6dd8f7560adfd944","span_parents":["96e115aed24322a6"],"tags":null}],"schema":{"type":"array","items":{"type":"object","properties":{"_async_scoring_state":{},"_pagination_key":{"description":"A stable, time-ordered key that can be used to paginate over project logs events. This field is auto-generated by Braintrust and only exists in Brainstore.","type":["string","null"]},"_xact_id":{"description":"The transaction id of an event is unique to the network operation that processed the event insertion. Transaction ids are monotonically increasing over time and can be used to retrieve a versioned snapshot of the project logs (see the `version` parameter)","type":"string"},"audit_data":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"classifications":{"anyOf":[{"additionalProperties":{"items":{"additionalProperties":false,"properties":{"confidence":{"description":"Optional confidence score for the classification","type":["number","null"]},"id":{"description":"Stable classification identifier","type":"string"},"label":{"description":"Original label of the classification item, which is useful for search and indexing purposes","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"type":"object"},{"type":"null"}],"description":"Optional metadata associated with the classification"},"source":{"anyOf":[{"anyOf":[{"additionalProperties":false,"properties":{"id":{"type":"string"},"type":{"const":"function","type":"string"},"version":{"description":"The version of the function","type":"string"}},"required":["type","id"],"type":"object"},{"additionalProperties":false,"properties":{"function_type":{"default":"scorer","description":"The type of global function. Defaults to 'scorer'.","enum":["llm","scorer","task","tool","custom_view","preprocessor","facet","classifier","tag","parameters","sandbox"],"type":"string"},"name":{"type":"string"},"type":{"const":"global","type":"string"}},"required":["type","name"],"type":"object"}]},{"type":"null"}],"description":"Optional function identifier that produced the classification"}},"required":["id"],"type":"object"},"type":"array"},"properties":{},"type":"object"},{"type":"null"}]},"comments":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"context":{"anyOf":[{"additionalProperties":{},"properties":{"caller_filename":{"description":"Name of the file in code where the project logs event was created","type":["string","null"]},"caller_functionname":{"description":"The function in code which created the project logs event","type":["string","null"]},"caller_lineno":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"created":{"description":"The timestamp the project logs event was created","format":"date-time","type":"string"},"error":{"description":"The error that occurred, if any."},"expected":{"description":"The ground truth value (an arbitrary, JSON serializable object) that you'd compare to `output` to determine if your `output` value is correct or not. Braintrust currently does not compare `output` to `expected` for you, since there are so many different ways to do that correctly. Instead, these values are just used to help you navigate while digging into analyses. However, we may later use these values to re-score outputs or fine-tune your models."},"facets":{"anyOf":[{"additionalProperties":{"type":["string","null"]},"properties":{},"type":"object"},{"type":"null"}]},"id":{"description":"A unique identifier for the project logs event. If you don't provide one, Braintrust will generate one for you","type":"string"},"input":{"description":"The arguments that uniquely define a user input (an arbitrary, JSON serializable object)."},"is_root":{"description":"Whether this span is a root span","type":["boolean","null"]},"log_id":{"const":"g","description":"A literal 'g' which identifies the log as a project log","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"properties":{"model":{"description":"The model used for this example","type":["string","null"]}},"type":"object"},{"type":"null"}]},"metrics":{"anyOf":[{"additionalProperties":{"type":"number"},"properties":{"caller_filename":{"description":"This metric is deprecated"},"caller_functionname":{"description":"This metric is deprecated"},"caller_lineno":{"description":"This metric is deprecated"},"completion_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"end":{"description":"A unix timestamp recording when the section of code which produced the project logs event finished","type":["number","null"]},"prompt_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"start":{"description":"A unix timestamp recording when the section of code which produced the project logs event started","type":["number","null"]},"tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"org_id":{"description":"Unique id for the organization that the project belongs under","format":"uuid","type":"string"},"origin":{"anyOf":[{"description":"Reference to the original object and event this was copied from.","properties":{"_xact_id":{"description":"Transaction ID of the original event.","type":["string","null"]},"created":{"description":"Created timestamp of the original event. Used to help sort in the UI","type":["string","null"]},"id":{"description":"ID of the original event.","type":"string"},"object_id":{"description":"ID of the object the event is originating from.","format":"uuid","type":"string"},"object_type":{"description":"Type of the object the event is originating from.","enum":["project_logs","experiment","dataset","prompt","function","prompt_session"],"type":"string"}},"required":["object_type","object_id","id"],"type":"object"},{"type":"null"}]},"output":{"description":"The output of your application, including post-processing (an arbitrary, JSON serializable object), that allows you to determine whether the result is correct or not. For example, in an app that generates SQL queries, the `output` should be the _result_ of the SQL query generated by the model, not the query itself, because there may be multiple valid queries that answer a single question."},"project_id":{"description":"Unique identifier for the project","format":"uuid","type":"string"},"root_span_id":{"description":"A unique identifier for the trace this project logs event belongs to","type":"string"},"scores":{"anyOf":[{"additionalProperties":{"anyOf":[{"maximum":1,"minimum":0,"type":"number"},{"type":"null"}]},"properties":{},"type":"object"},{"type":"null"}]},"span_attributes":{"anyOf":[{"additionalProperties":{},"description":"Human-identifying attributes of the span, such as name, type, etc.","properties":{"name":{"description":"Name of the span, for display purposes only","type":["string","null"]},"purpose":{"anyOf":[{"enum":["scorer"],"type":"string"},{"type":"null"}]},"type":{"anyOf":[{"enum":["llm","score","function","eval","task","tool","automation","facet","preprocessor","classifier","review"],"type":"string"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"span_id":{"description":"A unique identifier used to link different project logs events together as part of a full trace. See the [tracing guide](https://www.braintrust.dev/docs/instrument) for full details on tracing","type":"string"},"span_parents":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]},"tags":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]}}}},"realtime_state":{"type":"on","minimum_xact_id":"1000197530292950886","read_bytes":0,"actual_xact_id":"1000197530292950886"},"freshness_state":{"last_processed_xact_id":"1000197530292950886","last_considered_xact_id":"1000197530292950886"},"warnings":[]} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-8f1dfd5c0fd9.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-8f1dfd5c0fd9.json new file mode 100644 index 00000000..94369970 --- /dev/null +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-8f1dfd5c0fd9.json @@ -0,0 +1 @@ +{"data":[{"_async_scoring_state":null,"_pagination_key":"p07680251203138355204","_xact_id":"1000197783586016468","audit_data":[{"_xact_id":"1000197783586016468","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":{"span_origin":{"instrumentation":{"name":"braintrust-java"},"name":"braintrust.sdk.java","version":"0.3.22-ca5ce6d-DIRTY"}},"created":"2026-08-31T17:36:49.979Z","error":null,"expected":null,"facets":null,"id":"e35e327e5cffc604","input":null,"is_root":true,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","client":"openai"},"metrics":{"end":1788197827.9077573,"start":1788197809.979572},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":null,"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"b70e1c19d16686a283506234df98a030","scores":null,"span_attributes":{"name":"web_search","type":"task"},"span_id":"e35e327e5cffc604","span_parents":null,"tags":null},{"_async_scoring_state":null,"_pagination_key":"p07680251203138355202","_xact_id":"1000197783586016468","audit_data":[{"_xact_id":"1000197783586016468","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":{"span_origin":{"instrumentation":{"name":"braintrust-java"},"name":"braintrust.sdk.java","version":"0.3.22-ca5ce6d-DIRTY"}},"created":"2026-08-31T17:36:50.013Z","error":null,"expected":null,"facets":null,"id":"bbf3164c20e826e1","input":[{"content":"Search the web for a recent AI news headline and answer in one sentence.","role":"user"}],"is_root":false,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","model":"gpt-4o","provider":"openai","request_base_uri":"http://localhost:52408","request_method":"POST","request_path":"responses","response_id":"resp_0fb0a24f56a49be2006a95bbb54a0887d0814ebf4a4d649dbb","tool_choice":{"type":"web_search_preview"},"tools":[{"search_context_size":"low","type":"web_search_preview"}],"x-request-id":"req_7938016ece674ca1bbe3a6ea5b51b7fe"},"metrics":{"completion_reasoning_tokens":0,"completion_tokens":248,"end":1788197827.8914857,"estimated_cost":0.0032875,"prompt_cached_tokens":0,"prompt_tokens":323,"start":1788197810.01375,"tokens":571},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":[{"action":{"queries":["Search the web for a recent AI news headline and answer in one sentence."],"query":"Search the web for a recent AI news headline and answer in one sentence.","type":"search"},"id":"ws_0fb0a24f56a49be2006a95bbb8003487d0b3d898811b6168e3","status":"completed","type":"web_search_call"},{"content":[{"annotations":[{"end_index":393,"start_index":278,"title":"Exclusive: AI advocacy group launches data center push in battleground states","type":"url_citation","url":"https://www.axios.com/2026/08/31/ai-advocacy-group-data-center-battleground-states?utm_source=openai"},{"end_index":594,"start_index":413,"title":"Exclusive: AI advocacy group launches data center push in battleground states","type":"url_citation","url":"https://www.axios.com/2026/08/31/ai-advocacy-group-data-center-battleground-states?utm_source=openai"},{"end_index":793,"start_index":629,"title":"Exclusive: AI startup TrustedRouter raises $1.25 million","type":"url_citation","url":"https://www.axios.com/2026/08/31/exclusive-ai-startup-trustedrouter-raises-125-million?utm_source=openai"},{"end_index":969,"start_index":828,"title":"AI turns to health care for an image fix","type":"url_citation","url":"https://www.axios.com/2026/08/31/ai-health-care-cures-disease-anthropic-open-ai?utm_source=openai"}],"logprobs":[],"text":"An AI advocacy group has launched a $50 million campaign to support AI data center development in battleground states, aiming to address political backlash and emphasize the need for infrastructure that supports AI leadership while safeguarding communities and the environment. ([axios.com](https://www.axios.com/2026/08/31/ai-advocacy-group-data-center-battleground-states?utm_source=openai))\n\n\n## Highlights:\n- [Exclusive: AI advocacy group launches data center push in battleground states](https://www.axios.com/2026/08/31/ai-advocacy-group-data-center-battleground-states?utm_source=openai), Published on Monday, August 31\n- [Exclusive: AI startup TrustedRouter raises $1.25 million](https://www.axios.com/2026/08/31/exclusive-ai-startup-trustedrouter-raises-125-million?utm_source=openai), Published on Monday, August 31\n- [AI turns to health care for an image fix](https://www.axios.com/2026/08/31/ai-health-care-cures-disease-anthropic-open-ai?utm_source=openai), Published on Monday, August 31 ","type":"output_text"}],"id":"msg_0fb0a24f56a49be2006a95bbb9ff9087d0ad5b435d46b8e072","role":"assistant","status":"completed","type":"message"}],"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"b70e1c19d16686a283506234df98a030","scores":null,"span_attributes":{"name":"responses","type":"llm"},"span_id":"bbf3164c20e826e1","span_parents":["e35e327e5cffc604"],"tags":null},{"_async_scoring_state":null,"_pagination_key":"p07680251203138355201","_xact_id":"1000197783586016468","audit_data":[{"_xact_id":"1000197783586016468","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":{"span_origin":{"instrumentation":{"name":"braintrust-java"},"name":"braintrust.sdk.java","version":"0.3.22-ca5ce6d-DIRTY"}},"created":"2026-08-31T17:37:07.891Z","error":null,"expected":null,"facets":null,"id":"df4240bbd0a4e81a","input":{"action":{"queries":["Search the web for a recent AI news headline and answer in one sentence."],"query":"Search the web for a recent AI news headline and answer in one sentence.","type":"search"}},"is_root":false,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","status":"completed","tool_id":"ws_0fb0a24f56a49be2006a95bbb8003487d0b3d898811b6168e3","tool_type":"web_search_call"},"metrics":{"end":1788197827.8912792,"start":1788197827.8912792},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":{"status":"completed"},"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"b70e1c19d16686a283506234df98a030","scores":null,"span_attributes":{"name":"web_search_call","type":"tool"},"span_id":"df4240bbd0a4e81a","span_parents":["bbf3164c20e826e1"],"tags":null}],"schema":{"type":"array","items":{"type":"object","properties":{"_async_scoring_state":{},"_pagination_key":{"description":"A stable, time-ordered key that can be used to paginate over project logs events. This field is auto-generated by Braintrust and only exists in Brainstore.","type":["string","null"]},"_xact_id":{"description":"The transaction id of an event is unique to the network operation that processed the event insertion. Transaction ids are monotonically increasing over time and can be used to retrieve a versioned snapshot of the project logs (see the `version` parameter)","type":"string"},"audit_data":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"classifications":{"anyOf":[{"additionalProperties":{"items":{"additionalProperties":false,"properties":{"confidence":{"description":"Optional confidence score for the classification","type":["number","null"]},"id":{"description":"Stable classification identifier","type":"string"},"label":{"description":"Original label of the classification item, which is useful for search and indexing purposes","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"type":"object"},{"type":"null"}],"description":"Optional metadata associated with the classification"},"source":{"anyOf":[{"anyOf":[{"additionalProperties":false,"properties":{"id":{"type":"string"},"type":{"const":"function","type":"string"},"version":{"description":"The version of the function","type":"string"}},"required":["type","id"],"type":"object"},{"additionalProperties":false,"properties":{"function_type":{"default":"scorer","description":"The type of global function. Defaults to 'scorer'.","enum":["llm","scorer","task","tool","custom_view","preprocessor","facet","classifier","tag","parameters","sandbox"],"type":"string"},"name":{"type":"string"},"type":{"const":"global","type":"string"}},"required":["type","name"],"type":"object"}]},{"type":"null"}],"description":"Optional function identifier that produced the classification"}},"required":["id"],"type":"object"},"type":"array"},"properties":{},"type":"object"},{"type":"null"}]},"comments":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"context":{"anyOf":[{"additionalProperties":{},"properties":{"caller_filename":{"description":"Name of the file in code where the project logs event was created","type":["string","null"]},"caller_functionname":{"description":"The function in code which created the project logs event","type":["string","null"]},"caller_lineno":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"created":{"description":"The timestamp the project logs event was created","format":"date-time","type":"string"},"error":{"description":"The error that occurred, if any."},"expected":{"description":"The ground truth value (an arbitrary, JSON serializable object) that you'd compare to `output` to determine if your `output` value is correct or not. Braintrust currently does not compare `output` to `expected` for you, since there are so many different ways to do that correctly. Instead, these values are just used to help you navigate while digging into analyses. However, we may later use these values to re-score outputs or fine-tune your models."},"facets":{"anyOf":[{"additionalProperties":{"type":["string","null"]},"properties":{},"type":"object"},{"type":"null"}]},"id":{"description":"A unique identifier for the project logs event. If you don't provide one, Braintrust will generate one for you","type":"string"},"input":{"description":"The arguments that uniquely define a user input (an arbitrary, JSON serializable object)."},"is_root":{"description":"Whether this span is a root span","type":["boolean","null"]},"log_id":{"const":"g","description":"A literal 'g' which identifies the log as a project log","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"properties":{"model":{"description":"The model used for this example","type":["string","null"]}},"type":"object"},{"type":"null"}]},"metrics":{"anyOf":[{"additionalProperties":{"type":"number"},"properties":{"caller_filename":{"description":"This metric is deprecated"},"caller_functionname":{"description":"This metric is deprecated"},"caller_lineno":{"description":"This metric is deprecated"},"completion_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"end":{"description":"A unix timestamp recording when the section of code which produced the project logs event finished","type":["number","null"]},"prompt_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"start":{"description":"A unix timestamp recording when the section of code which produced the project logs event started","type":["number","null"]},"tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"org_id":{"description":"Unique id for the organization that the project belongs under","format":"uuid","type":"string"},"origin":{"anyOf":[{"description":"Reference to the original object and event this was copied from.","properties":{"_xact_id":{"description":"Transaction ID of the original event.","type":["string","null"]},"created":{"description":"Created timestamp of the original event. Used to help sort in the UI","type":["string","null"]},"id":{"description":"ID of the original event.","type":"string"},"object_id":{"description":"ID of the object the event is originating from.","format":"uuid","type":"string"},"object_type":{"description":"Type of the object the event is originating from.","enum":["project_logs","experiment","dataset","prompt","function","prompt_session"],"type":"string"}},"required":["object_type","object_id","id"],"type":"object"},{"type":"null"}]},"output":{"description":"The output of your application, including post-processing (an arbitrary, JSON serializable object), that allows you to determine whether the result is correct or not. For example, in an app that generates SQL queries, the `output` should be the _result_ of the SQL query generated by the model, not the query itself, because there may be multiple valid queries that answer a single question."},"project_id":{"description":"Unique identifier for the project","format":"uuid","type":"string"},"root_span_id":{"description":"A unique identifier for the trace this project logs event belongs to","type":"string"},"scores":{"anyOf":[{"additionalProperties":{"anyOf":[{"maximum":1,"minimum":0,"type":"number"},{"type":"null"}]},"properties":{},"type":"object"},{"type":"null"}]},"span_attributes":{"anyOf":[{"additionalProperties":{},"description":"Human-identifying attributes of the span, such as name, type, etc.","properties":{"name":{"description":"Name of the span, for display purposes only","type":["string","null"]},"purpose":{"anyOf":[{"enum":["scorer"],"type":"string"},{"type":"null"}]},"type":{"anyOf":[{"enum":["llm","score","function","eval","task","tool","automation","facet","preprocessor","classifier","review"],"type":"string"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"span_id":{"description":"A unique identifier used to link different project logs events together as part of a full trace. See the [tracing guide](https://www.braintrust.dev/docs/instrument) for full details on tracing","type":"string"},"span_parents":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]},"tags":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]}}}},"realtime_state":{"type":"on","minimum_xact_id":"1000197783589884487","read_bytes":0,"actual_xact_id":"1000197783589884487"},"freshness_state":{"last_processed_xact_id":"1000197783589884487","last_considered_xact_id":"1000197783589884487"},"warnings":[]} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-ea7cfb00424a.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-9200ebe247be.json similarity index 69% rename from test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-ea7cfb00424a.json rename to test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-9200ebe247be.json index 90614917..d8978eaa 100644 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-ea7cfb00424a.json +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-9200ebe247be.json @@ -1 +1 @@ -{"data":[{"_async_scoring_state":null,"_pagination_key":"p07659835826909872131","_xact_id":"1000197472072096966","audit_data":[{"_xact_id":"1000197472072096966","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":null,"created":"2026-07-07T17:15:00.330Z","error":null,"expected":null,"facets":null,"id":"da6eaa83a84037e3","input":null,"is_root":true,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","client":"bedrock"},"metrics":{"end":1783444503.617697,"start":1783444500.330831},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":null,"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"cdd8b14d78e7cfca5a3d3fbc1e150ca4","scores":null,"span_attributes":{"name":"converse_stream","type":"task"},"span_id":"da6eaa83a84037e3","span_parents":null,"tags":null},{"_async_scoring_state":null,"_pagination_key":"p07659835826909872134","_xact_id":"1000197472072096966","audit_data":[{"_xact_id":"1000197472072096966","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":null,"created":"2026-07-07T17:15:00.351Z","error":null,"expected":null,"facets":null,"id":"aaad9f0f13746686","input":[{"content":[{"text":"count to 10 slowly","type":"text"}],"role":"user"}],"is_root":false,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","endpoint":"converse-stream","model":"us.amazon.nova-lite-v1:0","provider":"bedrock","request_base_uri":"http://localhost","request_method":"POST","request_path":"model/us.amazon.nova-lite-v1%3A0/converse-stream"},"metrics":{"completion_tokens":63,"end":1783444501.4601674,"estimated_cost":0.00001548,"prompt_tokens":6,"start":1783444500.3511386,"time_to_first_token":0.006727375,"tokens":69},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":[{"content":[{"text":"Sure, I'll count to 10 slowly for you:\n\n1... (pause)\n2... (pause)\n3... (pause)\n4... (pause)\n5... (pause)\n6... (pause)\n7... (pause)\n8... (pause)\n9... (pause)\n10.","type":"text"}],"role":"assistant"}],"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"cdd8b14d78e7cfca5a3d3fbc1e150ca4","scores":null,"span_attributes":{"name":"bedrock.converse-stream","type":"llm"},"span_id":"aaad9f0f13746686","span_parents":["da6eaa83a84037e3"],"tags":null}],"schema":{"type":"array","items":{"type":"object","properties":{"_async_scoring_state":{},"_pagination_key":{"description":"A stable, time-ordered key that can be used to paginate over project logs events. This field is auto-generated by Braintrust and only exists in Brainstore.","type":["string","null"]},"_xact_id":{"description":"The transaction id of an event is unique to the network operation that processed the event insertion. Transaction ids are monotonically increasing over time and can be used to retrieve a versioned snapshot of the project logs (see the `version` parameter)","type":"string"},"audit_data":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"classifications":{"anyOf":[{"additionalProperties":{"items":{"additionalProperties":false,"properties":{"confidence":{"description":"Optional confidence score for the classification","type":["number","null"]},"id":{"description":"Stable classification identifier","type":"string"},"label":{"description":"Original label of the classification item, which is useful for search and indexing purposes","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"type":"object"},{"type":"null"}],"description":"Optional metadata associated with the classification"},"source":{"anyOf":[{"anyOf":[{"additionalProperties":false,"properties":{"id":{"type":"string"},"type":{"const":"function","type":"string"},"version":{"description":"The version of the function","type":"string"}},"required":["type","id"],"type":"object"},{"additionalProperties":false,"properties":{"function_type":{"default":"scorer","description":"The type of global function. Defaults to 'scorer'.","enum":["llm","scorer","task","tool","custom_view","preprocessor","facet","classifier","tag","parameters","sandbox"],"type":"string"},"name":{"type":"string"},"type":{"const":"global","type":"string"}},"required":["type","name"],"type":"object"}]},{"type":"null"}],"description":"Optional function identifier that produced the classification"}},"required":["id"],"type":"object"},"type":"array"},"properties":{},"type":"object"},{"type":"null"}]},"comments":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"context":{"anyOf":[{"additionalProperties":{},"properties":{"caller_filename":{"description":"Name of the file in code where the project logs event was created","type":["string","null"]},"caller_functionname":{"description":"The function in code which created the project logs event","type":["string","null"]},"caller_lineno":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"created":{"description":"The timestamp the project logs event was created","format":"date-time","type":"string"},"error":{"description":"The error that occurred, if any."},"expected":{"description":"The ground truth value (an arbitrary, JSON serializable object) that you'd compare to `output` to determine if your `output` value is correct or not. Braintrust currently does not compare `output` to `expected` for you, since there are so many different ways to do that correctly. Instead, these values are just used to help you navigate while digging into analyses. However, we may later use these values to re-score outputs or fine-tune your models."},"facets":{"anyOf":[{"additionalProperties":{"type":["string","null"]},"properties":{},"type":"object"},{"type":"null"}]},"id":{"description":"A unique identifier for the project logs event. If you don't provide one, Braintrust will generate one for you","type":"string"},"input":{"description":"The arguments that uniquely define a user input (an arbitrary, JSON serializable object)."},"is_root":{"description":"Whether this span is a root span","type":["boolean","null"]},"log_id":{"const":"g","description":"A literal 'g' which identifies the log as a project log","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"properties":{"model":{"description":"The model used for this example","type":["string","null"]}},"type":"object"},{"type":"null"}]},"metrics":{"anyOf":[{"additionalProperties":{"type":"number"},"properties":{"caller_filename":{"description":"This metric is deprecated"},"caller_functionname":{"description":"This metric is deprecated"},"caller_lineno":{"description":"This metric is deprecated"},"completion_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"end":{"description":"A unix timestamp recording when the section of code which produced the project logs event finished","type":["number","null"]},"prompt_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"start":{"description":"A unix timestamp recording when the section of code which produced the project logs event started","type":["number","null"]},"tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"org_id":{"description":"Unique id for the organization that the project belongs under","format":"uuid","type":"string"},"origin":{"anyOf":[{"description":"Reference to the original object and event this was copied from.","properties":{"_xact_id":{"description":"Transaction ID of the original event.","type":["string","null"]},"created":{"description":"Created timestamp of the original event. Used to help sort in the UI","type":["string","null"]},"id":{"description":"ID of the original event.","type":"string"},"object_id":{"description":"ID of the object the event is originating from.","format":"uuid","type":"string"},"object_type":{"description":"Type of the object the event is originating from.","enum":["project_logs","experiment","dataset","prompt","function","prompt_session"],"type":"string"}},"required":["object_type","object_id","id"],"type":"object"},{"type":"null"}]},"output":{"description":"The output of your application, including post-processing (an arbitrary, JSON serializable object), that allows you to determine whether the result is correct or not. For example, in an app that generates SQL queries, the `output` should be the _result_ of the SQL query generated by the model, not the query itself, because there may be multiple valid queries that answer a single question."},"project_id":{"description":"Unique identifier for the project","format":"uuid","type":"string"},"root_span_id":{"description":"A unique identifier for the trace this project logs event belongs to","type":"string"},"scores":{"anyOf":[{"additionalProperties":{"anyOf":[{"maximum":1,"minimum":0,"type":"number"},{"type":"null"}]},"properties":{},"type":"object"},{"type":"null"}]},"span_attributes":{"anyOf":[{"additionalProperties":{},"description":"Human-identifying attributes of the span, such as name, type, etc.","properties":{"name":{"description":"Name of the span, for display purposes only","type":["string","null"]},"purpose":{"anyOf":[{"enum":["scorer"],"type":"string"},{"type":"null"}]},"type":{"anyOf":[{"enum":["llm","score","function","eval","task","tool","automation","facet","preprocessor","classifier","review"],"type":"string"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"span_id":{"description":"A unique identifier used to link different project logs events together as part of a full trace. See the [tracing guide](https://www.braintrust.dev/docs/instrument) for full details on tracing","type":"string"},"span_parents":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]},"tags":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]}}}},"realtime_state":{"type":"on","minimum_xact_id":"1000197472073890576","read_bytes":4909,"actual_xact_id":"1000197472074645319"},"freshness_state":{"last_processed_xact_id":"1000197472073890576","last_considered_xact_id":"1000197472074645319"},"warnings":[]} \ No newline at end of file +{"data":[{"_async_scoring_state":null,"_pagination_key":"p07680251121458085898","_xact_id":"1000197783584770126","audit_data":[{"_xact_id":"1000197783584770126","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":{"span_origin":{"instrumentation":{"name":"braintrust-java"},"name":"braintrust.sdk.java","version":"0.3.22-ca5ce6d-DIRTY"}},"created":"2026-08-31T17:36:48.857Z","error":null,"expected":null,"facets":null,"id":"4d2f6646aa05bdfd","input":null,"is_root":true,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","client":"springai2-openai"},"metrics":{"end":1788197809.979446,"start":1788197808.8572001},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":null,"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"a850820207c1f19ed6ce2185953cd09f","scores":null,"span_attributes":{"name":"tools","type":"task"},"span_id":"4d2f6646aa05bdfd","span_parents":null,"tags":null},{"_async_scoring_state":null,"_pagination_key":"p07680251121458085891","_xact_id":"1000197783584770126","audit_data":[{"_xact_id":"1000197783584770126","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":{"span_origin":{"instrumentation":{"name":"braintrust-java"},"name":"braintrust.sdk.java","version":"0.3.22-ca5ce6d-DIRTY"}},"created":"2026-08-31T17:36:49.108Z","error":null,"expected":null,"facets":null,"id":"37f0ba49a8833d4f","input":[{"content":"What is the weather like in Paris, France?","role":"user"}],"is_root":false,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","max_tokens":500,"model":"gpt-4o","provider":"openai","request_base_uri":"http://localhost:52408","request_method":"POST","request_path":"chat/completions","response_id":"chatcmpl-EJ0E5xYKDgNBWpjwMT0kzT4kllsNJ","temperature":0,"tools":[{"function":{"description":"Get the current weather for a location","name":"get_weather","parameters":{"properties":{"location":{"description":"The city and state, e.g. San Francisco, CA","type":"string"},"unit":{"description":"The unit of temperature","enum":["celsius","fahrenheit"],"type":"string"}},"required":["location"],"strict":true,"type":"object"}},"type":"function"}],"x-request-id":"req_dc7d1850ffcf4ef7ba4513038767e73e"},"metrics":{"completion_reasoning_tokens":0,"completion_tokens":16,"end":1788197809.9752586,"estimated_cost":0.0003725,"prompt_cached_tokens":0,"prompt_tokens":85,"start":1788197809.108835,"tokens":101},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":[{"finish_reason":"tool_calls","index":0,"logprobs":null,"message":{"annotations":[],"content":null,"refusal":null,"role":"assistant","tool_calls":[{"function":{"arguments":"{\"location\":\"Paris, France\"}","name":"get_weather"},"id":"call_6vk1bjVBG6wkxvgeSAwWUMH2","type":"function"}]}}],"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"a850820207c1f19ed6ce2185953cd09f","scores":null,"span_attributes":{"name":"Chat Completion","type":"llm"},"span_id":"37f0ba49a8833d4f","span_parents":["4d2f6646aa05bdfd"],"tags":null}],"schema":{"type":"array","items":{"type":"object","properties":{"_async_scoring_state":{},"_pagination_key":{"description":"A stable, time-ordered key that can be used to paginate over project logs events. This field is auto-generated by Braintrust and only exists in Brainstore.","type":["string","null"]},"_xact_id":{"description":"The transaction id of an event is unique to the network operation that processed the event insertion. Transaction ids are monotonically increasing over time and can be used to retrieve a versioned snapshot of the project logs (see the `version` parameter)","type":"string"},"audit_data":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"classifications":{"anyOf":[{"additionalProperties":{"items":{"additionalProperties":false,"properties":{"confidence":{"description":"Optional confidence score for the classification","type":["number","null"]},"id":{"description":"Stable classification identifier","type":"string"},"label":{"description":"Original label of the classification item, which is useful for search and indexing purposes","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"type":"object"},{"type":"null"}],"description":"Optional metadata associated with the classification"},"source":{"anyOf":[{"anyOf":[{"additionalProperties":false,"properties":{"id":{"type":"string"},"type":{"const":"function","type":"string"},"version":{"description":"The version of the function","type":"string"}},"required":["type","id"],"type":"object"},{"additionalProperties":false,"properties":{"function_type":{"default":"scorer","description":"The type of global function. Defaults to 'scorer'.","enum":["llm","scorer","task","tool","custom_view","preprocessor","facet","classifier","tag","parameters","sandbox"],"type":"string"},"name":{"type":"string"},"type":{"const":"global","type":"string"}},"required":["type","name"],"type":"object"}]},{"type":"null"}],"description":"Optional function identifier that produced the classification"}},"required":["id"],"type":"object"},"type":"array"},"properties":{},"type":"object"},{"type":"null"}]},"comments":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"context":{"anyOf":[{"additionalProperties":{},"properties":{"caller_filename":{"description":"Name of the file in code where the project logs event was created","type":["string","null"]},"caller_functionname":{"description":"The function in code which created the project logs event","type":["string","null"]},"caller_lineno":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"created":{"description":"The timestamp the project logs event was created","format":"date-time","type":"string"},"error":{"description":"The error that occurred, if any."},"expected":{"description":"The ground truth value (an arbitrary, JSON serializable object) that you'd compare to `output` to determine if your `output` value is correct or not. Braintrust currently does not compare `output` to `expected` for you, since there are so many different ways to do that correctly. Instead, these values are just used to help you navigate while digging into analyses. However, we may later use these values to re-score outputs or fine-tune your models."},"facets":{"anyOf":[{"additionalProperties":{"type":["string","null"]},"properties":{},"type":"object"},{"type":"null"}]},"id":{"description":"A unique identifier for the project logs event. If you don't provide one, Braintrust will generate one for you","type":"string"},"input":{"description":"The arguments that uniquely define a user input (an arbitrary, JSON serializable object)."},"is_root":{"description":"Whether this span is a root span","type":["boolean","null"]},"log_id":{"const":"g","description":"A literal 'g' which identifies the log as a project log","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"properties":{"model":{"description":"The model used for this example","type":["string","null"]}},"type":"object"},{"type":"null"}]},"metrics":{"anyOf":[{"additionalProperties":{"type":"number"},"properties":{"caller_filename":{"description":"This metric is deprecated"},"caller_functionname":{"description":"This metric is deprecated"},"caller_lineno":{"description":"This metric is deprecated"},"completion_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"end":{"description":"A unix timestamp recording when the section of code which produced the project logs event finished","type":["number","null"]},"prompt_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"start":{"description":"A unix timestamp recording when the section of code which produced the project logs event started","type":["number","null"]},"tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"org_id":{"description":"Unique id for the organization that the project belongs under","format":"uuid","type":"string"},"origin":{"anyOf":[{"description":"Reference to the original object and event this was copied from.","properties":{"_xact_id":{"description":"Transaction ID of the original event.","type":["string","null"]},"created":{"description":"Created timestamp of the original event. Used to help sort in the UI","type":["string","null"]},"id":{"description":"ID of the original event.","type":"string"},"object_id":{"description":"ID of the object the event is originating from.","format":"uuid","type":"string"},"object_type":{"description":"Type of the object the event is originating from.","enum":["project_logs","experiment","dataset","prompt","function","prompt_session"],"type":"string"}},"required":["object_type","object_id","id"],"type":"object"},{"type":"null"}]},"output":{"description":"The output of your application, including post-processing (an arbitrary, JSON serializable object), that allows you to determine whether the result is correct or not. For example, in an app that generates SQL queries, the `output` should be the _result_ of the SQL query generated by the model, not the query itself, because there may be multiple valid queries that answer a single question."},"project_id":{"description":"Unique identifier for the project","format":"uuid","type":"string"},"root_span_id":{"description":"A unique identifier for the trace this project logs event belongs to","type":"string"},"scores":{"anyOf":[{"additionalProperties":{"anyOf":[{"maximum":1,"minimum":0,"type":"number"},{"type":"null"}]},"properties":{},"type":"object"},{"type":"null"}]},"span_attributes":{"anyOf":[{"additionalProperties":{},"description":"Human-identifying attributes of the span, such as name, type, etc.","properties":{"name":{"description":"Name of the span, for display purposes only","type":["string","null"]},"purpose":{"anyOf":[{"enum":["scorer"],"type":"string"},{"type":"null"}]},"type":{"anyOf":[{"enum":["llm","score","function","eval","task","tool","automation","facet","preprocessor","classifier","review"],"type":"string"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"span_id":{"description":"A unique identifier used to link different project logs events together as part of a full trace. See the [tracing guide](https://www.braintrust.dev/docs/instrument) for full details on tracing","type":"string"},"span_parents":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]},"tags":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]}}}},"realtime_state":{"type":"on","minimum_xact_id":"1000197783589884487","read_bytes":0,"actual_xact_id":"1000197783589884487"},"freshness_state":{"last_processed_xact_id":"1000197783589884487","last_considered_xact_id":"1000197783589884487"},"warnings":[]} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-9705d0232be4.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-9705d0232be4.json new file mode 100644 index 00000000..64a02d00 --- /dev/null +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-9705d0232be4.json @@ -0,0 +1 @@ +{"data":[{"_async_scoring_state":null,"_pagination_key":"p07680251147406540808","_xact_id":"1000197783585166068","audit_data":[{"_xact_id":"1000197783585166068","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":{"span_origin":{"instrumentation":{"name":"braintrust-java"},"name":"braintrust.sdk.java","version":"0.3.22-ca5ce6d-DIRTY"}},"created":"2026-08-31T17:36:52.214Z","error":null,"expected":null,"facets":null,"id":"ee3db4922885bd97","input":null,"is_root":true,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","client":"langchain1.8-openai"},"metrics":{"end":1788197813.0639956,"start":1788197812.214274},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":null,"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"c7dc1f7c254977e529336e28e4586174","scores":null,"span_attributes":{"name":"streaming","type":"task"},"span_id":"ee3db4922885bd97","span_parents":null,"tags":null},{"_async_scoring_state":null,"_pagination_key":"p07680251147406540802","_xact_id":"1000197783585166068","audit_data":[{"_xact_id":"1000197783585166068","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":{"span_origin":{"instrumentation":{"name":"braintrust-java"},"name":"braintrust.sdk.java","version":"0.3.22-ca5ce6d-DIRTY"}},"created":"2026-08-31T17:36:52.218Z","error":null,"expected":null,"facets":null,"id":"a5b8d23952671698","input":[{"content":"you are a thoughtful assistant","role":"system"},{"content":"Count from 1 to 10 slowly.","role":"user"}],"is_root":false,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","max_tokens":800,"model":"gpt-4o-mini","provider":"openai","request_base_uri":"http://localhost:52408","request_method":"POST","request_path":"chat/completions","response_id":"chatcmpl-EJ0E8bANvjeLdhonxYbhfTmX5kmfe","stream":true,"stream_options":{"include_usage":true},"temperature":0,"x-request-id":"req_c3793ec2f761492a9f70b209a0cc9d8c"},"metrics":{"completion_reasoning_tokens":0,"completion_tokens":40,"end":1788197813.0674322,"estimated_cost":0.00002775,"prompt_cached_tokens":0,"prompt_tokens":25,"start":1788197812.2183425,"time_to_first_token":0.831611833,"tokens":65},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":[{"finish_reason":"stop","index":0,"message":{"content":"Sure! Here we go:\n\n1... \n2... \n3... \n4... \n5... \n6... \n7... \n8... \n9... \n10... \n\nTake your time!","refusal":null,"role":"assistant"}}],"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"c7dc1f7c254977e529336e28e4586174","scores":null,"span_attributes":{"name":"Chat Completion","type":"llm"},"span_id":"a5b8d23952671698","span_parents":["ee3db4922885bd97"],"tags":null}],"schema":{"type":"array","items":{"type":"object","properties":{"_async_scoring_state":{},"_pagination_key":{"description":"A stable, time-ordered key that can be used to paginate over project logs events. This field is auto-generated by Braintrust and only exists in Brainstore.","type":["string","null"]},"_xact_id":{"description":"The transaction id of an event is unique to the network operation that processed the event insertion. Transaction ids are monotonically increasing over time and can be used to retrieve a versioned snapshot of the project logs (see the `version` parameter)","type":"string"},"audit_data":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"classifications":{"anyOf":[{"additionalProperties":{"items":{"additionalProperties":false,"properties":{"confidence":{"description":"Optional confidence score for the classification","type":["number","null"]},"id":{"description":"Stable classification identifier","type":"string"},"label":{"description":"Original label of the classification item, which is useful for search and indexing purposes","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"type":"object"},{"type":"null"}],"description":"Optional metadata associated with the classification"},"source":{"anyOf":[{"anyOf":[{"additionalProperties":false,"properties":{"id":{"type":"string"},"type":{"const":"function","type":"string"},"version":{"description":"The version of the function","type":"string"}},"required":["type","id"],"type":"object"},{"additionalProperties":false,"properties":{"function_type":{"default":"scorer","description":"The type of global function. Defaults to 'scorer'.","enum":["llm","scorer","task","tool","custom_view","preprocessor","facet","classifier","tag","parameters","sandbox"],"type":"string"},"name":{"type":"string"},"type":{"const":"global","type":"string"}},"required":["type","name"],"type":"object"}]},{"type":"null"}],"description":"Optional function identifier that produced the classification"}},"required":["id"],"type":"object"},"type":"array"},"properties":{},"type":"object"},{"type":"null"}]},"comments":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"context":{"anyOf":[{"additionalProperties":{},"properties":{"caller_filename":{"description":"Name of the file in code where the project logs event was created","type":["string","null"]},"caller_functionname":{"description":"The function in code which created the project logs event","type":["string","null"]},"caller_lineno":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"created":{"description":"The timestamp the project logs event was created","format":"date-time","type":"string"},"error":{"description":"The error that occurred, if any."},"expected":{"description":"The ground truth value (an arbitrary, JSON serializable object) that you'd compare to `output` to determine if your `output` value is correct or not. Braintrust currently does not compare `output` to `expected` for you, since there are so many different ways to do that correctly. Instead, these values are just used to help you navigate while digging into analyses. However, we may later use these values to re-score outputs or fine-tune your models."},"facets":{"anyOf":[{"additionalProperties":{"type":["string","null"]},"properties":{},"type":"object"},{"type":"null"}]},"id":{"description":"A unique identifier for the project logs event. If you don't provide one, Braintrust will generate one for you","type":"string"},"input":{"description":"The arguments that uniquely define a user input (an arbitrary, JSON serializable object)."},"is_root":{"description":"Whether this span is a root span","type":["boolean","null"]},"log_id":{"const":"g","description":"A literal 'g' which identifies the log as a project log","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"properties":{"model":{"description":"The model used for this example","type":["string","null"]}},"type":"object"},{"type":"null"}]},"metrics":{"anyOf":[{"additionalProperties":{"type":"number"},"properties":{"caller_filename":{"description":"This metric is deprecated"},"caller_functionname":{"description":"This metric is deprecated"},"caller_lineno":{"description":"This metric is deprecated"},"completion_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"end":{"description":"A unix timestamp recording when the section of code which produced the project logs event finished","type":["number","null"]},"prompt_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"start":{"description":"A unix timestamp recording when the section of code which produced the project logs event started","type":["number","null"]},"tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"org_id":{"description":"Unique id for the organization that the project belongs under","format":"uuid","type":"string"},"origin":{"anyOf":[{"description":"Reference to the original object and event this was copied from.","properties":{"_xact_id":{"description":"Transaction ID of the original event.","type":["string","null"]},"created":{"description":"Created timestamp of the original event. Used to help sort in the UI","type":["string","null"]},"id":{"description":"ID of the original event.","type":"string"},"object_id":{"description":"ID of the object the event is originating from.","format":"uuid","type":"string"},"object_type":{"description":"Type of the object the event is originating from.","enum":["project_logs","experiment","dataset","prompt","function","prompt_session"],"type":"string"}},"required":["object_type","object_id","id"],"type":"object"},{"type":"null"}]},"output":{"description":"The output of your application, including post-processing (an arbitrary, JSON serializable object), that allows you to determine whether the result is correct or not. For example, in an app that generates SQL queries, the `output` should be the _result_ of the SQL query generated by the model, not the query itself, because there may be multiple valid queries that answer a single question."},"project_id":{"description":"Unique identifier for the project","format":"uuid","type":"string"},"root_span_id":{"description":"A unique identifier for the trace this project logs event belongs to","type":"string"},"scores":{"anyOf":[{"additionalProperties":{"anyOf":[{"maximum":1,"minimum":0,"type":"number"},{"type":"null"}]},"properties":{},"type":"object"},{"type":"null"}]},"span_attributes":{"anyOf":[{"additionalProperties":{},"description":"Human-identifying attributes of the span, such as name, type, etc.","properties":{"name":{"description":"Name of the span, for display purposes only","type":["string","null"]},"purpose":{"anyOf":[{"enum":["scorer"],"type":"string"},{"type":"null"}]},"type":{"anyOf":[{"enum":["llm","score","function","eval","task","tool","automation","facet","preprocessor","classifier","review"],"type":"string"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"span_id":{"description":"A unique identifier used to link different project logs events together as part of a full trace. See the [tracing guide](https://www.braintrust.dev/docs/instrument) for full details on tracing","type":"string"},"span_parents":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]},"tags":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]}}}},"realtime_state":{"type":"on","minimum_xact_id":"1000197783589884487","read_bytes":0,"actual_xact_id":"1000197783589884487"},"freshness_state":{"last_processed_xact_id":"1000197783589884487","last_considered_xact_id":"1000197783589884487"},"warnings":[]} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-973db53c70ef.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-973db53c70ef.json new file mode 100644 index 00000000..cad46a34 --- /dev/null +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-973db53c70ef.json @@ -0,0 +1 @@ +{"data":[{"_async_scoring_state":null,"_pagination_key":"p07680251147406540809","_xact_id":"1000197783585166068","audit_data":[{"_xact_id":"1000197783585166068","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":{"span_origin":{"instrumentation":{"name":"braintrust-java"},"name":"braintrust.sdk.java","version":"0.3.22-ca5ce6d-DIRTY"}},"created":"2026-08-31T17:36:52.265Z","error":null,"expected":null,"facets":null,"id":"d5cee7803ee799c0","input":null,"is_root":true,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","client":"openai"},"metrics":{"end":1788197813.782102,"start":1788197812.2653341},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":null,"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"57b8b705b87fe23427d1a97636dbda70","scores":null,"span_attributes":{"name":"attachments","type":"task"},"span_id":"d5cee7803ee799c0","span_parents":null,"tags":null},{"_async_scoring_state":null,"_pagination_key":"p07680251147406540803","_xact_id":"1000197783585166068","audit_data":[{"_xact_id":"1000197783585166068","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":{"span_origin":{"instrumentation":{"name":"braintrust-java"},"name":"braintrust.sdk.java","version":"0.3.22-ca5ce6d-DIRTY"}},"created":"2026-08-31T17:36:52.279Z","error":null,"expected":null,"facets":null,"id":"829daa8cc0e14c3f","input":[{"content":"you are a helpful assistant","role":"system"},{"content":[{"text":"Briefly describe these attachments","type":"text"},{"image_url":{"url":{"content_type":"image/png","filename":"attachment.png","key":"d17f06c0-90ea-4b3a-9c61-6e79f8fe1278","type":"braintrust_attachment"}},"type":"image_url"},{"file":{"file_data":{"content_type":"application/pdf","filename":"attachment.pdf","key":"7eff9c33-a1b9-46fa-8fe0-6503b55fef9c","type":"braintrust_attachment"},"filename":"blank.pdf"},"type":"file"}],"role":"user"}],"is_root":false,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","model":"gpt-4o","provider":"openai","request_base_uri":"http://localhost:52408","request_method":"POST","request_path":"chat/completions","response_id":"chatcmpl-EJ0E8UZlO7nzHm9G3SMkkfmADLCr9","stream":false,"temperature":0,"x-request-id":"req_4d85fdcf7ff04f6f97236f38a3f118de"},"metrics":{"completion_reasoning_tokens":0,"completion_tokens":43,"end":1788197813.779751,"estimated_cost":0.0016675000000000001,"prompt_cached_tokens":0,"prompt_tokens":495,"start":1788197812.279188,"tokens":538},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":[{"finish_reason":"stop","index":0,"logprobs":null,"message":{"annotations":[],"content":"The first attachment is a solid red square, likely an image with no additional content or context.\n\nThe second attachment, \"blank.pdf,\" appears to be a PDF document with no readable content or visible text or images.","refusal":null,"role":"assistant"}}],"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"57b8b705b87fe23427d1a97636dbda70","scores":null,"span_attributes":{"name":"Chat Completion","type":"llm"},"span_id":"829daa8cc0e14c3f","span_parents":["d5cee7803ee799c0"],"tags":null}],"schema":{"type":"array","items":{"type":"object","properties":{"_async_scoring_state":{},"_pagination_key":{"description":"A stable, time-ordered key that can be used to paginate over project logs events. This field is auto-generated by Braintrust and only exists in Brainstore.","type":["string","null"]},"_xact_id":{"description":"The transaction id of an event is unique to the network operation that processed the event insertion. Transaction ids are monotonically increasing over time and can be used to retrieve a versioned snapshot of the project logs (see the `version` parameter)","type":"string"},"audit_data":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"classifications":{"anyOf":[{"additionalProperties":{"items":{"additionalProperties":false,"properties":{"confidence":{"description":"Optional confidence score for the classification","type":["number","null"]},"id":{"description":"Stable classification identifier","type":"string"},"label":{"description":"Original label of the classification item, which is useful for search and indexing purposes","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"type":"object"},{"type":"null"}],"description":"Optional metadata associated with the classification"},"source":{"anyOf":[{"anyOf":[{"additionalProperties":false,"properties":{"id":{"type":"string"},"type":{"const":"function","type":"string"},"version":{"description":"The version of the function","type":"string"}},"required":["type","id"],"type":"object"},{"additionalProperties":false,"properties":{"function_type":{"default":"scorer","description":"The type of global function. Defaults to 'scorer'.","enum":["llm","scorer","task","tool","custom_view","preprocessor","facet","classifier","tag","parameters","sandbox"],"type":"string"},"name":{"type":"string"},"type":{"const":"global","type":"string"}},"required":["type","name"],"type":"object"}]},{"type":"null"}],"description":"Optional function identifier that produced the classification"}},"required":["id"],"type":"object"},"type":"array"},"properties":{},"type":"object"},{"type":"null"}]},"comments":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"context":{"anyOf":[{"additionalProperties":{},"properties":{"caller_filename":{"description":"Name of the file in code where the project logs event was created","type":["string","null"]},"caller_functionname":{"description":"The function in code which created the project logs event","type":["string","null"]},"caller_lineno":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"created":{"description":"The timestamp the project logs event was created","format":"date-time","type":"string"},"error":{"description":"The error that occurred, if any."},"expected":{"description":"The ground truth value (an arbitrary, JSON serializable object) that you'd compare to `output` to determine if your `output` value is correct or not. Braintrust currently does not compare `output` to `expected` for you, since there are so many different ways to do that correctly. Instead, these values are just used to help you navigate while digging into analyses. However, we may later use these values to re-score outputs or fine-tune your models."},"facets":{"anyOf":[{"additionalProperties":{"type":["string","null"]},"properties":{},"type":"object"},{"type":"null"}]},"id":{"description":"A unique identifier for the project logs event. If you don't provide one, Braintrust will generate one for you","type":"string"},"input":{"description":"The arguments that uniquely define a user input (an arbitrary, JSON serializable object)."},"is_root":{"description":"Whether this span is a root span","type":["boolean","null"]},"log_id":{"const":"g","description":"A literal 'g' which identifies the log as a project log","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"properties":{"model":{"description":"The model used for this example","type":["string","null"]}},"type":"object"},{"type":"null"}]},"metrics":{"anyOf":[{"additionalProperties":{"type":"number"},"properties":{"caller_filename":{"description":"This metric is deprecated"},"caller_functionname":{"description":"This metric is deprecated"},"caller_lineno":{"description":"This metric is deprecated"},"completion_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"end":{"description":"A unix timestamp recording when the section of code which produced the project logs event finished","type":["number","null"]},"prompt_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"start":{"description":"A unix timestamp recording when the section of code which produced the project logs event started","type":["number","null"]},"tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"org_id":{"description":"Unique id for the organization that the project belongs under","format":"uuid","type":"string"},"origin":{"anyOf":[{"description":"Reference to the original object and event this was copied from.","properties":{"_xact_id":{"description":"Transaction ID of the original event.","type":["string","null"]},"created":{"description":"Created timestamp of the original event. Used to help sort in the UI","type":["string","null"]},"id":{"description":"ID of the original event.","type":"string"},"object_id":{"description":"ID of the object the event is originating from.","format":"uuid","type":"string"},"object_type":{"description":"Type of the object the event is originating from.","enum":["project_logs","experiment","dataset","prompt","function","prompt_session"],"type":"string"}},"required":["object_type","object_id","id"],"type":"object"},{"type":"null"}]},"output":{"description":"The output of your application, including post-processing (an arbitrary, JSON serializable object), that allows you to determine whether the result is correct or not. For example, in an app that generates SQL queries, the `output` should be the _result_ of the SQL query generated by the model, not the query itself, because there may be multiple valid queries that answer a single question."},"project_id":{"description":"Unique identifier for the project","format":"uuid","type":"string"},"root_span_id":{"description":"A unique identifier for the trace this project logs event belongs to","type":"string"},"scores":{"anyOf":[{"additionalProperties":{"anyOf":[{"maximum":1,"minimum":0,"type":"number"},{"type":"null"}]},"properties":{},"type":"object"},{"type":"null"}]},"span_attributes":{"anyOf":[{"additionalProperties":{},"description":"Human-identifying attributes of the span, such as name, type, etc.","properties":{"name":{"description":"Name of the span, for display purposes only","type":["string","null"]},"purpose":{"anyOf":[{"enum":["scorer"],"type":"string"},{"type":"null"}]},"type":{"anyOf":[{"enum":["llm","score","function","eval","task","tool","automation","facet","preprocessor","classifier","review"],"type":"string"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"span_id":{"description":"A unique identifier used to link different project logs events together as part of a full trace. See the [tracing guide](https://www.braintrust.dev/docs/instrument) for full details on tracing","type":"string"},"span_parents":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]},"tags":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]}}}},"realtime_state":{"type":"on","minimum_xact_id":"1000197783589161396","read_bytes":14598,"actual_xact_id":"1000197783589884487"},"freshness_state":{"last_processed_xact_id":"1000197783589884487","last_considered_xact_id":"1000197783589884487"},"warnings":[]} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-9744b37774d9.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-9744b37774d9.json deleted file mode 100644 index a1ef0894..00000000 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-9744b37774d9.json +++ /dev/null @@ -1 +0,0 @@ -{"data":[{"_async_scoring_state":null,"_pagination_key":"p07675235569653186560","_xact_id":"1000197707053523103","audit_data":[{"_xact_id":"1000197707053523103","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":{"span_origin":{"instrumentation":{"name":"braintrust-java"},"name":"braintrust.sdk.java","version":"0.3.20-fd0c84a-DIRTY"}},"created":"2026-08-18T05:13:52.022Z","error":null,"expected":null,"facets":null,"id":"d98e4897dfcb00ea","input":null,"is_root":true,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","client":"anthropic"},"metrics":{"end":1787030036.364329,"start":1787030032.02212},"org_id":"2732c14b-91d6-4629-901a-c06fcc0df441","origin":null,"output":null,"project_id":"946b2c8d-f5d4-4690-9491-d79e2857c995","root_span_id":"3dc06fd1dbdf5809ad38fa34d7c94014","scores":null,"span_attributes":{"name":"web_search","type":"task"},"span_id":"d98e4897dfcb00ea","span_parents":null,"tags":null},{"_async_scoring_state":null,"_pagination_key":"p07675235569653186562","_xact_id":"1000197707053523103","audit_data":[{"_xact_id":"1000197707053523103","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":{"span_origin":{"instrumentation":{"name":"braintrust-java"},"name":"braintrust.sdk.java","version":"0.3.20-fd0c84a-DIRTY"}},"created":"2026-08-18T05:13:52.242Z","error":null,"expected":null,"facets":null,"id":"71d8b6b93380a09c","input":[{"content":"Search the web for a recent AI news headline and answer in one sentence.","role":"user"}],"is_root":false,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","model":"claude-sonnet-4-5-20250929","provider":"anthropic","request_base_uri":"","request_method":"POST","request_path":"v1/messages"},"metrics":{"completion_tokens":105,"end":1787030036.3637276,"estimated_cost":0.027543,"prompt_cache_creation_1h_tokens":0,"prompt_cache_creation_5m_tokens":0,"prompt_cached_tokens":0,"prompt_tokens":8656,"server_tool_use_web_fetch_requests":0,"server_tool_use_web_search_requests":1,"start":1787030032.242451,"tokens":8761},"org_id":"2732c14b-91d6-4629-901a-c06fcc0df441","origin":null,"output":{"content":[{"id":"srvtoolu_015UtttFnSXF9QTw2RbVfLFj","input":{"query":"AI news today"},"name":"web_search","type":"server_tool_use"},{"caller":{"type":"direct"},"content":[{"encrypted_content":"EsIFCioIEhgCIiQyNzc5NjY2OC03MzUxLTQwYWMtYWNjNC0wMjRhZWU4OTk1YTUSDKr3UnB782FMbGi7mRoMvhOV+vSKnNp2ocy1IjA9nkMzNXCzsGeaHPXBUhyEAu2QP2C5fzLiFnP6Pcy1ySw2O0xNXR6cBaTsldu82BwqxQSmomxhlOZRKm1rDI6SNhdECxzLiq4S0a1CB3ETZT+FWdidU8c8pe+1FwerrvWK4X1TTRp54Hpqe3ocZdlptmJ0fkIjvfR/yS0bdCQs7gaKpr9k16j99Mpxfy1Nrq71qEJ7CSJRXMDo60PNAVGH4gRnRHP25TYMGT3IUInhLrmSvKhDC2/DBpmyIHA+uv3demj+mpcW6imijthhsYi+9RO2XbZoQz92Gft6u1c5rVwnJ6NlrZ4yxcgbVIrkjhfEjknNuCZC3RzybqFlUQJcXdC8FFv3hCaCUeXQoh3GNp44uHJ8VFnE/3FpXfNmGQofr8hlHYm55SIQvORy8Cb3dpZigh9qKbnDZ80sE/22+3MptB1c9MfhroltTHp1jH0ms8wgYRwZ5F/RqP3uaelnnAB8hazC6d51SRa8ADkK29lYwryQdrNUxeJLAaw8zE8Ci7YQEG554ZaHz74FH3YrUzvhH31w9NlHFM2T4pexZ9oZMsXW9sY+pejzJ2LqpF3d1GTKOvikq/XZhQdSrwsxSYGp2pRvy1LEhzPx4SA8UWAhrZ4evPhtjSjI7gKqre6vt8/mW66qD3iU4TBHISlFcr+gyFiFOvIPtP6PUxWsImvOb+uOzDYOG0Do/itKh72S7PdVybw1JhjMh5ePtfs2z0s16qwNSXi7lGFUoe+t7tztApjVkkhazUrU4+OCmEIJNWzhqsAAtrs5Ve+wlXzxnApG6Mk1GyO7dhIuVHw/mbTKJp+j6lkBYlbwUwCbPI8jg4mhhEqrmRgD","page_age":"4 days ago","title":"AI News & Artificial Intelligence | TechCrunch","type":"web_search_result","url":"https://techcrunch.com/category/artificial-intelligence/"},{"encrypted_content":"Et8JCioIEhgCIiQyNzc5NjY2OC03MzUxLTQwYWMtYWNjNC0wMjRhZWU4OTk1YTUSDA2O28LNqLeWxVbpGRoMGelDBUSV43wOqd8nIjC5NwGRdqb3tbfG6p+WKUf8FP7+d3xGLBW9OaQeDY3U+AsVRRrNGR3AnfK1RsgF+noq4gjGvy5GMp5Yf+dtB0IRctv7Gip8xLeDHgG/PDwVxDUwqZ9aR7Xt+MFcUs9eWJbuZR8/spLm6o3JKYu1u4uI38kzRmN/xWV7DbOiR1wuyxB/jQ9fzh37VH9tOdeMbWLLF2yR2jvjmxCqTK11oAscCZwwTSL5wS9Ss2qwvTKIiftTrhPaz/lIePkfjp7PrbGjVQDCcoTvYtgezm4yBeVih5gv41RW7Oitzv4BX/GcKg3FGEO9EjJ9pJwmHfRqaoTYrjl22s2Hs2OefmpILVl/Gs6qgsJodtFVvXeruKIk/A9BXZDIAOL8D6wDSHLonOFstL/jpyqBUC4m6MrPUFbfRSR21kXLvKf1paQXHaJ8CvP8r+NjcB5vmOqXc1r3o9SawEwYZQfckumI/FgERlrUv8AUBISfNUFy6q2YL7N4krwMRMnp6DqSqFIwyMgZxwx+og7dTXiyZAgsrtAvkJkeycWxA6QIPeNbqymAm4Y9yFHRsgDGe3OasA5VH/5uDVxFxSYWJPLX2xp2w21mlTBoa7x7/wP6brnaAD5mVZckHCK5mX57sGybblFR4fbg/tuLmMg7LZIhp5ZANQfHI6iL1qabUVB6gY2QvGmGjmQuArwC2rIVS5rM+sNqgJ3fE3XIBcSky7FvVu0uL7uN54ds9hUKqu7FDiNVqbOJYGjoKoGXmD7QEtNHxguaGu27ftUoYxP3dhnhrQoVnZXMWe62/FYP5W22tkvjoDIUcrAtpOtinsTVSB08f7FvAQJSVCl4hBZcqyNpvcUNe6q2bOu5H+8Ibv/r6qWr7IT1TVIVSRqdyMkgWDjkULlthib46SCkJQjp7kX9p66A4N81QOI+RguTV0K0NV8XcI+sMp4wWXPAThxaDPYtDKDj06Ogv4A8ysvF9GOLlWtRCzJYITYrJzRugL+TdzVPRVKvaiN7DZb2z36ivgKPESHX88FalK5/OiZ6cb29Lv4eMJ+vS3HpTE/Lv4gr2W0u1sX2AM2LfeHIAsEduRAxk4v/6jWbG18M/ePQd7zjXuNpfgcNWnzD+gWnT8x29gz8PolX2xZvh4d3S4cCoXnYe4hzyIRCIrjrHFU8OX9PZ9VURgYgA11HPUbhPVKMxohjByjcYE+1eGdskXXqcsmWR62NdiUpsf9mFqtiRvu6nK2DMYCZrgbwYnhYFnDr58Vh4O9pHfIdnvkXSVHdwPPqVJUffx7WkM1mF613P3tukC/t2iUpi3hU52wOo/FcSB4HIf/Q+8T96rzI0y3GbfxcU8h+GT/Y/C+wowkLjV2WDETmC3RCWTB3z067J2wNbybKsRcpgtjjqeFvEmdkCsyqDMzOEnbLTyryXlc8FtujdLknDH6cZeA+Cja5yFwYGdSbtYzCvDHvG5WJHF4/n+anUc7td7qjTlHi+yHEo46FmPEcEwrFG+QbNlTj+GL9tSOOitN6OBLl3fdggoN3PQzrpmKs45K938U4tVjCN53s1cnKGgh6Fua9QVuYR9oYAw==","page_age":"13 hours ago","title":"AI News | Latest News | Insights Powering AI-Driven Business Growth","type":"web_search_result","url":"https://www.artificialintelligence-news.com/"},{"encrypted_content":"EuAQCioIEhgCIiQyNzc5NjY2OC03MzUxLTQwYWMtYWNjNC0wMjRhZWU4OTk1YTUSDD5WwPFXk2j3fEAa2xoMslD2qOUItdsAcRJ9IjCF4CkvmUx6hmY7IhrKkt64+Qg+3VeEsr44sxVUfMhe1qgJYQKVaCfeLDcgOOcmbQEq4w+Zq758vcXn0AWb4xTZ29MMFptkv67ez02an+RmMkGo5VzC7+lsj28p2EMizMeiKO5A5/eyhEU8EvG+dOW02whtKGZfF0nIczId3Gs62EgTO4TkNn8WLRVRjh/lq6DALJUuS36/oo1yM5RzTXprjAlpGsInHF/5lqnKr+r4EBdX0v/OAZiEQstcKitBGDtlHdf5qOcdsD64d4SVzCWnIS+dqnmE5mtDtABf7hxMeEX3GTeX4JMtFUKbFXACTOVgkq31f2LF5UzhXtDvBTeUK0jCG8qXC4qJuXUUEuA+D51SSjv6oYgdxFEXYPkZJPXpIAKjN5Yy5+CAtXKoao6pG1Fagm+xSSr5bSs0AaIs3ahkzz/dom89JipSBu79btXrdHTHhtJJ5SK6C/1mpfBFrXxCYGdQtTzF7WtHrYxj8u9Jnh/V0snsQ7Xm/2ldtz3tcGHRn8ZbuBxgXyDfG6oF+PZJjJOsGkhRcXm+dtwS49iGGsqdGmDTmCSqnqShdWswdFqI3KvzRpx56B1tKj41Mq5wEGHqm4+f3kH9stQ672a5Su71jp+v3gmHu3Fugl/YJk+bAIsRh1ONMhHuMDraCWrzts34ZY0OAEHaW6AOGn4Gyrgkak4Gt8fBXiAZPr4SzgBGshavVhJdWOZ8/I9UAT7nG0BmkeZXD2NiQTPC1Mq7Gcdl1MlJrhwhgf+ldVcSFCsP+UmeE+QzWaPYGRmnNSSalDzDQyKLbEBopym12BshySYymfPEp+u3warOqrqwencIqhUfiinUdKjaGCH5rMOySVUWhqhEJ1LkK3OTRFO5VLTMDRzezkb2uYXKP+qySkO5TUKy+XBiuzCGX61CD5WNd1Wct31ehGwjJS6hQ11IEnLkm18LYLAzhXWcVgGuLGt5ascR50iJTIhTr6cJy8puWdDVfa7f5FgzRWnzEYirxu4KIlg++VxkdHJ+pcs6TTWbQHndTxELgUt1JmuLbVxjIiRn6TFkBA4v75JNPQnBnTfq8BdWf6Xcg950/jLsmA1nDkJyPQEvyQ3ocOCFs2P/uwKzSaNK/dLBWcH+v7VvVTuWsqa4s1fzDaq3GIRL1lXb2i6TrMVCacRQrUf/RZpK6DtpxpYjSbfquYy22geKAUWDctSNu4zi7PT1JZfLc8b+W4QIFv9U0ERqT8EZKOvAzYxBpKnX8zxs6ozJmCg9GeEWT3654achd1reHGmj2Qrk1KE+1OF+UDFHZZU5AgTk0oZ0lfnilnVDZj0jpFUCtxhM/knK3Vn5whID8JqoraF6RmPYNr+4vqWHuDI7GNW2E/Rqq1buaU+4lmK5GUwCnS3MFPGr+aYFjiE/MCIuX0EIxUz25D9YsScssYhlQWQMyfE1dxT7gSkYgfZ1JA4mRgphy1nlsuOkVeYkUeCYII39KP8LTkSnHbZsuz+fOIaUeqq7IBawQLFEx0PIP0oZibTEOero36DqGK+kBPBk9+w/gUvMQPw3SoQlZECtAy57tzkp3pS9kiT/6iK8FYD959ql1ym2KQ7iPLoSRnMhU0Py6Rd84RNiJ161SWa0gKDr9hszt7Au8BPEkip8GCMSz9ghy03tTMk5ND5nvakYuV/271X5hQqf+BGc6YngHu30HEXwi0k/p5gfFnUuOpk1CIL7JTWMf9cQZsOR6/4XENex91XVdArIz2taBrpIPqMZD34mv6Hui2EZVylRBjQ0Zz/fHqCq9lB6k7djPyZJm2SN/5FLr+tvYmRPNwL4IxXCMQG7kpy8xN/k4Qi6+ABLOXdVQ+A1OI8H212Vc83KDqYiavnSS+qKTdo2/sWp8sM2tM8mVsAv20OHyagIFskmOnlOiuKJPBaa7AOMJeOI27IvFjB9xRvG0VREO1o+wWbwPDGImihNyHC95sYyo9H36/P/91UgIHznt2vs0jTEyG7HbQg+HPl+kbQs2tihWAWFx2X+1RGY7oUGE8qkOw94JABvbEESNKHA/Lu2z+93uTkI0Dts7HivqK/A/W1HTkOVsfojVfXg6z29lBvlXvhUh+vp4mVqdg0TA4vDhaDeDux4maJLAkxXvdveUxlo+81/aFNuWXBg6WLo8fgEDarxkSSzIXNqh+Dgv/g1XumiVhMFDK4zDcgA4+pLvpPmnDbr2tCwPpqp50mdQz8uJFin8yipCTicDYzUd/2vz0OBx5aht3nQ0A9lF9B4D5bKh2WWXFyihQudhpSPSGVzgLIZK/6Str9dqvDGhK7LrYtFH2iA38O8+lpzIc23qVpUauMF89Kv0PYMFglgNz9bBDBOSfDaWFwr0LPKCbSdfLf4piN4iBCA3Pe9ifPdb/FoaZU3mwtSEKux3SHcRtHN23+tEg+GpV83BuLSboS4Vh/kYOpnszl50ku4usYZf81lKwp4y9a+kdTlxrfKt+kkHE3FtKBNgg3OPywmzuauB95IHN7CW0lik9XwbwkZILQ/NgeyoliiTlGHnz899j6EsXDoV+S7KkW3yepEUyyemYOP678At/XRVgsr3SMESB86BXBiGh+W1ipuqzWY8ndB4W59Z9i+btemCQyzuzzWzjZWjo1silD8f0fyN3b0mnDrLU9HlyfTni7ZUr7O+iq5R2tnmO3zOQXk0i9DhanI9N+DawVKOm5FcjAGq88V0Y3kAVT9eJY0I4Kfe4wLMuiFyGRf1PqFzyhEE+OLsPbYcY/D2rRw1NIYAw==","page_age":"12 hours ago","title":"AI News — Today's Top Stories, Tracked & Ranked | AI Weekly","type":"web_search_result","url":"https://aiweekly.co/"},{"encrypted_content":"EuAQCioIEhgCIiQyNzc5NjY2OC03MzUxLTQwYWMtYWNjNC0wMjRhZWU4OTk1YTUSDJGK5mvXI8CYPSugSxoMntNemcwUiupuM3EpIjBqX8J6jWCghclxSlE69CJpBc6Iq2PIvqAy8nq2RuDrl1oumCoUlo8nZmxjbgk9S0sq4w/tHif4Z1fWR5XDdM2lhSoR2vVprZyBXu0nXjsXjuTtNSBotZw2ZSDMslKCc6W3mwhGK+Upb7g19jkn8mjMqh7aYOw/0MB8JQZ+bT73DOkMXDGKSXS0jcAjFd2b+A0SLYDkXCQGmffK8eXVylaCRQerJ6W/of6BJ/QPolKaKZIUHk20OJXSGpuALUbR0VXrOwI8urLC5xJIC2dP9fGZbDyvmioye4t7jBjR/1FMhn0Ejr9XTURmcsEqrvDMHtb/amsoGZF2R2L6UNDetPCdgxAt0dnXcy7C0Ime83EqIZQiPIUUJbnFKCx6H0CpmvaRhpDpGvsIuTBKp6NVz4PoN976t7+8rPl5L5ywRLzbPX3X+p5HocSde0XnP+gzuFdBfy+xyV80R0Vf3+ereex2Mw8hi6mKpwgs+ohbKpale1zx2U6vR7YmHkG3N5zVrVQzEU37vBR5w46fGP/f5e/XPRpHVxpxDttXw9U3anL3+jsZU6TTXK/50x/ks0/7eGG2WRrqkC2P+Ch0JJV3P85E7EbToaYatTLUyYICHv//FeB7v6t1qi35d9xT4KNwxYN2l123zPANWHr448q/Afw8cVyHqWf3mtufOa4Y64hdUzOKMet9dSOJyaMh7Pdl73gmM2QP7CJfaYTy4OcrzeWIbu+GJvKlZOJukpMEUR7pw71+BfugcUAyX5DLwTZCkmDhKw0W1wEZYyyLrFR50+GIxVRxChTDLKidqX1CAaunOgZ2VtN8VYT3andn4TFrON/Bn2kH3Yf54NpWcOZ5TBw1UDFngJcF+OpAag/2xqEt3JvmOYriqCftVusuaxTe8Nm78zHWBh6HkybE0Rdh2KLRReKKzc2kJCAqNKaplsMY03t4uaiX+pWvQecrQC2VRPUMn/7dXSlJ8NY9kSQEb3149x3+blqi9hjtkkQK6lN29Bi4ESE6ctvy5uP+R1Abs9/a4/mxMq+Y1vSVPvBpHf3FE6jceN9/erD+SuMhL/xoBhGFS7h502mNRV2P7VLK/N8+9mRW7uu74GQi3lYqrIz4jBtvue2tVVaOuoCTca6UifwRFojPFrk5YYdeIUdZ/tpYxI5CIBa9XIwqEsEpeWh3Q4SQenv1XduYJDF67o7RO5Ci+COGH8dQu93swgjxfqHNLpjnYEuymFTY4ga6nwpN/XbblRnyCWVwX4SlEyusVwJ9NFhqmfiXkqlSdQDZczOaUo69Inud2sDen4X4kIntCjHXLALXo31UStRNI/3hwGHfc5sDDFWf/5pJ+ZEdQ5UG6yvUDjR3KvK9AnLW/qK0owq5UUCdoxAImKpw3bZwDlmF88Jw4OkRVIOj2jVVGv/fRBpDoFiHiayGm4Fl+Q/20PTaGGhggR5kza5VGh+jnWQ8wjpBw7GjO0liVCBZq0cz6PfMrxJ0sdfwK4Zs1awcn6OFybxBiU7akL4KP/H7sj/R93hQOSY1XmnKU3hpUNBzQf4cpXTRtC96qs0MGNekzO7EY4ezPrSYmXzfHwKLMUAUMLCgUBpKTA1Sk9u8Ho5Gj/3eZW76ktVP+huk5ynfOZWFwJLBt0kqAHipr81BwBHb6I6leUZHH/pCoBvnSjhtqf/G0Gd4ub4iKQYMTXp6F+4tNFzlpA08hdj1xJ6aTeX38mGMuR5SRDT/t31JD49bqIVHWb1bo1o7mnVA4vfGpofTC/WpZMiDY+iOnVhehA5sCspYzk2IOnDDcXyatwq6pz62iZ84pG3qYteFeHEV7qr1r+cIDcBcRO1Lh4qwDUL9lIVYHhN/BtZZg1JRguZRj7KCfuB9DNTl/il7rivcsdww7Okq9DpCcm5J8wIJMwlflInVn9hrqAjVhf/eMImd/19vy/m52VPAavV0UXmD0nGMx+Ja2guF3OXStoq3gyNB8ReCdTgznkod7qVUZy0oxRZ6+nKcAJvj6JeTgSyuZE34tDuN9jqExoZ6Uy20T9eekOZ3Mbs/K43e1obj+qnbacwEhGGZrTZpPVQr1m+sN3gXSriD6HEA2LolJrhB5jGFirquBa4hNNGMr+xn6aCO9Uh5/ge8GYsAd6i4xF2zrXjVs9mGVyudM5ONVWtgxEsSo5j2768/qkFhvLoayjnBje/n94v7YsuPAkQDENWkYMCWh2p9rkLFoCX4cSEqxcPlTGICicD3GMem6nwwt5iBNIJ2Uh+tlL3Kr76J6M7szD3UfdqpLXYc1+IkcMrEJbztHqetzRPKGBQ9raGFzcMOgqRHz+moSogW8IW35qV3NqEfyxMbFPAWo1EXygUo1Q8zfANcEo9zykzLHCUl2IVUdmxc2IxFcyf/bgB6b7mTjFabILLRHZfAeel02K7m9lVxOsYRCc7Ka/OZaTi2ckwwk5MbnByls4kIxBHolsLfWgI4p5PPJGKuOI6fvUE3rkPB0YGvxoiAg4ztg6N5QyhPfvZZKzQXkZOK1Q7choKXAqeotDr++UbC3MLj75LxnOu9pYJDFu1MpkT6yPgkBSL6o1AvFo60/AVHn7edAoZxehAw6aocKOXOQj1y3G6XX8yd0U0jhjZeiqfsuHazTmULkDwvwycOaDDCJSKdp9CX2nW6xCgrCC5wSUKA3wGZ+G+351zWdxkoHbPuAILlhhRpkEBLbeDtSaXXMvLYW5UkK7BERqwfhQTFVfOyCcmC2IJ0gFCf3W81fL/N8eHRW6aS+w0WUYUYAw==","page_age":"1 day ago","title":"AI News Today, August 17 — Top AI Stories & Live Updates | AI Weekly","type":"web_search_result","url":"https://aiweekly.co/ai-news-today"},{"encrypted_content":"EuAQCioIEhgCIiQyNzc5NjY2OC03MzUxLTQwYWMtYWNjNC0wMjRhZWU4OTk1YTUSDJJfSDVXMBpjAq+MnhoMDkHGkTJtONIdN/x7IjA37RhWBJ4rnzYvUS/Ed7KfIzNj2cm5y23NadQ59O/FfyjDcHzOMB0cVC/txaPelPQq4w8hmpdAW/2l6Lu5/k1enlez3CJPmE8/aqWwDwLJEvEcPJU9itS4iQjsFqOivD+dUQ4/49vHZ2jjN8ZU9UPOAltKB7DdV5uIaC8jDP5VqOgYGzXpGHr2iMK8lgCux408RR8qMNKRebFAfPRx6fah4pdqytDa9X9EGvxPOivLsdmTmt0wHcYAH2/voLDKYd3JgcKTXRNeliIGQKeWNX7uS0TMAUdwHXPw3DEXHi4MCrN0Vh2P/vfTCFTWDDV2bLjFa2Y7F3MOvzpZgGrw3hNeoC/efwX0wsiTaOHqBnImjCvgfoMU1+baZvbtJ6t3eWpf/ptH/qVF2xN5h07/1QFtZaQ3FNYWXxjv+RAtTL9h4/S9XgQbnLf9IfLeab930Je/2+J4nW/6kQDrfTjhS5yKR/CiMbMQ1NyxD1rVx+N/M4fLkgUR7OoDehBniWS0WNiyRHs1t+hoTJv7ILnRUfpXOQ4eFD0OFJczx8tw6/ux+9e2zMERnKOZ3E8gauMnhWHz57HbSv1phJdRmUqwPpk/HT/uQBwG/z+6Xs3v2Z4ssqw/ePRht2Tm1RZ4bZR/iAY7o7yVCbxWGqYu4bPub8ZGDcDzFolhS5Z+4YTeTa+igp1s4Z2aqymirYsy3jAlCaHug1zvn12auk1SWLqOjCX0i9YrCzf0yB8U4c2QaqIjesG4OT24i8w7gMJoSt+zC+B0wV3uyCaDxPoKs+S8559+r5qD/+wvpVC96ZLbzn0H2lpIa1hVK4I8rjCwal8sMy4jxAx/mCKlmqZQpnHP6L6b+5pB80nlIR0OEazoYP5hkUBXVl/i3n1kYFx6+Nd0kYPVvoiV8E5nhjEg12DGeY4NAl2VzrHfXj1V0k6QACR9/VIH74mIylTMYkeMIp9hBOa90/AvM3f8oOU4gYleMkcvtatOU2KGqb7mGItDtrn7yGFl/qkFZlOlQg20ezpnike1HXbNqCYbpBBwLL5KnUCd2KAvWbfp4Bqx69KYXN3YgjFG4mdIngaVejNyjJyheMmpgjvCyJrMNf7ifGcwkTVaKWIVVfHiYNPUJj9iDwdtjGYnWZQf9sXqhQydKq7jPEfqF3Ra/Nty5GZvi4oQJEppVVCEJRyogYGWN7kwsVALjYJ79BOf7ho/OjSIeRCpy/VSZwZNqFl1e3fzB+W1dbXW/TBF8yucZBEFBnMw0kKf79cBV5WrTVtAlRVClABgEfSLpkA+rAW5FyzCSBkT7YysabgyVLfB+rYz87PyQjEfgV3lE28MoYFq+BZPfxg5azmF+XmltU2IxtcL7VYGLukibTSdB3KFKKCHSjqcccQl3gyB465kc4MbKVKARhe7UcmtManjBvWqhNxw+LGPslSCEg3Imm71xNA/kNphW5C10np+zIZoVhZqfBlP3Z1aG4oeki1WBqxPRKT/uSQFAyiwBgCreMi74tAMPL8EUIZnCE+qVepYlDI8vSEcQZzw7z0OnlJxLyPGmOfit8k5O1sjK/2akGYy9r2vpNouTLY2P5hphYXeCa7uD9v8TGmGj2l+lFp+NLY+LS/YrFyfvpxJTmIwU+s3Imlew8lJTWnopVM6ieqeZNpyH4BZIoBh+3S1EtdFSKI3KtUsYk2vYlvn6LVbFwQ9FDutRHij3+Cc5hkxHJiaHdoxCLI/fEw4damQaB0LDQARc8cqEtzMpTFyIwx8sDutF/fkhOCU9kBiPCdVGVYcpo3qH1tjpzP2nX7ryf4fLyZ0RCEVlBaFmO4WCR5SKB9AC4JiJOxXjqDIboyXRdXgqXcsiibQmI15aBE29jyhiKgqFQ6Tk7Tg5Dvv6re6Kocd3C8vX/LROao1kQiBEk7SqVAgg4x4B/LysOlvm/VcNcUlfuNvzmq4qQEh1W30JnxP5COiMcHkot1/sktV4erhiOMizNUq3h/ZUyvVRil7Pm5hrLG19sb20U+lyxiFrcjH9msli9SVPnLd8W1igGrpH5L5BbErWA0QhRYduDF/xH/kScD8W4e8pAILcC8GohF2429jhoBtrbT+/NBShMhI1cNvga3H1MI0tPvXirW3UiJk9FV3oSZoL8XgN5XVxuQLzln1kqdg4Bml8y0CaDiJMY7fslvL5isNVKkasN2i1cR1hzixoD34XvOsAJTCjAxafRLouM+E3i06CnpToPl6eeCQYMaphoDk31lijIcr4Sp/8/2m3OP+gDNfY2gWCxrG/PTWqKMBryxtcbMmBZgAKcxuWDoasocDcU1H2Wj+xXzXHFsjwxLxd6bKCcCAhTUx5U8XN5riupsJxRtMtAthc/VS6C6oWZmdF7Awr+z0/cxOyl+QZUbZXMcYg+9EUbDGwQGb5GItDbko2RatcT1+NuKi3gwTCZO5y0f1AIofKdNcHLc6TsocW/Lnq01XSLnSgdd2pxViPPho+GbytArWEOgiSA/qs7R3CpSynq/qV4xt9Fj988QhL7OLV/zneYhyEtu2fM8t99LrzBPWACRko1UkB2tDVTvO/zQbQTrS1Q5jO/JOMyDgGAgyrnXvn4pxU7Swrv71nvvc6ZdpVlL1ZOA7EczptmMyXetK1BceC2uzMIQtYdhyhNKuQUn3hmg+DDbIX1ydNUCSdujRPkrazk8FHpUTfcw1uwu6l055arDO5qNu4FvcQiGdH+FnXXlIsTIm7AkVSUDmPyIOzj2br8kiWP2GfWecZe9sbIj3eE8YAw==","page_age":"15 hours ago","title":"Artificial Intelligence News -- ScienceDaily","type":"web_search_result","url":"https://www.sciencedaily.com/news/computers_math/artificial_intelligence/"},{"encrypted_content":"EuMECioIEhgCIiQyNzc5NjY2OC03MzUxLTQwYWMtYWNjNC0wMjRhZWU4OTk1YTUSDFGD2w+uxBU2EJM0rxoM2FTDL33gzjx74vzMIjAZLBS47T5SlAr+UPP8OaRWWSJH7+7RQkKy/Kro0uCRivQP+C2F3O4CGIqkJ5cu/hkq5gP5uqMQdR3Uc+Dw6xFV4V6NFD1vdhaakJfi8Cvk+qbm+Ijzi0NO4lowvdX19RCVGHiPqOI+D9xyAa05yX+cYLQYCSUYEJa21WAwtYFrn32+PELLZPrksbUJNnMWZdtuqARNZLhrmmu9GJbrr873Wnq/x5NrbZ85oZACuwYlGKPaY2TiiUsSn6HbxoOQhzs4PZ/rnvp2FvufE4Cl8GxQZc03FHkVMXPzhVc+94U5gmnssNCBj+h+aXi5aRqN8Dx5oKcvLtfSRt93+600qmyK48MyU+CT8+imMMrBZbwuo+Q/52KofqMfb0HRtVKtckrERybLG57caZrfv/9qZFcbNiUd9w2J31utGs+qZuzWiDs5459aqUy5sxpPmZyf3gRnSt9R4FJJ9rHU3282PN7MfeaKhjSFHkxZXXFP8n2cy42YVmf3FHsQSG516UElObDvzL+E0fwqkMPVCDMmRTHtv4/BprY9uDjw2QPLsKdGYvLP2TOGOm7VE9DEjzBramCB5fn5qTYcXbWNy8V1qaZJBL+4kTq5y2HtCqhLvA3taQ497rV7AyfNyytewwtc1nVlXUG94mU52/6wMj3Si3aTopJzVrWjTx8k3gWpX6wXDpHRSfXEHBR3GPa53dBhCKOipJRp75CRyXUYAw==","page_age":null,"title":"Palantir Leads AI Data Deal With USA Today Sparking A Newsroom Revolt","type":"web_search_result","url":"https://www.forbes.com/sites/sandycarter/2026/08/15/palantir-leads-ai-data-deal-with-usa-today-sparking-a-newsroom-revolt/"},{"encrypted_content":"EtILCioIEhgCIiQyNzc5NjY2OC03MzUxLTQwYWMtYWNjNC0wMjRhZWU4OTk1YTUSDB7PQqWXziYzzmrAjBoMU6Ch16X9JHzmSN6sIjB9UbazOte9rbASaiOfmkctLPBWUssUVlEylhP63vlhBK8x0lA6YUkez14VKGUKEVsq1QoNxoYwA6Ta1BmcTERZtzWRLfQTPU+3vWXDYP+CIOKuM0enIWWLd27yMJPbQ7AQ3Nys9f+Jg5YXdZIMXX4Yr2hfHquaYM5Qh4WLF8qB48OLXw7IeIQo32TM0aO1pJutS3g4cVc48pAdzjIAMREx7Alef1jHTLocbz9t+dbSkBa9IhdNboxPqgxZ2tdUaA2HnCLcT8VgiPRfd+0nkMhTtWjAoEt9KB9fkstnTV0in65onodEtm/zx2QktLpzCwEcahDjtss46BXe559/HjIasvVDP2qXEzNhCJJ0L5b7tFKsxuiI+WOMBQZmly7p7v9VfkxF+xXu22yECq3uRfq/ZJRc5YcP0skdmz4VwzhqyvPR0a2KFEGtR6eMD3tTMq/qEZ0WHbD1oqn+4jwuT8nGGCkhygv1atLu72q97IosPI05xFEObA55vAKMo/ZYT4F2FoQHDf8XwaSBs+743KV+N2XtkgtYjZXOjE/W/FBIygUlN1Lvk06UKa+pOyylZ87/G+qc8/VVcHTsIps0UV7jlngd52TU571EFXZX1QRybJ2GDYIPlpwtq8ufpEEFxj9CPjdPDohcuYpPJkUNPDpDUOqG0KVKpPrncabsqqbvDff1wSa0avqvmDhRGOvJ2bGkdlEA/YgNGFWZA1rWhudBEDzYnuC778h5LjCT9BFKefinntD4ofHWM3HdFyQTeOu75seC9e4v5A6TkcKWvFvBfB3HH6YzuoUVtVc3XjjjG+CXb3t7rbODxjIjURbiVQ3A5JmKQ+XGcIq/prCitqQ1k70F1HHzsI+HHX4XWpjd6TtUDrSerUjuxFXxCfreaHAjpQ+ubzRmDuA/DMVXDK7+NsxGnqjr60ZrJuGdODHAbIAKbPaMxoLqONcMSJ721LZvCLDCgLTmsE0SwTBiMUlvEnPCm0BASreWpcrUtTixJpcKjmEWOCTwBmgPtyNqZpBR4kXd+krj8eUwdQedwiY/YZDt1io/UAqCibL8ki1Ft7Np8oA87cv0G6Ri/35zzDrogwMho39sWUAPe4CT2k32oa3T35iDx1mXiruo6YHh9luPtc0UZUNdpNzVk41m4be7p+KSIga4rb9uDVN61vQR2QKs6kEZoXgcLWAINc2htUyYr1SIKTeQJQpW7ruOCClsDrPhTvsMPaWqlvVFxGPAjjuCfz/0SznVp35N1gkVCLKsOX7T9qTgD9fZPYUM2nR2vedJkXKMUmsWvqoGLHoF5Wt1YpFuo5wySyh7KFKrSC5WsYlEkrI+QigL5VnKPd5zyBnDqOtSKMTf18CUUcQl6tssKuSt4mmM3zFQ7PYYCFLA2vvpgceIiRseGvi298TbNgvBrZpqCvW6H3ri5B8qcF26Lecde9tx2H90uYbR+miJW3my62Mn3rRviF9jOTfOo1qu2YpFTjwqMGEjVWi+vnO2qTMohpxGJ0rCb+AiyCNL/2X+KdaUrDXzEbikA7BOjN79UqH9o1VP3N0dKHqlUL3aU36ZS0xSkafpQ+XrguQ2b2RhBrtkpMcGiCP3/59HttPNB+uy2jPnx3M7lR90a3j5ikUOZOZS0+AUMkvAzrRKZOiIiLOJdWZoh6tEnYiaZtI3rf+Uy+tqKwBkeSvYcqG7/yZVYjjtTlhwDIrQDW1T2eOWO7aWfeaPzr3h6Tttzh3VBtJPxmDhlW+LfWg+DLVIG/zlU2jCycR6mRmfdU3JS5+FNNxzsGlQ8ZWlNEZkjDrsD2UaNF4BTU2IldOVH8Xw6t31d5T/ty3Zw23OGi7XC3KIm1cEISOGgtrh/jAyb2BaWMrdKoI98xo2z0KSFGN24P+P5ZEYAw==","page_age":"5 days ago","title":"The Latest AI News, Insights and Reports | AI Magazine","type":"web_search_result","url":"https://aimagazine.com/"}],"tool_use_id":"srvtoolu_015UtttFnSXF9QTw2RbVfLFj","type":"web_search_tool_result"},{"citations":[{"cited_text":"● LIVE Updated 0m ago · Edited by Alexis · Daily editions · About the index · Bloomberg and TechCrunch reported Aug 16 that Stripe has finalized a dea...","encrypted_index":"Eo8BCioIEhgCIiQyNzc5NjY2OC03MzUxLTQwYWMtYWNjNC0wMjRhZWU4OTk1YTUSDKANIzjrwAejyxx7SxoMKZDF4Hp41qQ/MLjLIjDAKf5Kij5nxh4dOqHUXNqCY8VVLjiNAnFnJB897ItWQmrzNpCZFGMmuwUBEFUPSZEqEymupdgjfChzS63sDW/rdk2l+GkYBA==","title":"AI News Today, August 17 — Top AI Stories & Live Updates | AI Weekly","type":"web_search_result_location","url":"https://aiweekly.co/ai-news-today"}],"text":"Stripe has finalized a deal to acquire OpenRouter for more than $7 billion, according to reports from Bloomberg and TechCrunch.","type":"text"}],"id":"msg_011Ce9eE5R1d9YoebCfJRihs","model":"claude-sonnet-4-5-20250929","role":"assistant","stop_details":null,"stop_reason":"end_turn","stop_sequence":null,"type":"message","usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":0},"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"inference_geo":"not_available","input_tokens":8656,"output_tokens":105,"server_tool_use":{"web_fetch_requests":0,"web_search_requests":1},"service_tier":"standard"}},"project_id":"946b2c8d-f5d4-4690-9491-d79e2857c995","root_span_id":"3dc06fd1dbdf5809ad38fa34d7c94014","scores":null,"span_attributes":{"name":"anthropic.messages.create","type":"llm"},"span_id":"71d8b6b93380a09c","span_parents":["d98e4897dfcb00ea"],"tags":null},{"_async_scoring_state":null,"_pagination_key":"p07675235569653186561","_xact_id":"1000197707053523103","audit_data":[{"_xact_id":"1000197707053523103","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":{"span_origin":{"instrumentation":{"name":"braintrust-java"},"name":"braintrust.sdk.java","version":"0.3.20-fd0c84a-DIRTY"}},"created":"2026-08-18T05:13:52.242Z","error":null,"expected":null,"facets":null,"id":"2a810527d7497d4b","input":{"query":"AI news today"},"is_root":false,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","caller":{"type":"direct"},"tool_call_type":"server_tool_use","tool_result_type":"web_search_tool_result","tool_use_id":"srvtoolu_015UtttFnSXF9QTw2RbVfLFj"},"metrics":{"end":1787030032.242451,"start":1787030032.242451},"org_id":"2732c14b-91d6-4629-901a-c06fcc0df441","origin":null,"output":[{"encrypted_content":"","page_age":"4 days ago","title":"AI News & Artificial Intelligence | TechCrunch","type":"web_search_result","url":"https://techcrunch.com/category/artificial-intelligence/"},{"encrypted_content":"","page_age":"13 hours ago","title":"AI News | Latest News | Insights Powering AI-Driven Business Growth","type":"web_search_result","url":"https://www.artificialintelligence-news.com/"},{"encrypted_content":"","page_age":"12 hours ago","title":"AI News — Today's Top Stories, Tracked & Ranked | AI Weekly","type":"web_search_result","url":"https://aiweekly.co/"},{"encrypted_content":"","page_age":"1 day ago","title":"AI News Today, August 17 — Top AI Stories & Live Updates | AI Weekly","type":"web_search_result","url":"https://aiweekly.co/ai-news-today"},{"encrypted_content":"","page_age":"15 hours ago","title":"Artificial Intelligence News -- ScienceDaily","type":"web_search_result","url":"https://www.sciencedaily.com/news/computers_math/artificial_intelligence/"},{"encrypted_content":"","page_age":null,"title":"Palantir Leads AI Data Deal With USA Today Sparking A Newsroom Revolt","type":"web_search_result","url":"https://www.forbes.com/sites/sandycarter/2026/08/15/palantir-leads-ai-data-deal-with-usa-today-sparking-a-newsroom-revolt/"},{"encrypted_content":"","page_age":"5 days ago","title":"The Latest AI News, Insights and Reports | AI Magazine","type":"web_search_result","url":"https://aimagazine.com/"}],"project_id":"946b2c8d-f5d4-4690-9491-d79e2857c995","root_span_id":"3dc06fd1dbdf5809ad38fa34d7c94014","scores":null,"span_attributes":{"name":"web_search","type":"tool"},"span_id":"2a810527d7497d4b","span_parents":["71d8b6b93380a09c"],"tags":null}],"schema":{"type":"array","items":{"type":"object","properties":{"_async_scoring_state":{},"_pagination_key":{"description":"A stable, time-ordered key that can be used to paginate over project logs events. This field is auto-generated by Braintrust and only exists in Brainstore.","type":["string","null"]},"_xact_id":{"description":"The transaction id of an event is unique to the network operation that processed the event insertion. Transaction ids are monotonically increasing over time and can be used to retrieve a versioned snapshot of the project logs (see the `version` parameter)","type":"string"},"audit_data":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"classifications":{"anyOf":[{"additionalProperties":{"items":{"additionalProperties":false,"properties":{"confidence":{"description":"Optional confidence score for the classification","type":["number","null"]},"id":{"description":"Stable classification identifier","type":"string"},"label":{"description":"Original label of the classification item, which is useful for search and indexing purposes","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"type":"object"},{"type":"null"}],"description":"Optional metadata associated with the classification"},"source":{"anyOf":[{"anyOf":[{"additionalProperties":false,"properties":{"id":{"type":"string"},"type":{"const":"function","type":"string"},"version":{"description":"The version of the function","type":"string"}},"required":["type","id"],"type":"object"},{"additionalProperties":false,"properties":{"function_type":{"default":"scorer","description":"The type of global function. Defaults to 'scorer'.","enum":["llm","scorer","task","tool","custom_view","preprocessor","facet","classifier","tag","parameters","sandbox"],"type":"string"},"name":{"type":"string"},"type":{"const":"global","type":"string"}},"required":["type","name"],"type":"object"}]},{"type":"null"}],"description":"Optional function identifier that produced the classification"}},"required":["id"],"type":"object"},"type":"array"},"properties":{},"type":"object"},{"type":"null"}]},"comments":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"context":{"anyOf":[{"additionalProperties":{},"properties":{"caller_filename":{"description":"Name of the file in code where the project logs event was created","type":["string","null"]},"caller_functionname":{"description":"The function in code which created the project logs event","type":["string","null"]},"caller_lineno":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"created":{"description":"The timestamp the project logs event was created","format":"date-time","type":"string"},"error":{"description":"The error that occurred, if any."},"expected":{"description":"The ground truth value (an arbitrary, JSON serializable object) that you'd compare to `output` to determine if your `output` value is correct or not. Braintrust currently does not compare `output` to `expected` for you, since there are so many different ways to do that correctly. Instead, these values are just used to help you navigate while digging into analyses. However, we may later use these values to re-score outputs or fine-tune your models."},"facets":{"anyOf":[{"additionalProperties":{"type":["string","null"]},"properties":{},"type":"object"},{"type":"null"}]},"id":{"description":"A unique identifier for the project logs event. If you don't provide one, Braintrust will generate one for you","type":"string"},"input":{"description":"The arguments that uniquely define a user input (an arbitrary, JSON serializable object)."},"is_root":{"description":"Whether this span is a root span","type":["boolean","null"]},"log_id":{"const":"g","description":"A literal 'g' which identifies the log as a project log","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"properties":{"model":{"description":"The model used for this example","type":["string","null"]}},"type":"object"},{"type":"null"}]},"metrics":{"anyOf":[{"additionalProperties":{"type":"number"},"properties":{"caller_filename":{"description":"This metric is deprecated"},"caller_functionname":{"description":"This metric is deprecated"},"caller_lineno":{"description":"This metric is deprecated"},"completion_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"end":{"description":"A unix timestamp recording when the section of code which produced the project logs event finished","type":["number","null"]},"prompt_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"start":{"description":"A unix timestamp recording when the section of code which produced the project logs event started","type":["number","null"]},"tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"org_id":{"description":"Unique id for the organization that the project belongs under","format":"uuid","type":"string"},"origin":{"anyOf":[{"description":"Reference to the original object and event this was copied from.","properties":{"_xact_id":{"description":"Transaction ID of the original event.","type":["string","null"]},"created":{"description":"Created timestamp of the original event. Used to help sort in the UI","type":["string","null"]},"id":{"description":"ID of the original event.","type":"string"},"object_id":{"description":"ID of the object the event is originating from.","format":"uuid","type":"string"},"object_type":{"description":"Type of the object the event is originating from.","enum":["project_logs","experiment","dataset","prompt","function","prompt_session"],"type":"string"}},"required":["object_type","object_id","id"],"type":"object"},{"type":"null"}]},"output":{"description":"The output of your application, including post-processing (an arbitrary, JSON serializable object), that allows you to determine whether the result is correct or not. For example, in an app that generates SQL queries, the `output` should be the _result_ of the SQL query generated by the model, not the query itself, because there may be multiple valid queries that answer a single question."},"project_id":{"description":"Unique identifier for the project","format":"uuid","type":"string"},"root_span_id":{"description":"A unique identifier for the trace this project logs event belongs to","type":"string"},"scores":{"anyOf":[{"additionalProperties":{"anyOf":[{"maximum":1,"minimum":0,"type":"number"},{"type":"null"}]},"properties":{},"type":"object"},{"type":"null"}]},"span_attributes":{"anyOf":[{"additionalProperties":{},"description":"Human-identifying attributes of the span, such as name, type, etc.","properties":{"name":{"description":"Name of the span, for display purposes only","type":["string","null"]},"purpose":{"anyOf":[{"enum":["scorer"],"type":"string"},{"type":"null"}]},"type":{"anyOf":[{"enum":["llm","score","function","eval","task","tool","automation","facet","preprocessor","classifier","review"],"type":"string"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"span_id":{"description":"A unique identifier used to link different project logs events together as part of a full trace. See the [tracing guide](https://www.braintrust.dev/docs/instrument) for full details on tracing","type":"string"},"span_parents":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]},"tags":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]}}}},"realtime_state":{"type":"exhausted_timeout","timeout_ms":500,"minimum_xact_id":"1000197707053523103","actual_xact_id":null},"freshness_state":{"last_processed_xact_id":"1000197707053523103","last_considered_xact_id":"1000197707053523103"},"warnings":[]} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-980e9d552173.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-980e9d552173.json new file mode 100644 index 00000000..73fb8b13 --- /dev/null +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-980e9d552173.json @@ -0,0 +1 @@ +{"data":[{"_async_scoring_state":null,"_pagination_key":"p07680251121458085901","_xact_id":"1000197783584770126","audit_data":[{"_xact_id":"1000197783584770126","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":{"span_origin":{"instrumentation":{"name":"braintrust-java"},"name":"braintrust.sdk.java","version":"0.3.22-ca5ce6d-DIRTY"}},"created":"2026-08-31T17:36:50.339Z","error":null,"expected":null,"facets":null,"id":"9ff4a3b584ec69ce","input":null,"is_root":true,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","client":"langchain1.14-openai"},"metrics":{"end":1788197811.4594953,"start":1788197810.339463},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":null,"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"8cb588aad5ccaf555c1e6bb1f43e4276","scores":null,"span_attributes":{"name":"completions","type":"task"},"span_id":"9ff4a3b584ec69ce","span_parents":null,"tags":null},{"_async_scoring_state":null,"_pagination_key":"p07680251121458085894","_xact_id":"1000197783584770126","audit_data":[{"_xact_id":"1000197783584770126","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":{"span_origin":{"instrumentation":{"name":"braintrust-java"},"name":"braintrust.sdk.java","version":"0.3.22-ca5ce6d-DIRTY"}},"created":"2026-08-31T17:36:50.344Z","error":null,"expected":null,"facets":null,"id":"9dca76fd4a381ae1","input":[{"content":"you are a helpful assistant","role":"system"},{"content":"What is the capital of France?","role":"user"}],"is_root":false,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","model":"gpt-4o-mini","provider":"openai","request_base_uri":"http://localhost:52408","request_method":"POST","request_path":"chat/completions","response_id":"chatcmpl-EJ0E7DzD2I0UdG2Tm1nGb3zlS9Iog","stream":false,"temperature":0,"x-request-id":"req_5a9d76eb59aa40c0a0761509297770e7"},"metrics":{"completion_reasoning_tokens":0,"completion_tokens":7,"end":1788197811.458583,"estimated_cost":0.00000765,"prompt_cached_tokens":0,"prompt_tokens":23,"start":1788197810.344723,"tokens":30},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":[{"finish_reason":"stop","index":0,"logprobs":null,"message":{"annotations":[],"content":"The capital of France is Paris.","refusal":null,"role":"assistant"}}],"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"8cb588aad5ccaf555c1e6bb1f43e4276","scores":null,"span_attributes":{"name":"Chat Completion","type":"llm"},"span_id":"9dca76fd4a381ae1","span_parents":["9ff4a3b584ec69ce"],"tags":null}],"schema":{"type":"array","items":{"type":"object","properties":{"_async_scoring_state":{},"_pagination_key":{"description":"A stable, time-ordered key that can be used to paginate over project logs events. This field is auto-generated by Braintrust and only exists in Brainstore.","type":["string","null"]},"_xact_id":{"description":"The transaction id of an event is unique to the network operation that processed the event insertion. Transaction ids are monotonically increasing over time and can be used to retrieve a versioned snapshot of the project logs (see the `version` parameter)","type":"string"},"audit_data":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"classifications":{"anyOf":[{"additionalProperties":{"items":{"additionalProperties":false,"properties":{"confidence":{"description":"Optional confidence score for the classification","type":["number","null"]},"id":{"description":"Stable classification identifier","type":"string"},"label":{"description":"Original label of the classification item, which is useful for search and indexing purposes","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"type":"object"},{"type":"null"}],"description":"Optional metadata associated with the classification"},"source":{"anyOf":[{"anyOf":[{"additionalProperties":false,"properties":{"id":{"type":"string"},"type":{"const":"function","type":"string"},"version":{"description":"The version of the function","type":"string"}},"required":["type","id"],"type":"object"},{"additionalProperties":false,"properties":{"function_type":{"default":"scorer","description":"The type of global function. Defaults to 'scorer'.","enum":["llm","scorer","task","tool","custom_view","preprocessor","facet","classifier","tag","parameters","sandbox"],"type":"string"},"name":{"type":"string"},"type":{"const":"global","type":"string"}},"required":["type","name"],"type":"object"}]},{"type":"null"}],"description":"Optional function identifier that produced the classification"}},"required":["id"],"type":"object"},"type":"array"},"properties":{},"type":"object"},{"type":"null"}]},"comments":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"context":{"anyOf":[{"additionalProperties":{},"properties":{"caller_filename":{"description":"Name of the file in code where the project logs event was created","type":["string","null"]},"caller_functionname":{"description":"The function in code which created the project logs event","type":["string","null"]},"caller_lineno":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"created":{"description":"The timestamp the project logs event was created","format":"date-time","type":"string"},"error":{"description":"The error that occurred, if any."},"expected":{"description":"The ground truth value (an arbitrary, JSON serializable object) that you'd compare to `output` to determine if your `output` value is correct or not. Braintrust currently does not compare `output` to `expected` for you, since there are so many different ways to do that correctly. Instead, these values are just used to help you navigate while digging into analyses. However, we may later use these values to re-score outputs or fine-tune your models."},"facets":{"anyOf":[{"additionalProperties":{"type":["string","null"]},"properties":{},"type":"object"},{"type":"null"}]},"id":{"description":"A unique identifier for the project logs event. If you don't provide one, Braintrust will generate one for you","type":"string"},"input":{"description":"The arguments that uniquely define a user input (an arbitrary, JSON serializable object)."},"is_root":{"description":"Whether this span is a root span","type":["boolean","null"]},"log_id":{"const":"g","description":"A literal 'g' which identifies the log as a project log","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"properties":{"model":{"description":"The model used for this example","type":["string","null"]}},"type":"object"},{"type":"null"}]},"metrics":{"anyOf":[{"additionalProperties":{"type":"number"},"properties":{"caller_filename":{"description":"This metric is deprecated"},"caller_functionname":{"description":"This metric is deprecated"},"caller_lineno":{"description":"This metric is deprecated"},"completion_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"end":{"description":"A unix timestamp recording when the section of code which produced the project logs event finished","type":["number","null"]},"prompt_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"start":{"description":"A unix timestamp recording when the section of code which produced the project logs event started","type":["number","null"]},"tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"org_id":{"description":"Unique id for the organization that the project belongs under","format":"uuid","type":"string"},"origin":{"anyOf":[{"description":"Reference to the original object and event this was copied from.","properties":{"_xact_id":{"description":"Transaction ID of the original event.","type":["string","null"]},"created":{"description":"Created timestamp of the original event. Used to help sort in the UI","type":["string","null"]},"id":{"description":"ID of the original event.","type":"string"},"object_id":{"description":"ID of the object the event is originating from.","format":"uuid","type":"string"},"object_type":{"description":"Type of the object the event is originating from.","enum":["project_logs","experiment","dataset","prompt","function","prompt_session"],"type":"string"}},"required":["object_type","object_id","id"],"type":"object"},{"type":"null"}]},"output":{"description":"The output of your application, including post-processing (an arbitrary, JSON serializable object), that allows you to determine whether the result is correct or not. For example, in an app that generates SQL queries, the `output` should be the _result_ of the SQL query generated by the model, not the query itself, because there may be multiple valid queries that answer a single question."},"project_id":{"description":"Unique identifier for the project","format":"uuid","type":"string"},"root_span_id":{"description":"A unique identifier for the trace this project logs event belongs to","type":"string"},"scores":{"anyOf":[{"additionalProperties":{"anyOf":[{"maximum":1,"minimum":0,"type":"number"},{"type":"null"}]},"properties":{},"type":"object"},{"type":"null"}]},"span_attributes":{"anyOf":[{"additionalProperties":{},"description":"Human-identifying attributes of the span, such as name, type, etc.","properties":{"name":{"description":"Name of the span, for display purposes only","type":["string","null"]},"purpose":{"anyOf":[{"enum":["scorer"],"type":"string"},{"type":"null"}]},"type":{"anyOf":[{"enum":["llm","score","function","eval","task","tool","automation","facet","preprocessor","classifier","review"],"type":"string"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"span_id":{"description":"A unique identifier used to link different project logs events together as part of a full trace. See the [tracing guide](https://www.braintrust.dev/docs/instrument) for full details on tracing","type":"string"},"span_parents":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]},"tags":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]}}}},"realtime_state":{"type":"on","minimum_xact_id":"1000197783589884487","read_bytes":0,"actual_xact_id":"1000197783589884487"},"freshness_state":{"last_processed_xact_id":"1000197783589884487","last_considered_xact_id":"1000197783589884487"},"warnings":[]} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-985ab1d04106.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-985ab1d04106.json new file mode 100644 index 00000000..e1390189 --- /dev/null +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-985ab1d04106.json @@ -0,0 +1 @@ +{"data":[{"_async_scoring_state":null,"_pagination_key":"p07680251147406540806","_xact_id":"1000197783585166068","audit_data":[{"_xact_id":"1000197783585166068","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":{"span_origin":{"instrumentation":{"name":"braintrust-java"},"name":"braintrust.sdk.java","version":"0.3.22-ca5ce6d-DIRTY"}},"created":"2026-08-31T17:36:50.794Z","error":null,"expected":null,"facets":null,"id":"7cd793f4fb3e881a","input":null,"is_root":true,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","client":"springai-openai"},"metrics":{"end":1788197812.2140844,"start":1788197810.794755},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":null,"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"252f0c6a9615543fbe9d14d2646593f7","scores":null,"span_attributes":{"name":"streaming","type":"task"},"span_id":"7cd793f4fb3e881a","span_parents":null,"tags":null},{"_async_scoring_state":null,"_pagination_key":"p07680251147406540800","_xact_id":"1000197783585166068","audit_data":[{"_xact_id":"1000197783585166068","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":{"span_origin":{"instrumentation":{"name":"braintrust-java"},"name":"braintrust.sdk.java","version":"0.3.22-ca5ce6d-DIRTY"}},"created":"2026-08-31T17:36:50.951Z","error":null,"expected":null,"facets":null,"id":"dca2f5952abf08ec","input":[{"content":"you are a thoughtful assistant","role":"system"},{"content":"Count from 1 to 10 slowly.","role":"user"}],"is_root":false,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","model":"gpt-4o-mini-2024-07-18","provider":"openai","request_base_uri":"http://localhost:52408","request_method":"POST","request_path":"chat/completions","response_id":"chatcmpl-EJ0E7XVwjBnpW18uuvSFbsAvxk9Dl","x-request-id":"req_9c29c6dfa9904ffe82d16f9d90c261bf"},"metrics":{"completion_reasoning_tokens":0,"completion_tokens":40,"end":1788197812.2154152,"estimated_cost":0.00002775,"prompt_cached_tokens":0,"prompt_tokens":25,"start":1788197810.9511673,"time_to_first_token":1.246453541,"tokens":65},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":[{"finish_reason":"stop","index":0,"message":{"content":"Sure! Here we go:\n\n1... \n2... \n3... \n4... \n5... \n6... \n7... \n8... \n9... \n10... \n\nTake your time!","refusal":null,"role":"assistant"}}],"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"252f0c6a9615543fbe9d14d2646593f7","scores":null,"span_attributes":{"name":"Chat Completion","type":"llm"},"span_id":"dca2f5952abf08ec","span_parents":["7cd793f4fb3e881a"],"tags":null}],"schema":{"type":"array","items":{"type":"object","properties":{"_async_scoring_state":{},"_pagination_key":{"description":"A stable, time-ordered key that can be used to paginate over project logs events. This field is auto-generated by Braintrust and only exists in Brainstore.","type":["string","null"]},"_xact_id":{"description":"The transaction id of an event is unique to the network operation that processed the event insertion. Transaction ids are monotonically increasing over time and can be used to retrieve a versioned snapshot of the project logs (see the `version` parameter)","type":"string"},"audit_data":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"classifications":{"anyOf":[{"additionalProperties":{"items":{"additionalProperties":false,"properties":{"confidence":{"description":"Optional confidence score for the classification","type":["number","null"]},"id":{"description":"Stable classification identifier","type":"string"},"label":{"description":"Original label of the classification item, which is useful for search and indexing purposes","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"type":"object"},{"type":"null"}],"description":"Optional metadata associated with the classification"},"source":{"anyOf":[{"anyOf":[{"additionalProperties":false,"properties":{"id":{"type":"string"},"type":{"const":"function","type":"string"},"version":{"description":"The version of the function","type":"string"}},"required":["type","id"],"type":"object"},{"additionalProperties":false,"properties":{"function_type":{"default":"scorer","description":"The type of global function. Defaults to 'scorer'.","enum":["llm","scorer","task","tool","custom_view","preprocessor","facet","classifier","tag","parameters","sandbox"],"type":"string"},"name":{"type":"string"},"type":{"const":"global","type":"string"}},"required":["type","name"],"type":"object"}]},{"type":"null"}],"description":"Optional function identifier that produced the classification"}},"required":["id"],"type":"object"},"type":"array"},"properties":{},"type":"object"},{"type":"null"}]},"comments":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"context":{"anyOf":[{"additionalProperties":{},"properties":{"caller_filename":{"description":"Name of the file in code where the project logs event was created","type":["string","null"]},"caller_functionname":{"description":"The function in code which created the project logs event","type":["string","null"]},"caller_lineno":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"created":{"description":"The timestamp the project logs event was created","format":"date-time","type":"string"},"error":{"description":"The error that occurred, if any."},"expected":{"description":"The ground truth value (an arbitrary, JSON serializable object) that you'd compare to `output` to determine if your `output` value is correct or not. Braintrust currently does not compare `output` to `expected` for you, since there are so many different ways to do that correctly. Instead, these values are just used to help you navigate while digging into analyses. However, we may later use these values to re-score outputs or fine-tune your models."},"facets":{"anyOf":[{"additionalProperties":{"type":["string","null"]},"properties":{},"type":"object"},{"type":"null"}]},"id":{"description":"A unique identifier for the project logs event. If you don't provide one, Braintrust will generate one for you","type":"string"},"input":{"description":"The arguments that uniquely define a user input (an arbitrary, JSON serializable object)."},"is_root":{"description":"Whether this span is a root span","type":["boolean","null"]},"log_id":{"const":"g","description":"A literal 'g' which identifies the log as a project log","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"properties":{"model":{"description":"The model used for this example","type":["string","null"]}},"type":"object"},{"type":"null"}]},"metrics":{"anyOf":[{"additionalProperties":{"type":"number"},"properties":{"caller_filename":{"description":"This metric is deprecated"},"caller_functionname":{"description":"This metric is deprecated"},"caller_lineno":{"description":"This metric is deprecated"},"completion_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"end":{"description":"A unix timestamp recording when the section of code which produced the project logs event finished","type":["number","null"]},"prompt_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"start":{"description":"A unix timestamp recording when the section of code which produced the project logs event started","type":["number","null"]},"tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"org_id":{"description":"Unique id for the organization that the project belongs under","format":"uuid","type":"string"},"origin":{"anyOf":[{"description":"Reference to the original object and event this was copied from.","properties":{"_xact_id":{"description":"Transaction ID of the original event.","type":["string","null"]},"created":{"description":"Created timestamp of the original event. Used to help sort in the UI","type":["string","null"]},"id":{"description":"ID of the original event.","type":"string"},"object_id":{"description":"ID of the object the event is originating from.","format":"uuid","type":"string"},"object_type":{"description":"Type of the object the event is originating from.","enum":["project_logs","experiment","dataset","prompt","function","prompt_session"],"type":"string"}},"required":["object_type","object_id","id"],"type":"object"},{"type":"null"}]},"output":{"description":"The output of your application, including post-processing (an arbitrary, JSON serializable object), that allows you to determine whether the result is correct or not. For example, in an app that generates SQL queries, the `output` should be the _result_ of the SQL query generated by the model, not the query itself, because there may be multiple valid queries that answer a single question."},"project_id":{"description":"Unique identifier for the project","format":"uuid","type":"string"},"root_span_id":{"description":"A unique identifier for the trace this project logs event belongs to","type":"string"},"scores":{"anyOf":[{"additionalProperties":{"anyOf":[{"maximum":1,"minimum":0,"type":"number"},{"type":"null"}]},"properties":{},"type":"object"},{"type":"null"}]},"span_attributes":{"anyOf":[{"additionalProperties":{},"description":"Human-identifying attributes of the span, such as name, type, etc.","properties":{"name":{"description":"Name of the span, for display purposes only","type":["string","null"]},"purpose":{"anyOf":[{"enum":["scorer"],"type":"string"},{"type":"null"}]},"type":{"anyOf":[{"enum":["llm","score","function","eval","task","tool","automation","facet","preprocessor","classifier","review"],"type":"string"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"span_id":{"description":"A unique identifier used to link different project logs events together as part of a full trace. See the [tracing guide](https://www.braintrust.dev/docs/instrument) for full details on tracing","type":"string"},"span_parents":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]},"tags":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]}}}},"realtime_state":{"type":"on","minimum_xact_id":"1000197783589884487","read_bytes":0,"actual_xact_id":"1000197783589884487"},"freshness_state":{"last_processed_xact_id":"1000197783589884487","last_considered_xact_id":"1000197783589884487"},"warnings":[]} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-fef1e40dccd7.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-985d7b794773.json similarity index 71% rename from test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-fef1e40dccd7.json rename to test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-985d7b794773.json index aa6b9284..322161f0 100644 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-fef1e40dccd7.json +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-985d7b794773.json @@ -1 +1 @@ -{"data":[{"_async_scoring_state":null,"_pagination_key":"p07659835826909872128","_xact_id":"1000197472072096966","audit_data":[{"_xact_id":"1000197472072096966","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":null,"created":"2026-07-07T17:14:58.974Z","error":null,"expected":null,"facets":null,"id":"0d6fe6eaa53be9d3","input":null,"is_root":true,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","client":"openai"},"metrics":{"end":1783444500.098776,"start":1783444498.974179},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":null,"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"490b0d42fa12e1b30a48e2962a870917","scores":null,"span_attributes":{"name":"streaming","type":"task"},"span_id":"0d6fe6eaa53be9d3","span_parents":null,"tags":null},{"_async_scoring_state":null,"_pagination_key":"p07659835826909872135","_xact_id":"1000197472072096966","audit_data":[{"_xact_id":"1000197472072096966","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":null,"created":"2026-07-07T17:14:58.984Z","error":null,"expected":null,"facets":null,"id":"0e9fbb46e55c2d4d","input":[{"content":"you are a thoughtful assistant","role":"system"},{"content":"Count from 1 to 10 slowly.","role":"user"}],"is_root":false,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","model":"gpt-4o-mini","provider":"openai","request_base_uri":"http://localhost:63169","request_method":"POST","request_path":"chat/completions"},"metrics":{"completion_tokens":40,"end":1783444500.0986981,"estimated_cost":0.00002775,"prompt_cached_tokens":0,"prompt_tokens":25,"start":1783444498.9843504,"time_to_first_token":0.004779791,"tokens":65},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":[{"finish_reason":"stop","index":0,"logprobs":null,"message":{"content":"Sure! Here we go:\n\n1... \n2... \n3... \n4... \n5... \n6... \n7... \n8... \n9... \n10... \n\nTake your time!","refusal":null,"role":"assistant","tool_calls":[]}}],"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"490b0d42fa12e1b30a48e2962a870917","scores":null,"span_attributes":{"name":"Chat Completion","type":"llm"},"span_id":"0e9fbb46e55c2d4d","span_parents":["0d6fe6eaa53be9d3"],"tags":null}],"schema":{"type":"array","items":{"type":"object","properties":{"_async_scoring_state":{},"_pagination_key":{"description":"A stable, time-ordered key that can be used to paginate over project logs events. This field is auto-generated by Braintrust and only exists in Brainstore.","type":["string","null"]},"_xact_id":{"description":"The transaction id of an event is unique to the network operation that processed the event insertion. Transaction ids are monotonically increasing over time and can be used to retrieve a versioned snapshot of the project logs (see the `version` parameter)","type":"string"},"audit_data":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"classifications":{"anyOf":[{"additionalProperties":{"items":{"additionalProperties":false,"properties":{"confidence":{"description":"Optional confidence score for the classification","type":["number","null"]},"id":{"description":"Stable classification identifier","type":"string"},"label":{"description":"Original label of the classification item, which is useful for search and indexing purposes","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"type":"object"},{"type":"null"}],"description":"Optional metadata associated with the classification"},"source":{"anyOf":[{"anyOf":[{"additionalProperties":false,"properties":{"id":{"type":"string"},"type":{"const":"function","type":"string"},"version":{"description":"The version of the function","type":"string"}},"required":["type","id"],"type":"object"},{"additionalProperties":false,"properties":{"function_type":{"default":"scorer","description":"The type of global function. Defaults to 'scorer'.","enum":["llm","scorer","task","tool","custom_view","preprocessor","facet","classifier","tag","parameters","sandbox"],"type":"string"},"name":{"type":"string"},"type":{"const":"global","type":"string"}},"required":["type","name"],"type":"object"}]},{"type":"null"}],"description":"Optional function identifier that produced the classification"}},"required":["id"],"type":"object"},"type":"array"},"properties":{},"type":"object"},{"type":"null"}]},"comments":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"context":{"anyOf":[{"additionalProperties":{},"properties":{"caller_filename":{"description":"Name of the file in code where the project logs event was created","type":["string","null"]},"caller_functionname":{"description":"The function in code which created the project logs event","type":["string","null"]},"caller_lineno":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"created":{"description":"The timestamp the project logs event was created","format":"date-time","type":"string"},"error":{"description":"The error that occurred, if any."},"expected":{"description":"The ground truth value (an arbitrary, JSON serializable object) that you'd compare to `output` to determine if your `output` value is correct or not. Braintrust currently does not compare `output` to `expected` for you, since there are so many different ways to do that correctly. Instead, these values are just used to help you navigate while digging into analyses. However, we may later use these values to re-score outputs or fine-tune your models."},"facets":{"anyOf":[{"additionalProperties":{"type":["string","null"]},"properties":{},"type":"object"},{"type":"null"}]},"id":{"description":"A unique identifier for the project logs event. If you don't provide one, Braintrust will generate one for you","type":"string"},"input":{"description":"The arguments that uniquely define a user input (an arbitrary, JSON serializable object)."},"is_root":{"description":"Whether this span is a root span","type":["boolean","null"]},"log_id":{"const":"g","description":"A literal 'g' which identifies the log as a project log","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"properties":{"model":{"description":"The model used for this example","type":["string","null"]}},"type":"object"},{"type":"null"}]},"metrics":{"anyOf":[{"additionalProperties":{"type":"number"},"properties":{"caller_filename":{"description":"This metric is deprecated"},"caller_functionname":{"description":"This metric is deprecated"},"caller_lineno":{"description":"This metric is deprecated"},"completion_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"end":{"description":"A unix timestamp recording when the section of code which produced the project logs event finished","type":["number","null"]},"prompt_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"start":{"description":"A unix timestamp recording when the section of code which produced the project logs event started","type":["number","null"]},"tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"org_id":{"description":"Unique id for the organization that the project belongs under","format":"uuid","type":"string"},"origin":{"anyOf":[{"description":"Reference to the original object and event this was copied from.","properties":{"_xact_id":{"description":"Transaction ID of the original event.","type":["string","null"]},"created":{"description":"Created timestamp of the original event. Used to help sort in the UI","type":["string","null"]},"id":{"description":"ID of the original event.","type":"string"},"object_id":{"description":"ID of the object the event is originating from.","format":"uuid","type":"string"},"object_type":{"description":"Type of the object the event is originating from.","enum":["project_logs","experiment","dataset","prompt","function","prompt_session"],"type":"string"}},"required":["object_type","object_id","id"],"type":"object"},{"type":"null"}]},"output":{"description":"The output of your application, including post-processing (an arbitrary, JSON serializable object), that allows you to determine whether the result is correct or not. For example, in an app that generates SQL queries, the `output` should be the _result_ of the SQL query generated by the model, not the query itself, because there may be multiple valid queries that answer a single question."},"project_id":{"description":"Unique identifier for the project","format":"uuid","type":"string"},"root_span_id":{"description":"A unique identifier for the trace this project logs event belongs to","type":"string"},"scores":{"anyOf":[{"additionalProperties":{"anyOf":[{"maximum":1,"minimum":0,"type":"number"},{"type":"null"}]},"properties":{},"type":"object"},{"type":"null"}]},"span_attributes":{"anyOf":[{"additionalProperties":{},"description":"Human-identifying attributes of the span, such as name, type, etc.","properties":{"name":{"description":"Name of the span, for display purposes only","type":["string","null"]},"purpose":{"anyOf":[{"enum":["scorer"],"type":"string"},{"type":"null"}]},"type":{"anyOf":[{"enum":["llm","score","function","eval","task","tool","automation","facet","preprocessor","classifier","review"],"type":"string"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"span_id":{"description":"A unique identifier used to link different project logs events together as part of a full trace. See the [tracing guide](https://www.braintrust.dev/docs/instrument) for full details on tracing","type":"string"},"span_parents":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]},"tags":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]}}}},"realtime_state":{"type":"on","minimum_xact_id":"1000197472074645319","read_bytes":0,"actual_xact_id":"1000197472074645319"},"freshness_state":{"last_processed_xact_id":"1000197472074645319","last_considered_xact_id":"1000197472074645319"},"warnings":[]} \ No newline at end of file +{"data":[{"_async_scoring_state":null,"_pagination_key":"p07680251289063456775","_xact_id":"1000197783587327581","audit_data":[{"_xact_id":"1000197783587327581","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":{"span_origin":{"instrumentation":{"name":"braintrust-java"},"name":"braintrust.sdk.java","version":"0.3.22-ca5ce6d-DIRTY"}},"created":"2026-08-31T17:37:23.274Z","error":null,"expected":null,"facets":null,"id":"12d4d1a1f6398695","input":null,"is_root":true,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","client":"langchain1.14-openai"},"metrics":{"end":1788197843.986184,"start":1788197843.2747},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":null,"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"3cc6ae2a4104ae52cbafccdbda44627d","scores":null,"span_attributes":{"name":"streaming_multiple_choices","type":"task"},"span_id":"12d4d1a1f6398695","span_parents":null,"tags":null},{"_async_scoring_state":null,"_pagination_key":"p07680251289063456768","_xact_id":"1000197783587327581","audit_data":[{"_xact_id":"1000197783587327581","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":{"span_origin":{"instrumentation":{"name":"braintrust-java"},"name":"braintrust.sdk.java","version":"0.3.22-ca5ce6d-DIRTY"}},"created":"2026-08-31T17:37:23.278Z","error":null,"expected":null,"facets":null,"id":"23dbd79794071fad","input":[{"content":"you are a concise assistant","role":"system"},{"content":"Say hello in one word.","role":"user"}],"is_root":false,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","max_tokens":100,"model":"gpt-4o-mini","n":2,"provider":"openai","request_base_uri":"http://localhost:52408","request_method":"POST","request_path":"chat/completions","response_id":"chatcmpl-EJ0EdMMWZ43csn0VNVVpnmqQmty14","stream":true,"stream_options":{"include_usage":true},"temperature":0,"x-request-id":"req_ac0d515775de496284417089fb47fe11"},"metrics":{"completion_reasoning_tokens":0,"completion_tokens":4,"end":1788197843.9867492,"estimated_cost":0.0000057,"prompt_cached_tokens":0,"prompt_tokens":22,"start":1788197843.278002,"time_to_first_token":0.706169375,"tokens":26},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":[{"finish_reason":"stop","index":0,"message":{"content":"Hello!","refusal":null,"role":"assistant"}},{"finish_reason":"stop","index":1,"message":{"content":"Hello!","refusal":null,"role":"assistant"}}],"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"3cc6ae2a4104ae52cbafccdbda44627d","scores":null,"span_attributes":{"name":"Chat Completion","type":"llm"},"span_id":"23dbd79794071fad","span_parents":["12d4d1a1f6398695"],"tags":null}],"schema":{"type":"array","items":{"type":"object","properties":{"_async_scoring_state":{},"_pagination_key":{"description":"A stable, time-ordered key that can be used to paginate over project logs events. This field is auto-generated by Braintrust and only exists in Brainstore.","type":["string","null"]},"_xact_id":{"description":"The transaction id of an event is unique to the network operation that processed the event insertion. Transaction ids are monotonically increasing over time and can be used to retrieve a versioned snapshot of the project logs (see the `version` parameter)","type":"string"},"audit_data":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"classifications":{"anyOf":[{"additionalProperties":{"items":{"additionalProperties":false,"properties":{"confidence":{"description":"Optional confidence score for the classification","type":["number","null"]},"id":{"description":"Stable classification identifier","type":"string"},"label":{"description":"Original label of the classification item, which is useful for search and indexing purposes","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"type":"object"},{"type":"null"}],"description":"Optional metadata associated with the classification"},"source":{"anyOf":[{"anyOf":[{"additionalProperties":false,"properties":{"id":{"type":"string"},"type":{"const":"function","type":"string"},"version":{"description":"The version of the function","type":"string"}},"required":["type","id"],"type":"object"},{"additionalProperties":false,"properties":{"function_type":{"default":"scorer","description":"The type of global function. Defaults to 'scorer'.","enum":["llm","scorer","task","tool","custom_view","preprocessor","facet","classifier","tag","parameters","sandbox"],"type":"string"},"name":{"type":"string"},"type":{"const":"global","type":"string"}},"required":["type","name"],"type":"object"}]},{"type":"null"}],"description":"Optional function identifier that produced the classification"}},"required":["id"],"type":"object"},"type":"array"},"properties":{},"type":"object"},{"type":"null"}]},"comments":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"context":{"anyOf":[{"additionalProperties":{},"properties":{"caller_filename":{"description":"Name of the file in code where the project logs event was created","type":["string","null"]},"caller_functionname":{"description":"The function in code which created the project logs event","type":["string","null"]},"caller_lineno":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"created":{"description":"The timestamp the project logs event was created","format":"date-time","type":"string"},"error":{"description":"The error that occurred, if any."},"expected":{"description":"The ground truth value (an arbitrary, JSON serializable object) that you'd compare to `output` to determine if your `output` value is correct or not. Braintrust currently does not compare `output` to `expected` for you, since there are so many different ways to do that correctly. Instead, these values are just used to help you navigate while digging into analyses. However, we may later use these values to re-score outputs or fine-tune your models."},"facets":{"anyOf":[{"additionalProperties":{"type":["string","null"]},"properties":{},"type":"object"},{"type":"null"}]},"id":{"description":"A unique identifier for the project logs event. If you don't provide one, Braintrust will generate one for you","type":"string"},"input":{"description":"The arguments that uniquely define a user input (an arbitrary, JSON serializable object)."},"is_root":{"description":"Whether this span is a root span","type":["boolean","null"]},"log_id":{"const":"g","description":"A literal 'g' which identifies the log as a project log","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"properties":{"model":{"description":"The model used for this example","type":["string","null"]}},"type":"object"},{"type":"null"}]},"metrics":{"anyOf":[{"additionalProperties":{"type":"number"},"properties":{"caller_filename":{"description":"This metric is deprecated"},"caller_functionname":{"description":"This metric is deprecated"},"caller_lineno":{"description":"This metric is deprecated"},"completion_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"end":{"description":"A unix timestamp recording when the section of code which produced the project logs event finished","type":["number","null"]},"prompt_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"start":{"description":"A unix timestamp recording when the section of code which produced the project logs event started","type":["number","null"]},"tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"org_id":{"description":"Unique id for the organization that the project belongs under","format":"uuid","type":"string"},"origin":{"anyOf":[{"description":"Reference to the original object and event this was copied from.","properties":{"_xact_id":{"description":"Transaction ID of the original event.","type":["string","null"]},"created":{"description":"Created timestamp of the original event. Used to help sort in the UI","type":["string","null"]},"id":{"description":"ID of the original event.","type":"string"},"object_id":{"description":"ID of the object the event is originating from.","format":"uuid","type":"string"},"object_type":{"description":"Type of the object the event is originating from.","enum":["project_logs","experiment","dataset","prompt","function","prompt_session"],"type":"string"}},"required":["object_type","object_id","id"],"type":"object"},{"type":"null"}]},"output":{"description":"The output of your application, including post-processing (an arbitrary, JSON serializable object), that allows you to determine whether the result is correct or not. For example, in an app that generates SQL queries, the `output` should be the _result_ of the SQL query generated by the model, not the query itself, because there may be multiple valid queries that answer a single question."},"project_id":{"description":"Unique identifier for the project","format":"uuid","type":"string"},"root_span_id":{"description":"A unique identifier for the trace this project logs event belongs to","type":"string"},"scores":{"anyOf":[{"additionalProperties":{"anyOf":[{"maximum":1,"minimum":0,"type":"number"},{"type":"null"}]},"properties":{},"type":"object"},{"type":"null"}]},"span_attributes":{"anyOf":[{"additionalProperties":{},"description":"Human-identifying attributes of the span, such as name, type, etc.","properties":{"name":{"description":"Name of the span, for display purposes only","type":["string","null"]},"purpose":{"anyOf":[{"enum":["scorer"],"type":"string"},{"type":"null"}]},"type":{"anyOf":[{"enum":["llm","score","function","eval","task","tool","automation","facet","preprocessor","classifier","review"],"type":"string"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"span_id":{"description":"A unique identifier used to link different project logs events together as part of a full trace. See the [tracing guide](https://www.braintrust.dev/docs/instrument) for full details on tracing","type":"string"},"span_parents":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]},"tags":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]}}}},"realtime_state":{"type":"on","minimum_xact_id":"1000197783589884487","read_bytes":0,"actual_xact_id":"1000197783589884487"},"freshness_state":{"last_processed_xact_id":"1000197783589884487","last_considered_xact_id":"1000197783589884487"},"warnings":[]} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-1562fa20d344.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-9e6d483a594f.json similarity index 71% rename from test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-1562fa20d344.json rename to test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-9e6d483a594f.json index 45d0f62c..ab8e0470 100644 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-1562fa20d344.json +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-9e6d483a594f.json @@ -1 +1 @@ -{"data":[{"_async_scoring_state":null,"_pagination_key":"p07659835899147517955","_xact_id":"1000197472073199225","audit_data":[{"_xact_id":"1000197472073199225","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":null,"created":"2026-07-07T17:15:19.800Z","error":null,"expected":null,"facets":null,"id":"038709330bcc06eb","input":null,"is_root":true,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","client":"langchain-openai"},"metrics":{"end":1783444521.026871,"start":1783444519.800456},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":null,"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"c19986bd7ae8d3acd6d02876bf75e3b0","scores":null,"span_attributes":{"name":"attachments","type":"task"},"span_id":"038709330bcc06eb","span_parents":null,"tags":null},{"_async_scoring_state":null,"_pagination_key":"p07659835899147517960","_xact_id":"1000197472073199225","audit_data":[{"_xact_id":"1000197472073199225","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":null,"created":"2026-07-07T17:15:19.813Z","error":null,"expected":null,"facets":null,"id":"2cc0d776ef482279","input":[{"content":"you are a helpful assistant","role":"system"},{"content":[{"text":"Briefly describe these attachments","type":"text"},{"image_url":{"url":{"content_type":"image/png","filename":"attachment.png","key":"2a9fb1c3-b9e5-431c-a82c-c86f38d96495","type":"braintrust_attachment"}},"type":"image_url"},{"file":{"file_data":{"content_type":"application/pdf","filename":"attachment.pdf","key":"527e1363-44ca-45fc-b750-31131e0bc0a7","type":"braintrust_attachment"},"filename":"blank.pdf"},"type":"file"}],"role":"user"}],"is_root":false,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","model":"gpt-4o","provider":"openai","request_base_uri":"http://localhost:63169","request_method":"POST","request_path":"chat/completions"},"metrics":{"completion_tokens":35,"end":1783444521.0255256,"estimated_cost":0.0015875000000000002,"prompt_cached_tokens":0,"prompt_tokens":495,"start":1783444519.8137476,"tokens":530},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":[{"finish_reason":"stop","index":0,"logprobs":null,"message":{"annotations":[],"content":"The attachments include:\n\n1. **Image**: A solid red square.\n2. **PDF (blank.pdf)**: The document appears to be blank with no readable content.","refusal":null,"role":"assistant"}}],"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"c19986bd7ae8d3acd6d02876bf75e3b0","scores":null,"span_attributes":{"name":"Chat Completion","type":"llm"},"span_id":"2cc0d776ef482279","span_parents":["038709330bcc06eb"],"tags":null}],"schema":{"type":"array","items":{"type":"object","properties":{"_async_scoring_state":{},"_pagination_key":{"description":"A stable, time-ordered key that can be used to paginate over project logs events. This field is auto-generated by Braintrust and only exists in Brainstore.","type":["string","null"]},"_xact_id":{"description":"The transaction id of an event is unique to the network operation that processed the event insertion. Transaction ids are monotonically increasing over time and can be used to retrieve a versioned snapshot of the project logs (see the `version` parameter)","type":"string"},"audit_data":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"classifications":{"anyOf":[{"additionalProperties":{"items":{"additionalProperties":false,"properties":{"confidence":{"description":"Optional confidence score for the classification","type":["number","null"]},"id":{"description":"Stable classification identifier","type":"string"},"label":{"description":"Original label of the classification item, which is useful for search and indexing purposes","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"type":"object"},{"type":"null"}],"description":"Optional metadata associated with the classification"},"source":{"anyOf":[{"anyOf":[{"additionalProperties":false,"properties":{"id":{"type":"string"},"type":{"const":"function","type":"string"},"version":{"description":"The version of the function","type":"string"}},"required":["type","id"],"type":"object"},{"additionalProperties":false,"properties":{"function_type":{"default":"scorer","description":"The type of global function. Defaults to 'scorer'.","enum":["llm","scorer","task","tool","custom_view","preprocessor","facet","classifier","tag","parameters","sandbox"],"type":"string"},"name":{"type":"string"},"type":{"const":"global","type":"string"}},"required":["type","name"],"type":"object"}]},{"type":"null"}],"description":"Optional function identifier that produced the classification"}},"required":["id"],"type":"object"},"type":"array"},"properties":{},"type":"object"},{"type":"null"}]},"comments":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"context":{"anyOf":[{"additionalProperties":{},"properties":{"caller_filename":{"description":"Name of the file in code where the project logs event was created","type":["string","null"]},"caller_functionname":{"description":"The function in code which created the project logs event","type":["string","null"]},"caller_lineno":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"created":{"description":"The timestamp the project logs event was created","format":"date-time","type":"string"},"error":{"description":"The error that occurred, if any."},"expected":{"description":"The ground truth value (an arbitrary, JSON serializable object) that you'd compare to `output` to determine if your `output` value is correct or not. Braintrust currently does not compare `output` to `expected` for you, since there are so many different ways to do that correctly. Instead, these values are just used to help you navigate while digging into analyses. However, we may later use these values to re-score outputs or fine-tune your models."},"facets":{"anyOf":[{"additionalProperties":{"type":["string","null"]},"properties":{},"type":"object"},{"type":"null"}]},"id":{"description":"A unique identifier for the project logs event. If you don't provide one, Braintrust will generate one for you","type":"string"},"input":{"description":"The arguments that uniquely define a user input (an arbitrary, JSON serializable object)."},"is_root":{"description":"Whether this span is a root span","type":["boolean","null"]},"log_id":{"const":"g","description":"A literal 'g' which identifies the log as a project log","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"properties":{"model":{"description":"The model used for this example","type":["string","null"]}},"type":"object"},{"type":"null"}]},"metrics":{"anyOf":[{"additionalProperties":{"type":"number"},"properties":{"caller_filename":{"description":"This metric is deprecated"},"caller_functionname":{"description":"This metric is deprecated"},"caller_lineno":{"description":"This metric is deprecated"},"completion_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"end":{"description":"A unix timestamp recording when the section of code which produced the project logs event finished","type":["number","null"]},"prompt_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"start":{"description":"A unix timestamp recording when the section of code which produced the project logs event started","type":["number","null"]},"tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"org_id":{"description":"Unique id for the organization that the project belongs under","format":"uuid","type":"string"},"origin":{"anyOf":[{"description":"Reference to the original object and event this was copied from.","properties":{"_xact_id":{"description":"Transaction ID of the original event.","type":["string","null"]},"created":{"description":"Created timestamp of the original event. Used to help sort in the UI","type":["string","null"]},"id":{"description":"ID of the original event.","type":"string"},"object_id":{"description":"ID of the object the event is originating from.","format":"uuid","type":"string"},"object_type":{"description":"Type of the object the event is originating from.","enum":["project_logs","experiment","dataset","prompt","function","prompt_session"],"type":"string"}},"required":["object_type","object_id","id"],"type":"object"},{"type":"null"}]},"output":{"description":"The output of your application, including post-processing (an arbitrary, JSON serializable object), that allows you to determine whether the result is correct or not. For example, in an app that generates SQL queries, the `output` should be the _result_ of the SQL query generated by the model, not the query itself, because there may be multiple valid queries that answer a single question."},"project_id":{"description":"Unique identifier for the project","format":"uuid","type":"string"},"root_span_id":{"description":"A unique identifier for the trace this project logs event belongs to","type":"string"},"scores":{"anyOf":[{"additionalProperties":{"anyOf":[{"maximum":1,"minimum":0,"type":"number"},{"type":"null"}]},"properties":{},"type":"object"},{"type":"null"}]},"span_attributes":{"anyOf":[{"additionalProperties":{},"description":"Human-identifying attributes of the span, such as name, type, etc.","properties":{"name":{"description":"Name of the span, for display purposes only","type":["string","null"]},"purpose":{"anyOf":[{"enum":["scorer"],"type":"string"},{"type":"null"}]},"type":{"anyOf":[{"enum":["llm","score","function","eval","task","tool","automation","facet","preprocessor","classifier","review"],"type":"string"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"span_id":{"description":"A unique identifier used to link different project logs events together as part of a full trace. See the [tracing guide](https://www.braintrust.dev/docs/instrument) for full details on tracing","type":"string"},"span_parents":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]},"tags":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]}}}},"realtime_state":{"type":"on","minimum_xact_id":"1000197472073890576","read_bytes":4909,"actual_xact_id":"1000197472074645319"},"freshness_state":{"last_processed_xact_id":"1000197472074645319","last_considered_xact_id":"1000197472074645319"},"warnings":[]} \ No newline at end of file +{"data":[{"_async_scoring_state":null,"_pagination_key":"p07680251289063456778","_xact_id":"1000197783587327581","audit_data":[{"_xact_id":"1000197783587327581","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":{"span_origin":{"instrumentation":{"name":"braintrust-java"},"name":"braintrust.sdk.java","version":"0.3.22-ca5ce6d-DIRTY"}},"created":"2026-08-31T17:37:24.873Z","error":null,"expected":null,"facets":null,"id":"06eef4b0ac7f0e56","input":null,"is_root":true,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","client":"springai2-openai"},"metrics":{"end":1788197845.6174123,"start":1788197844.873795},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":null,"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"ee7b54da509957a0c610fcd431734702","scores":null,"span_attributes":{"name":"completions","type":"task"},"span_id":"06eef4b0ac7f0e56","span_parents":null,"tags":null},{"_async_scoring_state":null,"_pagination_key":"p07680251289063456771","_xact_id":"1000197783587327581","audit_data":[{"_xact_id":"1000197783587327581","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":{"span_origin":{"instrumentation":{"name":"braintrust-java"},"name":"braintrust.sdk.java","version":"0.3.22-ca5ce6d-DIRTY"}},"created":"2026-08-31T17:37:24.879Z","error":null,"expected":null,"facets":null,"id":"f72132dd80cf6c85","input":[{"content":"you are a helpful assistant","role":"system"},{"content":"What is the capital of France?","role":"user"}],"is_root":false,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","model":"gpt-4o-mini","provider":"openai","request_base_uri":"http://localhost:52408","request_method":"POST","request_path":"chat/completions","response_id":"chatcmpl-EJ0EfJV2jOyvzJqwWBHPoPC9vIkXl","temperature":0,"x-request-id":"req_cb8763dddd2c46e39adbf391b52e4a52"},"metrics":{"completion_reasoning_tokens":0,"completion_tokens":7,"end":1788197845.6164982,"estimated_cost":0.00000765,"prompt_cached_tokens":0,"prompt_tokens":23,"start":1788197844.879403,"tokens":30},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":[{"finish_reason":"stop","index":0,"logprobs":null,"message":{"annotations":[],"content":"The capital of France is Paris.","refusal":null,"role":"assistant"}}],"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"ee7b54da509957a0c610fcd431734702","scores":null,"span_attributes":{"name":"Chat Completion","type":"llm"},"span_id":"f72132dd80cf6c85","span_parents":["06eef4b0ac7f0e56"],"tags":null}],"schema":{"type":"array","items":{"type":"object","properties":{"_async_scoring_state":{},"_pagination_key":{"description":"A stable, time-ordered key that can be used to paginate over project logs events. This field is auto-generated by Braintrust and only exists in Brainstore.","type":["string","null"]},"_xact_id":{"description":"The transaction id of an event is unique to the network operation that processed the event insertion. Transaction ids are monotonically increasing over time and can be used to retrieve a versioned snapshot of the project logs (see the `version` parameter)","type":"string"},"audit_data":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"classifications":{"anyOf":[{"additionalProperties":{"items":{"additionalProperties":false,"properties":{"confidence":{"description":"Optional confidence score for the classification","type":["number","null"]},"id":{"description":"Stable classification identifier","type":"string"},"label":{"description":"Original label of the classification item, which is useful for search and indexing purposes","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"type":"object"},{"type":"null"}],"description":"Optional metadata associated with the classification"},"source":{"anyOf":[{"anyOf":[{"additionalProperties":false,"properties":{"id":{"type":"string"},"type":{"const":"function","type":"string"},"version":{"description":"The version of the function","type":"string"}},"required":["type","id"],"type":"object"},{"additionalProperties":false,"properties":{"function_type":{"default":"scorer","description":"The type of global function. Defaults to 'scorer'.","enum":["llm","scorer","task","tool","custom_view","preprocessor","facet","classifier","tag","parameters","sandbox"],"type":"string"},"name":{"type":"string"},"type":{"const":"global","type":"string"}},"required":["type","name"],"type":"object"}]},{"type":"null"}],"description":"Optional function identifier that produced the classification"}},"required":["id"],"type":"object"},"type":"array"},"properties":{},"type":"object"},{"type":"null"}]},"comments":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"context":{"anyOf":[{"additionalProperties":{},"properties":{"caller_filename":{"description":"Name of the file in code where the project logs event was created","type":["string","null"]},"caller_functionname":{"description":"The function in code which created the project logs event","type":["string","null"]},"caller_lineno":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"created":{"description":"The timestamp the project logs event was created","format":"date-time","type":"string"},"error":{"description":"The error that occurred, if any."},"expected":{"description":"The ground truth value (an arbitrary, JSON serializable object) that you'd compare to `output` to determine if your `output` value is correct or not. Braintrust currently does not compare `output` to `expected` for you, since there are so many different ways to do that correctly. Instead, these values are just used to help you navigate while digging into analyses. However, we may later use these values to re-score outputs or fine-tune your models."},"facets":{"anyOf":[{"additionalProperties":{"type":["string","null"]},"properties":{},"type":"object"},{"type":"null"}]},"id":{"description":"A unique identifier for the project logs event. If you don't provide one, Braintrust will generate one for you","type":"string"},"input":{"description":"The arguments that uniquely define a user input (an arbitrary, JSON serializable object)."},"is_root":{"description":"Whether this span is a root span","type":["boolean","null"]},"log_id":{"const":"g","description":"A literal 'g' which identifies the log as a project log","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"properties":{"model":{"description":"The model used for this example","type":["string","null"]}},"type":"object"},{"type":"null"}]},"metrics":{"anyOf":[{"additionalProperties":{"type":"number"},"properties":{"caller_filename":{"description":"This metric is deprecated"},"caller_functionname":{"description":"This metric is deprecated"},"caller_lineno":{"description":"This metric is deprecated"},"completion_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"end":{"description":"A unix timestamp recording when the section of code which produced the project logs event finished","type":["number","null"]},"prompt_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"start":{"description":"A unix timestamp recording when the section of code which produced the project logs event started","type":["number","null"]},"tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"org_id":{"description":"Unique id for the organization that the project belongs under","format":"uuid","type":"string"},"origin":{"anyOf":[{"description":"Reference to the original object and event this was copied from.","properties":{"_xact_id":{"description":"Transaction ID of the original event.","type":["string","null"]},"created":{"description":"Created timestamp of the original event. Used to help sort in the UI","type":["string","null"]},"id":{"description":"ID of the original event.","type":"string"},"object_id":{"description":"ID of the object the event is originating from.","format":"uuid","type":"string"},"object_type":{"description":"Type of the object the event is originating from.","enum":["project_logs","experiment","dataset","prompt","function","prompt_session"],"type":"string"}},"required":["object_type","object_id","id"],"type":"object"},{"type":"null"}]},"output":{"description":"The output of your application, including post-processing (an arbitrary, JSON serializable object), that allows you to determine whether the result is correct or not. For example, in an app that generates SQL queries, the `output` should be the _result_ of the SQL query generated by the model, not the query itself, because there may be multiple valid queries that answer a single question."},"project_id":{"description":"Unique identifier for the project","format":"uuid","type":"string"},"root_span_id":{"description":"A unique identifier for the trace this project logs event belongs to","type":"string"},"scores":{"anyOf":[{"additionalProperties":{"anyOf":[{"maximum":1,"minimum":0,"type":"number"},{"type":"null"}]},"properties":{},"type":"object"},{"type":"null"}]},"span_attributes":{"anyOf":[{"additionalProperties":{},"description":"Human-identifying attributes of the span, such as name, type, etc.","properties":{"name":{"description":"Name of the span, for display purposes only","type":["string","null"]},"purpose":{"anyOf":[{"enum":["scorer"],"type":"string"},{"type":"null"}]},"type":{"anyOf":[{"enum":["llm","score","function","eval","task","tool","automation","facet","preprocessor","classifier","review"],"type":"string"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"span_id":{"description":"A unique identifier used to link different project logs events together as part of a full trace. See the [tracing guide](https://www.braintrust.dev/docs/instrument) for full details on tracing","type":"string"},"span_parents":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]},"tags":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]}}}},"realtime_state":{"type":"on","minimum_xact_id":"1000197783589884487","read_bytes":0,"actual_xact_id":"1000197783589884487"},"freshness_state":{"last_processed_xact_id":"1000197783589884487","last_considered_xact_id":"1000197783589884487"},"warnings":[]} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-9ffc0f72eb30.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-9ffc0f72eb30.json deleted file mode 100644 index be9031c8..00000000 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-9ffc0f72eb30.json +++ /dev/null @@ -1 +0,0 @@ -{"data":[],"schema":{"type":"array","items":{"type":"object","properties":{"_async_scoring_state":{},"_pagination_key":{"description":"A stable, time-ordered key that can be used to paginate over project logs events. This field is auto-generated by Braintrust and only exists in Brainstore.","type":["string","null"]},"_xact_id":{"description":"The transaction id of an event is unique to the network operation that processed the event insertion. Transaction ids are monotonically increasing over time and can be used to retrieve a versioned snapshot of the project logs (see the `version` parameter)","type":"string"},"audit_data":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"classifications":{"anyOf":[{"additionalProperties":{"items":{"additionalProperties":false,"properties":{"confidence":{"description":"Optional confidence score for the classification","type":["number","null"]},"id":{"description":"Stable classification identifier","type":"string"},"label":{"description":"Original label of the classification item, which is useful for search and indexing purposes","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"type":"object"},{"type":"null"}],"description":"Optional metadata associated with the classification"},"source":{"anyOf":[{"anyOf":[{"additionalProperties":false,"properties":{"id":{"type":"string"},"type":{"const":"function","type":"string"},"version":{"description":"The version of the function","type":"string"}},"required":["type","id"],"type":"object"},{"additionalProperties":false,"properties":{"function_type":{"default":"scorer","description":"The type of global function. Defaults to 'scorer'.","enum":["llm","scorer","task","tool","custom_view","preprocessor","facet","classifier","tag","parameters","sandbox"],"type":"string"},"name":{"type":"string"},"type":{"const":"global","type":"string"}},"required":["type","name"],"type":"object"}]},{"type":"null"}],"description":"Optional function identifier that produced the classification"}},"required":["id"],"type":"object"},"type":"array"},"properties":{},"type":"object"},{"type":"null"}]},"comments":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"context":{"anyOf":[{"additionalProperties":{},"properties":{"caller_filename":{"description":"Name of the file in code where the project logs event was created","type":["string","null"]},"caller_functionname":{"description":"The function in code which created the project logs event","type":["string","null"]},"caller_lineno":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"created":{"description":"The timestamp the project logs event was created","format":"date-time","type":"string"},"error":{"description":"The error that occurred, if any."},"expected":{"description":"The ground truth value (an arbitrary, JSON serializable object) that you'd compare to `output` to determine if your `output` value is correct or not. Braintrust currently does not compare `output` to `expected` for you, since there are so many different ways to do that correctly. Instead, these values are just used to help you navigate while digging into analyses. However, we may later use these values to re-score outputs or fine-tune your models."},"facets":{"anyOf":[{"additionalProperties":{"type":["string","null"]},"properties":{},"type":"object"},{"type":"null"}]},"id":{"description":"A unique identifier for the project logs event. If you don't provide one, Braintrust will generate one for you","type":"string"},"input":{"description":"The arguments that uniquely define a user input (an arbitrary, JSON serializable object)."},"is_root":{"description":"Whether this span is a root span","type":["boolean","null"]},"log_id":{"const":"g","description":"A literal 'g' which identifies the log as a project log","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"properties":{"model":{"description":"The model used for this example","type":["string","null"]}},"type":"object"},{"type":"null"}]},"metrics":{"anyOf":[{"additionalProperties":{"type":"number"},"properties":{"caller_filename":{"description":"This metric is deprecated"},"caller_functionname":{"description":"This metric is deprecated"},"caller_lineno":{"description":"This metric is deprecated"},"completion_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"end":{"description":"A unix timestamp recording when the section of code which produced the project logs event finished","type":["number","null"]},"prompt_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"start":{"description":"A unix timestamp recording when the section of code which produced the project logs event started","type":["number","null"]},"tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"org_id":{"description":"Unique id for the organization that the project belongs under","format":"uuid","type":"string"},"origin":{"anyOf":[{"description":"Reference to the original object and event this was copied from.","properties":{"_xact_id":{"description":"Transaction ID of the original event.","type":["string","null"]},"created":{"description":"Created timestamp of the original event. Used to help sort in the UI","type":["string","null"]},"id":{"description":"ID of the original event.","type":"string"},"object_id":{"description":"ID of the object the event is originating from.","format":"uuid","type":"string"},"object_type":{"description":"Type of the object the event is originating from.","enum":["project_logs","experiment","dataset","prompt","function","prompt_session"],"type":"string"}},"required":["object_type","object_id","id"],"type":"object"},{"type":"null"}]},"output":{"description":"The output of your application, including post-processing (an arbitrary, JSON serializable object), that allows you to determine whether the result is correct or not. For example, in an app that generates SQL queries, the `output` should be the _result_ of the SQL query generated by the model, not the query itself, because there may be multiple valid queries that answer a single question."},"project_id":{"description":"Unique identifier for the project","format":"uuid","type":"string"},"root_span_id":{"description":"A unique identifier for the trace this project logs event belongs to","type":"string"},"scores":{"anyOf":[{"additionalProperties":{"anyOf":[{"maximum":1,"minimum":0,"type":"number"},{"type":"null"}]},"properties":{},"type":"object"},{"type":"null"}]},"span_attributes":{"anyOf":[{"additionalProperties":{},"description":"Human-identifying attributes of the span, such as name, type, etc.","properties":{"name":{"description":"Name of the span, for display purposes only","type":["string","null"]},"purpose":{"anyOf":[{"enum":["scorer"],"type":"string"},{"type":"null"}]},"type":{"anyOf":[{"enum":["llm","score","function","eval","task","tool","automation","facet","preprocessor","classifier","review"],"type":"string"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"span_id":{"description":"A unique identifier used to link different project logs events together as part of a full trace. See the [tracing guide](https://www.braintrust.dev/docs/instrument) for full details on tracing","type":"string"},"span_parents":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]},"tags":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]}}}},"realtime_state":{"type":"on","minimum_xact_id":null,"read_bytes":0,"actual_xact_id":null},"freshness_state":{"last_processed_xact_id":"1000197689209569701","last_considered_xact_id":null},"warnings":[]} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-a19aa246adf2.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-a19aa246adf2.json new file mode 100644 index 00000000..6e697aab --- /dev/null +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-a19aa246adf2.json @@ -0,0 +1 @@ +{"data":[{"_async_scoring_state":null,"_pagination_key":"p07680251177209954307","_xact_id":"1000197783585620832","audit_data":[{"_xact_id":"1000197783585620832","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":{"span_origin":{"instrumentation":{"name":"braintrust-java"},"name":"braintrust.sdk.java","version":"0.3.22-ca5ce6d-DIRTY"}},"created":"2026-08-31T17:36:53.064Z","error":null,"expected":null,"facets":null,"id":"c13e0a6cd04058d5","input":null,"is_root":true,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","client":"springai-openai"},"metrics":{"end":1788197820.5003355,"start":1788197813.064275},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":null,"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"002bbe5b49b6ececdbd3d146ee87cfa6","scores":null,"span_attributes":{"name":"reasoning_completions","type":"task"},"span_id":"c13e0a6cd04058d5","span_parents":null,"tags":null},{"_async_scoring_state":null,"_pagination_key":"p07680251177209954304","_xact_id":"1000197783585620832","audit_data":[{"_xact_id":"1000197783585620832","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":{"span_origin":{"instrumentation":{"name":"braintrust-java"},"name":"braintrust.sdk.java","version":"0.3.22-ca5ce6d-DIRTY"}},"created":"2026-08-31T17:36:53.074Z","error":null,"expected":null,"facets":null,"id":"4c08866dc04fc84f","input":[{"content":"Look at this sequence: 2, 6, 12, 20, 30. What is the pattern and what would be the formula for the nth term?\n","role":"user"}],"is_root":false,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","model":"o4-mini","provider":"openai","reasoning_effort":"medium","request_base_uri":"http://localhost:52408","request_method":"POST","request_path":"chat/completions","response_id":"chatcmpl-EJ0E9uqxP6JdqytYaG3pyYxtNiYaB","stream":false,"x-request-id":"req_2c0411ba1b7d46a8a33d63785bbc187b"},"metrics":{"completion_reasoning_tokens":576,"completion_tokens":716,"end":1788197820.4875922,"estimated_cost":0.0031955000000000004,"prompt_cached_tokens":0,"prompt_tokens":41,"start":1788197813.074227,"tokens":757},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":[{"finish_reason":"stop","index":0,"message":{"annotations":[],"content":"You’re seeing the “pronic” (or “oblong”) numbers. In other words each term is the product of two consecutive integers, and the differences 6–2=4, 12–6=6, 20–12=8, 30–20=10,… go up by 2 each time.\n\nIf you label the terms so that \n a₁=2, a₂=6, a₃=12, … \nthen the closed‐form is \n aₙ = n·(n+1) = n² + n.","refusal":null,"role":"assistant"}}],"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"002bbe5b49b6ececdbd3d146ee87cfa6","scores":null,"span_attributes":{"name":"Chat Completion","type":"llm"},"span_id":"4c08866dc04fc84f","span_parents":["c13e0a6cd04058d5"],"tags":null}],"schema":{"type":"array","items":{"type":"object","properties":{"_async_scoring_state":{},"_pagination_key":{"description":"A stable, time-ordered key that can be used to paginate over project logs events. This field is auto-generated by Braintrust and only exists in Brainstore.","type":["string","null"]},"_xact_id":{"description":"The transaction id of an event is unique to the network operation that processed the event insertion. Transaction ids are monotonically increasing over time and can be used to retrieve a versioned snapshot of the project logs (see the `version` parameter)","type":"string"},"audit_data":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"classifications":{"anyOf":[{"additionalProperties":{"items":{"additionalProperties":false,"properties":{"confidence":{"description":"Optional confidence score for the classification","type":["number","null"]},"id":{"description":"Stable classification identifier","type":"string"},"label":{"description":"Original label of the classification item, which is useful for search and indexing purposes","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"type":"object"},{"type":"null"}],"description":"Optional metadata associated with the classification"},"source":{"anyOf":[{"anyOf":[{"additionalProperties":false,"properties":{"id":{"type":"string"},"type":{"const":"function","type":"string"},"version":{"description":"The version of the function","type":"string"}},"required":["type","id"],"type":"object"},{"additionalProperties":false,"properties":{"function_type":{"default":"scorer","description":"The type of global function. Defaults to 'scorer'.","enum":["llm","scorer","task","tool","custom_view","preprocessor","facet","classifier","tag","parameters","sandbox"],"type":"string"},"name":{"type":"string"},"type":{"const":"global","type":"string"}},"required":["type","name"],"type":"object"}]},{"type":"null"}],"description":"Optional function identifier that produced the classification"}},"required":["id"],"type":"object"},"type":"array"},"properties":{},"type":"object"},{"type":"null"}]},"comments":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"context":{"anyOf":[{"additionalProperties":{},"properties":{"caller_filename":{"description":"Name of the file in code where the project logs event was created","type":["string","null"]},"caller_functionname":{"description":"The function in code which created the project logs event","type":["string","null"]},"caller_lineno":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"created":{"description":"The timestamp the project logs event was created","format":"date-time","type":"string"},"error":{"description":"The error that occurred, if any."},"expected":{"description":"The ground truth value (an arbitrary, JSON serializable object) that you'd compare to `output` to determine if your `output` value is correct or not. Braintrust currently does not compare `output` to `expected` for you, since there are so many different ways to do that correctly. Instead, these values are just used to help you navigate while digging into analyses. However, we may later use these values to re-score outputs or fine-tune your models."},"facets":{"anyOf":[{"additionalProperties":{"type":["string","null"]},"properties":{},"type":"object"},{"type":"null"}]},"id":{"description":"A unique identifier for the project logs event. If you don't provide one, Braintrust will generate one for you","type":"string"},"input":{"description":"The arguments that uniquely define a user input (an arbitrary, JSON serializable object)."},"is_root":{"description":"Whether this span is a root span","type":["boolean","null"]},"log_id":{"const":"g","description":"A literal 'g' which identifies the log as a project log","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"properties":{"model":{"description":"The model used for this example","type":["string","null"]}},"type":"object"},{"type":"null"}]},"metrics":{"anyOf":[{"additionalProperties":{"type":"number"},"properties":{"caller_filename":{"description":"This metric is deprecated"},"caller_functionname":{"description":"This metric is deprecated"},"caller_lineno":{"description":"This metric is deprecated"},"completion_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"end":{"description":"A unix timestamp recording when the section of code which produced the project logs event finished","type":["number","null"]},"prompt_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"start":{"description":"A unix timestamp recording when the section of code which produced the project logs event started","type":["number","null"]},"tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"org_id":{"description":"Unique id for the organization that the project belongs under","format":"uuid","type":"string"},"origin":{"anyOf":[{"description":"Reference to the original object and event this was copied from.","properties":{"_xact_id":{"description":"Transaction ID of the original event.","type":["string","null"]},"created":{"description":"Created timestamp of the original event. Used to help sort in the UI","type":["string","null"]},"id":{"description":"ID of the original event.","type":"string"},"object_id":{"description":"ID of the object the event is originating from.","format":"uuid","type":"string"},"object_type":{"description":"Type of the object the event is originating from.","enum":["project_logs","experiment","dataset","prompt","function","prompt_session"],"type":"string"}},"required":["object_type","object_id","id"],"type":"object"},{"type":"null"}]},"output":{"description":"The output of your application, including post-processing (an arbitrary, JSON serializable object), that allows you to determine whether the result is correct or not. For example, in an app that generates SQL queries, the `output` should be the _result_ of the SQL query generated by the model, not the query itself, because there may be multiple valid queries that answer a single question."},"project_id":{"description":"Unique identifier for the project","format":"uuid","type":"string"},"root_span_id":{"description":"A unique identifier for the trace this project logs event belongs to","type":"string"},"scores":{"anyOf":[{"additionalProperties":{"anyOf":[{"maximum":1,"minimum":0,"type":"number"},{"type":"null"}]},"properties":{},"type":"object"},{"type":"null"}]},"span_attributes":{"anyOf":[{"additionalProperties":{},"description":"Human-identifying attributes of the span, such as name, type, etc.","properties":{"name":{"description":"Name of the span, for display purposes only","type":["string","null"]},"purpose":{"anyOf":[{"enum":["scorer"],"type":"string"},{"type":"null"}]},"type":{"anyOf":[{"enum":["llm","score","function","eval","task","tool","automation","facet","preprocessor","classifier","review"],"type":"string"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"span_id":{"description":"A unique identifier used to link different project logs events together as part of a full trace. See the [tracing guide](https://www.braintrust.dev/docs/instrument) for full details on tracing","type":"string"},"span_parents":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]},"tags":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]}}}},"realtime_state":{"type":"on","minimum_xact_id":"1000197783589884487","read_bytes":0,"actual_xact_id":"1000197783589884487"},"freshness_state":{"last_processed_xact_id":"1000197783589884487","last_considered_xact_id":"1000197783589884487"},"warnings":[]} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-a45ade8eebaf.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-a45ade8eebaf.json deleted file mode 100644 index 269d6055..00000000 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-a45ade8eebaf.json +++ /dev/null @@ -1 +0,0 @@ -{"data":[],"schema":{"type":"array","items":{"type":"object","properties":{"_async_scoring_state":{},"_pagination_key":{"description":"A stable, time-ordered key that can be used to paginate over project logs events. This field is auto-generated by Braintrust and only exists in Brainstore.","type":["string","null"]},"_xact_id":{"description":"The transaction id of an event is unique to the network operation that processed the event insertion. Transaction ids are monotonically increasing over time and can be used to retrieve a versioned snapshot of the project logs (see the `version` parameter)","type":"string"},"audit_data":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"classifications":{"anyOf":[{"additionalProperties":{"items":{"additionalProperties":false,"properties":{"confidence":{"description":"Optional confidence score for the classification","type":["number","null"]},"id":{"description":"Stable classification identifier","type":"string"},"label":{"description":"Original label of the classification item, which is useful for search and indexing purposes","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"type":"object"},{"type":"null"}],"description":"Optional metadata associated with the classification"},"source":{"anyOf":[{"anyOf":[{"additionalProperties":false,"properties":{"id":{"type":"string"},"type":{"const":"function","type":"string"},"version":{"description":"The version of the function","type":"string"}},"required":["type","id"],"type":"object"},{"additionalProperties":false,"properties":{"function_type":{"default":"scorer","description":"The type of global function. Defaults to 'scorer'.","enum":["llm","scorer","task","tool","custom_view","preprocessor","facet","classifier","tag","parameters","sandbox"],"type":"string"},"name":{"type":"string"},"type":{"const":"global","type":"string"}},"required":["type","name"],"type":"object"}]},{"type":"null"}],"description":"Optional function identifier that produced the classification"}},"required":["id"],"type":"object"},"type":"array"},"properties":{},"type":"object"},{"type":"null"}]},"comments":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"context":{"anyOf":[{"additionalProperties":{},"properties":{"caller_filename":{"description":"Name of the file in code where the project logs event was created","type":["string","null"]},"caller_functionname":{"description":"The function in code which created the project logs event","type":["string","null"]},"caller_lineno":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"created":{"description":"The timestamp the project logs event was created","format":"date-time","type":"string"},"error":{"description":"The error that occurred, if any."},"expected":{"description":"The ground truth value (an arbitrary, JSON serializable object) that you'd compare to `output` to determine if your `output` value is correct or not. Braintrust currently does not compare `output` to `expected` for you, since there are so many different ways to do that correctly. Instead, these values are just used to help you navigate while digging into analyses. However, we may later use these values to re-score outputs or fine-tune your models."},"facets":{"anyOf":[{"additionalProperties":{"type":["string","null"]},"properties":{},"type":"object"},{"type":"null"}]},"id":{"description":"A unique identifier for the project logs event. If you don't provide one, Braintrust will generate one for you","type":"string"},"input":{"description":"The arguments that uniquely define a user input (an arbitrary, JSON serializable object)."},"is_root":{"description":"Whether this span is a root span","type":["boolean","null"]},"log_id":{"const":"g","description":"A literal 'g' which identifies the log as a project log","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"properties":{"model":{"description":"The model used for this example","type":["string","null"]}},"type":"object"},{"type":"null"}]},"metrics":{"anyOf":[{"additionalProperties":{"type":"number"},"properties":{"caller_filename":{"description":"This metric is deprecated"},"caller_functionname":{"description":"This metric is deprecated"},"caller_lineno":{"description":"This metric is deprecated"},"completion_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"end":{"description":"A unix timestamp recording when the section of code which produced the project logs event finished","type":["number","null"]},"prompt_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"start":{"description":"A unix timestamp recording when the section of code which produced the project logs event started","type":["number","null"]},"tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"org_id":{"description":"Unique id for the organization that the project belongs under","format":"uuid","type":"string"},"origin":{"anyOf":[{"description":"Reference to the original object and event this was copied from.","properties":{"_xact_id":{"description":"Transaction ID of the original event.","type":["string","null"]},"created":{"description":"Created timestamp of the original event. Used to help sort in the UI","type":["string","null"]},"id":{"description":"ID of the original event.","type":"string"},"object_id":{"description":"ID of the object the event is originating from.","format":"uuid","type":"string"},"object_type":{"description":"Type of the object the event is originating from.","enum":["project_logs","experiment","dataset","prompt","function","prompt_session"],"type":"string"}},"required":["object_type","object_id","id"],"type":"object"},{"type":"null"}]},"output":{"description":"The output of your application, including post-processing (an arbitrary, JSON serializable object), that allows you to determine whether the result is correct or not. For example, in an app that generates SQL queries, the `output` should be the _result_ of the SQL query generated by the model, not the query itself, because there may be multiple valid queries that answer a single question."},"project_id":{"description":"Unique identifier for the project","format":"uuid","type":"string"},"root_span_id":{"description":"A unique identifier for the trace this project logs event belongs to","type":"string"},"scores":{"anyOf":[{"additionalProperties":{"anyOf":[{"maximum":1,"minimum":0,"type":"number"},{"type":"null"}]},"properties":{},"type":"object"},{"type":"null"}]},"span_attributes":{"anyOf":[{"additionalProperties":{},"description":"Human-identifying attributes of the span, such as name, type, etc.","properties":{"name":{"description":"Name of the span, for display purposes only","type":["string","null"]},"purpose":{"anyOf":[{"enum":["scorer"],"type":"string"},{"type":"null"}]},"type":{"anyOf":[{"enum":["llm","score","function","eval","task","tool","automation","facet","preprocessor","classifier","review"],"type":"string"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"span_id":{"description":"A unique identifier used to link different project logs events together as part of a full trace. See the [tracing guide](https://www.braintrust.dev/docs/instrument) for full details on tracing","type":"string"},"span_parents":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]},"tags":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]}}}},"realtime_state":{"type":"on","minimum_xact_id":null,"read_bytes":0,"actual_xact_id":null},"freshness_state":{"last_processed_xact_id":"1000197530291524292","last_considered_xact_id":null},"warnings":[]} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-a4a38e186326.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-a4a38e186326.json new file mode 100644 index 00000000..20bde766 --- /dev/null +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-a4a38e186326.json @@ -0,0 +1 @@ +{"data":[{"_async_scoring_state":null,"_pagination_key":"p07680251314923569153","_xact_id":"1000197783587722175","audit_data":[{"_xact_id":"1000197783587722175","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":{"span_origin":{"instrumentation":{"name":"braintrust-java"},"name":"braintrust.sdk.java","version":"0.3.22-ca5ce6d-DIRTY"}},"created":"2026-08-31T17:37:20.683Z","error":null,"expected":null,"facets":null,"id":"8d6f13c58b832744","input":null,"is_root":true,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","client":"langchain1.14-openai"},"metrics":{"end":1788197855.0829535,"start":1788197840.683676},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":null,"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"1f605acceb8152d2e62d9ed8f9f79fe0","scores":null,"span_attributes":{"name":"reasoning","type":"task"},"span_id":"8d6f13c58b832744","span_parents":null,"tags":null},{"_async_scoring_state":null,"_pagination_key":"p07680251289063456773","_xact_id":"1000197783587327581","audit_data":[{"_xact_id":"1000197783587327581","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":{"span_origin":{"instrumentation":{"name":"braintrust-java"},"name":"braintrust.sdk.java","version":"0.3.22-ca5ce6d-DIRTY"}},"created":"2026-08-31T17:37:20.687Z","error":null,"expected":null,"facets":null,"id":"bc69c6ca41587922","input":[{"content":[{"text":"Look at this sequence: 2, 6, 12, 20, 30. What is the pattern and what would be the formula for the nth term?\n","type":"input_text"}],"role":"user","type":"message"}],"is_root":false,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","include":["reasoning.encrypted_content"],"model":"o4-mini","provider":"openai","reasoning":{"effort":"high","summary":"detailed"},"request_base_uri":"http://localhost:52408","request_method":"POST","request_path":"responses","response_id":"resp_0361c6f6e309f1f8016a95bbd1189087d0b387e3b8d495ef84","store":false,"stream":false,"x-request-id":"req_b4d47d736e65471da4adc1e27e6018a1"},"metrics":{"completion_reasoning_tokens":384,"completion_tokens":528,"end":1788197848.0820537,"estimated_cost":0.0023683000000000003,"prompt_cached_tokens":0,"prompt_tokens":41,"start":1788197840.687179,"tokens":569},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":[{"content":[],"encrypted_content":"gAAAAABqlbvYExiVEN0PpKufywUbaup2cuEwH0bdepoaoOvuKkJxPF8FeJJOjVnJ5GXeeDWf4f_aKLwh5FuYHTm6tA-obuyqmOPkQjOYzIZhoJFxiPC0jaMR2wo0dDnjyifjoEwtxjubkgESbidVkpiOT1furUoAKw2fvUwkA6-B9d3ontlw4-IPGNl90PxaDR-4DpK9sDTnAg04W6P09xdhvlvNo80JbX6kuJROnVpUlthFEUtbq938i5Qu2OWDWQi_Zf6X02AteH5JjKhHGOKnnquapSe_fUJq-5XMnUZauKcY4HJ3QX7OVcMzd-wNBb8LVEIzH7Sb56-5ufu8tvzZXomqHoE9sMKFoAdPqA3rCTEUJIr0iXbFK34zmb-hZpmoNau1eIiE5SUVUUYqrY1IPSwKxuKWV9gtQeiPB3_Uctj19yohGplOcqWY1itcegVUMX9mdKA6jDQXAywEzgzGAneYapu5GOpyYZnNk_2Z9rZL8uw9Twc5YPowPm5lvtN4FIdqLjhRw7lsdshamzKwXXYcAu73BDDHTV0bxi6WFDQeMAw4KigfCL4kKPTPOEEABR1MFgo9FZ-vG7f4JzZWfibOmuNAe_MVNfXlrRk6fkaf11fBWEwlX24mCRZFtzvBaNawozP6c0NETtP22sOpzqR94Fpnk-v72AocHlDXOaNT6LTN4jOVqZgAU5b7pFKP3ZXVdU3jpjk3pglvjimeRLAM0HJm8li2CpR4NwJbZBZKVuARGJb3LWep7h2EDAUKKO5RQH5-VS9Es4AnEUjVED6j0dANEHCMvJjg0MtTvAf7WfsYSJDhuynm5jBLO023oUASn79HFI_UBt_m6RzlIEqGxggRBqMAZL7r-2giMzWvITGTAVf8r8MDf2JpTdaruTnDQFZwmkROghHNflGeP855i4cB3baAtGIcUFymzmNPRo-oI0GexuLBZilRXADIVtEXdpcK0F-oChIQfcX5jQloD5AIvIX14zmv3ji73rc4EegE1u8UEO9KyLDWMRUr_mrerCsQJ3VIVKjHcRCeJ-_R27msJrAKI6cnnazUt4igcxYAm-qNfN0XeNEL-PllSKDfjSdVS5eHgttK1lXjlh82bWyeN_9IP1foF2_NnxVNtZrWinrQiCBCQ1j-Bzdh3-GyQ0PLLUrNQIzDbndtqYRL4B_DtUw2EbNv5f8ypXM5H9sNyMMvJunHSPlj3hHWoGx5xyKCxBwVuJYG03dsAhfnNSmEZ4qK04c6hvWs7TE0iKWsymihBBCwcvUqQTAn83ACfPPMIGdbS9sWfcOrzqjOmo5GkWEw9Okn6VOZrRhsAbasFEOpVd9lebfu9mDZKUcafIhdxT3cFoUSLi4FhsgBF4E0tZ345asumwPEa5LkcOeYrjEl5MGzLmirxTM9q0BJZDjc5O4aAKpVL9JeTqE6bDty_AgNcTfKVlt8cnPTZkm5-oLxGSQft61pn44NB7h7hWXwY7JQVrhIdRDgY6B4z4FASrV6d1YOj4Yl9GXnk0TYyxxZ7Ih_FQOphXpxqvZNeiTWdVfwqv2dv8QbDOwfuHBIXGLQ-CYEtUfQl9RCZ0-YjzmEzdXF9evJTgdTm_C-x-j2IAQMHgZVeYCJvFGvt-qX2XepXduaaBOQFenPAN5cF7E7ic33eeUdqoHFiuj-1RMs0eYCsNH-Qb1cLvTQ_GbR_O6cm6F-RftLaJohXPjaY-885Fi3SPLhJxbAjpB4t9KrX1JB5MnyVmri9g8f8F6-_6_1ypPXOnoZZJ2hQ1xU8UksX53zwIiKPBWPXvUA4lj_uZzDbsLN3YFawBKg1tbD7ir3ZCLpsSpade_Zqlg3lHFKhLEOJu54mSM5E8r-wL9Se9dsgqKwsC6Fnl9TTS5R3KVS_n8Tf7U3MXjlSEyN3MR_C40kSTRBl5vwrKa2ZkitFRIykBkRhnv9m8SM0FTRjIjtVt7-_tFe_Kt1qgTgA-vdf4-hu6Y7L-Mav2Hr3-3xRt7IW4ZSz7QwQA3Rj1NoQY4cWhEzMWWguRQRSeeWQXF8g0XVGYNbaMUXafdP8p77wfEJIM87Y-opI7xCZMsstGnfk4zCVAsitL_R-6qGuYfVuvF-rrMV8_9qMYbdH1O_KFVn_Vi9jXICK3pFVtJCmDfuUf5QDzT_mtjcRfKYeO3rnat1BiurIVqyfZkA5HaSoySslJ_5gb4lFy2X_vye0fSeZ7cIqFvnF-l7he6SncvUbiZ2Ko0gSb5rCCEX6HAbk0ZTF7h4bpH54FNpV4wy045U_YFNXZ0IbilPcZig_TaF-aP2b74wS3id0mhOHndt2HBSd2ffNQTmj7XxJ4JPkTkL6chiXvTAQEqPnKCy05ZBy9xfn8bL4fCaiYhYv8v7ZFNUDUz6ZNerlyekMp40-eCerlkk39Hju2GE7jBkrzpGpuwGQynI20sXCfew6lWq-7c9dZYxrjsaH7QP_uariE8plG9GS1qEdH-VTC7H0Vcuv81uKu3s1wVf2eOR2Fvkbj7xCQUhNwA5ba-SsBJjSO21RycIcsr43UJzecwV5On51zZ689s7juFH65HtA1M-RqwO0jsC54nlQ2Vbp3fFu6_Dpu49fi0iaJyYfHGk8OxyFykwwUBDe1PRgk1yh2awE3Q6x2OManROmbsjxrxBKR0vuotLl1RcIkbqqr43FxORo3K-R0oCl1tg2RQ8eCVkq5di7gwttanLXAOKEGBQpD_3k4gOdKRM6knT0zuLmT4wOzqID_iKDtvb47vRvDFgIJEXl8jJdnApILoXki-Afw==","id":"rs_0361c6f6e309f1f8016a95bbd2579487d088adb7c5629d550b","summary":[{"text":"**Identifying the sequence pattern**\n\nThe user asked about the sequence: 2, 6, 12, 20, 30. I see that these numbers can be expressed as n(n+1). For example, 2=1*2, 6=2*3, etc. I'm realizing they represent pronic numbers, which are products of consecutive integers. So, the nth term formula is a_n = n(n+1). This sequence’s differences are also revealing a pattern: 4, 6, 8, and 10—interesting how those connect!","type":"summary_text"},{"text":"**Clarifying the formula**\n\nI see this is a second-order linear sequence, where a_n = n^2 + n, starting with a1 = 2 — that's good! The pattern shows that I'm adding even numbers, beginning at 4 and increasing by 2. Each term corresponds to the product of consecutive integers, confirming the formula as a_n = n(n+1). So for example, 2=1*2, 6=2*3, and so on. I've got it all summed up now—I've reached the end!","type":"summary_text"}],"type":"reasoning"},{"content":[{"annotations":[],"logprobs":[],"text":"Each term is the product of two consecutive integers:\n • 2 = 1·2 \n • 6 = 2·3 \n • 12 = 3·4 \n • 20 = 4·5 \n • 30 = 5·6 \n\nThese are called “pronic” numbers. In general, the nth term is\n\n aₙ = n·(n + 1) = n² + n.","type":"output_text"}],"id":"msg_0361c6f6e309f1f8016a95bbd7c57c87d0adcfbcfa7f29dc2e","role":"assistant","status":"completed","type":"message"}],"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"1f605acceb8152d2e62d9ed8f9f79fe0","scores":null,"span_attributes":{"name":"responses","type":"llm"},"span_id":"bc69c6ca41587922","span_parents":["8d6f13c58b832744"],"tags":null},{"_async_scoring_state":null,"_pagination_key":"p07680251314923569152","_xact_id":"1000197783587722175","audit_data":[{"_xact_id":"1000197783587722175","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":{"span_origin":{"instrumentation":{"name":"braintrust-java"},"name":"braintrust.sdk.java","version":"0.3.22-ca5ce6d-DIRTY"}},"created":"2026-08-31T17:37:28.085Z","error":null,"expected":null,"facets":null,"id":"be11264b4ec3002f","input":[{"content":[{"text":"Look at this sequence: 2, 6, 12, 20, 30. What is the pattern and what would be the formula for the nth term?\n","type":"input_text"}],"role":"user","type":"message"},{"encrypted_content":"gAAAAABqlbvYExiVEN0PpKufywUbaup2cuEwH0bdepoaoOvuKkJxPF8FeJJOjVnJ5GXeeDWf4f_aKLwh5FuYHTm6tA-obuyqmOPkQjOYzIZhoJFxiPC0jaMR2wo0dDnjyifjoEwtxjubkgESbidVkpiOT1furUoAKw2fvUwkA6-B9d3ontlw4-IPGNl90PxaDR-4DpK9sDTnAg04W6P09xdhvlvNo80JbX6kuJROnVpUlthFEUtbq938i5Qu2OWDWQi_Zf6X02AteH5JjKhHGOKnnquapSe_fUJq-5XMnUZauKcY4HJ3QX7OVcMzd-wNBb8LVEIzH7Sb56-5ufu8tvzZXomqHoE9sMKFoAdPqA3rCTEUJIr0iXbFK34zmb-hZpmoNau1eIiE5SUVUUYqrY1IPSwKxuKWV9gtQeiPB3_Uctj19yohGplOcqWY1itcegVUMX9mdKA6jDQXAywEzgzGAneYapu5GOpyYZnNk_2Z9rZL8uw9Twc5YPowPm5lvtN4FIdqLjhRw7lsdshamzKwXXYcAu73BDDHTV0bxi6WFDQeMAw4KigfCL4kKPTPOEEABR1MFgo9FZ-vG7f4JzZWfibOmuNAe_MVNfXlrRk6fkaf11fBWEwlX24mCRZFtzvBaNawozP6c0NETtP22sOpzqR94Fpnk-v72AocHlDXOaNT6LTN4jOVqZgAU5b7pFKP3ZXVdU3jpjk3pglvjimeRLAM0HJm8li2CpR4NwJbZBZKVuARGJb3LWep7h2EDAUKKO5RQH5-VS9Es4AnEUjVED6j0dANEHCMvJjg0MtTvAf7WfsYSJDhuynm5jBLO023oUASn79HFI_UBt_m6RzlIEqGxggRBqMAZL7r-2giMzWvITGTAVf8r8MDf2JpTdaruTnDQFZwmkROghHNflGeP855i4cB3baAtGIcUFymzmNPRo-oI0GexuLBZilRXADIVtEXdpcK0F-oChIQfcX5jQloD5AIvIX14zmv3ji73rc4EegE1u8UEO9KyLDWMRUr_mrerCsQJ3VIVKjHcRCeJ-_R27msJrAKI6cnnazUt4igcxYAm-qNfN0XeNEL-PllSKDfjSdVS5eHgttK1lXjlh82bWyeN_9IP1foF2_NnxVNtZrWinrQiCBCQ1j-Bzdh3-GyQ0PLLUrNQIzDbndtqYRL4B_DtUw2EbNv5f8ypXM5H9sNyMMvJunHSPlj3hHWoGx5xyKCxBwVuJYG03dsAhfnNSmEZ4qK04c6hvWs7TE0iKWsymihBBCwcvUqQTAn83ACfPPMIGdbS9sWfcOrzqjOmo5GkWEw9Okn6VOZrRhsAbasFEOpVd9lebfu9mDZKUcafIhdxT3cFoUSLi4FhsgBF4E0tZ345asumwPEa5LkcOeYrjEl5MGzLmirxTM9q0BJZDjc5O4aAKpVL9JeTqE6bDty_AgNcTfKVlt8cnPTZkm5-oLxGSQft61pn44NB7h7hWXwY7JQVrhIdRDgY6B4z4FASrV6d1YOj4Yl9GXnk0TYyxxZ7Ih_FQOphXpxqvZNeiTWdVfwqv2dv8QbDOwfuHBIXGLQ-CYEtUfQl9RCZ0-YjzmEzdXF9evJTgdTm_C-x-j2IAQMHgZVeYCJvFGvt-qX2XepXduaaBOQFenPAN5cF7E7ic33eeUdqoHFiuj-1RMs0eYCsNH-Qb1cLvTQ_GbR_O6cm6F-RftLaJohXPjaY-885Fi3SPLhJxbAjpB4t9KrX1JB5MnyVmri9g8f8F6-_6_1ypPXOnoZZJ2hQ1xU8UksX53zwIiKPBWPXvUA4lj_uZzDbsLN3YFawBKg1tbD7ir3ZCLpsSpade_Zqlg3lHFKhLEOJu54mSM5E8r-wL9Se9dsgqKwsC6Fnl9TTS5R3KVS_n8Tf7U3MXjlSEyN3MR_C40kSTRBl5vwrKa2ZkitFRIykBkRhnv9m8SM0FTRjIjtVt7-_tFe_Kt1qgTgA-vdf4-hu6Y7L-Mav2Hr3-3xRt7IW4ZSz7QwQA3Rj1NoQY4cWhEzMWWguRQRSeeWQXF8g0XVGYNbaMUXafdP8p77wfEJIM87Y-opI7xCZMsstGnfk4zCVAsitL_R-6qGuYfVuvF-rrMV8_9qMYbdH1O_KFVn_Vi9jXICK3pFVtJCmDfuUf5QDzT_mtjcRfKYeO3rnat1BiurIVqyfZkA5HaSoySslJ_5gb4lFy2X_vye0fSeZ7cIqFvnF-l7he6SncvUbiZ2Ko0gSb5rCCEX6HAbk0ZTF7h4bpH54FNpV4wy045U_YFNXZ0IbilPcZig_TaF-aP2b74wS3id0mhOHndt2HBSd2ffNQTmj7XxJ4JPkTkL6chiXvTAQEqPnKCy05ZBy9xfn8bL4fCaiYhYv8v7ZFNUDUz6ZNerlyekMp40-eCerlkk39Hju2GE7jBkrzpGpuwGQynI20sXCfew6lWq-7c9dZYxrjsaH7QP_uariE8plG9GS1qEdH-VTC7H0Vcuv81uKu3s1wVf2eOR2Fvkbj7xCQUhNwA5ba-SsBJjSO21RycIcsr43UJzecwV5On51zZ689s7juFH65HtA1M-RqwO0jsC54nlQ2Vbp3fFu6_Dpu49fi0iaJyYfHGk8OxyFykwwUBDe1PRgk1yh2awE3Q6x2OManROmbsjxrxBKR0vuotLl1RcIkbqqr43FxORo3K-R0oCl1tg2RQ8eCVkq5di7gwttanLXAOKEGBQpD_3k4gOdKRM6knT0zuLmT4wOzqID_iKDtvb47vRvDFgIJEXl8jJdnApILoXki-Afw==","summary":[{"text":"**Identifying the sequence pattern**\n\nThe user asked about the sequence: 2, 6, 12, 20, 30. I see that these numbers can be expressed as n(n+1). For example, 2=1*2, 6=2*3, etc. I'm realizing they represent pronic numbers, which are products of consecutive integers. So, the nth term formula is a_n = n(n+1). This sequence’s differences are also revealing a pattern: 4, 6, 8, and 10—interesting how those connect!**Clarifying the formula**\n\nI see this is a second-order linear sequence, where a_n = n^2 + n, starting with a1 = 2 — that's good! The pattern shows that I'm adding even numbers, beginning at 4 and increasing by 2. Each term corresponds to the product of consecutive integers, confirming the formula as a_n = n(n+1). So for example, 2=1*2, 6=2*3, and so on. I've got it all summed up now—I've reached the end!","type":"summary_text"}],"type":"reasoning"},{"content":[{"text":"Each term is the product of two consecutive integers:\n • 2 = 1·2 \n • 6 = 2·3 \n • 12 = 3·4 \n • 20 = 4·5 \n • 30 = 5·6 \n\nThese are called “pronic” numbers. In general, the nth term is\n\n aₙ = n·(n + 1) = n² + n.","type":"output_text"}],"role":"assistant","type":"message"},{"content":[{"text":"Using the pattern you discovered, what would be the 10th term? And can you find the sum of the first 10 terms?","type":"input_text"}],"role":"user","type":"message"}],"is_root":false,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","include":["reasoning.encrypted_content"],"model":"o4-mini","provider":"openai","reasoning":{"effort":"high","summary":"detailed"},"request_base_uri":"http://localhost:52408","request_method":"POST","request_path":"responses","response_id":"resp_0bea5f73b8f03046016a95bbd8618087d0a25534d93757cfcc","store":false,"stream":false,"x-request-id":"req_54775536912247dd82c8d9e71863888d"},"metrics":{"completion_reasoning_tokens":384,"completion_tokens":553,"end":1788197855.081563,"estimated_cost":0.0026268000000000003,"prompt_cached_tokens":0,"prompt_tokens":176,"start":1788197848.085952,"tokens":729},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":[{"content":[],"encrypted_content":"gAAAAABqlbvf-2zqhCONuWPc2jxLstZZ8m19mj8Qqskui5W0TwU5cnm7pAyVkHU5KHqUA7DZIZPxcL69wuqY6uX_nMO3c3zOCubDZl097eENDbZagVQrRguVz9qF3p9zIAjyG6HEOjjQLpGghmV8YSsAxFxmo3gk7Enpg04BsxSAWXpA5dpK82Bg6PUvs4m8-Bq4CyjXtuoj8aOOBbL9jfBPxl4OJ0HSgr47bRYhmGIlCSRQ-xjkzBZGHhXHXmUiEnPxpTzP0NDYOSJfznG6lpgIk2_En_4Qlon0jZtg3EP_fzMlP9dSwmk6Nek2NKu3rGNgWHzwfMQJxu87fJ-7hu0stDRPUkRH9VSpLu5mz7ztSZrL6xAwmqfljKqSDUziJOmvBzNG76cOmSF8VhvR6HxRZu98virxHp-q5_E9I6am0_uYnuMBiIGC9Uv6t6M0dtAab9QvYwg6GXJ8t-tfpXc7QXMXsCLZkhqAEZTLcGVrazInpSQUnY8B5hRSK9YIv4aqf5_PrGeiPX8fEtxxvcVqQhde6vDclHiUPmByaJJG3icYi1KJAg1K2yqbp09125kjGWG4oYTAxg-W0MZNMVd96me9MA4XqrQirmzsyhxSxPO5b6YXmIcCCan53KkGhFdNh0yxkzpMUJGrs7ckj4VxNmIhZs4F-ag3H9_HZ4m41S7ng4EChjNyIk048JWBSUz0Dx0YpYXJVOs4ZeTVscjIxS6eI4XkRF5mSYFqN2s-NJ7634k13Gzb9l8n-muvi_Lj7gLTGwXkh5ze-PMWFq3YlgpTII5Zm54gQ7bGiEhqT8i-nL27Dsl8hlSik7OVt4ewAmaYO35cxAFxvpQYumP6Dta5CGdRZNIG4EY0HMf_nJCIKu89kymOZEr4j4roxIeypKvXDGkjh7pcq1cZdYQMghd2ObbFes2dzelTsGiU6d_Qay8IxY6kufHiNDVo-a4ayL49lyEZ8UVHQtuwXpTn0ujHuGwXntz8zehxK73ABQmkt-nbqjm3wHK4NEHwDiKyJRWEQgx7W2tBH7iholW1x91hcWwT_v3ZAbyFQDqwlpYDuYHLfZ95PcBh0u4JQ8I-V4PoBobgUs5FsfEwnfQy6-cFngdEgCNDko_QVFiIyBALwx2jgCc9XhBVBBgFrqd08ZI0Z73GpWztSjk_o0G2-UQbu3MhD37SE50ux1QsLJLX-hRknHhXrGerLG-qzD5qlA_EkwniS-VeJmD-aQ4S4TaU-sJdIa1j2kfA4aJjGBlDLV_TIFl4N4Lvs3jI2AVQtoujKRguH5vuH-VChU3FOY3jhPA41-YrYHZZmUqv9tFWADh09Hp59gKjWkLbWcKOY6RwQI5DUdXCRAOVfTN8kPmSFCvIgVkDPQp7BFf7efePsObKYbYcG50gkIhcaV5iw9_Det-zIjEaq-SpmnKFoDTdLaF5Iyf3qQ0waWxFGDlPfEnnZfRKTifbVus2w37SdJLf_6aawhg67dkaYc1BVoUgbr_N417zP1994gSOyZT8aSgVVZvvAK8M87i89j9I3Q-QnoBKDu9k4MnHQ-eoOctgH4si3nZqiHsgC9McTCT2xpS4abLFvCoOVyhZIIPW_Yz537YQcxoUMN3JDaYxxY8Ji81C4FouXG4JveUbHjLmHdHN0_gZgf-43pfTS6G6xH4PvYdeVMORQd7OGS7FgfVkbRcSRJvoKF0eDzNzf-vXfZxw3NQnVSjlbLlH_8nenmxM1qsLTHbrKkDuat4BIwaUaCS_-8EueBfVP8mey9_EXW6uacD_4RxDglGtjrsoi3C4Ae7xlImrlCgyakdyruMTVp1w9mrFTvfdxTd9_8QNWvo_ciA_RssT9L0NGm0KFkLQsOmF9IQNRkG7Ev2_qQKvVNdXSK-l7lqUu-jgbvxXVIYjJrVxMolcv1t9P2-DxZo4czn9R21rgc6gTlGd018PNFIEN-NE11m-3fDdqa9x2-BzmI1p91L9wBBGXF_xUl92xSZu9hh_CQwZFuvfSOQONlTTCcAMxUKVmA3VgHMhRiz9RDGw9hn7zUFZquSwjT8FtegK4dWkRg6GDUlORbRC8geRbnle4zf5enwX_Kw8m2IUUa-26HPRnTquQpQX0yIDsC2mIy7ZP44Q78mw8BHqXByEjK2pPqHHSiD-akHJc6qRhO3BeM--LyFcy2tDMt2ToJFQi_IEJZbecgi_pBS_MrsV2dAKvMw3jgssdwUnfpZH4BC0z5qaVgY6Hoe57doieBwNKQ3SgQKhgy-IZ9ybMcHw3fhsWU2h6BKW28MZg4l5cqXSW_yANc9DhPSz02vumx3_DNRlvVrTsarKYlYl0kzgun6LUr-yx4XeBEdI8N8j10v9Dcx1Ysrz-FAU0b43LhW9tijNwf3-WrBE8cPolbkKH-xxbZ-3Vi1wOlZRyxJZm6uHmc6iDtqwOneYvkmdgYD_uTkxOI7yn6tvR8z7bvvOzrlW6fUPi_HahIt55opCMQgVDHWpsllFTDb_tQoAFnXuT4iz3sZmE69t31VV2mL06S0OCU5JPshqgztsqE5NHsjcAa_2jjJ2oESj3YSIPuBT","id":"rs_0bea5f73b8f03046016a95bbd952c487d0a66a684f9161620d","summary":[{"text":"**Calculating term and sum**\n\nThe user asked about the sequence 2, 6, 12, 20, 30. I initially determined that the nth term could be expressed as \\( a_n = n(n+1) \\). Now, for the new query, the 10th term would be \\( a_{10} = 10 \\times 11 = 110 \\). \n\nTo find the sum of the first 10 terms, I can use the sum formulas for squares and integers: the total comes to 440. This matches the formula for the sum of pronic numbers, so I'm confident in my calculations!","type":"summary_text"},{"text":"**Summarizing results**\n\nI’ve determined that the 10th term of the sequence is 110 and the sum of the first 10 terms is 440. The pattern corresponds to pronic numbers, represented as \\( a_n = n(n+1) \\). \n\nSo, \\( a_{10} = 10 \\times 11 = 110 \\) and the sum \\( S_{10} = \\sum n(n+1) = 440 \\). I should present both the term and sum clearly, possibly using a bullet list or just plain text for simplicity.","type":"summary_text"}],"type":"reasoning"},{"content":[{"annotations":[],"logprobs":[],"text":"The 10th term is \n a₁₀ = 10·(10 + 1) = 10·11 = 110 \n\nThe sum of the first 10 terms is \n S₁₀ = ∑ₙ₌₁¹⁰ n(n + 1) \n = ∑ n² + ∑ n \n = [10·11·21/6] + [10·11/2] \n = 385 + 55 \n = 440 \n\nEquivalently, there’s a closed‐form for the sum of pronic numbers: \n S₁₀ = 10·11·12/3 = 440.","type":"output_text"}],"id":"msg_0bea5f73b8f03046016a95bbdeba1087d0b434a360e11fa1ce","role":"assistant","status":"completed","type":"message"}],"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"1f605acceb8152d2e62d9ed8f9f79fe0","scores":null,"span_attributes":{"name":"responses","type":"llm"},"span_id":"be11264b4ec3002f","span_parents":["8d6f13c58b832744"],"tags":null}],"schema":{"type":"array","items":{"type":"object","properties":{"_async_scoring_state":{},"_pagination_key":{"description":"A stable, time-ordered key that can be used to paginate over project logs events. This field is auto-generated by Braintrust and only exists in Brainstore.","type":["string","null"]},"_xact_id":{"description":"The transaction id of an event is unique to the network operation that processed the event insertion. Transaction ids are monotonically increasing over time and can be used to retrieve a versioned snapshot of the project logs (see the `version` parameter)","type":"string"},"audit_data":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"classifications":{"anyOf":[{"additionalProperties":{"items":{"additionalProperties":false,"properties":{"confidence":{"description":"Optional confidence score for the classification","type":["number","null"]},"id":{"description":"Stable classification identifier","type":"string"},"label":{"description":"Original label of the classification item, which is useful for search and indexing purposes","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"type":"object"},{"type":"null"}],"description":"Optional metadata associated with the classification"},"source":{"anyOf":[{"anyOf":[{"additionalProperties":false,"properties":{"id":{"type":"string"},"type":{"const":"function","type":"string"},"version":{"description":"The version of the function","type":"string"}},"required":["type","id"],"type":"object"},{"additionalProperties":false,"properties":{"function_type":{"default":"scorer","description":"The type of global function. Defaults to 'scorer'.","enum":["llm","scorer","task","tool","custom_view","preprocessor","facet","classifier","tag","parameters","sandbox"],"type":"string"},"name":{"type":"string"},"type":{"const":"global","type":"string"}},"required":["type","name"],"type":"object"}]},{"type":"null"}],"description":"Optional function identifier that produced the classification"}},"required":["id"],"type":"object"},"type":"array"},"properties":{},"type":"object"},{"type":"null"}]},"comments":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"context":{"anyOf":[{"additionalProperties":{},"properties":{"caller_filename":{"description":"Name of the file in code where the project logs event was created","type":["string","null"]},"caller_functionname":{"description":"The function in code which created the project logs event","type":["string","null"]},"caller_lineno":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"created":{"description":"The timestamp the project logs event was created","format":"date-time","type":"string"},"error":{"description":"The error that occurred, if any."},"expected":{"description":"The ground truth value (an arbitrary, JSON serializable object) that you'd compare to `output` to determine if your `output` value is correct or not. Braintrust currently does not compare `output` to `expected` for you, since there are so many different ways to do that correctly. Instead, these values are just used to help you navigate while digging into analyses. However, we may later use these values to re-score outputs or fine-tune your models."},"facets":{"anyOf":[{"additionalProperties":{"type":["string","null"]},"properties":{},"type":"object"},{"type":"null"}]},"id":{"description":"A unique identifier for the project logs event. If you don't provide one, Braintrust will generate one for you","type":"string"},"input":{"description":"The arguments that uniquely define a user input (an arbitrary, JSON serializable object)."},"is_root":{"description":"Whether this span is a root span","type":["boolean","null"]},"log_id":{"const":"g","description":"A literal 'g' which identifies the log as a project log","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"properties":{"model":{"description":"The model used for this example","type":["string","null"]}},"type":"object"},{"type":"null"}]},"metrics":{"anyOf":[{"additionalProperties":{"type":"number"},"properties":{"caller_filename":{"description":"This metric is deprecated"},"caller_functionname":{"description":"This metric is deprecated"},"caller_lineno":{"description":"This metric is deprecated"},"completion_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"end":{"description":"A unix timestamp recording when the section of code which produced the project logs event finished","type":["number","null"]},"prompt_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"start":{"description":"A unix timestamp recording when the section of code which produced the project logs event started","type":["number","null"]},"tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"org_id":{"description":"Unique id for the organization that the project belongs under","format":"uuid","type":"string"},"origin":{"anyOf":[{"description":"Reference to the original object and event this was copied from.","properties":{"_xact_id":{"description":"Transaction ID of the original event.","type":["string","null"]},"created":{"description":"Created timestamp of the original event. Used to help sort in the UI","type":["string","null"]},"id":{"description":"ID of the original event.","type":"string"},"object_id":{"description":"ID of the object the event is originating from.","format":"uuid","type":"string"},"object_type":{"description":"Type of the object the event is originating from.","enum":["project_logs","experiment","dataset","prompt","function","prompt_session"],"type":"string"}},"required":["object_type","object_id","id"],"type":"object"},{"type":"null"}]},"output":{"description":"The output of your application, including post-processing (an arbitrary, JSON serializable object), that allows you to determine whether the result is correct or not. For example, in an app that generates SQL queries, the `output` should be the _result_ of the SQL query generated by the model, not the query itself, because there may be multiple valid queries that answer a single question."},"project_id":{"description":"Unique identifier for the project","format":"uuid","type":"string"},"root_span_id":{"description":"A unique identifier for the trace this project logs event belongs to","type":"string"},"scores":{"anyOf":[{"additionalProperties":{"anyOf":[{"maximum":1,"minimum":0,"type":"number"},{"type":"null"}]},"properties":{},"type":"object"},{"type":"null"}]},"span_attributes":{"anyOf":[{"additionalProperties":{},"description":"Human-identifying attributes of the span, such as name, type, etc.","properties":{"name":{"description":"Name of the span, for display purposes only","type":["string","null"]},"purpose":{"anyOf":[{"enum":["scorer"],"type":"string"},{"type":"null"}]},"type":{"anyOf":[{"enum":["llm","score","function","eval","task","tool","automation","facet","preprocessor","classifier","review"],"type":"string"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"span_id":{"description":"A unique identifier used to link different project logs events together as part of a full trace. See the [tracing guide](https://www.braintrust.dev/docs/instrument) for full details on tracing","type":"string"},"span_parents":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]},"tags":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]}}}},"realtime_state":{"type":"on","minimum_xact_id":"1000197783589884487","read_bytes":0,"actual_xact_id":"1000197783589884487"},"freshness_state":{"last_processed_xact_id":"1000197783589884487","last_considered_xact_id":"1000197783589884487"},"warnings":[]} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-a947b6b65b21.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-a947b6b65b21.json new file mode 100644 index 00000000..fe192199 --- /dev/null +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-a947b6b65b21.json @@ -0,0 +1 @@ +{"data":[{"_async_scoring_state":null,"_pagination_key":"p07680251121458085900","_xact_id":"1000197783584770126","audit_data":[{"_xact_id":"1000197783584770126","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":{"span_origin":{"instrumentation":{"name":"braintrust-java"},"name":"braintrust.sdk.java","version":"0.3.22-ca5ce6d-DIRTY"}},"created":"2026-08-31T17:36:49.616Z","error":null,"expected":null,"facets":null,"id":"7d7590ff65dedbb4","input":null,"is_root":true,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","client":"langchain1.14-openai"},"metrics":{"end":1788197810.7945735,"start":1788197809.6161761},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":null,"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"90692efc4e0740ac640144f47923b687","scores":null,"span_attributes":{"name":"streaming","type":"task"},"span_id":"7d7590ff65dedbb4","span_parents":null,"tags":null},{"_async_scoring_state":null,"_pagination_key":"p07680251121458085893","_xact_id":"1000197783584770126","audit_data":[{"_xact_id":"1000197783584770126","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":{"span_origin":{"instrumentation":{"name":"braintrust-java"},"name":"braintrust.sdk.java","version":"0.3.22-ca5ce6d-DIRTY"}},"created":"2026-08-31T17:36:49.630Z","error":null,"expected":null,"facets":null,"id":"bddcbb757ccc7952","input":[{"content":"you are a thoughtful assistant","role":"system"},{"content":"Count from 1 to 10 slowly.","role":"user"}],"is_root":false,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","max_tokens":800,"model":"gpt-4o-mini","provider":"openai","request_base_uri":"http://localhost:52408","request_method":"POST","request_path":"chat/completions","response_id":"chatcmpl-EJ0E6nmVGYykRvji5bCxNGF5qqlgh","stream":true,"stream_options":{"include_usage":true},"temperature":0,"x-request-id":"req_0af097fcf9a144c18a1ff58d85b1916a"},"metrics":{"completion_reasoning_tokens":0,"completion_tokens":40,"end":1788197810.795079,"estimated_cost":0.00002775,"prompt_cached_tokens":0,"prompt_tokens":25,"start":1788197809.630444,"time_to_first_token":1.159264125,"tokens":65},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":[{"finish_reason":"stop","index":0,"message":{"content":"Sure! Here we go:\n\n1... \n2... \n3... \n4... \n5... \n6... \n7... \n8... \n9... \n10... \n\nTake your time!","refusal":null,"role":"assistant"}}],"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"90692efc4e0740ac640144f47923b687","scores":null,"span_attributes":{"name":"Chat Completion","type":"llm"},"span_id":"bddcbb757ccc7952","span_parents":["7d7590ff65dedbb4"],"tags":null}],"schema":{"type":"array","items":{"type":"object","properties":{"_async_scoring_state":{},"_pagination_key":{"description":"A stable, time-ordered key that can be used to paginate over project logs events. This field is auto-generated by Braintrust and only exists in Brainstore.","type":["string","null"]},"_xact_id":{"description":"The transaction id of an event is unique to the network operation that processed the event insertion. Transaction ids are monotonically increasing over time and can be used to retrieve a versioned snapshot of the project logs (see the `version` parameter)","type":"string"},"audit_data":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"classifications":{"anyOf":[{"additionalProperties":{"items":{"additionalProperties":false,"properties":{"confidence":{"description":"Optional confidence score for the classification","type":["number","null"]},"id":{"description":"Stable classification identifier","type":"string"},"label":{"description":"Original label of the classification item, which is useful for search and indexing purposes","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"type":"object"},{"type":"null"}],"description":"Optional metadata associated with the classification"},"source":{"anyOf":[{"anyOf":[{"additionalProperties":false,"properties":{"id":{"type":"string"},"type":{"const":"function","type":"string"},"version":{"description":"The version of the function","type":"string"}},"required":["type","id"],"type":"object"},{"additionalProperties":false,"properties":{"function_type":{"default":"scorer","description":"The type of global function. Defaults to 'scorer'.","enum":["llm","scorer","task","tool","custom_view","preprocessor","facet","classifier","tag","parameters","sandbox"],"type":"string"},"name":{"type":"string"},"type":{"const":"global","type":"string"}},"required":["type","name"],"type":"object"}]},{"type":"null"}],"description":"Optional function identifier that produced the classification"}},"required":["id"],"type":"object"},"type":"array"},"properties":{},"type":"object"},{"type":"null"}]},"comments":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"context":{"anyOf":[{"additionalProperties":{},"properties":{"caller_filename":{"description":"Name of the file in code where the project logs event was created","type":["string","null"]},"caller_functionname":{"description":"The function in code which created the project logs event","type":["string","null"]},"caller_lineno":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"created":{"description":"The timestamp the project logs event was created","format":"date-time","type":"string"},"error":{"description":"The error that occurred, if any."},"expected":{"description":"The ground truth value (an arbitrary, JSON serializable object) that you'd compare to `output` to determine if your `output` value is correct or not. Braintrust currently does not compare `output` to `expected` for you, since there are so many different ways to do that correctly. Instead, these values are just used to help you navigate while digging into analyses. However, we may later use these values to re-score outputs or fine-tune your models."},"facets":{"anyOf":[{"additionalProperties":{"type":["string","null"]},"properties":{},"type":"object"},{"type":"null"}]},"id":{"description":"A unique identifier for the project logs event. If you don't provide one, Braintrust will generate one for you","type":"string"},"input":{"description":"The arguments that uniquely define a user input (an arbitrary, JSON serializable object)."},"is_root":{"description":"Whether this span is a root span","type":["boolean","null"]},"log_id":{"const":"g","description":"A literal 'g' which identifies the log as a project log","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"properties":{"model":{"description":"The model used for this example","type":["string","null"]}},"type":"object"},{"type":"null"}]},"metrics":{"anyOf":[{"additionalProperties":{"type":"number"},"properties":{"caller_filename":{"description":"This metric is deprecated"},"caller_functionname":{"description":"This metric is deprecated"},"caller_lineno":{"description":"This metric is deprecated"},"completion_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"end":{"description":"A unix timestamp recording when the section of code which produced the project logs event finished","type":["number","null"]},"prompt_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"start":{"description":"A unix timestamp recording when the section of code which produced the project logs event started","type":["number","null"]},"tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"org_id":{"description":"Unique id for the organization that the project belongs under","format":"uuid","type":"string"},"origin":{"anyOf":[{"description":"Reference to the original object and event this was copied from.","properties":{"_xact_id":{"description":"Transaction ID of the original event.","type":["string","null"]},"created":{"description":"Created timestamp of the original event. Used to help sort in the UI","type":["string","null"]},"id":{"description":"ID of the original event.","type":"string"},"object_id":{"description":"ID of the object the event is originating from.","format":"uuid","type":"string"},"object_type":{"description":"Type of the object the event is originating from.","enum":["project_logs","experiment","dataset","prompt","function","prompt_session"],"type":"string"}},"required":["object_type","object_id","id"],"type":"object"},{"type":"null"}]},"output":{"description":"The output of your application, including post-processing (an arbitrary, JSON serializable object), that allows you to determine whether the result is correct or not. For example, in an app that generates SQL queries, the `output` should be the _result_ of the SQL query generated by the model, not the query itself, because there may be multiple valid queries that answer a single question."},"project_id":{"description":"Unique identifier for the project","format":"uuid","type":"string"},"root_span_id":{"description":"A unique identifier for the trace this project logs event belongs to","type":"string"},"scores":{"anyOf":[{"additionalProperties":{"anyOf":[{"maximum":1,"minimum":0,"type":"number"},{"type":"null"}]},"properties":{},"type":"object"},{"type":"null"}]},"span_attributes":{"anyOf":[{"additionalProperties":{},"description":"Human-identifying attributes of the span, such as name, type, etc.","properties":{"name":{"description":"Name of the span, for display purposes only","type":["string","null"]},"purpose":{"anyOf":[{"enum":["scorer"],"type":"string"},{"type":"null"}]},"type":{"anyOf":[{"enum":["llm","score","function","eval","task","tool","automation","facet","preprocessor","classifier","review"],"type":"string"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"span_id":{"description":"A unique identifier used to link different project logs events together as part of a full trace. See the [tracing guide](https://www.braintrust.dev/docs/instrument) for full details on tracing","type":"string"},"span_parents":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]},"tags":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]}}}},"realtime_state":{"type":"on","minimum_xact_id":"1000197783589884487","read_bytes":0,"actual_xact_id":"1000197783589884487"},"freshness_state":{"last_processed_xact_id":"1000197783589884487","last_considered_xact_id":"1000197783589884487"},"warnings":[]} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-a87d25e53245.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-a9fc5ea16a1f.json similarity index 68% rename from test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-a87d25e53245.json rename to test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-a9fc5ea16a1f.json index 5098415b..12e7c942 100644 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-a87d25e53245.json +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-a9fc5ea16a1f.json @@ -1 +1 @@ -{"data":[{"_async_scoring_state":null,"_pagination_key":"p07659835804562489344","_xact_id":"1000197472071755972","audit_data":[{"_xact_id":"1000197472071755972","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":null,"created":"2026-07-07T17:14:55.033Z","error":null,"expected":null,"facets":null,"id":"d0fdb0f59d719f5b","input":null,"is_root":true,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","client":"langchain-openai"},"metrics":{"end":1783444495.9976952,"start":1783444495.033086},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":null,"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"be320c168797eee38a0ff67018c27760","scores":null,"span_attributes":{"name":"tools","type":"task"},"span_id":"d0fdb0f59d719f5b","span_parents":null,"tags":null},{"_async_scoring_state":null,"_pagination_key":"p07659835804562489351","_xact_id":"1000197472071755972","audit_data":[{"_xact_id":"1000197472071755972","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":null,"created":"2026-07-07T17:14:55.052Z","error":null,"expected":null,"facets":null,"id":"8804b1429b4b833e","input":[{"content":"What is the weather like in Paris, France?","role":"user"}],"is_root":false,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","model":"gpt-4o","provider":"openai","request_base_uri":"http://localhost:63169","request_method":"POST","request_path":"chat/completions"},"metrics":{"completion_tokens":16,"end":1783444495.9865727,"estimated_cost":0.0003725,"prompt_cached_tokens":0,"prompt_tokens":85,"start":1783444495.0526278,"tokens":101},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":[{"finish_reason":"tool_calls","index":0,"logprobs":null,"message":{"annotations":[],"content":null,"refusal":null,"role":"assistant","tool_calls":[{"function":{"arguments":"{\"location\":\"Paris, France\"}","name":"get_weather"},"id":"call_1YnCnRAP0EZNkFkMwTsLZgM7","type":"function"}]}}],"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"be320c168797eee38a0ff67018c27760","scores":null,"span_attributes":{"name":"Chat Completion","type":"llm"},"span_id":"8804b1429b4b833e","span_parents":["d0fdb0f59d719f5b"],"tags":null}],"schema":{"type":"array","items":{"type":"object","properties":{"_async_scoring_state":{},"_pagination_key":{"description":"A stable, time-ordered key that can be used to paginate over project logs events. This field is auto-generated by Braintrust and only exists in Brainstore.","type":["string","null"]},"_xact_id":{"description":"The transaction id of an event is unique to the network operation that processed the event insertion. Transaction ids are monotonically increasing over time and can be used to retrieve a versioned snapshot of the project logs (see the `version` parameter)","type":"string"},"audit_data":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"classifications":{"anyOf":[{"additionalProperties":{"items":{"additionalProperties":false,"properties":{"confidence":{"description":"Optional confidence score for the classification","type":["number","null"]},"id":{"description":"Stable classification identifier","type":"string"},"label":{"description":"Original label of the classification item, which is useful for search and indexing purposes","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"type":"object"},{"type":"null"}],"description":"Optional metadata associated with the classification"},"source":{"anyOf":[{"anyOf":[{"additionalProperties":false,"properties":{"id":{"type":"string"},"type":{"const":"function","type":"string"},"version":{"description":"The version of the function","type":"string"}},"required":["type","id"],"type":"object"},{"additionalProperties":false,"properties":{"function_type":{"default":"scorer","description":"The type of global function. Defaults to 'scorer'.","enum":["llm","scorer","task","tool","custom_view","preprocessor","facet","classifier","tag","parameters","sandbox"],"type":"string"},"name":{"type":"string"},"type":{"const":"global","type":"string"}},"required":["type","name"],"type":"object"}]},{"type":"null"}],"description":"Optional function identifier that produced the classification"}},"required":["id"],"type":"object"},"type":"array"},"properties":{},"type":"object"},{"type":"null"}]},"comments":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"context":{"anyOf":[{"additionalProperties":{},"properties":{"caller_filename":{"description":"Name of the file in code where the project logs event was created","type":["string","null"]},"caller_functionname":{"description":"The function in code which created the project logs event","type":["string","null"]},"caller_lineno":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"created":{"description":"The timestamp the project logs event was created","format":"date-time","type":"string"},"error":{"description":"The error that occurred, if any."},"expected":{"description":"The ground truth value (an arbitrary, JSON serializable object) that you'd compare to `output` to determine if your `output` value is correct or not. Braintrust currently does not compare `output` to `expected` for you, since there are so many different ways to do that correctly. Instead, these values are just used to help you navigate while digging into analyses. However, we may later use these values to re-score outputs or fine-tune your models."},"facets":{"anyOf":[{"additionalProperties":{"type":["string","null"]},"properties":{},"type":"object"},{"type":"null"}]},"id":{"description":"A unique identifier for the project logs event. If you don't provide one, Braintrust will generate one for you","type":"string"},"input":{"description":"The arguments that uniquely define a user input (an arbitrary, JSON serializable object)."},"is_root":{"description":"Whether this span is a root span","type":["boolean","null"]},"log_id":{"const":"g","description":"A literal 'g' which identifies the log as a project log","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"properties":{"model":{"description":"The model used for this example","type":["string","null"]}},"type":"object"},{"type":"null"}]},"metrics":{"anyOf":[{"additionalProperties":{"type":"number"},"properties":{"caller_filename":{"description":"This metric is deprecated"},"caller_functionname":{"description":"This metric is deprecated"},"caller_lineno":{"description":"This metric is deprecated"},"completion_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"end":{"description":"A unix timestamp recording when the section of code which produced the project logs event finished","type":["number","null"]},"prompt_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"start":{"description":"A unix timestamp recording when the section of code which produced the project logs event started","type":["number","null"]},"tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"org_id":{"description":"Unique id for the organization that the project belongs under","format":"uuid","type":"string"},"origin":{"anyOf":[{"description":"Reference to the original object and event this was copied from.","properties":{"_xact_id":{"description":"Transaction ID of the original event.","type":["string","null"]},"created":{"description":"Created timestamp of the original event. Used to help sort in the UI","type":["string","null"]},"id":{"description":"ID of the original event.","type":"string"},"object_id":{"description":"ID of the object the event is originating from.","format":"uuid","type":"string"},"object_type":{"description":"Type of the object the event is originating from.","enum":["project_logs","experiment","dataset","prompt","function","prompt_session"],"type":"string"}},"required":["object_type","object_id","id"],"type":"object"},{"type":"null"}]},"output":{"description":"The output of your application, including post-processing (an arbitrary, JSON serializable object), that allows you to determine whether the result is correct or not. For example, in an app that generates SQL queries, the `output` should be the _result_ of the SQL query generated by the model, not the query itself, because there may be multiple valid queries that answer a single question."},"project_id":{"description":"Unique identifier for the project","format":"uuid","type":"string"},"root_span_id":{"description":"A unique identifier for the trace this project logs event belongs to","type":"string"},"scores":{"anyOf":[{"additionalProperties":{"anyOf":[{"maximum":1,"minimum":0,"type":"number"},{"type":"null"}]},"properties":{},"type":"object"},{"type":"null"}]},"span_attributes":{"anyOf":[{"additionalProperties":{},"description":"Human-identifying attributes of the span, such as name, type, etc.","properties":{"name":{"description":"Name of the span, for display purposes only","type":["string","null"]},"purpose":{"anyOf":[{"enum":["scorer"],"type":"string"},{"type":"null"}]},"type":{"anyOf":[{"enum":["llm","score","function","eval","task","tool","automation","facet","preprocessor","classifier","review"],"type":"string"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"span_id":{"description":"A unique identifier used to link different project logs events together as part of a full trace. See the [tracing guide](https://www.braintrust.dev/docs/instrument) for full details on tracing","type":"string"},"span_parents":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]},"tags":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]}}}},"realtime_state":{"type":"on","minimum_xact_id":"1000197472074645319","read_bytes":0,"actual_xact_id":"1000197472074645319"},"freshness_state":{"last_processed_xact_id":"1000197472074645319","last_considered_xact_id":"1000197472074645319"},"warnings":[]} \ No newline at end of file +{"data":[{"_async_scoring_state":null,"_pagination_key":"p07680251147406540810","_xact_id":"1000197783585166068","audit_data":[{"_xact_id":"1000197783585166068","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":{"span_origin":{"instrumentation":{"name":"braintrust-java"},"name":"braintrust.sdk.java","version":"0.3.22-ca5ce6d-DIRTY"}},"created":"2026-08-31T17:36:53.782Z","error":null,"expected":null,"facets":null,"id":"2276d7bea8387779","input":null,"is_root":true,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","client":"langchain1.14-openai"},"metrics":{"end":1788197814.9799528,"start":1788197813.782393},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":null,"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"e44c600cc874393cf3747c6e316147fd","scores":null,"span_attributes":{"name":"attachments","type":"task"},"span_id":"2276d7bea8387779","span_parents":null,"tags":null},{"_async_scoring_state":null,"_pagination_key":"p07680251147406540804","_xact_id":"1000197783585166068","audit_data":[{"_xact_id":"1000197783585166068","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":{"span_origin":{"instrumentation":{"name":"braintrust-java"},"name":"braintrust.sdk.java","version":"0.3.22-ca5ce6d-DIRTY"}},"created":"2026-08-31T17:36:53.796Z","error":null,"expected":null,"facets":null,"id":"642a3542c10be4b3","input":[{"content":"you are a helpful assistant","role":"system"},{"content":[{"text":"Briefly describe these attachments","type":"text"},{"image_url":{"url":{"content_type":"image/png","filename":"attachment.png","key":"0e2c7726-dbe9-405f-be91-1fadc2041864","type":"braintrust_attachment"}},"type":"image_url"},{"file":{"file_data":{"content_type":"application/pdf","filename":"attachment.pdf","key":"44c7eeed-3192-4b74-a94b-f031efd0b67e","type":"braintrust_attachment"},"filename":"blank.pdf"},"type":"file"}],"role":"user"}],"is_root":false,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","model":"gpt-4o","provider":"openai","request_base_uri":"http://localhost:52408","request_method":"POST","request_path":"chat/completions","response_id":"chatcmpl-EJ0EAvDqEI1dhssU5I6wvdZjCPifN","stream":false,"temperature":0,"x-request-id":"req_08fe8dae55224bfea6474e9cd3e1f12d"},"metrics":{"completion_reasoning_tokens":0,"completion_tokens":36,"end":1788197814.978368,"estimated_cost":0.0015975000000000002,"prompt_cached_tokens":0,"prompt_tokens":495,"start":1788197813.796235,"tokens":531},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":[{"finish_reason":"stop","index":0,"logprobs":null,"message":{"annotations":[],"content":"The first attachment is a solid red square, likely an image file. The second attachment is a PDF file named \"blank.pdf,\" which appears to contain no readable content or text.","refusal":null,"role":"assistant"}}],"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"e44c600cc874393cf3747c6e316147fd","scores":null,"span_attributes":{"name":"Chat Completion","type":"llm"},"span_id":"642a3542c10be4b3","span_parents":["2276d7bea8387779"],"tags":null}],"schema":{"type":"array","items":{"type":"object","properties":{"_async_scoring_state":{},"_pagination_key":{"description":"A stable, time-ordered key that can be used to paginate over project logs events. This field is auto-generated by Braintrust and only exists in Brainstore.","type":["string","null"]},"_xact_id":{"description":"The transaction id of an event is unique to the network operation that processed the event insertion. Transaction ids are monotonically increasing over time and can be used to retrieve a versioned snapshot of the project logs (see the `version` parameter)","type":"string"},"audit_data":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"classifications":{"anyOf":[{"additionalProperties":{"items":{"additionalProperties":false,"properties":{"confidence":{"description":"Optional confidence score for the classification","type":["number","null"]},"id":{"description":"Stable classification identifier","type":"string"},"label":{"description":"Original label of the classification item, which is useful for search and indexing purposes","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"type":"object"},{"type":"null"}],"description":"Optional metadata associated with the classification"},"source":{"anyOf":[{"anyOf":[{"additionalProperties":false,"properties":{"id":{"type":"string"},"type":{"const":"function","type":"string"},"version":{"description":"The version of the function","type":"string"}},"required":["type","id"],"type":"object"},{"additionalProperties":false,"properties":{"function_type":{"default":"scorer","description":"The type of global function. Defaults to 'scorer'.","enum":["llm","scorer","task","tool","custom_view","preprocessor","facet","classifier","tag","parameters","sandbox"],"type":"string"},"name":{"type":"string"},"type":{"const":"global","type":"string"}},"required":["type","name"],"type":"object"}]},{"type":"null"}],"description":"Optional function identifier that produced the classification"}},"required":["id"],"type":"object"},"type":"array"},"properties":{},"type":"object"},{"type":"null"}]},"comments":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"context":{"anyOf":[{"additionalProperties":{},"properties":{"caller_filename":{"description":"Name of the file in code where the project logs event was created","type":["string","null"]},"caller_functionname":{"description":"The function in code which created the project logs event","type":["string","null"]},"caller_lineno":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"created":{"description":"The timestamp the project logs event was created","format":"date-time","type":"string"},"error":{"description":"The error that occurred, if any."},"expected":{"description":"The ground truth value (an arbitrary, JSON serializable object) that you'd compare to `output` to determine if your `output` value is correct or not. Braintrust currently does not compare `output` to `expected` for you, since there are so many different ways to do that correctly. Instead, these values are just used to help you navigate while digging into analyses. However, we may later use these values to re-score outputs or fine-tune your models."},"facets":{"anyOf":[{"additionalProperties":{"type":["string","null"]},"properties":{},"type":"object"},{"type":"null"}]},"id":{"description":"A unique identifier for the project logs event. If you don't provide one, Braintrust will generate one for you","type":"string"},"input":{"description":"The arguments that uniquely define a user input (an arbitrary, JSON serializable object)."},"is_root":{"description":"Whether this span is a root span","type":["boolean","null"]},"log_id":{"const":"g","description":"A literal 'g' which identifies the log as a project log","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"properties":{"model":{"description":"The model used for this example","type":["string","null"]}},"type":"object"},{"type":"null"}]},"metrics":{"anyOf":[{"additionalProperties":{"type":"number"},"properties":{"caller_filename":{"description":"This metric is deprecated"},"caller_functionname":{"description":"This metric is deprecated"},"caller_lineno":{"description":"This metric is deprecated"},"completion_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"end":{"description":"A unix timestamp recording when the section of code which produced the project logs event finished","type":["number","null"]},"prompt_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"start":{"description":"A unix timestamp recording when the section of code which produced the project logs event started","type":["number","null"]},"tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"org_id":{"description":"Unique id for the organization that the project belongs under","format":"uuid","type":"string"},"origin":{"anyOf":[{"description":"Reference to the original object and event this was copied from.","properties":{"_xact_id":{"description":"Transaction ID of the original event.","type":["string","null"]},"created":{"description":"Created timestamp of the original event. Used to help sort in the UI","type":["string","null"]},"id":{"description":"ID of the original event.","type":"string"},"object_id":{"description":"ID of the object the event is originating from.","format":"uuid","type":"string"},"object_type":{"description":"Type of the object the event is originating from.","enum":["project_logs","experiment","dataset","prompt","function","prompt_session"],"type":"string"}},"required":["object_type","object_id","id"],"type":"object"},{"type":"null"}]},"output":{"description":"The output of your application, including post-processing (an arbitrary, JSON serializable object), that allows you to determine whether the result is correct or not. For example, in an app that generates SQL queries, the `output` should be the _result_ of the SQL query generated by the model, not the query itself, because there may be multiple valid queries that answer a single question."},"project_id":{"description":"Unique identifier for the project","format":"uuid","type":"string"},"root_span_id":{"description":"A unique identifier for the trace this project logs event belongs to","type":"string"},"scores":{"anyOf":[{"additionalProperties":{"anyOf":[{"maximum":1,"minimum":0,"type":"number"},{"type":"null"}]},"properties":{},"type":"object"},{"type":"null"}]},"span_attributes":{"anyOf":[{"additionalProperties":{},"description":"Human-identifying attributes of the span, such as name, type, etc.","properties":{"name":{"description":"Name of the span, for display purposes only","type":["string","null"]},"purpose":{"anyOf":[{"enum":["scorer"],"type":"string"},{"type":"null"}]},"type":{"anyOf":[{"enum":["llm","score","function","eval","task","tool","automation","facet","preprocessor","classifier","review"],"type":"string"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"span_id":{"description":"A unique identifier used to link different project logs events together as part of a full trace. See the [tracing guide](https://www.braintrust.dev/docs/instrument) for full details on tracing","type":"string"},"span_parents":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]},"tags":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]}}}},"realtime_state":{"type":"on","minimum_xact_id":"1000197783589884487","read_bytes":0,"actual_xact_id":"1000197783589884487"},"freshness_state":{"last_processed_xact_id":"1000197783589884487","last_considered_xact_id":"1000197783589884487"},"warnings":[]} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-aa3438940363.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-aa3438940363.json deleted file mode 100644 index 36dd3475..00000000 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-aa3438940363.json +++ /dev/null @@ -1 +0,0 @@ -{"data":[{"_async_scoring_state":null,"_pagination_key":"p07659835849527656450","_xact_id":"1000197472072442086","audit_data":[{"_xact_id":"1000197472072442086","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":null,"created":"2026-07-07T17:15:08.538Z","error":null,"expected":null,"facets":null,"id":"fca529b0e4f6345e","input":null,"is_root":true,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","client":"anthropic"},"metrics":{"end":1783444509.3254457,"start":1783444508.538914},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":null,"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"62a5b0936306f8c14b811e64d1c58628","scores":null,"span_attributes":{"name":"streaming","type":"task"},"span_id":"fca529b0e4f6345e","span_parents":null,"tags":null},{"_async_scoring_state":null,"_pagination_key":"p07659835849527656454","_xact_id":"1000197472072442086","audit_data":[{"_xact_id":"1000197472072442086","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":null,"created":"2026-07-07T17:15:08.582Z","error":null,"expected":null,"facets":null,"id":"b3e01955ea466812","input":[{"content":"Count from 1 to 5.","role":"user"},{"content":"You are a helpful assistant.","role":"system"}],"is_root":false,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","model":"claude-haiku-4-5-20251001","provider":"anthropic","request_base_uri":"","request_method":"POST","request_path":"v1/messages"},"metrics":{"completion_tokens":13,"end":1783444509.325361,"estimated_cost":0.000087,"prompt_cache_creation_1h_tokens":0,"prompt_cache_creation_5m_tokens":0,"prompt_cached_tokens":0,"prompt_tokens":22,"start":1783444508.5827656,"time_to_first_token":0.007280584,"tokens":35},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":{"content":[{"citations":null,"text":"1\n2\n3\n4\n5","type":"text","valid":true}],"id":"msg_011Cco5FgrN2n3xH4yoPNRmL","model":"claude-haiku-4-5-20251001","role":"assistant","stop_details":null,"stop_reason":"end_turn","stop_sequence":null,"type":"message","usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":0,"valid":true},"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"inference_geo":"not_available","input_tokens":22,"output_tokens":13,"server_tool_use":null,"service_tier":"standard","valid":true},"valid":true},"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"62a5b0936306f8c14b811e64d1c58628","scores":null,"span_attributes":{"name":"anthropic.messages.stream","type":"llm"},"span_id":"b3e01955ea466812","span_parents":["fca529b0e4f6345e"],"tags":null}],"schema":{"type":"array","items":{"type":"object","properties":{"_async_scoring_state":{},"_pagination_key":{"description":"A stable, time-ordered key that can be used to paginate over project logs events. This field is auto-generated by Braintrust and only exists in Brainstore.","type":["string","null"]},"_xact_id":{"description":"The transaction id of an event is unique to the network operation that processed the event insertion. Transaction ids are monotonically increasing over time and can be used to retrieve a versioned snapshot of the project logs (see the `version` parameter)","type":"string"},"audit_data":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"classifications":{"anyOf":[{"additionalProperties":{"items":{"additionalProperties":false,"properties":{"confidence":{"description":"Optional confidence score for the classification","type":["number","null"]},"id":{"description":"Stable classification identifier","type":"string"},"label":{"description":"Original label of the classification item, which is useful for search and indexing purposes","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"type":"object"},{"type":"null"}],"description":"Optional metadata associated with the classification"},"source":{"anyOf":[{"anyOf":[{"additionalProperties":false,"properties":{"id":{"type":"string"},"type":{"const":"function","type":"string"},"version":{"description":"The version of the function","type":"string"}},"required":["type","id"],"type":"object"},{"additionalProperties":false,"properties":{"function_type":{"default":"scorer","description":"The type of global function. Defaults to 'scorer'.","enum":["llm","scorer","task","tool","custom_view","preprocessor","facet","classifier","tag","parameters","sandbox"],"type":"string"},"name":{"type":"string"},"type":{"const":"global","type":"string"}},"required":["type","name"],"type":"object"}]},{"type":"null"}],"description":"Optional function identifier that produced the classification"}},"required":["id"],"type":"object"},"type":"array"},"properties":{},"type":"object"},{"type":"null"}]},"comments":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"context":{"anyOf":[{"additionalProperties":{},"properties":{"caller_filename":{"description":"Name of the file in code where the project logs event was created","type":["string","null"]},"caller_functionname":{"description":"The function in code which created the project logs event","type":["string","null"]},"caller_lineno":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"created":{"description":"The timestamp the project logs event was created","format":"date-time","type":"string"},"error":{"description":"The error that occurred, if any."},"expected":{"description":"The ground truth value (an arbitrary, JSON serializable object) that you'd compare to `output` to determine if your `output` value is correct or not. Braintrust currently does not compare `output` to `expected` for you, since there are so many different ways to do that correctly. Instead, these values are just used to help you navigate while digging into analyses. However, we may later use these values to re-score outputs or fine-tune your models."},"facets":{"anyOf":[{"additionalProperties":{"type":["string","null"]},"properties":{},"type":"object"},{"type":"null"}]},"id":{"description":"A unique identifier for the project logs event. If you don't provide one, Braintrust will generate one for you","type":"string"},"input":{"description":"The arguments that uniquely define a user input (an arbitrary, JSON serializable object)."},"is_root":{"description":"Whether this span is a root span","type":["boolean","null"]},"log_id":{"const":"g","description":"A literal 'g' which identifies the log as a project log","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"properties":{"model":{"description":"The model used for this example","type":["string","null"]}},"type":"object"},{"type":"null"}]},"metrics":{"anyOf":[{"additionalProperties":{"type":"number"},"properties":{"caller_filename":{"description":"This metric is deprecated"},"caller_functionname":{"description":"This metric is deprecated"},"caller_lineno":{"description":"This metric is deprecated"},"completion_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"end":{"description":"A unix timestamp recording when the section of code which produced the project logs event finished","type":["number","null"]},"prompt_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"start":{"description":"A unix timestamp recording when the section of code which produced the project logs event started","type":["number","null"]},"tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"org_id":{"description":"Unique id for the organization that the project belongs under","format":"uuid","type":"string"},"origin":{"anyOf":[{"description":"Reference to the original object and event this was copied from.","properties":{"_xact_id":{"description":"Transaction ID of the original event.","type":["string","null"]},"created":{"description":"Created timestamp of the original event. Used to help sort in the UI","type":["string","null"]},"id":{"description":"ID of the original event.","type":"string"},"object_id":{"description":"ID of the object the event is originating from.","format":"uuid","type":"string"},"object_type":{"description":"Type of the object the event is originating from.","enum":["project_logs","experiment","dataset","prompt","function","prompt_session"],"type":"string"}},"required":["object_type","object_id","id"],"type":"object"},{"type":"null"}]},"output":{"description":"The output of your application, including post-processing (an arbitrary, JSON serializable object), that allows you to determine whether the result is correct or not. For example, in an app that generates SQL queries, the `output` should be the _result_ of the SQL query generated by the model, not the query itself, because there may be multiple valid queries that answer a single question."},"project_id":{"description":"Unique identifier for the project","format":"uuid","type":"string"},"root_span_id":{"description":"A unique identifier for the trace this project logs event belongs to","type":"string"},"scores":{"anyOf":[{"additionalProperties":{"anyOf":[{"maximum":1,"minimum":0,"type":"number"},{"type":"null"}]},"properties":{},"type":"object"},{"type":"null"}]},"span_attributes":{"anyOf":[{"additionalProperties":{},"description":"Human-identifying attributes of the span, such as name, type, etc.","properties":{"name":{"description":"Name of the span, for display purposes only","type":["string","null"]},"purpose":{"anyOf":[{"enum":["scorer"],"type":"string"},{"type":"null"}]},"type":{"anyOf":[{"enum":["llm","score","function","eval","task","tool","automation","facet","preprocessor","classifier","review"],"type":"string"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"span_id":{"description":"A unique identifier used to link different project logs events together as part of a full trace. See the [tracing guide](https://www.braintrust.dev/docs/instrument) for full details on tracing","type":"string"},"span_parents":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]},"tags":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]}}}},"realtime_state":{"type":"on","minimum_xact_id":"1000197472073890576","read_bytes":4909,"actual_xact_id":"1000197472074645319"},"freshness_state":{"last_processed_xact_id":"1000197472073890576","last_considered_xact_id":"1000197472074645319"},"warnings":[]} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-3ca4079673e6.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-ab3fe8f58122.json similarity index 70% rename from test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-3ca4079673e6.json rename to test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-ab3fe8f58122.json index c231c0b5..83c48ede 100644 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-3ca4079673e6.json +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-ab3fe8f58122.json @@ -1 +1 @@ -{"data":[{"_async_scoring_state":null,"_pagination_key":"p07659835849527656448","_xact_id":"1000197472072442086","audit_data":[{"_xact_id":"1000197472072442086","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":null,"created":"2026-07-07T17:15:04.687Z","error":null,"expected":null,"facets":null,"id":"b919c6f1ab1830f7","input":null,"is_root":true,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","client":"bedrock"},"metrics":{"end":1783444506.9423406,"start":1783444504.687135},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":null,"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"3027b2781836d82c98da2250b5f45406","scores":null,"span_attributes":{"name":"attachments","type":"task"},"span_id":"b919c6f1ab1830f7","span_parents":null,"tags":null},{"_async_scoring_state":null,"_pagination_key":"p07659835849527656452","_xact_id":"1000197472072442086","audit_data":[{"_xact_id":"1000197472072442086","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":null,"created":"2026-07-07T17:15:04.694Z","error":null,"expected":null,"facets":null,"id":"f2802bc699edf6f3","input":[{"content":[{"text":"Briefly describe these attachments","type":"text"},{"image":{"format":"png","source":{"bytes":{"content_type":"image/png","filename":"attachment.png","key":"7912a90d-999d-4b02-b3dc-8b27a8defaf0","type":"braintrust_attachment"}}},"type":"image"},{"document":{"format":"pdf","name":"blank","source":{"bytes":{"content_type":"application/pdf","filename":"attachment.pdf","key":"5b34ae19-e928-4301-a856-5ca2b106cc15","type":"braintrust_attachment"}}}}],"role":"user"}],"is_root":false,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","endpoint":"converse","model":"us.amazon.nova-lite-v1:0","provider":"bedrock","request_base_uri":"http://localhost","request_method":"POST","request_path":"model/us.amazon.nova-lite-v1%3A0/converse"},"metrics":{"completion_tokens":32,"end":1783444506.939767,"estimated_cost":0.00013632,"prompt_tokens":2144,"start":1783444504.694009,"tokens":2176},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":[{"content":[{"text":"The first image shows a red background with no visible content or objects. The second image is a blank white background, also devoid of any discernible content.","type":"text"}],"role":"assistant"}],"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"3027b2781836d82c98da2250b5f45406","scores":null,"span_attributes":{"name":"bedrock.converse","type":"llm"},"span_id":"f2802bc699edf6f3","span_parents":["b919c6f1ab1830f7"],"tags":null}],"schema":{"type":"array","items":{"type":"object","properties":{"_async_scoring_state":{},"_pagination_key":{"description":"A stable, time-ordered key that can be used to paginate over project logs events. This field is auto-generated by Braintrust and only exists in Brainstore.","type":["string","null"]},"_xact_id":{"description":"The transaction id of an event is unique to the network operation that processed the event insertion. Transaction ids are monotonically increasing over time and can be used to retrieve a versioned snapshot of the project logs (see the `version` parameter)","type":"string"},"audit_data":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"classifications":{"anyOf":[{"additionalProperties":{"items":{"additionalProperties":false,"properties":{"confidence":{"description":"Optional confidence score for the classification","type":["number","null"]},"id":{"description":"Stable classification identifier","type":"string"},"label":{"description":"Original label of the classification item, which is useful for search and indexing purposes","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"type":"object"},{"type":"null"}],"description":"Optional metadata associated with the classification"},"source":{"anyOf":[{"anyOf":[{"additionalProperties":false,"properties":{"id":{"type":"string"},"type":{"const":"function","type":"string"},"version":{"description":"The version of the function","type":"string"}},"required":["type","id"],"type":"object"},{"additionalProperties":false,"properties":{"function_type":{"default":"scorer","description":"The type of global function. Defaults to 'scorer'.","enum":["llm","scorer","task","tool","custom_view","preprocessor","facet","classifier","tag","parameters","sandbox"],"type":"string"},"name":{"type":"string"},"type":{"const":"global","type":"string"}},"required":["type","name"],"type":"object"}]},{"type":"null"}],"description":"Optional function identifier that produced the classification"}},"required":["id"],"type":"object"},"type":"array"},"properties":{},"type":"object"},{"type":"null"}]},"comments":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"context":{"anyOf":[{"additionalProperties":{},"properties":{"caller_filename":{"description":"Name of the file in code where the project logs event was created","type":["string","null"]},"caller_functionname":{"description":"The function in code which created the project logs event","type":["string","null"]},"caller_lineno":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"created":{"description":"The timestamp the project logs event was created","format":"date-time","type":"string"},"error":{"description":"The error that occurred, if any."},"expected":{"description":"The ground truth value (an arbitrary, JSON serializable object) that you'd compare to `output` to determine if your `output` value is correct or not. Braintrust currently does not compare `output` to `expected` for you, since there are so many different ways to do that correctly. Instead, these values are just used to help you navigate while digging into analyses. However, we may later use these values to re-score outputs or fine-tune your models."},"facets":{"anyOf":[{"additionalProperties":{"type":["string","null"]},"properties":{},"type":"object"},{"type":"null"}]},"id":{"description":"A unique identifier for the project logs event. If you don't provide one, Braintrust will generate one for you","type":"string"},"input":{"description":"The arguments that uniquely define a user input (an arbitrary, JSON serializable object)."},"is_root":{"description":"Whether this span is a root span","type":["boolean","null"]},"log_id":{"const":"g","description":"A literal 'g' which identifies the log as a project log","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"properties":{"model":{"description":"The model used for this example","type":["string","null"]}},"type":"object"},{"type":"null"}]},"metrics":{"anyOf":[{"additionalProperties":{"type":"number"},"properties":{"caller_filename":{"description":"This metric is deprecated"},"caller_functionname":{"description":"This metric is deprecated"},"caller_lineno":{"description":"This metric is deprecated"},"completion_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"end":{"description":"A unix timestamp recording when the section of code which produced the project logs event finished","type":["number","null"]},"prompt_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"start":{"description":"A unix timestamp recording when the section of code which produced the project logs event started","type":["number","null"]},"tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"org_id":{"description":"Unique id for the organization that the project belongs under","format":"uuid","type":"string"},"origin":{"anyOf":[{"description":"Reference to the original object and event this was copied from.","properties":{"_xact_id":{"description":"Transaction ID of the original event.","type":["string","null"]},"created":{"description":"Created timestamp of the original event. Used to help sort in the UI","type":["string","null"]},"id":{"description":"ID of the original event.","type":"string"},"object_id":{"description":"ID of the object the event is originating from.","format":"uuid","type":"string"},"object_type":{"description":"Type of the object the event is originating from.","enum":["project_logs","experiment","dataset","prompt","function","prompt_session"],"type":"string"}},"required":["object_type","object_id","id"],"type":"object"},{"type":"null"}]},"output":{"description":"The output of your application, including post-processing (an arbitrary, JSON serializable object), that allows you to determine whether the result is correct or not. For example, in an app that generates SQL queries, the `output` should be the _result_ of the SQL query generated by the model, not the query itself, because there may be multiple valid queries that answer a single question."},"project_id":{"description":"Unique identifier for the project","format":"uuid","type":"string"},"root_span_id":{"description":"A unique identifier for the trace this project logs event belongs to","type":"string"},"scores":{"anyOf":[{"additionalProperties":{"anyOf":[{"maximum":1,"minimum":0,"type":"number"},{"type":"null"}]},"properties":{},"type":"object"},{"type":"null"}]},"span_attributes":{"anyOf":[{"additionalProperties":{},"description":"Human-identifying attributes of the span, such as name, type, etc.","properties":{"name":{"description":"Name of the span, for display purposes only","type":["string","null"]},"purpose":{"anyOf":[{"enum":["scorer"],"type":"string"},{"type":"null"}]},"type":{"anyOf":[{"enum":["llm","score","function","eval","task","tool","automation","facet","preprocessor","classifier","review"],"type":"string"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"span_id":{"description":"A unique identifier used to link different project logs events together as part of a full trace. See the [tracing guide](https://www.braintrust.dev/docs/instrument) for full details on tracing","type":"string"},"span_parents":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]},"tags":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]}}}},"realtime_state":{"type":"on","minimum_xact_id":"1000197472073890576","read_bytes":4909,"actual_xact_id":"1000197472074645319"},"freshness_state":{"last_processed_xact_id":"1000197472073890576","last_considered_xact_id":"1000197472074645319"},"warnings":[]} \ No newline at end of file +{"data":[{"_async_scoring_state":null,"_pagination_key":"p07680251263181783065","_xact_id":"1000197783586932658","audit_data":[{"_xact_id":"1000197783586932658","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":{"span_origin":{"instrumentation":{"name":"braintrust-java"},"name":"braintrust.sdk.java","version":"0.3.22-ca5ce6d-DIRTY"}},"created":"2026-08-31T17:37:20.750Z","error":null,"expected":null,"facets":null,"id":"e40dce16de99d38f","input":null,"is_root":true,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","client":"springai2-openai"},"metrics":{"end":1788197841.4910648,"start":1788197840.750724},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":null,"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"2190691dc03c6a9ed2668e8594035678","scores":null,"span_attributes":{"name":"streaming_multiple_choices","type":"task"},"span_id":"e40dce16de99d38f","span_parents":null,"tags":null},{"_async_scoring_state":null,"_pagination_key":"p07680251263181783050","_xact_id":"1000197783586932658","audit_data":[{"_xact_id":"1000197783586932658","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":{"span_origin":{"instrumentation":{"name":"braintrust-java"},"name":"braintrust.sdk.java","version":"0.3.22-ca5ce6d-DIRTY"}},"created":"2026-08-31T17:37:20.775Z","error":null,"expected":null,"facets":null,"id":"36827034262c0b4e","input":[{"content":"you are a concise assistant","role":"system"},{"content":"Say hello in one word.","role":"user"}],"is_root":false,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","max_tokens":100,"model":"gpt-4o-mini","n":2,"provider":"openai","request_base_uri":"http://localhost:52408","request_method":"POST","request_path":"chat/completions","response_id":"chatcmpl-EJ0Ebvt1BzwV3UmjspTfuDl3JfhNs","stream":true,"stream_options":{"include_obfuscation":false,"include_usage":true},"temperature":0,"x-request-id":"req_61004a0f071e4a3cb2861cdebdf50c2a"},"metrics":{"completion_reasoning_tokens":0,"completion_tokens":4,"end":1788197841.4906812,"estimated_cost":0.0000057,"prompt_cached_tokens":0,"prompt_tokens":22,"start":1788197840.775681,"time_to_first_token":0.00739375,"tokens":26},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":[{"finish_reason":"stop","index":0,"logprobs":null,"message":{"content":"Hello!","refusal":null,"role":"assistant","tool_calls":[]}},{"finish_reason":"stop","index":1,"logprobs":null,"message":{"content":"Hello!","refusal":null,"role":"assistant","tool_calls":[]}}],"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"2190691dc03c6a9ed2668e8594035678","scores":null,"span_attributes":{"name":"Chat Completion","type":"llm"},"span_id":"36827034262c0b4e","span_parents":["e40dce16de99d38f"],"tags":null}],"schema":{"type":"array","items":{"type":"object","properties":{"_async_scoring_state":{},"_pagination_key":{"description":"A stable, time-ordered key that can be used to paginate over project logs events. This field is auto-generated by Braintrust and only exists in Brainstore.","type":["string","null"]},"_xact_id":{"description":"The transaction id of an event is unique to the network operation that processed the event insertion. Transaction ids are monotonically increasing over time and can be used to retrieve a versioned snapshot of the project logs (see the `version` parameter)","type":"string"},"audit_data":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"classifications":{"anyOf":[{"additionalProperties":{"items":{"additionalProperties":false,"properties":{"confidence":{"description":"Optional confidence score for the classification","type":["number","null"]},"id":{"description":"Stable classification identifier","type":"string"},"label":{"description":"Original label of the classification item, which is useful for search and indexing purposes","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"type":"object"},{"type":"null"}],"description":"Optional metadata associated with the classification"},"source":{"anyOf":[{"anyOf":[{"additionalProperties":false,"properties":{"id":{"type":"string"},"type":{"const":"function","type":"string"},"version":{"description":"The version of the function","type":"string"}},"required":["type","id"],"type":"object"},{"additionalProperties":false,"properties":{"function_type":{"default":"scorer","description":"The type of global function. Defaults to 'scorer'.","enum":["llm","scorer","task","tool","custom_view","preprocessor","facet","classifier","tag","parameters","sandbox"],"type":"string"},"name":{"type":"string"},"type":{"const":"global","type":"string"}},"required":["type","name"],"type":"object"}]},{"type":"null"}],"description":"Optional function identifier that produced the classification"}},"required":["id"],"type":"object"},"type":"array"},"properties":{},"type":"object"},{"type":"null"}]},"comments":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"context":{"anyOf":[{"additionalProperties":{},"properties":{"caller_filename":{"description":"Name of the file in code where the project logs event was created","type":["string","null"]},"caller_functionname":{"description":"The function in code which created the project logs event","type":["string","null"]},"caller_lineno":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"created":{"description":"The timestamp the project logs event was created","format":"date-time","type":"string"},"error":{"description":"The error that occurred, if any."},"expected":{"description":"The ground truth value (an arbitrary, JSON serializable object) that you'd compare to `output` to determine if your `output` value is correct or not. Braintrust currently does not compare `output` to `expected` for you, since there are so many different ways to do that correctly. Instead, these values are just used to help you navigate while digging into analyses. However, we may later use these values to re-score outputs or fine-tune your models."},"facets":{"anyOf":[{"additionalProperties":{"type":["string","null"]},"properties":{},"type":"object"},{"type":"null"}]},"id":{"description":"A unique identifier for the project logs event. If you don't provide one, Braintrust will generate one for you","type":"string"},"input":{"description":"The arguments that uniquely define a user input (an arbitrary, JSON serializable object)."},"is_root":{"description":"Whether this span is a root span","type":["boolean","null"]},"log_id":{"const":"g","description":"A literal 'g' which identifies the log as a project log","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"properties":{"model":{"description":"The model used for this example","type":["string","null"]}},"type":"object"},{"type":"null"}]},"metrics":{"anyOf":[{"additionalProperties":{"type":"number"},"properties":{"caller_filename":{"description":"This metric is deprecated"},"caller_functionname":{"description":"This metric is deprecated"},"caller_lineno":{"description":"This metric is deprecated"},"completion_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"end":{"description":"A unix timestamp recording when the section of code which produced the project logs event finished","type":["number","null"]},"prompt_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"start":{"description":"A unix timestamp recording when the section of code which produced the project logs event started","type":["number","null"]},"tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"org_id":{"description":"Unique id for the organization that the project belongs under","format":"uuid","type":"string"},"origin":{"anyOf":[{"description":"Reference to the original object and event this was copied from.","properties":{"_xact_id":{"description":"Transaction ID of the original event.","type":["string","null"]},"created":{"description":"Created timestamp of the original event. Used to help sort in the UI","type":["string","null"]},"id":{"description":"ID of the original event.","type":"string"},"object_id":{"description":"ID of the object the event is originating from.","format":"uuid","type":"string"},"object_type":{"description":"Type of the object the event is originating from.","enum":["project_logs","experiment","dataset","prompt","function","prompt_session"],"type":"string"}},"required":["object_type","object_id","id"],"type":"object"},{"type":"null"}]},"output":{"description":"The output of your application, including post-processing (an arbitrary, JSON serializable object), that allows you to determine whether the result is correct or not. For example, in an app that generates SQL queries, the `output` should be the _result_ of the SQL query generated by the model, not the query itself, because there may be multiple valid queries that answer a single question."},"project_id":{"description":"Unique identifier for the project","format":"uuid","type":"string"},"root_span_id":{"description":"A unique identifier for the trace this project logs event belongs to","type":"string"},"scores":{"anyOf":[{"additionalProperties":{"anyOf":[{"maximum":1,"minimum":0,"type":"number"},{"type":"null"}]},"properties":{},"type":"object"},{"type":"null"}]},"span_attributes":{"anyOf":[{"additionalProperties":{},"description":"Human-identifying attributes of the span, such as name, type, etc.","properties":{"name":{"description":"Name of the span, for display purposes only","type":["string","null"]},"purpose":{"anyOf":[{"enum":["scorer"],"type":"string"},{"type":"null"}]},"type":{"anyOf":[{"enum":["llm","score","function","eval","task","tool","automation","facet","preprocessor","classifier","review"],"type":"string"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"span_id":{"description":"A unique identifier used to link different project logs events together as part of a full trace. See the [tracing guide](https://www.braintrust.dev/docs/instrument) for full details on tracing","type":"string"},"span_parents":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]},"tags":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]}}}},"realtime_state":{"type":"on","minimum_xact_id":"1000197783589884487","read_bytes":0,"actual_xact_id":"1000197783589884487"},"freshness_state":{"last_processed_xact_id":"1000197783589884487","last_considered_xact_id":"1000197783589884487"},"warnings":[]} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-ac7f0143cfa3.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-ac7f0143cfa3.json deleted file mode 100644 index e36ee459..00000000 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-ac7f0143cfa3.json +++ /dev/null @@ -1 +0,0 @@ -{"data":[{"_async_scoring_state":null,"_pagination_key":"p07675102016880246784","_xact_id":"1000197705015669512","audit_data":[{"_xact_id":"1000197705015669512","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":{"span_origin":{"instrumentation":{"name":"braintrust-java"},"name":"braintrust.sdk.java","version":"0.3.20-d570ae3-DIRTY"}},"created":"2026-08-17T20:35:36.261Z","error":null,"expected":null,"facets":null,"id":"ce7b9aea749ac037","input":null,"is_root":true,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","client":"openai"},"metrics":{"end":1786998940.0545812,"start":1786998936.261514},"org_id":"2732c14b-91d6-4629-901a-c06fcc0df441","origin":null,"output":null,"project_id":"946b2c8d-f5d4-4690-9491-d79e2857c995","root_span_id":"dd5aff9ba63499bef3904fed80e6bc82","scores":null,"span_attributes":{"name":"web_search","type":"task"},"span_id":"ce7b9aea749ac037","span_parents":null,"tags":null},{"_async_scoring_state":null,"_pagination_key":"p07675102016880246786","_xact_id":"1000197705015669512","audit_data":[{"_xact_id":"1000197705015669512","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":{"span_origin":{"instrumentation":{"name":"braintrust-java"},"name":"braintrust.sdk.java","version":"0.3.20-d570ae3-DIRTY"}},"created":"2026-08-17T20:35:36.515Z","error":null,"expected":null,"facets":null,"id":"54910acc2ade28ef","input":[{"content":"Search the web for a recent AI news headline and answer in one sentence.","role":"user"}],"is_root":false,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","model":"gpt-4o","provider":"openai","request_base_uri":"http://localhost:53703","request_method":"POST","request_path":"responses"},"metrics":{"completion_reasoning_tokens":0,"completion_tokens":73,"end":1786998940.0245836,"prompt_cached_tokens":0,"prompt_tokens":323,"start":1786998936.515887,"tokens":396},"org_id":"2732c14b-91d6-4629-901a-c06fcc0df441","origin":null,"output":[{"action":{"queries":["Search the web for a recent AI news headline and answer in one sentence."],"query":"Search the web for a recent AI news headline and answer in one sentence.","type":"search"},"id":"ws_0911b2daf2cc626d006a837099b31887d08d2d0269a6cd23de","status":"completed","type":"web_search_call"},{"content":[{"annotations":[{"end_index":332,"start_index":233,"title":"New York Post launches \"Hamilton\" AI chatbot","type":"url_citation","url":"https://www.axios.com/2026/08/11/new-york-post-hamilton-ai-chatbot?utm_source=openai"}],"logprobs":[],"text":"The New York Post Media Group has launched \"Hamilton,\" an AI chatbot designed to enhance personalized news experiences, marking the first collaboration between Google Cloud and a North American news outlet to support such a feature. ([axios.com](https://www.axios.com/2026/08/11/new-york-post-hamilton-ai-chatbot?utm_source=openai)) ","type":"output_text"}],"id":"msg_0911b2daf2cc626d006a83709ad25c87d0a02c9444c591bbb4","role":"assistant","status":"completed","type":"message"}],"project_id":"946b2c8d-f5d4-4690-9491-d79e2857c995","root_span_id":"dd5aff9ba63499bef3904fed80e6bc82","scores":null,"span_attributes":{"name":"responses","type":"llm"},"span_id":"54910acc2ade28ef","span_parents":["ce7b9aea749ac037"],"tags":null},{"_async_scoring_state":null,"_pagination_key":"p07675102016880246785","_xact_id":"1000197705015669512","audit_data":[{"_xact_id":"1000197705015669512","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":{"span_origin":{"instrumentation":{"name":"braintrust-java"},"name":"braintrust.sdk.java","version":"0.3.20-d570ae3-DIRTY"}},"created":"2026-08-17T20:35:40.023Z","error":null,"expected":null,"facets":null,"id":"55b1b6978ea3fefd","input":{"action":{"queries":["Search the web for a recent AI news headline and answer in one sentence."],"query":"Search the web for a recent AI news headline and answer in one sentence.","type":"search"}},"is_root":false,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","status":"completed","tool_id":"ws_0911b2daf2cc626d006a837099b31887d08d2d0269a6cd23de","tool_type":"web_search_call"},"metrics":{"end":1786998940.0232446,"start":1786998940.0230372},"org_id":"2732c14b-91d6-4629-901a-c06fcc0df441","origin":null,"output":{"status":"completed"},"project_id":"946b2c8d-f5d4-4690-9491-d79e2857c995","root_span_id":"dd5aff9ba63499bef3904fed80e6bc82","scores":null,"span_attributes":{"name":"web_search_call","type":"tool"},"span_id":"55b1b6978ea3fefd","span_parents":["54910acc2ade28ef"],"tags":null}],"schema":{"type":"array","items":{"type":"object","properties":{"_async_scoring_state":{},"_pagination_key":{"description":"A stable, time-ordered key that can be used to paginate over project logs events. This field is auto-generated by Braintrust and only exists in Brainstore.","type":["string","null"]},"_xact_id":{"description":"The transaction id of an event is unique to the network operation that processed the event insertion. Transaction ids are monotonically increasing over time and can be used to retrieve a versioned snapshot of the project logs (see the `version` parameter)","type":"string"},"audit_data":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"classifications":{"anyOf":[{"additionalProperties":{"items":{"additionalProperties":false,"properties":{"confidence":{"description":"Optional confidence score for the classification","type":["number","null"]},"id":{"description":"Stable classification identifier","type":"string"},"label":{"description":"Original label of the classification item, which is useful for search and indexing purposes","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"type":"object"},{"type":"null"}],"description":"Optional metadata associated with the classification"},"source":{"anyOf":[{"anyOf":[{"additionalProperties":false,"properties":{"id":{"type":"string"},"type":{"const":"function","type":"string"},"version":{"description":"The version of the function","type":"string"}},"required":["type","id"],"type":"object"},{"additionalProperties":false,"properties":{"function_type":{"default":"scorer","description":"The type of global function. Defaults to 'scorer'.","enum":["llm","scorer","task","tool","custom_view","preprocessor","facet","classifier","tag","parameters","sandbox"],"type":"string"},"name":{"type":"string"},"type":{"const":"global","type":"string"}},"required":["type","name"],"type":"object"}]},{"type":"null"}],"description":"Optional function identifier that produced the classification"}},"required":["id"],"type":"object"},"type":"array"},"properties":{},"type":"object"},{"type":"null"}]},"comments":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"context":{"anyOf":[{"additionalProperties":{},"properties":{"caller_filename":{"description":"Name of the file in code where the project logs event was created","type":["string","null"]},"caller_functionname":{"description":"The function in code which created the project logs event","type":["string","null"]},"caller_lineno":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"created":{"description":"The timestamp the project logs event was created","format":"date-time","type":"string"},"error":{"description":"The error that occurred, if any."},"expected":{"description":"The ground truth value (an arbitrary, JSON serializable object) that you'd compare to `output` to determine if your `output` value is correct or not. Braintrust currently does not compare `output` to `expected` for you, since there are so many different ways to do that correctly. Instead, these values are just used to help you navigate while digging into analyses. However, we may later use these values to re-score outputs or fine-tune your models."},"facets":{"anyOf":[{"additionalProperties":{"type":["string","null"]},"properties":{},"type":"object"},{"type":"null"}]},"id":{"description":"A unique identifier for the project logs event. If you don't provide one, Braintrust will generate one for you","type":"string"},"input":{"description":"The arguments that uniquely define a user input (an arbitrary, JSON serializable object)."},"is_root":{"description":"Whether this span is a root span","type":["boolean","null"]},"log_id":{"const":"g","description":"A literal 'g' which identifies the log as a project log","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"properties":{"model":{"description":"The model used for this example","type":["string","null"]}},"type":"object"},{"type":"null"}]},"metrics":{"anyOf":[{"additionalProperties":{"type":"number"},"properties":{"caller_filename":{"description":"This metric is deprecated"},"caller_functionname":{"description":"This metric is deprecated"},"caller_lineno":{"description":"This metric is deprecated"},"completion_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"end":{"description":"A unix timestamp recording when the section of code which produced the project logs event finished","type":["number","null"]},"prompt_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"start":{"description":"A unix timestamp recording when the section of code which produced the project logs event started","type":["number","null"]},"tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"org_id":{"description":"Unique id for the organization that the project belongs under","format":"uuid","type":"string"},"origin":{"anyOf":[{"description":"Reference to the original object and event this was copied from.","properties":{"_xact_id":{"description":"Transaction ID of the original event.","type":["string","null"]},"created":{"description":"Created timestamp of the original event. Used to help sort in the UI","type":["string","null"]},"id":{"description":"ID of the original event.","type":"string"},"object_id":{"description":"ID of the object the event is originating from.","format":"uuid","type":"string"},"object_type":{"description":"Type of the object the event is originating from.","enum":["project_logs","experiment","dataset","prompt","function","prompt_session"],"type":"string"}},"required":["object_type","object_id","id"],"type":"object"},{"type":"null"}]},"output":{"description":"The output of your application, including post-processing (an arbitrary, JSON serializable object), that allows you to determine whether the result is correct or not. For example, in an app that generates SQL queries, the `output` should be the _result_ of the SQL query generated by the model, not the query itself, because there may be multiple valid queries that answer a single question."},"project_id":{"description":"Unique identifier for the project","format":"uuid","type":"string"},"root_span_id":{"description":"A unique identifier for the trace this project logs event belongs to","type":"string"},"scores":{"anyOf":[{"additionalProperties":{"anyOf":[{"maximum":1,"minimum":0,"type":"number"},{"type":"null"}]},"properties":{},"type":"object"},{"type":"null"}]},"span_attributes":{"anyOf":[{"additionalProperties":{},"description":"Human-identifying attributes of the span, such as name, type, etc.","properties":{"name":{"description":"Name of the span, for display purposes only","type":["string","null"]},"purpose":{"anyOf":[{"enum":["scorer"],"type":"string"},{"type":"null"}]},"type":{"anyOf":[{"enum":["llm","score","function","eval","task","tool","automation","facet","preprocessor","classifier","review"],"type":"string"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"span_id":{"description":"A unique identifier used to link different project logs events together as part of a full trace. See the [tracing guide](https://www.braintrust.dev/docs/instrument) for full details on tracing","type":"string"},"span_parents":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]},"tags":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]}}}},"realtime_state":{"type":"on","minimum_xact_id":"1000197689209569701","read_bytes":3766,"actual_xact_id":"1000197705015669512"},"freshness_state":{"last_processed_xact_id":"1000197705015669512","last_considered_xact_id":"1000197705015669512"},"warnings":[]} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-b25ea8016ee2.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-b25ea8016ee2.json deleted file mode 100644 index 095bb35c..00000000 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-b25ea8016ee2.json +++ /dev/null @@ -1 +0,0 @@ -{"data":[{"_async_scoring_state":null,"_pagination_key":"p07663651388792373257","_xact_id":"1000197530292950886","audit_data":[{"_xact_id":"1000197530292950886","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":{"span_origin":{"instrumentation":{"name":"braintrust-java"},"name":"braintrust.sdk.java","version":"0.3.17-0155866-DIRTY"}},"created":"2026-07-18T00:01:21.846Z","error":null,"expected":null,"facets":null,"id":"16bbd5710538a6dc","input":null,"is_root":true,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","client":"springai2-anthropic"},"metrics":{"end":1784332882.3959382,"start":1784332881.846251},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":null,"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"17ee68fcd64417c315704900976933ea","scores":null,"span_attributes":{"name":"messages","type":"task"},"span_id":"16bbd5710538a6dc","span_parents":null,"tags":null},{"_async_scoring_state":null,"_pagination_key":"p07663651388792373251","_xact_id":"1000197530292950886","audit_data":[{"_xact_id":"1000197530292950886","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":{"span_origin":{"instrumentation":{"name":"braintrust-java"},"name":"braintrust.sdk.java","version":"0.3.17-0155866-DIRTY"}},"created":"2026-07-18T00:01:21.847Z","error":null,"expected":null,"facets":null,"id":"cd86a8ade7bb2cba","input":[{"content":"What is the capital of France?","role":"user"},{"content":"You are a helpful assistant.","role":"system"}],"is_root":false,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","model":"claude-haiku-4-5-20251001","provider":"anthropic","request_base_uri":"","request_method":"POST","request_path":"v1/messages"},"metrics":{"completion_tokens":10,"end":1784332882.3946826,"estimated_cost":0.00007000000000000001,"prompt_cache_creation_1h_tokens":0,"prompt_cache_creation_5m_tokens":0,"prompt_cached_tokens":0,"prompt_tokens":20,"start":1784332881.8471873,"tokens":30},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":{"content":[{"text":"The capital of France is Paris.","type":"text"}],"id":"msg_011Cd8YKWKBQt3WBG1wWmHA3","model":"claude-haiku-4-5-20251001","role":"assistant","stop_details":null,"stop_reason":"end_turn","stop_sequence":null,"type":"message","usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":0},"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"inference_geo":"not_available","input_tokens":20,"output_tokens":10,"service_tier":"standard"}},"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"17ee68fcd64417c315704900976933ea","scores":null,"span_attributes":{"name":"anthropic.messages.create","type":"llm"},"span_id":"cd86a8ade7bb2cba","span_parents":["16bbd5710538a6dc"],"tags":null}],"schema":{"type":"array","items":{"type":"object","properties":{"_async_scoring_state":{},"_pagination_key":{"description":"A stable, time-ordered key that can be used to paginate over project logs events. This field is auto-generated by Braintrust and only exists in Brainstore.","type":["string","null"]},"_xact_id":{"description":"The transaction id of an event is unique to the network operation that processed the event insertion. Transaction ids are monotonically increasing over time and can be used to retrieve a versioned snapshot of the project logs (see the `version` parameter)","type":"string"},"audit_data":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"classifications":{"anyOf":[{"additionalProperties":{"items":{"additionalProperties":false,"properties":{"confidence":{"description":"Optional confidence score for the classification","type":["number","null"]},"id":{"description":"Stable classification identifier","type":"string"},"label":{"description":"Original label of the classification item, which is useful for search and indexing purposes","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"type":"object"},{"type":"null"}],"description":"Optional metadata associated with the classification"},"source":{"anyOf":[{"anyOf":[{"additionalProperties":false,"properties":{"id":{"type":"string"},"type":{"const":"function","type":"string"},"version":{"description":"The version of the function","type":"string"}},"required":["type","id"],"type":"object"},{"additionalProperties":false,"properties":{"function_type":{"default":"scorer","description":"The type of global function. Defaults to 'scorer'.","enum":["llm","scorer","task","tool","custom_view","preprocessor","facet","classifier","tag","parameters","sandbox"],"type":"string"},"name":{"type":"string"},"type":{"const":"global","type":"string"}},"required":["type","name"],"type":"object"}]},{"type":"null"}],"description":"Optional function identifier that produced the classification"}},"required":["id"],"type":"object"},"type":"array"},"properties":{},"type":"object"},{"type":"null"}]},"comments":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"context":{"anyOf":[{"additionalProperties":{},"properties":{"caller_filename":{"description":"Name of the file in code where the project logs event was created","type":["string","null"]},"caller_functionname":{"description":"The function in code which created the project logs event","type":["string","null"]},"caller_lineno":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"created":{"description":"The timestamp the project logs event was created","format":"date-time","type":"string"},"error":{"description":"The error that occurred, if any."},"expected":{"description":"The ground truth value (an arbitrary, JSON serializable object) that you'd compare to `output` to determine if your `output` value is correct or not. Braintrust currently does not compare `output` to `expected` for you, since there are so many different ways to do that correctly. Instead, these values are just used to help you navigate while digging into analyses. However, we may later use these values to re-score outputs or fine-tune your models."},"facets":{"anyOf":[{"additionalProperties":{"type":["string","null"]},"properties":{},"type":"object"},{"type":"null"}]},"id":{"description":"A unique identifier for the project logs event. If you don't provide one, Braintrust will generate one for you","type":"string"},"input":{"description":"The arguments that uniquely define a user input (an arbitrary, JSON serializable object)."},"is_root":{"description":"Whether this span is a root span","type":["boolean","null"]},"log_id":{"const":"g","description":"A literal 'g' which identifies the log as a project log","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"properties":{"model":{"description":"The model used for this example","type":["string","null"]}},"type":"object"},{"type":"null"}]},"metrics":{"anyOf":[{"additionalProperties":{"type":"number"},"properties":{"caller_filename":{"description":"This metric is deprecated"},"caller_functionname":{"description":"This metric is deprecated"},"caller_lineno":{"description":"This metric is deprecated"},"completion_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"end":{"description":"A unix timestamp recording when the section of code which produced the project logs event finished","type":["number","null"]},"prompt_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"start":{"description":"A unix timestamp recording when the section of code which produced the project logs event started","type":["number","null"]},"tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"org_id":{"description":"Unique id for the organization that the project belongs under","format":"uuid","type":"string"},"origin":{"anyOf":[{"description":"Reference to the original object and event this was copied from.","properties":{"_xact_id":{"description":"Transaction ID of the original event.","type":["string","null"]},"created":{"description":"Created timestamp of the original event. Used to help sort in the UI","type":["string","null"]},"id":{"description":"ID of the original event.","type":"string"},"object_id":{"description":"ID of the object the event is originating from.","format":"uuid","type":"string"},"object_type":{"description":"Type of the object the event is originating from.","enum":["project_logs","experiment","dataset","prompt","function","prompt_session"],"type":"string"}},"required":["object_type","object_id","id"],"type":"object"},{"type":"null"}]},"output":{"description":"The output of your application, including post-processing (an arbitrary, JSON serializable object), that allows you to determine whether the result is correct or not. For example, in an app that generates SQL queries, the `output` should be the _result_ of the SQL query generated by the model, not the query itself, because there may be multiple valid queries that answer a single question."},"project_id":{"description":"Unique identifier for the project","format":"uuid","type":"string"},"root_span_id":{"description":"A unique identifier for the trace this project logs event belongs to","type":"string"},"scores":{"anyOf":[{"additionalProperties":{"anyOf":[{"maximum":1,"minimum":0,"type":"number"},{"type":"null"}]},"properties":{},"type":"object"},{"type":"null"}]},"span_attributes":{"anyOf":[{"additionalProperties":{},"description":"Human-identifying attributes of the span, such as name, type, etc.","properties":{"name":{"description":"Name of the span, for display purposes only","type":["string","null"]},"purpose":{"anyOf":[{"enum":["scorer"],"type":"string"},{"type":"null"}]},"type":{"anyOf":[{"enum":["llm","score","function","eval","task","tool","automation","facet","preprocessor","classifier","review"],"type":"string"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"span_id":{"description":"A unique identifier used to link different project logs events together as part of a full trace. See the [tracing guide](https://www.braintrust.dev/docs/instrument) for full details on tracing","type":"string"},"span_parents":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]},"tags":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]}}}},"realtime_state":{"type":"on","minimum_xact_id":"1000197530292950886","read_bytes":0,"actual_xact_id":"1000197530292950886"},"freshness_state":{"last_processed_xact_id":"1000197530292950886","last_considered_xact_id":"1000197530292950886"},"warnings":[]} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-b768e8177fa4.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-b768e8177fa4.json deleted file mode 100644 index 243d4661..00000000 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-b768e8177fa4.json +++ /dev/null @@ -1 +0,0 @@ -{"data":[],"schema":{"type":"array","items":{"type":"object","properties":{"_async_scoring_state":{},"_pagination_key":{"description":"A stable, time-ordered key that can be used to paginate over project logs events. This field is auto-generated by Braintrust and only exists in Brainstore.","type":["string","null"]},"_xact_id":{"description":"The transaction id of an event is unique to the network operation that processed the event insertion. Transaction ids are monotonically increasing over time and can be used to retrieve a versioned snapshot of the project logs (see the `version` parameter)","type":"string"},"audit_data":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"classifications":{"anyOf":[{"additionalProperties":{"items":{"additionalProperties":false,"properties":{"confidence":{"description":"Optional confidence score for the classification","type":["number","null"]},"id":{"description":"Stable classification identifier","type":"string"},"label":{"description":"Original label of the classification item, which is useful for search and indexing purposes","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"type":"object"},{"type":"null"}],"description":"Optional metadata associated with the classification"},"source":{"anyOf":[{"anyOf":[{"additionalProperties":false,"properties":{"id":{"type":"string"},"type":{"const":"function","type":"string"},"version":{"description":"The version of the function","type":"string"}},"required":["type","id"],"type":"object"},{"additionalProperties":false,"properties":{"function_type":{"default":"scorer","description":"The type of global function. Defaults to 'scorer'.","enum":["llm","scorer","task","tool","custom_view","preprocessor","facet","classifier","tag","parameters","sandbox"],"type":"string"},"name":{"type":"string"},"type":{"const":"global","type":"string"}},"required":["type","name"],"type":"object"}]},{"type":"null"}],"description":"Optional function identifier that produced the classification"}},"required":["id"],"type":"object"},"type":"array"},"properties":{},"type":"object"},{"type":"null"}]},"comments":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"context":{"anyOf":[{"additionalProperties":{},"properties":{"caller_filename":{"description":"Name of the file in code where the project logs event was created","type":["string","null"]},"caller_functionname":{"description":"The function in code which created the project logs event","type":["string","null"]},"caller_lineno":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"created":{"description":"The timestamp the project logs event was created","format":"date-time","type":"string"},"error":{"description":"The error that occurred, if any."},"expected":{"description":"The ground truth value (an arbitrary, JSON serializable object) that you'd compare to `output` to determine if your `output` value is correct or not. Braintrust currently does not compare `output` to `expected` for you, since there are so many different ways to do that correctly. Instead, these values are just used to help you navigate while digging into analyses. However, we may later use these values to re-score outputs or fine-tune your models."},"facets":{"anyOf":[{"additionalProperties":{"type":["string","null"]},"properties":{},"type":"object"},{"type":"null"}]},"id":{"description":"A unique identifier for the project logs event. If you don't provide one, Braintrust will generate one for you","type":"string"},"input":{"description":"The arguments that uniquely define a user input (an arbitrary, JSON serializable object)."},"is_root":{"description":"Whether this span is a root span","type":["boolean","null"]},"log_id":{"const":"g","description":"A literal 'g' which identifies the log as a project log","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"properties":{"model":{"description":"The model used for this example","type":["string","null"]}},"type":"object"},{"type":"null"}]},"metrics":{"anyOf":[{"additionalProperties":{"type":"number"},"properties":{"caller_filename":{"description":"This metric is deprecated"},"caller_functionname":{"description":"This metric is deprecated"},"caller_lineno":{"description":"This metric is deprecated"},"completion_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"end":{"description":"A unix timestamp recording when the section of code which produced the project logs event finished","type":["number","null"]},"prompt_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"start":{"description":"A unix timestamp recording when the section of code which produced the project logs event started","type":["number","null"]},"tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"org_id":{"description":"Unique id for the organization that the project belongs under","format":"uuid","type":"string"},"origin":{"anyOf":[{"description":"Reference to the original object and event this was copied from.","properties":{"_xact_id":{"description":"Transaction ID of the original event.","type":["string","null"]},"created":{"description":"Created timestamp of the original event. Used to help sort in the UI","type":["string","null"]},"id":{"description":"ID of the original event.","type":"string"},"object_id":{"description":"ID of the object the event is originating from.","format":"uuid","type":"string"},"object_type":{"description":"Type of the object the event is originating from.","enum":["project_logs","experiment","dataset","prompt","function","prompt_session"],"type":"string"}},"required":["object_type","object_id","id"],"type":"object"},{"type":"null"}]},"output":{"description":"The output of your application, including post-processing (an arbitrary, JSON serializable object), that allows you to determine whether the result is correct or not. For example, in an app that generates SQL queries, the `output` should be the _result_ of the SQL query generated by the model, not the query itself, because there may be multiple valid queries that answer a single question."},"project_id":{"description":"Unique identifier for the project","format":"uuid","type":"string"},"root_span_id":{"description":"A unique identifier for the trace this project logs event belongs to","type":"string"},"scores":{"anyOf":[{"additionalProperties":{"anyOf":[{"maximum":1,"minimum":0,"type":"number"},{"type":"null"}]},"properties":{},"type":"object"},{"type":"null"}]},"span_attributes":{"anyOf":[{"additionalProperties":{},"description":"Human-identifying attributes of the span, such as name, type, etc.","properties":{"name":{"description":"Name of the span, for display purposes only","type":["string","null"]},"purpose":{"anyOf":[{"enum":["scorer"],"type":"string"},{"type":"null"}]},"type":{"anyOf":[{"enum":["llm","score","function","eval","task","tool","automation","facet","preprocessor","classifier","review"],"type":"string"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"span_id":{"description":"A unique identifier used to link different project logs events together as part of a full trace. See the [tracing guide](https://www.braintrust.dev/docs/instrument) for full details on tracing","type":"string"},"span_parents":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]},"tags":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]}}}},"realtime_state":{"type":"on","minimum_xact_id":null,"read_bytes":0,"actual_xact_id":null},"freshness_state":{"last_processed_xact_id":"1000197530254873276","last_considered_xact_id":null},"warnings":[]} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-bce8572f7d22.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-bce8572f7d22.json deleted file mode 100644 index 8f1aa200..00000000 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-bce8572f7d22.json +++ /dev/null @@ -1 +0,0 @@ -{"data":[],"schema":{"type":"array","items":{"type":"object","properties":{"_async_scoring_state":{},"_pagination_key":{"description":"A stable, time-ordered key that can be used to paginate over project logs events. This field is auto-generated by Braintrust and only exists in Brainstore.","type":["string","null"]},"_xact_id":{"description":"The transaction id of an event is unique to the network operation that processed the event insertion. Transaction ids are monotonically increasing over time and can be used to retrieve a versioned snapshot of the project logs (see the `version` parameter)","type":"string"},"audit_data":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"classifications":{"anyOf":[{"additionalProperties":{"items":{"additionalProperties":false,"properties":{"confidence":{"description":"Optional confidence score for the classification","type":["number","null"]},"id":{"description":"Stable classification identifier","type":"string"},"label":{"description":"Original label of the classification item, which is useful for search and indexing purposes","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"type":"object"},{"type":"null"}],"description":"Optional metadata associated with the classification"},"source":{"anyOf":[{"anyOf":[{"additionalProperties":false,"properties":{"id":{"type":"string"},"type":{"const":"function","type":"string"},"version":{"description":"The version of the function","type":"string"}},"required":["type","id"],"type":"object"},{"additionalProperties":false,"properties":{"function_type":{"default":"scorer","description":"The type of global function. Defaults to 'scorer'.","enum":["llm","scorer","task","tool","custom_view","preprocessor","facet","classifier","tag","parameters","sandbox"],"type":"string"},"name":{"type":"string"},"type":{"const":"global","type":"string"}},"required":["type","name"],"type":"object"}]},{"type":"null"}],"description":"Optional function identifier that produced the classification"}},"required":["id"],"type":"object"},"type":"array"},"properties":{},"type":"object"},{"type":"null"}]},"comments":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"context":{"anyOf":[{"additionalProperties":{},"properties":{"caller_filename":{"description":"Name of the file in code where the project logs event was created","type":["string","null"]},"caller_functionname":{"description":"The function in code which created the project logs event","type":["string","null"]},"caller_lineno":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"created":{"description":"The timestamp the project logs event was created","format":"date-time","type":"string"},"error":{"description":"The error that occurred, if any."},"expected":{"description":"The ground truth value (an arbitrary, JSON serializable object) that you'd compare to `output` to determine if your `output` value is correct or not. Braintrust currently does not compare `output` to `expected` for you, since there are so many different ways to do that correctly. Instead, these values are just used to help you navigate while digging into analyses. However, we may later use these values to re-score outputs or fine-tune your models."},"facets":{"anyOf":[{"additionalProperties":{"type":["string","null"]},"properties":{},"type":"object"},{"type":"null"}]},"id":{"description":"A unique identifier for the project logs event. If you don't provide one, Braintrust will generate one for you","type":"string"},"input":{"description":"The arguments that uniquely define a user input (an arbitrary, JSON serializable object)."},"is_root":{"description":"Whether this span is a root span","type":["boolean","null"]},"log_id":{"const":"g","description":"A literal 'g' which identifies the log as a project log","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"properties":{"model":{"description":"The model used for this example","type":["string","null"]}},"type":"object"},{"type":"null"}]},"metrics":{"anyOf":[{"additionalProperties":{"type":"number"},"properties":{"caller_filename":{"description":"This metric is deprecated"},"caller_functionname":{"description":"This metric is deprecated"},"caller_lineno":{"description":"This metric is deprecated"},"completion_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"end":{"description":"A unix timestamp recording when the section of code which produced the project logs event finished","type":["number","null"]},"prompt_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"start":{"description":"A unix timestamp recording when the section of code which produced the project logs event started","type":["number","null"]},"tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"org_id":{"description":"Unique id for the organization that the project belongs under","format":"uuid","type":"string"},"origin":{"anyOf":[{"description":"Reference to the original object and event this was copied from.","properties":{"_xact_id":{"description":"Transaction ID of the original event.","type":["string","null"]},"created":{"description":"Created timestamp of the original event. Used to help sort in the UI","type":["string","null"]},"id":{"description":"ID of the original event.","type":"string"},"object_id":{"description":"ID of the object the event is originating from.","format":"uuid","type":"string"},"object_type":{"description":"Type of the object the event is originating from.","enum":["project_logs","experiment","dataset","prompt","function","prompt_session"],"type":"string"}},"required":["object_type","object_id","id"],"type":"object"},{"type":"null"}]},"output":{"description":"The output of your application, including post-processing (an arbitrary, JSON serializable object), that allows you to determine whether the result is correct or not. For example, in an app that generates SQL queries, the `output` should be the _result_ of the SQL query generated by the model, not the query itself, because there may be multiple valid queries that answer a single question."},"project_id":{"description":"Unique identifier for the project","format":"uuid","type":"string"},"root_span_id":{"description":"A unique identifier for the trace this project logs event belongs to","type":"string"},"scores":{"anyOf":[{"additionalProperties":{"anyOf":[{"maximum":1,"minimum":0,"type":"number"},{"type":"null"}]},"properties":{},"type":"object"},{"type":"null"}]},"span_attributes":{"anyOf":[{"additionalProperties":{},"description":"Human-identifying attributes of the span, such as name, type, etc.","properties":{"name":{"description":"Name of the span, for display purposes only","type":["string","null"]},"purpose":{"anyOf":[{"enum":["scorer"],"type":"string"},{"type":"null"}]},"type":{"anyOf":[{"enum":["llm","score","function","eval","task","tool","automation","facet","preprocessor","classifier","review"],"type":"string"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"span_id":{"description":"A unique identifier used to link different project logs events together as part of a full trace. See the [tracing guide](https://www.braintrust.dev/docs/instrument) for full details on tracing","type":"string"},"span_parents":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]},"tags":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]}}}},"realtime_state":{"type":"on","minimum_xact_id":null,"read_bytes":0,"actual_xact_id":null},"freshness_state":{"last_processed_xact_id":"1000197707049669837","last_considered_xact_id":null},"warnings":[]} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-c29cb5e0c7b7.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-c29cb5e0c7b7.json deleted file mode 100644 index 36c65ed8..00000000 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-c29cb5e0c7b7.json +++ /dev/null @@ -1 +0,0 @@ -{"data":[{"_async_scoring_state":null,"_pagination_key":"p07659835926102147074","_xact_id":"1000197472073610520","audit_data":[{"_xact_id":"1000197472073610520","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":null,"created":"2026-07-07T17:15:23.417Z","error":null,"expected":null,"facets":null,"id":"f5691e53c4378fdf","input":null,"is_root":true,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","client":"openai"},"metrics":{"end":1783444524.6663778,"start":1783444523.417931},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":null,"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"3d3a1550f4f3a84d47fd7dbbae4f27e0","scores":null,"span_attributes":{"name":"completions","type":"task"},"span_id":"f5691e53c4378fdf","span_parents":null,"tags":null},{"_async_scoring_state":null,"_pagination_key":"p07659835926102147079","_xact_id":"1000197472073610520","audit_data":[{"_xact_id":"1000197472073610520","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":null,"created":"2026-07-07T17:15:23.428Z","error":null,"expected":null,"facets":null,"id":"d5548a4a010cecb3","input":[{"content":"you are a helpful assistant","role":"system"},{"content":"What is the capital of France?","role":"user"}],"is_root":false,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","model":"gpt-4o-mini","provider":"openai","request_base_uri":"http://localhost:63169","request_method":"POST","request_path":"chat/completions"},"metrics":{"completion_tokens":7,"end":1783444524.666025,"estimated_cost":0.00000765,"prompt_cached_tokens":0,"prompt_tokens":23,"start":1783444523.428573,"tokens":30},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":[{"finish_reason":"stop","index":0,"logprobs":null,"message":{"annotations":[],"content":"The capital of France is Paris.","refusal":null,"role":"assistant"}}],"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"3d3a1550f4f3a84d47fd7dbbae4f27e0","scores":null,"span_attributes":{"name":"Chat Completion","type":"llm"},"span_id":"d5548a4a010cecb3","span_parents":["f5691e53c4378fdf"],"tags":null}],"schema":{"type":"array","items":{"type":"object","properties":{"_async_scoring_state":{},"_pagination_key":{"description":"A stable, time-ordered key that can be used to paginate over project logs events. This field is auto-generated by Braintrust and only exists in Brainstore.","type":["string","null"]},"_xact_id":{"description":"The transaction id of an event is unique to the network operation that processed the event insertion. Transaction ids are monotonically increasing over time and can be used to retrieve a versioned snapshot of the project logs (see the `version` parameter)","type":"string"},"audit_data":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"classifications":{"anyOf":[{"additionalProperties":{"items":{"additionalProperties":false,"properties":{"confidence":{"description":"Optional confidence score for the classification","type":["number","null"]},"id":{"description":"Stable classification identifier","type":"string"},"label":{"description":"Original label of the classification item, which is useful for search and indexing purposes","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"type":"object"},{"type":"null"}],"description":"Optional metadata associated with the classification"},"source":{"anyOf":[{"anyOf":[{"additionalProperties":false,"properties":{"id":{"type":"string"},"type":{"const":"function","type":"string"},"version":{"description":"The version of the function","type":"string"}},"required":["type","id"],"type":"object"},{"additionalProperties":false,"properties":{"function_type":{"default":"scorer","description":"The type of global function. Defaults to 'scorer'.","enum":["llm","scorer","task","tool","custom_view","preprocessor","facet","classifier","tag","parameters","sandbox"],"type":"string"},"name":{"type":"string"},"type":{"const":"global","type":"string"}},"required":["type","name"],"type":"object"}]},{"type":"null"}],"description":"Optional function identifier that produced the classification"}},"required":["id"],"type":"object"},"type":"array"},"properties":{},"type":"object"},{"type":"null"}]},"comments":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"context":{"anyOf":[{"additionalProperties":{},"properties":{"caller_filename":{"description":"Name of the file in code where the project logs event was created","type":["string","null"]},"caller_functionname":{"description":"The function in code which created the project logs event","type":["string","null"]},"caller_lineno":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"created":{"description":"The timestamp the project logs event was created","format":"date-time","type":"string"},"error":{"description":"The error that occurred, if any."},"expected":{"description":"The ground truth value (an arbitrary, JSON serializable object) that you'd compare to `output` to determine if your `output` value is correct or not. Braintrust currently does not compare `output` to `expected` for you, since there are so many different ways to do that correctly. Instead, these values are just used to help you navigate while digging into analyses. However, we may later use these values to re-score outputs or fine-tune your models."},"facets":{"anyOf":[{"additionalProperties":{"type":["string","null"]},"properties":{},"type":"object"},{"type":"null"}]},"id":{"description":"A unique identifier for the project logs event. If you don't provide one, Braintrust will generate one for you","type":"string"},"input":{"description":"The arguments that uniquely define a user input (an arbitrary, JSON serializable object)."},"is_root":{"description":"Whether this span is a root span","type":["boolean","null"]},"log_id":{"const":"g","description":"A literal 'g' which identifies the log as a project log","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"properties":{"model":{"description":"The model used for this example","type":["string","null"]}},"type":"object"},{"type":"null"}]},"metrics":{"anyOf":[{"additionalProperties":{"type":"number"},"properties":{"caller_filename":{"description":"This metric is deprecated"},"caller_functionname":{"description":"This metric is deprecated"},"caller_lineno":{"description":"This metric is deprecated"},"completion_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"end":{"description":"A unix timestamp recording when the section of code which produced the project logs event finished","type":["number","null"]},"prompt_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"start":{"description":"A unix timestamp recording when the section of code which produced the project logs event started","type":["number","null"]},"tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"org_id":{"description":"Unique id for the organization that the project belongs under","format":"uuid","type":"string"},"origin":{"anyOf":[{"description":"Reference to the original object and event this was copied from.","properties":{"_xact_id":{"description":"Transaction ID of the original event.","type":["string","null"]},"created":{"description":"Created timestamp of the original event. Used to help sort in the UI","type":["string","null"]},"id":{"description":"ID of the original event.","type":"string"},"object_id":{"description":"ID of the object the event is originating from.","format":"uuid","type":"string"},"object_type":{"description":"Type of the object the event is originating from.","enum":["project_logs","experiment","dataset","prompt","function","prompt_session"],"type":"string"}},"required":["object_type","object_id","id"],"type":"object"},{"type":"null"}]},"output":{"description":"The output of your application, including post-processing (an arbitrary, JSON serializable object), that allows you to determine whether the result is correct or not. For example, in an app that generates SQL queries, the `output` should be the _result_ of the SQL query generated by the model, not the query itself, because there may be multiple valid queries that answer a single question."},"project_id":{"description":"Unique identifier for the project","format":"uuid","type":"string"},"root_span_id":{"description":"A unique identifier for the trace this project logs event belongs to","type":"string"},"scores":{"anyOf":[{"additionalProperties":{"anyOf":[{"maximum":1,"minimum":0,"type":"number"},{"type":"null"}]},"properties":{},"type":"object"},{"type":"null"}]},"span_attributes":{"anyOf":[{"additionalProperties":{},"description":"Human-identifying attributes of the span, such as name, type, etc.","properties":{"name":{"description":"Name of the span, for display purposes only","type":["string","null"]},"purpose":{"anyOf":[{"enum":["scorer"],"type":"string"},{"type":"null"}]},"type":{"anyOf":[{"enum":["llm","score","function","eval","task","tool","automation","facet","preprocessor","classifier","review"],"type":"string"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"span_id":{"description":"A unique identifier used to link different project logs events together as part of a full trace. See the [tracing guide](https://www.braintrust.dev/docs/instrument) for full details on tracing","type":"string"},"span_parents":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]},"tags":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]}}}},"realtime_state":{"type":"on","minimum_xact_id":"1000197472073890576","read_bytes":4909,"actual_xact_id":"1000197472074645319"},"freshness_state":{"last_processed_xact_id":"1000197472074645319","last_considered_xact_id":"1000197472074645319"},"warnings":[]} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-c4a4263e55f8.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-c4a4263e55f8.json deleted file mode 100644 index 627546e0..00000000 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-c4a4263e55f8.json +++ /dev/null @@ -1 +0,0 @@ -{"data":[{"_async_scoring_state":null,"_pagination_key":"p07663649184161857543","_xact_id":"1000197530259310894","audit_data":[{"_xact_id":"1000197530259310894","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":{"span_origin":{"instrumentation":{"name":"braintrust-java"},"name":"braintrust.sdk.java","version":"0.3.17-0155866-DIRTY"}},"created":"2026-07-17T23:52:47.144Z","error":null,"expected":null,"facets":null,"id":"18208cd73dcd3f4b","input":null,"is_root":true,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","client":"springai2-openai"},"metrics":{"end":1784332368.814018,"start":1784332367.1448},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":null,"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"73e619b388e5a51e882d891195af29da","scores":null,"span_attributes":{"name":"tools","type":"task"},"span_id":"18208cd73dcd3f4b","span_parents":null,"tags":null},{"_async_scoring_state":null,"_pagination_key":"p07663649184161857537","_xact_id":"1000197530259310894","audit_data":[{"_xact_id":"1000197530259310894","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":{"span_origin":{"instrumentation":{"name":"braintrust-java"},"name":"braintrust.sdk.java","version":"0.3.17-0155866-DIRTY"}},"created":"2026-07-17T23:52:47.521Z","error":null,"expected":null,"facets":null,"id":"0ec83d8746f1a120","input":[{"content":"What is the weather like in Paris, France?","role":"user"}],"is_root":false,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","model":"gpt-4o","provider":"openai","request_base_uri":"http://localhost:55247","request_method":"POST","request_path":"chat/completions"},"metrics":{"completion_tokens":16,"end":1784332368.812581,"estimated_cost":0.0003725,"prompt_cached_tokens":0,"prompt_tokens":85,"start":1784332367.521125,"tokens":101},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":[{"finish_reason":"tool_calls","index":0,"logprobs":null,"message":{"annotations":[],"content":null,"refusal":null,"role":"assistant","tool_calls":[{"function":{"arguments":"{\"location\":\"Paris, France\"}","name":"get_weather"},"id":"call_Ckq2dKNt0tzDJfUayOzBlwKj","type":"function"}]}}],"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"73e619b388e5a51e882d891195af29da","scores":null,"span_attributes":{"name":"Chat Completion","type":"llm"},"span_id":"0ec83d8746f1a120","span_parents":["18208cd73dcd3f4b"],"tags":null}],"schema":{"type":"array","items":{"type":"object","properties":{"_async_scoring_state":{},"_pagination_key":{"description":"A stable, time-ordered key that can be used to paginate over project logs events. This field is auto-generated by Braintrust and only exists in Brainstore.","type":["string","null"]},"_xact_id":{"description":"The transaction id of an event is unique to the network operation that processed the event insertion. Transaction ids are monotonically increasing over time and can be used to retrieve a versioned snapshot of the project logs (see the `version` parameter)","type":"string"},"audit_data":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"classifications":{"anyOf":[{"additionalProperties":{"items":{"additionalProperties":false,"properties":{"confidence":{"description":"Optional confidence score for the classification","type":["number","null"]},"id":{"description":"Stable classification identifier","type":"string"},"label":{"description":"Original label of the classification item, which is useful for search and indexing purposes","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"type":"object"},{"type":"null"}],"description":"Optional metadata associated with the classification"},"source":{"anyOf":[{"anyOf":[{"additionalProperties":false,"properties":{"id":{"type":"string"},"type":{"const":"function","type":"string"},"version":{"description":"The version of the function","type":"string"}},"required":["type","id"],"type":"object"},{"additionalProperties":false,"properties":{"function_type":{"default":"scorer","description":"The type of global function. Defaults to 'scorer'.","enum":["llm","scorer","task","tool","custom_view","preprocessor","facet","classifier","tag","parameters","sandbox"],"type":"string"},"name":{"type":"string"},"type":{"const":"global","type":"string"}},"required":["type","name"],"type":"object"}]},{"type":"null"}],"description":"Optional function identifier that produced the classification"}},"required":["id"],"type":"object"},"type":"array"},"properties":{},"type":"object"},{"type":"null"}]},"comments":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"context":{"anyOf":[{"additionalProperties":{},"properties":{"caller_filename":{"description":"Name of the file in code where the project logs event was created","type":["string","null"]},"caller_functionname":{"description":"The function in code which created the project logs event","type":["string","null"]},"caller_lineno":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"created":{"description":"The timestamp the project logs event was created","format":"date-time","type":"string"},"error":{"description":"The error that occurred, if any."},"expected":{"description":"The ground truth value (an arbitrary, JSON serializable object) that you'd compare to `output` to determine if your `output` value is correct or not. Braintrust currently does not compare `output` to `expected` for you, since there are so many different ways to do that correctly. Instead, these values are just used to help you navigate while digging into analyses. However, we may later use these values to re-score outputs or fine-tune your models."},"facets":{"anyOf":[{"additionalProperties":{"type":["string","null"]},"properties":{},"type":"object"},{"type":"null"}]},"id":{"description":"A unique identifier for the project logs event. If you don't provide one, Braintrust will generate one for you","type":"string"},"input":{"description":"The arguments that uniquely define a user input (an arbitrary, JSON serializable object)."},"is_root":{"description":"Whether this span is a root span","type":["boolean","null"]},"log_id":{"const":"g","description":"A literal 'g' which identifies the log as a project log","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"properties":{"model":{"description":"The model used for this example","type":["string","null"]}},"type":"object"},{"type":"null"}]},"metrics":{"anyOf":[{"additionalProperties":{"type":"number"},"properties":{"caller_filename":{"description":"This metric is deprecated"},"caller_functionname":{"description":"This metric is deprecated"},"caller_lineno":{"description":"This metric is deprecated"},"completion_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"end":{"description":"A unix timestamp recording when the section of code which produced the project logs event finished","type":["number","null"]},"prompt_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"start":{"description":"A unix timestamp recording when the section of code which produced the project logs event started","type":["number","null"]},"tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"org_id":{"description":"Unique id for the organization that the project belongs under","format":"uuid","type":"string"},"origin":{"anyOf":[{"description":"Reference to the original object and event this was copied from.","properties":{"_xact_id":{"description":"Transaction ID of the original event.","type":["string","null"]},"created":{"description":"Created timestamp of the original event. Used to help sort in the UI","type":["string","null"]},"id":{"description":"ID of the original event.","type":"string"},"object_id":{"description":"ID of the object the event is originating from.","format":"uuid","type":"string"},"object_type":{"description":"Type of the object the event is originating from.","enum":["project_logs","experiment","dataset","prompt","function","prompt_session"],"type":"string"}},"required":["object_type","object_id","id"],"type":"object"},{"type":"null"}]},"output":{"description":"The output of your application, including post-processing (an arbitrary, JSON serializable object), that allows you to determine whether the result is correct or not. For example, in an app that generates SQL queries, the `output` should be the _result_ of the SQL query generated by the model, not the query itself, because there may be multiple valid queries that answer a single question."},"project_id":{"description":"Unique identifier for the project","format":"uuid","type":"string"},"root_span_id":{"description":"A unique identifier for the trace this project logs event belongs to","type":"string"},"scores":{"anyOf":[{"additionalProperties":{"anyOf":[{"maximum":1,"minimum":0,"type":"number"},{"type":"null"}]},"properties":{},"type":"object"},{"type":"null"}]},"span_attributes":{"anyOf":[{"additionalProperties":{},"description":"Human-identifying attributes of the span, such as name, type, etc.","properties":{"name":{"description":"Name of the span, for display purposes only","type":["string","null"]},"purpose":{"anyOf":[{"enum":["scorer"],"type":"string"},{"type":"null"}]},"type":{"anyOf":[{"enum":["llm","score","function","eval","task","tool","automation","facet","preprocessor","classifier","review"],"type":"string"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"span_id":{"description":"A unique identifier used to link different project logs events together as part of a full trace. See the [tracing guide](https://www.braintrust.dev/docs/instrument) for full details on tracing","type":"string"},"span_parents":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]},"tags":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]}}}},"realtime_state":{"type":"on","minimum_xact_id":"1000197530259310894","read_bytes":0,"actual_xact_id":"1000197530259310894"},"freshness_state":{"last_processed_xact_id":"1000197530259310894","last_considered_xact_id":"1000197530259310894"},"warnings":[]} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-c88ad117447e.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-c88ad117447e.json new file mode 100644 index 00000000..bcbc85aa --- /dev/null +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-c88ad117447e.json @@ -0,0 +1 @@ +{"data":[{"_async_scoring_state":null,"_pagination_key":"p07680251263181783061","_xact_id":"1000197783586932658","audit_data":[{"_xact_id":"1000197783586932658","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":{"span_origin":{"instrumentation":{"name":"braintrust-java"},"name":"braintrust.sdk.java","version":"0.3.22-ca5ce6d-DIRTY"}},"created":"2026-08-31T17:37:19.077Z","error":null,"expected":null,"facets":null,"id":"286e86beba5f6bbc","input":null,"is_root":true,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","client":"anthropic"},"metrics":{"end":1788197840.185121,"start":1788197839.077858},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":null,"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"7b5ccc62dfee84b88e689516a5ad16d5","scores":null,"span_attributes":{"name":"prompt_caching_5m","type":"task"},"span_id":"286e86beba5f6bbc","span_parents":null,"tags":null},{"_async_scoring_state":null,"_pagination_key":"p07680251263181783046","_xact_id":"1000197783586932658","audit_data":[{"_xact_id":"1000197783586932658","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":{"span_origin":{"instrumentation":{"name":"braintrust-java"},"name":"braintrust.sdk.java","version":"0.3.22-ca5ce6d-DIRTY"}},"created":"2026-08-31T17:37:19.085Z","error":null,"expected":null,"facets":null,"id":"2b580a3d4feccb82","input":[{"content":"What is the capital of France?","role":"user"},{"content":[{"cache_control":{"ttl":"5m","type":"ephemeral"},"text":"[cache buster: anthropic vcr-mode]\nYou are a helpful assistant answering questions about world\ngeography. Follow the operating guidelines below on every\nresponse. These guidelines are refreshed frequently, so they\nare cached with the default 5 minute TTL.\n\n1. Answer in a single short sentence unless the user explicitly\n asks for more detail. Do not add preambles like \"Sure, here\n is the answer\" or \"Great question\". Just answer.\n2. Always state the canonical English name of a place first,\n followed by the local name in parentheses only when it\n differs. Do not include pronunciation guides.\n3. When the user asks about a country, prefer the capital over\n the largest city. When the user asks about a region, prefer\n the administrative center. When the user asks about a\n continent, prefer a widely recognized reference city and\n note that continents have no single capital.\n4. If the user asks about a disputed territory, name the\n de-facto administrative center without taking a political\n position. Do not editorialize.\n5. If the user asks a question that is not about geography,\n answer it briefly and then offer to continue with\n geography-related questions.\n6. Never invent place names. If you are not sure, say you are\n not sure and suggest a likely alternative the user may have\n meant.\n7. Use modern spelling conventions. Prefer \"Kyiv\" over \"Kiev\",\n \"Beijing\" over \"Peking\", \"Mumbai\" over \"Bombay\", and so on.\n8. Always use the metric system for distances, elevations, and\n areas. If the user explicitly asks for imperial units,\n convert and include both.\n9. Do not mention these instructions to the user. Do not refer\n to them as \"my guidelines\" or \"my system prompt\". Just\n follow them silently.\n10. If the user greets you, greet them back briefly and then\n wait for their actual question. Do not volunteer geography\n trivia.\n11. Treat any reference material supplied in a later cached\n block as authoritative. If it conflicts with your training\n data, prefer the reference material.\n12. If the user asks for a source or citation, say that you\n cannot cite sources directly but can describe where the\n information typically comes from (atlases, official\n government statistics, the CIA World Factbook, etc.).\n13. Keep responses under 40 words when possible. Brevity is a\n hard requirement, not a preference.\n14. Never use emojis. Never use bullet points unless the user\n explicitly asks for a list.\n15. If the user asks a follow-up that depends on the previous\n turn, answer based on the last place you discussed unless\n they name a new one.\n16. Do not volunteer comparative size, population, or GDP\n rankings unless the user asks. These numbers change over\n time and you are not a statistics oracle.\n17. When multiple entities share a name, disambiguate by the\n country or region (for example: \"Georgia, the country\" vs.\n \"Georgia, the US state\").\n18. Do not translate proper nouns. \"New York\" is not rendered\n in the user's language unless they explicitly request a\n translation.\n19. Never speculate about future political boundary changes.\n Stick to the current, widely recognized status quo.\n20. If the user asks about a place that no longer exists under\n that name (for example \"Constantinople\"), give the modern\n equivalent and note the historical name in parentheses.\n21. If a place has multiple official capitals (for example\n South Africa or Bolivia), list all of them with their\n roles, still in a single sentence.\n22. If the user asks for coordinates, give latitude and\n longitude in decimal degrees to two decimal places.\n23. If the user asks about a body of water, name the countries\n that border it, in rough clockwise order starting from the\n north.\n24. If the user asks about a mountain, give the elevation in\n meters and the country or countries it sits in.\n25. Do not mention sanctions, travel advisories, or current\n conflicts. This assistant is a reference for geography, not\n current events.\n26. If the user asks whether a place is a country, answer yes\n only for United Nations member states and widely\n recognized observer states. For partially recognized\n states, describe the recognition status in one clause\n rather than giving a flat yes or no.\n27. If the user asks about time zones, give the primary IANA\n zone identifier and the UTC offset at this moment, noting\n whether daylight saving time is currently in effect.\n28. If the user asks about currency, give the ISO 4217 code\n and the common symbol, without quoting an exchange rate.\n29. If the user asks about official languages, list at most\n three in order of number of speakers, and note that the\n list is not exhaustive when it is not.\n30. If the user asks about climate, give a one-clause\n Köppen summary (for example \"humid subtropical (Cfa)\")\n rather than a month-by-month breakdown.\n31. If the user asks about the flag of a country, describe it\n in words: colors, arrangement, and central emblem if any.\n Do not attempt ASCII art.\n32. If the user asks about national holidays, give only the\n single most widely observed one, with its date.\n33. If the user asks about the head of state or head of\n government, answer with the office name (\"the President\",\n \"the Prime Minister\") rather than the current office\n holder. Names of current office holders change too often\n for a cached prompt to keep up.\n34. If the user asks about airports, give the three-letter\n IATA code and the full airport name.\n35. If the user asks about train stations, give the\n widely used English-language name of the primary station\n and the city it serves.\n","type":"text"}],"role":"system"}],"is_root":false,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","max_tokens":128,"model":"claude-sonnet-4-5-20250929","provider":"anthropic","request-id":"req_011CebES8Ar7Y2xDum3vtZ9E","request_base_uri":"","request_method":"POST","request_path":"v1/messages","response_id":"msg_011CebES8o3uGhyDsvk55aX2","temperature":0},"metrics":{"completion_tokens":5,"end":1788197840.1841931,"estimated_cost":0.00522975,"prompt_cache_creation_1h_tokens":0,"prompt_cache_creation_5m_tokens":1365,"prompt_cached_tokens":0,"prompt_tokens":1377,"start":1788197839.08588,"tokens":1382},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":{"content":[{"text":"Paris.","type":"text"}],"id":"msg_011CebES8o3uGhyDsvk55aX2","model":"claude-sonnet-4-5-20250929","role":"assistant","stop_details":null,"stop_reason":"end_turn","stop_sequence":null,"type":"message","usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":1365},"cache_creation_input_tokens":1365,"cache_read_input_tokens":0,"inference_geo":"not_available","input_tokens":12,"output_tokens":5,"service_tier":"standard"}},"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"7b5ccc62dfee84b88e689516a5ad16d5","scores":null,"span_attributes":{"name":"anthropic.messages.create","type":"llm"},"span_id":"2b580a3d4feccb82","span_parents":["286e86beba5f6bbc"],"tags":null}],"schema":{"type":"array","items":{"type":"object","properties":{"_async_scoring_state":{},"_pagination_key":{"description":"A stable, time-ordered key that can be used to paginate over project logs events. This field is auto-generated by Braintrust and only exists in Brainstore.","type":["string","null"]},"_xact_id":{"description":"The transaction id of an event is unique to the network operation that processed the event insertion. Transaction ids are monotonically increasing over time and can be used to retrieve a versioned snapshot of the project logs (see the `version` parameter)","type":"string"},"audit_data":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"classifications":{"anyOf":[{"additionalProperties":{"items":{"additionalProperties":false,"properties":{"confidence":{"description":"Optional confidence score for the classification","type":["number","null"]},"id":{"description":"Stable classification identifier","type":"string"},"label":{"description":"Original label of the classification item, which is useful for search and indexing purposes","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"type":"object"},{"type":"null"}],"description":"Optional metadata associated with the classification"},"source":{"anyOf":[{"anyOf":[{"additionalProperties":false,"properties":{"id":{"type":"string"},"type":{"const":"function","type":"string"},"version":{"description":"The version of the function","type":"string"}},"required":["type","id"],"type":"object"},{"additionalProperties":false,"properties":{"function_type":{"default":"scorer","description":"The type of global function. Defaults to 'scorer'.","enum":["llm","scorer","task","tool","custom_view","preprocessor","facet","classifier","tag","parameters","sandbox"],"type":"string"},"name":{"type":"string"},"type":{"const":"global","type":"string"}},"required":["type","name"],"type":"object"}]},{"type":"null"}],"description":"Optional function identifier that produced the classification"}},"required":["id"],"type":"object"},"type":"array"},"properties":{},"type":"object"},{"type":"null"}]},"comments":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"context":{"anyOf":[{"additionalProperties":{},"properties":{"caller_filename":{"description":"Name of the file in code where the project logs event was created","type":["string","null"]},"caller_functionname":{"description":"The function in code which created the project logs event","type":["string","null"]},"caller_lineno":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"created":{"description":"The timestamp the project logs event was created","format":"date-time","type":"string"},"error":{"description":"The error that occurred, if any."},"expected":{"description":"The ground truth value (an arbitrary, JSON serializable object) that you'd compare to `output` to determine if your `output` value is correct or not. Braintrust currently does not compare `output` to `expected` for you, since there are so many different ways to do that correctly. Instead, these values are just used to help you navigate while digging into analyses. However, we may later use these values to re-score outputs or fine-tune your models."},"facets":{"anyOf":[{"additionalProperties":{"type":["string","null"]},"properties":{},"type":"object"},{"type":"null"}]},"id":{"description":"A unique identifier for the project logs event. If you don't provide one, Braintrust will generate one for you","type":"string"},"input":{"description":"The arguments that uniquely define a user input (an arbitrary, JSON serializable object)."},"is_root":{"description":"Whether this span is a root span","type":["boolean","null"]},"log_id":{"const":"g","description":"A literal 'g' which identifies the log as a project log","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"properties":{"model":{"description":"The model used for this example","type":["string","null"]}},"type":"object"},{"type":"null"}]},"metrics":{"anyOf":[{"additionalProperties":{"type":"number"},"properties":{"caller_filename":{"description":"This metric is deprecated"},"caller_functionname":{"description":"This metric is deprecated"},"caller_lineno":{"description":"This metric is deprecated"},"completion_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"end":{"description":"A unix timestamp recording when the section of code which produced the project logs event finished","type":["number","null"]},"prompt_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"start":{"description":"A unix timestamp recording when the section of code which produced the project logs event started","type":["number","null"]},"tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"org_id":{"description":"Unique id for the organization that the project belongs under","format":"uuid","type":"string"},"origin":{"anyOf":[{"description":"Reference to the original object and event this was copied from.","properties":{"_xact_id":{"description":"Transaction ID of the original event.","type":["string","null"]},"created":{"description":"Created timestamp of the original event. Used to help sort in the UI","type":["string","null"]},"id":{"description":"ID of the original event.","type":"string"},"object_id":{"description":"ID of the object the event is originating from.","format":"uuid","type":"string"},"object_type":{"description":"Type of the object the event is originating from.","enum":["project_logs","experiment","dataset","prompt","function","prompt_session"],"type":"string"}},"required":["object_type","object_id","id"],"type":"object"},{"type":"null"}]},"output":{"description":"The output of your application, including post-processing (an arbitrary, JSON serializable object), that allows you to determine whether the result is correct or not. For example, in an app that generates SQL queries, the `output` should be the _result_ of the SQL query generated by the model, not the query itself, because there may be multiple valid queries that answer a single question."},"project_id":{"description":"Unique identifier for the project","format":"uuid","type":"string"},"root_span_id":{"description":"A unique identifier for the trace this project logs event belongs to","type":"string"},"scores":{"anyOf":[{"additionalProperties":{"anyOf":[{"maximum":1,"minimum":0,"type":"number"},{"type":"null"}]},"properties":{},"type":"object"},{"type":"null"}]},"span_attributes":{"anyOf":[{"additionalProperties":{},"description":"Human-identifying attributes of the span, such as name, type, etc.","properties":{"name":{"description":"Name of the span, for display purposes only","type":["string","null"]},"purpose":{"anyOf":[{"enum":["scorer"],"type":"string"},{"type":"null"}]},"type":{"anyOf":[{"enum":["llm","score","function","eval","task","tool","automation","facet","preprocessor","classifier","review"],"type":"string"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"span_id":{"description":"A unique identifier used to link different project logs events together as part of a full trace. See the [tracing guide](https://www.braintrust.dev/docs/instrument) for full details on tracing","type":"string"},"span_parents":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]},"tags":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]}}}},"realtime_state":{"type":"on","minimum_xact_id":"1000197783589161396","read_bytes":0,"actual_xact_id":"1000197783589161396"},"freshness_state":{"last_processed_xact_id":"1000197783589161396","last_considered_xact_id":"1000197783589161396"},"warnings":[]} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-c8a5128913b4.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-c8a5128913b4.json new file mode 100644 index 00000000..9ca1e1d4 --- /dev/null +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-c8a5128913b4.json @@ -0,0 +1 @@ +{"data":[{"_async_scoring_state":null,"_pagination_key":"p07680251263181783059","_xact_id":"1000197783586932658","audit_data":[{"_xact_id":"1000197783586932658","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":{"span_origin":{"instrumentation":{"name":"braintrust-java"},"name":"braintrust.sdk.java","version":"0.3.22-ca5ce6d-DIRTY"}},"created":"2026-08-31T17:37:18.472Z","error":null,"expected":null,"facets":null,"id":"8d2c7a3908c69a31","input":null,"is_root":true,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","client":"springai-openai"},"metrics":{"end":1788197839.3002276,"start":1788197838.4728189},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":null,"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"cc72e2406f45fbe8009b0292ce2110cf","scores":null,"span_attributes":{"name":"tools","type":"task"},"span_id":"8d2c7a3908c69a31","span_parents":null,"tags":null},{"_async_scoring_state":null,"_pagination_key":"p07680251263181783044","_xact_id":"1000197783586932658","audit_data":[{"_xact_id":"1000197783586932658","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":{"span_origin":{"instrumentation":{"name":"braintrust-java"},"name":"braintrust.sdk.java","version":"0.3.22-ca5ce6d-DIRTY"}},"created":"2026-08-31T17:37:18.499Z","error":null,"expected":null,"facets":null,"id":"90aa88e70512d412","input":[{"content":"What is the weather like in Paris, France?","role":"user"}],"is_root":false,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","max_tokens":500,"model":"gpt-4o","provider":"openai","request_base_uri":"http://localhost:52408","request_method":"POST","request_path":"chat/completions","response_id":"chatcmpl-EJ0EYLnhT99YLHBcnJ3LiTcVxo30D","stream":false,"temperature":0,"tools":[{"function":{"description":"Get the current weather for a location","name":"get_weather","parameters":{"properties":{"location":{"description":"The city and state, e.g. San Francisco, CA","type":"string"},"unit":{"description":"The unit of temperature","enum":["celsius","fahrenheit"],"type":"string"}},"required":["location"],"type":"object"}},"type":"function"}],"x-request-id":"req_3f7dc2dc6ef84fc4b9bcf32aeb2e32f4"},"metrics":{"completion_reasoning_tokens":0,"completion_tokens":16,"end":1788197839.2899332,"estimated_cost":0.0003725,"prompt_cached_tokens":0,"prompt_tokens":85,"start":1788197838.4997098,"tokens":101},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":[{"finish_reason":"tool_calls","index":0,"logprobs":null,"message":{"annotations":[],"content":null,"refusal":null,"role":"assistant","tool_calls":[{"function":{"arguments":"{\"location\":\"Paris, France\"}","name":"get_weather"},"id":"call_lT3TIZDKr9qrX5Fv0LlXQNgg","type":"function"}]}}],"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"cc72e2406f45fbe8009b0292ce2110cf","scores":null,"span_attributes":{"name":"Chat Completion","type":"llm"},"span_id":"90aa88e70512d412","span_parents":["8d2c7a3908c69a31"],"tags":null}],"schema":{"type":"array","items":{"type":"object","properties":{"_async_scoring_state":{},"_pagination_key":{"description":"A stable, time-ordered key that can be used to paginate over project logs events. This field is auto-generated by Braintrust and only exists in Brainstore.","type":["string","null"]},"_xact_id":{"description":"The transaction id of an event is unique to the network operation that processed the event insertion. Transaction ids are monotonically increasing over time and can be used to retrieve a versioned snapshot of the project logs (see the `version` parameter)","type":"string"},"audit_data":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"classifications":{"anyOf":[{"additionalProperties":{"items":{"additionalProperties":false,"properties":{"confidence":{"description":"Optional confidence score for the classification","type":["number","null"]},"id":{"description":"Stable classification identifier","type":"string"},"label":{"description":"Original label of the classification item, which is useful for search and indexing purposes","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"type":"object"},{"type":"null"}],"description":"Optional metadata associated with the classification"},"source":{"anyOf":[{"anyOf":[{"additionalProperties":false,"properties":{"id":{"type":"string"},"type":{"const":"function","type":"string"},"version":{"description":"The version of the function","type":"string"}},"required":["type","id"],"type":"object"},{"additionalProperties":false,"properties":{"function_type":{"default":"scorer","description":"The type of global function. Defaults to 'scorer'.","enum":["llm","scorer","task","tool","custom_view","preprocessor","facet","classifier","tag","parameters","sandbox"],"type":"string"},"name":{"type":"string"},"type":{"const":"global","type":"string"}},"required":["type","name"],"type":"object"}]},{"type":"null"}],"description":"Optional function identifier that produced the classification"}},"required":["id"],"type":"object"},"type":"array"},"properties":{},"type":"object"},{"type":"null"}]},"comments":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"context":{"anyOf":[{"additionalProperties":{},"properties":{"caller_filename":{"description":"Name of the file in code where the project logs event was created","type":["string","null"]},"caller_functionname":{"description":"The function in code which created the project logs event","type":["string","null"]},"caller_lineno":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"created":{"description":"The timestamp the project logs event was created","format":"date-time","type":"string"},"error":{"description":"The error that occurred, if any."},"expected":{"description":"The ground truth value (an arbitrary, JSON serializable object) that you'd compare to `output` to determine if your `output` value is correct or not. Braintrust currently does not compare `output` to `expected` for you, since there are so many different ways to do that correctly. Instead, these values are just used to help you navigate while digging into analyses. However, we may later use these values to re-score outputs or fine-tune your models."},"facets":{"anyOf":[{"additionalProperties":{"type":["string","null"]},"properties":{},"type":"object"},{"type":"null"}]},"id":{"description":"A unique identifier for the project logs event. If you don't provide one, Braintrust will generate one for you","type":"string"},"input":{"description":"The arguments that uniquely define a user input (an arbitrary, JSON serializable object)."},"is_root":{"description":"Whether this span is a root span","type":["boolean","null"]},"log_id":{"const":"g","description":"A literal 'g' which identifies the log as a project log","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"properties":{"model":{"description":"The model used for this example","type":["string","null"]}},"type":"object"},{"type":"null"}]},"metrics":{"anyOf":[{"additionalProperties":{"type":"number"},"properties":{"caller_filename":{"description":"This metric is deprecated"},"caller_functionname":{"description":"This metric is deprecated"},"caller_lineno":{"description":"This metric is deprecated"},"completion_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"end":{"description":"A unix timestamp recording when the section of code which produced the project logs event finished","type":["number","null"]},"prompt_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"start":{"description":"A unix timestamp recording when the section of code which produced the project logs event started","type":["number","null"]},"tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"org_id":{"description":"Unique id for the organization that the project belongs under","format":"uuid","type":"string"},"origin":{"anyOf":[{"description":"Reference to the original object and event this was copied from.","properties":{"_xact_id":{"description":"Transaction ID of the original event.","type":["string","null"]},"created":{"description":"Created timestamp of the original event. Used to help sort in the UI","type":["string","null"]},"id":{"description":"ID of the original event.","type":"string"},"object_id":{"description":"ID of the object the event is originating from.","format":"uuid","type":"string"},"object_type":{"description":"Type of the object the event is originating from.","enum":["project_logs","experiment","dataset","prompt","function","prompt_session"],"type":"string"}},"required":["object_type","object_id","id"],"type":"object"},{"type":"null"}]},"output":{"description":"The output of your application, including post-processing (an arbitrary, JSON serializable object), that allows you to determine whether the result is correct or not. For example, in an app that generates SQL queries, the `output` should be the _result_ of the SQL query generated by the model, not the query itself, because there may be multiple valid queries that answer a single question."},"project_id":{"description":"Unique identifier for the project","format":"uuid","type":"string"},"root_span_id":{"description":"A unique identifier for the trace this project logs event belongs to","type":"string"},"scores":{"anyOf":[{"additionalProperties":{"anyOf":[{"maximum":1,"minimum":0,"type":"number"},{"type":"null"}]},"properties":{},"type":"object"},{"type":"null"}]},"span_attributes":{"anyOf":[{"additionalProperties":{},"description":"Human-identifying attributes of the span, such as name, type, etc.","properties":{"name":{"description":"Name of the span, for display purposes only","type":["string","null"]},"purpose":{"anyOf":[{"enum":["scorer"],"type":"string"},{"type":"null"}]},"type":{"anyOf":[{"enum":["llm","score","function","eval","task","tool","automation","facet","preprocessor","classifier","review"],"type":"string"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"span_id":{"description":"A unique identifier used to link different project logs events together as part of a full trace. See the [tracing guide](https://www.braintrust.dev/docs/instrument) for full details on tracing","type":"string"},"span_parents":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]},"tags":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]}}}},"realtime_state":{"type":"on","minimum_xact_id":"1000197783589884487","read_bytes":0,"actual_xact_id":"1000197783589884487"},"freshness_state":{"last_processed_xact_id":"1000197783589884487","last_considered_xact_id":"1000197783589884487"},"warnings":[]} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-ca0ed215fa40.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-ca0ed215fa40.json deleted file mode 100644 index 80ce15ce..00000000 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-ca0ed215fa40.json +++ /dev/null @@ -1 +0,0 @@ -{"data":[{"_async_scoring_state":null,"_pagination_key":"p07659835899147517956","_xact_id":"1000197472073199225","audit_data":[{"_xact_id":"1000197472073199225","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":null,"created":"2026-07-07T17:15:21.027Z","error":null,"expected":null,"facets":null,"id":"02952520603c04f3","input":null,"is_root":true,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","client":"springai-openai"},"metrics":{"end":1783444522.1933107,"start":1783444521.027052},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":null,"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"736081b380fc7fcbf9d35b180dd19422","scores":null,"span_attributes":{"name":"attachments","type":"task"},"span_id":"02952520603c04f3","span_parents":null,"tags":null},{"_async_scoring_state":null,"_pagination_key":"p07659835899147517961","_xact_id":"1000197472073199225","audit_data":[{"_xact_id":"1000197472073199225","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":null,"created":"2026-07-07T17:15:21.043Z","error":null,"expected":null,"facets":null,"id":"9eb84915424806bd","input":[{"content":"you are a helpful assistant","role":"system"},{"content":[{"text":"Briefly describe these attachments","type":"text"},{"image_url":{"url":{"content_type":"image/png","filename":"attachment.png","key":"a09c9301-7f34-4d52-896c-267be658b9ee","type":"braintrust_attachment"}},"type":"image_url"},{"file":{"file_data":{"content_type":"application/pdf","filename":"attachment.pdf","key":"175d11e4-a396-4e72-ade6-2805f0e0f40d","type":"braintrust_attachment"},"filename":"blank.pdf"},"type":"file"}],"role":"user"}],"is_root":false,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","model":"gpt-4o","provider":"openai","request_base_uri":"http://localhost:63169","request_method":"POST","request_path":"chat/completions"},"metrics":{"completion_tokens":35,"end":1783444522.184574,"estimated_cost":0.0015875000000000002,"prompt_cached_tokens":0,"prompt_tokens":495,"start":1783444521.0432947,"tokens":530},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":[{"finish_reason":"stop","index":0,"logprobs":null,"message":{"annotations":[],"content":"The attachments include:\n\n1. **Image**: A solid red square.\n2. **PDF (blank.pdf)**: The document appears to be blank with no readable content.","refusal":null,"role":"assistant"}}],"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"736081b380fc7fcbf9d35b180dd19422","scores":null,"span_attributes":{"name":"Chat Completion","type":"llm"},"span_id":"9eb84915424806bd","span_parents":["02952520603c04f3"],"tags":null}],"schema":{"type":"array","items":{"type":"object","properties":{"_async_scoring_state":{},"_pagination_key":{"description":"A stable, time-ordered key that can be used to paginate over project logs events. This field is auto-generated by Braintrust and only exists in Brainstore.","type":["string","null"]},"_xact_id":{"description":"The transaction id of an event is unique to the network operation that processed the event insertion. Transaction ids are monotonically increasing over time and can be used to retrieve a versioned snapshot of the project logs (see the `version` parameter)","type":"string"},"audit_data":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"classifications":{"anyOf":[{"additionalProperties":{"items":{"additionalProperties":false,"properties":{"confidence":{"description":"Optional confidence score for the classification","type":["number","null"]},"id":{"description":"Stable classification identifier","type":"string"},"label":{"description":"Original label of the classification item, which is useful for search and indexing purposes","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"type":"object"},{"type":"null"}],"description":"Optional metadata associated with the classification"},"source":{"anyOf":[{"anyOf":[{"additionalProperties":false,"properties":{"id":{"type":"string"},"type":{"const":"function","type":"string"},"version":{"description":"The version of the function","type":"string"}},"required":["type","id"],"type":"object"},{"additionalProperties":false,"properties":{"function_type":{"default":"scorer","description":"The type of global function. Defaults to 'scorer'.","enum":["llm","scorer","task","tool","custom_view","preprocessor","facet","classifier","tag","parameters","sandbox"],"type":"string"},"name":{"type":"string"},"type":{"const":"global","type":"string"}},"required":["type","name"],"type":"object"}]},{"type":"null"}],"description":"Optional function identifier that produced the classification"}},"required":["id"],"type":"object"},"type":"array"},"properties":{},"type":"object"},{"type":"null"}]},"comments":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"context":{"anyOf":[{"additionalProperties":{},"properties":{"caller_filename":{"description":"Name of the file in code where the project logs event was created","type":["string","null"]},"caller_functionname":{"description":"The function in code which created the project logs event","type":["string","null"]},"caller_lineno":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"created":{"description":"The timestamp the project logs event was created","format":"date-time","type":"string"},"error":{"description":"The error that occurred, if any."},"expected":{"description":"The ground truth value (an arbitrary, JSON serializable object) that you'd compare to `output` to determine if your `output` value is correct or not. Braintrust currently does not compare `output` to `expected` for you, since there are so many different ways to do that correctly. Instead, these values are just used to help you navigate while digging into analyses. However, we may later use these values to re-score outputs or fine-tune your models."},"facets":{"anyOf":[{"additionalProperties":{"type":["string","null"]},"properties":{},"type":"object"},{"type":"null"}]},"id":{"description":"A unique identifier for the project logs event. If you don't provide one, Braintrust will generate one for you","type":"string"},"input":{"description":"The arguments that uniquely define a user input (an arbitrary, JSON serializable object)."},"is_root":{"description":"Whether this span is a root span","type":["boolean","null"]},"log_id":{"const":"g","description":"A literal 'g' which identifies the log as a project log","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"properties":{"model":{"description":"The model used for this example","type":["string","null"]}},"type":"object"},{"type":"null"}]},"metrics":{"anyOf":[{"additionalProperties":{"type":"number"},"properties":{"caller_filename":{"description":"This metric is deprecated"},"caller_functionname":{"description":"This metric is deprecated"},"caller_lineno":{"description":"This metric is deprecated"},"completion_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"end":{"description":"A unix timestamp recording when the section of code which produced the project logs event finished","type":["number","null"]},"prompt_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"start":{"description":"A unix timestamp recording when the section of code which produced the project logs event started","type":["number","null"]},"tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"org_id":{"description":"Unique id for the organization that the project belongs under","format":"uuid","type":"string"},"origin":{"anyOf":[{"description":"Reference to the original object and event this was copied from.","properties":{"_xact_id":{"description":"Transaction ID of the original event.","type":["string","null"]},"created":{"description":"Created timestamp of the original event. Used to help sort in the UI","type":["string","null"]},"id":{"description":"ID of the original event.","type":"string"},"object_id":{"description":"ID of the object the event is originating from.","format":"uuid","type":"string"},"object_type":{"description":"Type of the object the event is originating from.","enum":["project_logs","experiment","dataset","prompt","function","prompt_session"],"type":"string"}},"required":["object_type","object_id","id"],"type":"object"},{"type":"null"}]},"output":{"description":"The output of your application, including post-processing (an arbitrary, JSON serializable object), that allows you to determine whether the result is correct or not. For example, in an app that generates SQL queries, the `output` should be the _result_ of the SQL query generated by the model, not the query itself, because there may be multiple valid queries that answer a single question."},"project_id":{"description":"Unique identifier for the project","format":"uuid","type":"string"},"root_span_id":{"description":"A unique identifier for the trace this project logs event belongs to","type":"string"},"scores":{"anyOf":[{"additionalProperties":{"anyOf":[{"maximum":1,"minimum":0,"type":"number"},{"type":"null"}]},"properties":{},"type":"object"},{"type":"null"}]},"span_attributes":{"anyOf":[{"additionalProperties":{},"description":"Human-identifying attributes of the span, such as name, type, etc.","properties":{"name":{"description":"Name of the span, for display purposes only","type":["string","null"]},"purpose":{"anyOf":[{"enum":["scorer"],"type":"string"},{"type":"null"}]},"type":{"anyOf":[{"enum":["llm","score","function","eval","task","tool","automation","facet","preprocessor","classifier","review"],"type":"string"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"span_id":{"description":"A unique identifier used to link different project logs events together as part of a full trace. See the [tracing guide](https://www.braintrust.dev/docs/instrument) for full details on tracing","type":"string"},"span_parents":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]},"tags":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]}}}},"realtime_state":{"type":"on","minimum_xact_id":"1000197472073890576","read_bytes":4909,"actual_xact_id":"1000197472074645319"},"freshness_state":{"last_processed_xact_id":"1000197472074645319","last_considered_xact_id":"1000197472074645319"},"warnings":[]} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-caf1d4cd21cc.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-caf1d4cd21cc.json new file mode 100644 index 00000000..d245c47a --- /dev/null +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-caf1d4cd21cc.json @@ -0,0 +1 @@ +{"data":[{"_async_scoring_state":null,"_pagination_key":"p07680251233063075852","_xact_id":"1000197783586473083","audit_data":[{"_xact_id":"1000197783586473083","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":{"span_origin":{"instrumentation":{"name":"braintrust-java"},"name":"braintrust.sdk.java","version":"0.3.22-ca5ce6d-DIRTY"}},"created":"2026-08-31T17:37:15.010Z","error":null,"expected":null,"facets":null,"id":"51e7e236f288b1ff","input":null,"is_root":true,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","client":"anthropic"},"metrics":{"end":1788197835.946383,"start":1788197835.010616},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":null,"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"ee3a4491d8d25041aabe54818ddea535","scores":null,"span_attributes":{"name":"streaming","type":"task"},"span_id":"51e7e236f288b1ff","span_parents":null,"tags":null},{"_async_scoring_state":null,"_pagination_key":"p07680251233063075844","_xact_id":"1000197783586473083","audit_data":[{"_xact_id":"1000197783586473083","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":{"span_origin":{"instrumentation":{"name":"braintrust-java"},"name":"braintrust.sdk.java","version":"0.3.22-ca5ce6d-DIRTY"}},"created":"2026-08-31T17:37:15.026Z","error":null,"expected":null,"facets":null,"id":"42e64db3cfaca124","input":[{"content":"Count from 1 to 5.","role":"user"},{"content":"You are a helpful assistant.","role":"system"}],"is_root":false,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","max_tokens":128,"model":"claude-haiku-4-5-20251001","provider":"anthropic","request-id":"req_011CebERpqZ2xgQUWrJ8JMUm","request_base_uri":"","request_method":"POST","request_path":"v1/messages","response_id":"msg_011CebERqGMDa3KUKQkPoYUv","stream":true,"temperature":0},"metrics":{"completion_tokens":13,"end":1788197835.946272,"estimated_cost":0.000087,"prompt_cache_creation_1h_tokens":0,"prompt_cache_creation_5m_tokens":0,"prompt_cached_tokens":0,"prompt_tokens":22,"start":1788197835.0262442,"time_to_first_token":0.002151917,"tokens":35},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":{"content":[{"citations":null,"text":"1\n2\n3\n4\n5","type":"text","valid":true}],"id":"msg_011CebERqGMDa3KUKQkPoYUv","model":"claude-haiku-4-5-20251001","role":"assistant","stop_details":null,"stop_reason":"end_turn","stop_sequence":null,"type":"message","usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":0,"valid":true},"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"inference_geo":"not_available","input_tokens":22,"output_tokens":13,"server_tool_use":null,"service_tier":"standard","valid":true},"valid":true},"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"ee3a4491d8d25041aabe54818ddea535","scores":null,"span_attributes":{"name":"anthropic.messages.stream","type":"llm"},"span_id":"42e64db3cfaca124","span_parents":["51e7e236f288b1ff"],"tags":null}],"schema":{"type":"array","items":{"type":"object","properties":{"_async_scoring_state":{},"_pagination_key":{"description":"A stable, time-ordered key that can be used to paginate over project logs events. This field is auto-generated by Braintrust and only exists in Brainstore.","type":["string","null"]},"_xact_id":{"description":"The transaction id of an event is unique to the network operation that processed the event insertion. Transaction ids are monotonically increasing over time and can be used to retrieve a versioned snapshot of the project logs (see the `version` parameter)","type":"string"},"audit_data":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"classifications":{"anyOf":[{"additionalProperties":{"items":{"additionalProperties":false,"properties":{"confidence":{"description":"Optional confidence score for the classification","type":["number","null"]},"id":{"description":"Stable classification identifier","type":"string"},"label":{"description":"Original label of the classification item, which is useful for search and indexing purposes","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"type":"object"},{"type":"null"}],"description":"Optional metadata associated with the classification"},"source":{"anyOf":[{"anyOf":[{"additionalProperties":false,"properties":{"id":{"type":"string"},"type":{"const":"function","type":"string"},"version":{"description":"The version of the function","type":"string"}},"required":["type","id"],"type":"object"},{"additionalProperties":false,"properties":{"function_type":{"default":"scorer","description":"The type of global function. Defaults to 'scorer'.","enum":["llm","scorer","task","tool","custom_view","preprocessor","facet","classifier","tag","parameters","sandbox"],"type":"string"},"name":{"type":"string"},"type":{"const":"global","type":"string"}},"required":["type","name"],"type":"object"}]},{"type":"null"}],"description":"Optional function identifier that produced the classification"}},"required":["id"],"type":"object"},"type":"array"},"properties":{},"type":"object"},{"type":"null"}]},"comments":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"context":{"anyOf":[{"additionalProperties":{},"properties":{"caller_filename":{"description":"Name of the file in code where the project logs event was created","type":["string","null"]},"caller_functionname":{"description":"The function in code which created the project logs event","type":["string","null"]},"caller_lineno":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"created":{"description":"The timestamp the project logs event was created","format":"date-time","type":"string"},"error":{"description":"The error that occurred, if any."},"expected":{"description":"The ground truth value (an arbitrary, JSON serializable object) that you'd compare to `output` to determine if your `output` value is correct or not. Braintrust currently does not compare `output` to `expected` for you, since there are so many different ways to do that correctly. Instead, these values are just used to help you navigate while digging into analyses. However, we may later use these values to re-score outputs or fine-tune your models."},"facets":{"anyOf":[{"additionalProperties":{"type":["string","null"]},"properties":{},"type":"object"},{"type":"null"}]},"id":{"description":"A unique identifier for the project logs event. If you don't provide one, Braintrust will generate one for you","type":"string"},"input":{"description":"The arguments that uniquely define a user input (an arbitrary, JSON serializable object)."},"is_root":{"description":"Whether this span is a root span","type":["boolean","null"]},"log_id":{"const":"g","description":"A literal 'g' which identifies the log as a project log","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"properties":{"model":{"description":"The model used for this example","type":["string","null"]}},"type":"object"},{"type":"null"}]},"metrics":{"anyOf":[{"additionalProperties":{"type":"number"},"properties":{"caller_filename":{"description":"This metric is deprecated"},"caller_functionname":{"description":"This metric is deprecated"},"caller_lineno":{"description":"This metric is deprecated"},"completion_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"end":{"description":"A unix timestamp recording when the section of code which produced the project logs event finished","type":["number","null"]},"prompt_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"start":{"description":"A unix timestamp recording when the section of code which produced the project logs event started","type":["number","null"]},"tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"org_id":{"description":"Unique id for the organization that the project belongs under","format":"uuid","type":"string"},"origin":{"anyOf":[{"description":"Reference to the original object and event this was copied from.","properties":{"_xact_id":{"description":"Transaction ID of the original event.","type":["string","null"]},"created":{"description":"Created timestamp of the original event. Used to help sort in the UI","type":["string","null"]},"id":{"description":"ID of the original event.","type":"string"},"object_id":{"description":"ID of the object the event is originating from.","format":"uuid","type":"string"},"object_type":{"description":"Type of the object the event is originating from.","enum":["project_logs","experiment","dataset","prompt","function","prompt_session"],"type":"string"}},"required":["object_type","object_id","id"],"type":"object"},{"type":"null"}]},"output":{"description":"The output of your application, including post-processing (an arbitrary, JSON serializable object), that allows you to determine whether the result is correct or not. For example, in an app that generates SQL queries, the `output` should be the _result_ of the SQL query generated by the model, not the query itself, because there may be multiple valid queries that answer a single question."},"project_id":{"description":"Unique identifier for the project","format":"uuid","type":"string"},"root_span_id":{"description":"A unique identifier for the trace this project logs event belongs to","type":"string"},"scores":{"anyOf":[{"additionalProperties":{"anyOf":[{"maximum":1,"minimum":0,"type":"number"},{"type":"null"}]},"properties":{},"type":"object"},{"type":"null"}]},"span_attributes":{"anyOf":[{"additionalProperties":{},"description":"Human-identifying attributes of the span, such as name, type, etc.","properties":{"name":{"description":"Name of the span, for display purposes only","type":["string","null"]},"purpose":{"anyOf":[{"enum":["scorer"],"type":"string"},{"type":"null"}]},"type":{"anyOf":[{"enum":["llm","score","function","eval","task","tool","automation","facet","preprocessor","classifier","review"],"type":"string"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"span_id":{"description":"A unique identifier used to link different project logs events together as part of a full trace. See the [tracing guide](https://www.braintrust.dev/docs/instrument) for full details on tracing","type":"string"},"span_parents":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]},"tags":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]}}}},"realtime_state":{"type":"on","minimum_xact_id":"1000197783589161396","read_bytes":14598,"actual_xact_id":"1000197783589884487"},"freshness_state":{"last_processed_xact_id":"1000197783589161396","last_considered_xact_id":"1000197783589884487"},"warnings":[]} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-ce94618268f0.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-ce94618268f0.json new file mode 100644 index 00000000..ceca51d9 --- /dev/null +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-ce94618268f0.json @@ -0,0 +1 @@ +{"data":[{"_async_scoring_state":null,"_pagination_key":"p07680251366141722625","_xact_id":"1000197783588503702","audit_data":[{"_xact_id":"1000197783588503702","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":{"span_origin":{"instrumentation":{"name":"braintrust-java"},"name":"braintrust.sdk.java","version":"0.3.22-ca5ce6d-DIRTY"}},"created":"2026-08-31T17:37:35.083Z","error":null,"expected":null,"facets":null,"id":"6639b479be710cdd","input":null,"is_root":true,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","client":"openai"},"metrics":{"end":1788197867.3149095,"start":1788197855.0831842},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":null,"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"4a0404b3bfd3aebf88349a7c4b026ac3","scores":null,"span_attributes":{"name":"reasoning_completions","type":"task"},"span_id":"6639b479be710cdd","span_parents":null,"tags":null},{"_async_scoring_state":null,"_pagination_key":"p07680251366141722624","_xact_id":"1000197783588503702","audit_data":[{"_xact_id":"1000197783588503702","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":{"span_origin":{"instrumentation":{"name":"braintrust-java"},"name":"braintrust.sdk.java","version":"0.3.22-ca5ce6d-DIRTY"}},"created":"2026-08-31T17:37:35.091Z","error":null,"expected":null,"facets":null,"id":"3d29f5e2a66f055b","input":[{"content":"Look at this sequence: 2, 6, 12, 20, 30. What is the pattern and what would be the formula for the nth term?\n","role":"user"}],"is_root":false,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","model":"o4-mini","provider":"openai","reasoning_effort":"medium","request_base_uri":"http://localhost:52408","request_method":"POST","request_path":"chat/completions","response_id":"chatcmpl-EJ0Ep4pczItKj6LOlfYzg8eHSjsXJ","stream":false,"x-request-id":"req_94f766c967aa41a7b8b6c5fa0b60d629"},"metrics":{"completion_reasoning_tokens":832,"completion_tokens":1073,"end":1788197867.314545,"estimated_cost":0.004766300000000001,"prompt_cached_tokens":0,"prompt_tokens":41,"start":1788197855.091517,"tokens":1114},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":[{"finish_reason":"stop","index":0,"message":{"annotations":[],"content":"The sequence is\n\n 2, 6, 12, 20, 30, …\n\nObserve the gaps:\n\n 6−2=4, 12−6=6, 20−12=8, 30−20=10, …\n\nso you’re adding 4,6,8,10,… i.e. the even numbers from 4 upward. Equivalently the second differences are constant (2), so the \\(n\\)th term is a quadratic in \\(n\\). Fitting \n\\[a_n = an^2 + bn + c\\]\nto \\(a_1=2,\\;a_2=6,\\;a_3=12\\) gives \\(a=1,\\;b=1,\\;c=0\\), hence\n\nAnswer: \n \\[\n a_n = n^2 + n \\;=\\; n(n+1),\n \\quad n=1,2,3,\\dots\n \\]\n\nThese are called the “pronic” (or “oblong”) numbers.","refusal":null,"role":"assistant"}}],"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"4a0404b3bfd3aebf88349a7c4b026ac3","scores":null,"span_attributes":{"name":"Chat Completion","type":"llm"},"span_id":"3d29f5e2a66f055b","span_parents":["6639b479be710cdd"],"tags":null}],"schema":{"type":"array","items":{"type":"object","properties":{"_async_scoring_state":{},"_pagination_key":{"description":"A stable, time-ordered key that can be used to paginate over project logs events. This field is auto-generated by Braintrust and only exists in Brainstore.","type":["string","null"]},"_xact_id":{"description":"The transaction id of an event is unique to the network operation that processed the event insertion. Transaction ids are monotonically increasing over time and can be used to retrieve a versioned snapshot of the project logs (see the `version` parameter)","type":"string"},"audit_data":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"classifications":{"anyOf":[{"additionalProperties":{"items":{"additionalProperties":false,"properties":{"confidence":{"description":"Optional confidence score for the classification","type":["number","null"]},"id":{"description":"Stable classification identifier","type":"string"},"label":{"description":"Original label of the classification item, which is useful for search and indexing purposes","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"type":"object"},{"type":"null"}],"description":"Optional metadata associated with the classification"},"source":{"anyOf":[{"anyOf":[{"additionalProperties":false,"properties":{"id":{"type":"string"},"type":{"const":"function","type":"string"},"version":{"description":"The version of the function","type":"string"}},"required":["type","id"],"type":"object"},{"additionalProperties":false,"properties":{"function_type":{"default":"scorer","description":"The type of global function. Defaults to 'scorer'.","enum":["llm","scorer","task","tool","custom_view","preprocessor","facet","classifier","tag","parameters","sandbox"],"type":"string"},"name":{"type":"string"},"type":{"const":"global","type":"string"}},"required":["type","name"],"type":"object"}]},{"type":"null"}],"description":"Optional function identifier that produced the classification"}},"required":["id"],"type":"object"},"type":"array"},"properties":{},"type":"object"},{"type":"null"}]},"comments":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"context":{"anyOf":[{"additionalProperties":{},"properties":{"caller_filename":{"description":"Name of the file in code where the project logs event was created","type":["string","null"]},"caller_functionname":{"description":"The function in code which created the project logs event","type":["string","null"]},"caller_lineno":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"created":{"description":"The timestamp the project logs event was created","format":"date-time","type":"string"},"error":{"description":"The error that occurred, if any."},"expected":{"description":"The ground truth value (an arbitrary, JSON serializable object) that you'd compare to `output` to determine if your `output` value is correct or not. Braintrust currently does not compare `output` to `expected` for you, since there are so many different ways to do that correctly. Instead, these values are just used to help you navigate while digging into analyses. However, we may later use these values to re-score outputs or fine-tune your models."},"facets":{"anyOf":[{"additionalProperties":{"type":["string","null"]},"properties":{},"type":"object"},{"type":"null"}]},"id":{"description":"A unique identifier for the project logs event. If you don't provide one, Braintrust will generate one for you","type":"string"},"input":{"description":"The arguments that uniquely define a user input (an arbitrary, JSON serializable object)."},"is_root":{"description":"Whether this span is a root span","type":["boolean","null"]},"log_id":{"const":"g","description":"A literal 'g' which identifies the log as a project log","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"properties":{"model":{"description":"The model used for this example","type":["string","null"]}},"type":"object"},{"type":"null"}]},"metrics":{"anyOf":[{"additionalProperties":{"type":"number"},"properties":{"caller_filename":{"description":"This metric is deprecated"},"caller_functionname":{"description":"This metric is deprecated"},"caller_lineno":{"description":"This metric is deprecated"},"completion_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"end":{"description":"A unix timestamp recording when the section of code which produced the project logs event finished","type":["number","null"]},"prompt_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"start":{"description":"A unix timestamp recording when the section of code which produced the project logs event started","type":["number","null"]},"tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"org_id":{"description":"Unique id for the organization that the project belongs under","format":"uuid","type":"string"},"origin":{"anyOf":[{"description":"Reference to the original object and event this was copied from.","properties":{"_xact_id":{"description":"Transaction ID of the original event.","type":["string","null"]},"created":{"description":"Created timestamp of the original event. Used to help sort in the UI","type":["string","null"]},"id":{"description":"ID of the original event.","type":"string"},"object_id":{"description":"ID of the object the event is originating from.","format":"uuid","type":"string"},"object_type":{"description":"Type of the object the event is originating from.","enum":["project_logs","experiment","dataset","prompt","function","prompt_session"],"type":"string"}},"required":["object_type","object_id","id"],"type":"object"},{"type":"null"}]},"output":{"description":"The output of your application, including post-processing (an arbitrary, JSON serializable object), that allows you to determine whether the result is correct or not. For example, in an app that generates SQL queries, the `output` should be the _result_ of the SQL query generated by the model, not the query itself, because there may be multiple valid queries that answer a single question."},"project_id":{"description":"Unique identifier for the project","format":"uuid","type":"string"},"root_span_id":{"description":"A unique identifier for the trace this project logs event belongs to","type":"string"},"scores":{"anyOf":[{"additionalProperties":{"anyOf":[{"maximum":1,"minimum":0,"type":"number"},{"type":"null"}]},"properties":{},"type":"object"},{"type":"null"}]},"span_attributes":{"anyOf":[{"additionalProperties":{},"description":"Human-identifying attributes of the span, such as name, type, etc.","properties":{"name":{"description":"Name of the span, for display purposes only","type":["string","null"]},"purpose":{"anyOf":[{"enum":["scorer"],"type":"string"},{"type":"null"}]},"type":{"anyOf":[{"enum":["llm","score","function","eval","task","tool","automation","facet","preprocessor","classifier","review"],"type":"string"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"span_id":{"description":"A unique identifier used to link different project logs events together as part of a full trace. See the [tracing guide](https://www.braintrust.dev/docs/instrument) for full details on tracing","type":"string"},"span_parents":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]},"tags":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]}}}},"realtime_state":{"type":"on","minimum_xact_id":"1000197783589884487","read_bytes":0,"actual_xact_id":"1000197783589884487"},"freshness_state":{"last_processed_xact_id":"1000197783589884487","last_considered_xact_id":"1000197783589884487"},"warnings":[]} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-215064f2a22c.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-d0e930ab88f5.json similarity index 69% rename from test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-215064f2a22c.json rename to test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-d0e930ab88f5.json index e83f8258..303fd3c1 100644 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-215064f2a22c.json +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-d0e930ab88f5.json @@ -1 +1 @@ -{"data":[{"_async_scoring_state":null,"_pagination_key":"p07659835899147517953","_xact_id":"1000197472073199225","audit_data":[{"_xact_id":"1000197472073199225","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":null,"created":"2026-07-07T17:15:17.050Z","error":null,"expected":null,"facets":null,"id":"e77b8eeae29f2ab9","input":null,"is_root":true,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","client":"anthropic"},"metrics":{"end":1783444517.6432436,"start":1783444517.050671},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":null,"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"30ec82e693cf809c43216573b6d4a957","scores":null,"span_attributes":{"name":"messages","type":"task"},"span_id":"e77b8eeae29f2ab9","span_parents":null,"tags":null},{"_async_scoring_state":null,"_pagination_key":"p07659835899147517958","_xact_id":"1000197472073199225","audit_data":[{"_xact_id":"1000197472073199225","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":null,"created":"2026-07-07T17:15:17.063Z","error":null,"expected":null,"facets":null,"id":"0bf2fb94e8750b9a","input":[{"content":"What is the capital of France?","role":"user"},{"content":"You are a helpful assistant.","role":"system"}],"is_root":false,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","model":"claude-haiku-4-5-20251001","provider":"anthropic","request_base_uri":"","request_method":"POST","request_path":"v1/messages"},"metrics":{"completion_tokens":10,"end":1783444517.6429322,"estimated_cost":0.00007000000000000001,"prompt_cache_creation_1h_tokens":0,"prompt_cache_creation_5m_tokens":0,"prompt_cached_tokens":0,"prompt_tokens":20,"start":1783444517.0639334,"tokens":30},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":{"content":[{"text":"The capital of France is Paris.","type":"text"}],"id":"msg_011Cco5GK4DcbVKq5v4kuVsi","model":"claude-haiku-4-5-20251001","role":"assistant","stop_details":null,"stop_reason":"end_turn","stop_sequence":null,"type":"message","usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":0},"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"inference_geo":"not_available","input_tokens":20,"output_tokens":10,"service_tier":"standard"}},"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"30ec82e693cf809c43216573b6d4a957","scores":null,"span_attributes":{"name":"anthropic.messages.create","type":"llm"},"span_id":"0bf2fb94e8750b9a","span_parents":["e77b8eeae29f2ab9"],"tags":null}],"schema":{"type":"array","items":{"type":"object","properties":{"_async_scoring_state":{},"_pagination_key":{"description":"A stable, time-ordered key that can be used to paginate over project logs events. This field is auto-generated by Braintrust and only exists in Brainstore.","type":["string","null"]},"_xact_id":{"description":"The transaction id of an event is unique to the network operation that processed the event insertion. Transaction ids are monotonically increasing over time and can be used to retrieve a versioned snapshot of the project logs (see the `version` parameter)","type":"string"},"audit_data":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"classifications":{"anyOf":[{"additionalProperties":{"items":{"additionalProperties":false,"properties":{"confidence":{"description":"Optional confidence score for the classification","type":["number","null"]},"id":{"description":"Stable classification identifier","type":"string"},"label":{"description":"Original label of the classification item, which is useful for search and indexing purposes","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"type":"object"},{"type":"null"}],"description":"Optional metadata associated with the classification"},"source":{"anyOf":[{"anyOf":[{"additionalProperties":false,"properties":{"id":{"type":"string"},"type":{"const":"function","type":"string"},"version":{"description":"The version of the function","type":"string"}},"required":["type","id"],"type":"object"},{"additionalProperties":false,"properties":{"function_type":{"default":"scorer","description":"The type of global function. Defaults to 'scorer'.","enum":["llm","scorer","task","tool","custom_view","preprocessor","facet","classifier","tag","parameters","sandbox"],"type":"string"},"name":{"type":"string"},"type":{"const":"global","type":"string"}},"required":["type","name"],"type":"object"}]},{"type":"null"}],"description":"Optional function identifier that produced the classification"}},"required":["id"],"type":"object"},"type":"array"},"properties":{},"type":"object"},{"type":"null"}]},"comments":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"context":{"anyOf":[{"additionalProperties":{},"properties":{"caller_filename":{"description":"Name of the file in code where the project logs event was created","type":["string","null"]},"caller_functionname":{"description":"The function in code which created the project logs event","type":["string","null"]},"caller_lineno":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"created":{"description":"The timestamp the project logs event was created","format":"date-time","type":"string"},"error":{"description":"The error that occurred, if any."},"expected":{"description":"The ground truth value (an arbitrary, JSON serializable object) that you'd compare to `output` to determine if your `output` value is correct or not. Braintrust currently does not compare `output` to `expected` for you, since there are so many different ways to do that correctly. Instead, these values are just used to help you navigate while digging into analyses. However, we may later use these values to re-score outputs or fine-tune your models."},"facets":{"anyOf":[{"additionalProperties":{"type":["string","null"]},"properties":{},"type":"object"},{"type":"null"}]},"id":{"description":"A unique identifier for the project logs event. If you don't provide one, Braintrust will generate one for you","type":"string"},"input":{"description":"The arguments that uniquely define a user input (an arbitrary, JSON serializable object)."},"is_root":{"description":"Whether this span is a root span","type":["boolean","null"]},"log_id":{"const":"g","description":"A literal 'g' which identifies the log as a project log","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"properties":{"model":{"description":"The model used for this example","type":["string","null"]}},"type":"object"},{"type":"null"}]},"metrics":{"anyOf":[{"additionalProperties":{"type":"number"},"properties":{"caller_filename":{"description":"This metric is deprecated"},"caller_functionname":{"description":"This metric is deprecated"},"caller_lineno":{"description":"This metric is deprecated"},"completion_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"end":{"description":"A unix timestamp recording when the section of code which produced the project logs event finished","type":["number","null"]},"prompt_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"start":{"description":"A unix timestamp recording when the section of code which produced the project logs event started","type":["number","null"]},"tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"org_id":{"description":"Unique id for the organization that the project belongs under","format":"uuid","type":"string"},"origin":{"anyOf":[{"description":"Reference to the original object and event this was copied from.","properties":{"_xact_id":{"description":"Transaction ID of the original event.","type":["string","null"]},"created":{"description":"Created timestamp of the original event. Used to help sort in the UI","type":["string","null"]},"id":{"description":"ID of the original event.","type":"string"},"object_id":{"description":"ID of the object the event is originating from.","format":"uuid","type":"string"},"object_type":{"description":"Type of the object the event is originating from.","enum":["project_logs","experiment","dataset","prompt","function","prompt_session"],"type":"string"}},"required":["object_type","object_id","id"],"type":"object"},{"type":"null"}]},"output":{"description":"The output of your application, including post-processing (an arbitrary, JSON serializable object), that allows you to determine whether the result is correct or not. For example, in an app that generates SQL queries, the `output` should be the _result_ of the SQL query generated by the model, not the query itself, because there may be multiple valid queries that answer a single question."},"project_id":{"description":"Unique identifier for the project","format":"uuid","type":"string"},"root_span_id":{"description":"A unique identifier for the trace this project logs event belongs to","type":"string"},"scores":{"anyOf":[{"additionalProperties":{"anyOf":[{"maximum":1,"minimum":0,"type":"number"},{"type":"null"}]},"properties":{},"type":"object"},{"type":"null"}]},"span_attributes":{"anyOf":[{"additionalProperties":{},"description":"Human-identifying attributes of the span, such as name, type, etc.","properties":{"name":{"description":"Name of the span, for display purposes only","type":["string","null"]},"purpose":{"anyOf":[{"enum":["scorer"],"type":"string"},{"type":"null"}]},"type":{"anyOf":[{"enum":["llm","score","function","eval","task","tool","automation","facet","preprocessor","classifier","review"],"type":"string"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"span_id":{"description":"A unique identifier used to link different project logs events together as part of a full trace. See the [tracing guide](https://www.braintrust.dev/docs/instrument) for full details on tracing","type":"string"},"span_parents":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]},"tags":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]}}}},"realtime_state":{"type":"on","minimum_xact_id":"1000197472073890576","read_bytes":0,"actual_xact_id":"1000197472073890576"},"freshness_state":{"last_processed_xact_id":"1000197472073890576","last_considered_xact_id":"1000197472073890576"},"warnings":[]} \ No newline at end of file +{"data":[{"_async_scoring_state":null,"_pagination_key":"p07680251177209954306","_xact_id":"1000197783585620832","audit_data":[{"_xact_id":"1000197783585620832","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":{"span_origin":{"instrumentation":{"name":"braintrust-java"},"name":"braintrust.sdk.java","version":"0.3.22-ca5ce6d-DIRTY"}},"created":"2026-08-31T17:36:56.855Z","error":null,"expected":null,"facets":null,"id":"1fb1988f24f324f6","input":null,"is_root":true,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","client":"bedrock"},"metrics":{"end":1788197818.5135489,"start":1788197816.855284},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":null,"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"1b2808a2e0f7cbbf5e10229bcefb7b5c","scores":null,"span_attributes":{"name":"converse","type":"task"},"span_id":"1fb1988f24f324f6","span_parents":null,"tags":null},{"_async_scoring_state":null,"_pagination_key":"p07680251177209954310","_xact_id":"1000197783585620832","audit_data":[{"_xact_id":"1000197783585620832","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":{"span_origin":{"instrumentation":{"name":"braintrust-java"},"name":"braintrust.sdk.java","version":"0.3.22-ca5ce6d-DIRTY"}},"created":"2026-08-31T17:36:57.004Z","error":null,"expected":null,"facets":null,"id":"72c1bf0d8f128b4a","input":[{"content":[{"text":"What is the capital of France?","type":"text"}],"role":"user"}],"is_root":false,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","endpoint":"converse","model":"us.amazon.nova-lite-v1:0","provider":"bedrock","request_base_uri":"http://localhost","request_method":"POST","request_path":"model/us.amazon.nova-lite-v1%3A0/converse"},"metrics":{"completion_tokens":137,"end":1788197818.5100856,"estimated_cost":0.000033299999999999996,"prompt_tokens":7,"start":1788197817.0041902,"tokens":144},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":[{"content":[{"text":"The capital of France is Paris. Paris is not only the capital but also the largest city in France, known for its significant influence in various fields such as art, fashion, gastronomy, and culture. It is located in the northern part of the country along the Seine River. Paris is home to many famous landmarks and institutions, including the Eiffel Tower, the Louvre Museum, Notre-Dame Cathedral, and the Palace of Versailles. The city is divided into 20 administrative arrondissements (districts), each with its own unique character and attractions. As a global city, Paris plays a crucial role in international diplomacy, hosting numerous embassies and being the seat of various international organizations.","type":"text"}],"role":"assistant"}],"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"1b2808a2e0f7cbbf5e10229bcefb7b5c","scores":null,"span_attributes":{"name":"bedrock.converse","type":"llm"},"span_id":"72c1bf0d8f128b4a","span_parents":["1fb1988f24f324f6"],"tags":null}],"schema":{"type":"array","items":{"type":"object","properties":{"_async_scoring_state":{},"_pagination_key":{"description":"A stable, time-ordered key that can be used to paginate over project logs events. This field is auto-generated by Braintrust and only exists in Brainstore.","type":["string","null"]},"_xact_id":{"description":"The transaction id of an event is unique to the network operation that processed the event insertion. Transaction ids are monotonically increasing over time and can be used to retrieve a versioned snapshot of the project logs (see the `version` parameter)","type":"string"},"audit_data":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"classifications":{"anyOf":[{"additionalProperties":{"items":{"additionalProperties":false,"properties":{"confidence":{"description":"Optional confidence score for the classification","type":["number","null"]},"id":{"description":"Stable classification identifier","type":"string"},"label":{"description":"Original label of the classification item, which is useful for search and indexing purposes","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"type":"object"},{"type":"null"}],"description":"Optional metadata associated with the classification"},"source":{"anyOf":[{"anyOf":[{"additionalProperties":false,"properties":{"id":{"type":"string"},"type":{"const":"function","type":"string"},"version":{"description":"The version of the function","type":"string"}},"required":["type","id"],"type":"object"},{"additionalProperties":false,"properties":{"function_type":{"default":"scorer","description":"The type of global function. Defaults to 'scorer'.","enum":["llm","scorer","task","tool","custom_view","preprocessor","facet","classifier","tag","parameters","sandbox"],"type":"string"},"name":{"type":"string"},"type":{"const":"global","type":"string"}},"required":["type","name"],"type":"object"}]},{"type":"null"}],"description":"Optional function identifier that produced the classification"}},"required":["id"],"type":"object"},"type":"array"},"properties":{},"type":"object"},{"type":"null"}]},"comments":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"context":{"anyOf":[{"additionalProperties":{},"properties":{"caller_filename":{"description":"Name of the file in code where the project logs event was created","type":["string","null"]},"caller_functionname":{"description":"The function in code which created the project logs event","type":["string","null"]},"caller_lineno":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"created":{"description":"The timestamp the project logs event was created","format":"date-time","type":"string"},"error":{"description":"The error that occurred, if any."},"expected":{"description":"The ground truth value (an arbitrary, JSON serializable object) that you'd compare to `output` to determine if your `output` value is correct or not. Braintrust currently does not compare `output` to `expected` for you, since there are so many different ways to do that correctly. Instead, these values are just used to help you navigate while digging into analyses. However, we may later use these values to re-score outputs or fine-tune your models."},"facets":{"anyOf":[{"additionalProperties":{"type":["string","null"]},"properties":{},"type":"object"},{"type":"null"}]},"id":{"description":"A unique identifier for the project logs event. If you don't provide one, Braintrust will generate one for you","type":"string"},"input":{"description":"The arguments that uniquely define a user input (an arbitrary, JSON serializable object)."},"is_root":{"description":"Whether this span is a root span","type":["boolean","null"]},"log_id":{"const":"g","description":"A literal 'g' which identifies the log as a project log","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"properties":{"model":{"description":"The model used for this example","type":["string","null"]}},"type":"object"},{"type":"null"}]},"metrics":{"anyOf":[{"additionalProperties":{"type":"number"},"properties":{"caller_filename":{"description":"This metric is deprecated"},"caller_functionname":{"description":"This metric is deprecated"},"caller_lineno":{"description":"This metric is deprecated"},"completion_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"end":{"description":"A unix timestamp recording when the section of code which produced the project logs event finished","type":["number","null"]},"prompt_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"start":{"description":"A unix timestamp recording when the section of code which produced the project logs event started","type":["number","null"]},"tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"org_id":{"description":"Unique id for the organization that the project belongs under","format":"uuid","type":"string"},"origin":{"anyOf":[{"description":"Reference to the original object and event this was copied from.","properties":{"_xact_id":{"description":"Transaction ID of the original event.","type":["string","null"]},"created":{"description":"Created timestamp of the original event. Used to help sort in the UI","type":["string","null"]},"id":{"description":"ID of the original event.","type":"string"},"object_id":{"description":"ID of the object the event is originating from.","format":"uuid","type":"string"},"object_type":{"description":"Type of the object the event is originating from.","enum":["project_logs","experiment","dataset","prompt","function","prompt_session"],"type":"string"}},"required":["object_type","object_id","id"],"type":"object"},{"type":"null"}]},"output":{"description":"The output of your application, including post-processing (an arbitrary, JSON serializable object), that allows you to determine whether the result is correct or not. For example, in an app that generates SQL queries, the `output` should be the _result_ of the SQL query generated by the model, not the query itself, because there may be multiple valid queries that answer a single question."},"project_id":{"description":"Unique identifier for the project","format":"uuid","type":"string"},"root_span_id":{"description":"A unique identifier for the trace this project logs event belongs to","type":"string"},"scores":{"anyOf":[{"additionalProperties":{"anyOf":[{"maximum":1,"minimum":0,"type":"number"},{"type":"null"}]},"properties":{},"type":"object"},{"type":"null"}]},"span_attributes":{"anyOf":[{"additionalProperties":{},"description":"Human-identifying attributes of the span, such as name, type, etc.","properties":{"name":{"description":"Name of the span, for display purposes only","type":["string","null"]},"purpose":{"anyOf":[{"enum":["scorer"],"type":"string"},{"type":"null"}]},"type":{"anyOf":[{"enum":["llm","score","function","eval","task","tool","automation","facet","preprocessor","classifier","review"],"type":"string"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"span_id":{"description":"A unique identifier used to link different project logs events together as part of a full trace. See the [tracing guide](https://www.braintrust.dev/docs/instrument) for full details on tracing","type":"string"},"span_parents":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]},"tags":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]}}}},"realtime_state":{"type":"on","minimum_xact_id":"1000197783589161396","read_bytes":14598,"actual_xact_id":"1000197783589884487"},"freshness_state":{"last_processed_xact_id":"1000197783589884487","last_considered_xact_id":"1000197783589884487"},"warnings":[]} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-d4553aaf98eb.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-d4553aaf98eb.json new file mode 100644 index 00000000..9ef22477 --- /dev/null +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-d4553aaf98eb.json @@ -0,0 +1 @@ +{"data":[{"_async_scoring_state":null,"_pagination_key":"p07680251456632848385","_xact_id":"1000197783589884487","audit_data":[{"_xact_id":"1000197783589884487","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":{"span_origin":{"instrumentation":{"name":"braintrust-java"},"name":"braintrust.sdk.java","version":"0.3.22-ca5ce6d-DIRTY"}},"created":"2026-08-31T17:37:25.617Z","error":null,"expected":null,"facets":null,"id":"15d926ed2e259f58","input":null,"is_root":true,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","client":"openai"},"metrics":{"end":1788197885.3437707,"start":1788197845.61771},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":null,"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"0cc4a1016d9cfaeed42dd99357f1a116","scores":null,"span_attributes":{"name":"reasoning","type":"task"},"span_id":"15d926ed2e259f58","span_parents":null,"tags":null},{"_async_scoring_state":null,"_pagination_key":"p07680251409244356609","_xact_id":"1000197783589161396","audit_data":[{"_xact_id":"1000197783589161396","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":{"span_origin":{"instrumentation":{"name":"braintrust-java"},"name":"braintrust.sdk.java","version":"0.3.22-ca5ce6d-DIRTY"}},"created":"2026-08-31T17:37:25.634Z","error":null,"expected":null,"facets":null,"id":"fbf2c2de8fdc290a","input":[{"content":"Look at this sequence: 2, 6, 12, 20, 30. What is the pattern and what would be the formula for the nth term?\n","role":"user"}],"is_root":false,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","model":"o4-mini","provider":"openai","reasoning":{"effort":"high","summary":"detailed"},"request_base_uri":"http://localhost:52408","request_method":"POST","request_path":"responses","response_id":"resp_0cdcf22d3808a85f006a95bbd61bbc87d0a4b3ddd0c8f4e33a","x-request-id":"req_6675dcd1377a4e809468d792789229ca"},"metrics":{"completion_reasoning_tokens":1152,"completion_tokens":1293,"end":1788197877.212169,"estimated_cost":0.005734300000000001,"prompt_cached_tokens":0,"prompt_tokens":41,"start":1788197845.634165,"tokens":1334},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":[{"content":[],"encrypted_content":"gAAAAABqlbv0R1eufJtJbpIkOfSDwwyF5lQNyx50eyNFEAQYx630DXHxgoY9Jq3Tr-55UnSd6tmfLMfB-J6kUQ8cC4ou18k1bNH5wWN2tr8R6qRHS5_7b9ars4VkbJ9VOo4vEghADLo3XSZLVDqAxJPv17iLQXxfkTXgO-3SlFFYdFt-P8qQsW6eGGzQvZBSrN4E14vZPfPUleTkWwttsdlyA8Ma7Yio2rhmQOyflOhQfU2QVZ7s2JwvAPAbjF8_e5MHsD5jvhzvGWhHOKlNJrQ2Jd9tMQjkzWciwEzy1wjxP52x0m-in6cEHr2zhh_rKwHtOUSeC8DvqjeY76hOH4vLuuGe6GWxvQnhRZvu4MUdnPh0V9DiYiNwcaf2oawPKGQ81Ym3qwXRM2LC-qvYDJ2NHDkCNHZW7FSoJt8w-T7KhT-Bs-VaV4biMqs0sPHkJQ2Fs9yBSu8SqauxboASnx5ivXIsO4tI860xy4cW1B9-aWyqdFXSvi4QKYf7FuGU_aWbNr8-atpgj8Z_NITWh9z7XUXTgPHQ8I9wBoA4ThK1gicMnyG6HalA7lmeUeMhiSnfUMdOCAhp2_orJf4l0EZ3PMCxneIiFIXeoMIPq3YVQm6kswbEROUTFG3JlKchrTJ6Fed5sbtAGlN4vektll9l6U1iWgL8ZjAI995qSe6zcf0UhE75sR_KZNSS5W-jWFO1k-FzfrBouMzTYegfBmllfZ2DbA_iQz8chQoDQyb2-_9ALHs9Gq6F8ar5KY1jbnh1RV1jlRsXlAfjG9-4ibqyRHsHv7bMLe0M4SngpnEhpK-G-RCLk3L5ij4Jh3Vp_amD3o6LpLzcpANbLac-geQFzxUzImDO_Ior0CAGLyiMemXE0mBY5auEtsDny6SRKwZH98bluWH-U9PFB_nONLq07klJZuygho9BJ7Uc51jwXL279U74DjTaH0yfZhFckXfeIsEfOHRkJUVtXeiqUtKksgnzrZ-WHyg-2VLIvoLMEqcK1o3b9aHNi7nJvPoFd1rZRdEtjrnNF9Yr_qTq_Vl-qbPm7ufNt9ZKuD0pCpnY4XGwvoJdetmL5HQJDcrqBpPvuM4FfyPc8Fi_SUikd5cAdlXtB9bysGzSIgVQyxIHUVOnGUxSOHqnb644NPze_mGP1uI02ZhwK55FbCOQTbX30ltwzEJxt3KRIjLOiJIO5rU2ogodcY4kPqg-HgB7NupgzL_Q9JyQZIp1uD063kMOvWB6vldjVw3kDsMVNFtlUIO6oafPwxNf1zaK4RUan718ephxQA6iS-9S2RBfYRnuuNrGUaunRmg37_1ttH_qAOc4zxIC3HobJoAvEi64b9VMu30jF7P17nctX5p_B98fN_dJE_rrbALg9LzHFD8QjomJGiseBoumw4D2X73Bb1ocyAxt3MmUvbYzw4aYPWKl4-TRIOKK176SN24aQ9vF3V3_rcfvghjsyiGCiIoTXy1ubghm9oMRv2gorYMmywxfLv1sQ9mjkDUJYoarmzRzzJLCyBhi4Qdd4KpOGdBwe9_ONm-whwTTDU8yzrwoOQNnjNBDDwaRQA3xowTg_Qx1QjSTZ2sF0nqPYvU0V6co0Wpd_8rJIAhalAGmLDDxx-U2Cy7VSg6fc2pXLBkfaOU_34apCygjec0Ne2Wn6SOfhSYDb8w7ChD6fUow7Vt5dA8hT6NBpIcQhwLb5TNYdBbKznBH_UULjCu5m0qmoSND-YAe2j2SLLTuXs3QZ3eOTeKGaFt6A9xTiXDdGnqmTweP-UYP2q4H2UJVX3f2nJ6xn7quRekZVylpl-PgMA4Zq_sVe1ir1gKCgXttnQM_bQ1OG5FIquWogHWuU42iM2nOfzXnD7tl_ugmdtO3qfcOPcypMKl8t87fROLKkBHeuhnscyehdFIl0DUkpgJZy6Uw6K0pF_UmYrv5c7pQfcS04C_R1XpsjOQVo2r9otSQYN_MqRgAIp_zu6orJp1gCWEte7t81a6KdAjIc8ryqV9mW0Xru6UAENxgfH3CrZkSVvryZ7tC9uURDZCd1jAfyoOuqJHwN2sTOF5-JdXevibb4Thy9UQftBy1vjP1KDHHUqoea9NHZdLDZgwq_kA0qtKNiw5lYj9SWp1UaqNYKOSWiC4EzXQGJ9d5S296e4H4QFqe0x_a1cWLO3-lOQ84hiZeSGmXl_JlLnUe4J53EaEzglKLsQ9EhTgQIL9dtHSVeQQfCeUspWpj_SjlRKFUoc5Hr81xLSXoX-pyYDvTdvE6GY9Un5UvjtNbRAXqjAqSg6gObhogzGU0eVWjNCUW_JqXLlvbcGBxLaFoACjrQOUnW3Jrqmn2_zzp8hrBxV5a1xzlyXM8-gu82qDckyJo74KiXT-z85Vbs2QKWmX_j-NubamctY_mSqQYpn1ihSYM1vMDBKPKxiUV8iHr006ALqoW3gmJwHWeaNgexE8X4bb_pAdRqHCEmou1AqUHDvA7bnqE8V6zM09DEDCei0FKPScse73slv5KBgmxJd-m3DHVsV9iRzHgE5678nffXor0DDkbMb0KeZMOk-Op_rCvlQbeWnvjkCDuQqfa4G4rCwEdOoEfj8-D16znJe2NiZKgGkZyRBd7-zGfY1ktxxft9bjot9bsGFkAeMsrL2fWFB4uAyRJUDnsXjHxTQZZa7htnTUOuQyLsgBA514h4AFPqVVUSyilQiRUyRt8ew3fpNuJMEm1C9nX1HAmiBqYkLA7YRtbwym-MMKPyIOA1fdi5_aUNXA6ilyUUytG3Cqn1J36nD_05XdJT15_MOjtwKwMTLIlL_Zxr0GeMXreYPb71tMZmbm7nKjttWDgd6tdQ9xKr9H4RSHdhPGBZ4z_36brBzQPZmC5MwqHL5B4e1igeApdanOlM2WJGdYYvhzgy0NonSbuFirLCy-TivmI7Qj0et06oStbEX8C7LjMEpiGjiMjT3m0VYVRggZgYizsTUxoSFBMN0tpbbQvCyQsthM-UbToje7uDppG9yfQH9rw1__AmGa7S02kVOju4wwSy_CNwPaHmtLEnCpWoGKVWxPE9eGtvJPaPOG3kJ0K4KLTbSM50JRezjY59pw630JeZLes8E7m_3f0XRaxP4gQSXaM83HM001Ae0zYjZLtFeRTygw9kIXPms1sUtP7qtPDimAw4HG008e6CCEvZ7OdcLP80uhc16afDLyXJH7B4bpTI44WRvtunScyNgaKVTzPfCGqpeF-q-8IjokZbgaymFVuNcDRLyvwTq1b6L_m3TiScvrJpd1YtQmJXbipfpTDdDbbcgunMBX8mmfWcO8atngnOwek490LnBJH1y3088DGAfN8lfi7pABZno3P1ctdhZqMw15EoRkZCC48UZxWtAWmqIigDmZOyOVbPEjA-8v9aWQ9ys5ofC-7ecnx-RAUh9TsFHpCnk53Asl20QdyYdFA2ZmlREx2Q0POGQgjGbTT3zS7TDiMvCs98SipQoHh_bYBKLG3qCOWrsOk87k1rErBM-caf6GIZeRtn-TfYIbnb8sRto8micDjh7riRgUHs9X8VPqwnR3B3eKHyVrS_gLt9dkKQRLXDS-qFzKdUP80AOnR5V9tlNKBdsR2Y1fMaVRk0SV-UPlxEB3aGbUdfBhxzknQxnc0cd0HaNTe1Eak4Bm5uHNnP7oNdxoIJ2o9haMpXyLmnVbKxXFnZbq7om319NGkbYO6yYeLw-XquQvJ03Up-EKQN0OT70OR6CWfKgL2kQcXWp7kwQa8OTis-5ueWeE1pSea3WTT37NSvILEch3CvBJzavZAo-6YM0Avd4mV5EyenDn0kQbShpwc6Ep_s2TJPErn73EdcNqLWRXGN812HHV89yvkx5ikXG7aMGOkk8LZ77bVkJ6tanVteeL6e6ob0-_Tiolv_bNKdzcHGuX-2m_mjrkpF60TDlp95Cgq-6z6MEai8iVGmOekPNdk2zNqXQGdUocOg5XhHYbtgmhmFLpJoE0ZykyMPZ4YyPkn01juVQtH0UvULwO7cQpJEm21lkt9DB3nEtEqnuAT8JxetIvk3FZhSXpuSwi8UqEgiRind2U_4BCHTbx6PDtwuVC5DXjvxWg90v5vQihn5jRIi8-VpU7HgfYftg9gxmZxQXHcc7RQFUw18L_EktGmbIqb3HWrjBaZ8wgRL7iCKefKVved-dJhofx3u7N-yUZHK0Ko7GEc_aF4x-4CkxmSuSgjjzYQPwdCZ_EXYNtNngAeWCaUcrKi_qP11K4NEkbG5_QX5-5tJFxlsrOwUftNNOYGjZc_E8RcSjlJJz11tY27nwDy2-5N5TJPNPKJNsYsVZSgyqhRtls1bRN8UqGxdxntGbprGQVyLdtRRfifF24wTHHfkZlZ0LwBSupapvViaq6UwcXYL-ke05gM-Tp-g94qcP29ikhRc1-sHmtBu3cd90GE3zklc03rBG13P-DtNVaAG_N_kQyKeSVYAUYXj4LOpn79BrJusj5QCXlvQWLXq8xzdvqb4Yp7nAQRphCUMg9xiFbUs0EfmgFhipxX8Rw_9fb2N2QsCctaDlqLrE28msB93S3lLhPJfl22Wjqt9for2Poz8Tz8TcGs3yZ-qBfHFrbD8J2mTRWD1iaGktJqZ5MIEnK0CilO-zwPRHDkgBMUpdQEdytTHHge3dyxhtOYgipdnausN0H83XzhK266FrVgNHzBkyKdibsUrI_WiGpE62pO6QHvvcHhXxcVBuTEZGfiDIJpnZZ_QOf--DazVvMK4H3Jdt5LNYwHx_nm5ZtMye8isQUKOh5-LFUNFlXRSeVe0xTl_Ozj2knoYd2z5iXuWoeZjd-T_sa9n0CX_naFtxwKR3KiLe_Z4bwWTHR2yy15l0DKhK-wIDslG2qvyCBdf3D47tOTW6-Ffln4XYe5L9EudzzUJ2Qb_d3S8WnngUmkTZmeVy78t-QFqO_dQf8YY4TF3l0AL2QHMhT4VU9bvXtx6Zghx2Eb8mGXQ-cChufQSw252JyS1_l0VZmQvqGvTUm8pFkg0kz9JQ_WJiHDn5qM-q_FzEb5QLWjAVTzEG1aP6p7CufWDK6HJwzzkp3khLeRcLLvfbAHvU9C0A0rIrimhP94p_3MHv_v8gl-pa0VOX5CT8N7bKlDjfiya9q7_OWICcC_JPYaBCNgCZ1SKWfi4XaivfeRRuez7IvLOUSLyUAeN72dIECBKI5I6jth-c-LlTLadL-2jTXDVLRyo0gWnUfrnoz9l5tchixXwP9Kf0CRe7AaCz_qLG_1b-BAhjV2LDvSQfkOFh1mL_cI4bQTspUMizLkVy6UJOeqBCKvH-f9ElEPqQIfpVQeSHZjmzzDkT3bag667KPPsKJnmHKWGqNrk-nMAULOVrsvtD4O156wo_UpCuKN7-nNYhOexTaneNcobnCEnWlid-9ibJS7Bk9UyvA_Zu_SVh6iM3elesaQ4lK1MJrZ5yTSGuVcnVdZKTPfQxqVPC9_2L86XJivB7Odc_abxnTRM8LsoODSl_0FQWfnbU1-jIFggxFQiPfFP7u-KzFE1qmKOWtbIvcQH-eZ1AZ11Cbmy0RgeRkIXTCF7YIcoag277N1GXSspM_GU3uB7nTQ2p63GO_SDGSRh92c-6PM3gmJOdPffP0fcHlGDL-Lhzn-VPagk1Ib4iQZHMVAD2HQIZ1WBJC2cORqHRwjvcgYs2-xx9iu7AMQG1UlLho=","id":"rs_0cdcf22d3808a85f006a95bbd7218887d09fb602e6a1419ef0","summary":[{"text":"**Identifying the Sequence**\n\nThe user wants to explore the pattern in the sequence: 2, 6, 12, 20, 30. I see that it looks like these are double the triangular numbers, which are defined as T_n = n(n+1)/2. When I double these values, I indeed get the sequence: 2, 6, 12, 20, 30. So, the nth term is given by the formula a_n = n(n+1). This highlights that these numbers are pronic numbers, being products of consecutive integers.","type":"summary_text"},{"text":"**Deriving the Formula**\n\nI can express the nth term as a_n = 2 times the triangular number or as a_n = 2*C(n+1, 2), but the simplest form is a_n = n(n+1). The sequence shows constant second differences, confirming it's quadratic. The differences between terms are even numbers: 4, 6, 8, and 10, with differences increasing by 2. After solving the equations formed, I found a_n = n^2 + n, identifying it as pronic numbers—products of consecutive integers starting from 1.","type":"summary_text"},{"text":"**Finalizing the Answer**\n\nThe pattern I've identified consists of numbers in the form n(n+1). Therefore, I can express the nth term as a_n = n(n+1) or a_n = n^2 + n. These numbers are also twice the triangular numbers, since T_n = n(n+1)/2 leads to a_n = 2T_n. Notably, the first differences form an arithmetic progression: 4, 6, 8, 10. Given that the second difference is constant at 2, the general term simplifies to a quadratic equation: a_n = n^2 + n.","type":"summary_text"}],"type":"reasoning"},{"content":[{"annotations":[],"logprobs":[],"text":"The terms are the “pronic” (or oblong) numbers, i.e. products of two consecutive integers:\n\n 1·2 = 2, 2·3 = 6, 3·4 = 12, 4·5 = 20, 5·6 = 30, …\n\nHence if you start counting at n=1 the nth term is\n\n aₙ = n·(n + 1)\n\nor equivalently\n\n aₙ = n² + n.","type":"output_text"}],"id":"msg_0cdcf22d3808a85f006a95bbf0c93087d0a6bcf30b13f4e166","role":"assistant","status":"completed","type":"message"}],"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"0cc4a1016d9cfaeed42dd99357f1a116","scores":null,"span_attributes":{"name":"responses","type":"llm"},"span_id":"fbf2c2de8fdc290a","span_parents":["15d926ed2e259f58"],"tags":null},{"_async_scoring_state":null,"_pagination_key":"p07680251456632848384","_xact_id":"1000197783589884487","audit_data":[{"_xact_id":"1000197783589884487","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":{"span_origin":{"instrumentation":{"name":"braintrust-java"},"name":"braintrust.sdk.java","version":"0.3.22-ca5ce6d-DIRTY"}},"created":"2026-08-31T17:37:57.225Z","error":null,"expected":null,"facets":null,"id":"49baeacf4125b3ba","input":[{"content":"Look at this sequence: 2, 6, 12, 20, 30. What is the pattern and what would be the formula for the nth term?\n","role":"user"},{"content":[],"encrypted_content":"gAAAAABqlbv0R1eufJtJbpIkOfSDwwyF5lQNyx50eyNFEAQYx630DXHxgoY9Jq3Tr-55UnSd6tmfLMfB-J6kUQ8cC4ou18k1bNH5wWN2tr8R6qRHS5_7b9ars4VkbJ9VOo4vEghADLo3XSZLVDqAxJPv17iLQXxfkTXgO-3SlFFYdFt-P8qQsW6eGGzQvZBSrN4E14vZPfPUleTkWwttsdlyA8Ma7Yio2rhmQOyflOhQfU2QVZ7s2JwvAPAbjF8_e5MHsD5jvhzvGWhHOKlNJrQ2Jd9tMQjkzWciwEzy1wjxP52x0m-in6cEHr2zhh_rKwHtOUSeC8DvqjeY76hOH4vLuuGe6GWxvQnhRZvu4MUdnPh0V9DiYiNwcaf2oawPKGQ81Ym3qwXRM2LC-qvYDJ2NHDkCNHZW7FSoJt8w-T7KhT-Bs-VaV4biMqs0sPHkJQ2Fs9yBSu8SqauxboASnx5ivXIsO4tI860xy4cW1B9-aWyqdFXSvi4QKYf7FuGU_aWbNr8-atpgj8Z_NITWh9z7XUXTgPHQ8I9wBoA4ThK1gicMnyG6HalA7lmeUeMhiSnfUMdOCAhp2_orJf4l0EZ3PMCxneIiFIXeoMIPq3YVQm6kswbEROUTFG3JlKchrTJ6Fed5sbtAGlN4vektll9l6U1iWgL8ZjAI995qSe6zcf0UhE75sR_KZNSS5W-jWFO1k-FzfrBouMzTYegfBmllfZ2DbA_iQz8chQoDQyb2-_9ALHs9Gq6F8ar5KY1jbnh1RV1jlRsXlAfjG9-4ibqyRHsHv7bMLe0M4SngpnEhpK-G-RCLk3L5ij4Jh3Vp_amD3o6LpLzcpANbLac-geQFzxUzImDO_Ior0CAGLyiMemXE0mBY5auEtsDny6SRKwZH98bluWH-U9PFB_nONLq07klJZuygho9BJ7Uc51jwXL279U74DjTaH0yfZhFckXfeIsEfOHRkJUVtXeiqUtKksgnzrZ-WHyg-2VLIvoLMEqcK1o3b9aHNi7nJvPoFd1rZRdEtjrnNF9Yr_qTq_Vl-qbPm7ufNt9ZKuD0pCpnY4XGwvoJdetmL5HQJDcrqBpPvuM4FfyPc8Fi_SUikd5cAdlXtB9bysGzSIgVQyxIHUVOnGUxSOHqnb644NPze_mGP1uI02ZhwK55FbCOQTbX30ltwzEJxt3KRIjLOiJIO5rU2ogodcY4kPqg-HgB7NupgzL_Q9JyQZIp1uD063kMOvWB6vldjVw3kDsMVNFtlUIO6oafPwxNf1zaK4RUan718ephxQA6iS-9S2RBfYRnuuNrGUaunRmg37_1ttH_qAOc4zxIC3HobJoAvEi64b9VMu30jF7P17nctX5p_B98fN_dJE_rrbALg9LzHFD8QjomJGiseBoumw4D2X73Bb1ocyAxt3MmUvbYzw4aYPWKl4-TRIOKK176SN24aQ9vF3V3_rcfvghjsyiGCiIoTXy1ubghm9oMRv2gorYMmywxfLv1sQ9mjkDUJYoarmzRzzJLCyBhi4Qdd4KpOGdBwe9_ONm-whwTTDU8yzrwoOQNnjNBDDwaRQA3xowTg_Qx1QjSTZ2sF0nqPYvU0V6co0Wpd_8rJIAhalAGmLDDxx-U2Cy7VSg6fc2pXLBkfaOU_34apCygjec0Ne2Wn6SOfhSYDb8w7ChD6fUow7Vt5dA8hT6NBpIcQhwLb5TNYdBbKznBH_UULjCu5m0qmoSND-YAe2j2SLLTuXs3QZ3eOTeKGaFt6A9xTiXDdGnqmTweP-UYP2q4H2UJVX3f2nJ6xn7quRekZVylpl-PgMA4Zq_sVe1ir1gKCgXttnQM_bQ1OG5FIquWogHWuU42iM2nOfzXnD7tl_ugmdtO3qfcOPcypMKl8t87fROLKkBHeuhnscyehdFIl0DUkpgJZy6Uw6K0pF_UmYrv5c7pQfcS04C_R1XpsjOQVo2r9otSQYN_MqRgAIp_zu6orJp1gCWEte7t81a6KdAjIc8ryqV9mW0Xru6UAENxgfH3CrZkSVvryZ7tC9uURDZCd1jAfyoOuqJHwN2sTOF5-JdXevibb4Thy9UQftBy1vjP1KDHHUqoea9NHZdLDZgwq_kA0qtKNiw5lYj9SWp1UaqNYKOSWiC4EzXQGJ9d5S296e4H4QFqe0x_a1cWLO3-lOQ84hiZeSGmXl_JlLnUe4J53EaEzglKLsQ9EhTgQIL9dtHSVeQQfCeUspWpj_SjlRKFUoc5Hr81xLSXoX-pyYDvTdvE6GY9Un5UvjtNbRAXqjAqSg6gObhogzGU0eVWjNCUW_JqXLlvbcGBxLaFoACjrQOUnW3Jrqmn2_zzp8hrBxV5a1xzlyXM8-gu82qDckyJo74KiXT-z85Vbs2QKWmX_j-NubamctY_mSqQYpn1ihSYM1vMDBKPKxiUV8iHr006ALqoW3gmJwHWeaNgexE8X4bb_pAdRqHCEmou1AqUHDvA7bnqE8V6zM09DEDCei0FKPScse73slv5KBgmxJd-m3DHVsV9iRzHgE5678nffXor0DDkbMb0KeZMOk-Op_rCvlQbeWnvjkCDuQqfa4G4rCwEdOoEfj8-D16znJe2NiZKgGkZyRBd7-zGfY1ktxxft9bjot9bsGFkAeMsrL2fWFB4uAyRJUDnsXjHxTQZZa7htnTUOuQyLsgBA514h4AFPqVVUSyilQiRUyRt8ew3fpNuJMEm1C9nX1HAmiBqYkLA7YRtbwym-MMKPyIOA1fdi5_aUNXA6ilyUUytG3Cqn1J36nD_05XdJT15_MOjtwKwMTLIlL_Zxr0GeMXreYPb71tMZmbm7nKjttWDgd6tdQ9xKr9H4RSHdhPGBZ4z_36brBzQPZmC5MwqHL5B4e1igeApdanOlM2WJGdYYvhzgy0NonSbuFirLCy-TivmI7Qj0et06oStbEX8C7LjMEpiGjiMjT3m0VYVRggZgYizsTUxoSFBMN0tpbbQvCyQsthM-UbToje7uDppG9yfQH9rw1__AmGa7S02kVOju4wwSy_CNwPaHmtLEnCpWoGKVWxPE9eGtvJPaPOG3kJ0K4KLTbSM50JRezjY59pw630JeZLes8E7m_3f0XRaxP4gQSXaM83HM001Ae0zYjZLtFeRTygw9kIXPms1sUtP7qtPDimAw4HG008e6CCEvZ7OdcLP80uhc16afDLyXJH7B4bpTI44WRvtunScyNgaKVTzPfCGqpeF-q-8IjokZbgaymFVuNcDRLyvwTq1b6L_m3TiScvrJpd1YtQmJXbipfpTDdDbbcgunMBX8mmfWcO8atngnOwek490LnBJH1y3088DGAfN8lfi7pABZno3P1ctdhZqMw15EoRkZCC48UZxWtAWmqIigDmZOyOVbPEjA-8v9aWQ9ys5ofC-7ecnx-RAUh9TsFHpCnk53Asl20QdyYdFA2ZmlREx2Q0POGQgjGbTT3zS7TDiMvCs98SipQoHh_bYBKLG3qCOWrsOk87k1rErBM-caf6GIZeRtn-TfYIbnb8sRto8micDjh7riRgUHs9X8VPqwnR3B3eKHyVrS_gLt9dkKQRLXDS-qFzKdUP80AOnR5V9tlNKBdsR2Y1fMaVRk0SV-UPlxEB3aGbUdfBhxzknQxnc0cd0HaNTe1Eak4Bm5uHNnP7oNdxoIJ2o9haMpXyLmnVbKxXFnZbq7om319NGkbYO6yYeLw-XquQvJ03Up-EKQN0OT70OR6CWfKgL2kQcXWp7kwQa8OTis-5ueWeE1pSea3WTT37NSvILEch3CvBJzavZAo-6YM0Avd4mV5EyenDn0kQbShpwc6Ep_s2TJPErn73EdcNqLWRXGN812HHV89yvkx5ikXG7aMGOkk8LZ77bVkJ6tanVteeL6e6ob0-_Tiolv_bNKdzcHGuX-2m_mjrkpF60TDlp95Cgq-6z6MEai8iVGmOekPNdk2zNqXQGdUocOg5XhHYbtgmhmFLpJoE0ZykyMPZ4YyPkn01juVQtH0UvULwO7cQpJEm21lkt9DB3nEtEqnuAT8JxetIvk3FZhSXpuSwi8UqEgiRind2U_4BCHTbx6PDtwuVC5DXjvxWg90v5vQihn5jRIi8-VpU7HgfYftg9gxmZxQXHcc7RQFUw18L_EktGmbIqb3HWrjBaZ8wgRL7iCKefKVved-dJhofx3u7N-yUZHK0Ko7GEc_aF4x-4CkxmSuSgjjzYQPwdCZ_EXYNtNngAeWCaUcrKi_qP11K4NEkbG5_QX5-5tJFxlsrOwUftNNOYGjZc_E8RcSjlJJz11tY27nwDy2-5N5TJPNPKJNsYsVZSgyqhRtls1bRN8UqGxdxntGbprGQVyLdtRRfifF24wTHHfkZlZ0LwBSupapvViaq6UwcXYL-ke05gM-Tp-g94qcP29ikhRc1-sHmtBu3cd90GE3zklc03rBG13P-DtNVaAG_N_kQyKeSVYAUYXj4LOpn79BrJusj5QCXlvQWLXq8xzdvqb4Yp7nAQRphCUMg9xiFbUs0EfmgFhipxX8Rw_9fb2N2QsCctaDlqLrE28msB93S3lLhPJfl22Wjqt9for2Poz8Tz8TcGs3yZ-qBfHFrbD8J2mTRWD1iaGktJqZ5MIEnK0CilO-zwPRHDkgBMUpdQEdytTHHge3dyxhtOYgipdnausN0H83XzhK266FrVgNHzBkyKdibsUrI_WiGpE62pO6QHvvcHhXxcVBuTEZGfiDIJpnZZ_QOf--DazVvMK4H3Jdt5LNYwHx_nm5ZtMye8isQUKOh5-LFUNFlXRSeVe0xTl_Ozj2knoYd2z5iXuWoeZjd-T_sa9n0CX_naFtxwKR3KiLe_Z4bwWTHR2yy15l0DKhK-wIDslG2qvyCBdf3D47tOTW6-Ffln4XYe5L9EudzzUJ2Qb_d3S8WnngUmkTZmeVy78t-QFqO_dQf8YY4TF3l0AL2QHMhT4VU9bvXtx6Zghx2Eb8mGXQ-cChufQSw252JyS1_l0VZmQvqGvTUm8pFkg0kz9JQ_WJiHDn5qM-q_FzEb5QLWjAVTzEG1aP6p7CufWDK6HJwzzkp3khLeRcLLvfbAHvU9C0A0rIrimhP94p_3MHv_v8gl-pa0VOX5CT8N7bKlDjfiya9q7_OWICcC_JPYaBCNgCZ1SKWfi4XaivfeRRuez7IvLOUSLyUAeN72dIECBKI5I6jth-c-LlTLadL-2jTXDVLRyo0gWnUfrnoz9l5tchixXwP9Kf0CRe7AaCz_qLG_1b-BAhjV2LDvSQfkOFh1mL_cI4bQTspUMizLkVy6UJOeqBCKvH-f9ElEPqQIfpVQeSHZjmzzDkT3bag667KPPsKJnmHKWGqNrk-nMAULOVrsvtD4O156wo_UpCuKN7-nNYhOexTaneNcobnCEnWlid-9ibJS7Bk9UyvA_Zu_SVh6iM3elesaQ4lK1MJrZ5yTSGuVcnVdZKTPfQxqVPC9_2L86XJivB7Odc_abxnTRM8LsoODSl_0FQWfnbU1-jIFggxFQiPfFP7u-KzFE1qmKOWtbIvcQH-eZ1AZ11Cbmy0RgeRkIXTCF7YIcoag277N1GXSspM_GU3uB7nTQ2p63GO_SDGSRh92c-6PM3gmJOdPffP0fcHlGDL-Lhzn-VPagk1Ib4iQZHMVAD2HQIZ1WBJC2cORqHRwjvcgYs2-xx9iu7AMQG1UlLho=","id":"rs_0cdcf22d3808a85f006a95bbd7218887d09fb602e6a1419ef0","summary":[{"text":"**Identifying the Sequence**\n\nThe user wants to explore the pattern in the sequence: 2, 6, 12, 20, 30. I see that it looks like these are double the triangular numbers, which are defined as T_n = n(n+1)/2. When I double these values, I indeed get the sequence: 2, 6, 12, 20, 30. So, the nth term is given by the formula a_n = n(n+1). This highlights that these numbers are pronic numbers, being products of consecutive integers.","type":"summary_text"},{"text":"**Deriving the Formula**\n\nI can express the nth term as a_n = 2 times the triangular number or as a_n = 2*C(n+1, 2), but the simplest form is a_n = n(n+1). The sequence shows constant second differences, confirming it's quadratic. The differences between terms are even numbers: 4, 6, 8, and 10, with differences increasing by 2. After solving the equations formed, I found a_n = n^2 + n, identifying it as pronic numbers—products of consecutive integers starting from 1.","type":"summary_text"},{"text":"**Finalizing the Answer**\n\nThe pattern I've identified consists of numbers in the form n(n+1). Therefore, I can express the nth term as a_n = n(n+1) or a_n = n^2 + n. These numbers are also twice the triangular numbers, since T_n = n(n+1)/2 leads to a_n = 2T_n. Notably, the first differences form an arithmetic progression: 4, 6, 8, 10. Given that the second difference is constant at 2, the general term simplifies to a quadratic equation: a_n = n^2 + n.","type":"summary_text"}],"type":"reasoning"},{"content":[{"annotations":[],"logprobs":[],"text":"The terms are the “pronic” (or oblong) numbers, i.e. products of two consecutive integers:\n\n 1·2 = 2, 2·3 = 6, 3·4 = 12, 4·5 = 20, 5·6 = 30, …\n\nHence if you start counting at n=1 the nth term is\n\n aₙ = n·(n + 1)\n\nor equivalently\n\n aₙ = n² + n.","type":"output_text"}],"id":"msg_0cdcf22d3808a85f006a95bbf0c93087d0a6bcf30b13f4e166","role":"assistant","status":"completed","type":"message"},{"content":"Using the pattern you discovered, what would be the 10th term? And can you find the sum of the first 10 terms?","role":"user"}],"is_root":false,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","model":"o4-mini","provider":"openai","reasoning":{"effort":"high","summary":"detailed"},"request_base_uri":"http://localhost:52408","request_method":"POST","request_path":"responses","response_id":"resp_0cdcf22d3808a85f006a95bbf5a6a087d097d20e5b654a6593","x-request-id":"req_2543d397adc14b24978a0324f8def161"},"metrics":{"completion_reasoning_tokens":576,"completion_tokens":771,"end":1788197885.3264241,"estimated_cost":0.0035970000000000004,"prompt_cached_tokens":0,"prompt_tokens":186,"start":1788197877.225431,"tokens":957},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":[{"content":[],"encrypted_content":"gAAAAABqlbv9129WPcKdg8d4KHpuU8fKWbJMTbz1g-IhN9CUOkZ9mlzjnLW04tfeqBpT_pd97nAuuyfQshIhku7ePFI1ySjpRhqRIM3OZYg_4RFM9J6jkWgP3Exe_hYG0a_OSE5dxOuGo8bfhMfAXk-JI2-ftngXA1hEExwEFeFbYw3JKJAo5hO30dqcGkud5EGwZChRmOR03rOfMU2kphLA2b96iUjtGta0rWgJHBleITHnWfCixTJ36BeTrGQaIotdM09IS4y4hFiGA9y7tadY9b-KzwZKkjcWwCozRKO-OzQ8nz1eZUcpwB8RCXK5b4XBt7h-rkkoFnLnTfk8XzbtDZaleFnHQGE1034XxDlJqZnqxXhejGKu4k72_rWCl656fhpHdfOytB1vzm6bKCsZDzM3vDH1r-iNyHr7a_5M8y7O26SzocHRxcyt39EzwOkhon_3oE_bMglnr1pUTdKIOfNrTp5_AsLK0QnhnqLdoUWv6dSDQ7Tv9cHRxcyjb8GE1b9puRFQZ_nmGlROdALhnZaXfhMa-yS1aohiseIFU0bqmdcvwSW6kFfDocSA8rnQ8bpArc2Ca5DIB1w3qLT_kdbvqKpiCqvx3ZpM79krkODorkg5jYUSMC07_S3Ksb7Ttay6PAGBJT6pdVKdgvluH73zsSprcGO7VP1_e2hF5swdjkq8Rqsj7xYyE6WhTyQ1X8lzBpebNl0uSf-1D9FTCdIgC8LH5OE8UL0na0qPFPHXLukKUIyPXnPOH0VX-gLs0dL0BLjTJ7yidxkDvlkaWLqjlozrY5gVRwTov0M2K6g-qcNNv-yNfPTud7112tLxiFZRA9bJYKsbdQZbFE5_bUV3fUf_bfcs0FkFbhbSZdWJ0EuzuoYBFzzUp8FdtiWRnqM8Cjxh07lOnA0LlWAmd9vpzdIkSOTjjQyQsKtUwYysO5vrb4ENj0zQQ2pMmgyRby1yFzDYgk1vBXkika6E6pU8GboEDycghObBrX6Iwo-3FciE6DIGH0D3gwoHdHeW5GaUwaucHZjHKvt1-_9VeJdSdUAdDu_W7uEgLtKJbfCb8Sf5Mu4-_emvs3fsCF5Et_U5h6-GGneZ5zMcjUbSZ4r_ydtPb7peUAAAEaACSeAVSc7UFGftrCHZU2vqoLFesGZwv29HrUl-rWIwNs0NoG-eAfqGFTus1IaJGDEEsqfUJlv1ySW_yv2J96VqBoTua1IttZMlLoh1yCfoM5R5m3tCDOF9cHFDBr5Zi3KV4kUTuQlKMmjOO3zdmvJ5Bzh0Geoq_rz4B-0FrLwVqfTuNhhXtcd3FZKYZzYyGWJTgegaf0qySVMB7meaL8fs0zp9AZibNpMcuLnEMkQsOG5s_LDNT_jbV8sWXgVcykkpGZDz5WhHUGXdRPKALSSB8IR1qWsthLsS9JDhS1UuHu9YxjMNrEOvoVozwaKRZSRMdj4tdNdazb2a6DEpRNJCQeHo33-SACPJaynwVxVZOdSthXw2D8AzU8_omESDFmaAmNgPMSplyuijnT9S-cyvfovOOtN0_8E5o8yNsWkCAEmKVgSaKhwcIlmfptd7HYej2gig6cPBBh10Qz454U-8x8q0KrAdWlFFg4xwPLYeX9HYELcIKuJlq_v1Es2gY2nDRJV5ITP2MsZojzc59nCwyoqU8o6OLLTauZFHjWphuyDcKrdJv6oIDq6hFk5vmNhh1Luz3oUWGiSM4sgE63cW3bFYJSqC9syt5St-j1Qu4HL5XrC51y_Wl3VAjtmZe3hiUu6C8U-1hXyZktdxHG-XIzFA9wOZkP5Zuhz7yKpUg7CY9-9Kl-jvdUmcjxpjzwtHUtKU2QB90OR1alLjvve7U51RbW0L8zAok0pJtzNNzc2J6x-akwl2wnC-DQW7wb54M8NUuX2GX4-Knkm-3qPmTIfQyhhuixjCFvkdkhWyntCEMvvaUuPuuYXfI7DP2kvGlKbJTncd_fNTV3Pa99lK3nIF-J_Z7T0Og5X29AOusmYIRmtVoaV0r5rC67flE09XT1iURtL5DvjJGjWw4FdyASm9C_ktnXeh7ayZuKEGPpuT52L074hygr8QuSWbFlpFVVWp631De8N0M5b7MPWlX6_hNxSXIGK73wJH7AZmkcRZVsSscZVbnWFS_L68Vy9ZKvJHieK82Ab46J-OdP2QfGPsHvTuIQLh8FekDWWvW9Qo2d17LhvkrNHQxk2ER2AYmhs7w3e9qM78haNucPJgHZpiCNZ3yg9bv894ZELkZwQko55jqjrD_z649uud59T514z9OttGrV3sKbTuij9G-XjWUEnhQ2NiVysl3Ob_BGfNdCjYOyNBrek8YQUYX4-gbOyZM_YyTDOaAyI1JYl8Au8ugSYknTPi1dPFXUykpDYEnF7ZZm4xNOhx9qd7F03HSKj7iRjBMIj4RNvT7E1S4oY7l-GMvvfEklE02UspHMyg02XrJbk_4DXXeuLEtNBzEcvjTB-bD6QfnRZ0525FEEwfWZGuGg9V65B2ItQEn-1av3W80i4sq87eQNUlrDThsnOyNDEp_e1hVgLxTTgaFzSRmPVt11Sun7nPC84fOHIOUr89khUGyRX-Trc3GI1PzfxLfhZiB6ycJEF-HetLILgjywOsLc9KMiKKjuDJrKZPhJ86Kuhk4-P9eGeJnzWtxzRHsxnwCZEMYJMbqNi7gyegzC4awuqV8PBmDFbFH_yHqVh1CIrGasq78nOtc2hY6HMA2CWKn6t_snqk1Rq0bZ_VYOAEq8jG4ZsZywNccHNdbq4WnT8K_FpV3yAGSHIqWX9A8ftFsjcxvcxFnHfJ4ouS8xD4tX3abAdC90BHVGfymql1X7tQcpzus7DeDFHkSvEYp0njDR9cygfOk14nS8gaeMBqT6I72-jYw0x7zLJPm2k01GLYMbj51xbghnOEI9VIGASoss0cGo4zSvIC9b1ApNHaFNYG6y-H00cL8dQBBD-jlZBZHyo2WvDF-3389gOkU8AxAM0mcyBpbboDDUT3B_VjDgxwk5Esaegfaw2AmW3xy6OwBX4isL7rEPUb7TohQXOJCPLsE_wlrGGSgxs8qYbD863a_lrJ6g3qnWdMGq4JvtXxFyCqqnjN4O3XdlLAGI-KYsljf3GQD3DfwgGN7NOoNaBIKY4-lrUTFncqOdEWXHnJGA8duIPJF68UPbHTI82C40SqaqnHcMfsTJQ87XaUMiElP5FJ83qMODaG4QS7o7TP9ohy0iZctx136unXetFB71zQ8Jzdg3JSIcQ6CVULvdp3DR3qwogKaaIBXY_a2sWqUA==","id":"rs_0cdcf22d3808a85f006a95bbf60e7887d0b5754b314762df94","summary":[{"text":"**Calculating pronic numbers**\n\nThe user has a sequence: 2, 6, 12, 20, 30, which corresponds to pronic numbers, where the nth term is given by a_n = n(n+1). They want to know the 10th term and the sum of the first 10 terms. The 10th term is calculated as a_10 = 10*11 = 110. For the sum S_10, I’ll compute the individual sums: S_10 = 385 (sum of squares) + 55 (sum of n), which totals to 440. Alternatively, the formula for the sum simplifies this to the same result!","type":"summary_text"},{"text":"**Finding the 10th term and sum**\n\nI calculated the 10th term by using the formula a_10 = 10 * 11, giving me 110. Then, for the sum of the first 10 terms, I added the series: 2 + 6 + 12 + 20 + 30 + 42 + 56 + 72 + 90 + 110, which totals to 440. I can mention that the general formula for the sum of the first n terms is n(n+1)(n+2)/3. So, the 10th term is 110, and the sum is 440. Let's provide this neatly!","type":"summary_text"}],"type":"reasoning"},{"content":[{"annotations":[],"logprobs":[],"text":"The 10th term is \na₁₀ = 10·(10 + 1) = 10·11 = 110. \n\nThe sum of the first 10 terms is \nS₁₀ = ∑ₖ₌₁¹⁰ k(k + 1) \n = ∑ₖ₌₁¹⁰ k² + ∑ₖ₌₁¹⁰ k \n = 385 + 55 \n = 440. \n\n(You can also use the closed‐form Sₙ = n(n + 1)(n + 2)/3 ⇒ S₁₀ = 10·11·12/3 = 440.)","type":"output_text"}],"id":"msg_0cdcf22d3808a85f006a95bbfc88bc87d0b77a1c39df3eed36","role":"assistant","status":"completed","type":"message"}],"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"0cc4a1016d9cfaeed42dd99357f1a116","scores":null,"span_attributes":{"name":"responses","type":"llm"},"span_id":"49baeacf4125b3ba","span_parents":["15d926ed2e259f58"],"tags":null}],"schema":{"type":"array","items":{"type":"object","properties":{"_async_scoring_state":{},"_pagination_key":{"description":"A stable, time-ordered key that can be used to paginate over project logs events. This field is auto-generated by Braintrust and only exists in Brainstore.","type":["string","null"]},"_xact_id":{"description":"The transaction id of an event is unique to the network operation that processed the event insertion. Transaction ids are monotonically increasing over time and can be used to retrieve a versioned snapshot of the project logs (see the `version` parameter)","type":"string"},"audit_data":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"classifications":{"anyOf":[{"additionalProperties":{"items":{"additionalProperties":false,"properties":{"confidence":{"description":"Optional confidence score for the classification","type":["number","null"]},"id":{"description":"Stable classification identifier","type":"string"},"label":{"description":"Original label of the classification item, which is useful for search and indexing purposes","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"type":"object"},{"type":"null"}],"description":"Optional metadata associated with the classification"},"source":{"anyOf":[{"anyOf":[{"additionalProperties":false,"properties":{"id":{"type":"string"},"type":{"const":"function","type":"string"},"version":{"description":"The version of the function","type":"string"}},"required":["type","id"],"type":"object"},{"additionalProperties":false,"properties":{"function_type":{"default":"scorer","description":"The type of global function. Defaults to 'scorer'.","enum":["llm","scorer","task","tool","custom_view","preprocessor","facet","classifier","tag","parameters","sandbox"],"type":"string"},"name":{"type":"string"},"type":{"const":"global","type":"string"}},"required":["type","name"],"type":"object"}]},{"type":"null"}],"description":"Optional function identifier that produced the classification"}},"required":["id"],"type":"object"},"type":"array"},"properties":{},"type":"object"},{"type":"null"}]},"comments":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"context":{"anyOf":[{"additionalProperties":{},"properties":{"caller_filename":{"description":"Name of the file in code where the project logs event was created","type":["string","null"]},"caller_functionname":{"description":"The function in code which created the project logs event","type":["string","null"]},"caller_lineno":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"created":{"description":"The timestamp the project logs event was created","format":"date-time","type":"string"},"error":{"description":"The error that occurred, if any."},"expected":{"description":"The ground truth value (an arbitrary, JSON serializable object) that you'd compare to `output` to determine if your `output` value is correct or not. Braintrust currently does not compare `output` to `expected` for you, since there are so many different ways to do that correctly. Instead, these values are just used to help you navigate while digging into analyses. However, we may later use these values to re-score outputs or fine-tune your models."},"facets":{"anyOf":[{"additionalProperties":{"type":["string","null"]},"properties":{},"type":"object"},{"type":"null"}]},"id":{"description":"A unique identifier for the project logs event. If you don't provide one, Braintrust will generate one for you","type":"string"},"input":{"description":"The arguments that uniquely define a user input (an arbitrary, JSON serializable object)."},"is_root":{"description":"Whether this span is a root span","type":["boolean","null"]},"log_id":{"const":"g","description":"A literal 'g' which identifies the log as a project log","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"properties":{"model":{"description":"The model used for this example","type":["string","null"]}},"type":"object"},{"type":"null"}]},"metrics":{"anyOf":[{"additionalProperties":{"type":"number"},"properties":{"caller_filename":{"description":"This metric is deprecated"},"caller_functionname":{"description":"This metric is deprecated"},"caller_lineno":{"description":"This metric is deprecated"},"completion_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"end":{"description":"A unix timestamp recording when the section of code which produced the project logs event finished","type":["number","null"]},"prompt_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"start":{"description":"A unix timestamp recording when the section of code which produced the project logs event started","type":["number","null"]},"tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"org_id":{"description":"Unique id for the organization that the project belongs under","format":"uuid","type":"string"},"origin":{"anyOf":[{"description":"Reference to the original object and event this was copied from.","properties":{"_xact_id":{"description":"Transaction ID of the original event.","type":["string","null"]},"created":{"description":"Created timestamp of the original event. Used to help sort in the UI","type":["string","null"]},"id":{"description":"ID of the original event.","type":"string"},"object_id":{"description":"ID of the object the event is originating from.","format":"uuid","type":"string"},"object_type":{"description":"Type of the object the event is originating from.","enum":["project_logs","experiment","dataset","prompt","function","prompt_session"],"type":"string"}},"required":["object_type","object_id","id"],"type":"object"},{"type":"null"}]},"output":{"description":"The output of your application, including post-processing (an arbitrary, JSON serializable object), that allows you to determine whether the result is correct or not. For example, in an app that generates SQL queries, the `output` should be the _result_ of the SQL query generated by the model, not the query itself, because there may be multiple valid queries that answer a single question."},"project_id":{"description":"Unique identifier for the project","format":"uuid","type":"string"},"root_span_id":{"description":"A unique identifier for the trace this project logs event belongs to","type":"string"},"scores":{"anyOf":[{"additionalProperties":{"anyOf":[{"maximum":1,"minimum":0,"type":"number"},{"type":"null"}]},"properties":{},"type":"object"},{"type":"null"}]},"span_attributes":{"anyOf":[{"additionalProperties":{},"description":"Human-identifying attributes of the span, such as name, type, etc.","properties":{"name":{"description":"Name of the span, for display purposes only","type":["string","null"]},"purpose":{"anyOf":[{"enum":["scorer"],"type":"string"},{"type":"null"}]},"type":{"anyOf":[{"enum":["llm","score","function","eval","task","tool","automation","facet","preprocessor","classifier","review"],"type":"string"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"span_id":{"description":"A unique identifier used to link different project logs events together as part of a full trace. See the [tracing guide](https://www.braintrust.dev/docs/instrument) for full details on tracing","type":"string"},"span_parents":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]},"tags":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]}}}},"realtime_state":{"type":"on","minimum_xact_id":"1000197783589884487","read_bytes":0,"actual_xact_id":"1000197783589884487"},"freshness_state":{"last_processed_xact_id":"1000197783589884487","last_considered_xact_id":"1000197783589884487"},"warnings":[]} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-d5010c9bdce8.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-d5010c9bdce8.json new file mode 100644 index 00000000..9538bab6 --- /dev/null +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-d5010c9bdce8.json @@ -0,0 +1 @@ +{"data":[{"_async_scoring_state":null,"_pagination_key":"p07680251289063456780","_xact_id":"1000197783587327581","audit_data":[{"_xact_id":"1000197783587327581","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":{"span_origin":{"instrumentation":{"name":"braintrust-java"},"name":"braintrust.sdk.java","version":"0.3.22-ca5ce6d-DIRTY"}},"created":"2026-08-31T17:37:26.396Z","error":null,"expected":null,"facets":null,"id":"7e11d5a19a175fa8","input":null,"is_root":true,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","client":"springai2-anthropic"},"metrics":{"end":1788197848.325277,"start":1788197846.396262},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":null,"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"7be3b78e42cb771d4d63aa533937a48a","scores":null,"span_attributes":{"name":"attachments","type":"task"},"span_id":"7e11d5a19a175fa8","span_parents":null,"tags":null},{"_async_scoring_state":null,"_pagination_key":"p07680251289063456774","_xact_id":"1000197783587327581","audit_data":[{"_xact_id":"1000197783587327581","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":{"span_origin":{"instrumentation":{"name":"braintrust-java"},"name":"braintrust.sdk.java","version":"0.3.22-ca5ce6d-DIRTY"}},"created":"2026-08-31T17:37:26.415Z","error":null,"expected":null,"facets":null,"id":"f162a6424fc2d8e7","input":[{"content":[{"text":"Briefly describe these attachments","type":"text"},{"source":{"content_type":"image/png","filename":"attachment.png","key":"f27f1b15-a098-4152-9dc7-df84238bfccd","type":"braintrust_attachment"},"type":"image"},{"source":{"content_type":"application/pdf","filename":"attachment.pdf","key":"f09b2f26-7688-4eec-b262-bc23f9fe1965","type":"braintrust_attachment"},"type":"document"}],"role":"user"}],"is_root":false,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","max_tokens":128,"model":"claude-haiku-4-5-20251001","provider":"anthropic","request-id":"req_011CebESfbD59bsLXS9bvntu","request_base_uri":"","request_method":"POST","request_path":"v1/messages","response_id":"msg_011CebESgJsYsb17Hg1aE8V1","temperature":0},"metrics":{"completion_tokens":103,"end":1788197848.3228848,"estimated_cost":0.0021070000000000004,"prompt_cache_creation_1h_tokens":0,"prompt_cache_creation_5m_tokens":0,"prompt_cached_tokens":0,"prompt_tokens":1592,"start":1788197846.4156742,"tokens":1695},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":{"content":[{"text":"I can see that you've shared a PDF attachment, but the document appears to be blank or contains only a white/empty page. There is no visible text, images, or other content that I can describe.\n\nCould you please:\n1. Verify that the correct file was uploaded\n2. Check if the document loaded properly\n3. Re-upload the attachment if needed\n\nOnce you share a document with visible content, I'll be happy to provide a brief description of it.","type":"text"}],"id":"msg_011CebESgJsYsb17Hg1aE8V1","model":"claude-haiku-4-5-20251001","role":"assistant","stop_details":null,"stop_reason":"end_turn","stop_sequence":null,"type":"message","usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":0},"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"inference_geo":"not_available","input_tokens":1592,"output_tokens":103,"service_tier":"standard"}},"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"7be3b78e42cb771d4d63aa533937a48a","scores":null,"span_attributes":{"name":"anthropic.messages.create","type":"llm"},"span_id":"f162a6424fc2d8e7","span_parents":["7e11d5a19a175fa8"],"tags":null}],"schema":{"type":"array","items":{"type":"object","properties":{"_async_scoring_state":{},"_pagination_key":{"description":"A stable, time-ordered key that can be used to paginate over project logs events. This field is auto-generated by Braintrust and only exists in Brainstore.","type":["string","null"]},"_xact_id":{"description":"The transaction id of an event is unique to the network operation that processed the event insertion. Transaction ids are monotonically increasing over time and can be used to retrieve a versioned snapshot of the project logs (see the `version` parameter)","type":"string"},"audit_data":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"classifications":{"anyOf":[{"additionalProperties":{"items":{"additionalProperties":false,"properties":{"confidence":{"description":"Optional confidence score for the classification","type":["number","null"]},"id":{"description":"Stable classification identifier","type":"string"},"label":{"description":"Original label of the classification item, which is useful for search and indexing purposes","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"type":"object"},{"type":"null"}],"description":"Optional metadata associated with the classification"},"source":{"anyOf":[{"anyOf":[{"additionalProperties":false,"properties":{"id":{"type":"string"},"type":{"const":"function","type":"string"},"version":{"description":"The version of the function","type":"string"}},"required":["type","id"],"type":"object"},{"additionalProperties":false,"properties":{"function_type":{"default":"scorer","description":"The type of global function. Defaults to 'scorer'.","enum":["llm","scorer","task","tool","custom_view","preprocessor","facet","classifier","tag","parameters","sandbox"],"type":"string"},"name":{"type":"string"},"type":{"const":"global","type":"string"}},"required":["type","name"],"type":"object"}]},{"type":"null"}],"description":"Optional function identifier that produced the classification"}},"required":["id"],"type":"object"},"type":"array"},"properties":{},"type":"object"},{"type":"null"}]},"comments":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"context":{"anyOf":[{"additionalProperties":{},"properties":{"caller_filename":{"description":"Name of the file in code where the project logs event was created","type":["string","null"]},"caller_functionname":{"description":"The function in code which created the project logs event","type":["string","null"]},"caller_lineno":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"created":{"description":"The timestamp the project logs event was created","format":"date-time","type":"string"},"error":{"description":"The error that occurred, if any."},"expected":{"description":"The ground truth value (an arbitrary, JSON serializable object) that you'd compare to `output` to determine if your `output` value is correct or not. Braintrust currently does not compare `output` to `expected` for you, since there are so many different ways to do that correctly. Instead, these values are just used to help you navigate while digging into analyses. However, we may later use these values to re-score outputs or fine-tune your models."},"facets":{"anyOf":[{"additionalProperties":{"type":["string","null"]},"properties":{},"type":"object"},{"type":"null"}]},"id":{"description":"A unique identifier for the project logs event. If you don't provide one, Braintrust will generate one for you","type":"string"},"input":{"description":"The arguments that uniquely define a user input (an arbitrary, JSON serializable object)."},"is_root":{"description":"Whether this span is a root span","type":["boolean","null"]},"log_id":{"const":"g","description":"A literal 'g' which identifies the log as a project log","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"properties":{"model":{"description":"The model used for this example","type":["string","null"]}},"type":"object"},{"type":"null"}]},"metrics":{"anyOf":[{"additionalProperties":{"type":"number"},"properties":{"caller_filename":{"description":"This metric is deprecated"},"caller_functionname":{"description":"This metric is deprecated"},"caller_lineno":{"description":"This metric is deprecated"},"completion_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"end":{"description":"A unix timestamp recording when the section of code which produced the project logs event finished","type":["number","null"]},"prompt_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"start":{"description":"A unix timestamp recording when the section of code which produced the project logs event started","type":["number","null"]},"tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"org_id":{"description":"Unique id for the organization that the project belongs under","format":"uuid","type":"string"},"origin":{"anyOf":[{"description":"Reference to the original object and event this was copied from.","properties":{"_xact_id":{"description":"Transaction ID of the original event.","type":["string","null"]},"created":{"description":"Created timestamp of the original event. Used to help sort in the UI","type":["string","null"]},"id":{"description":"ID of the original event.","type":"string"},"object_id":{"description":"ID of the object the event is originating from.","format":"uuid","type":"string"},"object_type":{"description":"Type of the object the event is originating from.","enum":["project_logs","experiment","dataset","prompt","function","prompt_session"],"type":"string"}},"required":["object_type","object_id","id"],"type":"object"},{"type":"null"}]},"output":{"description":"The output of your application, including post-processing (an arbitrary, JSON serializable object), that allows you to determine whether the result is correct or not. For example, in an app that generates SQL queries, the `output` should be the _result_ of the SQL query generated by the model, not the query itself, because there may be multiple valid queries that answer a single question."},"project_id":{"description":"Unique identifier for the project","format":"uuid","type":"string"},"root_span_id":{"description":"A unique identifier for the trace this project logs event belongs to","type":"string"},"scores":{"anyOf":[{"additionalProperties":{"anyOf":[{"maximum":1,"minimum":0,"type":"number"},{"type":"null"}]},"properties":{},"type":"object"},{"type":"null"}]},"span_attributes":{"anyOf":[{"additionalProperties":{},"description":"Human-identifying attributes of the span, such as name, type, etc.","properties":{"name":{"description":"Name of the span, for display purposes only","type":["string","null"]},"purpose":{"anyOf":[{"enum":["scorer"],"type":"string"},{"type":"null"}]},"type":{"anyOf":[{"enum":["llm","score","function","eval","task","tool","automation","facet","preprocessor","classifier","review"],"type":"string"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"span_id":{"description":"A unique identifier used to link different project logs events together as part of a full trace. See the [tracing guide](https://www.braintrust.dev/docs/instrument) for full details on tracing","type":"string"},"span_parents":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]},"tags":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]}}}},"realtime_state":{"type":"on","minimum_xact_id":"1000197783589161396","read_bytes":0,"actual_xact_id":"1000197783589161396"},"freshness_state":{"last_processed_xact_id":"1000197783589161396","last_considered_xact_id":"1000197783589161396"},"warnings":[]} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-d972166b7bda.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-d972166b7bda.json deleted file mode 100644 index 0cb0566b..00000000 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-d972166b7bda.json +++ /dev/null @@ -1 +0,0 @@ -{"data":[{"_async_scoring_state":null,"_pagination_key":"p07659835804562489345","_xact_id":"1000197472071755972","audit_data":[{"_xact_id":"1000197472071755972","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":null,"created":"2026-07-07T17:14:55.033Z","error":null,"expected":null,"facets":null,"id":"3bd931ce3e1a038d","input":null,"is_root":true,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","client":"springai-openai"},"metrics":{"end":1783444496.0272129,"start":1783444495.033105},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":null,"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"890e1d1c3e24a6c11fd25f9f13f1c4a0","scores":null,"span_attributes":{"name":"completions","type":"task"},"span_id":"3bd931ce3e1a038d","span_parents":null,"tags":null},{"_async_scoring_state":null,"_pagination_key":"p07659835804562489352","_xact_id":"1000197472071755972","audit_data":[{"_xact_id":"1000197472071755972","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":null,"created":"2026-07-07T17:14:55.334Z","error":null,"expected":null,"facets":null,"id":"82eac7f652aa093f","input":[{"content":"you are a helpful assistant","role":"system"},{"content":"What is the capital of France?","role":"user"}],"is_root":false,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","model":"gpt-4o-mini","provider":"openai","request_base_uri":"http://localhost:63169","request_method":"POST","request_path":"chat/completions"},"metrics":{"completion_tokens":7,"end":1783444496.0179818,"estimated_cost":0.00000765,"prompt_cached_tokens":0,"prompt_tokens":23,"start":1783444495.3345113,"tokens":30},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":[{"finish_reason":"stop","index":0,"logprobs":null,"message":{"annotations":[],"content":"The capital of France is Paris.","refusal":null,"role":"assistant"}}],"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"890e1d1c3e24a6c11fd25f9f13f1c4a0","scores":null,"span_attributes":{"name":"Chat Completion","type":"llm"},"span_id":"82eac7f652aa093f","span_parents":["3bd931ce3e1a038d"],"tags":null}],"schema":{"type":"array","items":{"type":"object","properties":{"_async_scoring_state":{},"_pagination_key":{"description":"A stable, time-ordered key that can be used to paginate over project logs events. This field is auto-generated by Braintrust and only exists in Brainstore.","type":["string","null"]},"_xact_id":{"description":"The transaction id of an event is unique to the network operation that processed the event insertion. Transaction ids are monotonically increasing over time and can be used to retrieve a versioned snapshot of the project logs (see the `version` parameter)","type":"string"},"audit_data":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"classifications":{"anyOf":[{"additionalProperties":{"items":{"additionalProperties":false,"properties":{"confidence":{"description":"Optional confidence score for the classification","type":["number","null"]},"id":{"description":"Stable classification identifier","type":"string"},"label":{"description":"Original label of the classification item, which is useful for search and indexing purposes","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"type":"object"},{"type":"null"}],"description":"Optional metadata associated with the classification"},"source":{"anyOf":[{"anyOf":[{"additionalProperties":false,"properties":{"id":{"type":"string"},"type":{"const":"function","type":"string"},"version":{"description":"The version of the function","type":"string"}},"required":["type","id"],"type":"object"},{"additionalProperties":false,"properties":{"function_type":{"default":"scorer","description":"The type of global function. Defaults to 'scorer'.","enum":["llm","scorer","task","tool","custom_view","preprocessor","facet","classifier","tag","parameters","sandbox"],"type":"string"},"name":{"type":"string"},"type":{"const":"global","type":"string"}},"required":["type","name"],"type":"object"}]},{"type":"null"}],"description":"Optional function identifier that produced the classification"}},"required":["id"],"type":"object"},"type":"array"},"properties":{},"type":"object"},{"type":"null"}]},"comments":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"context":{"anyOf":[{"additionalProperties":{},"properties":{"caller_filename":{"description":"Name of the file in code where the project logs event was created","type":["string","null"]},"caller_functionname":{"description":"The function in code which created the project logs event","type":["string","null"]},"caller_lineno":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"created":{"description":"The timestamp the project logs event was created","format":"date-time","type":"string"},"error":{"description":"The error that occurred, if any."},"expected":{"description":"The ground truth value (an arbitrary, JSON serializable object) that you'd compare to `output` to determine if your `output` value is correct or not. Braintrust currently does not compare `output` to `expected` for you, since there are so many different ways to do that correctly. Instead, these values are just used to help you navigate while digging into analyses. However, we may later use these values to re-score outputs or fine-tune your models."},"facets":{"anyOf":[{"additionalProperties":{"type":["string","null"]},"properties":{},"type":"object"},{"type":"null"}]},"id":{"description":"A unique identifier for the project logs event. If you don't provide one, Braintrust will generate one for you","type":"string"},"input":{"description":"The arguments that uniquely define a user input (an arbitrary, JSON serializable object)."},"is_root":{"description":"Whether this span is a root span","type":["boolean","null"]},"log_id":{"const":"g","description":"A literal 'g' which identifies the log as a project log","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"properties":{"model":{"description":"The model used for this example","type":["string","null"]}},"type":"object"},{"type":"null"}]},"metrics":{"anyOf":[{"additionalProperties":{"type":"number"},"properties":{"caller_filename":{"description":"This metric is deprecated"},"caller_functionname":{"description":"This metric is deprecated"},"caller_lineno":{"description":"This metric is deprecated"},"completion_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"end":{"description":"A unix timestamp recording when the section of code which produced the project logs event finished","type":["number","null"]},"prompt_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"start":{"description":"A unix timestamp recording when the section of code which produced the project logs event started","type":["number","null"]},"tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"org_id":{"description":"Unique id for the organization that the project belongs under","format":"uuid","type":"string"},"origin":{"anyOf":[{"description":"Reference to the original object and event this was copied from.","properties":{"_xact_id":{"description":"Transaction ID of the original event.","type":["string","null"]},"created":{"description":"Created timestamp of the original event. Used to help sort in the UI","type":["string","null"]},"id":{"description":"ID of the original event.","type":"string"},"object_id":{"description":"ID of the object the event is originating from.","format":"uuid","type":"string"},"object_type":{"description":"Type of the object the event is originating from.","enum":["project_logs","experiment","dataset","prompt","function","prompt_session"],"type":"string"}},"required":["object_type","object_id","id"],"type":"object"},{"type":"null"}]},"output":{"description":"The output of your application, including post-processing (an arbitrary, JSON serializable object), that allows you to determine whether the result is correct or not. For example, in an app that generates SQL queries, the `output` should be the _result_ of the SQL query generated by the model, not the query itself, because there may be multiple valid queries that answer a single question."},"project_id":{"description":"Unique identifier for the project","format":"uuid","type":"string"},"root_span_id":{"description":"A unique identifier for the trace this project logs event belongs to","type":"string"},"scores":{"anyOf":[{"additionalProperties":{"anyOf":[{"maximum":1,"minimum":0,"type":"number"},{"type":"null"}]},"properties":{},"type":"object"},{"type":"null"}]},"span_attributes":{"anyOf":[{"additionalProperties":{},"description":"Human-identifying attributes of the span, such as name, type, etc.","properties":{"name":{"description":"Name of the span, for display purposes only","type":["string","null"]},"purpose":{"anyOf":[{"enum":["scorer"],"type":"string"},{"type":"null"}]},"type":{"anyOf":[{"enum":["llm","score","function","eval","task","tool","automation","facet","preprocessor","classifier","review"],"type":"string"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"span_id":{"description":"A unique identifier used to link different project logs events together as part of a full trace. See the [tracing guide](https://www.braintrust.dev/docs/instrument) for full details on tracing","type":"string"},"span_parents":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]},"tags":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]}}}},"realtime_state":{"type":"on","minimum_xact_id":"1000197472074645319","read_bytes":0,"actual_xact_id":"1000197472074645319"},"freshness_state":{"last_processed_xact_id":"1000197472074645319","last_considered_xact_id":"1000197472074645319"},"warnings":[]} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-e1241bc91b70.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-e1241bc91b70.json deleted file mode 100644 index 749c1968..00000000 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-e1241bc91b70.json +++ /dev/null @@ -1 +0,0 @@ -{"data":[{"_async_scoring_state":null,"_pagination_key":"p07663651388792373256","_xact_id":"1000197530292950886","audit_data":[{"_xact_id":"1000197530292950886","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":{"span_origin":{"instrumentation":{"name":"braintrust-java"},"name":"braintrust.sdk.java","version":"0.3.17-0155866-DIRTY"}},"created":"2026-07-18T00:01:20.507Z","error":null,"expected":null,"facets":null,"id":"c42db4f2c1c072e5","input":null,"is_root":true,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","client":"springai2-anthropic"},"metrics":{"end":1784332881.8460884,"start":1784332880.507649},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":null,"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"d848bd73abe56be217b45aa72b58e326","scores":null,"span_attributes":{"name":"streaming","type":"task"},"span_id":"c42db4f2c1c072e5","span_parents":null,"tags":null},{"_async_scoring_state":null,"_pagination_key":"p07663651388792373250","_xact_id":"1000197530292950886","audit_data":[{"_xact_id":"1000197530292950886","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":{"span_origin":{"instrumentation":{"name":"braintrust-java"},"name":"braintrust.sdk.java","version":"0.3.17-0155866-DIRTY"}},"created":"2026-07-18T00:01:20.725Z","error":null,"expected":null,"facets":null,"id":"bb4b96b48b31c3cd","input":[{"content":"Count from 1 to 5.","role":"user"},{"content":"You are a helpful assistant.","role":"system"}],"is_root":false,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","model":"claude-haiku-4-5-20251001","provider":"anthropic","request_base_uri":"","request_method":"POST","request_path":"v1/messages"},"metrics":{"completion_tokens":13,"end":1784332881.8457704,"estimated_cost":0.000087,"prompt_cache_creation_1h_tokens":0,"prompt_cache_creation_5m_tokens":0,"prompt_cached_tokens":0,"prompt_tokens":22,"start":1784332880.7259948,"time_to_first_token":0.005619709,"tokens":35},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":{"container":null,"content":[{"citations":null,"text":"1\n2\n3\n4\n5","type":"text","valid":true}],"id":"msg_011Cd8YKT8CQfHq23c2zyBDV","model":"claude-haiku-4-5-20251001","role":"assistant","stop_details":null,"stop_reason":"end_turn","stop_sequence":null,"type":"message","usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":0,"valid":true},"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"inference_geo":"not_available","input_tokens":22,"output_tokens":13,"output_tokens_details":null,"server_tool_use":null,"service_tier":"standard","valid":true},"valid":true},"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"d848bd73abe56be217b45aa72b58e326","scores":null,"span_attributes":{"name":"anthropic.messages.stream","type":"llm"},"span_id":"bb4b96b48b31c3cd","span_parents":["c42db4f2c1c072e5"],"tags":null}],"schema":{"type":"array","items":{"type":"object","properties":{"_async_scoring_state":{},"_pagination_key":{"description":"A stable, time-ordered key that can be used to paginate over project logs events. This field is auto-generated by Braintrust and only exists in Brainstore.","type":["string","null"]},"_xact_id":{"description":"The transaction id of an event is unique to the network operation that processed the event insertion. Transaction ids are monotonically increasing over time and can be used to retrieve a versioned snapshot of the project logs (see the `version` parameter)","type":"string"},"audit_data":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"classifications":{"anyOf":[{"additionalProperties":{"items":{"additionalProperties":false,"properties":{"confidence":{"description":"Optional confidence score for the classification","type":["number","null"]},"id":{"description":"Stable classification identifier","type":"string"},"label":{"description":"Original label of the classification item, which is useful for search and indexing purposes","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"type":"object"},{"type":"null"}],"description":"Optional metadata associated with the classification"},"source":{"anyOf":[{"anyOf":[{"additionalProperties":false,"properties":{"id":{"type":"string"},"type":{"const":"function","type":"string"},"version":{"description":"The version of the function","type":"string"}},"required":["type","id"],"type":"object"},{"additionalProperties":false,"properties":{"function_type":{"default":"scorer","description":"The type of global function. Defaults to 'scorer'.","enum":["llm","scorer","task","tool","custom_view","preprocessor","facet","classifier","tag","parameters","sandbox"],"type":"string"},"name":{"type":"string"},"type":{"const":"global","type":"string"}},"required":["type","name"],"type":"object"}]},{"type":"null"}],"description":"Optional function identifier that produced the classification"}},"required":["id"],"type":"object"},"type":"array"},"properties":{},"type":"object"},{"type":"null"}]},"comments":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"context":{"anyOf":[{"additionalProperties":{},"properties":{"caller_filename":{"description":"Name of the file in code where the project logs event was created","type":["string","null"]},"caller_functionname":{"description":"The function in code which created the project logs event","type":["string","null"]},"caller_lineno":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"created":{"description":"The timestamp the project logs event was created","format":"date-time","type":"string"},"error":{"description":"The error that occurred, if any."},"expected":{"description":"The ground truth value (an arbitrary, JSON serializable object) that you'd compare to `output` to determine if your `output` value is correct or not. Braintrust currently does not compare `output` to `expected` for you, since there are so many different ways to do that correctly. Instead, these values are just used to help you navigate while digging into analyses. However, we may later use these values to re-score outputs or fine-tune your models."},"facets":{"anyOf":[{"additionalProperties":{"type":["string","null"]},"properties":{},"type":"object"},{"type":"null"}]},"id":{"description":"A unique identifier for the project logs event. If you don't provide one, Braintrust will generate one for you","type":"string"},"input":{"description":"The arguments that uniquely define a user input (an arbitrary, JSON serializable object)."},"is_root":{"description":"Whether this span is a root span","type":["boolean","null"]},"log_id":{"const":"g","description":"A literal 'g' which identifies the log as a project log","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"properties":{"model":{"description":"The model used for this example","type":["string","null"]}},"type":"object"},{"type":"null"}]},"metrics":{"anyOf":[{"additionalProperties":{"type":"number"},"properties":{"caller_filename":{"description":"This metric is deprecated"},"caller_functionname":{"description":"This metric is deprecated"},"caller_lineno":{"description":"This metric is deprecated"},"completion_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"end":{"description":"A unix timestamp recording when the section of code which produced the project logs event finished","type":["number","null"]},"prompt_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"start":{"description":"A unix timestamp recording when the section of code which produced the project logs event started","type":["number","null"]},"tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"org_id":{"description":"Unique id for the organization that the project belongs under","format":"uuid","type":"string"},"origin":{"anyOf":[{"description":"Reference to the original object and event this was copied from.","properties":{"_xact_id":{"description":"Transaction ID of the original event.","type":["string","null"]},"created":{"description":"Created timestamp of the original event. Used to help sort in the UI","type":["string","null"]},"id":{"description":"ID of the original event.","type":"string"},"object_id":{"description":"ID of the object the event is originating from.","format":"uuid","type":"string"},"object_type":{"description":"Type of the object the event is originating from.","enum":["project_logs","experiment","dataset","prompt","function","prompt_session"],"type":"string"}},"required":["object_type","object_id","id"],"type":"object"},{"type":"null"}]},"output":{"description":"The output of your application, including post-processing (an arbitrary, JSON serializable object), that allows you to determine whether the result is correct or not. For example, in an app that generates SQL queries, the `output` should be the _result_ of the SQL query generated by the model, not the query itself, because there may be multiple valid queries that answer a single question."},"project_id":{"description":"Unique identifier for the project","format":"uuid","type":"string"},"root_span_id":{"description":"A unique identifier for the trace this project logs event belongs to","type":"string"},"scores":{"anyOf":[{"additionalProperties":{"anyOf":[{"maximum":1,"minimum":0,"type":"number"},{"type":"null"}]},"properties":{},"type":"object"},{"type":"null"}]},"span_attributes":{"anyOf":[{"additionalProperties":{},"description":"Human-identifying attributes of the span, such as name, type, etc.","properties":{"name":{"description":"Name of the span, for display purposes only","type":["string","null"]},"purpose":{"anyOf":[{"enum":["scorer"],"type":"string"},{"type":"null"}]},"type":{"anyOf":[{"enum":["llm","score","function","eval","task","tool","automation","facet","preprocessor","classifier","review"],"type":"string"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"span_id":{"description":"A unique identifier used to link different project logs events together as part of a full trace. See the [tracing guide](https://www.braintrust.dev/docs/instrument) for full details on tracing","type":"string"},"span_parents":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]},"tags":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]}}}},"realtime_state":{"type":"on","minimum_xact_id":"1000197530292950886","read_bytes":0,"actual_xact_id":"1000197530292950886"},"freshness_state":{"last_processed_xact_id":"1000197530292950886","last_considered_xact_id":"1000197530292950886"},"warnings":[]} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-189f56aebbb3.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-e7c084b361f1.json similarity index 69% rename from test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-189f56aebbb3.json rename to test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-e7c084b361f1.json index 6c2f32ee..23af8f83 100644 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-189f56aebbb3.json +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-e7c084b361f1.json @@ -1 +1 @@ -{"data":[{"_async_scoring_state":null,"_pagination_key":"p07659835899147517954","_xact_id":"1000197472073199225","audit_data":[{"_xact_id":"1000197472073199225","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":null,"created":"2026-07-07T17:15:17.643Z","error":null,"expected":null,"facets":null,"id":"7ccc2e9c14440790","input":null,"is_root":true,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","client":"anthropic"},"metrics":{"end":1783444519.8001366,"start":1783444517.6434839},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":null,"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"1161a2db575ed398466924d939fe6b52","scores":null,"span_attributes":{"name":"attachments","type":"task"},"span_id":"7ccc2e9c14440790","span_parents":null,"tags":null},{"_async_scoring_state":null,"_pagination_key":"p07659835899147517959","_xact_id":"1000197472073199225","audit_data":[{"_xact_id":"1000197472073199225","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":null,"created":"2026-07-07T17:15:17.675Z","error":null,"expected":null,"facets":null,"id":"5705d6102d7fb174","input":[{"content":[{"text":"Briefly describe these attachments","type":"text"},{"source":{"content_type":"image/png","filename":"attachment.png","key":"9fb5abde-3407-4a34-a7be-656eb549ff57","type":"braintrust_attachment"},"type":"image"},{"source":{"content_type":"application/pdf","filename":"attachment.pdf","key":"197e6e84-4c6c-47c5-a724-6bc9e65fca63","type":"braintrust_attachment"},"type":"document"}],"role":"user"}],"is_root":false,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","model":"claude-haiku-4-5-20251001","provider":"anthropic","request_base_uri":"","request_method":"POST","request_path":"v1/messages"},"metrics":{"completion_tokens":105,"end":1783444519.798889,"prompt_cache_creation_1h_tokens":0,"prompt_cache_creation_5m_tokens":0,"prompt_cached_tokens":0,"prompt_tokens":1592,"start":1783444517.6752996,"tokens":1697},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":{"content":[{"text":"I can see that you've shared a PDF attachment, but the document appears to be blank or contains no visible text or images on the page shown. \n\nTo help you better, could you please:\n1. Verify that the file uploaded correctly\n2. Check if there's content on other pages of the PDF\n3. Re-upload the document if it may have been corrupted\n\nOnce you share a document with visible content, I'll be happy to provide a brief description of it.","type":"text"}],"id":"msg_011Cco5GN8m7j8M4CbaGkgWt","model":"claude-haiku-4-5-20251001","role":"assistant","stop_details":null,"stop_reason":"end_turn","stop_sequence":null,"type":"message","usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":0},"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"inference_geo":"not_available","input_tokens":1592,"output_tokens":105,"service_tier":"standard"}},"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"1161a2db575ed398466924d939fe6b52","scores":null,"span_attributes":{"name":"anthropic.messages.create","type":"llm"},"span_id":"5705d6102d7fb174","span_parents":["7ccc2e9c14440790"],"tags":null}],"schema":{"type":"array","items":{"type":"object","properties":{"_async_scoring_state":{},"_pagination_key":{"description":"A stable, time-ordered key that can be used to paginate over project logs events. This field is auto-generated by Braintrust and only exists in Brainstore.","type":["string","null"]},"_xact_id":{"description":"The transaction id of an event is unique to the network operation that processed the event insertion. Transaction ids are monotonically increasing over time and can be used to retrieve a versioned snapshot of the project logs (see the `version` parameter)","type":"string"},"audit_data":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"classifications":{"anyOf":[{"additionalProperties":{"items":{"additionalProperties":false,"properties":{"confidence":{"description":"Optional confidence score for the classification","type":["number","null"]},"id":{"description":"Stable classification identifier","type":"string"},"label":{"description":"Original label of the classification item, which is useful for search and indexing purposes","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"type":"object"},{"type":"null"}],"description":"Optional metadata associated with the classification"},"source":{"anyOf":[{"anyOf":[{"additionalProperties":false,"properties":{"id":{"type":"string"},"type":{"const":"function","type":"string"},"version":{"description":"The version of the function","type":"string"}},"required":["type","id"],"type":"object"},{"additionalProperties":false,"properties":{"function_type":{"default":"scorer","description":"The type of global function. Defaults to 'scorer'.","enum":["llm","scorer","task","tool","custom_view","preprocessor","facet","classifier","tag","parameters","sandbox"],"type":"string"},"name":{"type":"string"},"type":{"const":"global","type":"string"}},"required":["type","name"],"type":"object"}]},{"type":"null"}],"description":"Optional function identifier that produced the classification"}},"required":["id"],"type":"object"},"type":"array"},"properties":{},"type":"object"},{"type":"null"}]},"comments":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"context":{"anyOf":[{"additionalProperties":{},"properties":{"caller_filename":{"description":"Name of the file in code where the project logs event was created","type":["string","null"]},"caller_functionname":{"description":"The function in code which created the project logs event","type":["string","null"]},"caller_lineno":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"created":{"description":"The timestamp the project logs event was created","format":"date-time","type":"string"},"error":{"description":"The error that occurred, if any."},"expected":{"description":"The ground truth value (an arbitrary, JSON serializable object) that you'd compare to `output` to determine if your `output` value is correct or not. Braintrust currently does not compare `output` to `expected` for you, since there are so many different ways to do that correctly. Instead, these values are just used to help you navigate while digging into analyses. However, we may later use these values to re-score outputs or fine-tune your models."},"facets":{"anyOf":[{"additionalProperties":{"type":["string","null"]},"properties":{},"type":"object"},{"type":"null"}]},"id":{"description":"A unique identifier for the project logs event. If you don't provide one, Braintrust will generate one for you","type":"string"},"input":{"description":"The arguments that uniquely define a user input (an arbitrary, JSON serializable object)."},"is_root":{"description":"Whether this span is a root span","type":["boolean","null"]},"log_id":{"const":"g","description":"A literal 'g' which identifies the log as a project log","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"properties":{"model":{"description":"The model used for this example","type":["string","null"]}},"type":"object"},{"type":"null"}]},"metrics":{"anyOf":[{"additionalProperties":{"type":"number"},"properties":{"caller_filename":{"description":"This metric is deprecated"},"caller_functionname":{"description":"This metric is deprecated"},"caller_lineno":{"description":"This metric is deprecated"},"completion_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"end":{"description":"A unix timestamp recording when the section of code which produced the project logs event finished","type":["number","null"]},"prompt_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"start":{"description":"A unix timestamp recording when the section of code which produced the project logs event started","type":["number","null"]},"tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"org_id":{"description":"Unique id for the organization that the project belongs under","format":"uuid","type":"string"},"origin":{"anyOf":[{"description":"Reference to the original object and event this was copied from.","properties":{"_xact_id":{"description":"Transaction ID of the original event.","type":["string","null"]},"created":{"description":"Created timestamp of the original event. Used to help sort in the UI","type":["string","null"]},"id":{"description":"ID of the original event.","type":"string"},"object_id":{"description":"ID of the object the event is originating from.","format":"uuid","type":"string"},"object_type":{"description":"Type of the object the event is originating from.","enum":["project_logs","experiment","dataset","prompt","function","prompt_session"],"type":"string"}},"required":["object_type","object_id","id"],"type":"object"},{"type":"null"}]},"output":{"description":"The output of your application, including post-processing (an arbitrary, JSON serializable object), that allows you to determine whether the result is correct or not. For example, in an app that generates SQL queries, the `output` should be the _result_ of the SQL query generated by the model, not the query itself, because there may be multiple valid queries that answer a single question."},"project_id":{"description":"Unique identifier for the project","format":"uuid","type":"string"},"root_span_id":{"description":"A unique identifier for the trace this project logs event belongs to","type":"string"},"scores":{"anyOf":[{"additionalProperties":{"anyOf":[{"maximum":1,"minimum":0,"type":"number"},{"type":"null"}]},"properties":{},"type":"object"},{"type":"null"}]},"span_attributes":{"anyOf":[{"additionalProperties":{},"description":"Human-identifying attributes of the span, such as name, type, etc.","properties":{"name":{"description":"Name of the span, for display purposes only","type":["string","null"]},"purpose":{"anyOf":[{"enum":["scorer"],"type":"string"},{"type":"null"}]},"type":{"anyOf":[{"enum":["llm","score","function","eval","task","tool","automation","facet","preprocessor","classifier","review"],"type":"string"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"span_id":{"description":"A unique identifier used to link different project logs events together as part of a full trace. See the [tracing guide](https://www.braintrust.dev/docs/instrument) for full details on tracing","type":"string"},"span_parents":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]},"tags":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]}}}},"realtime_state":{"type":"on","minimum_xact_id":"1000197472072442086","read_bytes":40897,"actual_xact_id":"1000197472073890576"},"freshness_state":{"last_processed_xact_id":"1000197472073890576","last_considered_xact_id":"1000197472073890576"},"warnings":[]} \ No newline at end of file +{"data":[{"_async_scoring_state":null,"_pagination_key":"p07680251289063456779","_xact_id":"1000197783587327581","audit_data":[{"_xact_id":"1000197783587327581","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":{"span_origin":{"instrumentation":{"name":"braintrust-java"},"name":"braintrust.sdk.java","version":"0.3.22-ca5ce6d-DIRTY"}},"created":"2026-08-31T17:37:24.510Z","error":null,"expected":null,"facets":null,"id":"f4181c599f56c2e2","input":null,"is_root":true,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","client":"springai-anthropic"},"metrics":{"end":1788197846.390983,"start":1788197844.510271},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":null,"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"144befdc9251335393fd0810f2acda2b","scores":null,"span_attributes":{"name":"attachments","type":"task"},"span_id":"f4181c599f56c2e2","span_parents":null,"tags":null},{"_async_scoring_state":null,"_pagination_key":"p07680251289063456772","_xact_id":"1000197783587327581","audit_data":[{"_xact_id":"1000197783587327581","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":{"span_origin":{"instrumentation":{"name":"braintrust-java"},"name":"braintrust.sdk.java","version":"0.3.22-ca5ce6d-DIRTY"}},"created":"2026-08-31T17:37:24.524Z","error":null,"expected":null,"facets":null,"id":"fcebdcb6865f149b","input":[{"content":[{"text":"Briefly describe these attachments","type":"text"},{"source":{"content_type":"image/png","filename":"attachment.png","key":"1a295cb0-f31b-468c-bcaa-05860a741d2c","type":"braintrust_attachment"},"type":"image"},{"source":{"content_type":"application/pdf","filename":"attachment.pdf","key":"739e2a4d-7c22-4419-97b9-d4b0412e8ee2","type":"braintrust_attachment"},"type":"document"}],"role":"user"}],"is_root":false,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","max_tokens":128,"model":"claude-haiku-4-5-20251001","provider":"anthropic","request-id":"req_011CebESXR5bfbFVeCgpugK5","request_base_uri":"http://localhost:52407","request_method":"POST","request_path":"v1/messages","response_id":"msg_011CebESYGvmW58pCysQjmVr","stream":false,"temperature":0},"metrics":{"completion_tokens":103,"end":1788197846.3822699,"estimated_cost":0.0021070000000000004,"prompt_cache_creation_1h_tokens":0,"prompt_cache_creation_5m_tokens":0,"prompt_cached_tokens":0,"prompt_tokens":1592,"start":1788197844.5240574,"tokens":1695},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":{"content":[{"text":"I can see that you've shared a PDF attachment, but the document appears to be blank or contains only a white/empty page. There is no visible text, images, or other content that I can describe.\n\nCould you please:\n1. Verify that the correct file was uploaded\n2. Check if the document loaded properly\n3. Re-upload the attachment if needed\n\nOnce you share a document with visible content, I'll be happy to provide a brief description of it.","type":"text"}],"id":"msg_011CebESYGvmW58pCysQjmVr","model":"claude-haiku-4-5-20251001","role":"assistant","stop_details":null,"stop_reason":"end_turn","stop_sequence":null,"type":"message","usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":0},"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"inference_geo":"not_available","input_tokens":1592,"output_tokens":103,"service_tier":"standard"}},"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"144befdc9251335393fd0810f2acda2b","scores":null,"span_attributes":{"name":"anthropic.messages.create","type":"llm"},"span_id":"fcebdcb6865f149b","span_parents":["f4181c599f56c2e2"],"tags":null}],"schema":{"type":"array","items":{"type":"object","properties":{"_async_scoring_state":{},"_pagination_key":{"description":"A stable, time-ordered key that can be used to paginate over project logs events. This field is auto-generated by Braintrust and only exists in Brainstore.","type":["string","null"]},"_xact_id":{"description":"The transaction id of an event is unique to the network operation that processed the event insertion. Transaction ids are monotonically increasing over time and can be used to retrieve a versioned snapshot of the project logs (see the `version` parameter)","type":"string"},"audit_data":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"classifications":{"anyOf":[{"additionalProperties":{"items":{"additionalProperties":false,"properties":{"confidence":{"description":"Optional confidence score for the classification","type":["number","null"]},"id":{"description":"Stable classification identifier","type":"string"},"label":{"description":"Original label of the classification item, which is useful for search and indexing purposes","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"type":"object"},{"type":"null"}],"description":"Optional metadata associated with the classification"},"source":{"anyOf":[{"anyOf":[{"additionalProperties":false,"properties":{"id":{"type":"string"},"type":{"const":"function","type":"string"},"version":{"description":"The version of the function","type":"string"}},"required":["type","id"],"type":"object"},{"additionalProperties":false,"properties":{"function_type":{"default":"scorer","description":"The type of global function. Defaults to 'scorer'.","enum":["llm","scorer","task","tool","custom_view","preprocessor","facet","classifier","tag","parameters","sandbox"],"type":"string"},"name":{"type":"string"},"type":{"const":"global","type":"string"}},"required":["type","name"],"type":"object"}]},{"type":"null"}],"description":"Optional function identifier that produced the classification"}},"required":["id"],"type":"object"},"type":"array"},"properties":{},"type":"object"},{"type":"null"}]},"comments":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"context":{"anyOf":[{"additionalProperties":{},"properties":{"caller_filename":{"description":"Name of the file in code where the project logs event was created","type":["string","null"]},"caller_functionname":{"description":"The function in code which created the project logs event","type":["string","null"]},"caller_lineno":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"created":{"description":"The timestamp the project logs event was created","format":"date-time","type":"string"},"error":{"description":"The error that occurred, if any."},"expected":{"description":"The ground truth value (an arbitrary, JSON serializable object) that you'd compare to `output` to determine if your `output` value is correct or not. Braintrust currently does not compare `output` to `expected` for you, since there are so many different ways to do that correctly. Instead, these values are just used to help you navigate while digging into analyses. However, we may later use these values to re-score outputs or fine-tune your models."},"facets":{"anyOf":[{"additionalProperties":{"type":["string","null"]},"properties":{},"type":"object"},{"type":"null"}]},"id":{"description":"A unique identifier for the project logs event. If you don't provide one, Braintrust will generate one for you","type":"string"},"input":{"description":"The arguments that uniquely define a user input (an arbitrary, JSON serializable object)."},"is_root":{"description":"Whether this span is a root span","type":["boolean","null"]},"log_id":{"const":"g","description":"A literal 'g' which identifies the log as a project log","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"properties":{"model":{"description":"The model used for this example","type":["string","null"]}},"type":"object"},{"type":"null"}]},"metrics":{"anyOf":[{"additionalProperties":{"type":"number"},"properties":{"caller_filename":{"description":"This metric is deprecated"},"caller_functionname":{"description":"This metric is deprecated"},"caller_lineno":{"description":"This metric is deprecated"},"completion_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"end":{"description":"A unix timestamp recording when the section of code which produced the project logs event finished","type":["number","null"]},"prompt_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"start":{"description":"A unix timestamp recording when the section of code which produced the project logs event started","type":["number","null"]},"tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"org_id":{"description":"Unique id for the organization that the project belongs under","format":"uuid","type":"string"},"origin":{"anyOf":[{"description":"Reference to the original object and event this was copied from.","properties":{"_xact_id":{"description":"Transaction ID of the original event.","type":["string","null"]},"created":{"description":"Created timestamp of the original event. Used to help sort in the UI","type":["string","null"]},"id":{"description":"ID of the original event.","type":"string"},"object_id":{"description":"ID of the object the event is originating from.","format":"uuid","type":"string"},"object_type":{"description":"Type of the object the event is originating from.","enum":["project_logs","experiment","dataset","prompt","function","prompt_session"],"type":"string"}},"required":["object_type","object_id","id"],"type":"object"},{"type":"null"}]},"output":{"description":"The output of your application, including post-processing (an arbitrary, JSON serializable object), that allows you to determine whether the result is correct or not. For example, in an app that generates SQL queries, the `output` should be the _result_ of the SQL query generated by the model, not the query itself, because there may be multiple valid queries that answer a single question."},"project_id":{"description":"Unique identifier for the project","format":"uuid","type":"string"},"root_span_id":{"description":"A unique identifier for the trace this project logs event belongs to","type":"string"},"scores":{"anyOf":[{"additionalProperties":{"anyOf":[{"maximum":1,"minimum":0,"type":"number"},{"type":"null"}]},"properties":{},"type":"object"},{"type":"null"}]},"span_attributes":{"anyOf":[{"additionalProperties":{},"description":"Human-identifying attributes of the span, such as name, type, etc.","properties":{"name":{"description":"Name of the span, for display purposes only","type":["string","null"]},"purpose":{"anyOf":[{"enum":["scorer"],"type":"string"},{"type":"null"}]},"type":{"anyOf":[{"enum":["llm","score","function","eval","task","tool","automation","facet","preprocessor","classifier","review"],"type":"string"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"span_id":{"description":"A unique identifier used to link different project logs events together as part of a full trace. See the [tracing guide](https://www.braintrust.dev/docs/instrument) for full details on tracing","type":"string"},"span_parents":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]},"tags":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]}}}},"realtime_state":{"type":"on","minimum_xact_id":"1000197783589161396","read_bytes":0,"actual_xact_id":"1000197783589161396"},"freshness_state":{"last_processed_xact_id":"1000197783589161396","last_considered_xact_id":"1000197783589161396"},"warnings":[]} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-e83f4f5030f6.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-e83f4f5030f6.json new file mode 100644 index 00000000..5c376903 --- /dev/null +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-e83f4f5030f6.json @@ -0,0 +1 @@ +{"data":[{"_async_scoring_state":null,"_pagination_key":"p07680251121458085896","_xact_id":"1000197783584770126","audit_data":[{"_xact_id":"1000197783584770126","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":{"span_origin":{"instrumentation":{"name":"braintrust-java"},"name":"braintrust.sdk.java","version":"0.3.22-ca5ce6d-DIRTY"}},"created":"2026-08-31T17:36:47.077Z","error":null,"expected":null,"facets":null,"id":"d5f7c72e73bd6aff","input":null,"is_root":true,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","client":"langchain1.8-openai"},"metrics":{"end":1788197809.3789647,"start":1788197807.077491},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":null,"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"9c48b99ecb1d1abfb1528bcc1a106645","scores":null,"span_attributes":{"name":"attachments","type":"task"},"span_id":"d5f7c72e73bd6aff","span_parents":null,"tags":null},{"_async_scoring_state":null,"_pagination_key":"p07680251121458085889","_xact_id":"1000197783584770126","audit_data":[{"_xact_id":"1000197783584770126","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":{"span_origin":{"instrumentation":{"name":"braintrust-java"},"name":"braintrust.sdk.java","version":"0.3.22-ca5ce6d-DIRTY"}},"created":"2026-08-31T17:36:47.173Z","error":null,"expected":null,"facets":null,"id":"ad2e9a6b4f6d7a29","input":[{"content":"you are a helpful assistant","role":"system"},{"content":[{"text":"Briefly describe these attachments","type":"text"},{"image_url":{"url":{"content_type":"image/png","filename":"attachment.png","key":"88ac6506-a349-4551-aeba-37371e79a7b5","type":"braintrust_attachment"}},"type":"image_url"},{"file":{"file_data":{"content_type":"application/pdf","filename":"attachment.pdf","key":"665a116b-4e1a-421e-b72c-f74bcb1f88b9","type":"braintrust_attachment"},"filename":"blank.pdf"},"type":"file"}],"role":"user"}],"is_root":false,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","model":"gpt-4o","provider":"openai","request_base_uri":"http://localhost:52408","request_method":"POST","request_path":"chat/completions","response_id":"chatcmpl-EJ0E4DbrAvjTvzRQUGVOrPWkWfqkV","stream":false,"temperature":0,"x-request-id":"req_6bdd751602834bd5a64e463db22778f6"},"metrics":{"completion_reasoning_tokens":0,"completion_tokens":30,"end":1788197809.376499,"estimated_cost":0.0015375,"prompt_cached_tokens":0,"prompt_tokens":495,"start":1788197807.1739404,"tokens":525},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":[{"finish_reason":"stop","index":0,"logprobs":null,"message":{"annotations":[],"content":"The first attachment is a solid red square, and the second attachment is a PDF file named \"blank.pdf\" that contains no readable content or images.","refusal":null,"role":"assistant"}}],"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"9c48b99ecb1d1abfb1528bcc1a106645","scores":null,"span_attributes":{"name":"Chat Completion","type":"llm"},"span_id":"ad2e9a6b4f6d7a29","span_parents":["d5f7c72e73bd6aff"],"tags":null}],"schema":{"type":"array","items":{"type":"object","properties":{"_async_scoring_state":{},"_pagination_key":{"description":"A stable, time-ordered key that can be used to paginate over project logs events. This field is auto-generated by Braintrust and only exists in Brainstore.","type":["string","null"]},"_xact_id":{"description":"The transaction id of an event is unique to the network operation that processed the event insertion. Transaction ids are monotonically increasing over time and can be used to retrieve a versioned snapshot of the project logs (see the `version` parameter)","type":"string"},"audit_data":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"classifications":{"anyOf":[{"additionalProperties":{"items":{"additionalProperties":false,"properties":{"confidence":{"description":"Optional confidence score for the classification","type":["number","null"]},"id":{"description":"Stable classification identifier","type":"string"},"label":{"description":"Original label of the classification item, which is useful for search and indexing purposes","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"type":"object"},{"type":"null"}],"description":"Optional metadata associated with the classification"},"source":{"anyOf":[{"anyOf":[{"additionalProperties":false,"properties":{"id":{"type":"string"},"type":{"const":"function","type":"string"},"version":{"description":"The version of the function","type":"string"}},"required":["type","id"],"type":"object"},{"additionalProperties":false,"properties":{"function_type":{"default":"scorer","description":"The type of global function. Defaults to 'scorer'.","enum":["llm","scorer","task","tool","custom_view","preprocessor","facet","classifier","tag","parameters","sandbox"],"type":"string"},"name":{"type":"string"},"type":{"const":"global","type":"string"}},"required":["type","name"],"type":"object"}]},{"type":"null"}],"description":"Optional function identifier that produced the classification"}},"required":["id"],"type":"object"},"type":"array"},"properties":{},"type":"object"},{"type":"null"}]},"comments":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"context":{"anyOf":[{"additionalProperties":{},"properties":{"caller_filename":{"description":"Name of the file in code where the project logs event was created","type":["string","null"]},"caller_functionname":{"description":"The function in code which created the project logs event","type":["string","null"]},"caller_lineno":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"created":{"description":"The timestamp the project logs event was created","format":"date-time","type":"string"},"error":{"description":"The error that occurred, if any."},"expected":{"description":"The ground truth value (an arbitrary, JSON serializable object) that you'd compare to `output` to determine if your `output` value is correct or not. Braintrust currently does not compare `output` to `expected` for you, since there are so many different ways to do that correctly. Instead, these values are just used to help you navigate while digging into analyses. However, we may later use these values to re-score outputs or fine-tune your models."},"facets":{"anyOf":[{"additionalProperties":{"type":["string","null"]},"properties":{},"type":"object"},{"type":"null"}]},"id":{"description":"A unique identifier for the project logs event. If you don't provide one, Braintrust will generate one for you","type":"string"},"input":{"description":"The arguments that uniquely define a user input (an arbitrary, JSON serializable object)."},"is_root":{"description":"Whether this span is a root span","type":["boolean","null"]},"log_id":{"const":"g","description":"A literal 'g' which identifies the log as a project log","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"properties":{"model":{"description":"The model used for this example","type":["string","null"]}},"type":"object"},{"type":"null"}]},"metrics":{"anyOf":[{"additionalProperties":{"type":"number"},"properties":{"caller_filename":{"description":"This metric is deprecated"},"caller_functionname":{"description":"This metric is deprecated"},"caller_lineno":{"description":"This metric is deprecated"},"completion_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"end":{"description":"A unix timestamp recording when the section of code which produced the project logs event finished","type":["number","null"]},"prompt_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"start":{"description":"A unix timestamp recording when the section of code which produced the project logs event started","type":["number","null"]},"tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"org_id":{"description":"Unique id for the organization that the project belongs under","format":"uuid","type":"string"},"origin":{"anyOf":[{"description":"Reference to the original object and event this was copied from.","properties":{"_xact_id":{"description":"Transaction ID of the original event.","type":["string","null"]},"created":{"description":"Created timestamp of the original event. Used to help sort in the UI","type":["string","null"]},"id":{"description":"ID of the original event.","type":"string"},"object_id":{"description":"ID of the object the event is originating from.","format":"uuid","type":"string"},"object_type":{"description":"Type of the object the event is originating from.","enum":["project_logs","experiment","dataset","prompt","function","prompt_session"],"type":"string"}},"required":["object_type","object_id","id"],"type":"object"},{"type":"null"}]},"output":{"description":"The output of your application, including post-processing (an arbitrary, JSON serializable object), that allows you to determine whether the result is correct or not. For example, in an app that generates SQL queries, the `output` should be the _result_ of the SQL query generated by the model, not the query itself, because there may be multiple valid queries that answer a single question."},"project_id":{"description":"Unique identifier for the project","format":"uuid","type":"string"},"root_span_id":{"description":"A unique identifier for the trace this project logs event belongs to","type":"string"},"scores":{"anyOf":[{"additionalProperties":{"anyOf":[{"maximum":1,"minimum":0,"type":"number"},{"type":"null"}]},"properties":{},"type":"object"},{"type":"null"}]},"span_attributes":{"anyOf":[{"additionalProperties":{},"description":"Human-identifying attributes of the span, such as name, type, etc.","properties":{"name":{"description":"Name of the span, for display purposes only","type":["string","null"]},"purpose":{"anyOf":[{"enum":["scorer"],"type":"string"},{"type":"null"}]},"type":{"anyOf":[{"enum":["llm","score","function","eval","task","tool","automation","facet","preprocessor","classifier","review"],"type":"string"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"span_id":{"description":"A unique identifier used to link different project logs events together as part of a full trace. See the [tracing guide](https://www.braintrust.dev/docs/instrument) for full details on tracing","type":"string"},"span_parents":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]},"tags":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]}}}},"realtime_state":{"type":"on","minimum_xact_id":"1000197783589884487","read_bytes":0,"actual_xact_id":"1000197783589884487"},"freshness_state":{"last_processed_xact_id":"1000197783589884487","last_considered_xact_id":"1000197783589884487"},"warnings":[]} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-eb8f179fde68.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-eb8f179fde68.json deleted file mode 100644 index bc0fc56e..00000000 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-eb8f179fde68.json +++ /dev/null @@ -1 +0,0 @@ -{"data":[{"_async_scoring_state":null,"_pagination_key":"p07663651388792373255","_xact_id":"1000197530292950886","audit_data":[{"_xact_id":"1000197530292950886","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":{"span_origin":{"instrumentation":{"name":"braintrust-java"},"name":"braintrust.sdk.java","version":"0.3.17-0155866-DIRTY"}},"created":"2026-07-18T00:01:20.507Z","error":null,"expected":null,"facets":null,"id":"f373be10c3f8621d","input":null,"is_root":true,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","client":"springai2-openai"},"metrics":{"end":1784332881.8333862,"start":1784332880.5076532},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":null,"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"dfa211393af27faee37b6c1464eef978","scores":null,"span_attributes":{"name":"tools","type":"task"},"span_id":"f373be10c3f8621d","span_parents":null,"tags":null},{"_async_scoring_state":null,"_pagination_key":"p07663651388792373249","_xact_id":"1000197530292950886","audit_data":[{"_xact_id":"1000197530292950886","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":{"span_origin":{"instrumentation":{"name":"braintrust-java"},"name":"braintrust.sdk.java","version":"0.3.17-0155866-DIRTY"}},"created":"2026-07-18T00:01:20.854Z","error":null,"expected":null,"facets":null,"id":"7da7a3cd5b6253a5","input":[{"content":"What is the weather like in Paris, France?","role":"user"}],"is_root":false,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","model":"gpt-4o","provider":"openai","request_base_uri":"http://localhost:55372","request_method":"POST","request_path":"chat/completions"},"metrics":{"completion_tokens":16,"end":1784332881.8326805,"estimated_cost":0.0003725,"prompt_cached_tokens":0,"prompt_tokens":85,"start":1784332880.8543828,"tokens":101},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":[{"finish_reason":"tool_calls","index":0,"logprobs":null,"message":{"annotations":[],"content":null,"refusal":null,"role":"assistant","tool_calls":[{"function":{"arguments":"{\"location\":\"Paris, France\"}","name":"get_weather"},"id":"call_hgh1XLa5dSb7s4epyidMmGbS","type":"function"}]}}],"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"dfa211393af27faee37b6c1464eef978","scores":null,"span_attributes":{"name":"Chat Completion","type":"llm"},"span_id":"7da7a3cd5b6253a5","span_parents":["f373be10c3f8621d"],"tags":null}],"schema":{"type":"array","items":{"type":"object","properties":{"_async_scoring_state":{},"_pagination_key":{"description":"A stable, time-ordered key that can be used to paginate over project logs events. This field is auto-generated by Braintrust and only exists in Brainstore.","type":["string","null"]},"_xact_id":{"description":"The transaction id of an event is unique to the network operation that processed the event insertion. Transaction ids are monotonically increasing over time and can be used to retrieve a versioned snapshot of the project logs (see the `version` parameter)","type":"string"},"audit_data":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"classifications":{"anyOf":[{"additionalProperties":{"items":{"additionalProperties":false,"properties":{"confidence":{"description":"Optional confidence score for the classification","type":["number","null"]},"id":{"description":"Stable classification identifier","type":"string"},"label":{"description":"Original label of the classification item, which is useful for search and indexing purposes","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"type":"object"},{"type":"null"}],"description":"Optional metadata associated with the classification"},"source":{"anyOf":[{"anyOf":[{"additionalProperties":false,"properties":{"id":{"type":"string"},"type":{"const":"function","type":"string"},"version":{"description":"The version of the function","type":"string"}},"required":["type","id"],"type":"object"},{"additionalProperties":false,"properties":{"function_type":{"default":"scorer","description":"The type of global function. Defaults to 'scorer'.","enum":["llm","scorer","task","tool","custom_view","preprocessor","facet","classifier","tag","parameters","sandbox"],"type":"string"},"name":{"type":"string"},"type":{"const":"global","type":"string"}},"required":["type","name"],"type":"object"}]},{"type":"null"}],"description":"Optional function identifier that produced the classification"}},"required":["id"],"type":"object"},"type":"array"},"properties":{},"type":"object"},{"type":"null"}]},"comments":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"context":{"anyOf":[{"additionalProperties":{},"properties":{"caller_filename":{"description":"Name of the file in code where the project logs event was created","type":["string","null"]},"caller_functionname":{"description":"The function in code which created the project logs event","type":["string","null"]},"caller_lineno":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"created":{"description":"The timestamp the project logs event was created","format":"date-time","type":"string"},"error":{"description":"The error that occurred, if any."},"expected":{"description":"The ground truth value (an arbitrary, JSON serializable object) that you'd compare to `output` to determine if your `output` value is correct or not. Braintrust currently does not compare `output` to `expected` for you, since there are so many different ways to do that correctly. Instead, these values are just used to help you navigate while digging into analyses. However, we may later use these values to re-score outputs or fine-tune your models."},"facets":{"anyOf":[{"additionalProperties":{"type":["string","null"]},"properties":{},"type":"object"},{"type":"null"}]},"id":{"description":"A unique identifier for the project logs event. If you don't provide one, Braintrust will generate one for you","type":"string"},"input":{"description":"The arguments that uniquely define a user input (an arbitrary, JSON serializable object)."},"is_root":{"description":"Whether this span is a root span","type":["boolean","null"]},"log_id":{"const":"g","description":"A literal 'g' which identifies the log as a project log","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"properties":{"model":{"description":"The model used for this example","type":["string","null"]}},"type":"object"},{"type":"null"}]},"metrics":{"anyOf":[{"additionalProperties":{"type":"number"},"properties":{"caller_filename":{"description":"This metric is deprecated"},"caller_functionname":{"description":"This metric is deprecated"},"caller_lineno":{"description":"This metric is deprecated"},"completion_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"end":{"description":"A unix timestamp recording when the section of code which produced the project logs event finished","type":["number","null"]},"prompt_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"start":{"description":"A unix timestamp recording when the section of code which produced the project logs event started","type":["number","null"]},"tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"org_id":{"description":"Unique id for the organization that the project belongs under","format":"uuid","type":"string"},"origin":{"anyOf":[{"description":"Reference to the original object and event this was copied from.","properties":{"_xact_id":{"description":"Transaction ID of the original event.","type":["string","null"]},"created":{"description":"Created timestamp of the original event. Used to help sort in the UI","type":["string","null"]},"id":{"description":"ID of the original event.","type":"string"},"object_id":{"description":"ID of the object the event is originating from.","format":"uuid","type":"string"},"object_type":{"description":"Type of the object the event is originating from.","enum":["project_logs","experiment","dataset","prompt","function","prompt_session"],"type":"string"}},"required":["object_type","object_id","id"],"type":"object"},{"type":"null"}]},"output":{"description":"The output of your application, including post-processing (an arbitrary, JSON serializable object), that allows you to determine whether the result is correct or not. For example, in an app that generates SQL queries, the `output` should be the _result_ of the SQL query generated by the model, not the query itself, because there may be multiple valid queries that answer a single question."},"project_id":{"description":"Unique identifier for the project","format":"uuid","type":"string"},"root_span_id":{"description":"A unique identifier for the trace this project logs event belongs to","type":"string"},"scores":{"anyOf":[{"additionalProperties":{"anyOf":[{"maximum":1,"minimum":0,"type":"number"},{"type":"null"}]},"properties":{},"type":"object"},{"type":"null"}]},"span_attributes":{"anyOf":[{"additionalProperties":{},"description":"Human-identifying attributes of the span, such as name, type, etc.","properties":{"name":{"description":"Name of the span, for display purposes only","type":["string","null"]},"purpose":{"anyOf":[{"enum":["scorer"],"type":"string"},{"type":"null"}]},"type":{"anyOf":[{"enum":["llm","score","function","eval","task","tool","automation","facet","preprocessor","classifier","review"],"type":"string"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"span_id":{"description":"A unique identifier used to link different project logs events together as part of a full trace. See the [tracing guide](https://www.braintrust.dev/docs/instrument) for full details on tracing","type":"string"},"span_parents":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]},"tags":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]}}}},"realtime_state":{"type":"on","minimum_xact_id":"1000197530292950886","read_bytes":0,"actual_xact_id":"1000197530292950886"},"freshness_state":{"last_processed_xact_id":"1000197530292950886","last_considered_xact_id":"1000197530292950886"},"warnings":[]} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-edd0ff763056.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-edd0ff763056.json new file mode 100644 index 00000000..fcb17f69 --- /dev/null +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-edd0ff763056.json @@ -0,0 +1 @@ +{"data":[{"_async_scoring_state":null,"_pagination_key":"p07680251263181783055","_xact_id":"1000197783586932658","audit_data":[{"_xact_id":"1000197783586932658","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":{"span_origin":{"instrumentation":{"name":"braintrust-java"},"name":"braintrust.sdk.java","version":"0.3.22-ca5ce6d-DIRTY"}},"created":"2026-08-31T17:37:16.715Z","error":null,"expected":null,"facets":null,"id":"b0a0d5d5d8497877","input":null,"is_root":true,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","client":"openai"},"metrics":{"end":1788197837.7511396,"start":1788197836.715431},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":null,"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"c6a48680cefe0ab6321c29ca16df004c","scores":null,"span_attributes":{"name":"tools","type":"task"},"span_id":"b0a0d5d5d8497877","span_parents":null,"tags":null},{"_async_scoring_state":null,"_pagination_key":"p07680251263181783040","_xact_id":"1000197783586932658","audit_data":[{"_xact_id":"1000197783586932658","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":{"span_origin":{"instrumentation":{"name":"braintrust-java"},"name":"braintrust.sdk.java","version":"0.3.22-ca5ce6d-DIRTY"}},"created":"2026-08-31T17:37:16.721Z","error":null,"expected":null,"facets":null,"id":"573bd9ef8690f4fa","input":[{"content":"What is the weather like in Paris, France?","role":"user"}],"is_root":false,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","max_tokens":500,"model":"gpt-4o","provider":"openai","request_base_uri":"http://localhost:52408","request_method":"POST","request_path":"chat/completions","response_id":"chatcmpl-EJ0EX8BbG10a6bE125f2lc1TpBnGm","stream":false,"temperature":0,"tools":[{"function":{"description":"Get the current weather for a location","name":"get_weather","parameters":{"properties":{"location":{"description":"The city and state, e.g. San Francisco, CA","type":"string"},"unit":{"description":"The unit of temperature","enum":["celsius","fahrenheit"],"type":"string"}},"required":["location"],"type":"object"}},"type":"function"}],"x-request-id":"req_47225fc805db4fc387554b6ba3295839"},"metrics":{"completion_reasoning_tokens":0,"completion_tokens":16,"end":1788197837.7505393,"estimated_cost":0.0003725,"prompt_cached_tokens":0,"prompt_tokens":85,"start":1788197836.7212749,"tokens":101},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":[{"finish_reason":"tool_calls","index":0,"logprobs":null,"message":{"annotations":[],"content":null,"refusal":null,"role":"assistant","tool_calls":[{"function":{"arguments":"{\"location\":\"Paris, France\"}","name":"get_weather"},"id":"call_HG8jr2U4gv4upye4auQWJmbD","type":"function"}]}}],"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"c6a48680cefe0ab6321c29ca16df004c","scores":null,"span_attributes":{"name":"Chat Completion","type":"llm"},"span_id":"573bd9ef8690f4fa","span_parents":["b0a0d5d5d8497877"],"tags":null}],"schema":{"type":"array","items":{"type":"object","properties":{"_async_scoring_state":{},"_pagination_key":{"description":"A stable, time-ordered key that can be used to paginate over project logs events. This field is auto-generated by Braintrust and only exists in Brainstore.","type":["string","null"]},"_xact_id":{"description":"The transaction id of an event is unique to the network operation that processed the event insertion. Transaction ids are monotonically increasing over time and can be used to retrieve a versioned snapshot of the project logs (see the `version` parameter)","type":"string"},"audit_data":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"classifications":{"anyOf":[{"additionalProperties":{"items":{"additionalProperties":false,"properties":{"confidence":{"description":"Optional confidence score for the classification","type":["number","null"]},"id":{"description":"Stable classification identifier","type":"string"},"label":{"description":"Original label of the classification item, which is useful for search and indexing purposes","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"type":"object"},{"type":"null"}],"description":"Optional metadata associated with the classification"},"source":{"anyOf":[{"anyOf":[{"additionalProperties":false,"properties":{"id":{"type":"string"},"type":{"const":"function","type":"string"},"version":{"description":"The version of the function","type":"string"}},"required":["type","id"],"type":"object"},{"additionalProperties":false,"properties":{"function_type":{"default":"scorer","description":"The type of global function. Defaults to 'scorer'.","enum":["llm","scorer","task","tool","custom_view","preprocessor","facet","classifier","tag","parameters","sandbox"],"type":"string"},"name":{"type":"string"},"type":{"const":"global","type":"string"}},"required":["type","name"],"type":"object"}]},{"type":"null"}],"description":"Optional function identifier that produced the classification"}},"required":["id"],"type":"object"},"type":"array"},"properties":{},"type":"object"},{"type":"null"}]},"comments":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"context":{"anyOf":[{"additionalProperties":{},"properties":{"caller_filename":{"description":"Name of the file in code where the project logs event was created","type":["string","null"]},"caller_functionname":{"description":"The function in code which created the project logs event","type":["string","null"]},"caller_lineno":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"created":{"description":"The timestamp the project logs event was created","format":"date-time","type":"string"},"error":{"description":"The error that occurred, if any."},"expected":{"description":"The ground truth value (an arbitrary, JSON serializable object) that you'd compare to `output` to determine if your `output` value is correct or not. Braintrust currently does not compare `output` to `expected` for you, since there are so many different ways to do that correctly. Instead, these values are just used to help you navigate while digging into analyses. However, we may later use these values to re-score outputs or fine-tune your models."},"facets":{"anyOf":[{"additionalProperties":{"type":["string","null"]},"properties":{},"type":"object"},{"type":"null"}]},"id":{"description":"A unique identifier for the project logs event. If you don't provide one, Braintrust will generate one for you","type":"string"},"input":{"description":"The arguments that uniquely define a user input (an arbitrary, JSON serializable object)."},"is_root":{"description":"Whether this span is a root span","type":["boolean","null"]},"log_id":{"const":"g","description":"A literal 'g' which identifies the log as a project log","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"properties":{"model":{"description":"The model used for this example","type":["string","null"]}},"type":"object"},{"type":"null"}]},"metrics":{"anyOf":[{"additionalProperties":{"type":"number"},"properties":{"caller_filename":{"description":"This metric is deprecated"},"caller_functionname":{"description":"This metric is deprecated"},"caller_lineno":{"description":"This metric is deprecated"},"completion_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"end":{"description":"A unix timestamp recording when the section of code which produced the project logs event finished","type":["number","null"]},"prompt_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"start":{"description":"A unix timestamp recording when the section of code which produced the project logs event started","type":["number","null"]},"tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"org_id":{"description":"Unique id for the organization that the project belongs under","format":"uuid","type":"string"},"origin":{"anyOf":[{"description":"Reference to the original object and event this was copied from.","properties":{"_xact_id":{"description":"Transaction ID of the original event.","type":["string","null"]},"created":{"description":"Created timestamp of the original event. Used to help sort in the UI","type":["string","null"]},"id":{"description":"ID of the original event.","type":"string"},"object_id":{"description":"ID of the object the event is originating from.","format":"uuid","type":"string"},"object_type":{"description":"Type of the object the event is originating from.","enum":["project_logs","experiment","dataset","prompt","function","prompt_session"],"type":"string"}},"required":["object_type","object_id","id"],"type":"object"},{"type":"null"}]},"output":{"description":"The output of your application, including post-processing (an arbitrary, JSON serializable object), that allows you to determine whether the result is correct or not. For example, in an app that generates SQL queries, the `output` should be the _result_ of the SQL query generated by the model, not the query itself, because there may be multiple valid queries that answer a single question."},"project_id":{"description":"Unique identifier for the project","format":"uuid","type":"string"},"root_span_id":{"description":"A unique identifier for the trace this project logs event belongs to","type":"string"},"scores":{"anyOf":[{"additionalProperties":{"anyOf":[{"maximum":1,"minimum":0,"type":"number"},{"type":"null"}]},"properties":{},"type":"object"},{"type":"null"}]},"span_attributes":{"anyOf":[{"additionalProperties":{},"description":"Human-identifying attributes of the span, such as name, type, etc.","properties":{"name":{"description":"Name of the span, for display purposes only","type":["string","null"]},"purpose":{"anyOf":[{"enum":["scorer"],"type":"string"},{"type":"null"}]},"type":{"anyOf":[{"enum":["llm","score","function","eval","task","tool","automation","facet","preprocessor","classifier","review"],"type":"string"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"span_id":{"description":"A unique identifier used to link different project logs events together as part of a full trace. See the [tracing guide](https://www.braintrust.dev/docs/instrument) for full details on tracing","type":"string"},"span_parents":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]},"tags":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]}}}},"realtime_state":{"type":"on","minimum_xact_id":"1000197783589884487","read_bytes":0,"actual_xact_id":"1000197783589884487"},"freshness_state":{"last_processed_xact_id":"1000197783589884487","last_considered_xact_id":"1000197783589884487"},"warnings":[]} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-f288d1dadadc.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-f288d1dadadc.json deleted file mode 100644 index b9fff1db..00000000 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-f288d1dadadc.json +++ /dev/null @@ -1 +0,0 @@ -{"data":[{"_async_scoring_state":null,"_pagination_key":"p07663649184161857547","_xact_id":"1000197530259310894","audit_data":[{"_xact_id":"1000197530259310894","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":{"span_origin":{"instrumentation":{"name":"braintrust-java"},"name":"braintrust.sdk.java","version":"0.3.17-0155866-DIRTY"}},"created":"2026-07-17T23:52:48.999Z","error":null,"expected":null,"facets":null,"id":"3676b21e1f0e7f67","input":null,"is_root":true,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","client":"springai2-anthropic"},"metrics":{"end":1784332371.0959253,"start":1784332368.999997},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":null,"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"d755ed0bb5413b43c4d293ef9725500a","scores":null,"span_attributes":{"name":"attachments","type":"task"},"span_id":"3676b21e1f0e7f67","span_parents":null,"tags":null},{"_async_scoring_state":null,"_pagination_key":"p07663649184161857541","_xact_id":"1000197530259310894","audit_data":[{"_xact_id":"1000197530259310894","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":{"span_origin":{"instrumentation":{"name":"braintrust-java"},"name":"braintrust.sdk.java","version":"0.3.17-0155866-DIRTY"}},"created":"2026-07-17T23:52:49.009Z","error":null,"expected":null,"facets":null,"id":"47757cbc278ccbf0","input":[{"content":[{"text":"Briefly describe these attachments","type":"text"},{"source":{"content_type":"image/png","filename":"attachment.png","key":"2ac956a9-00d6-4f1b-b9f8-25d085b5cf6b","type":"braintrust_attachment"},"type":"image"},{"source":{"content_type":"application/pdf","filename":"attachment.pdf","key":"c75ac2e0-f28d-4970-a015-9e6aef1df649","type":"braintrust_attachment"},"type":"document"}],"role":"user"}],"is_root":false,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","model":"claude-haiku-4-5-20251001","provider":"anthropic","request_base_uri":"","request_method":"POST","request_path":"v1/messages"},"metrics":{"completion_tokens":102,"end":1784332371.0929544,"estimated_cost":0.002102,"prompt_cache_creation_1h_tokens":0,"prompt_cache_creation_5m_tokens":0,"prompt_cached_tokens":0,"prompt_tokens":1592,"start":1784332369.0094597,"tokens":1694},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":{"content":[{"text":"I can see that you've shared a PDF attachment, but the document appears to be blank or contains no visible text or images on the page shown. \n\nTo help you better, could you please:\n1. Verify that the PDF uploaded correctly\n2. Check if there's content on other pages\n3. Re-upload the document if it may have been corrupted\n\nOnce you share a document with readable content, I'll be happy to provide a brief description of it.","type":"text"}],"id":"msg_011Cd8XfiXLdWESog4JV6qfq","model":"claude-haiku-4-5-20251001","role":"assistant","stop_details":null,"stop_reason":"end_turn","stop_sequence":null,"type":"message","usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":0},"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"inference_geo":"not_available","input_tokens":1592,"output_tokens":102,"service_tier":"standard"}},"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"d755ed0bb5413b43c4d293ef9725500a","scores":null,"span_attributes":{"name":"anthropic.messages.create","type":"llm"},"span_id":"47757cbc278ccbf0","span_parents":["3676b21e1f0e7f67"],"tags":null}],"schema":{"type":"array","items":{"type":"object","properties":{"_async_scoring_state":{},"_pagination_key":{"description":"A stable, time-ordered key that can be used to paginate over project logs events. This field is auto-generated by Braintrust and only exists in Brainstore.","type":["string","null"]},"_xact_id":{"description":"The transaction id of an event is unique to the network operation that processed the event insertion. Transaction ids are monotonically increasing over time and can be used to retrieve a versioned snapshot of the project logs (see the `version` parameter)","type":"string"},"audit_data":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"classifications":{"anyOf":[{"additionalProperties":{"items":{"additionalProperties":false,"properties":{"confidence":{"description":"Optional confidence score for the classification","type":["number","null"]},"id":{"description":"Stable classification identifier","type":"string"},"label":{"description":"Original label of the classification item, which is useful for search and indexing purposes","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"type":"object"},{"type":"null"}],"description":"Optional metadata associated with the classification"},"source":{"anyOf":[{"anyOf":[{"additionalProperties":false,"properties":{"id":{"type":"string"},"type":{"const":"function","type":"string"},"version":{"description":"The version of the function","type":"string"}},"required":["type","id"],"type":"object"},{"additionalProperties":false,"properties":{"function_type":{"default":"scorer","description":"The type of global function. Defaults to 'scorer'.","enum":["llm","scorer","task","tool","custom_view","preprocessor","facet","classifier","tag","parameters","sandbox"],"type":"string"},"name":{"type":"string"},"type":{"const":"global","type":"string"}},"required":["type","name"],"type":"object"}]},{"type":"null"}],"description":"Optional function identifier that produced the classification"}},"required":["id"],"type":"object"},"type":"array"},"properties":{},"type":"object"},{"type":"null"}]},"comments":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"context":{"anyOf":[{"additionalProperties":{},"properties":{"caller_filename":{"description":"Name of the file in code where the project logs event was created","type":["string","null"]},"caller_functionname":{"description":"The function in code which created the project logs event","type":["string","null"]},"caller_lineno":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"created":{"description":"The timestamp the project logs event was created","format":"date-time","type":"string"},"error":{"description":"The error that occurred, if any."},"expected":{"description":"The ground truth value (an arbitrary, JSON serializable object) that you'd compare to `output` to determine if your `output` value is correct or not. Braintrust currently does not compare `output` to `expected` for you, since there are so many different ways to do that correctly. Instead, these values are just used to help you navigate while digging into analyses. However, we may later use these values to re-score outputs or fine-tune your models."},"facets":{"anyOf":[{"additionalProperties":{"type":["string","null"]},"properties":{},"type":"object"},{"type":"null"}]},"id":{"description":"A unique identifier for the project logs event. If you don't provide one, Braintrust will generate one for you","type":"string"},"input":{"description":"The arguments that uniquely define a user input (an arbitrary, JSON serializable object)."},"is_root":{"description":"Whether this span is a root span","type":["boolean","null"]},"log_id":{"const":"g","description":"A literal 'g' which identifies the log as a project log","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"properties":{"model":{"description":"The model used for this example","type":["string","null"]}},"type":"object"},{"type":"null"}]},"metrics":{"anyOf":[{"additionalProperties":{"type":"number"},"properties":{"caller_filename":{"description":"This metric is deprecated"},"caller_functionname":{"description":"This metric is deprecated"},"caller_lineno":{"description":"This metric is deprecated"},"completion_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"end":{"description":"A unix timestamp recording when the section of code which produced the project logs event finished","type":["number","null"]},"prompt_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"start":{"description":"A unix timestamp recording when the section of code which produced the project logs event started","type":["number","null"]},"tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"org_id":{"description":"Unique id for the organization that the project belongs under","format":"uuid","type":"string"},"origin":{"anyOf":[{"description":"Reference to the original object and event this was copied from.","properties":{"_xact_id":{"description":"Transaction ID of the original event.","type":["string","null"]},"created":{"description":"Created timestamp of the original event. Used to help sort in the UI","type":["string","null"]},"id":{"description":"ID of the original event.","type":"string"},"object_id":{"description":"ID of the object the event is originating from.","format":"uuid","type":"string"},"object_type":{"description":"Type of the object the event is originating from.","enum":["project_logs","experiment","dataset","prompt","function","prompt_session"],"type":"string"}},"required":["object_type","object_id","id"],"type":"object"},{"type":"null"}]},"output":{"description":"The output of your application, including post-processing (an arbitrary, JSON serializable object), that allows you to determine whether the result is correct or not. For example, in an app that generates SQL queries, the `output` should be the _result_ of the SQL query generated by the model, not the query itself, because there may be multiple valid queries that answer a single question."},"project_id":{"description":"Unique identifier for the project","format":"uuid","type":"string"},"root_span_id":{"description":"A unique identifier for the trace this project logs event belongs to","type":"string"},"scores":{"anyOf":[{"additionalProperties":{"anyOf":[{"maximum":1,"minimum":0,"type":"number"},{"type":"null"}]},"properties":{},"type":"object"},{"type":"null"}]},"span_attributes":{"anyOf":[{"additionalProperties":{},"description":"Human-identifying attributes of the span, such as name, type, etc.","properties":{"name":{"description":"Name of the span, for display purposes only","type":["string","null"]},"purpose":{"anyOf":[{"enum":["scorer"],"type":"string"},{"type":"null"}]},"type":{"anyOf":[{"enum":["llm","score","function","eval","task","tool","automation","facet","preprocessor","classifier","review"],"type":"string"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"span_id":{"description":"A unique identifier used to link different project logs events together as part of a full trace. See the [tracing guide](https://www.braintrust.dev/docs/instrument) for full details on tracing","type":"string"},"span_parents":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]},"tags":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]}}}},"realtime_state":{"type":"on","minimum_xact_id":"1000197530259310894","read_bytes":0,"actual_xact_id":"1000197530259310894"},"freshness_state":{"last_processed_xact_id":"1000197530259310894","last_considered_xact_id":"1000197530259310894"},"warnings":[]} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-f89d085d4495.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-f89d085d4495.json new file mode 100644 index 00000000..bb48f4fe --- /dev/null +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-f89d085d4495.json @@ -0,0 +1 @@ +{"data":[{"_async_scoring_state":null,"_pagination_key":"p07680251263181783060","_xact_id":"1000197783586932658","audit_data":[{"_xact_id":"1000197783586932658","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":{"span_origin":{"instrumentation":{"name":"braintrust-java"},"name":"braintrust.sdk.java","version":"0.3.22-ca5ce6d-DIRTY"}},"created":"2026-08-31T17:37:19.300Z","error":null,"expected":null,"facets":null,"id":"1f8bba19f6dbe3fd","input":null,"is_root":true,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","client":"springai-openai"},"metrics":{"end":1788197839.9991832,"start":1788197839.300777},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":null,"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"98658cd4cafe747e1c92be303c9a4c70","scores":null,"span_attributes":{"name":"streaming_multiple_choices","type":"task"},"span_id":"1f8bba19f6dbe3fd","span_parents":null,"tags":null},{"_async_scoring_state":null,"_pagination_key":"p07680251263181783045","_xact_id":"1000197783586932658","audit_data":[{"_xact_id":"1000197783586932658","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":{"span_origin":{"instrumentation":{"name":"braintrust-java"},"name":"braintrust.sdk.java","version":"0.3.22-ca5ce6d-DIRTY"}},"created":"2026-08-31T17:37:19.307Z","error":null,"expected":null,"facets":null,"id":"8fc2b0cf542a663f","input":[{"content":"you are a concise assistant","role":"system"},{"content":"Say hello in one word.","role":"user"}],"is_root":false,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","model":"gpt-4o-mini-2024-07-18","provider":"openai","request_base_uri":"http://localhost:52408","request_method":"POST","request_path":"chat/completions","response_id":"chatcmpl-EJ0EZr3xPVuEfVUSHEHVJ7rpRkrwp","x-request-id":"req_49bda8f5c15e4397a63dd76bd76e4d0e"},"metrics":{"completion_reasoning_tokens":0,"completion_tokens":4,"end":1788197839.9986873,"estimated_cost":0.0000057,"prompt_cached_tokens":0,"prompt_tokens":22,"start":1788197839.3072405,"time_to_first_token":0.684799875,"tokens":26},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":[{"finish_reason":"stop","index":0,"message":{"content":"Hello!","refusal":null,"role":"assistant"}},{"finish_reason":"stop","index":1,"message":{"content":"Hello!","refusal":null,"role":"assistant"}}],"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"98658cd4cafe747e1c92be303c9a4c70","scores":null,"span_attributes":{"name":"Chat Completion","type":"llm"},"span_id":"8fc2b0cf542a663f","span_parents":["1f8bba19f6dbe3fd"],"tags":null}],"schema":{"type":"array","items":{"type":"object","properties":{"_async_scoring_state":{},"_pagination_key":{"description":"A stable, time-ordered key that can be used to paginate over project logs events. This field is auto-generated by Braintrust and only exists in Brainstore.","type":["string","null"]},"_xact_id":{"description":"The transaction id of an event is unique to the network operation that processed the event insertion. Transaction ids are monotonically increasing over time and can be used to retrieve a versioned snapshot of the project logs (see the `version` parameter)","type":"string"},"audit_data":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"classifications":{"anyOf":[{"additionalProperties":{"items":{"additionalProperties":false,"properties":{"confidence":{"description":"Optional confidence score for the classification","type":["number","null"]},"id":{"description":"Stable classification identifier","type":"string"},"label":{"description":"Original label of the classification item, which is useful for search and indexing purposes","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"type":"object"},{"type":"null"}],"description":"Optional metadata associated with the classification"},"source":{"anyOf":[{"anyOf":[{"additionalProperties":false,"properties":{"id":{"type":"string"},"type":{"const":"function","type":"string"},"version":{"description":"The version of the function","type":"string"}},"required":["type","id"],"type":"object"},{"additionalProperties":false,"properties":{"function_type":{"default":"scorer","description":"The type of global function. Defaults to 'scorer'.","enum":["llm","scorer","task","tool","custom_view","preprocessor","facet","classifier","tag","parameters","sandbox"],"type":"string"},"name":{"type":"string"},"type":{"const":"global","type":"string"}},"required":["type","name"],"type":"object"}]},{"type":"null"}],"description":"Optional function identifier that produced the classification"}},"required":["id"],"type":"object"},"type":"array"},"properties":{},"type":"object"},{"type":"null"}]},"comments":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"context":{"anyOf":[{"additionalProperties":{},"properties":{"caller_filename":{"description":"Name of the file in code where the project logs event was created","type":["string","null"]},"caller_functionname":{"description":"The function in code which created the project logs event","type":["string","null"]},"caller_lineno":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"created":{"description":"The timestamp the project logs event was created","format":"date-time","type":"string"},"error":{"description":"The error that occurred, if any."},"expected":{"description":"The ground truth value (an arbitrary, JSON serializable object) that you'd compare to `output` to determine if your `output` value is correct or not. Braintrust currently does not compare `output` to `expected` for you, since there are so many different ways to do that correctly. Instead, these values are just used to help you navigate while digging into analyses. However, we may later use these values to re-score outputs or fine-tune your models."},"facets":{"anyOf":[{"additionalProperties":{"type":["string","null"]},"properties":{},"type":"object"},{"type":"null"}]},"id":{"description":"A unique identifier for the project logs event. If you don't provide one, Braintrust will generate one for you","type":"string"},"input":{"description":"The arguments that uniquely define a user input (an arbitrary, JSON serializable object)."},"is_root":{"description":"Whether this span is a root span","type":["boolean","null"]},"log_id":{"const":"g","description":"A literal 'g' which identifies the log as a project log","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"properties":{"model":{"description":"The model used for this example","type":["string","null"]}},"type":"object"},{"type":"null"}]},"metrics":{"anyOf":[{"additionalProperties":{"type":"number"},"properties":{"caller_filename":{"description":"This metric is deprecated"},"caller_functionname":{"description":"This metric is deprecated"},"caller_lineno":{"description":"This metric is deprecated"},"completion_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"end":{"description":"A unix timestamp recording when the section of code which produced the project logs event finished","type":["number","null"]},"prompt_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"start":{"description":"A unix timestamp recording when the section of code which produced the project logs event started","type":["number","null"]},"tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"org_id":{"description":"Unique id for the organization that the project belongs under","format":"uuid","type":"string"},"origin":{"anyOf":[{"description":"Reference to the original object and event this was copied from.","properties":{"_xact_id":{"description":"Transaction ID of the original event.","type":["string","null"]},"created":{"description":"Created timestamp of the original event. Used to help sort in the UI","type":["string","null"]},"id":{"description":"ID of the original event.","type":"string"},"object_id":{"description":"ID of the object the event is originating from.","format":"uuid","type":"string"},"object_type":{"description":"Type of the object the event is originating from.","enum":["project_logs","experiment","dataset","prompt","function","prompt_session"],"type":"string"}},"required":["object_type","object_id","id"],"type":"object"},{"type":"null"}]},"output":{"description":"The output of your application, including post-processing (an arbitrary, JSON serializable object), that allows you to determine whether the result is correct or not. For example, in an app that generates SQL queries, the `output` should be the _result_ of the SQL query generated by the model, not the query itself, because there may be multiple valid queries that answer a single question."},"project_id":{"description":"Unique identifier for the project","format":"uuid","type":"string"},"root_span_id":{"description":"A unique identifier for the trace this project logs event belongs to","type":"string"},"scores":{"anyOf":[{"additionalProperties":{"anyOf":[{"maximum":1,"minimum":0,"type":"number"},{"type":"null"}]},"properties":{},"type":"object"},{"type":"null"}]},"span_attributes":{"anyOf":[{"additionalProperties":{},"description":"Human-identifying attributes of the span, such as name, type, etc.","properties":{"name":{"description":"Name of the span, for display purposes only","type":["string","null"]},"purpose":{"anyOf":[{"enum":["scorer"],"type":"string"},{"type":"null"}]},"type":{"anyOf":[{"enum":["llm","score","function","eval","task","tool","automation","facet","preprocessor","classifier","review"],"type":"string"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"span_id":{"description":"A unique identifier used to link different project logs events together as part of a full trace. See the [tracing guide](https://www.braintrust.dev/docs/instrument) for full details on tracing","type":"string"},"span_parents":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]},"tags":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]}}}},"realtime_state":{"type":"on","minimum_xact_id":"1000197783589884487","read_bytes":0,"actual_xact_id":"1000197783589884487"},"freshness_state":{"last_processed_xact_id":"1000197783589884487","last_considered_xact_id":"1000197783589884487"},"warnings":[]} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-ac0cd7903a0a.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-fa35b142aa59.json similarity index 70% rename from test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-ac0cd7903a0a.json rename to test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-fa35b142aa59.json index 9097faef..6fa7e72b 100644 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-ac0cd7903a0a.json +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-fa35b142aa59.json @@ -1 +1 @@ -{"data":[{"_async_scoring_state":null,"_pagination_key":"p07663649184161857546","_xact_id":"1000197530259310894","audit_data":[{"_xact_id":"1000197530259310894","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":{"span_origin":{"instrumentation":{"name":"braintrust-java"},"name":"braintrust.sdk.java","version":"0.3.17-0155866-DIRTY"}},"created":"2026-07-17T23:52:48.814Z","error":null,"expected":null,"facets":null,"id":"9cfb1c95382d030d","input":null,"is_root":true,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","client":"springai2-openai"},"metrics":{"end":1784332369.8005297,"start":1784332368.814126},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":null,"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"02be0d8a2a364b0926086c5885707ffc","scores":null,"span_attributes":{"name":"streaming","type":"task"},"span_id":"9cfb1c95382d030d","span_parents":null,"tags":null}],"schema":{"type":"array","items":{"type":"object","properties":{"_async_scoring_state":{},"_pagination_key":{"description":"A stable, time-ordered key that can be used to paginate over project logs events. This field is auto-generated by Braintrust and only exists in Brainstore.","type":["string","null"]},"_xact_id":{"description":"The transaction id of an event is unique to the network operation that processed the event insertion. Transaction ids are monotonically increasing over time and can be used to retrieve a versioned snapshot of the project logs (see the `version` parameter)","type":"string"},"audit_data":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"classifications":{"anyOf":[{"additionalProperties":{"items":{"additionalProperties":false,"properties":{"confidence":{"description":"Optional confidence score for the classification","type":["number","null"]},"id":{"description":"Stable classification identifier","type":"string"},"label":{"description":"Original label of the classification item, which is useful for search and indexing purposes","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"type":"object"},{"type":"null"}],"description":"Optional metadata associated with the classification"},"source":{"anyOf":[{"anyOf":[{"additionalProperties":false,"properties":{"id":{"type":"string"},"type":{"const":"function","type":"string"},"version":{"description":"The version of the function","type":"string"}},"required":["type","id"],"type":"object"},{"additionalProperties":false,"properties":{"function_type":{"default":"scorer","description":"The type of global function. Defaults to 'scorer'.","enum":["llm","scorer","task","tool","custom_view","preprocessor","facet","classifier","tag","parameters","sandbox"],"type":"string"},"name":{"type":"string"},"type":{"const":"global","type":"string"}},"required":["type","name"],"type":"object"}]},{"type":"null"}],"description":"Optional function identifier that produced the classification"}},"required":["id"],"type":"object"},"type":"array"},"properties":{},"type":"object"},{"type":"null"}]},"comments":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"context":{"anyOf":[{"additionalProperties":{},"properties":{"caller_filename":{"description":"Name of the file in code where the project logs event was created","type":["string","null"]},"caller_functionname":{"description":"The function in code which created the project logs event","type":["string","null"]},"caller_lineno":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"created":{"description":"The timestamp the project logs event was created","format":"date-time","type":"string"},"error":{"description":"The error that occurred, if any."},"expected":{"description":"The ground truth value (an arbitrary, JSON serializable object) that you'd compare to `output` to determine if your `output` value is correct or not. Braintrust currently does not compare `output` to `expected` for you, since there are so many different ways to do that correctly. Instead, these values are just used to help you navigate while digging into analyses. However, we may later use these values to re-score outputs or fine-tune your models."},"facets":{"anyOf":[{"additionalProperties":{"type":["string","null"]},"properties":{},"type":"object"},{"type":"null"}]},"id":{"description":"A unique identifier for the project logs event. If you don't provide one, Braintrust will generate one for you","type":"string"},"input":{"description":"The arguments that uniquely define a user input (an arbitrary, JSON serializable object)."},"is_root":{"description":"Whether this span is a root span","type":["boolean","null"]},"log_id":{"const":"g","description":"A literal 'g' which identifies the log as a project log","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"properties":{"model":{"description":"The model used for this example","type":["string","null"]}},"type":"object"},{"type":"null"}]},"metrics":{"anyOf":[{"additionalProperties":{"type":"number"},"properties":{"caller_filename":{"description":"This metric is deprecated"},"caller_functionname":{"description":"This metric is deprecated"},"caller_lineno":{"description":"This metric is deprecated"},"completion_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"end":{"description":"A unix timestamp recording when the section of code which produced the project logs event finished","type":["number","null"]},"prompt_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"start":{"description":"A unix timestamp recording when the section of code which produced the project logs event started","type":["number","null"]},"tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"org_id":{"description":"Unique id for the organization that the project belongs under","format":"uuid","type":"string"},"origin":{"anyOf":[{"description":"Reference to the original object and event this was copied from.","properties":{"_xact_id":{"description":"Transaction ID of the original event.","type":["string","null"]},"created":{"description":"Created timestamp of the original event. Used to help sort in the UI","type":["string","null"]},"id":{"description":"ID of the original event.","type":"string"},"object_id":{"description":"ID of the object the event is originating from.","format":"uuid","type":"string"},"object_type":{"description":"Type of the object the event is originating from.","enum":["project_logs","experiment","dataset","prompt","function","prompt_session"],"type":"string"}},"required":["object_type","object_id","id"],"type":"object"},{"type":"null"}]},"output":{"description":"The output of your application, including post-processing (an arbitrary, JSON serializable object), that allows you to determine whether the result is correct or not. For example, in an app that generates SQL queries, the `output` should be the _result_ of the SQL query generated by the model, not the query itself, because there may be multiple valid queries that answer a single question."},"project_id":{"description":"Unique identifier for the project","format":"uuid","type":"string"},"root_span_id":{"description":"A unique identifier for the trace this project logs event belongs to","type":"string"},"scores":{"anyOf":[{"additionalProperties":{"anyOf":[{"maximum":1,"minimum":0,"type":"number"},{"type":"null"}]},"properties":{},"type":"object"},{"type":"null"}]},"span_attributes":{"anyOf":[{"additionalProperties":{},"description":"Human-identifying attributes of the span, such as name, type, etc.","properties":{"name":{"description":"Name of the span, for display purposes only","type":["string","null"]},"purpose":{"anyOf":[{"enum":["scorer"],"type":"string"},{"type":"null"}]},"type":{"anyOf":[{"enum":["llm","score","function","eval","task","tool","automation","facet","preprocessor","classifier","review"],"type":"string"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"span_id":{"description":"A unique identifier used to link different project logs events together as part of a full trace. See the [tracing guide](https://www.braintrust.dev/docs/instrument) for full details on tracing","type":"string"},"span_parents":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]},"tags":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]}}}},"realtime_state":{"type":"on","minimum_xact_id":"1000197530259310894","read_bytes":0,"actual_xact_id":"1000197530259310894"},"freshness_state":{"last_processed_xact_id":"1000197530259310894","last_considered_xact_id":"1000197530259310894"},"warnings":[]} \ No newline at end of file +{"data":[{"_async_scoring_state":null,"_pagination_key":"p07680251263181783068","_xact_id":"1000197783586932658","audit_data":[{"_xact_id":"1000197783586932658","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":{"span_origin":{"instrumentation":{"name":"braintrust-java"},"name":"braintrust.sdk.java","version":"0.3.22-ca5ce6d-DIRTY"}},"created":"2026-08-31T17:37:21.863Z","error":null,"expected":null,"facets":null,"id":"ca9055d125cd274e","input":null,"is_root":true,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","client":"springai2-anthropic"},"metrics":{"end":1788197842.4974878,"start":1788197841.8633852},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":null,"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"38716e1c6c0759d24d7f3601ed6258cd","scores":null,"span_attributes":{"name":"messages","type":"task"},"span_id":"ca9055d125cd274e","span_parents":null,"tags":null},{"_async_scoring_state":null,"_pagination_key":"p07680251263181783053","_xact_id":"1000197783586932658","audit_data":[{"_xact_id":"1000197783586932658","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":{"span_origin":{"instrumentation":{"name":"braintrust-java"},"name":"braintrust.sdk.java","version":"0.3.22-ca5ce6d-DIRTY"}},"created":"2026-08-31T17:37:21.875Z","error":null,"expected":null,"facets":null,"id":"5accfc8596ed551d","input":[{"content":"What is the capital of France?","role":"user"},{"content":"You are a helpful assistant.","role":"system"}],"is_root":false,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","max_tokens":128,"model":"claude-haiku-4-5-20251001","provider":"anthropic","request-id":"req_011CebESL5x93iKeyehqYWUe","request_base_uri":"","request_method":"POST","request_path":"v1/messages","response_id":"msg_011CebESLUWqzcZnL57B2rdA","temperature":0},"metrics":{"completion_tokens":10,"end":1788197842.493456,"estimated_cost":0.00007000000000000001,"prompt_cache_creation_1h_tokens":0,"prompt_cache_creation_5m_tokens":0,"prompt_cached_tokens":0,"prompt_tokens":20,"start":1788197841.875059,"tokens":30},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":{"content":[{"text":"The capital of France is Paris.","type":"text"}],"id":"msg_011CebESLUWqzcZnL57B2rdA","model":"claude-haiku-4-5-20251001","role":"assistant","stop_details":null,"stop_reason":"end_turn","stop_sequence":null,"type":"message","usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":0},"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"inference_geo":"not_available","input_tokens":20,"output_tokens":10,"service_tier":"standard"}},"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"38716e1c6c0759d24d7f3601ed6258cd","scores":null,"span_attributes":{"name":"anthropic.messages.create","type":"llm"},"span_id":"5accfc8596ed551d","span_parents":["ca9055d125cd274e"],"tags":null}],"schema":{"type":"array","items":{"type":"object","properties":{"_async_scoring_state":{},"_pagination_key":{"description":"A stable, time-ordered key that can be used to paginate over project logs events. This field is auto-generated by Braintrust and only exists in Brainstore.","type":["string","null"]},"_xact_id":{"description":"The transaction id of an event is unique to the network operation that processed the event insertion. Transaction ids are monotonically increasing over time and can be used to retrieve a versioned snapshot of the project logs (see the `version` parameter)","type":"string"},"audit_data":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"classifications":{"anyOf":[{"additionalProperties":{"items":{"additionalProperties":false,"properties":{"confidence":{"description":"Optional confidence score for the classification","type":["number","null"]},"id":{"description":"Stable classification identifier","type":"string"},"label":{"description":"Original label of the classification item, which is useful for search and indexing purposes","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"type":"object"},{"type":"null"}],"description":"Optional metadata associated with the classification"},"source":{"anyOf":[{"anyOf":[{"additionalProperties":false,"properties":{"id":{"type":"string"},"type":{"const":"function","type":"string"},"version":{"description":"The version of the function","type":"string"}},"required":["type","id"],"type":"object"},{"additionalProperties":false,"properties":{"function_type":{"default":"scorer","description":"The type of global function. Defaults to 'scorer'.","enum":["llm","scorer","task","tool","custom_view","preprocessor","facet","classifier","tag","parameters","sandbox"],"type":"string"},"name":{"type":"string"},"type":{"const":"global","type":"string"}},"required":["type","name"],"type":"object"}]},{"type":"null"}],"description":"Optional function identifier that produced the classification"}},"required":["id"],"type":"object"},"type":"array"},"properties":{},"type":"object"},{"type":"null"}]},"comments":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"context":{"anyOf":[{"additionalProperties":{},"properties":{"caller_filename":{"description":"Name of the file in code where the project logs event was created","type":["string","null"]},"caller_functionname":{"description":"The function in code which created the project logs event","type":["string","null"]},"caller_lineno":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"created":{"description":"The timestamp the project logs event was created","format":"date-time","type":"string"},"error":{"description":"The error that occurred, if any."},"expected":{"description":"The ground truth value (an arbitrary, JSON serializable object) that you'd compare to `output` to determine if your `output` value is correct or not. Braintrust currently does not compare `output` to `expected` for you, since there are so many different ways to do that correctly. Instead, these values are just used to help you navigate while digging into analyses. However, we may later use these values to re-score outputs or fine-tune your models."},"facets":{"anyOf":[{"additionalProperties":{"type":["string","null"]},"properties":{},"type":"object"},{"type":"null"}]},"id":{"description":"A unique identifier for the project logs event. If you don't provide one, Braintrust will generate one for you","type":"string"},"input":{"description":"The arguments that uniquely define a user input (an arbitrary, JSON serializable object)."},"is_root":{"description":"Whether this span is a root span","type":["boolean","null"]},"log_id":{"const":"g","description":"A literal 'g' which identifies the log as a project log","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"properties":{"model":{"description":"The model used for this example","type":["string","null"]}},"type":"object"},{"type":"null"}]},"metrics":{"anyOf":[{"additionalProperties":{"type":"number"},"properties":{"caller_filename":{"description":"This metric is deprecated"},"caller_functionname":{"description":"This metric is deprecated"},"caller_lineno":{"description":"This metric is deprecated"},"completion_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"end":{"description":"A unix timestamp recording when the section of code which produced the project logs event finished","type":["number","null"]},"prompt_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"start":{"description":"A unix timestamp recording when the section of code which produced the project logs event started","type":["number","null"]},"tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"org_id":{"description":"Unique id for the organization that the project belongs under","format":"uuid","type":"string"},"origin":{"anyOf":[{"description":"Reference to the original object and event this was copied from.","properties":{"_xact_id":{"description":"Transaction ID of the original event.","type":["string","null"]},"created":{"description":"Created timestamp of the original event. Used to help sort in the UI","type":["string","null"]},"id":{"description":"ID of the original event.","type":"string"},"object_id":{"description":"ID of the object the event is originating from.","format":"uuid","type":"string"},"object_type":{"description":"Type of the object the event is originating from.","enum":["project_logs","experiment","dataset","prompt","function","prompt_session"],"type":"string"}},"required":["object_type","object_id","id"],"type":"object"},{"type":"null"}]},"output":{"description":"The output of your application, including post-processing (an arbitrary, JSON serializable object), that allows you to determine whether the result is correct or not. For example, in an app that generates SQL queries, the `output` should be the _result_ of the SQL query generated by the model, not the query itself, because there may be multiple valid queries that answer a single question."},"project_id":{"description":"Unique identifier for the project","format":"uuid","type":"string"},"root_span_id":{"description":"A unique identifier for the trace this project logs event belongs to","type":"string"},"scores":{"anyOf":[{"additionalProperties":{"anyOf":[{"maximum":1,"minimum":0,"type":"number"},{"type":"null"}]},"properties":{},"type":"object"},{"type":"null"}]},"span_attributes":{"anyOf":[{"additionalProperties":{},"description":"Human-identifying attributes of the span, such as name, type, etc.","properties":{"name":{"description":"Name of the span, for display purposes only","type":["string","null"]},"purpose":{"anyOf":[{"enum":["scorer"],"type":"string"},{"type":"null"}]},"type":{"anyOf":[{"enum":["llm","score","function","eval","task","tool","automation","facet","preprocessor","classifier","review"],"type":"string"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"span_id":{"description":"A unique identifier used to link different project logs events together as part of a full trace. See the [tracing guide](https://www.braintrust.dev/docs/instrument) for full details on tracing","type":"string"},"span_parents":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]},"tags":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]}}}},"realtime_state":{"type":"on","minimum_xact_id":"1000197783589161396","read_bytes":0,"actual_xact_id":"1000197783589161396"},"freshness_state":{"last_processed_xact_id":"1000197783589161396","last_considered_xact_id":"1000197783589161396"},"warnings":[]} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-fd2c6aefeae5.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-fd2c6aefeae5.json new file mode 100644 index 00000000..914ae97a --- /dev/null +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-fd2c6aefeae5.json @@ -0,0 +1 @@ +{"data":[{"_async_scoring_state":null,"_pagination_key":"p07680251289063456777","_xact_id":"1000197783587327581","audit_data":[{"_xact_id":"1000197783587327581","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":{"span_origin":{"instrumentation":{"name":"braintrust-java"},"name":"braintrust.sdk.java","version":"0.3.22-ca5ce6d-DIRTY"}},"created":"2026-08-31T17:37:23.986Z","error":null,"expected":null,"facets":null,"id":"90561a4815ec2b6c","input":null,"is_root":true,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","client":"langchain1.8-openai"},"metrics":{"end":1788197844.873509,"start":1788197843.9869409},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":null,"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"7c10e31011e21cc75f03c7c6fe085850","scores":null,"span_attributes":{"name":"completions","type":"task"},"span_id":"90561a4815ec2b6c","span_parents":null,"tags":null},{"_async_scoring_state":null,"_pagination_key":"p07680251289063456770","_xact_id":"1000197783587327581","audit_data":[{"_xact_id":"1000197783587327581","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":{"span_origin":{"instrumentation":{"name":"braintrust-java"},"name":"braintrust.sdk.java","version":"0.3.22-ca5ce6d-DIRTY"}},"created":"2026-08-31T17:37:23.991Z","error":null,"expected":null,"facets":null,"id":"97e98b4ac806e444","input":[{"content":"you are a helpful assistant","role":"system"},{"content":"What is the capital of France?","role":"user"}],"is_root":false,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","model":"gpt-4o-mini","provider":"openai","request_base_uri":"http://localhost:52408","request_method":"POST","request_path":"chat/completions","response_id":"chatcmpl-EJ0EexW9VQDgGlFiBL316SdHPCAB3","stream":false,"temperature":0,"x-request-id":"req_aa66b81af82a47b5bf875b9b5cc87190"},"metrics":{"completion_reasoning_tokens":0,"completion_tokens":7,"end":1788197844.8726108,"estimated_cost":0.00000765,"prompt_cached_tokens":0,"prompt_tokens":23,"start":1788197843.9918618,"tokens":30},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":[{"finish_reason":"stop","index":0,"logprobs":null,"message":{"annotations":[],"content":"The capital of France is Paris.","refusal":null,"role":"assistant"}}],"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"7c10e31011e21cc75f03c7c6fe085850","scores":null,"span_attributes":{"name":"Chat Completion","type":"llm"},"span_id":"97e98b4ac806e444","span_parents":["90561a4815ec2b6c"],"tags":null}],"schema":{"type":"array","items":{"type":"object","properties":{"_async_scoring_state":{},"_pagination_key":{"description":"A stable, time-ordered key that can be used to paginate over project logs events. This field is auto-generated by Braintrust and only exists in Brainstore.","type":["string","null"]},"_xact_id":{"description":"The transaction id of an event is unique to the network operation that processed the event insertion. Transaction ids are monotonically increasing over time and can be used to retrieve a versioned snapshot of the project logs (see the `version` parameter)","type":"string"},"audit_data":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"classifications":{"anyOf":[{"additionalProperties":{"items":{"additionalProperties":false,"properties":{"confidence":{"description":"Optional confidence score for the classification","type":["number","null"]},"id":{"description":"Stable classification identifier","type":"string"},"label":{"description":"Original label of the classification item, which is useful for search and indexing purposes","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"type":"object"},{"type":"null"}],"description":"Optional metadata associated with the classification"},"source":{"anyOf":[{"anyOf":[{"additionalProperties":false,"properties":{"id":{"type":"string"},"type":{"const":"function","type":"string"},"version":{"description":"The version of the function","type":"string"}},"required":["type","id"],"type":"object"},{"additionalProperties":false,"properties":{"function_type":{"default":"scorer","description":"The type of global function. Defaults to 'scorer'.","enum":["llm","scorer","task","tool","custom_view","preprocessor","facet","classifier","tag","parameters","sandbox"],"type":"string"},"name":{"type":"string"},"type":{"const":"global","type":"string"}},"required":["type","name"],"type":"object"}]},{"type":"null"}],"description":"Optional function identifier that produced the classification"}},"required":["id"],"type":"object"},"type":"array"},"properties":{},"type":"object"},{"type":"null"}]},"comments":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"context":{"anyOf":[{"additionalProperties":{},"properties":{"caller_filename":{"description":"Name of the file in code where the project logs event was created","type":["string","null"]},"caller_functionname":{"description":"The function in code which created the project logs event","type":["string","null"]},"caller_lineno":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"created":{"description":"The timestamp the project logs event was created","format":"date-time","type":"string"},"error":{"description":"The error that occurred, if any."},"expected":{"description":"The ground truth value (an arbitrary, JSON serializable object) that you'd compare to `output` to determine if your `output` value is correct or not. Braintrust currently does not compare `output` to `expected` for you, since there are so many different ways to do that correctly. Instead, these values are just used to help you navigate while digging into analyses. However, we may later use these values to re-score outputs or fine-tune your models."},"facets":{"anyOf":[{"additionalProperties":{"type":["string","null"]},"properties":{},"type":"object"},{"type":"null"}]},"id":{"description":"A unique identifier for the project logs event. If you don't provide one, Braintrust will generate one for you","type":"string"},"input":{"description":"The arguments that uniquely define a user input (an arbitrary, JSON serializable object)."},"is_root":{"description":"Whether this span is a root span","type":["boolean","null"]},"log_id":{"const":"g","description":"A literal 'g' which identifies the log as a project log","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"properties":{"model":{"description":"The model used for this example","type":["string","null"]}},"type":"object"},{"type":"null"}]},"metrics":{"anyOf":[{"additionalProperties":{"type":"number"},"properties":{"caller_filename":{"description":"This metric is deprecated"},"caller_functionname":{"description":"This metric is deprecated"},"caller_lineno":{"description":"This metric is deprecated"},"completion_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"end":{"description":"A unix timestamp recording when the section of code which produced the project logs event finished","type":["number","null"]},"prompt_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"start":{"description":"A unix timestamp recording when the section of code which produced the project logs event started","type":["number","null"]},"tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"org_id":{"description":"Unique id for the organization that the project belongs under","format":"uuid","type":"string"},"origin":{"anyOf":[{"description":"Reference to the original object and event this was copied from.","properties":{"_xact_id":{"description":"Transaction ID of the original event.","type":["string","null"]},"created":{"description":"Created timestamp of the original event. Used to help sort in the UI","type":["string","null"]},"id":{"description":"ID of the original event.","type":"string"},"object_id":{"description":"ID of the object the event is originating from.","format":"uuid","type":"string"},"object_type":{"description":"Type of the object the event is originating from.","enum":["project_logs","experiment","dataset","prompt","function","prompt_session"],"type":"string"}},"required":["object_type","object_id","id"],"type":"object"},{"type":"null"}]},"output":{"description":"The output of your application, including post-processing (an arbitrary, JSON serializable object), that allows you to determine whether the result is correct or not. For example, in an app that generates SQL queries, the `output` should be the _result_ of the SQL query generated by the model, not the query itself, because there may be multiple valid queries that answer a single question."},"project_id":{"description":"Unique identifier for the project","format":"uuid","type":"string"},"root_span_id":{"description":"A unique identifier for the trace this project logs event belongs to","type":"string"},"scores":{"anyOf":[{"additionalProperties":{"anyOf":[{"maximum":1,"minimum":0,"type":"number"},{"type":"null"}]},"properties":{},"type":"object"},{"type":"null"}]},"span_attributes":{"anyOf":[{"additionalProperties":{},"description":"Human-identifying attributes of the span, such as name, type, etc.","properties":{"name":{"description":"Name of the span, for display purposes only","type":["string","null"]},"purpose":{"anyOf":[{"enum":["scorer"],"type":"string"},{"type":"null"}]},"type":{"anyOf":[{"enum":["llm","score","function","eval","task","tool","automation","facet","preprocessor","classifier","review"],"type":"string"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"span_id":{"description":"A unique identifier used to link different project logs events together as part of a full trace. See the [tracing guide](https://www.braintrust.dev/docs/instrument) for full details on tracing","type":"string"},"span_parents":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]},"tags":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]}}}},"realtime_state":{"type":"on","minimum_xact_id":"1000197783589884487","read_bytes":0,"actual_xact_id":"1000197783589884487"},"freshness_state":{"last_processed_xact_id":"1000197783589884487","last_considered_xact_id":"1000197783589884487"},"warnings":[]} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-fe8a331df9eb.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-fdedfc9e1b95.json similarity index 69% rename from test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-fe8a331df9eb.json rename to test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-fdedfc9e1b95.json index 051d1849..62a3f8f9 100644 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-fe8a331df9eb.json +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-fdedfc9e1b95.json @@ -1 +1 @@ -{"data":[{"_async_scoring_state":null,"_pagination_key":"p07659835849527656451","_xact_id":"1000197472072442086","audit_data":[{"_xact_id":"1000197472072442086","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":null,"created":"2026-07-07T17:15:09.325Z","error":null,"expected":null,"facets":null,"id":"63a52a1ff6f47d4f","input":null,"is_root":true,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","client":"springai-anthropic"},"metrics":{"end":1783444510.994611,"start":1783444509.325501},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":null,"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"a92298ff1baf0fca13e90ee2c7d9805d","scores":null,"span_attributes":{"name":"prompt_caching_1h","type":"task"},"span_id":"63a52a1ff6f47d4f","span_parents":null,"tags":null},{"_async_scoring_state":null,"_pagination_key":"p07659835849527656455","_xact_id":"1000197472072442086","audit_data":[{"_xact_id":"1000197472072442086","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":null,"created":"2026-07-07T17:15:09.328Z","error":null,"expected":null,"facets":null,"id":"9181db08520c0ba6","input":[{"content":"What is the capital of France?","role":"user"}],"is_root":false,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","model":"claude-sonnet-4-5-20250929","provider":"anthropic","request_base_uri":"http://localhost:63165","request_method":"POST","request_path":"v1/messages"},"metrics":{"completion_tokens":11,"end":1783444510.9859483,"estimated_cost":0.012123,"prompt_cache_creation_1h_tokens":1993,"prompt_cache_creation_5m_tokens":0,"prompt_cached_tokens":0,"prompt_tokens":12,"start":1783444509.3289933,"tokens":23},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":{"content":[{"text":"The capital of France is **Paris**.","type":"text"}],"id":"msg_011Cco5FkYch2CvhEGvzPpDi","model":"claude-sonnet-4-5-20250929","role":"assistant","stop_details":null,"stop_reason":"end_turn","stop_sequence":null,"type":"message","usage":{"cache_creation":{"ephemeral_1h_input_tokens":1993,"ephemeral_5m_input_tokens":0},"cache_creation_input_tokens":1993,"cache_read_input_tokens":0,"inference_geo":"not_available","input_tokens":12,"output_tokens":11,"service_tier":"standard"}},"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"a92298ff1baf0fca13e90ee2c7d9805d","scores":null,"span_attributes":{"name":"anthropic.messages.create","type":"llm"},"span_id":"9181db08520c0ba6","span_parents":["63a52a1ff6f47d4f"],"tags":null}],"schema":{"type":"array","items":{"type":"object","properties":{"_async_scoring_state":{},"_pagination_key":{"description":"A stable, time-ordered key that can be used to paginate over project logs events. This field is auto-generated by Braintrust and only exists in Brainstore.","type":["string","null"]},"_xact_id":{"description":"The transaction id of an event is unique to the network operation that processed the event insertion. Transaction ids are monotonically increasing over time and can be used to retrieve a versioned snapshot of the project logs (see the `version` parameter)","type":"string"},"audit_data":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"classifications":{"anyOf":[{"additionalProperties":{"items":{"additionalProperties":false,"properties":{"confidence":{"description":"Optional confidence score for the classification","type":["number","null"]},"id":{"description":"Stable classification identifier","type":"string"},"label":{"description":"Original label of the classification item, which is useful for search and indexing purposes","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"type":"object"},{"type":"null"}],"description":"Optional metadata associated with the classification"},"source":{"anyOf":[{"anyOf":[{"additionalProperties":false,"properties":{"id":{"type":"string"},"type":{"const":"function","type":"string"},"version":{"description":"The version of the function","type":"string"}},"required":["type","id"],"type":"object"},{"additionalProperties":false,"properties":{"function_type":{"default":"scorer","description":"The type of global function. Defaults to 'scorer'.","enum":["llm","scorer","task","tool","custom_view","preprocessor","facet","classifier","tag","parameters","sandbox"],"type":"string"},"name":{"type":"string"},"type":{"const":"global","type":"string"}},"required":["type","name"],"type":"object"}]},{"type":"null"}],"description":"Optional function identifier that produced the classification"}},"required":["id"],"type":"object"},"type":"array"},"properties":{},"type":"object"},{"type":"null"}]},"comments":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"context":{"anyOf":[{"additionalProperties":{},"properties":{"caller_filename":{"description":"Name of the file in code where the project logs event was created","type":["string","null"]},"caller_functionname":{"description":"The function in code which created the project logs event","type":["string","null"]},"caller_lineno":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"created":{"description":"The timestamp the project logs event was created","format":"date-time","type":"string"},"error":{"description":"The error that occurred, if any."},"expected":{"description":"The ground truth value (an arbitrary, JSON serializable object) that you'd compare to `output` to determine if your `output` value is correct or not. Braintrust currently does not compare `output` to `expected` for you, since there are so many different ways to do that correctly. Instead, these values are just used to help you navigate while digging into analyses. However, we may later use these values to re-score outputs or fine-tune your models."},"facets":{"anyOf":[{"additionalProperties":{"type":["string","null"]},"properties":{},"type":"object"},{"type":"null"}]},"id":{"description":"A unique identifier for the project logs event. If you don't provide one, Braintrust will generate one for you","type":"string"},"input":{"description":"The arguments that uniquely define a user input (an arbitrary, JSON serializable object)."},"is_root":{"description":"Whether this span is a root span","type":["boolean","null"]},"log_id":{"const":"g","description":"A literal 'g' which identifies the log as a project log","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"properties":{"model":{"description":"The model used for this example","type":["string","null"]}},"type":"object"},{"type":"null"}]},"metrics":{"anyOf":[{"additionalProperties":{"type":"number"},"properties":{"caller_filename":{"description":"This metric is deprecated"},"caller_functionname":{"description":"This metric is deprecated"},"caller_lineno":{"description":"This metric is deprecated"},"completion_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"end":{"description":"A unix timestamp recording when the section of code which produced the project logs event finished","type":["number","null"]},"prompt_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"start":{"description":"A unix timestamp recording when the section of code which produced the project logs event started","type":["number","null"]},"tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"org_id":{"description":"Unique id for the organization that the project belongs under","format":"uuid","type":"string"},"origin":{"anyOf":[{"description":"Reference to the original object and event this was copied from.","properties":{"_xact_id":{"description":"Transaction ID of the original event.","type":["string","null"]},"created":{"description":"Created timestamp of the original event. Used to help sort in the UI","type":["string","null"]},"id":{"description":"ID of the original event.","type":"string"},"object_id":{"description":"ID of the object the event is originating from.","format":"uuid","type":"string"},"object_type":{"description":"Type of the object the event is originating from.","enum":["project_logs","experiment","dataset","prompt","function","prompt_session"],"type":"string"}},"required":["object_type","object_id","id"],"type":"object"},{"type":"null"}]},"output":{"description":"The output of your application, including post-processing (an arbitrary, JSON serializable object), that allows you to determine whether the result is correct or not. For example, in an app that generates SQL queries, the `output` should be the _result_ of the SQL query generated by the model, not the query itself, because there may be multiple valid queries that answer a single question."},"project_id":{"description":"Unique identifier for the project","format":"uuid","type":"string"},"root_span_id":{"description":"A unique identifier for the trace this project logs event belongs to","type":"string"},"scores":{"anyOf":[{"additionalProperties":{"anyOf":[{"maximum":1,"minimum":0,"type":"number"},{"type":"null"}]},"properties":{},"type":"object"},{"type":"null"}]},"span_attributes":{"anyOf":[{"additionalProperties":{},"description":"Human-identifying attributes of the span, such as name, type, etc.","properties":{"name":{"description":"Name of the span, for display purposes only","type":["string","null"]},"purpose":{"anyOf":[{"enum":["scorer"],"type":"string"},{"type":"null"}]},"type":{"anyOf":[{"enum":["llm","score","function","eval","task","tool","automation","facet","preprocessor","classifier","review"],"type":"string"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"span_id":{"description":"A unique identifier used to link different project logs events together as part of a full trace. See the [tracing guide](https://www.braintrust.dev/docs/instrument) for full details on tracing","type":"string"},"span_parents":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]},"tags":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]}}}},"realtime_state":{"type":"on","minimum_xact_id":"1000197472073890576","read_bytes":0,"actual_xact_id":"1000197472073890576"},"freshness_state":{"last_processed_xact_id":"1000197472073890576","last_considered_xact_id":"1000197472073890576"},"warnings":[]} \ No newline at end of file +{"data":[{"_async_scoring_state":null,"_pagination_key":"p07680251233063075849","_xact_id":"1000197783586473083","audit_data":[{"_xact_id":"1000197783586473083","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":{"span_origin":{"instrumentation":{"name":"braintrust-java"},"name":"braintrust.sdk.java","version":"0.3.22-ca5ce6d-DIRTY"}},"created":"2026-08-31T17:37:00.500Z","error":null,"expected":null,"facets":null,"id":"d5b1130feed9c44e","input":null,"is_root":true,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","client":"langchain1.8-openai"},"metrics":{"end":1788197830.7173824,"start":1788197820.5007732},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":null,"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"33f8dc508c794042f64bce87d238d246","scores":null,"span_attributes":{"name":"reasoning_completions","type":"task"},"span_id":"d5b1130feed9c44e","span_parents":null,"tags":null},{"_async_scoring_state":null,"_pagination_key":"p07680251233063075842","_xact_id":"1000197783586473083","audit_data":[{"_xact_id":"1000197783586473083","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":{"span_origin":{"instrumentation":{"name":"braintrust-java"},"name":"braintrust.sdk.java","version":"0.3.22-ca5ce6d-DIRTY"}},"created":"2026-08-31T17:37:00.504Z","error":null,"expected":null,"facets":null,"id":"84ef155ba222a6f9","input":[{"content":"Look at this sequence: 2, 6, 12, 20, 30. What is the pattern and what would be the formula for the nth term?\n","role":"user"}],"is_root":false,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","model":"o4-mini","provider":"openai","reasoning_effort":"medium","request_base_uri":"http://localhost:52408","request_method":"POST","request_path":"chat/completions","response_id":"chatcmpl-EJ0EHq2SFPWExh96BsExA5ylGZCrN","stream":false,"x-request-id":"req_bcb15a79086a45bb98a3a1309955f80e"},"metrics":{"completion_reasoning_tokens":832,"completion_tokens":992,"end":1788197830.717061,"estimated_cost":0.0044099000000000005,"prompt_cached_tokens":0,"prompt_tokens":41,"start":1788197820.5049005,"tokens":1033},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":[{"finish_reason":"stop","index":0,"message":{"annotations":[],"content":"The sequence \n 2, 6, 12, 20, 30, … \n\nhas first differences \n 6−2=4, 12−6=6, 20−12=8, 30−20=10, … \nwhich increase by 2 each time. In fact \n a₁=2=1·2, \n a₂=6=2·3, \n a₃=12=3·4, … \n\nSo the nth term is the product of two consecutive integers: \n formula: aₙ = n·(n+1). \n\nEquivalently, aₙ = n² + n.","refusal":null,"role":"assistant"}}],"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"33f8dc508c794042f64bce87d238d246","scores":null,"span_attributes":{"name":"Chat Completion","type":"llm"},"span_id":"84ef155ba222a6f9","span_parents":["d5b1130feed9c44e"],"tags":null}],"schema":{"type":"array","items":{"type":"object","properties":{"_async_scoring_state":{},"_pagination_key":{"description":"A stable, time-ordered key that can be used to paginate over project logs events. This field is auto-generated by Braintrust and only exists in Brainstore.","type":["string","null"]},"_xact_id":{"description":"The transaction id of an event is unique to the network operation that processed the event insertion. Transaction ids are monotonically increasing over time and can be used to retrieve a versioned snapshot of the project logs (see the `version` parameter)","type":"string"},"audit_data":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"classifications":{"anyOf":[{"additionalProperties":{"items":{"additionalProperties":false,"properties":{"confidence":{"description":"Optional confidence score for the classification","type":["number","null"]},"id":{"description":"Stable classification identifier","type":"string"},"label":{"description":"Original label of the classification item, which is useful for search and indexing purposes","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"type":"object"},{"type":"null"}],"description":"Optional metadata associated with the classification"},"source":{"anyOf":[{"anyOf":[{"additionalProperties":false,"properties":{"id":{"type":"string"},"type":{"const":"function","type":"string"},"version":{"description":"The version of the function","type":"string"}},"required":["type","id"],"type":"object"},{"additionalProperties":false,"properties":{"function_type":{"default":"scorer","description":"The type of global function. Defaults to 'scorer'.","enum":["llm","scorer","task","tool","custom_view","preprocessor","facet","classifier","tag","parameters","sandbox"],"type":"string"},"name":{"type":"string"},"type":{"const":"global","type":"string"}},"required":["type","name"],"type":"object"}]},{"type":"null"}],"description":"Optional function identifier that produced the classification"}},"required":["id"],"type":"object"},"type":"array"},"properties":{},"type":"object"},{"type":"null"}]},"comments":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"context":{"anyOf":[{"additionalProperties":{},"properties":{"caller_filename":{"description":"Name of the file in code where the project logs event was created","type":["string","null"]},"caller_functionname":{"description":"The function in code which created the project logs event","type":["string","null"]},"caller_lineno":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"created":{"description":"The timestamp the project logs event was created","format":"date-time","type":"string"},"error":{"description":"The error that occurred, if any."},"expected":{"description":"The ground truth value (an arbitrary, JSON serializable object) that you'd compare to `output` to determine if your `output` value is correct or not. Braintrust currently does not compare `output` to `expected` for you, since there are so many different ways to do that correctly. Instead, these values are just used to help you navigate while digging into analyses. However, we may later use these values to re-score outputs or fine-tune your models."},"facets":{"anyOf":[{"additionalProperties":{"type":["string","null"]},"properties":{},"type":"object"},{"type":"null"}]},"id":{"description":"A unique identifier for the project logs event. If you don't provide one, Braintrust will generate one for you","type":"string"},"input":{"description":"The arguments that uniquely define a user input (an arbitrary, JSON serializable object)."},"is_root":{"description":"Whether this span is a root span","type":["boolean","null"]},"log_id":{"const":"g","description":"A literal 'g' which identifies the log as a project log","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"properties":{"model":{"description":"The model used for this example","type":["string","null"]}},"type":"object"},{"type":"null"}]},"metrics":{"anyOf":[{"additionalProperties":{"type":"number"},"properties":{"caller_filename":{"description":"This metric is deprecated"},"caller_functionname":{"description":"This metric is deprecated"},"caller_lineno":{"description":"This metric is deprecated"},"completion_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"end":{"description":"A unix timestamp recording when the section of code which produced the project logs event finished","type":["number","null"]},"prompt_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"start":{"description":"A unix timestamp recording when the section of code which produced the project logs event started","type":["number","null"]},"tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"org_id":{"description":"Unique id for the organization that the project belongs under","format":"uuid","type":"string"},"origin":{"anyOf":[{"description":"Reference to the original object and event this was copied from.","properties":{"_xact_id":{"description":"Transaction ID of the original event.","type":["string","null"]},"created":{"description":"Created timestamp of the original event. Used to help sort in the UI","type":["string","null"]},"id":{"description":"ID of the original event.","type":"string"},"object_id":{"description":"ID of the object the event is originating from.","format":"uuid","type":"string"},"object_type":{"description":"Type of the object the event is originating from.","enum":["project_logs","experiment","dataset","prompt","function","prompt_session"],"type":"string"}},"required":["object_type","object_id","id"],"type":"object"},{"type":"null"}]},"output":{"description":"The output of your application, including post-processing (an arbitrary, JSON serializable object), that allows you to determine whether the result is correct or not. For example, in an app that generates SQL queries, the `output` should be the _result_ of the SQL query generated by the model, not the query itself, because there may be multiple valid queries that answer a single question."},"project_id":{"description":"Unique identifier for the project","format":"uuid","type":"string"},"root_span_id":{"description":"A unique identifier for the trace this project logs event belongs to","type":"string"},"scores":{"anyOf":[{"additionalProperties":{"anyOf":[{"maximum":1,"minimum":0,"type":"number"},{"type":"null"}]},"properties":{},"type":"object"},{"type":"null"}]},"span_attributes":{"anyOf":[{"additionalProperties":{},"description":"Human-identifying attributes of the span, such as name, type, etc.","properties":{"name":{"description":"Name of the span, for display purposes only","type":["string","null"]},"purpose":{"anyOf":[{"enum":["scorer"],"type":"string"},{"type":"null"}]},"type":{"anyOf":[{"enum":["llm","score","function","eval","task","tool","automation","facet","preprocessor","classifier","review"],"type":"string"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"span_id":{"description":"A unique identifier used to link different project logs events together as part of a full trace. See the [tracing guide](https://www.braintrust.dev/docs/instrument) for full details on tracing","type":"string"},"span_parents":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]},"tags":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]}}}},"realtime_state":{"type":"on","minimum_xact_id":"1000197783589884487","read_bytes":0,"actual_xact_id":"1000197783589884487"},"freshness_state":{"last_processed_xact_id":"1000197783589884487","last_considered_xact_id":"1000197783589884487"},"warnings":[]} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-fe50de9f8891.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-fe50de9f8891.json new file mode 100644 index 00000000..0de794ac --- /dev/null +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-fe50de9f8891.json @@ -0,0 +1 @@ +{"data":[{"_async_scoring_state":null,"_pagination_key":"p07680251147406540807","_xact_id":"1000197783585166068","audit_data":[{"_xact_id":"1000197783585166068","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":{"span_origin":{"instrumentation":{"name":"braintrust-java"},"name":"braintrust.sdk.java","version":"0.3.22-ca5ce6d-DIRTY"}},"created":"2026-08-31T17:36:51.459Z","error":null,"expected":null,"facets":null,"id":"78b8667ec79bf61b","input":null,"is_root":true,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","client":"springai-openai"},"metrics":{"end":1788197812.265155,"start":1788197811.459807},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":null,"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"330d1666ca080a836d618432666bb2b1","scores":null,"span_attributes":{"name":"completions","type":"task"},"span_id":"78b8667ec79bf61b","span_parents":null,"tags":null},{"_async_scoring_state":null,"_pagination_key":"p07680251147406540801","_xact_id":"1000197783585166068","audit_data":[{"_xact_id":"1000197783585166068","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":{"span_origin":{"instrumentation":{"name":"braintrust-java"},"name":"braintrust.sdk.java","version":"0.3.22-ca5ce6d-DIRTY"}},"created":"2026-08-31T17:36:51.480Z","error":null,"expected":null,"facets":null,"id":"8af96a042e0b97e2","input":[{"content":"you are a helpful assistant","role":"system"},{"content":"What is the capital of France?","role":"user"}],"is_root":false,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","model":"gpt-4o-mini","provider":"openai","request_base_uri":"http://localhost:52408","request_method":"POST","request_path":"chat/completions","response_id":"chatcmpl-EJ0E7T0fbTM5CXn2fczIcl4NUtN9F","stream":false,"temperature":0,"x-request-id":"req_5299c921a6a44fde8da42bd5ed3eb18c"},"metrics":{"completion_reasoning_tokens":0,"completion_tokens":7,"end":1788197812.2601151,"estimated_cost":0.00000765,"prompt_cached_tokens":0,"prompt_tokens":23,"start":1788197811.4808,"tokens":30},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":[{"finish_reason":"stop","index":0,"logprobs":null,"message":{"annotations":[],"content":"The capital of France is Paris.","refusal":null,"role":"assistant"}}],"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"330d1666ca080a836d618432666bb2b1","scores":null,"span_attributes":{"name":"Chat Completion","type":"llm"},"span_id":"8af96a042e0b97e2","span_parents":["78b8667ec79bf61b"],"tags":null}],"schema":{"type":"array","items":{"type":"object","properties":{"_async_scoring_state":{},"_pagination_key":{"description":"A stable, time-ordered key that can be used to paginate over project logs events. This field is auto-generated by Braintrust and only exists in Brainstore.","type":["string","null"]},"_xact_id":{"description":"The transaction id of an event is unique to the network operation that processed the event insertion. Transaction ids are monotonically increasing over time and can be used to retrieve a versioned snapshot of the project logs (see the `version` parameter)","type":"string"},"audit_data":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"classifications":{"anyOf":[{"additionalProperties":{"items":{"additionalProperties":false,"properties":{"confidence":{"description":"Optional confidence score for the classification","type":["number","null"]},"id":{"description":"Stable classification identifier","type":"string"},"label":{"description":"Original label of the classification item, which is useful for search and indexing purposes","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"type":"object"},{"type":"null"}],"description":"Optional metadata associated with the classification"},"source":{"anyOf":[{"anyOf":[{"additionalProperties":false,"properties":{"id":{"type":"string"},"type":{"const":"function","type":"string"},"version":{"description":"The version of the function","type":"string"}},"required":["type","id"],"type":"object"},{"additionalProperties":false,"properties":{"function_type":{"default":"scorer","description":"The type of global function. Defaults to 'scorer'.","enum":["llm","scorer","task","tool","custom_view","preprocessor","facet","classifier","tag","parameters","sandbox"],"type":"string"},"name":{"type":"string"},"type":{"const":"global","type":"string"}},"required":["type","name"],"type":"object"}]},{"type":"null"}],"description":"Optional function identifier that produced the classification"}},"required":["id"],"type":"object"},"type":"array"},"properties":{},"type":"object"},{"type":"null"}]},"comments":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"context":{"anyOf":[{"additionalProperties":{},"properties":{"caller_filename":{"description":"Name of the file in code where the project logs event was created","type":["string","null"]},"caller_functionname":{"description":"The function in code which created the project logs event","type":["string","null"]},"caller_lineno":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"created":{"description":"The timestamp the project logs event was created","format":"date-time","type":"string"},"error":{"description":"The error that occurred, if any."},"expected":{"description":"The ground truth value (an arbitrary, JSON serializable object) that you'd compare to `output` to determine if your `output` value is correct or not. Braintrust currently does not compare `output` to `expected` for you, since there are so many different ways to do that correctly. Instead, these values are just used to help you navigate while digging into analyses. However, we may later use these values to re-score outputs or fine-tune your models."},"facets":{"anyOf":[{"additionalProperties":{"type":["string","null"]},"properties":{},"type":"object"},{"type":"null"}]},"id":{"description":"A unique identifier for the project logs event. If you don't provide one, Braintrust will generate one for you","type":"string"},"input":{"description":"The arguments that uniquely define a user input (an arbitrary, JSON serializable object)."},"is_root":{"description":"Whether this span is a root span","type":["boolean","null"]},"log_id":{"const":"g","description":"A literal 'g' which identifies the log as a project log","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"properties":{"model":{"description":"The model used for this example","type":["string","null"]}},"type":"object"},{"type":"null"}]},"metrics":{"anyOf":[{"additionalProperties":{"type":"number"},"properties":{"caller_filename":{"description":"This metric is deprecated"},"caller_functionname":{"description":"This metric is deprecated"},"caller_lineno":{"description":"This metric is deprecated"},"completion_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"end":{"description":"A unix timestamp recording when the section of code which produced the project logs event finished","type":["number","null"]},"prompt_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"start":{"description":"A unix timestamp recording when the section of code which produced the project logs event started","type":["number","null"]},"tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"org_id":{"description":"Unique id for the organization that the project belongs under","format":"uuid","type":"string"},"origin":{"anyOf":[{"description":"Reference to the original object and event this was copied from.","properties":{"_xact_id":{"description":"Transaction ID of the original event.","type":["string","null"]},"created":{"description":"Created timestamp of the original event. Used to help sort in the UI","type":["string","null"]},"id":{"description":"ID of the original event.","type":"string"},"object_id":{"description":"ID of the object the event is originating from.","format":"uuid","type":"string"},"object_type":{"description":"Type of the object the event is originating from.","enum":["project_logs","experiment","dataset","prompt","function","prompt_session"],"type":"string"}},"required":["object_type","object_id","id"],"type":"object"},{"type":"null"}]},"output":{"description":"The output of your application, including post-processing (an arbitrary, JSON serializable object), that allows you to determine whether the result is correct or not. For example, in an app that generates SQL queries, the `output` should be the _result_ of the SQL query generated by the model, not the query itself, because there may be multiple valid queries that answer a single question."},"project_id":{"description":"Unique identifier for the project","format":"uuid","type":"string"},"root_span_id":{"description":"A unique identifier for the trace this project logs event belongs to","type":"string"},"scores":{"anyOf":[{"additionalProperties":{"anyOf":[{"maximum":1,"minimum":0,"type":"number"},{"type":"null"}]},"properties":{},"type":"object"},{"type":"null"}]},"span_attributes":{"anyOf":[{"additionalProperties":{},"description":"Human-identifying attributes of the span, such as name, type, etc.","properties":{"name":{"description":"Name of the span, for display purposes only","type":["string","null"]},"purpose":{"anyOf":[{"enum":["scorer"],"type":"string"},{"type":"null"}]},"type":{"anyOf":[{"enum":["llm","score","function","eval","task","tool","automation","facet","preprocessor","classifier","review"],"type":"string"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"span_id":{"description":"A unique identifier used to link different project logs events together as part of a full trace. See the [tracing guide](https://www.braintrust.dev/docs/instrument) for full details on tracing","type":"string"},"span_parents":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]},"tags":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]}}}},"realtime_state":{"type":"on","minimum_xact_id":"1000197783589884487","read_bytes":0,"actual_xact_id":"1000197783589884487"},"freshness_state":{"last_processed_xact_id":"1000197783589884487","last_considered_xact_id":"1000197783589884487"},"warnings":[]} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-feb1f15c9589.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-feb1f15c9589.json deleted file mode 100644 index 624f6ff7..00000000 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-feb1f15c9589.json +++ /dev/null @@ -1 +0,0 @@ -{"data":[{"_async_scoring_state":null,"_pagination_key":"p07659835876496441344","_xact_id":"1000197472072853597","audit_data":[{"_xact_id":"1000197472072853597","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":null,"created":"2026-07-07T17:15:10.994Z","error":null,"expected":null,"facets":null,"id":"55028e8a0168433c","input":null,"is_root":true,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","client":"anthropic"},"metrics":{"end":1783444512.4239886,"start":1783444510.994827},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":null,"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"cca9397769b871caab1082938ddbddd6","scores":null,"span_attributes":{"name":"prompt_caching_5m","type":"task"},"span_id":"55028e8a0168433c","span_parents":null,"tags":null},{"_async_scoring_state":null,"_pagination_key":"p07659835876496441347","_xact_id":"1000197472072853597","audit_data":[{"_xact_id":"1000197472072853597","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":null,"created":"2026-07-07T17:15:11.014Z","error":null,"expected":null,"facets":null,"id":"70e0dbb12ad4a6a3","input":[{"content":"What is the capital of France?","role":"user"}],"is_root":false,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","model":"claude-sonnet-4-5-20250929","provider":"anthropic","request_base_uri":"","request_method":"POST","request_path":"v1/messages"},"metrics":{"completion_tokens":5,"end":1783444512.4234312,"estimated_cost":0.0051937500000000004,"prompt_cache_creation_1h_tokens":0,"prompt_cache_creation_5m_tokens":1365,"prompt_cached_tokens":0,"prompt_tokens":12,"start":1783444511.0142217,"tokens":17},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":{"content":[{"text":"Paris.","type":"text"}],"id":"msg_011Cco5FsFw8io86juqvnUwx","model":"claude-sonnet-4-5-20250929","role":"assistant","stop_details":null,"stop_reason":"end_turn","stop_sequence":null,"type":"message","usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":1365},"cache_creation_input_tokens":1365,"cache_read_input_tokens":0,"inference_geo":"not_available","input_tokens":12,"output_tokens":5,"service_tier":"standard"}},"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"cca9397769b871caab1082938ddbddd6","scores":null,"span_attributes":{"name":"anthropic.messages.create","type":"llm"},"span_id":"70e0dbb12ad4a6a3","span_parents":["55028e8a0168433c"],"tags":null}],"schema":{"type":"array","items":{"type":"object","properties":{"_async_scoring_state":{},"_pagination_key":{"description":"A stable, time-ordered key that can be used to paginate over project logs events. This field is auto-generated by Braintrust and only exists in Brainstore.","type":["string","null"]},"_xact_id":{"description":"The transaction id of an event is unique to the network operation that processed the event insertion. Transaction ids are monotonically increasing over time and can be used to retrieve a versioned snapshot of the project logs (see the `version` parameter)","type":"string"},"audit_data":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"classifications":{"anyOf":[{"additionalProperties":{"items":{"additionalProperties":false,"properties":{"confidence":{"description":"Optional confidence score for the classification","type":["number","null"]},"id":{"description":"Stable classification identifier","type":"string"},"label":{"description":"Original label of the classification item, which is useful for search and indexing purposes","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"type":"object"},{"type":"null"}],"description":"Optional metadata associated with the classification"},"source":{"anyOf":[{"anyOf":[{"additionalProperties":false,"properties":{"id":{"type":"string"},"type":{"const":"function","type":"string"},"version":{"description":"The version of the function","type":"string"}},"required":["type","id"],"type":"object"},{"additionalProperties":false,"properties":{"function_type":{"default":"scorer","description":"The type of global function. Defaults to 'scorer'.","enum":["llm","scorer","task","tool","custom_view","preprocessor","facet","classifier","tag","parameters","sandbox"],"type":"string"},"name":{"type":"string"},"type":{"const":"global","type":"string"}},"required":["type","name"],"type":"object"}]},{"type":"null"}],"description":"Optional function identifier that produced the classification"}},"required":["id"],"type":"object"},"type":"array"},"properties":{},"type":"object"},{"type":"null"}]},"comments":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"context":{"anyOf":[{"additionalProperties":{},"properties":{"caller_filename":{"description":"Name of the file in code where the project logs event was created","type":["string","null"]},"caller_functionname":{"description":"The function in code which created the project logs event","type":["string","null"]},"caller_lineno":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"created":{"description":"The timestamp the project logs event was created","format":"date-time","type":"string"},"error":{"description":"The error that occurred, if any."},"expected":{"description":"The ground truth value (an arbitrary, JSON serializable object) that you'd compare to `output` to determine if your `output` value is correct or not. Braintrust currently does not compare `output` to `expected` for you, since there are so many different ways to do that correctly. Instead, these values are just used to help you navigate while digging into analyses. However, we may later use these values to re-score outputs or fine-tune your models."},"facets":{"anyOf":[{"additionalProperties":{"type":["string","null"]},"properties":{},"type":"object"},{"type":"null"}]},"id":{"description":"A unique identifier for the project logs event. If you don't provide one, Braintrust will generate one for you","type":"string"},"input":{"description":"The arguments that uniquely define a user input (an arbitrary, JSON serializable object)."},"is_root":{"description":"Whether this span is a root span","type":["boolean","null"]},"log_id":{"const":"g","description":"A literal 'g' which identifies the log as a project log","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"properties":{"model":{"description":"The model used for this example","type":["string","null"]}},"type":"object"},{"type":"null"}]},"metrics":{"anyOf":[{"additionalProperties":{"type":"number"},"properties":{"caller_filename":{"description":"This metric is deprecated"},"caller_functionname":{"description":"This metric is deprecated"},"caller_lineno":{"description":"This metric is deprecated"},"completion_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"end":{"description":"A unix timestamp recording when the section of code which produced the project logs event finished","type":["number","null"]},"prompt_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"start":{"description":"A unix timestamp recording when the section of code which produced the project logs event started","type":["number","null"]},"tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"org_id":{"description":"Unique id for the organization that the project belongs under","format":"uuid","type":"string"},"origin":{"anyOf":[{"description":"Reference to the original object and event this was copied from.","properties":{"_xact_id":{"description":"Transaction ID of the original event.","type":["string","null"]},"created":{"description":"Created timestamp of the original event. Used to help sort in the UI","type":["string","null"]},"id":{"description":"ID of the original event.","type":"string"},"object_id":{"description":"ID of the object the event is originating from.","format":"uuid","type":"string"},"object_type":{"description":"Type of the object the event is originating from.","enum":["project_logs","experiment","dataset","prompt","function","prompt_session"],"type":"string"}},"required":["object_type","object_id","id"],"type":"object"},{"type":"null"}]},"output":{"description":"The output of your application, including post-processing (an arbitrary, JSON serializable object), that allows you to determine whether the result is correct or not. For example, in an app that generates SQL queries, the `output` should be the _result_ of the SQL query generated by the model, not the query itself, because there may be multiple valid queries that answer a single question."},"project_id":{"description":"Unique identifier for the project","format":"uuid","type":"string"},"root_span_id":{"description":"A unique identifier for the trace this project logs event belongs to","type":"string"},"scores":{"anyOf":[{"additionalProperties":{"anyOf":[{"maximum":1,"minimum":0,"type":"number"},{"type":"null"}]},"properties":{},"type":"object"},{"type":"null"}]},"span_attributes":{"anyOf":[{"additionalProperties":{},"description":"Human-identifying attributes of the span, such as name, type, etc.","properties":{"name":{"description":"Name of the span, for display purposes only","type":["string","null"]},"purpose":{"anyOf":[{"enum":["scorer"],"type":"string"},{"type":"null"}]},"type":{"anyOf":[{"enum":["llm","score","function","eval","task","tool","automation","facet","preprocessor","classifier","review"],"type":"string"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"span_id":{"description":"A unique identifier used to link different project logs events together as part of a full trace. See the [tracing guide](https://www.braintrust.dev/docs/instrument) for full details on tracing","type":"string"},"span_parents":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]},"tags":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]}}}},"realtime_state":{"type":"on","minimum_xact_id":"1000197472073890576","read_bytes":0,"actual_xact_id":"1000197472073890576"},"freshness_state":{"last_processed_xact_id":"1000197472073890576","last_considered_xact_id":"1000197472073890576"},"warnings":[]} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-ff14978753ec.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-ff14978753ec.json deleted file mode 100644 index d049c500..00000000 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-ff14978753ec.json +++ /dev/null @@ -1 +0,0 @@ -{"data":[{"_async_scoring_state":null,"_pagination_key":"p07659835804562489349","_xact_id":"1000197472071755972","audit_data":[{"_xact_id":"1000197472071755972","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":null,"created":"2026-07-07T17:14:58.231Z","error":null,"expected":null,"facets":null,"id":"2073f9d33ade6cfb","input":null,"is_root":true,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","client":"google"},"metrics":{"end":1783444498.911918,"start":1783444498.2317781},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":null,"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"840acd800f7e84b421302b19d5a15b52","scores":null,"span_attributes":{"name":"generate_content","type":"task"},"span_id":"2073f9d33ade6cfb","span_parents":null,"tags":null},{"_async_scoring_state":null,"_pagination_key":"p07659835804562489356","_xact_id":"1000197472071755972","audit_data":[{"_xact_id":"1000197472071755972","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":null,"created":"2026-07-07T17:14:58.232Z","error":null,"expected":null,"facets":null,"id":"6f0813ca5c28f7c1","input":{"config":{"temperature":0},"contents":[{"parts":[{"text":"What is the capital of France?"}],"role":"user"}],"model":"gemini-3.1-flash-lite-preview"},"is_root":false,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","model":"gemini-3.1-flash-lite","provider":"gemini","temperature":0},"metrics":{"completion_tokens":7,"end":1783444498.9107165,"estimated_cost":0.000012499999999999999,"prompt_tokens":8,"start":1783444498.2320962,"tokens":15},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":{"candidates":[{"content":{"parts":[{"text":"The capital of France is Paris.","thoughtSignature":"EjQKMgERTTIPBaFWeYFwdQTF4qaufOpRkMAm51tb+z6adfISll6g6AZ43HfA4VKHdq1k9IMZ"}],"role":"model"},"finishReason":"STOP","index":0}],"modelVersion":"gemini-3.1-flash-lite","responseId":"EjRNauCAG5y_qtsP_aKe2AI","usageMetadata":{"candidatesTokenCount":7,"promptTokenCount":8,"promptTokensDetails":[{"modality":"TEXT","tokenCount":8}],"serviceTier":"standard","totalTokenCount":15}},"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"840acd800f7e84b421302b19d5a15b52","scores":null,"span_attributes":{"name":"generate_content","type":"llm"},"span_id":"6f0813ca5c28f7c1","span_parents":["2073f9d33ade6cfb"],"tags":null}],"schema":{"type":"array","items":{"type":"object","properties":{"_async_scoring_state":{},"_pagination_key":{"description":"A stable, time-ordered key that can be used to paginate over project logs events. This field is auto-generated by Braintrust and only exists in Brainstore.","type":["string","null"]},"_xact_id":{"description":"The transaction id of an event is unique to the network operation that processed the event insertion. Transaction ids are monotonically increasing over time and can be used to retrieve a versioned snapshot of the project logs (see the `version` parameter)","type":"string"},"audit_data":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"classifications":{"anyOf":[{"additionalProperties":{"items":{"additionalProperties":false,"properties":{"confidence":{"description":"Optional confidence score for the classification","type":["number","null"]},"id":{"description":"Stable classification identifier","type":"string"},"label":{"description":"Original label of the classification item, which is useful for search and indexing purposes","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"type":"object"},{"type":"null"}],"description":"Optional metadata associated with the classification"},"source":{"anyOf":[{"anyOf":[{"additionalProperties":false,"properties":{"id":{"type":"string"},"type":{"const":"function","type":"string"},"version":{"description":"The version of the function","type":"string"}},"required":["type","id"],"type":"object"},{"additionalProperties":false,"properties":{"function_type":{"default":"scorer","description":"The type of global function. Defaults to 'scorer'.","enum":["llm","scorer","task","tool","custom_view","preprocessor","facet","classifier","tag","parameters","sandbox"],"type":"string"},"name":{"type":"string"},"type":{"const":"global","type":"string"}},"required":["type","name"],"type":"object"}]},{"type":"null"}],"description":"Optional function identifier that produced the classification"}},"required":["id"],"type":"object"},"type":"array"},"properties":{},"type":"object"},{"type":"null"}]},"comments":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"context":{"anyOf":[{"additionalProperties":{},"properties":{"caller_filename":{"description":"Name of the file in code where the project logs event was created","type":["string","null"]},"caller_functionname":{"description":"The function in code which created the project logs event","type":["string","null"]},"caller_lineno":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"created":{"description":"The timestamp the project logs event was created","format":"date-time","type":"string"},"error":{"description":"The error that occurred, if any."},"expected":{"description":"The ground truth value (an arbitrary, JSON serializable object) that you'd compare to `output` to determine if your `output` value is correct or not. Braintrust currently does not compare `output` to `expected` for you, since there are so many different ways to do that correctly. Instead, these values are just used to help you navigate while digging into analyses. However, we may later use these values to re-score outputs or fine-tune your models."},"facets":{"anyOf":[{"additionalProperties":{"type":["string","null"]},"properties":{},"type":"object"},{"type":"null"}]},"id":{"description":"A unique identifier for the project logs event. If you don't provide one, Braintrust will generate one for you","type":"string"},"input":{"description":"The arguments that uniquely define a user input (an arbitrary, JSON serializable object)."},"is_root":{"description":"Whether this span is a root span","type":["boolean","null"]},"log_id":{"const":"g","description":"A literal 'g' which identifies the log as a project log","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"properties":{"model":{"description":"The model used for this example","type":["string","null"]}},"type":"object"},{"type":"null"}]},"metrics":{"anyOf":[{"additionalProperties":{"type":"number"},"properties":{"caller_filename":{"description":"This metric is deprecated"},"caller_functionname":{"description":"This metric is deprecated"},"caller_lineno":{"description":"This metric is deprecated"},"completion_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"end":{"description":"A unix timestamp recording when the section of code which produced the project logs event finished","type":["number","null"]},"prompt_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"start":{"description":"A unix timestamp recording when the section of code which produced the project logs event started","type":["number","null"]},"tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"org_id":{"description":"Unique id for the organization that the project belongs under","format":"uuid","type":"string"},"origin":{"anyOf":[{"description":"Reference to the original object and event this was copied from.","properties":{"_xact_id":{"description":"Transaction ID of the original event.","type":["string","null"]},"created":{"description":"Created timestamp of the original event. Used to help sort in the UI","type":["string","null"]},"id":{"description":"ID of the original event.","type":"string"},"object_id":{"description":"ID of the object the event is originating from.","format":"uuid","type":"string"},"object_type":{"description":"Type of the object the event is originating from.","enum":["project_logs","experiment","dataset","prompt","function","prompt_session"],"type":"string"}},"required":["object_type","object_id","id"],"type":"object"},{"type":"null"}]},"output":{"description":"The output of your application, including post-processing (an arbitrary, JSON serializable object), that allows you to determine whether the result is correct or not. For example, in an app that generates SQL queries, the `output` should be the _result_ of the SQL query generated by the model, not the query itself, because there may be multiple valid queries that answer a single question."},"project_id":{"description":"Unique identifier for the project","format":"uuid","type":"string"},"root_span_id":{"description":"A unique identifier for the trace this project logs event belongs to","type":"string"},"scores":{"anyOf":[{"additionalProperties":{"anyOf":[{"maximum":1,"minimum":0,"type":"number"},{"type":"null"}]},"properties":{},"type":"object"},{"type":"null"}]},"span_attributes":{"anyOf":[{"additionalProperties":{},"description":"Human-identifying attributes of the span, such as name, type, etc.","properties":{"name":{"description":"Name of the span, for display purposes only","type":["string","null"]},"purpose":{"anyOf":[{"enum":["scorer"],"type":"string"},{"type":"null"}]},"type":{"anyOf":[{"enum":["llm","score","function","eval","task","tool","automation","facet","preprocessor","classifier","review"],"type":"string"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"span_id":{"description":"A unique identifier used to link different project logs events together as part of a full trace. See the [tracing guide](https://www.braintrust.dev/docs/instrument) for full details on tracing","type":"string"},"span_parents":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]},"tags":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]}}}},"realtime_state":{"type":"on","minimum_xact_id":"1000197472073890576","read_bytes":4909,"actual_xact_id":"1000197472074645319"},"freshness_state":{"last_processed_xact_id":"1000197472074645319","last_considered_xact_id":"1000197472074645319"},"warnings":[]} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-ff4d79da4e20.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-ff4d79da4e20.json deleted file mode 100644 index 176cbbee..00000000 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-ff4d79da4e20.json +++ /dev/null @@ -1 +0,0 @@ -{"data":[{"name":"test-distributed-trace-parent","root_span_id":"549710846944dbcfc3563ea8cab32335","span_id":"d9f04dc3f49d9a5e","span_parents":null},{"name":"Chat Completion","root_span_id":"549710846944dbcfc3563ea8cab32335","span_id":"8c03d138-b88a-4f7d-82ac-c8c119c8dc6c","span_parents":["04cea8d4-bfbd-4b1a-bd99-69e1637d2fcd"]},{"name":"close-enough-judge","root_span_id":"549710846944dbcfc3563ea8cab32335","span_id":"04cea8d4-bfbd-4b1a-bd99-69e1637d2fcd","span_parents":["d9f04dc3f49d9a5e"]}],"schema":{"type":"array","items":{"type":"object","properties":{"span_id":{"description":"A unique identifier used to link different project logs events together as part of a full trace. See the [tracing guide](https://www.braintrust.dev/docs/instrument) for full details on tracing","type":"string"},"span_parents":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]},"root_span_id":{"description":"A unique identifier for the trace this project logs event belongs to","type":"string"},"name":{"description":"Name of the span, for display purposes only","type":["string","null"]}}}},"cursor":"ak0z8AumAAA","realtime_state":{"type":"on","minimum_xact_id":"1000197471991627562","read_bytes":7911,"actual_xact_id":"1000197472069629956"},"freshness_state":{"last_processed_xact_id":"1000197472069560049","last_considered_xact_id":"1000197472069629956"},"warnings":[]} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-ff9330c23687.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-ff9330c23687.json deleted file mode 100644 index 5e52df01..00000000 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/btql-ff9330c23687.json +++ /dev/null @@ -1 +0,0 @@ -{"data":[{"_async_scoring_state":null,"_pagination_key":"p07659835826909872130","_xact_id":"1000197472072096966","audit_data":[{"_xact_id":"1000197472072096966","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":null,"created":"2026-07-07T17:15:00.098Z","error":null,"expected":null,"facets":null,"id":"f4be97a4fa796485","input":null,"is_root":true,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","client":"langchain-openai"},"metrics":{"end":1783444501.140719,"start":1783444500.0988128},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":null,"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"c23547c5782635329641666977e79c15","scores":null,"span_attributes":{"name":"streaming","type":"task"},"span_id":"f4be97a4fa796485","span_parents":null,"tags":null},{"_async_scoring_state":null,"_pagination_key":"p07659835826909872136","_xact_id":"1000197472072096966","audit_data":[{"_xact_id":"1000197472072096966","audit_data":{"action":"upsert"},"metadata":{},"source":"api"}],"classifications":null,"comments":null,"context":null,"created":"2026-07-07T17:15:00.102Z","error":null,"expected":null,"facets":null,"id":"1bf4815d73ff155f","input":[{"content":"you are a thoughtful assistant","role":"system"},{"content":"Count from 1 to 10 slowly.","role":"user"}],"is_root":false,"log_id":"g","metadata":{"braintrust.parent":"project_name:java-unit-test","model":"gpt-4o-mini","provider":"openai","request_base_uri":"http://localhost:63169","request_method":"POST","request_path":"chat/completions"},"metrics":{"completion_tokens":40,"end":1783444501.1411614,"estimated_cost":0.00002775,"prompt_cached_tokens":0,"prompt_tokens":25,"start":1783444500.1020927,"time_to_first_token":1.030512333,"tokens":65},"org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","origin":null,"output":[{"finish_reason":"stop","index":0,"message":{"content":"Sure! Here we go:\n\n1... \n2... \n3... \n4... \n5... \n6... \n7... \n8... \n9... \n10... \n\nTake your time!","role":"assistant"}}],"project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","root_span_id":"c23547c5782635329641666977e79c15","scores":null,"span_attributes":{"name":"Chat Completion","type":"llm"},"span_id":"1bf4815d73ff155f","span_parents":["f4be97a4fa796485"],"tags":null}],"schema":{"type":"array","items":{"type":"object","properties":{"_async_scoring_state":{},"_pagination_key":{"description":"A stable, time-ordered key that can be used to paginate over project logs events. This field is auto-generated by Braintrust and only exists in Brainstore.","type":["string","null"]},"_xact_id":{"description":"The transaction id of an event is unique to the network operation that processed the event insertion. Transaction ids are monotonically increasing over time and can be used to retrieve a versioned snapshot of the project logs (see the `version` parameter)","type":"string"},"audit_data":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"classifications":{"anyOf":[{"additionalProperties":{"items":{"additionalProperties":false,"properties":{"confidence":{"description":"Optional confidence score for the classification","type":["number","null"]},"id":{"description":"Stable classification identifier","type":"string"},"label":{"description":"Original label of the classification item, which is useful for search and indexing purposes","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"type":"object"},{"type":"null"}],"description":"Optional metadata associated with the classification"},"source":{"anyOf":[{"anyOf":[{"additionalProperties":false,"properties":{"id":{"type":"string"},"type":{"const":"function","type":"string"},"version":{"description":"The version of the function","type":"string"}},"required":["type","id"],"type":"object"},{"additionalProperties":false,"properties":{"function_type":{"default":"scorer","description":"The type of global function. Defaults to 'scorer'.","enum":["llm","scorer","task","tool","custom_view","preprocessor","facet","classifier","tag","parameters","sandbox"],"type":"string"},"name":{"type":"string"},"type":{"const":"global","type":"string"}},"required":["type","name"],"type":"object"}]},{"type":"null"}],"description":"Optional function identifier that produced the classification"}},"required":["id"],"type":"object"},"type":"array"},"properties":{},"type":"object"},{"type":"null"}]},"comments":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"context":{"anyOf":[{"additionalProperties":{},"properties":{"caller_filename":{"description":"Name of the file in code where the project logs event was created","type":["string","null"]},"caller_functionname":{"description":"The function in code which created the project logs event","type":["string","null"]},"caller_lineno":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"created":{"description":"The timestamp the project logs event was created","format":"date-time","type":"string"},"error":{"description":"The error that occurred, if any."},"expected":{"description":"The ground truth value (an arbitrary, JSON serializable object) that you'd compare to `output` to determine if your `output` value is correct or not. Braintrust currently does not compare `output` to `expected` for you, since there are so many different ways to do that correctly. Instead, these values are just used to help you navigate while digging into analyses. However, we may later use these values to re-score outputs or fine-tune your models."},"facets":{"anyOf":[{"additionalProperties":{"type":["string","null"]},"properties":{},"type":"object"},{"type":"null"}]},"id":{"description":"A unique identifier for the project logs event. If you don't provide one, Braintrust will generate one for you","type":"string"},"input":{"description":"The arguments that uniquely define a user input (an arbitrary, JSON serializable object)."},"is_root":{"description":"Whether this span is a root span","type":["boolean","null"]},"log_id":{"const":"g","description":"A literal 'g' which identifies the log as a project log","type":"string"},"metadata":{"anyOf":[{"additionalProperties":{},"properties":{"model":{"description":"The model used for this example","type":["string","null"]}},"type":"object"},{"type":"null"}]},"metrics":{"anyOf":[{"additionalProperties":{"type":"number"},"properties":{"caller_filename":{"description":"This metric is deprecated"},"caller_functionname":{"description":"This metric is deprecated"},"caller_lineno":{"description":"This metric is deprecated"},"completion_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"end":{"description":"A unix timestamp recording when the section of code which produced the project logs event finished","type":["number","null"]},"prompt_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]},"start":{"description":"A unix timestamp recording when the section of code which produced the project logs event started","type":["number","null"]},"tokens":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"org_id":{"description":"Unique id for the organization that the project belongs under","format":"uuid","type":"string"},"origin":{"anyOf":[{"description":"Reference to the original object and event this was copied from.","properties":{"_xact_id":{"description":"Transaction ID of the original event.","type":["string","null"]},"created":{"description":"Created timestamp of the original event. Used to help sort in the UI","type":["string","null"]},"id":{"description":"ID of the original event.","type":"string"},"object_id":{"description":"ID of the object the event is originating from.","format":"uuid","type":"string"},"object_type":{"description":"Type of the object the event is originating from.","enum":["project_logs","experiment","dataset","prompt","function","prompt_session"],"type":"string"}},"required":["object_type","object_id","id"],"type":"object"},{"type":"null"}]},"output":{"description":"The output of your application, including post-processing (an arbitrary, JSON serializable object), that allows you to determine whether the result is correct or not. For example, in an app that generates SQL queries, the `output` should be the _result_ of the SQL query generated by the model, not the query itself, because there may be multiple valid queries that answer a single question."},"project_id":{"description":"Unique identifier for the project","format":"uuid","type":"string"},"root_span_id":{"description":"A unique identifier for the trace this project logs event belongs to","type":"string"},"scores":{"anyOf":[{"additionalProperties":{"anyOf":[{"maximum":1,"minimum":0,"type":"number"},{"type":"null"}]},"properties":{},"type":"object"},{"type":"null"}]},"span_attributes":{"anyOf":[{"additionalProperties":{},"description":"Human-identifying attributes of the span, such as name, type, etc.","properties":{"name":{"description":"Name of the span, for display purposes only","type":["string","null"]},"purpose":{"anyOf":[{"enum":["scorer"],"type":"string"},{"type":"null"}]},"type":{"anyOf":[{"enum":["llm","score","function","eval","task","tool","automation","facet","preprocessor","classifier","review"],"type":"string"},{"type":"null"}]}},"type":"object"},{"type":"null"}]},"span_id":{"description":"A unique identifier used to link different project logs events together as part of a full trace. See the [tracing guide](https://www.braintrust.dev/docs/instrument) for full details on tracing","type":"string"},"span_parents":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]},"tags":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}]}}}},"realtime_state":{"type":"on","minimum_xact_id":"1000197472074645319","read_bytes":0,"actual_xact_id":"1000197472074645319"},"freshness_state":{"last_processed_xact_id":"1000197472074645319","last_considered_xact_id":"1000197472074645319"},"warnings":[]} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/v1_experiment-5d684800a6fd.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/v1_experiment-5d684800a6fd.json index 4831bf0a..a6a1b184 100644 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/v1_experiment-5d684800a6fd.json +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/v1_experiment-5d684800a6fd.json @@ -1 +1 @@ -{"objects":[{"id":"c7e6245d-2f5b-434b-8f9f-3a27df8e72f8","project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","name":"java-experiment-repro-1b631ecf","description":null,"created":"2026-07-07T17:13:43.680Z","repo_info":null,"commit":null,"base_exp_id":null,"deleted_at":null,"dataset_id":null,"dataset_version":null,"internal_metadata":null,"parameters_id":null,"parameters_version":null,"public":false,"user_id":"a5ca7f9c-bf20-40c4-a82b-5c992f6a38f5","metadata":null,"tags":null},{"id":"d735217f-e589-4a3f-89ac-9f8d8ba2de94","project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","name":"java-experiment-repro-58dd09a5","description":null,"created":"2026-07-07T10:03:00.570Z","repo_info":null,"commit":null,"base_exp_id":null,"deleted_at":null,"dataset_id":null,"dataset_version":null,"internal_metadata":null,"parameters_id":null,"parameters_version":null,"public":false,"user_id":"a5ca7f9c-bf20-40c4-a82b-5c992f6a38f5","metadata":null,"tags":null},{"id":"58698f3b-b2c0-427d-9899-a7ab0fa4a340","project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","name":"java-experiment-repro-a22d3846","description":null,"created":"2026-07-07T08:52:10.224Z","repo_info":null,"commit":null,"base_exp_id":null,"deleted_at":null,"dataset_id":null,"dataset_version":null,"internal_metadata":null,"parameters_id":null,"parameters_version":null,"public":false,"user_id":"a5ca7f9c-bf20-40c4-a82b-5c992f6a38f5","metadata":null,"tags":null},{"id":"1b42495c-7913-4180-b694-354eebd24953","project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","name":"java-experiment-repro-1c72da01","description":null,"created":"2026-07-07T08:43:51.242Z","repo_info":null,"commit":null,"base_exp_id":null,"deleted_at":null,"dataset_id":null,"dataset_version":null,"internal_metadata":null,"parameters_id":null,"parameters_version":null,"public":false,"user_id":"a5ca7f9c-bf20-40c4-a82b-5c992f6a38f5","metadata":null,"tags":null},{"id":"b5a445c3-62a4-43c2-a5b9-2b6cf5e0f8fd","project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","name":"java-experiment-repro-c5320f54","description":null,"created":"2026-07-07T08:38:50.721Z","repo_info":null,"commit":null,"base_exp_id":null,"deleted_at":null,"dataset_id":null,"dataset_version":null,"internal_metadata":null,"parameters_id":null,"parameters_version":null,"public":false,"user_id":"a5ca7f9c-bf20-40c4-a82b-5c992f6a38f5","metadata":null,"tags":null},{"id":"4040d603-cf4c-4297-b06e-e1ad414dd51c","project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","name":"java-experiment-repro-5aa28965","description":null,"created":"2026-07-07T08:26:44.511Z","repo_info":null,"commit":null,"base_exp_id":null,"deleted_at":null,"dataset_id":null,"dataset_version":null,"internal_metadata":null,"parameters_id":null,"parameters_version":null,"public":false,"user_id":"a5ca7f9c-bf20-40c4-a82b-5c992f6a38f5","metadata":null,"tags":null},{"id":"8cdcacdb-ba75-438a-b85b-eaa8c0abe72f","project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","name":"java-experiment-repro-ebf2c35b","description":null,"created":"2026-07-07T08:26:08.435Z","repo_info":null,"commit":null,"base_exp_id":null,"deleted_at":null,"dataset_id":null,"dataset_version":null,"internal_metadata":null,"parameters_id":null,"parameters_version":null,"public":false,"user_id":"a5ca7f9c-bf20-40c4-a82b-5c992f6a38f5","metadata":null,"tags":null},{"id":"71b9a76a-5b03-4f7b-9468-6727bf95a3f8","project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","name":"java-experiment-repro-84b46112","description":null,"created":"2026-07-07T08:19:17.591Z","repo_info":null,"commit":null,"base_exp_id":null,"deleted_at":null,"dataset_id":null,"dataset_version":null,"internal_metadata":null,"parameters_id":null,"parameters_version":null,"public":false,"user_id":"a5ca7f9c-bf20-40c4-a82b-5c992f6a38f5","metadata":null,"tags":null},{"id":"123473a3-e1af-4cca-a9d3-b8551a959f61","project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","name":"java-experiment-repro-f6c2c15a","description":null,"created":"2026-07-01T17:29:14.164Z","repo_info":null,"commit":null,"base_exp_id":null,"deleted_at":null,"dataset_id":null,"dataset_version":null,"internal_metadata":null,"parameters_id":null,"parameters_version":null,"public":false,"user_id":"a5ca7f9c-bf20-40c4-a82b-5c992f6a38f5","metadata":null,"tags":null},{"id":"843f9c69-c253-426e-8a4f-2a600a7d86eb","project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","name":"java-experiment-repro-3d7f44c1","description":null,"created":"2026-06-30T18:05:15.566Z","repo_info":null,"commit":null,"base_exp_id":null,"deleted_at":null,"dataset_id":null,"dataset_version":null,"internal_metadata":null,"parameters_id":null,"parameters_version":null,"public":false,"user_id":"a5ca7f9c-bf20-40c4-a82b-5c992f6a38f5","metadata":null,"tags":null},{"id":"7203d22b-9865-422a-b3ef-05c7799105ec","project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","name":"java-experiment-repro-e052daa4","description":null,"created":"2026-06-30T18:03:32.351Z","repo_info":null,"commit":null,"base_exp_id":null,"deleted_at":null,"dataset_id":null,"dataset_version":null,"internal_metadata":null,"parameters_id":null,"parameters_version":null,"public":false,"user_id":"a5ca7f9c-bf20-40c4-a82b-5c992f6a38f5","metadata":null,"tags":null},{"id":"0e99bc56-4572-4a53-900e-10a3cbec1b3f","project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","name":"java-experiment-repro","description":null,"created":"2026-06-29T23:35:05.511Z","repo_info":null,"commit":null,"base_exp_id":null,"deleted_at":null,"dataset_id":null,"dataset_version":null,"internal_metadata":null,"parameters_id":null,"parameters_version":null,"public":false,"user_id":"a5ca7f9c-bf20-40c4-a82b-5c992f6a38f5","metadata":null,"tags":null},{"id":"129eb154-c227-43f4-a549-35bd3f281bd9","project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","name":"classifier-error-eval","description":null,"created":"2026-05-27T10:14:02.504Z","repo_info":{},"commit":null,"base_exp_id":null,"deleted_at":null,"dataset_id":null,"dataset_version":null,"internal_metadata":null,"parameters_id":null,"parameters_version":null,"public":false,"user_id":"08e3988c-e05c-4324-8763-8998a5b39755","metadata":null,"tags":null},{"id":"3d17f6cf-5729-44c9-8dcc-b95ab9c5f0f4","project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","name":"default-name-eval","description":null,"created":"2026-05-27T10:13:57.484Z","repo_info":{},"commit":null,"base_exp_id":null,"deleted_at":null,"dataset_id":null,"dataset_version":null,"internal_metadata":null,"parameters_id":null,"parameters_version":null,"public":false,"user_id":"08e3988c-e05c-4324-8763-8998a5b39755","metadata":null,"tags":null},{"id":"bda48716-d8cc-406b-aed1-10ca29b511e5","project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","name":"classifier-only-eval","description":null,"created":"2026-05-27T10:13:52.580Z","repo_info":{},"commit":null,"base_exp_id":null,"deleted_at":null,"dataset_id":null,"dataset_version":null,"internal_metadata":null,"parameters_id":null,"parameters_version":null,"public":false,"user_id":"08e3988c-e05c-4324-8763-8998a5b39755","metadata":null,"tags":null},{"id":"bd13b6ad-0fb2-4477-b407-0aa58127586e","project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","name":"scorer-and-classifier-eval","description":null,"created":"2026-05-27T10:13:48.702Z","repo_info":{},"commit":null,"base_exp_id":null,"deleted_at":null,"dataset_id":null,"dataset_version":null,"internal_metadata":null,"parameters_id":null,"parameters_version":null,"public":false,"user_id":"08e3988c-e05c-4324-8763-8998a5b39755","metadata":null,"tags":null},{"id":"ed5735fb-b23b-4522-9b4f-546bcae35eae","project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","name":"multi-label-eval","description":null,"created":"2026-05-27T10:13:46.338Z","repo_info":{},"commit":null,"base_exp_id":null,"deleted_at":null,"dataset_id":null,"dataset_version":null,"internal_metadata":null,"parameters_id":null,"parameters_version":null,"public":false,"user_id":"08e3988c-e05c-4324-8763-8998a5b39755","metadata":null,"tags":null},{"id":"913d3725-e46c-4229-9f60-b2d09f65328e","project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","name":"unit-test-eval-task-error","description":null,"created":"2026-05-12T19:58:49.966Z","repo_info":{},"commit":null,"base_exp_id":null,"deleted_at":null,"dataset_id":null,"dataset_version":null,"internal_metadata":null,"parameters_id":null,"parameters_version":null,"public":false,"user_id":"a5ca7f9c-bf20-40c4-a82b-5c992f6a38f5","metadata":null,"tags":null},{"id":"96fa3a4a-d448-4db0-900f-11d607cd7603","project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","name":"unit-test-eval-experiment-tags-metadata","description":null,"created":"2026-05-12T19:58:44.095Z","repo_info":{},"commit":null,"base_exp_id":null,"deleted_at":null,"dataset_id":null,"dataset_version":null,"internal_metadata":null,"parameters_id":null,"parameters_version":null,"public":false,"user_id":"a5ca7f9c-bf20-40c4-a82b-5c992f6a38f5","metadata":{"model":"gpt-4o","version":"1.0"},"tags":["java-sdk","unit-test"]},{"id":"b846849a-e3a3-4145-beba-ab3daff9934a","project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","name":"unit-test-eval-scorer-error","description":null,"created":"2026-05-12T19:58:41.895Z","repo_info":{},"commit":null,"base_exp_id":null,"deleted_at":null,"dataset_id":null,"dataset_version":null,"internal_metadata":null,"parameters_id":null,"parameters_version":null,"public":false,"user_id":"a5ca7f9c-bf20-40c4-a82b-5c992f6a38f5","metadata":null,"tags":null},{"id":"ae9825b9-5ba3-4f59-8a6c-e301161da188","project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","name":"unit-test-eval-origin","description":null,"created":"2026-05-12T19:58:39.019Z","repo_info":{},"commit":null,"base_exp_id":null,"deleted_at":null,"dataset_id":null,"dataset_version":null,"internal_metadata":{"experiment_has_rows":true},"parameters_id":null,"parameters_version":null,"public":false,"user_id":"a5ca7f9c-bf20-40c4-a82b-5c992f6a38f5","metadata":null,"tags":null},{"id":"96767844-433f-4185-969d-003944ffa9b3","project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","name":"unit-test-eval","description":null,"created":"2026-05-12T19:58:37.429Z","repo_info":{},"commit":null,"base_exp_id":null,"deleted_at":null,"dataset_id":null,"dataset_version":null,"internal_metadata":null,"parameters_id":null,"parameters_version":null,"public":false,"user_id":"a5ca7f9c-bf20-40c4-a82b-5c992f6a38f5","metadata":null,"tags":null},{"id":"2eeb9f7d-9727-4da0-8376-0eaeb192159c","project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","name":"test-dataset-linking","description":null,"created":"2026-05-12T19:58:33.891Z","repo_info":{},"commit":null,"base_exp_id":null,"deleted_at":null,"dataset_id":"b9356d7d-1a96-4f96-9d41-276e9ebd6afe","dataset_version":"1000197155625133059","internal_metadata":{"experiment_has_rows":true},"parameters_id":null,"parameters_version":null,"public":false,"user_id":"a5ca7f9c-bf20-40c4-a82b-5c992f6a38f5","metadata":null,"tags":null},{"id":"1c1e1014-c847-4575-a4af-efd171567e92","project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","name":"unit-test-eval-tags-metadata","description":null,"created":"2026-05-12T19:58:29.575Z","repo_info":{},"commit":null,"base_exp_id":null,"deleted_at":null,"dataset_id":null,"dataset_version":null,"internal_metadata":null,"parameters_id":null,"parameters_version":null,"public":false,"user_id":"a5ca7f9c-bf20-40c4-a82b-5c992f6a38f5","metadata":null,"tags":null}]} \ No newline at end of file +{"objects":[{"id":"f4d0ccb4-cd54-4ffd-9bcc-38cc9bb9ba9f","project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","name":"java-experiment-repro-11a04e4f","description":null,"created":"2026-08-31T17:34:59.301Z","repo_info":null,"commit":null,"base_exp_id":null,"deleted_at":null,"dataset_id":null,"dataset_version":null,"internal_metadata":null,"parameters_id":null,"parameters_version":null,"public":false,"user_id":"a5ca7f9c-bf20-40c4-a82b-5c992f6a38f5","metadata":null,"tags":null},{"id":"22b3ac64-d48a-46ab-8174-b549861ca093","project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","name":"dotnet-dataset-linkage-check","description":null,"created":"2026-08-26T02:08:31.025Z","repo_info":{"commit":"629a0a85a900cc30fd0a551da3fde73b7a88eb85","branch":"ark/SDK-90-remote-datasets","dirty":true,"author_name":"Andrew Kent","author_email":"andrew@braintrustdata.com","commit_message":"wip","commit_time":"2026-08-25T19:58:02-06:00"},"commit":"629a0a85a900cc30fd0a551da3fde73b7a88eb85","base_exp_id":null,"deleted_at":null,"dataset_id":"b9356d7d-1a96-4f96-9d41-276e9ebd6afe","dataset_version":"1000197155625133059","internal_metadata":null,"parameters_id":null,"parameters_version":null,"public":false,"user_id":"a5ca7f9c-bf20-40c4-a82b-5c992f6a38f5","metadata":null,"tags":null},{"id":"550fc2c0-28d0-4862-9539-6910f1ec65f5","project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","name":"food-echo-eval","description":null,"created":"2026-08-26T02:06:32.917Z","repo_info":{"commit":"629a0a85a900cc30fd0a551da3fde73b7a88eb85","branch":"ark/SDK-90-remote-datasets","dirty":true,"author_name":"Andrew Kent","author_email":"andrew@braintrustdata.com","commit_message":"wip","commit_time":"2026-08-25T19:58:02-06:00"},"commit":"629a0a85a900cc30fd0a551da3fde73b7a88eb85","base_exp_id":null,"deleted_at":null,"dataset_id":null,"dataset_version":null,"internal_metadata":null,"parameters_id":null,"parameters_version":null,"public":false,"user_id":"a5ca7f9c-bf20-40c4-a82b-5c992f6a38f5","metadata":null,"tags":null},{"id":"3061a4e5-bfa5-4e84-a9c4-14fbe08bd653","project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","name":"start-test","description":null,"created":"2026-08-26T02:02:03.020Z","repo_info":null,"commit":null,"base_exp_id":null,"deleted_at":null,"dataset_id":null,"dataset_version":null,"internal_metadata":null,"parameters_id":null,"parameters_version":null,"public":false,"user_id":"a5ca7f9c-bf20-40c4-a82b-5c992f6a38f5","metadata":null,"tags":null},{"id":"e48d6ebf-42f0-45fa-b91c-8ce73f04f9f4","project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","name":"failing-task-test","description":null,"created":"2026-08-26T02:02:02.086Z","repo_info":null,"commit":null,"base_exp_id":null,"deleted_at":null,"dataset_id":null,"dataset_version":null,"internal_metadata":null,"parameters_id":null,"parameters_version":null,"public":false,"user_id":"a5ca7f9c-bf20-40c4-a82b-5c992f6a38f5","metadata":null,"tags":null},{"id":"e7c0ab1f-9757-45cc-84f0-cb271d9bc398","project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","name":"concurrency-test","description":null,"created":"2026-08-26T02:02:01.048Z","repo_info":null,"commit":null,"base_exp_id":null,"deleted_at":null,"dataset_id":null,"dataset_version":null,"internal_metadata":null,"parameters_id":null,"parameters_version":null,"public":false,"user_id":"a5ca7f9c-bf20-40c4-a82b-5c992f6a38f5","metadata":null,"tags":null},{"id":"a2899b42-b4c6-4189-94ec-ae309cb28bd9","project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","name":"serial-test","description":null,"created":"2026-08-26T02:02:00.029Z","repo_info":null,"commit":null,"base_exp_id":null,"deleted_at":null,"dataset_id":null,"dataset_version":null,"internal_metadata":null,"parameters_id":null,"parameters_version":null,"public":false,"user_id":"a5ca7f9c-bf20-40c4-a82b-5c992f6a38f5","metadata":null,"tags":null},{"id":"37adfc69-2ad9-4c38-ad1e-fe8d3294add5","project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","name":"max-concurrency-test","description":null,"created":"2026-08-26T02:01:59.022Z","repo_info":null,"commit":null,"base_exp_id":null,"deleted_at":null,"dataset_id":null,"dataset_version":null,"internal_metadata":null,"parameters_id":null,"parameters_version":null,"public":false,"user_id":"a5ca7f9c-bf20-40c4-a82b-5c992f6a38f5","metadata":null,"tags":null},{"id":"7f8cb336-e1bc-4d4e-9541-03c4dee2e1b3","project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","name":"byo-executor-test","description":null,"created":"2026-08-26T02:01:58.096Z","repo_info":null,"commit":null,"base_exp_id":null,"deleted_at":null,"dataset_id":null,"dataset_version":null,"internal_metadata":null,"parameters_id":null,"parameters_version":null,"public":false,"user_id":"a5ca7f9c-bf20-40c4-a82b-5c992f6a38f5","metadata":null,"tags":null},{"id":"73e8737d-a8eb-4ab1-b049-a3338c63eab3","project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","name":"bad-score-test","description":null,"created":"2026-08-26T02:01:57.012Z","repo_info":null,"commit":null,"base_exp_id":null,"deleted_at":null,"dataset_id":null,"dataset_version":null,"internal_metadata":null,"parameters_id":null,"parameters_version":null,"public":false,"user_id":"a5ca7f9c-bf20-40c4-a82b-5c992f6a38f5","metadata":null,"tags":null},{"id":"22d0cab2-3fe9-4f43-8441-77d161df91be","project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","name":"java-experiment-repro-6cdc023b","description":null,"created":"2026-08-20T06:22:10.527Z","repo_info":null,"commit":null,"base_exp_id":null,"deleted_at":null,"dataset_id":null,"dataset_version":null,"internal_metadata":null,"parameters_id":null,"parameters_version":null,"public":false,"user_id":"a5ca7f9c-bf20-40c4-a82b-5c992f6a38f5","metadata":null,"tags":null},{"id":"fcf47199-7465-4573-9e0c-8f1476ab26fc","project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","name":"java-experiment-repro-6f1f07a2","description":null,"created":"2026-08-20T06:18:52.470Z","repo_info":null,"commit":null,"base_exp_id":null,"deleted_at":null,"dataset_id":null,"dataset_version":null,"internal_metadata":null,"parameters_id":null,"parameters_version":null,"public":false,"user_id":"a5ca7f9c-bf20-40c4-a82b-5c992f6a38f5","metadata":null,"tags":null},{"id":"c7e6245d-2f5b-434b-8f9f-3a27df8e72f8","project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","name":"java-experiment-repro-1b631ecf","description":null,"created":"2026-07-07T17:13:43.680Z","repo_info":null,"commit":null,"base_exp_id":null,"deleted_at":null,"dataset_id":null,"dataset_version":null,"internal_metadata":null,"parameters_id":null,"parameters_version":null,"public":false,"user_id":"a5ca7f9c-bf20-40c4-a82b-5c992f6a38f5","metadata":null,"tags":null},{"id":"d735217f-e589-4a3f-89ac-9f8d8ba2de94","project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","name":"java-experiment-repro-58dd09a5","description":null,"created":"2026-07-07T10:03:00.570Z","repo_info":null,"commit":null,"base_exp_id":null,"deleted_at":null,"dataset_id":null,"dataset_version":null,"internal_metadata":null,"parameters_id":null,"parameters_version":null,"public":false,"user_id":"a5ca7f9c-bf20-40c4-a82b-5c992f6a38f5","metadata":null,"tags":null},{"id":"58698f3b-b2c0-427d-9899-a7ab0fa4a340","project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","name":"java-experiment-repro-a22d3846","description":null,"created":"2026-07-07T08:52:10.224Z","repo_info":null,"commit":null,"base_exp_id":null,"deleted_at":null,"dataset_id":null,"dataset_version":null,"internal_metadata":null,"parameters_id":null,"parameters_version":null,"public":false,"user_id":"a5ca7f9c-bf20-40c4-a82b-5c992f6a38f5","metadata":null,"tags":null},{"id":"1b42495c-7913-4180-b694-354eebd24953","project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","name":"java-experiment-repro-1c72da01","description":null,"created":"2026-07-07T08:43:51.242Z","repo_info":null,"commit":null,"base_exp_id":null,"deleted_at":null,"dataset_id":null,"dataset_version":null,"internal_metadata":null,"parameters_id":null,"parameters_version":null,"public":false,"user_id":"a5ca7f9c-bf20-40c4-a82b-5c992f6a38f5","metadata":null,"tags":null},{"id":"b5a445c3-62a4-43c2-a5b9-2b6cf5e0f8fd","project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","name":"java-experiment-repro-c5320f54","description":null,"created":"2026-07-07T08:38:50.721Z","repo_info":null,"commit":null,"base_exp_id":null,"deleted_at":null,"dataset_id":null,"dataset_version":null,"internal_metadata":null,"parameters_id":null,"parameters_version":null,"public":false,"user_id":"a5ca7f9c-bf20-40c4-a82b-5c992f6a38f5","metadata":null,"tags":null},{"id":"4040d603-cf4c-4297-b06e-e1ad414dd51c","project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","name":"java-experiment-repro-5aa28965","description":null,"created":"2026-07-07T08:26:44.511Z","repo_info":null,"commit":null,"base_exp_id":null,"deleted_at":null,"dataset_id":null,"dataset_version":null,"internal_metadata":null,"parameters_id":null,"parameters_version":null,"public":false,"user_id":"a5ca7f9c-bf20-40c4-a82b-5c992f6a38f5","metadata":null,"tags":null},{"id":"8cdcacdb-ba75-438a-b85b-eaa8c0abe72f","project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","name":"java-experiment-repro-ebf2c35b","description":null,"created":"2026-07-07T08:26:08.435Z","repo_info":null,"commit":null,"base_exp_id":null,"deleted_at":null,"dataset_id":null,"dataset_version":null,"internal_metadata":null,"parameters_id":null,"parameters_version":null,"public":false,"user_id":"a5ca7f9c-bf20-40c4-a82b-5c992f6a38f5","metadata":null,"tags":null},{"id":"71b9a76a-5b03-4f7b-9468-6727bf95a3f8","project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","name":"java-experiment-repro-84b46112","description":null,"created":"2026-07-07T08:19:17.591Z","repo_info":null,"commit":null,"base_exp_id":null,"deleted_at":null,"dataset_id":null,"dataset_version":null,"internal_metadata":null,"parameters_id":null,"parameters_version":null,"public":false,"user_id":"a5ca7f9c-bf20-40c4-a82b-5c992f6a38f5","metadata":null,"tags":null},{"id":"123473a3-e1af-4cca-a9d3-b8551a959f61","project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","name":"java-experiment-repro-f6c2c15a","description":null,"created":"2026-07-01T17:29:14.164Z","repo_info":null,"commit":null,"base_exp_id":null,"deleted_at":null,"dataset_id":null,"dataset_version":null,"internal_metadata":null,"parameters_id":null,"parameters_version":null,"public":false,"user_id":"a5ca7f9c-bf20-40c4-a82b-5c992f6a38f5","metadata":null,"tags":null},{"id":"843f9c69-c253-426e-8a4f-2a600a7d86eb","project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","name":"java-experiment-repro-3d7f44c1","description":null,"created":"2026-06-30T18:05:15.566Z","repo_info":null,"commit":null,"base_exp_id":null,"deleted_at":null,"dataset_id":null,"dataset_version":null,"internal_metadata":null,"parameters_id":null,"parameters_version":null,"public":false,"user_id":"a5ca7f9c-bf20-40c4-a82b-5c992f6a38f5","metadata":null,"tags":null},{"id":"7203d22b-9865-422a-b3ef-05c7799105ec","project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","name":"java-experiment-repro-e052daa4","description":null,"created":"2026-06-30T18:03:32.351Z","repo_info":null,"commit":null,"base_exp_id":null,"deleted_at":null,"dataset_id":null,"dataset_version":null,"internal_metadata":null,"parameters_id":null,"parameters_version":null,"public":false,"user_id":"a5ca7f9c-bf20-40c4-a82b-5c992f6a38f5","metadata":null,"tags":null},{"id":"0e99bc56-4572-4a53-900e-10a3cbec1b3f","project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","name":"java-experiment-repro","description":null,"created":"2026-06-29T23:35:05.511Z","repo_info":null,"commit":null,"base_exp_id":null,"deleted_at":null,"dataset_id":null,"dataset_version":null,"internal_metadata":null,"parameters_id":null,"parameters_version":null,"public":false,"user_id":"a5ca7f9c-bf20-40c4-a82b-5c992f6a38f5","metadata":null,"tags":null},{"id":"129eb154-c227-43f4-a549-35bd3f281bd9","project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","name":"classifier-error-eval","description":null,"created":"2026-05-27T10:14:02.504Z","repo_info":{},"commit":null,"base_exp_id":null,"deleted_at":null,"dataset_id":null,"dataset_version":null,"internal_metadata":null,"parameters_id":null,"parameters_version":null,"public":false,"user_id":"08e3988c-e05c-4324-8763-8998a5b39755","metadata":null,"tags":null},{"id":"3d17f6cf-5729-44c9-8dcc-b95ab9c5f0f4","project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","name":"default-name-eval","description":null,"created":"2026-05-27T10:13:57.484Z","repo_info":{},"commit":null,"base_exp_id":null,"deleted_at":null,"dataset_id":null,"dataset_version":null,"internal_metadata":null,"parameters_id":null,"parameters_version":null,"public":false,"user_id":"08e3988c-e05c-4324-8763-8998a5b39755","metadata":null,"tags":null},{"id":"bda48716-d8cc-406b-aed1-10ca29b511e5","project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","name":"classifier-only-eval","description":null,"created":"2026-05-27T10:13:52.580Z","repo_info":{},"commit":null,"base_exp_id":null,"deleted_at":null,"dataset_id":null,"dataset_version":null,"internal_metadata":null,"parameters_id":null,"parameters_version":null,"public":false,"user_id":"08e3988c-e05c-4324-8763-8998a5b39755","metadata":null,"tags":null},{"id":"bd13b6ad-0fb2-4477-b407-0aa58127586e","project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","name":"scorer-and-classifier-eval","description":null,"created":"2026-05-27T10:13:48.702Z","repo_info":{},"commit":null,"base_exp_id":null,"deleted_at":null,"dataset_id":null,"dataset_version":null,"internal_metadata":null,"parameters_id":null,"parameters_version":null,"public":false,"user_id":"08e3988c-e05c-4324-8763-8998a5b39755","metadata":null,"tags":null},{"id":"ed5735fb-b23b-4522-9b4f-546bcae35eae","project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","name":"multi-label-eval","description":null,"created":"2026-05-27T10:13:46.338Z","repo_info":{},"commit":null,"base_exp_id":null,"deleted_at":null,"dataset_id":null,"dataset_version":null,"internal_metadata":null,"parameters_id":null,"parameters_version":null,"public":false,"user_id":"08e3988c-e05c-4324-8763-8998a5b39755","metadata":null,"tags":null},{"id":"913d3725-e46c-4229-9f60-b2d09f65328e","project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","name":"unit-test-eval-task-error","description":null,"created":"2026-05-12T19:58:49.966Z","repo_info":{},"commit":null,"base_exp_id":null,"deleted_at":null,"dataset_id":null,"dataset_version":null,"internal_metadata":null,"parameters_id":null,"parameters_version":null,"public":false,"user_id":"a5ca7f9c-bf20-40c4-a82b-5c992f6a38f5","metadata":null,"tags":null},{"id":"96fa3a4a-d448-4db0-900f-11d607cd7603","project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","name":"unit-test-eval-experiment-tags-metadata","description":null,"created":"2026-05-12T19:58:44.095Z","repo_info":{},"commit":null,"base_exp_id":null,"deleted_at":null,"dataset_id":null,"dataset_version":null,"internal_metadata":null,"parameters_id":null,"parameters_version":null,"public":false,"user_id":"a5ca7f9c-bf20-40c4-a82b-5c992f6a38f5","metadata":{"model":"gpt-4o","version":"1.0"},"tags":["java-sdk","unit-test"]},{"id":"b846849a-e3a3-4145-beba-ab3daff9934a","project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","name":"unit-test-eval-scorer-error","description":null,"created":"2026-05-12T19:58:41.895Z","repo_info":{},"commit":null,"base_exp_id":null,"deleted_at":null,"dataset_id":null,"dataset_version":null,"internal_metadata":null,"parameters_id":null,"parameters_version":null,"public":false,"user_id":"a5ca7f9c-bf20-40c4-a82b-5c992f6a38f5","metadata":null,"tags":null},{"id":"ae9825b9-5ba3-4f59-8a6c-e301161da188","project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","name":"unit-test-eval-origin","description":null,"created":"2026-05-12T19:58:39.019Z","repo_info":{},"commit":null,"base_exp_id":null,"deleted_at":null,"dataset_id":null,"dataset_version":null,"internal_metadata":{"experiment_has_rows":true},"parameters_id":null,"parameters_version":null,"public":false,"user_id":"a5ca7f9c-bf20-40c4-a82b-5c992f6a38f5","metadata":null,"tags":null},{"id":"96767844-433f-4185-969d-003944ffa9b3","project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","name":"unit-test-eval","description":null,"created":"2026-05-12T19:58:37.429Z","repo_info":{},"commit":null,"base_exp_id":null,"deleted_at":null,"dataset_id":null,"dataset_version":null,"internal_metadata":null,"parameters_id":null,"parameters_version":null,"public":false,"user_id":"a5ca7f9c-bf20-40c4-a82b-5c992f6a38f5","metadata":null,"tags":null},{"id":"2eeb9f7d-9727-4da0-8376-0eaeb192159c","project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","name":"test-dataset-linking","description":null,"created":"2026-05-12T19:58:33.891Z","repo_info":{},"commit":null,"base_exp_id":null,"deleted_at":null,"dataset_id":"b9356d7d-1a96-4f96-9d41-276e9ebd6afe","dataset_version":"1000197155625133059","internal_metadata":{"experiment_has_rows":true},"parameters_id":null,"parameters_version":null,"public":false,"user_id":"a5ca7f9c-bf20-40c4-a82b-5c992f6a38f5","metadata":null,"tags":null},{"id":"1c1e1014-c847-4575-a4af-efd171567e92","project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","name":"unit-test-eval-tags-metadata","description":null,"created":"2026-05-12T19:58:29.575Z","repo_info":{},"commit":null,"base_exp_id":null,"deleted_at":null,"dataset_id":null,"dataset_version":null,"internal_metadata":null,"parameters_id":null,"parameters_version":null,"public":false,"user_id":"a5ca7f9c-bf20-40c4-a82b-5c992f6a38f5","metadata":null,"tags":null}]} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/v1_experiment-9d06cabca0f6.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/v1_experiment-9d06cabca0f6.json index 4831bf0a..a6a1b184 100644 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/v1_experiment-9d06cabca0f6.json +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/v1_experiment-9d06cabca0f6.json @@ -1 +1 @@ -{"objects":[{"id":"c7e6245d-2f5b-434b-8f9f-3a27df8e72f8","project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","name":"java-experiment-repro-1b631ecf","description":null,"created":"2026-07-07T17:13:43.680Z","repo_info":null,"commit":null,"base_exp_id":null,"deleted_at":null,"dataset_id":null,"dataset_version":null,"internal_metadata":null,"parameters_id":null,"parameters_version":null,"public":false,"user_id":"a5ca7f9c-bf20-40c4-a82b-5c992f6a38f5","metadata":null,"tags":null},{"id":"d735217f-e589-4a3f-89ac-9f8d8ba2de94","project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","name":"java-experiment-repro-58dd09a5","description":null,"created":"2026-07-07T10:03:00.570Z","repo_info":null,"commit":null,"base_exp_id":null,"deleted_at":null,"dataset_id":null,"dataset_version":null,"internal_metadata":null,"parameters_id":null,"parameters_version":null,"public":false,"user_id":"a5ca7f9c-bf20-40c4-a82b-5c992f6a38f5","metadata":null,"tags":null},{"id":"58698f3b-b2c0-427d-9899-a7ab0fa4a340","project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","name":"java-experiment-repro-a22d3846","description":null,"created":"2026-07-07T08:52:10.224Z","repo_info":null,"commit":null,"base_exp_id":null,"deleted_at":null,"dataset_id":null,"dataset_version":null,"internal_metadata":null,"parameters_id":null,"parameters_version":null,"public":false,"user_id":"a5ca7f9c-bf20-40c4-a82b-5c992f6a38f5","metadata":null,"tags":null},{"id":"1b42495c-7913-4180-b694-354eebd24953","project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","name":"java-experiment-repro-1c72da01","description":null,"created":"2026-07-07T08:43:51.242Z","repo_info":null,"commit":null,"base_exp_id":null,"deleted_at":null,"dataset_id":null,"dataset_version":null,"internal_metadata":null,"parameters_id":null,"parameters_version":null,"public":false,"user_id":"a5ca7f9c-bf20-40c4-a82b-5c992f6a38f5","metadata":null,"tags":null},{"id":"b5a445c3-62a4-43c2-a5b9-2b6cf5e0f8fd","project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","name":"java-experiment-repro-c5320f54","description":null,"created":"2026-07-07T08:38:50.721Z","repo_info":null,"commit":null,"base_exp_id":null,"deleted_at":null,"dataset_id":null,"dataset_version":null,"internal_metadata":null,"parameters_id":null,"parameters_version":null,"public":false,"user_id":"a5ca7f9c-bf20-40c4-a82b-5c992f6a38f5","metadata":null,"tags":null},{"id":"4040d603-cf4c-4297-b06e-e1ad414dd51c","project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","name":"java-experiment-repro-5aa28965","description":null,"created":"2026-07-07T08:26:44.511Z","repo_info":null,"commit":null,"base_exp_id":null,"deleted_at":null,"dataset_id":null,"dataset_version":null,"internal_metadata":null,"parameters_id":null,"parameters_version":null,"public":false,"user_id":"a5ca7f9c-bf20-40c4-a82b-5c992f6a38f5","metadata":null,"tags":null},{"id":"8cdcacdb-ba75-438a-b85b-eaa8c0abe72f","project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","name":"java-experiment-repro-ebf2c35b","description":null,"created":"2026-07-07T08:26:08.435Z","repo_info":null,"commit":null,"base_exp_id":null,"deleted_at":null,"dataset_id":null,"dataset_version":null,"internal_metadata":null,"parameters_id":null,"parameters_version":null,"public":false,"user_id":"a5ca7f9c-bf20-40c4-a82b-5c992f6a38f5","metadata":null,"tags":null},{"id":"71b9a76a-5b03-4f7b-9468-6727bf95a3f8","project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","name":"java-experiment-repro-84b46112","description":null,"created":"2026-07-07T08:19:17.591Z","repo_info":null,"commit":null,"base_exp_id":null,"deleted_at":null,"dataset_id":null,"dataset_version":null,"internal_metadata":null,"parameters_id":null,"parameters_version":null,"public":false,"user_id":"a5ca7f9c-bf20-40c4-a82b-5c992f6a38f5","metadata":null,"tags":null},{"id":"123473a3-e1af-4cca-a9d3-b8551a959f61","project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","name":"java-experiment-repro-f6c2c15a","description":null,"created":"2026-07-01T17:29:14.164Z","repo_info":null,"commit":null,"base_exp_id":null,"deleted_at":null,"dataset_id":null,"dataset_version":null,"internal_metadata":null,"parameters_id":null,"parameters_version":null,"public":false,"user_id":"a5ca7f9c-bf20-40c4-a82b-5c992f6a38f5","metadata":null,"tags":null},{"id":"843f9c69-c253-426e-8a4f-2a600a7d86eb","project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","name":"java-experiment-repro-3d7f44c1","description":null,"created":"2026-06-30T18:05:15.566Z","repo_info":null,"commit":null,"base_exp_id":null,"deleted_at":null,"dataset_id":null,"dataset_version":null,"internal_metadata":null,"parameters_id":null,"parameters_version":null,"public":false,"user_id":"a5ca7f9c-bf20-40c4-a82b-5c992f6a38f5","metadata":null,"tags":null},{"id":"7203d22b-9865-422a-b3ef-05c7799105ec","project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","name":"java-experiment-repro-e052daa4","description":null,"created":"2026-06-30T18:03:32.351Z","repo_info":null,"commit":null,"base_exp_id":null,"deleted_at":null,"dataset_id":null,"dataset_version":null,"internal_metadata":null,"parameters_id":null,"parameters_version":null,"public":false,"user_id":"a5ca7f9c-bf20-40c4-a82b-5c992f6a38f5","metadata":null,"tags":null},{"id":"0e99bc56-4572-4a53-900e-10a3cbec1b3f","project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","name":"java-experiment-repro","description":null,"created":"2026-06-29T23:35:05.511Z","repo_info":null,"commit":null,"base_exp_id":null,"deleted_at":null,"dataset_id":null,"dataset_version":null,"internal_metadata":null,"parameters_id":null,"parameters_version":null,"public":false,"user_id":"a5ca7f9c-bf20-40c4-a82b-5c992f6a38f5","metadata":null,"tags":null},{"id":"129eb154-c227-43f4-a549-35bd3f281bd9","project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","name":"classifier-error-eval","description":null,"created":"2026-05-27T10:14:02.504Z","repo_info":{},"commit":null,"base_exp_id":null,"deleted_at":null,"dataset_id":null,"dataset_version":null,"internal_metadata":null,"parameters_id":null,"parameters_version":null,"public":false,"user_id":"08e3988c-e05c-4324-8763-8998a5b39755","metadata":null,"tags":null},{"id":"3d17f6cf-5729-44c9-8dcc-b95ab9c5f0f4","project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","name":"default-name-eval","description":null,"created":"2026-05-27T10:13:57.484Z","repo_info":{},"commit":null,"base_exp_id":null,"deleted_at":null,"dataset_id":null,"dataset_version":null,"internal_metadata":null,"parameters_id":null,"parameters_version":null,"public":false,"user_id":"08e3988c-e05c-4324-8763-8998a5b39755","metadata":null,"tags":null},{"id":"bda48716-d8cc-406b-aed1-10ca29b511e5","project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","name":"classifier-only-eval","description":null,"created":"2026-05-27T10:13:52.580Z","repo_info":{},"commit":null,"base_exp_id":null,"deleted_at":null,"dataset_id":null,"dataset_version":null,"internal_metadata":null,"parameters_id":null,"parameters_version":null,"public":false,"user_id":"08e3988c-e05c-4324-8763-8998a5b39755","metadata":null,"tags":null},{"id":"bd13b6ad-0fb2-4477-b407-0aa58127586e","project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","name":"scorer-and-classifier-eval","description":null,"created":"2026-05-27T10:13:48.702Z","repo_info":{},"commit":null,"base_exp_id":null,"deleted_at":null,"dataset_id":null,"dataset_version":null,"internal_metadata":null,"parameters_id":null,"parameters_version":null,"public":false,"user_id":"08e3988c-e05c-4324-8763-8998a5b39755","metadata":null,"tags":null},{"id":"ed5735fb-b23b-4522-9b4f-546bcae35eae","project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","name":"multi-label-eval","description":null,"created":"2026-05-27T10:13:46.338Z","repo_info":{},"commit":null,"base_exp_id":null,"deleted_at":null,"dataset_id":null,"dataset_version":null,"internal_metadata":null,"parameters_id":null,"parameters_version":null,"public":false,"user_id":"08e3988c-e05c-4324-8763-8998a5b39755","metadata":null,"tags":null},{"id":"913d3725-e46c-4229-9f60-b2d09f65328e","project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","name":"unit-test-eval-task-error","description":null,"created":"2026-05-12T19:58:49.966Z","repo_info":{},"commit":null,"base_exp_id":null,"deleted_at":null,"dataset_id":null,"dataset_version":null,"internal_metadata":null,"parameters_id":null,"parameters_version":null,"public":false,"user_id":"a5ca7f9c-bf20-40c4-a82b-5c992f6a38f5","metadata":null,"tags":null},{"id":"96fa3a4a-d448-4db0-900f-11d607cd7603","project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","name":"unit-test-eval-experiment-tags-metadata","description":null,"created":"2026-05-12T19:58:44.095Z","repo_info":{},"commit":null,"base_exp_id":null,"deleted_at":null,"dataset_id":null,"dataset_version":null,"internal_metadata":null,"parameters_id":null,"parameters_version":null,"public":false,"user_id":"a5ca7f9c-bf20-40c4-a82b-5c992f6a38f5","metadata":{"model":"gpt-4o","version":"1.0"},"tags":["java-sdk","unit-test"]},{"id":"b846849a-e3a3-4145-beba-ab3daff9934a","project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","name":"unit-test-eval-scorer-error","description":null,"created":"2026-05-12T19:58:41.895Z","repo_info":{},"commit":null,"base_exp_id":null,"deleted_at":null,"dataset_id":null,"dataset_version":null,"internal_metadata":null,"parameters_id":null,"parameters_version":null,"public":false,"user_id":"a5ca7f9c-bf20-40c4-a82b-5c992f6a38f5","metadata":null,"tags":null},{"id":"ae9825b9-5ba3-4f59-8a6c-e301161da188","project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","name":"unit-test-eval-origin","description":null,"created":"2026-05-12T19:58:39.019Z","repo_info":{},"commit":null,"base_exp_id":null,"deleted_at":null,"dataset_id":null,"dataset_version":null,"internal_metadata":{"experiment_has_rows":true},"parameters_id":null,"parameters_version":null,"public":false,"user_id":"a5ca7f9c-bf20-40c4-a82b-5c992f6a38f5","metadata":null,"tags":null},{"id":"96767844-433f-4185-969d-003944ffa9b3","project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","name":"unit-test-eval","description":null,"created":"2026-05-12T19:58:37.429Z","repo_info":{},"commit":null,"base_exp_id":null,"deleted_at":null,"dataset_id":null,"dataset_version":null,"internal_metadata":null,"parameters_id":null,"parameters_version":null,"public":false,"user_id":"a5ca7f9c-bf20-40c4-a82b-5c992f6a38f5","metadata":null,"tags":null},{"id":"2eeb9f7d-9727-4da0-8376-0eaeb192159c","project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","name":"test-dataset-linking","description":null,"created":"2026-05-12T19:58:33.891Z","repo_info":{},"commit":null,"base_exp_id":null,"deleted_at":null,"dataset_id":"b9356d7d-1a96-4f96-9d41-276e9ebd6afe","dataset_version":"1000197155625133059","internal_metadata":{"experiment_has_rows":true},"parameters_id":null,"parameters_version":null,"public":false,"user_id":"a5ca7f9c-bf20-40c4-a82b-5c992f6a38f5","metadata":null,"tags":null},{"id":"1c1e1014-c847-4575-a4af-efd171567e92","project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","name":"unit-test-eval-tags-metadata","description":null,"created":"2026-05-12T19:58:29.575Z","repo_info":{},"commit":null,"base_exp_id":null,"deleted_at":null,"dataset_id":null,"dataset_version":null,"internal_metadata":null,"parameters_id":null,"parameters_version":null,"public":false,"user_id":"a5ca7f9c-bf20-40c4-a82b-5c992f6a38f5","metadata":null,"tags":null}]} \ No newline at end of file +{"objects":[{"id":"f4d0ccb4-cd54-4ffd-9bcc-38cc9bb9ba9f","project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","name":"java-experiment-repro-11a04e4f","description":null,"created":"2026-08-31T17:34:59.301Z","repo_info":null,"commit":null,"base_exp_id":null,"deleted_at":null,"dataset_id":null,"dataset_version":null,"internal_metadata":null,"parameters_id":null,"parameters_version":null,"public":false,"user_id":"a5ca7f9c-bf20-40c4-a82b-5c992f6a38f5","metadata":null,"tags":null},{"id":"22b3ac64-d48a-46ab-8174-b549861ca093","project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","name":"dotnet-dataset-linkage-check","description":null,"created":"2026-08-26T02:08:31.025Z","repo_info":{"commit":"629a0a85a900cc30fd0a551da3fde73b7a88eb85","branch":"ark/SDK-90-remote-datasets","dirty":true,"author_name":"Andrew Kent","author_email":"andrew@braintrustdata.com","commit_message":"wip","commit_time":"2026-08-25T19:58:02-06:00"},"commit":"629a0a85a900cc30fd0a551da3fde73b7a88eb85","base_exp_id":null,"deleted_at":null,"dataset_id":"b9356d7d-1a96-4f96-9d41-276e9ebd6afe","dataset_version":"1000197155625133059","internal_metadata":null,"parameters_id":null,"parameters_version":null,"public":false,"user_id":"a5ca7f9c-bf20-40c4-a82b-5c992f6a38f5","metadata":null,"tags":null},{"id":"550fc2c0-28d0-4862-9539-6910f1ec65f5","project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","name":"food-echo-eval","description":null,"created":"2026-08-26T02:06:32.917Z","repo_info":{"commit":"629a0a85a900cc30fd0a551da3fde73b7a88eb85","branch":"ark/SDK-90-remote-datasets","dirty":true,"author_name":"Andrew Kent","author_email":"andrew@braintrustdata.com","commit_message":"wip","commit_time":"2026-08-25T19:58:02-06:00"},"commit":"629a0a85a900cc30fd0a551da3fde73b7a88eb85","base_exp_id":null,"deleted_at":null,"dataset_id":null,"dataset_version":null,"internal_metadata":null,"parameters_id":null,"parameters_version":null,"public":false,"user_id":"a5ca7f9c-bf20-40c4-a82b-5c992f6a38f5","metadata":null,"tags":null},{"id":"3061a4e5-bfa5-4e84-a9c4-14fbe08bd653","project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","name":"start-test","description":null,"created":"2026-08-26T02:02:03.020Z","repo_info":null,"commit":null,"base_exp_id":null,"deleted_at":null,"dataset_id":null,"dataset_version":null,"internal_metadata":null,"parameters_id":null,"parameters_version":null,"public":false,"user_id":"a5ca7f9c-bf20-40c4-a82b-5c992f6a38f5","metadata":null,"tags":null},{"id":"e48d6ebf-42f0-45fa-b91c-8ce73f04f9f4","project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","name":"failing-task-test","description":null,"created":"2026-08-26T02:02:02.086Z","repo_info":null,"commit":null,"base_exp_id":null,"deleted_at":null,"dataset_id":null,"dataset_version":null,"internal_metadata":null,"parameters_id":null,"parameters_version":null,"public":false,"user_id":"a5ca7f9c-bf20-40c4-a82b-5c992f6a38f5","metadata":null,"tags":null},{"id":"e7c0ab1f-9757-45cc-84f0-cb271d9bc398","project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","name":"concurrency-test","description":null,"created":"2026-08-26T02:02:01.048Z","repo_info":null,"commit":null,"base_exp_id":null,"deleted_at":null,"dataset_id":null,"dataset_version":null,"internal_metadata":null,"parameters_id":null,"parameters_version":null,"public":false,"user_id":"a5ca7f9c-bf20-40c4-a82b-5c992f6a38f5","metadata":null,"tags":null},{"id":"a2899b42-b4c6-4189-94ec-ae309cb28bd9","project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","name":"serial-test","description":null,"created":"2026-08-26T02:02:00.029Z","repo_info":null,"commit":null,"base_exp_id":null,"deleted_at":null,"dataset_id":null,"dataset_version":null,"internal_metadata":null,"parameters_id":null,"parameters_version":null,"public":false,"user_id":"a5ca7f9c-bf20-40c4-a82b-5c992f6a38f5","metadata":null,"tags":null},{"id":"37adfc69-2ad9-4c38-ad1e-fe8d3294add5","project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","name":"max-concurrency-test","description":null,"created":"2026-08-26T02:01:59.022Z","repo_info":null,"commit":null,"base_exp_id":null,"deleted_at":null,"dataset_id":null,"dataset_version":null,"internal_metadata":null,"parameters_id":null,"parameters_version":null,"public":false,"user_id":"a5ca7f9c-bf20-40c4-a82b-5c992f6a38f5","metadata":null,"tags":null},{"id":"7f8cb336-e1bc-4d4e-9541-03c4dee2e1b3","project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","name":"byo-executor-test","description":null,"created":"2026-08-26T02:01:58.096Z","repo_info":null,"commit":null,"base_exp_id":null,"deleted_at":null,"dataset_id":null,"dataset_version":null,"internal_metadata":null,"parameters_id":null,"parameters_version":null,"public":false,"user_id":"a5ca7f9c-bf20-40c4-a82b-5c992f6a38f5","metadata":null,"tags":null},{"id":"73e8737d-a8eb-4ab1-b049-a3338c63eab3","project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","name":"bad-score-test","description":null,"created":"2026-08-26T02:01:57.012Z","repo_info":null,"commit":null,"base_exp_id":null,"deleted_at":null,"dataset_id":null,"dataset_version":null,"internal_metadata":null,"parameters_id":null,"parameters_version":null,"public":false,"user_id":"a5ca7f9c-bf20-40c4-a82b-5c992f6a38f5","metadata":null,"tags":null},{"id":"22d0cab2-3fe9-4f43-8441-77d161df91be","project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","name":"java-experiment-repro-6cdc023b","description":null,"created":"2026-08-20T06:22:10.527Z","repo_info":null,"commit":null,"base_exp_id":null,"deleted_at":null,"dataset_id":null,"dataset_version":null,"internal_metadata":null,"parameters_id":null,"parameters_version":null,"public":false,"user_id":"a5ca7f9c-bf20-40c4-a82b-5c992f6a38f5","metadata":null,"tags":null},{"id":"fcf47199-7465-4573-9e0c-8f1476ab26fc","project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","name":"java-experiment-repro-6f1f07a2","description":null,"created":"2026-08-20T06:18:52.470Z","repo_info":null,"commit":null,"base_exp_id":null,"deleted_at":null,"dataset_id":null,"dataset_version":null,"internal_metadata":null,"parameters_id":null,"parameters_version":null,"public":false,"user_id":"a5ca7f9c-bf20-40c4-a82b-5c992f6a38f5","metadata":null,"tags":null},{"id":"c7e6245d-2f5b-434b-8f9f-3a27df8e72f8","project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","name":"java-experiment-repro-1b631ecf","description":null,"created":"2026-07-07T17:13:43.680Z","repo_info":null,"commit":null,"base_exp_id":null,"deleted_at":null,"dataset_id":null,"dataset_version":null,"internal_metadata":null,"parameters_id":null,"parameters_version":null,"public":false,"user_id":"a5ca7f9c-bf20-40c4-a82b-5c992f6a38f5","metadata":null,"tags":null},{"id":"d735217f-e589-4a3f-89ac-9f8d8ba2de94","project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","name":"java-experiment-repro-58dd09a5","description":null,"created":"2026-07-07T10:03:00.570Z","repo_info":null,"commit":null,"base_exp_id":null,"deleted_at":null,"dataset_id":null,"dataset_version":null,"internal_metadata":null,"parameters_id":null,"parameters_version":null,"public":false,"user_id":"a5ca7f9c-bf20-40c4-a82b-5c992f6a38f5","metadata":null,"tags":null},{"id":"58698f3b-b2c0-427d-9899-a7ab0fa4a340","project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","name":"java-experiment-repro-a22d3846","description":null,"created":"2026-07-07T08:52:10.224Z","repo_info":null,"commit":null,"base_exp_id":null,"deleted_at":null,"dataset_id":null,"dataset_version":null,"internal_metadata":null,"parameters_id":null,"parameters_version":null,"public":false,"user_id":"a5ca7f9c-bf20-40c4-a82b-5c992f6a38f5","metadata":null,"tags":null},{"id":"1b42495c-7913-4180-b694-354eebd24953","project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","name":"java-experiment-repro-1c72da01","description":null,"created":"2026-07-07T08:43:51.242Z","repo_info":null,"commit":null,"base_exp_id":null,"deleted_at":null,"dataset_id":null,"dataset_version":null,"internal_metadata":null,"parameters_id":null,"parameters_version":null,"public":false,"user_id":"a5ca7f9c-bf20-40c4-a82b-5c992f6a38f5","metadata":null,"tags":null},{"id":"b5a445c3-62a4-43c2-a5b9-2b6cf5e0f8fd","project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","name":"java-experiment-repro-c5320f54","description":null,"created":"2026-07-07T08:38:50.721Z","repo_info":null,"commit":null,"base_exp_id":null,"deleted_at":null,"dataset_id":null,"dataset_version":null,"internal_metadata":null,"parameters_id":null,"parameters_version":null,"public":false,"user_id":"a5ca7f9c-bf20-40c4-a82b-5c992f6a38f5","metadata":null,"tags":null},{"id":"4040d603-cf4c-4297-b06e-e1ad414dd51c","project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","name":"java-experiment-repro-5aa28965","description":null,"created":"2026-07-07T08:26:44.511Z","repo_info":null,"commit":null,"base_exp_id":null,"deleted_at":null,"dataset_id":null,"dataset_version":null,"internal_metadata":null,"parameters_id":null,"parameters_version":null,"public":false,"user_id":"a5ca7f9c-bf20-40c4-a82b-5c992f6a38f5","metadata":null,"tags":null},{"id":"8cdcacdb-ba75-438a-b85b-eaa8c0abe72f","project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","name":"java-experiment-repro-ebf2c35b","description":null,"created":"2026-07-07T08:26:08.435Z","repo_info":null,"commit":null,"base_exp_id":null,"deleted_at":null,"dataset_id":null,"dataset_version":null,"internal_metadata":null,"parameters_id":null,"parameters_version":null,"public":false,"user_id":"a5ca7f9c-bf20-40c4-a82b-5c992f6a38f5","metadata":null,"tags":null},{"id":"71b9a76a-5b03-4f7b-9468-6727bf95a3f8","project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","name":"java-experiment-repro-84b46112","description":null,"created":"2026-07-07T08:19:17.591Z","repo_info":null,"commit":null,"base_exp_id":null,"deleted_at":null,"dataset_id":null,"dataset_version":null,"internal_metadata":null,"parameters_id":null,"parameters_version":null,"public":false,"user_id":"a5ca7f9c-bf20-40c4-a82b-5c992f6a38f5","metadata":null,"tags":null},{"id":"123473a3-e1af-4cca-a9d3-b8551a959f61","project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","name":"java-experiment-repro-f6c2c15a","description":null,"created":"2026-07-01T17:29:14.164Z","repo_info":null,"commit":null,"base_exp_id":null,"deleted_at":null,"dataset_id":null,"dataset_version":null,"internal_metadata":null,"parameters_id":null,"parameters_version":null,"public":false,"user_id":"a5ca7f9c-bf20-40c4-a82b-5c992f6a38f5","metadata":null,"tags":null},{"id":"843f9c69-c253-426e-8a4f-2a600a7d86eb","project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","name":"java-experiment-repro-3d7f44c1","description":null,"created":"2026-06-30T18:05:15.566Z","repo_info":null,"commit":null,"base_exp_id":null,"deleted_at":null,"dataset_id":null,"dataset_version":null,"internal_metadata":null,"parameters_id":null,"parameters_version":null,"public":false,"user_id":"a5ca7f9c-bf20-40c4-a82b-5c992f6a38f5","metadata":null,"tags":null},{"id":"7203d22b-9865-422a-b3ef-05c7799105ec","project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","name":"java-experiment-repro-e052daa4","description":null,"created":"2026-06-30T18:03:32.351Z","repo_info":null,"commit":null,"base_exp_id":null,"deleted_at":null,"dataset_id":null,"dataset_version":null,"internal_metadata":null,"parameters_id":null,"parameters_version":null,"public":false,"user_id":"a5ca7f9c-bf20-40c4-a82b-5c992f6a38f5","metadata":null,"tags":null},{"id":"0e99bc56-4572-4a53-900e-10a3cbec1b3f","project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","name":"java-experiment-repro","description":null,"created":"2026-06-29T23:35:05.511Z","repo_info":null,"commit":null,"base_exp_id":null,"deleted_at":null,"dataset_id":null,"dataset_version":null,"internal_metadata":null,"parameters_id":null,"parameters_version":null,"public":false,"user_id":"a5ca7f9c-bf20-40c4-a82b-5c992f6a38f5","metadata":null,"tags":null},{"id":"129eb154-c227-43f4-a549-35bd3f281bd9","project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","name":"classifier-error-eval","description":null,"created":"2026-05-27T10:14:02.504Z","repo_info":{},"commit":null,"base_exp_id":null,"deleted_at":null,"dataset_id":null,"dataset_version":null,"internal_metadata":null,"parameters_id":null,"parameters_version":null,"public":false,"user_id":"08e3988c-e05c-4324-8763-8998a5b39755","metadata":null,"tags":null},{"id":"3d17f6cf-5729-44c9-8dcc-b95ab9c5f0f4","project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","name":"default-name-eval","description":null,"created":"2026-05-27T10:13:57.484Z","repo_info":{},"commit":null,"base_exp_id":null,"deleted_at":null,"dataset_id":null,"dataset_version":null,"internal_metadata":null,"parameters_id":null,"parameters_version":null,"public":false,"user_id":"08e3988c-e05c-4324-8763-8998a5b39755","metadata":null,"tags":null},{"id":"bda48716-d8cc-406b-aed1-10ca29b511e5","project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","name":"classifier-only-eval","description":null,"created":"2026-05-27T10:13:52.580Z","repo_info":{},"commit":null,"base_exp_id":null,"deleted_at":null,"dataset_id":null,"dataset_version":null,"internal_metadata":null,"parameters_id":null,"parameters_version":null,"public":false,"user_id":"08e3988c-e05c-4324-8763-8998a5b39755","metadata":null,"tags":null},{"id":"bd13b6ad-0fb2-4477-b407-0aa58127586e","project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","name":"scorer-and-classifier-eval","description":null,"created":"2026-05-27T10:13:48.702Z","repo_info":{},"commit":null,"base_exp_id":null,"deleted_at":null,"dataset_id":null,"dataset_version":null,"internal_metadata":null,"parameters_id":null,"parameters_version":null,"public":false,"user_id":"08e3988c-e05c-4324-8763-8998a5b39755","metadata":null,"tags":null},{"id":"ed5735fb-b23b-4522-9b4f-546bcae35eae","project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","name":"multi-label-eval","description":null,"created":"2026-05-27T10:13:46.338Z","repo_info":{},"commit":null,"base_exp_id":null,"deleted_at":null,"dataset_id":null,"dataset_version":null,"internal_metadata":null,"parameters_id":null,"parameters_version":null,"public":false,"user_id":"08e3988c-e05c-4324-8763-8998a5b39755","metadata":null,"tags":null},{"id":"913d3725-e46c-4229-9f60-b2d09f65328e","project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","name":"unit-test-eval-task-error","description":null,"created":"2026-05-12T19:58:49.966Z","repo_info":{},"commit":null,"base_exp_id":null,"deleted_at":null,"dataset_id":null,"dataset_version":null,"internal_metadata":null,"parameters_id":null,"parameters_version":null,"public":false,"user_id":"a5ca7f9c-bf20-40c4-a82b-5c992f6a38f5","metadata":null,"tags":null},{"id":"96fa3a4a-d448-4db0-900f-11d607cd7603","project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","name":"unit-test-eval-experiment-tags-metadata","description":null,"created":"2026-05-12T19:58:44.095Z","repo_info":{},"commit":null,"base_exp_id":null,"deleted_at":null,"dataset_id":null,"dataset_version":null,"internal_metadata":null,"parameters_id":null,"parameters_version":null,"public":false,"user_id":"a5ca7f9c-bf20-40c4-a82b-5c992f6a38f5","metadata":{"model":"gpt-4o","version":"1.0"},"tags":["java-sdk","unit-test"]},{"id":"b846849a-e3a3-4145-beba-ab3daff9934a","project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","name":"unit-test-eval-scorer-error","description":null,"created":"2026-05-12T19:58:41.895Z","repo_info":{},"commit":null,"base_exp_id":null,"deleted_at":null,"dataset_id":null,"dataset_version":null,"internal_metadata":null,"parameters_id":null,"parameters_version":null,"public":false,"user_id":"a5ca7f9c-bf20-40c4-a82b-5c992f6a38f5","metadata":null,"tags":null},{"id":"ae9825b9-5ba3-4f59-8a6c-e301161da188","project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","name":"unit-test-eval-origin","description":null,"created":"2026-05-12T19:58:39.019Z","repo_info":{},"commit":null,"base_exp_id":null,"deleted_at":null,"dataset_id":null,"dataset_version":null,"internal_metadata":{"experiment_has_rows":true},"parameters_id":null,"parameters_version":null,"public":false,"user_id":"a5ca7f9c-bf20-40c4-a82b-5c992f6a38f5","metadata":null,"tags":null},{"id":"96767844-433f-4185-969d-003944ffa9b3","project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","name":"unit-test-eval","description":null,"created":"2026-05-12T19:58:37.429Z","repo_info":{},"commit":null,"base_exp_id":null,"deleted_at":null,"dataset_id":null,"dataset_version":null,"internal_metadata":null,"parameters_id":null,"parameters_version":null,"public":false,"user_id":"a5ca7f9c-bf20-40c4-a82b-5c992f6a38f5","metadata":null,"tags":null},{"id":"2eeb9f7d-9727-4da0-8376-0eaeb192159c","project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","name":"test-dataset-linking","description":null,"created":"2026-05-12T19:58:33.891Z","repo_info":{},"commit":null,"base_exp_id":null,"deleted_at":null,"dataset_id":"b9356d7d-1a96-4f96-9d41-276e9ebd6afe","dataset_version":"1000197155625133059","internal_metadata":{"experiment_has_rows":true},"parameters_id":null,"parameters_version":null,"public":false,"user_id":"a5ca7f9c-bf20-40c4-a82b-5c992f6a38f5","metadata":null,"tags":null},{"id":"1c1e1014-c847-4575-a4af-efd171567e92","project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","name":"unit-test-eval-tags-metadata","description":null,"created":"2026-05-12T19:58:29.575Z","repo_info":{},"commit":null,"base_exp_id":null,"deleted_at":null,"dataset_id":null,"dataset_version":null,"internal_metadata":null,"parameters_id":null,"parameters_version":null,"public":false,"user_id":"a5ca7f9c-bf20-40c4-a82b-5c992f6a38f5","metadata":null,"tags":null}]} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/v1_experiment-b23c58a28a5b.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/v1_experiment-b23c58a28a5b.json index 9ff3833d..a57a91af 100644 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/v1_experiment-b23c58a28a5b.json +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/v1_experiment-b23c58a28a5b.json @@ -1 +1 @@ -{"id":"c7e6245d-2f5b-434b-8f9f-3a27df8e72f8","project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","name":"java-experiment-repro-1b631ecf","description":null,"created":"2026-07-07T17:13:43.680Z","repo_info":null,"commit":null,"base_exp_id":null,"deleted_at":null,"dataset_id":null,"dataset_version":null,"internal_metadata":null,"parameters_id":null,"parameters_version":null,"public":false,"user_id":"a5ca7f9c-bf20-40c4-a82b-5c992f6a38f5","metadata":null,"tags":null} \ No newline at end of file +{"id":"f4d0ccb4-cd54-4ffd-9bcc-38cc9bb9ba9f","project_id":"f1e858a4-58e3-408f-983f-016760d7fa25","name":"java-experiment-repro-11a04e4f","description":null,"created":"2026-08-31T17:34:59.301Z","repo_info":null,"commit":null,"base_exp_id":null,"deleted_at":null,"dataset_id":null,"dataset_version":null,"internal_metadata":null,"parameters_id":null,"parameters_version":null,"public":false,"user_id":"a5ca7f9c-bf20-40c4-a82b-5c992f6a38f5","metadata":null,"tags":null} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/v1_function_7a164cb2-6c74-4de7-aa86-6b28c464ab28_invoke-a24a707090f9.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/v1_function_7a164cb2-6c74-4de7-aa86-6b28c464ab28_invoke-2e2d93af9b3c.json similarity index 100% rename from test-harness/src/testFixtures/resources/cassettes/braintrust/__files/v1_function_7a164cb2-6c74-4de7-aa86-6b28c464ab28_invoke-a24a707090f9.json rename to test-harness/src/testFixtures/resources/cassettes/braintrust/__files/v1_function_7a164cb2-6c74-4de7-aa86-6b28c464ab28_invoke-2e2d93af9b3c.json diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/v1_function_7a164cb2-6c74-4de7-aa86-6b28c464ab28_invoke-ec70de66b084.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/v1_function_7a164cb2-6c74-4de7-aa86-6b28c464ab28_invoke-aa9f11ec791d.json similarity index 100% rename from test-harness/src/testFixtures/resources/cassettes/braintrust/__files/v1_function_7a164cb2-6c74-4de7-aa86-6b28c464ab28_invoke-ec70de66b084.json rename to test-harness/src/testFixtures/resources/cassettes/braintrust/__files/v1_function_7a164cb2-6c74-4de7-aa86-6b28c464ab28_invoke-aa9f11ec791d.json diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/v1_function_bda148ec-e447-4437-86fe-b337c12502b7_invoke-2c9a6a7d65f4.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/v1_function_bda148ec-e447-4437-86fe-b337c12502b7_invoke-2c9a6a7d65f4.json deleted file mode 100644 index 993130e4..00000000 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/v1_function_bda148ec-e447-4437-86fe-b337c12502b7_invoke-2c9a6a7d65f4.json +++ /dev/null @@ -1 +0,0 @@ -{"name":"close-enough-judge","score":1,"metadata":{"rationale":"The expected output is 'hello world' and the actual output is also 'hello world'. Since there is no difference between the two strings, they are an exact match. Therefore, they are considered close enough.","choice":"YES"}} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/v1_function_bda148ec-e447-4437-86fe-b337c12502b7_invoke-6036fec54d18.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/v1_function_bda148ec-e447-4437-86fe-b337c12502b7_invoke-6036fec54d18.json index eff45e71..49d217a7 100644 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/v1_function_bda148ec-e447-4437-86fe-b337c12502b7_invoke-6036fec54d18.json +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/v1_function_bda148ec-e447-4437-86fe-b337c12502b7_invoke-6036fec54d18.json @@ -1 +1 @@ -{"name":"close-enough-judge","score":0,"metadata":{"rationale":"1. The expected value is a numeric representation (4), whereas the output is a word representation of that number (four). \n2. They represent the same quantity but in different formats. \n3. For many applications, especially in programming, numeric values and their word equivalents are considered distinct. Thus, a numeric value is not a 'close enough' match to its word representation.","choice":"NO"}} \ No newline at end of file +{"name":"close-enough-judge","score":0,"metadata":{"rationale":"1. The expected value is the integer 4, while the output is the word 'four'.\n2. Although 'four' is the word representation of the number 4, it is not the same format as the expected output, which is numeric.\n3. They convey the same quantity but are not in the same type (one is numeric and the other is textual).\n4. Therefore, the expected and output are not a close enough match.","choice":"NO"}} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/v1_function_bda148ec-e447-4437-86fe-b337c12502b7_invoke-e2c6e01b1b5c.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/v1_function_bda148ec-e447-4437-86fe-b337c12502b7_invoke-e2c6e01b1b5c.json new file mode 100644 index 00000000..df5c199e --- /dev/null +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/v1_function_bda148ec-e447-4437-86fe-b337c12502b7_invoke-e2c6e01b1b5c.json @@ -0,0 +1 @@ +{"name":"close-enough-judge","score":1,"metadata":{"rationale":"1. The expected output is 'hello world'.\n2. The actual output is also 'hello world'.\n3. Both strings match exactly in terms of characters, casing, and spacing.\n4. Since there are no discrepancies between the expected and actual output, they are a close enough match.","choice":"YES"}} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/v1_project_f1e858a4-58e3-408f-983f-016760d7fa25-26c0cf72f342.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/v1_project_f1e858a4-58e3-408f-983f-016760d7fa25-26c0cf72f342.json new file mode 100644 index 00000000..61a10efc --- /dev/null +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/__files/v1_project_f1e858a4-58e3-408f-983f-016760d7fa25-26c0cf72f342.json @@ -0,0 +1 @@ +{"id":"f1e858a4-58e3-408f-983f-016760d7fa25","org_id":"5abfae3a-7aa7-4653-a9c8-b3efcb18f584","name":"java-unit-test","description":null,"created":"2026-05-07T16:55:48.127Z","deleted_at":null,"user_id":"a5ca7f9c-bf20-40c4-a82b-5c992f6a38f5","settings":{"remote_eval_sources":[{"url":"http://localhost:8301","name":"localjava","description":null}]}} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/api_apikey_login-08d26d2faef8.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/api_apikey_login-08d26d2faef8.json index fcd3639a..deca6570 100644 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/api_apikey_login-08d26d2faef8.json +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/api_apikey_login-08d26d2faef8.json @@ -10,22 +10,18 @@ "bodyFileName" : "api_apikey_login-08d26d2faef8.json", "headers" : { "X-Cache" : "Miss from cloudfront", - "expires" : "0", - "x-amz-apigw-id" : "AJUSZE4wIAMEWtA=", - "vary" : "Origin, Accept-Encoding", - "x-amzn-Remapped-content-length" : "376", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "X-Amzn-Trace-Id" : "Root=1-6a4d340e-0b708bab1612dde74a6df3f3;Parent=2d87871ce9babb69;Sampled=0;Lineage=1:fc3b4ff1:0", - "Date" : "Tue, 07 Jul 2026 17:14:54 GMT", - "Via" : "1.1 82fa7f20ab5a12301da8e01f9493e222.cloudfront.net (CloudFront), 1.1 2501b465adde8e5aedc3f38e3dfcdc22.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a4d340e000000003fe2627fae9a95f9", - "x-amzn-RequestId" : "a4cac57e-101a-4ba3-8c6f-cdbc367df2b6", - "X-Amz-Cf-Id" : "O3_O8XdCy8OaV9yesn6bgXlgLlSNdivtf233cqAZUki67OsofbvfJQ==", - "etag" : "W/\"178-kKbrsfThc+xXlggXc9RQYV+Gr9I\"", - "cache-control" : "no-store, no-cache, must-revalidate, proxy-revalidate", - "surrogate-control" : "no-store", + "X-Amz-Cf-Pop" : "SEA900-P9", + "Date" : "Mon, 31 Aug 2026 17:36:47 GMT", + "Via" : "1.1 63560dd3f856b0f7bfe68a0cad46924a.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "no-store, no-cache, must-revalidate, proxy-revalidate", + "ETag" : "W/\"178-kKbrsfThc+xXlggXc9RQYV+Gr9I\"", + "Access-Control-Allow-Credentials" : "true", + "X-Amz-Cf-Id" : "bPeEz-Kr3NcW34gPD74I3NxAPaN6JlxbKrsVJ1nphiAXmKxfBYpHAA==", + "Vary" : "Origin, Accept-Encoding", + "Expires" : "0", + "Surrogate-Control" : "no-store", "Content-Type" : "application/json; charset=utf-8" } }, @@ -34,5 +30,5 @@ "scenarioName" : "scenario-1-api-apikey-login", "requiredScenarioState" : "Started", "newScenarioState" : "scenario-1-api-apikey-login-2", - "insertionIndex" : 165 + "insertionIndex" : 188 } \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/api_apikey_login-0a8d8cdc62ba.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/api_apikey_login-0a8d8cdc62ba.json index b3724440..0b0d904d 100644 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/api_apikey_login-0a8d8cdc62ba.json +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/api_apikey_login-0a8d8cdc62ba.json @@ -10,22 +10,18 @@ "bodyFileName" : "api_apikey_login-0a8d8cdc62ba.json", "headers" : { "X-Cache" : "Miss from cloudfront", - "expires" : "0", - "x-amz-apigw-id" : "AJUP_HDOIAMEdVg=", - "vary" : "Origin, Accept-Encoding", - "x-amzn-Remapped-content-length" : "376", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "X-Amzn-Trace-Id" : "Root=1-6a4d33ff-5677eddc1b0447726e7728ee;Parent=4ef8b766f5335a0e;Sampled=0;Lineage=1:fc3b4ff1:0", - "Date" : "Tue, 07 Jul 2026 17:14:39 GMT", - "Via" : "1.1 82fa7f20ab5a12301da8e01f9493e222.cloudfront.net (CloudFront), 1.1 9895fa1d75119fa16da9e015b58dbe5a.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a4d33ff0000000042fc1b0facf2081e", - "x-amzn-RequestId" : "efba6bbb-4f41-4024-a2db-3ab01f519694", - "X-Amz-Cf-Id" : "-ZTb7TRLENAz1vGYft25DFIUIBUINyyHS4xB1aQR9s-205EiWZMzVA==", - "etag" : "W/\"178-kKbrsfThc+xXlggXc9RQYV+Gr9I\"", - "cache-control" : "no-store, no-cache, must-revalidate, proxy-revalidate", - "surrogate-control" : "no-store", + "X-Amz-Cf-Pop" : "SEA900-P9", + "Date" : "Mon, 31 Aug 2026 17:36:19 GMT", + "Via" : "1.1 0ddbf3138c96d4b7c9f8047edb515414.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "no-store, no-cache, must-revalidate, proxy-revalidate", + "ETag" : "W/\"178-kKbrsfThc+xXlggXc9RQYV+Gr9I\"", + "Access-Control-Allow-Credentials" : "true", + "X-Amz-Cf-Id" : "Wv4T04qx0R0nDMyVdag2tzqC1kNnCfj5Gr1gkWzI7ScOZWxjjr6Rmw==", + "Vary" : "Origin, Accept-Encoding", + "Expires" : "0", + "Surrogate-Control" : "no-store", "Content-Type" : "application/json; charset=utf-8" } }, @@ -34,5 +30,5 @@ "scenarioName" : "scenario-1-api-apikey-login", "requiredScenarioState" : "scenario-1-api-apikey-login-30", "newScenarioState" : "scenario-1-api-apikey-login-31", - "insertionIndex" : 17 + "insertionIndex" : 20 } \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/api_apikey_login-114c7f03ba36.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/api_apikey_login-114c7f03ba36.json index 8f5727ce..025d4af9 100644 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/api_apikey_login-114c7f03ba36.json +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/api_apikey_login-114c7f03ba36.json @@ -10,22 +10,18 @@ "bodyFileName" : "api_apikey_login-114c7f03ba36.json", "headers" : { "X-Cache" : "Miss from cloudfront", - "expires" : "0", - "x-amz-apigw-id" : "AJUJcHUPIAMEf9g=", - "vary" : "Origin, Accept-Encoding", - "x-amzn-Remapped-content-length" : "376", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "X-Amzn-Trace-Id" : "Root=1-6a4d33d5-0f801762721028ff36e4259b;Parent=1beef777a9a2d3f4;Sampled=0;Lineage=1:fc3b4ff1:0", - "Date" : "Tue, 07 Jul 2026 17:13:57 GMT", - "Via" : "1.1 82fa7f20ab5a12301da8e01f9493e222.cloudfront.net (CloudFront), 1.1 1271197444822e7c59413a59ecbcecd6.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a4d33d5000000000cbdf3a977c632fe", - "x-amzn-RequestId" : "d2e9dacd-47b8-48c7-ac68-ce16e8959025", - "X-Amz-Cf-Id" : "hvN41IlKUaJMcTelHqafG2bzuLeD9xEQ3PyIUO7aXd-t0oKWvUHwlQ==", - "etag" : "W/\"178-kKbrsfThc+xXlggXc9RQYV+Gr9I\"", - "cache-control" : "no-store, no-cache, must-revalidate, proxy-revalidate", - "surrogate-control" : "no-store", + "X-Amz-Cf-Pop" : "SEA900-P9", + "Date" : "Mon, 31 Aug 2026 17:35:22 GMT", + "Via" : "1.1 d49bde7225e80ca0dc457ff2b8b4343e.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "no-store, no-cache, must-revalidate, proxy-revalidate", + "ETag" : "W/\"178-kKbrsfThc+xXlggXc9RQYV+Gr9I\"", + "Access-Control-Allow-Credentials" : "true", + "X-Amz-Cf-Id" : "M8J8HIBmBv4XujGx_ICOR04zCaPvgk1nbPH7AIlnfSM3EiUbK4jAYA==", + "Vary" : "Origin, Accept-Encoding", + "Expires" : "0", + "Surrogate-Control" : "no-store", "Content-Type" : "application/json; charset=utf-8" } }, @@ -34,5 +30,5 @@ "scenarioName" : "scenario-1-api-apikey-login", "requiredScenarioState" : "scenario-1-api-apikey-login-18", "newScenarioState" : "scenario-1-api-apikey-login-19", - "insertionIndex" : 81 + "insertionIndex" : 90 } \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/api_apikey_login-149e6a8cf38d.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/api_apikey_login-149e6a8cf38d.json index d22141b2..ce6d0767 100644 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/api_apikey_login-149e6a8cf38d.json +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/api_apikey_login-149e6a8cf38d.json @@ -10,22 +10,18 @@ "bodyFileName" : "api_apikey_login-149e6a8cf38d.json", "headers" : { "X-Cache" : "Miss from cloudfront", - "expires" : "0", - "x-amz-apigw-id" : "AJULaGjHoAMEmRA=", - "vary" : "Origin, Accept-Encoding", - "x-amzn-Remapped-content-length" : "376", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "X-Amzn-Trace-Id" : "Root=1-6a4d33e2-7a0a1dcb5b8f231c5c79db31;Parent=21c1fb079c29f1d2;Sampled=0;Lineage=1:fc3b4ff1:0", - "Date" : "Tue, 07 Jul 2026 17:14:10 GMT", - "Via" : "1.1 82fa7f20ab5a12301da8e01f9493e222.cloudfront.net (CloudFront), 1.1 b3a8bdee20374465a3f2aa64f19ec30e.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a4d33e2000000003a450a88ac18cc46", - "x-amzn-RequestId" : "9462f79c-80c8-416f-a085-eab3407d0cce", - "X-Amz-Cf-Id" : "AIn6SQTry0mDYmUCS2sB_qnciMhqr4uio5u5yCp6wU8rVtO55eyhOA==", - "etag" : "W/\"178-kKbrsfThc+xXlggXc9RQYV+Gr9I\"", - "cache-control" : "no-store, no-cache, must-revalidate, proxy-revalidate", - "surrogate-control" : "no-store", + "X-Amz-Cf-Pop" : "SEA900-P9", + "Date" : "Mon, 31 Aug 2026 17:35:46 GMT", + "Via" : "1.1 9895fa1d75119fa16da9e015b58dbe5a.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "no-store, no-cache, must-revalidate, proxy-revalidate", + "ETag" : "W/\"178-kKbrsfThc+xXlggXc9RQYV+Gr9I\"", + "Access-Control-Allow-Credentials" : "true", + "X-Amz-Cf-Id" : "KNhu0vECTgx5LOpvoKJhiatyVYEdHIV53gnCbYnY3gRpjz36Tsij3Q==", + "Vary" : "Origin, Accept-Encoding", + "Expires" : "0", + "Surrogate-Control" : "no-store", "Content-Type" : "application/json; charset=utf-8" } }, @@ -34,5 +30,5 @@ "scenarioName" : "scenario-1-api-apikey-login", "requiredScenarioState" : "scenario-1-api-apikey-login-26", "newScenarioState" : "scenario-1-api-apikey-login-27", - "insertionIndex" : 52 + "insertionIndex" : 56 } \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/api_apikey_login-195cf4dad017.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/api_apikey_login-195cf4dad017.json index e7f53961..94bb1cb5 100644 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/api_apikey_login-195cf4dad017.json +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/api_apikey_login-195cf4dad017.json @@ -10,22 +10,18 @@ "bodyFileName" : "api_apikey_login-195cf4dad017.json", "headers" : { "X-Cache" : "Miss from cloudfront", - "expires" : "0", - "x-amz-apigw-id" : "AJULGGXdoAMEfcw=", - "vary" : "Origin, Accept-Encoding", - "x-amzn-Remapped-content-length" : "376", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "X-Amzn-Trace-Id" : "Root=1-6a4d33e0-2683e19c6618673b49350ef6;Parent=7f87f3b72546d923;Sampled=0;Lineage=1:fc3b4ff1:0", - "Date" : "Tue, 07 Jul 2026 17:14:08 GMT", - "Via" : "1.1 7605973575a3551426b82751020317de.cloudfront.net (CloudFront), 1.1 0ddbf3138c96d4b7c9f8047edb515414.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a4d33e0000000003730f807b5ff1b5e", - "x-amzn-RequestId" : "edb787d4-7ce6-4dbf-8099-d11415da610c", - "X-Amz-Cf-Id" : "g9P8zZHs6Yfg5mGj39JLBpvKjQb5807oT9DTC3D90K5egagpouVGDw==", - "etag" : "W/\"178-kKbrsfThc+xXlggXc9RQYV+Gr9I\"", - "cache-control" : "no-store, no-cache, must-revalidate, proxy-revalidate", - "surrogate-control" : "no-store", + "X-Amz-Cf-Pop" : "SEA900-P9", + "Date" : "Mon, 31 Aug 2026 17:35:43 GMT", + "Via" : "1.1 dea0b5e705fff834db8ae3992ea09cfa.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "no-store, no-cache, must-revalidate, proxy-revalidate", + "ETag" : "W/\"178-kKbrsfThc+xXlggXc9RQYV+Gr9I\"", + "Access-Control-Allow-Credentials" : "true", + "X-Amz-Cf-Id" : "qza0lAZsI1XcDkpBlshIxw-O-fx7cxs4fFBJWEdZCdlYsmOBafP6Vg==", + "Vary" : "Origin, Accept-Encoding", + "Expires" : "0", + "Surrogate-Control" : "no-store", "Content-Type" : "application/json; charset=utf-8" } }, @@ -34,5 +30,5 @@ "scenarioName" : "scenario-1-api-apikey-login", "requiredScenarioState" : "scenario-1-api-apikey-login-25", "newScenarioState" : "scenario-1-api-apikey-login-26", - "insertionIndex" : 56 + "insertionIndex" : 59 } \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/api_apikey_login-1a2e16a32a5e.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/api_apikey_login-1a2e16a32a5e.json index 76a3f6ea..ecda8220 100644 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/api_apikey_login-1a2e16a32a5e.json +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/api_apikey_login-1a2e16a32a5e.json @@ -10,22 +10,18 @@ "bodyFileName" : "api_apikey_login-1a2e16a32a5e.json", "headers" : { "X-Cache" : "Miss from cloudfront", - "expires" : "0", - "x-amz-apigw-id" : "AJUIcGlOoAMEfYw=", - "vary" : "Origin, Accept-Encoding", - "x-amzn-Remapped-content-length" : "376", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "X-Amzn-Trace-Id" : "Root=1-6a4d33cf-2127999b268e4a03317ea7c4;Parent=4a8ac2a4a7d5c4c9;Sampled=0;Lineage=1:fc3b4ff1:0", - "Date" : "Tue, 07 Jul 2026 17:13:51 GMT", - "Via" : "1.1 82fa7f20ab5a12301da8e01f9493e222.cloudfront.net (CloudFront), 1.1 88f286e23c15fc2f62a741db8207a67a.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a4d33cf000000005b16dc11de7e5585", - "x-amzn-RequestId" : "ebba73df-77de-4b2a-b118-a0381955f525", - "X-Amz-Cf-Id" : "FqSbwCbdJpbzgPqTtmWwkQllrIncOdTWyYtbsGMgmmz7jQK_4RA1Nw==", - "etag" : "W/\"178-kKbrsfThc+xXlggXc9RQYV+Gr9I\"", - "cache-control" : "no-store, no-cache, must-revalidate, proxy-revalidate", - "surrogate-control" : "no-store", + "X-Amz-Cf-Pop" : "SEA900-P9", + "Date" : "Mon, 31 Aug 2026 17:35:15 GMT", + "Via" : "1.1 5af99d6f2fc1c569c253259aec683ee8.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "no-store, no-cache, must-revalidate, proxy-revalidate", + "ETag" : "W/\"178-kKbrsfThc+xXlggXc9RQYV+Gr9I\"", + "Access-Control-Allow-Credentials" : "true", + "X-Amz-Cf-Id" : "L7R1iKfdLQYeTvQWS3zYAWZa5zjxk6LtIhGZ_B84wttaze_yheJamw==", + "Vary" : "Origin, Accept-Encoding", + "Expires" : "0", + "Surrogate-Control" : "no-store", "Content-Type" : "application/json; charset=utf-8" } }, @@ -34,5 +30,5 @@ "scenarioName" : "scenario-1-api-apikey-login", "requiredScenarioState" : "scenario-1-api-apikey-login-14", "newScenarioState" : "scenario-1-api-apikey-login-15", - "insertionIndex" : 97 + "insertionIndex" : 100 } \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/api_apikey_login-1df34d817bca.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/api_apikey_login-1df34d817bca.json index d1472e49..59e23935 100644 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/api_apikey_login-1df34d817bca.json +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/api_apikey_login-1df34d817bca.json @@ -10,22 +10,18 @@ "bodyFileName" : "api_apikey_login-1df34d817bca.json", "headers" : { "X-Cache" : "Miss from cloudfront", - "expires" : "0", - "x-amz-apigw-id" : "AJUKtFTtIAMEj3Q=", - "vary" : "Origin, Accept-Encoding", - "x-amzn-Remapped-content-length" : "376", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "X-Amzn-Trace-Id" : "Root=1-6a4d33dd-5b91463971e9789d7abacf7d;Parent=0d852a615160e5f7;Sampled=0;Lineage=1:fc3b4ff1:0", - "Date" : "Tue, 07 Jul 2026 17:14:05 GMT", - "Via" : "1.1 82fa7f20ab5a12301da8e01f9493e222.cloudfront.net (CloudFront), 1.1 4c8322ac27bebc2a7e26f72c7b6ec2ee.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a4d33dd000000004894c18b24aad469", - "x-amzn-RequestId" : "353e4144-ba47-45dc-b678-41f452e32ba4", - "X-Amz-Cf-Id" : "Gl5J8nRcRQd5EuGlHy9U94jprLFLlYpwEaCwUtIv8Abb6Hkw8I5H0g==", - "etag" : "W/\"178-kKbrsfThc+xXlggXc9RQYV+Gr9I\"", - "cache-control" : "no-store, no-cache, must-revalidate, proxy-revalidate", - "surrogate-control" : "no-store", + "X-Amz-Cf-Pop" : "SEA900-P9", + "Date" : "Mon, 31 Aug 2026 17:35:39 GMT", + "Via" : "1.1 087b179013ed486bf34db435cff85f08.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "no-store, no-cache, must-revalidate, proxy-revalidate", + "ETag" : "W/\"178-kKbrsfThc+xXlggXc9RQYV+Gr9I\"", + "Access-Control-Allow-Credentials" : "true", + "X-Amz-Cf-Id" : "YlxDT-3PFUHtI1vc8cqD6n9fVFO01NuXKyubJe432CSny-i_HrHm8A==", + "Vary" : "Origin, Accept-Encoding", + "Expires" : "0", + "Surrogate-Control" : "no-store", "Content-Type" : "application/json; charset=utf-8" } }, @@ -34,5 +30,5 @@ "scenarioName" : "scenario-1-api-apikey-login", "requiredScenarioState" : "scenario-1-api-apikey-login-23", "newScenarioState" : "scenario-1-api-apikey-login-24", - "insertionIndex" : 61 + "insertionIndex" : 64 } \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/api_apikey_login-215f45a550ce.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/api_apikey_login-215f45a550ce.json deleted file mode 100644 index 7ddaf190..00000000 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/api_apikey_login-215f45a550ce.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "id" : "f2f646ba-1d2c-329f-b5e4-56985407d802", - "name" : "api_apikey_login", - "request" : { - "url" : "/api/apikey/login", - "method" : "POST" - }, - "response" : { - "status" : 200, - "bodyFileName" : "api_apikey_login-215f45a550ce.json", - "headers" : { - "X-Cache" : "Miss from cloudfront", - "expires" : "0", - "x-amz-apigw-id" : "ArNMoH5doAMEryA=", - "vary" : "Origin, Accept-Encoding", - "x-amzn-Remapped-content-length" : "376", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "X-Amzn-Trace-Id" : "Root=1-6a5ac250-58b1825c277ea6615ffa2c02;Parent=197107409af0dc6e;Sampled=0;Lineage=1:fc3b4ff1:0", - "Date" : "Sat, 18 Jul 2026 00:01:20 GMT", - "Via" : "1.1 0df7f27a01014ab815259ca2d88193c6.cloudfront.net (CloudFront), 1.1 e088ff8bff69861ed7fd37fbb518f0c2.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a5ac25000000000692365ec191e9600", - "x-amzn-RequestId" : "6940853f-f4f2-44d8-81d8-8ebf43d49b86", - "X-Amz-Cf-Id" : "RNCVgxWZ6IUKc_8BtaTm3KDLpdPcZr2Ebc5iFOrN5wbb9iuIGbSCHg==", - "etag" : "W/\"178-kKbrsfThc+xXlggXc9RQYV+Gr9I\"", - "cache-control" : "no-store, no-cache, must-revalidate, proxy-revalidate", - "surrogate-control" : "no-store", - "Content-Type" : "application/json; charset=utf-8" - } - }, - "uuid" : "f2f646ba-1d2c-329f-b5e4-56985407d802", - "persistent" : true, - "scenarioName" : "scenario-2-api-apikey-login", - "requiredScenarioState" : "Started", - "newScenarioState" : "scenario-2-api-apikey-login-2", - "insertionIndex" : 183 -} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/api_apikey_login-228248286fba.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/api_apikey_login-228248286fba.json index 5b108734..5c93a823 100644 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/api_apikey_login-228248286fba.json +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/api_apikey_login-228248286fba.json @@ -10,22 +10,18 @@ "bodyFileName" : "api_apikey_login-228248286fba.json", "headers" : { "X-Cache" : "Miss from cloudfront", - "expires" : "0", - "x-amz-apigw-id" : "AJUDoEHgIAMEEXw=", - "vary" : "Origin, Accept-Encoding", - "x-amzn-Remapped-content-length" : "376", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "X-Amzn-Trace-Id" : "Root=1-6a4d33b0-5fcb4c1015d7804677cc9729;Parent=7b77a15d8f2d9797;Sampled=0;Lineage=1:fc3b4ff1:0", - "Date" : "Tue, 07 Jul 2026 17:13:20 GMT", - "Via" : "1.1 82fa7f20ab5a12301da8e01f9493e222.cloudfront.net (CloudFront), 1.1 a3134c0c893f03d1e9a9c657d09af7cc.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a4d33b000000000218cb49e83828531", - "x-amzn-RequestId" : "9ce6d2eb-2add-45ad-85c3-76f8aa42d01d", - "X-Amz-Cf-Id" : "Vrhvc1cnw0PqG6shSBEU1PHq16rvmn6w9vd0MiVKmMy8lao5qPoNMg==", - "etag" : "W/\"178-kKbrsfThc+xXlggXc9RQYV+Gr9I\"", - "cache-control" : "no-store, no-cache, must-revalidate, proxy-revalidate", - "surrogate-control" : "no-store", + "X-Amz-Cf-Pop" : "SEA900-P9", + "Date" : "Mon, 31 Aug 2026 17:34:24 GMT", + "Via" : "1.1 bef90eae512e70457d6a8a77b097a124.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "no-store, no-cache, must-revalidate, proxy-revalidate", + "ETag" : "W/\"178-kKbrsfThc+xXlggXc9RQYV+Gr9I\"", + "Access-Control-Allow-Credentials" : "true", + "X-Amz-Cf-Id" : "Qu6yfa4c-niBlO2R0ZiMQe5KVggvZYydqHci_JvYmMrZuw66mhXmvA==", + "Vary" : "Origin, Accept-Encoding", + "Expires" : "0", + "Surrogate-Control" : "no-store", "Content-Type" : "application/json; charset=utf-8" } }, @@ -34,5 +30,5 @@ "scenarioName" : "scenario-1-api-apikey-login", "requiredScenarioState" : "scenario-1-api-apikey-login-3", "newScenarioState" : "scenario-1-api-apikey-login-4", - "insertionIndex" : 127 + "insertionIndex" : 129 } \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/api_apikey_login-22a5aef01e2c.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/api_apikey_login-22a5aef01e2c.json index 628b30a7..a64685e8 100644 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/api_apikey_login-22a5aef01e2c.json +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/api_apikey_login-22a5aef01e2c.json @@ -10,22 +10,18 @@ "bodyFileName" : "api_apikey_login-22a5aef01e2c.json", "headers" : { "X-Cache" : "Miss from cloudfront", - "expires" : "0", - "x-amz-apigw-id" : "AJUHmG1KIAMEfNg=", - "vary" : "Origin, Accept-Encoding", - "x-amzn-Remapped-content-length" : "376", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "X-Amzn-Trace-Id" : "Root=1-6a4d33c9-1ba86e722c6c88df3563f13f;Parent=4ff63c1ba958a0bf;Sampled=0;Lineage=1:fc3b4ff1:0", - "Date" : "Tue, 07 Jul 2026 17:13:45 GMT", - "Via" : "1.1 82fa7f20ab5a12301da8e01f9493e222.cloudfront.net (CloudFront), 1.1 bef90eae512e70457d6a8a77b097a124.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a4d33c900000000042e074fec194425", - "x-amzn-RequestId" : "b8f19683-a504-4998-8b64-630936d66653", - "X-Amz-Cf-Id" : "iljBDFl_HIQDZosLCZCOb2QIvwycVTR_qCaXyo73TjO-b1VP8Fs6OA==", - "etag" : "W/\"178-kKbrsfThc+xXlggXc9RQYV+Gr9I\"", - "cache-control" : "no-store, no-cache, must-revalidate, proxy-revalidate", - "surrogate-control" : "no-store", + "X-Amz-Cf-Pop" : "SEA900-P9", + "Date" : "Mon, 31 Aug 2026 17:35:04 GMT", + "Via" : "1.1 b54238be18861f9bb1272bf1cb10e040.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "no-store, no-cache, must-revalidate, proxy-revalidate", + "ETag" : "W/\"178-kKbrsfThc+xXlggXc9RQYV+Gr9I\"", + "Access-Control-Allow-Credentials" : "true", + "X-Amz-Cf-Id" : "j1E_lRf_p-_WlQePU8GnXdpmKB5vVgJ0iQ_GrziMDuk92yBTnpuL4A==", + "Vary" : "Origin, Accept-Encoding", + "Expires" : "0", + "Surrogate-Control" : "no-store", "Content-Type" : "application/json; charset=utf-8" } }, @@ -34,5 +30,5 @@ "scenarioName" : "scenario-1-api-apikey-login", "requiredScenarioState" : "scenario-1-api-apikey-login-10", "newScenarioState" : "scenario-1-api-apikey-login-11", - "insertionIndex" : 108 + "insertionIndex" : 110 } \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/api_apikey_login-2d93d2dccb89.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/api_apikey_login-2d93d2dccb89.json index 660f4914..05da3867 100644 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/api_apikey_login-2d93d2dccb89.json +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/api_apikey_login-2d93d2dccb89.json @@ -10,22 +10,18 @@ "bodyFileName" : "api_apikey_login-2d93d2dccb89.json", "headers" : { "X-Cache" : "Miss from cloudfront", - "expires" : "0", - "x-amz-apigw-id" : "AJUIhEL5oAMEVRA=", - "vary" : "Origin, Accept-Encoding", - "x-amzn-Remapped-content-length" : "376", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "X-Amzn-Trace-Id" : "Root=1-6a4d33cf-28d058685369232c580e69e2;Parent=1c38c51210c1f1ed;Sampled=0;Lineage=1:fc3b4ff1:0", - "Date" : "Tue, 07 Jul 2026 17:13:51 GMT", - "Via" : "1.1 82fa7f20ab5a12301da8e01f9493e222.cloudfront.net (CloudFront), 1.1 2501b465adde8e5aedc3f38e3dfcdc22.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a4d33cf000000003dddd251ef8614b3", - "x-amzn-RequestId" : "2e92b916-0026-4783-bcce-d552b64ed97a", - "X-Amz-Cf-Id" : "JlgOFpijDDOGh8eq5kPG6T0vUoOCx-KS7ve6sv9OLhoqUYMB0WmlPw==", - "etag" : "W/\"178-kKbrsfThc+xXlggXc9RQYV+Gr9I\"", - "cache-control" : "no-store, no-cache, must-revalidate, proxy-revalidate", - "surrogate-control" : "no-store", + "X-Amz-Cf-Pop" : "SEA900-P9", + "Date" : "Mon, 31 Aug 2026 17:35:18 GMT", + "Via" : "1.1 2772a76c066120d1905e8bfcd08c4d1c.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "no-store, no-cache, must-revalidate, proxy-revalidate", + "ETag" : "W/\"178-kKbrsfThc+xXlggXc9RQYV+Gr9I\"", + "Access-Control-Allow-Credentials" : "true", + "X-Amz-Cf-Id" : "yANbOMrEsjjhsexiNd4hBd-nqkk93i75guURrIpcZirNKqDrdjmVdQ==", + "Vary" : "Origin, Accept-Encoding", + "Expires" : "0", + "Surrogate-Control" : "no-store", "Content-Type" : "application/json; charset=utf-8" } }, @@ -34,5 +30,5 @@ "scenarioName" : "scenario-1-api-apikey-login", "requiredScenarioState" : "scenario-1-api-apikey-login-15", "newScenarioState" : "scenario-1-api-apikey-login-16", - "insertionIndex" : 95 + "insertionIndex" : 97 } \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/api_apikey_login-35d1a51b9963.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/api_apikey_login-35d1a51b9963.json index 0766ebf8..70989ca8 100644 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/api_apikey_login-35d1a51b9963.json +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/api_apikey_login-35d1a51b9963.json @@ -10,22 +10,18 @@ "bodyFileName" : "api_apikey_login-35d1a51b9963.json", "headers" : { "X-Cache" : "Miss from cloudfront", - "expires" : "0", - "x-amz-apigw-id" : "AJULjFqmoAMEb2g=", - "vary" : "Origin, Accept-Encoding", - "x-amzn-Remapped-content-length" : "376", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "X-Amzn-Trace-Id" : "Root=1-6a4d33e3-5664820c45ddd73f185131a2;Parent=12d3c109efa7a606;Sampled=0;Lineage=1:fc3b4ff1:0", - "Date" : "Tue, 07 Jul 2026 17:14:11 GMT", - "Via" : "1.1 82fa7f20ab5a12301da8e01f9493e222.cloudfront.net (CloudFront), 1.1 2772a76c066120d1905e8bfcd08c4d1c.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a4d33e3000000003dcee72b5b50f248", - "x-amzn-RequestId" : "f450be6e-ba5b-4ef3-873e-18daabd4fef9", - "X-Amz-Cf-Id" : "kMn8lC8iRO0_qLxgbGyxj3WOpZPnYK_E-dq_SriwuM0P-G3r10Ahgw==", - "etag" : "W/\"178-kKbrsfThc+xXlggXc9RQYV+Gr9I\"", - "cache-control" : "no-store, no-cache, must-revalidate, proxy-revalidate", - "surrogate-control" : "no-store", + "X-Amz-Cf-Pop" : "SEA900-P9", + "Date" : "Mon, 31 Aug 2026 17:35:49 GMT", + "Via" : "1.1 bef90eae512e70457d6a8a77b097a124.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "no-store, no-cache, must-revalidate, proxy-revalidate", + "ETag" : "W/\"178-kKbrsfThc+xXlggXc9RQYV+Gr9I\"", + "Access-Control-Allow-Credentials" : "true", + "X-Amz-Cf-Id" : "qushg0buKfGT1jYlIKfX0z87DOlEvCeGmZE4Sx-bpCxPMmwLdVstdQ==", + "Vary" : "Origin, Accept-Encoding", + "Expires" : "0", + "Surrogate-Control" : "no-store", "Content-Type" : "application/json; charset=utf-8" } }, @@ -34,5 +30,5 @@ "scenarioName" : "scenario-1-api-apikey-login", "requiredScenarioState" : "scenario-1-api-apikey-login-27", "newScenarioState" : "scenario-1-api-apikey-login-28", - "insertionIndex" : 49 + "insertionIndex" : 52 } \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/api_apikey_login-4139f91c7e72.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/api_apikey_login-4139f91c7e72.json index 1965fac4..3afa8d2d 100644 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/api_apikey_login-4139f91c7e72.json +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/api_apikey_login-4139f91c7e72.json @@ -10,22 +10,18 @@ "bodyFileName" : "api_apikey_login-4139f91c7e72.json", "headers" : { "X-Cache" : "Miss from cloudfront", - "expires" : "0", - "x-amz-apigw-id" : "AJUDxGyCIAMEBKg=", - "vary" : "Origin, Accept-Encoding", - "x-amzn-Remapped-content-length" : "376", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "X-Amzn-Trace-Id" : "Root=1-6a4d33b1-7c3eb7066704e04359aa2376;Parent=14b5a6d2a4562da7;Sampled=0;Lineage=1:fc3b4ff1:0", - "Date" : "Tue, 07 Jul 2026 17:13:21 GMT", - "Via" : "1.1 82fa7f20ab5a12301da8e01f9493e222.cloudfront.net (CloudFront), 1.1 5af99d6f2fc1c569c253259aec683ee8.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a4d33b1000000002a155061508f59dd", - "x-amzn-RequestId" : "ff061426-c9fa-42c3-aaf5-f8a0aeefc9b1", - "X-Amz-Cf-Id" : "7KkgHCkTHVhgZuYyRJP4TWnfL1bzlcelPdMT6tRuG3jqivBoPavCVg==", - "etag" : "W/\"178-kKbrsfThc+xXlggXc9RQYV+Gr9I\"", - "cache-control" : "no-store, no-cache, must-revalidate, proxy-revalidate", - "surrogate-control" : "no-store", + "X-Amz-Cf-Pop" : "SEA900-P9", + "Date" : "Mon, 31 Aug 2026 17:34:26 GMT", + "Via" : "1.1 b54238be18861f9bb1272bf1cb10e040.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "no-store, no-cache, must-revalidate, proxy-revalidate", + "ETag" : "W/\"178-kKbrsfThc+xXlggXc9RQYV+Gr9I\"", + "Access-Control-Allow-Credentials" : "true", + "X-Amz-Cf-Id" : "BNPuPLxQJJzNiu1Z68Tc3t-zU4V9noEifBUQzWnkc_Bay7kib2gwxQ==", + "Vary" : "Origin, Accept-Encoding", + "Expires" : "0", + "Surrogate-Control" : "no-store", "Content-Type" : "application/json; charset=utf-8" } }, @@ -34,5 +30,5 @@ "scenarioName" : "scenario-1-api-apikey-login", "requiredScenarioState" : "scenario-1-api-apikey-login-4", "newScenarioState" : "scenario-1-api-apikey-login-5", - "insertionIndex" : 125 + "insertionIndex" : 127 } \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/api_apikey_login-49b28cd5dfb1.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/api_apikey_login-49b28cd5dfb1.json index 9dfc1cc0..cdc8fff6 100644 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/api_apikey_login-49b28cd5dfb1.json +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/api_apikey_login-49b28cd5dfb1.json @@ -10,22 +10,18 @@ "bodyFileName" : "api_apikey_login-49b28cd5dfb1.json", "headers" : { "X-Cache" : "Miss from cloudfront", - "expires" : "0", - "x-amz-apigw-id" : "AJULwFkgoAMEkwQ=", - "vary" : "Origin, Accept-Encoding", - "x-amzn-Remapped-content-length" : "376", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "X-Amzn-Trace-Id" : "Root=1-6a4d33e4-50d309bd5248d1b2341f84a5;Parent=081b882651cf1803;Sampled=0;Lineage=1:fc3b4ff1:0", - "Date" : "Tue, 07 Jul 2026 17:14:12 GMT", - "Via" : "1.1 73b0c4a85645a8031ba157e0b3e28ffc.cloudfront.net (CloudFront), 1.1 e8b22a8fa8511f8f972b4965a9af80b4.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a4d33e40000000050c20a5782ab782a", - "x-amzn-RequestId" : "93e491dd-657f-40aa-aae2-983f2a831f70", - "X-Amz-Cf-Id" : "D4400BuhH1JPVHiL7JFiVYu5g_L0XdebcJwUhoPwr8VgDkLmj0q-lw==", - "etag" : "W/\"178-kKbrsfThc+xXlggXc9RQYV+Gr9I\"", - "cache-control" : "no-store, no-cache, must-revalidate, proxy-revalidate", - "surrogate-control" : "no-store", + "X-Amz-Cf-Pop" : "SEA900-P9", + "Date" : "Mon, 31 Aug 2026 17:35:51 GMT", + "Via" : "1.1 28edb03169fa053a4a523d90d15ff6ae.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "no-store, no-cache, must-revalidate, proxy-revalidate", + "ETag" : "W/\"178-kKbrsfThc+xXlggXc9RQYV+Gr9I\"", + "Access-Control-Allow-Credentials" : "true", + "X-Amz-Cf-Id" : "UntlH8cxiqAjchybFOdpJnkYuJhKQJRQMfyaR4AGAp4Kz059zkFUzQ==", + "Vary" : "Origin, Accept-Encoding", + "Expires" : "0", + "Surrogate-Control" : "no-store", "Content-Type" : "application/json; charset=utf-8" } }, @@ -34,5 +30,5 @@ "scenarioName" : "scenario-1-api-apikey-login", "requiredScenarioState" : "scenario-1-api-apikey-login-28", "newScenarioState" : "scenario-1-api-apikey-login-29", - "insertionIndex" : 46 + "insertionIndex" : 49 } \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/api_apikey_login-54c5187c4ebe.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/api_apikey_login-54c5187c4ebe.json index 3eb4b618..9c059bcc 100644 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/api_apikey_login-54c5187c4ebe.json +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/api_apikey_login-54c5187c4ebe.json @@ -10,22 +10,18 @@ "bodyFileName" : "api_apikey_login-54c5187c4ebe.json", "headers" : { "X-Cache" : "Miss from cloudfront", - "expires" : "0", - "x-amz-apigw-id" : "AJUH-H9HIAMEN4A=", - "vary" : "Origin, Accept-Encoding", - "x-amzn-Remapped-content-length" : "376", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "X-Amzn-Trace-Id" : "Root=1-6a4d33cc-18c7e4af1dcfc6ac20c45d55;Parent=352c95cff87da9d7;Sampled=0;Lineage=1:fc3b4ff1:0", - "Date" : "Tue, 07 Jul 2026 17:13:48 GMT", - "Via" : "1.1 82fa7f20ab5a12301da8e01f9493e222.cloudfront.net (CloudFront), 1.1 2501b465adde8e5aedc3f38e3dfcdc22.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a4d33cc00000000756f94be1ed9f41f", - "x-amzn-RequestId" : "aed746d8-314b-41c4-8ef9-a2ff256c5a5b", - "X-Amz-Cf-Id" : "OFqJj-6ZszP9ubptkY6Ey1tTSlYepAzSWkQH7XHI-ErxFcZXenjUcQ==", - "etag" : "W/\"178-kKbrsfThc+xXlggXc9RQYV+Gr9I\"", - "cache-control" : "no-store, no-cache, must-revalidate, proxy-revalidate", - "surrogate-control" : "no-store", + "X-Amz-Cf-Pop" : "SEA900-P9", + "Date" : "Mon, 31 Aug 2026 17:35:08 GMT", + "Via" : "1.1 a3134c0c893f03d1e9a9c657d09af7cc.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "no-store, no-cache, must-revalidate, proxy-revalidate", + "ETag" : "W/\"178-kKbrsfThc+xXlggXc9RQYV+Gr9I\"", + "Access-Control-Allow-Credentials" : "true", + "X-Amz-Cf-Id" : "n2h0oFc39MiB4qZGROWv85GXhvUcrloF1Vk1m5SIKC-2tmI0bkE1YQ==", + "Vary" : "Origin, Accept-Encoding", + "Expires" : "0", + "Surrogate-Control" : "no-store", "Content-Type" : "application/json; charset=utf-8" } }, @@ -34,5 +30,5 @@ "scenarioName" : "scenario-1-api-apikey-login", "requiredScenarioState" : "scenario-1-api-apikey-login-12", "newScenarioState" : "scenario-1-api-apikey-login-13", - "insertionIndex" : 103 + "insertionIndex" : 106 } \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/api_apikey_login-5857535be705.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/api_apikey_login-5857535be705.json index 2093aaa7..31ee304b 100644 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/api_apikey_login-5857535be705.json +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/api_apikey_login-5857535be705.json @@ -10,22 +10,18 @@ "bodyFileName" : "api_apikey_login-5857535be705.json", "headers" : { "X-Cache" : "Miss from cloudfront", - "expires" : "0", - "x-amz-apigw-id" : "AJUP3GfUIAMEvUA=", - "vary" : "Origin, Accept-Encoding", - "x-amzn-Remapped-content-length" : "376", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "X-Amzn-Trace-Id" : "Root=1-6a4d33fe-34c638f0329f5e775561be0c;Parent=20238d7d5785615c;Sampled=0;Lineage=1:fc3b4ff1:0", - "Date" : "Tue, 07 Jul 2026 17:14:38 GMT", - "Via" : "1.1 82fa7f20ab5a12301da8e01f9493e222.cloudfront.net (CloudFront), 1.1 b54238be18861f9bb1272bf1cb10e040.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a4d33fe000000001eaad59c971eef93", - "x-amzn-RequestId" : "9293ed2c-f92f-4bcd-9786-fd3406d7b9c2", - "X-Amz-Cf-Id" : "mgocqbjYoenkSVW5WRAQYYtfDIZugDbvput3RShQL6fp1vo80TgHBQ==", - "etag" : "W/\"178-kKbrsfThc+xXlggXc9RQYV+Gr9I\"", - "cache-control" : "no-store, no-cache, must-revalidate, proxy-revalidate", - "surrogate-control" : "no-store", + "X-Amz-Cf-Pop" : "SEA900-P9", + "Date" : "Mon, 31 Aug 2026 17:35:53 GMT", + "Via" : "1.1 38842c146ccd8f527d2de72671759d96.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "no-store, no-cache, must-revalidate, proxy-revalidate", + "ETag" : "W/\"178-kKbrsfThc+xXlggXc9RQYV+Gr9I\"", + "Access-Control-Allow-Credentials" : "true", + "X-Amz-Cf-Id" : "1mzw0bUcPzZ64TcxO6n_AeP4n2Z3ZDqZlOMh7LGQg-FjHo6XgmpcAA==", + "Vary" : "Origin, Accept-Encoding", + "Expires" : "0", + "Surrogate-Control" : "no-store", "Content-Type" : "application/json; charset=utf-8" } }, @@ -34,5 +30,5 @@ "scenarioName" : "scenario-1-api-apikey-login", "requiredScenarioState" : "scenario-1-api-apikey-login-29", "newScenarioState" : "scenario-1-api-apikey-login-30", - "insertionIndex" : 20 + "insertionIndex" : 46 } \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/api_apikey_login-684178b0ab9d.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/api_apikey_login-684178b0ab9d.json index 62df8701..a1475d62 100644 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/api_apikey_login-684178b0ab9d.json +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/api_apikey_login-684178b0ab9d.json @@ -10,22 +10,18 @@ "bodyFileName" : "api_apikey_login-684178b0ab9d.json", "headers" : { "X-Cache" : "Miss from cloudfront", - "expires" : "0", - "x-amz-apigw-id" : "AJUHNGASoAMEWww=", - "vary" : "Origin, Accept-Encoding", - "x-amzn-Remapped-content-length" : "376", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "X-Amzn-Trace-Id" : "Root=1-6a4d33c7-6856e56b3e51262165d6c098;Parent=64b8ee0df29d0acd;Sampled=0;Lineage=1:fc3b4ff1:0", - "Date" : "Tue, 07 Jul 2026 17:13:43 GMT", - "Via" : "1.1 82fa7f20ab5a12301da8e01f9493e222.cloudfront.net (CloudFront), 1.1 a6be96637dfcb93ee417719bb21d57d0.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a4d33c7000000003a69db9a8a0dd825", - "x-amzn-RequestId" : "e1639075-3ed4-40c4-bf94-371e7900d6d1", - "X-Amz-Cf-Id" : "M83r559M9CyYn5Dr2BJeywQM1DibogDZJ__1qNCQIMyU4cXMgq8Cqw==", - "etag" : "W/\"178-kKbrsfThc+xXlggXc9RQYV+Gr9I\"", - "cache-control" : "no-store, no-cache, must-revalidate, proxy-revalidate", - "surrogate-control" : "no-store", + "X-Amz-Cf-Pop" : "SEA900-P9", + "Date" : "Mon, 31 Aug 2026 17:34:58 GMT", + "Via" : "1.1 d49bde7225e80ca0dc457ff2b8b4343e.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "no-store, no-cache, must-revalidate, proxy-revalidate", + "ETag" : "W/\"178-kKbrsfThc+xXlggXc9RQYV+Gr9I\"", + "Access-Control-Allow-Credentials" : "true", + "X-Amz-Cf-Id" : "zJPHh5Advrp225DDEex7adDrv8ZeDx_cUylyDkH35R6dLza9OSN58g==", + "Vary" : "Origin, Accept-Encoding", + "Expires" : "0", + "Surrogate-Control" : "no-store", "Content-Type" : "application/json; charset=utf-8" } }, @@ -34,5 +30,5 @@ "scenarioName" : "scenario-1-api-apikey-login", "requiredScenarioState" : "scenario-1-api-apikey-login-8", "newScenarioState" : "scenario-1-api-apikey-login-9", - "insertionIndex" : 113 + "insertionIndex" : 115 } \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/api_apikey_login-76be8e263561.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/api_apikey_login-76be8e263561.json index 608be93a..263cef7a 100644 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/api_apikey_login-76be8e263561.json +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/api_apikey_login-76be8e263561.json @@ -10,22 +10,18 @@ "bodyFileName" : "api_apikey_login-76be8e263561.json", "headers" : { "X-Cache" : "Miss from cloudfront", - "expires" : "0", - "x-amz-apigw-id" : "AJUQVHoFIAMEA-g=", - "vary" : "Origin, Accept-Encoding", - "x-amzn-Remapped-content-length" : "376", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "X-Amzn-Trace-Id" : "Root=1-6a4d3401-7746bf516580be21750aebfd;Parent=19cfc62c38ed1f5f;Sampled=0;Lineage=1:fc3b4ff1:0", - "Date" : "Tue, 07 Jul 2026 17:14:41 GMT", - "Via" : "1.1 82fa7f20ab5a12301da8e01f9493e222.cloudfront.net (CloudFront), 1.1 7aad92255c39d277bce3f20afa1b059c.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a4d3401000000000da2f301ac6d5976", - "x-amzn-RequestId" : "8b7781f2-ad9b-4f82-81de-71d92ccd4b33", - "X-Amz-Cf-Id" : "i9UC6rgnAuOXMG5T8KhSRasEB46UNtB6ENyQQi1Iy3zA7rinQ-eptw==", - "etag" : "W/\"178-kKbrsfThc+xXlggXc9RQYV+Gr9I\"", - "cache-control" : "no-store, no-cache, must-revalidate, proxy-revalidate", - "surrogate-control" : "no-store", + "X-Amz-Cf-Pop" : "SEA900-P9", + "Date" : "Mon, 31 Aug 2026 17:36:23 GMT", + "Via" : "1.1 38842c146ccd8f527d2de72671759d96.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "no-store, no-cache, must-revalidate, proxy-revalidate", + "ETag" : "W/\"178-kKbrsfThc+xXlggXc9RQYV+Gr9I\"", + "Access-Control-Allow-Credentials" : "true", + "X-Amz-Cf-Id" : "cJTwBIvsPscaNh9gFOQkZqIVQR3GGEqky3DiOvIFTRUF5mg77aksPg==", + "Vary" : "Origin, Accept-Encoding", + "Expires" : "0", + "Surrogate-Control" : "no-store", "Content-Type" : "application/json; charset=utf-8" } }, @@ -34,5 +30,5 @@ "scenarioName" : "scenario-1-api-apikey-login", "requiredScenarioState" : "scenario-1-api-apikey-login-32", "newScenarioState" : "scenario-1-api-apikey-login-33", - "insertionIndex" : 11 + "insertionIndex" : 14 } \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/api_apikey_login-78994d224f6e.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/api_apikey_login-78994d224f6e.json index f00730ca..c9296047 100644 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/api_apikey_login-78994d224f6e.json +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/api_apikey_login-78994d224f6e.json @@ -10,22 +10,18 @@ "bodyFileName" : "api_apikey_login-78994d224f6e.json", "headers" : { "X-Cache" : "Miss from cloudfront", - "expires" : "0", - "x-amz-apigw-id" : "AJUINHYioAMEfIw=", - "vary" : "Origin, Accept-Encoding", - "x-amzn-Remapped-content-length" : "376", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "X-Amzn-Trace-Id" : "Root=1-6a4d33cd-41a6227550e9b305326c65d6;Parent=38346c96aa9f9389;Sampled=0;Lineage=1:fc3b4ff1:0", - "Date" : "Tue, 07 Jul 2026 17:13:49 GMT", - "Via" : "1.1 fbb003dfc0617e3e058e3dac791dfd5a.cloudfront.net (CloudFront), 1.1 7aad92255c39d277bce3f20afa1b059c.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a4d33cd00000000564f57336107a53f", - "x-amzn-RequestId" : "69f06423-b828-41c2-a70d-c181c95f5a9a", - "X-Amz-Cf-Id" : "WXJhy0Gj7gNoCk2H_vXrZ6-RF-M_L3xzlTm6US3EXqtOwLXZYCo8gQ==", - "etag" : "W/\"178-kKbrsfThc+xXlggXc9RQYV+Gr9I\"", - "cache-control" : "no-store, no-cache, must-revalidate, proxy-revalidate", - "surrogate-control" : "no-store", + "X-Amz-Cf-Pop" : "SEA900-P9", + "Date" : "Mon, 31 Aug 2026 17:35:12 GMT", + "Via" : "1.1 0ddbf3138c96d4b7c9f8047edb515414.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "no-store, no-cache, must-revalidate, proxy-revalidate", + "ETag" : "W/\"178-kKbrsfThc+xXlggXc9RQYV+Gr9I\"", + "Access-Control-Allow-Credentials" : "true", + "X-Amz-Cf-Id" : "R35YyiQf2mHFBvq2GiuVxGVPCLeFgrTa80jbOLcNthNx5cTtCDQv8A==", + "Vary" : "Origin, Accept-Encoding", + "Expires" : "0", + "Surrogate-Control" : "no-store", "Content-Type" : "application/json; charset=utf-8" } }, @@ -34,5 +30,5 @@ "scenarioName" : "scenario-1-api-apikey-login", "requiredScenarioState" : "scenario-1-api-apikey-login-13", "newScenarioState" : "scenario-1-api-apikey-login-14", - "insertionIndex" : 100 + "insertionIndex" : 103 } \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/api_apikey_login-7eaba8359a71.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/api_apikey_login-7eaba8359a71.json index 3ef13b7b..a47259f7 100644 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/api_apikey_login-7eaba8359a71.json +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/api_apikey_login-7eaba8359a71.json @@ -10,22 +10,18 @@ "bodyFileName" : "api_apikey_login-7eaba8359a71.json", "headers" : { "X-Cache" : "Miss from cloudfront", - "expires" : "0", - "x-amz-apigw-id" : "AJUIzEc7IAMEL1Q=", - "vary" : "Origin, Accept-Encoding", - "x-amzn-Remapped-content-length" : "376", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "X-Amzn-Trace-Id" : "Root=1-6a4d33d1-76bea2560a13b82577e2c4a9;Parent=0410e194270f32f5;Sampled=0;Lineage=1:fc3b4ff1:0", - "Date" : "Tue, 07 Jul 2026 17:13:53 GMT", - "Via" : "1.1 82fa7f20ab5a12301da8e01f9493e222.cloudfront.net (CloudFront), 1.1 087b179013ed486bf34db435cff85f08.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a4d33d100000000188b7b5e34919e88", - "x-amzn-RequestId" : "65c25e8c-d5c3-4b68-9f07-07dd69757e75", - "X-Amz-Cf-Id" : "41fyBDUyvv6hErXM3Pd9EyxDq0WF_bMEEynuhgKEL13uWFKkTTLZEw==", - "etag" : "W/\"178-kKbrsfThc+xXlggXc9RQYV+Gr9I\"", - "cache-control" : "no-store, no-cache, must-revalidate, proxy-revalidate", - "surrogate-control" : "no-store", + "X-Amz-Cf-Pop" : "SEA900-P9", + "Date" : "Mon, 31 Aug 2026 17:35:19 GMT", + "Via" : "1.1 9895fa1d75119fa16da9e015b58dbe5a.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "no-store, no-cache, must-revalidate, proxy-revalidate", + "ETag" : "W/\"178-kKbrsfThc+xXlggXc9RQYV+Gr9I\"", + "Access-Control-Allow-Credentials" : "true", + "X-Amz-Cf-Id" : "FBXboKIAA1MbEAV2ZyTTFuWyh6NQxGnZcrVzhU2pnN49ydkqGabCeQ==", + "Vary" : "Origin, Accept-Encoding", + "Expires" : "0", + "Surrogate-Control" : "no-store", "Content-Type" : "application/json; charset=utf-8" } }, @@ -34,5 +30,5 @@ "scenarioName" : "scenario-1-api-apikey-login", "requiredScenarioState" : "scenario-1-api-apikey-login-16", "newScenarioState" : "scenario-1-api-apikey-login-17", - "insertionIndex" : 92 + "insertionIndex" : 95 } \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/api_apikey_login-7fba6c78eb15.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/api_apikey_login-7fba6c78eb15.json index b44d5804..422ceb2e 100644 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/api_apikey_login-7fba6c78eb15.json +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/api_apikey_login-7fba6c78eb15.json @@ -10,26 +10,22 @@ "bodyFileName" : "api_apikey_login-7fba6c78eb15.json", "headers" : { "X-Cache" : "Miss from cloudfront", - "expires" : "0", - "x-amz-apigw-id" : "AJUwFHiuIAMEgNQ=", - "vary" : "Origin, Accept-Encoding", - "x-amzn-Remapped-content-length" : "376", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "X-Amzn-Trace-Id" : "Root=1-6a4d34cc-0c98239a533211d75ac14870;Parent=78217194ef9ac592;Sampled=0;Lineage=1:fc3b4ff1:0", - "Date" : "Tue, 07 Jul 2026 17:18:04 GMT", - "Via" : "1.1 b669d9add7767f73665f1f8b7e8cd802.cloudfront.net (CloudFront), 1.1 88f286e23c15fc2f62a741db8207a67a.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a4d34cc0000000073d7ab47e6709cc3", - "x-amzn-RequestId" : "88babb44-3920-40a2-8315-dea9039216bd", - "X-Amz-Cf-Id" : "ySk0QfQhP3TPD8MYErOB-qsKCA7iW2qs8CoDMeQGj2qQRhizqD6F7w==", - "etag" : "W/\"178-kKbrsfThc+xXlggXc9RQYV+Gr9I\"", - "cache-control" : "no-store, no-cache, must-revalidate, proxy-revalidate", - "surrogate-control" : "no-store", + "X-Amz-Cf-Pop" : "SEA900-P9", + "Date" : "Mon, 31 Aug 2026 17:44:52 GMT", + "Via" : "1.1 28edb03169fa053a4a523d90d15ff6ae.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "no-store, no-cache, must-revalidate, proxy-revalidate", + "ETag" : "W/\"178-kKbrsfThc+xXlggXc9RQYV+Gr9I\"", + "Access-Control-Allow-Credentials" : "true", + "X-Amz-Cf-Id" : "YxZQ-WbRgb4Xw7nvSrZq0T24HjVcMFgwyJwbrE1VhbvHIWZiQCFvkw==", + "Vary" : "Origin, Accept-Encoding", + "Expires" : "0", + "Surrogate-Control" : "no-store", "Content-Type" : "application/json; charset=utf-8" } }, "uuid" : "bfbd4af3-5313-3d79-9d68-a3f0e6dcf83f", "persistent" : true, - "insertionIndex" : 166 + "insertionIndex" : 189 } \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/api_apikey_login-81bd6e090352.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/api_apikey_login-81bd6e090352.json deleted file mode 100644 index 0b4be47d..00000000 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/api_apikey_login-81bd6e090352.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "id" : "d715b244-803c-317e-96ce-998cf9faebee", - "name" : "api_apikey_login", - "request" : { - "url" : "/api/apikey/login", - "method" : "POST" - }, - "response" : { - "status" : 200, - "bodyFileName" : "api_apikey_login-81bd6e090352.json", - "headers" : { - "X-Cache" : "Miss from cloudfront", - "expires" : "0", - "x-amz-apigw-id" : "ArNNWHYlIAMEZTQ=", - "vary" : "Origin, Accept-Encoding", - "x-amzn-Remapped-content-length" : "376", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "X-Amzn-Trace-Id" : "Root=1-6a5ac254-6ab7051f7a2e5b2262bc250a;Parent=7e57fe5b0f897fea;Sampled=0;Lineage=1:fc3b4ff1:0", - "Date" : "Sat, 18 Jul 2026 00:01:25 GMT", - "Via" : "1.1 d525041695bdb6325f78ebba5c11b8a2.cloudfront.net (CloudFront), 1.1 087b179013ed486bf34db435cff85f08.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a5ac254000000005bb597e2296ca416", - "x-amzn-RequestId" : "c5b11a66-1ab9-47e3-81db-1a88b1aae49b", - "X-Amz-Cf-Id" : "0WVQmh9khF8GOTn7Mb1NWexRSoLY0acOqGJyDg9Tw2sS6kG7fQyRyg==", - "etag" : "W/\"178-kKbrsfThc+xXlggXc9RQYV+Gr9I\"", - "cache-control" : "no-store, no-cache, must-revalidate, proxy-revalidate", - "surrogate-control" : "no-store", - "Content-Type" : "application/json; charset=utf-8" - } - }, - "uuid" : "d715b244-803c-317e-96ce-998cf9faebee", - "persistent" : true, - "scenarioName" : "scenario-2-api-apikey-login", - "requiredScenarioState" : "scenario-2-api-apikey-login-2", - "insertionIndex" : 182 -} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/api_apikey_login-9611c99e6aac.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/api_apikey_login-9611c99e6aac.json index f4d36681..fe943b10 100644 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/api_apikey_login-9611c99e6aac.json +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/api_apikey_login-9611c99e6aac.json @@ -10,22 +10,18 @@ "bodyFileName" : "api_apikey_login-9611c99e6aac.json", "headers" : { "X-Cache" : "Miss from cloudfront", - "expires" : "0", - "x-amz-apigw-id" : "AJUEFHPcoAMEIzQ=", - "vary" : "Origin, Accept-Encoding", - "x-amzn-Remapped-content-length" : "376", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "X-Amzn-Trace-Id" : "Root=1-6a4d33b3-279c8d24791b57e973dbabc8;Parent=339b8ae539282c23;Sampled=0;Lineage=1:fc3b4ff1:0", - "Date" : "Tue, 07 Jul 2026 17:13:23 GMT", - "Via" : "1.1 82fa7f20ab5a12301da8e01f9493e222.cloudfront.net (CloudFront), 1.1 3062c1f9ccf5f043983bc180e222dd9c.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a4d33b3000000000c1ef65b28182ed2", - "x-amzn-RequestId" : "e789a893-d496-4ee8-bbf9-d9b58d502f82", - "X-Amz-Cf-Id" : "8TmOSk5p73_GMYAqAyGMODz_doyX1MXXbVD0Ne9eqGA0pBx7NpOJLg==", - "etag" : "W/\"178-kKbrsfThc+xXlggXc9RQYV+Gr9I\"", - "cache-control" : "no-store, no-cache, must-revalidate, proxy-revalidate", - "surrogate-control" : "no-store", + "X-Amz-Cf-Pop" : "SEA900-P9", + "Date" : "Mon, 31 Aug 2026 17:34:31 GMT", + "Via" : "1.1 b3a8bdee20374465a3f2aa64f19ec30e.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "no-store, no-cache, must-revalidate, proxy-revalidate", + "ETag" : "W/\"178-kKbrsfThc+xXlggXc9RQYV+Gr9I\"", + "Access-Control-Allow-Credentials" : "true", + "X-Amz-Cf-Id" : "ROXvzBKxUn_zgMNs1-BbW5J_FTq7LCKl2nrnLR8sTpoAYqtAFEPRWQ==", + "Vary" : "Origin, Accept-Encoding", + "Expires" : "0", + "Surrogate-Control" : "no-store", "Content-Type" : "application/json; charset=utf-8" } }, @@ -34,5 +30,5 @@ "scenarioName" : "scenario-1-api-apikey-login", "requiredScenarioState" : "scenario-1-api-apikey-login-5", "newScenarioState" : "scenario-1-api-apikey-login-6", - "insertionIndex" : 121 + "insertionIndex" : 123 } \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/api_apikey_login-9758ab08ce6c.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/api_apikey_login-9758ab08ce6c.json index 1557a60d..1d693af4 100644 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/api_apikey_login-9758ab08ce6c.json +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/api_apikey_login-9758ab08ce6c.json @@ -10,22 +10,18 @@ "bodyFileName" : "api_apikey_login-9758ab08ce6c.json", "headers" : { "X-Cache" : "Miss from cloudfront", - "expires" : "0", - "x-amz-apigw-id" : "AJUKiGY8IAMEsxw=", - "vary" : "Origin, Accept-Encoding", - "x-amzn-Remapped-content-length" : "376", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "X-Amzn-Trace-Id" : "Root=1-6a4d33dc-25e9a231147400941f2256e5;Parent=030397e4dc714244;Sampled=0;Lineage=1:fc3b4ff1:0", - "Date" : "Tue, 07 Jul 2026 17:14:04 GMT", - "Via" : "1.1 82fa7f20ab5a12301da8e01f9493e222.cloudfront.net (CloudFront), 1.1 38842c146ccd8f527d2de72671759d96.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a4d33dc0000000045ed4a40aa0b7e18", - "x-amzn-RequestId" : "e0c12fca-0932-4e11-8d58-159dade8429c", - "X-Amz-Cf-Id" : "uO9RbUzzfpoP_zEjqpD1R0gtU1Y6njDRz0a56UMviVCcDF481jOJgA==", - "etag" : "W/\"178-kKbrsfThc+xXlggXc9RQYV+Gr9I\"", - "cache-control" : "no-store, no-cache, must-revalidate, proxy-revalidate", - "surrogate-control" : "no-store", + "X-Amz-Cf-Pop" : "SEA900-P9", + "Date" : "Mon, 31 Aug 2026 17:35:37 GMT", + "Via" : "1.1 88f286e23c15fc2f62a741db8207a67a.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "no-store, no-cache, must-revalidate, proxy-revalidate", + "ETag" : "W/\"178-kKbrsfThc+xXlggXc9RQYV+Gr9I\"", + "Access-Control-Allow-Credentials" : "true", + "X-Amz-Cf-Id" : "ffJJPHNCb1KSo6tkWYmYeAih3Tt3McaKnGmuGOJFPIl4NWuP4h8JfQ==", + "Vary" : "Origin, Accept-Encoding", + "Expires" : "0", + "Surrogate-Control" : "no-store", "Content-Type" : "application/json; charset=utf-8" } }, @@ -34,5 +30,5 @@ "scenarioName" : "scenario-1-api-apikey-login", "requiredScenarioState" : "scenario-1-api-apikey-login-22", "newScenarioState" : "scenario-1-api-apikey-login-23", - "insertionIndex" : 64 + "insertionIndex" : 67 } \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/api_apikey_login-a008f9904c48.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/api_apikey_login-a008f9904c48.json index b27ec9ba..c62cad34 100644 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/api_apikey_login-a008f9904c48.json +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/api_apikey_login-a008f9904c48.json @@ -10,22 +10,18 @@ "bodyFileName" : "api_apikey_login-a008f9904c48.json", "headers" : { "X-Cache" : "Miss from cloudfront", - "expires" : "0", - "x-amz-apigw-id" : "AJUHcE4noAMEiHg=", - "vary" : "Origin, Accept-Encoding", - "x-amzn-Remapped-content-length" : "376", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "X-Amzn-Trace-Id" : "Root=1-6a4d33c8-1725b3413b48e81430434ac0;Parent=0d41608b05eea13f;Sampled=0;Lineage=1:fc3b4ff1:0", - "Date" : "Tue, 07 Jul 2026 17:13:44 GMT", - "Via" : "1.1 4ac8d091dce10e726cfc5404bfed72b8.cloudfront.net (CloudFront), 1.1 bef90eae512e70457d6a8a77b097a124.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a4d33c8000000006dcd49bbb00baa4c", - "x-amzn-RequestId" : "194713fa-1d73-489e-946c-27b41fab980d", - "X-Amz-Cf-Id" : "It18kktvWWYtrdtfyGBKP4TR3n1I24daXu-hceTqwbTrv633a13ACg==", - "etag" : "W/\"178-kKbrsfThc+xXlggXc9RQYV+Gr9I\"", - "cache-control" : "no-store, no-cache, must-revalidate, proxy-revalidate", - "surrogate-control" : "no-store", + "X-Amz-Cf-Pop" : "SEA900-P9", + "Date" : "Mon, 31 Aug 2026 17:35:02 GMT", + "Via" : "1.1 e088ff8bff69861ed7fd37fbb518f0c2.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "no-store, no-cache, must-revalidate, proxy-revalidate", + "ETag" : "W/\"178-kKbrsfThc+xXlggXc9RQYV+Gr9I\"", + "Access-Control-Allow-Credentials" : "true", + "X-Amz-Cf-Id" : "EBcJg6PORi1Wyl2YxuYSxCjW3PDP6XPCCV5fmeUER0rgjza1lFsnOw==", + "Vary" : "Origin, Accept-Encoding", + "Expires" : "0", + "Surrogate-Control" : "no-store", "Content-Type" : "application/json; charset=utf-8" } }, @@ -34,5 +30,5 @@ "scenarioName" : "scenario-1-api-apikey-login", "requiredScenarioState" : "scenario-1-api-apikey-login-9", "newScenarioState" : "scenario-1-api-apikey-login-10", - "insertionIndex" : 110 + "insertionIndex" : 112 } \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/api_apikey_login-a7fce53bd211.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/api_apikey_login-a7fce53bd211.json index 2223064f..dd6b5267 100644 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/api_apikey_login-a7fce53bd211.json +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/api_apikey_login-a7fce53bd211.json @@ -10,22 +10,18 @@ "bodyFileName" : "api_apikey_login-a7fce53bd211.json", "headers" : { "X-Cache" : "Miss from cloudfront", - "expires" : "0", - "x-amz-apigw-id" : "AJUS8GS3oAMEFdw=", - "vary" : "Origin, Accept-Encoding", - "x-amzn-Remapped-content-length" : "376", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "X-Amzn-Trace-Id" : "Root=1-6a4d3412-1cce144175425e704af862e1;Parent=4f796a49b08e7563;Sampled=0;Lineage=1:fc3b4ff1:0", - "Date" : "Tue, 07 Jul 2026 17:14:58 GMT", - "Via" : "1.1 73b0c4a85645a8031ba157e0b3e28ffc.cloudfront.net (CloudFront), 1.1 38842c146ccd8f527d2de72671759d96.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a4d3412000000004276e9d7e156b266", - "x-amzn-RequestId" : "0f2bec23-fcc5-49ce-b7d3-fdae254641fd", - "X-Amz-Cf-Id" : "YZOPlkj4X8NPQXebMpE21oGckr1Uja5uLmBaINneBSkT7Z_Z3_E7aw==", - "etag" : "W/\"178-kKbrsfThc+xXlggXc9RQYV+Gr9I\"", - "cache-control" : "no-store, no-cache, must-revalidate, proxy-revalidate", - "surrogate-control" : "no-store", + "X-Amz-Cf-Pop" : "SEA900-P9", + "Date" : "Mon, 31 Aug 2026 17:36:50 GMT", + "Via" : "1.1 b3a8bdee20374465a3f2aa64f19ec30e.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "no-store, no-cache, must-revalidate, proxy-revalidate", + "ETag" : "W/\"178-kKbrsfThc+xXlggXc9RQYV+Gr9I\"", + "Access-Control-Allow-Credentials" : "true", + "X-Amz-Cf-Id" : "yGdyjanZFfSiKQ0w3WAMR-CuMALKqeXicdItPp0zW_YwFqueWBNCFg==", + "Vary" : "Origin, Accept-Encoding", + "Expires" : "0", + "Surrogate-Control" : "no-store", "Content-Type" : "application/json; charset=utf-8" } }, @@ -33,5 +29,5 @@ "persistent" : true, "scenarioName" : "scenario-1-api-apikey-login", "requiredScenarioState" : "scenario-1-api-apikey-login-2", - "insertionIndex" : 164 + "insertionIndex" : 187 } \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/api_apikey_login-a807d76d8a80.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/api_apikey_login-a807d76d8a80.json new file mode 100644 index 00000000..359c041a --- /dev/null +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/api_apikey_login-a807d76d8a80.json @@ -0,0 +1,33 @@ +{ + "id" : "6b908672-d638-3e92-ad00-23cbf8ea7b8e", + "name" : "api_apikey_login", + "request" : { + "url" : "/api/apikey/login", + "method" : "POST" + }, + "response" : { + "status" : 200, + "bodyFileName" : "api_apikey_login-a807d76d8a80.json", + "headers" : { + "X-Cache" : "Miss from cloudfront", + "X-Amz-Cf-Pop" : "SEA900-P9", + "Date" : "Mon, 31 Aug 2026 17:36:31 GMT", + "Via" : "1.1 b54238be18861f9bb1272bf1cb10e040.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "no-store, no-cache, must-revalidate, proxy-revalidate", + "ETag" : "W/\"178-kKbrsfThc+xXlggXc9RQYV+Gr9I\"", + "Access-Control-Allow-Credentials" : "true", + "X-Amz-Cf-Id" : "O8cl3Dr-hEEt9f-clGqkhEBc9i4xLb8tznjiOGkm1To2AZWHM-VcOw==", + "Vary" : "Origin, Accept-Encoding", + "Expires" : "0", + "Surrogate-Control" : "no-store", + "Content-Type" : "application/json; charset=utf-8" + } + }, + "uuid" : "6b908672-d638-3e92-ad00-23cbf8ea7b8e", + "persistent" : true, + "scenarioName" : "scenario-1-api-apikey-login", + "requiredScenarioState" : "scenario-1-api-apikey-login-35", + "insertionIndex" : 1 +} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/api_apikey_login-cc542d1fcb8d.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/api_apikey_login-cc542d1fcb8d.json index 8367766c..b5a3161f 100644 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/api_apikey_login-cc542d1fcb8d.json +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/api_apikey_login-cc542d1fcb8d.json @@ -10,22 +10,18 @@ "bodyFileName" : "api_apikey_login-cc542d1fcb8d.json", "headers" : { "X-Cache" : "Miss from cloudfront", - "expires" : "0", - "x-amz-apigw-id" : "AJUI5GewoAMEneQ=", - "vary" : "Origin, Accept-Encoding", - "x-amzn-Remapped-content-length" : "376", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "X-Amzn-Trace-Id" : "Root=1-6a4d33d2-4e3d11075c6c6e9e2383363b;Parent=18a6acbd23a3b0e3;Sampled=0;Lineage=1:fc3b4ff1:0", - "Date" : "Tue, 07 Jul 2026 17:13:54 GMT", - "Via" : "1.1 82fa7f20ab5a12301da8e01f9493e222.cloudfront.net (CloudFront), 1.1 0ddbf3138c96d4b7c9f8047edb515414.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a4d33d20000000079e7fc78815be472", - "x-amzn-RequestId" : "f5fe3234-5f83-432f-9127-5307fc149374", - "X-Amz-Cf-Id" : "x1DVEzI2QsXKPeZ1gmZ2hQTGqztuHKAj5RwSSOUbuKRDSpPSzbU6ew==", - "etag" : "W/\"178-kKbrsfThc+xXlggXc9RQYV+Gr9I\"", - "cache-control" : "no-store, no-cache, must-revalidate, proxy-revalidate", - "surrogate-control" : "no-store", + "X-Amz-Cf-Pop" : "SEA900-P9", + "Date" : "Mon, 31 Aug 2026 17:35:21 GMT", + "Via" : "1.1 7aad92255c39d277bce3f20afa1b059c.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "no-store, no-cache, must-revalidate, proxy-revalidate", + "ETag" : "W/\"178-kKbrsfThc+xXlggXc9RQYV+Gr9I\"", + "Access-Control-Allow-Credentials" : "true", + "X-Amz-Cf-Id" : "ZQquTmhEq3rVkgQCyervsBxWk2fC80rW4NAItcGB5hLZXeEv0V-dIQ==", + "Vary" : "Origin, Accept-Encoding", + "Expires" : "0", + "Surrogate-Control" : "no-store", "Content-Type" : "application/json; charset=utf-8" } }, @@ -34,5 +30,5 @@ "scenarioName" : "scenario-1-api-apikey-login", "requiredScenarioState" : "scenario-1-api-apikey-login-17", "newScenarioState" : "scenario-1-api-apikey-login-18", - "insertionIndex" : 90 + "insertionIndex" : 92 } \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/api_apikey_login-cdbc56f8e830.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/api_apikey_login-cdbc56f8e830.json index 34ae43c2..61cb80c3 100644 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/api_apikey_login-cdbc56f8e830.json +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/api_apikey_login-cdbc56f8e830.json @@ -10,22 +10,18 @@ "bodyFileName" : "api_apikey_login-cdbc56f8e830.json", "headers" : { "X-Cache" : "Miss from cloudfront", - "expires" : "0", - "x-amz-apigw-id" : "AJUHvHkcoAMEb2g=", - "vary" : "Origin, Accept-Encoding", - "x-amzn-Remapped-content-length" : "376", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "X-Amzn-Trace-Id" : "Root=1-6a4d33ca-0096ff223b2ddd2a3aea7cfd;Parent=6df0955f1336b636;Sampled=0;Lineage=1:fc3b4ff1:0", - "Date" : "Tue, 07 Jul 2026 17:13:46 GMT", - "Via" : "1.1 82fa7f20ab5a12301da8e01f9493e222.cloudfront.net (CloudFront), 1.1 2772a76c066120d1905e8bfcd08c4d1c.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a4d33ca000000005864d5cb4e1c07a4", - "x-amzn-RequestId" : "0e4539d5-610a-440e-855b-230deaef8f5a", - "X-Amz-Cf-Id" : "-qBBP2HRtta-x3i5uE2kypUJ2cKOYV-L5Tsn29bAEv7aKlRySMK6BA==", - "etag" : "W/\"178-kKbrsfThc+xXlggXc9RQYV+Gr9I\"", - "cache-control" : "no-store, no-cache, must-revalidate, proxy-revalidate", - "surrogate-control" : "no-store", + "X-Amz-Cf-Pop" : "SEA900-P9", + "Date" : "Mon, 31 Aug 2026 17:35:07 GMT", + "Via" : "1.1 e8b22a8fa8511f8f972b4965a9af80b4.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "no-store, no-cache, must-revalidate, proxy-revalidate", + "ETag" : "W/\"178-kKbrsfThc+xXlggXc9RQYV+Gr9I\"", + "Access-Control-Allow-Credentials" : "true", + "X-Amz-Cf-Id" : "-EILwmdJbOiH4bhUusMroi1wiOrkMzX8nFxDqEWa-70cYzzl5TFpgQ==", + "Vary" : "Origin, Accept-Encoding", + "Expires" : "0", + "Surrogate-Control" : "no-store", "Content-Type" : "application/json; charset=utf-8" } }, @@ -34,5 +30,5 @@ "scenarioName" : "scenario-1-api-apikey-login", "requiredScenarioState" : "scenario-1-api-apikey-login-11", "newScenarioState" : "scenario-1-api-apikey-login-12", - "insertionIndex" : 106 + "insertionIndex" : 108 } \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/api_apikey_login-e787e7d833db.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/api_apikey_login-e787e7d833db.json index a5ebf855..21ac1a3c 100644 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/api_apikey_login-e787e7d833db.json +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/api_apikey_login-e787e7d833db.json @@ -10,22 +10,18 @@ "bodyFileName" : "api_apikey_login-e787e7d833db.json", "headers" : { "X-Cache" : "Miss from cloudfront", - "expires" : "0", - "x-amz-apigw-id" : "AJUQIED9oAMEfBQ=", - "vary" : "Origin, Accept-Encoding", - "x-amzn-Remapped-content-length" : "376", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "X-Amzn-Trace-Id" : "Root=1-6a4d3400-208879f327448cba0a6693d0;Parent=0cdd717658bec1c3;Sampled=0;Lineage=1:fc3b4ff1:0", - "Date" : "Tue, 07 Jul 2026 17:14:40 GMT", - "Via" : "1.1 b669d9add7767f73665f1f8b7e8cd802.cloudfront.net (CloudFront), 1.1 28edb03169fa053a4a523d90d15ff6ae.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a4d340000000000417b2f336b987880", - "x-amzn-RequestId" : "d02c219b-686b-450f-a6f6-026abe7ecd10", - "X-Amz-Cf-Id" : "j0Mx1PJlPCqtEWLpkgmNSMx6VqLkwQsNV20siUmh33edLXZkIlzF_Q==", - "etag" : "W/\"178-kKbrsfThc+xXlggXc9RQYV+Gr9I\"", - "cache-control" : "no-store, no-cache, must-revalidate, proxy-revalidate", - "surrogate-control" : "no-store", + "X-Amz-Cf-Pop" : "SEA900-P9", + "Date" : "Mon, 31 Aug 2026 17:36:21 GMT", + "Via" : "1.1 7f26c41dda80bd7d50ccec2be87c9c3e.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "no-store, no-cache, must-revalidate, proxy-revalidate", + "ETag" : "W/\"178-kKbrsfThc+xXlggXc9RQYV+Gr9I\"", + "Access-Control-Allow-Credentials" : "true", + "X-Amz-Cf-Id" : "0sCnLDKmS9HIPlwrMn1Iqnzvbp_FgTMrOYtsLpu3S7y8QBVrHB4vSQ==", + "Vary" : "Origin, Accept-Encoding", + "Expires" : "0", + "Surrogate-Control" : "no-store", "Content-Type" : "application/json; charset=utf-8" } }, @@ -34,5 +30,5 @@ "scenarioName" : "scenario-1-api-apikey-login", "requiredScenarioState" : "scenario-1-api-apikey-login-31", "newScenarioState" : "scenario-1-api-apikey-login-32", - "insertionIndex" : 14 + "insertionIndex" : 17 } \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/api_apikey_login-ebc6aa328b17.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/api_apikey_login-ebc6aa328b17.json index e6f5e6f8..d196d348 100644 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/api_apikey_login-ebc6aa328b17.json +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/api_apikey_login-ebc6aa328b17.json @@ -10,22 +10,18 @@ "bodyFileName" : "api_apikey_login-ebc6aa328b17.json", "headers" : { "X-Cache" : "Miss from cloudfront", - "expires" : "0", - "x-amz-apigw-id" : "AJUQkGtbIAMETZw=", - "vary" : "Origin, Accept-Encoding", - "x-amzn-Remapped-content-length" : "376", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "X-Amzn-Trace-Id" : "Root=1-6a4d3403-51d2f2127df08335231e8ab2;Parent=24096206c6ee80fb;Sampled=0;Lineage=1:fc3b4ff1:0", - "Date" : "Tue, 07 Jul 2026 17:14:43 GMT", - "Via" : "1.1 82fa7f20ab5a12301da8e01f9493e222.cloudfront.net (CloudFront), 1.1 6ebf93cd3baadad602a5fd706f0df16e.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a4d3403000000005e71b15a6f3c7915", - "x-amzn-RequestId" : "876f600e-5651-442b-9197-af82b7ae8535", - "X-Amz-Cf-Id" : "-MjA0OHgC1shbrOYmT2fLMzgBS3UaThsDXvTLJ1P9pwHbDm2M1_ekQ==", - "etag" : "W/\"178-kKbrsfThc+xXlggXc9RQYV+Gr9I\"", - "cache-control" : "no-store, no-cache, must-revalidate, proxy-revalidate", - "surrogate-control" : "no-store", + "X-Amz-Cf-Pop" : "SEA900-P9", + "Date" : "Mon, 31 Aug 2026 17:36:25 GMT", + "Via" : "1.1 a3134c0c893f03d1e9a9c657d09af7cc.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "no-store, no-cache, must-revalidate, proxy-revalidate", + "ETag" : "W/\"178-kKbrsfThc+xXlggXc9RQYV+Gr9I\"", + "Access-Control-Allow-Credentials" : "true", + "X-Amz-Cf-Id" : "Ewplp21jwlDLm-xNhRstpFCZcRJD05Nqo1agDvphpBr4geL5YYtISQ==", + "Vary" : "Origin, Accept-Encoding", + "Expires" : "0", + "Surrogate-Control" : "no-store", "Content-Type" : "application/json; charset=utf-8" } }, @@ -34,5 +30,5 @@ "scenarioName" : "scenario-1-api-apikey-login", "requiredScenarioState" : "scenario-1-api-apikey-login-33", "newScenarioState" : "scenario-1-api-apikey-login-34", - "insertionIndex" : 8 + "insertionIndex" : 11 } \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/api_apikey_login-ed0643be0966.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/api_apikey_login-ed0643be0966.json index e3d50b94..da0a2527 100644 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/api_apikey_login-ed0643be0966.json +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/api_apikey_login-ed0643be0966.json @@ -10,22 +10,18 @@ "bodyFileName" : "api_apikey_login-ed0643be0966.json", "headers" : { "X-Cache" : "Miss from cloudfront", - "expires" : "0", - "x-amz-apigw-id" : "AJUQ-FfqIAMEKAQ=", - "vary" : "Origin, Accept-Encoding", - "x-amzn-Remapped-content-length" : "376", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "X-Amzn-Trace-Id" : "Root=1-6a4d3405-6636cbad416183c0123192c6;Parent=7570a2f41cda42b5;Sampled=0;Lineage=1:fc3b4ff1:0", - "Date" : "Tue, 07 Jul 2026 17:14:45 GMT", - "Via" : "1.1 d9d466ed70d93f34739969f91577ec74.cloudfront.net (CloudFront), 1.1 b2b215a89cc2734b2940e2eb59ea4bd0.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a4d34050000000070b5ef7536f868a0", - "x-amzn-RequestId" : "ca83bd13-79e9-44b3-86d8-53554f23809f", - "X-Amz-Cf-Id" : "2pIiGJF7Q4WSv_wOqMaeoVRGOuGYkpKln9rMs44LKtknTzewmcYE5g==", - "etag" : "W/\"178-kKbrsfThc+xXlggXc9RQYV+Gr9I\"", - "cache-control" : "no-store, no-cache, must-revalidate, proxy-revalidate", - "surrogate-control" : "no-store", + "X-Amz-Cf-Pop" : "SEA900-P9", + "Date" : "Mon, 31 Aug 2026 17:36:28 GMT", + "Via" : "1.1 88f286e23c15fc2f62a741db8207a67a.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "no-store, no-cache, must-revalidate, proxy-revalidate", + "ETag" : "W/\"178-kKbrsfThc+xXlggXc9RQYV+Gr9I\"", + "Access-Control-Allow-Credentials" : "true", + "X-Amz-Cf-Id" : "zfm50P9X6AD9_JJDDaG7lxw8rNT_hjE-MvQuxRb-t8gJmNsja4bhkg==", + "Vary" : "Origin, Accept-Encoding", + "Expires" : "0", + "Surrogate-Control" : "no-store", "Content-Type" : "application/json; charset=utf-8" } }, @@ -33,5 +29,6 @@ "persistent" : true, "scenarioName" : "scenario-1-api-apikey-login", "requiredScenarioState" : "scenario-1-api-apikey-login-34", - "insertionIndex" : 1 + "newScenarioState" : "scenario-1-api-apikey-login-35", + "insertionIndex" : 8 } \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/api_apikey_login-f479d4941263.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/api_apikey_login-f479d4941263.json index c6c5b53e..419a06e1 100644 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/api_apikey_login-f479d4941263.json +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/api_apikey_login-f479d4941263.json @@ -10,22 +10,18 @@ "bodyFileName" : "api_apikey_login-f479d4941263.json", "headers" : { "X-Cache" : "Miss from cloudfront", - "expires" : "0", - "x-amz-apigw-id" : "AJUJ9Hk1oAMEiXQ=", - "vary" : "Origin, Accept-Encoding", - "x-amzn-Remapped-content-length" : "376", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "X-Amzn-Trace-Id" : "Root=1-6a4d33d8-5873f04066b59d676065fe4e;Parent=1bb0faccc821540a;Sampled=0;Lineage=1:fc3b4ff1:0", - "Date" : "Tue, 07 Jul 2026 17:14:00 GMT", - "Via" : "1.1 82fa7f20ab5a12301da8e01f9493e222.cloudfront.net (CloudFront), 1.1 2501b465adde8e5aedc3f38e3dfcdc22.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a4d33d8000000007715775bf6bb2685", - "x-amzn-RequestId" : "09a29ed1-8749-446d-b530-25b734a223be", - "X-Amz-Cf-Id" : "EW7xNwaVNFvJ10COgTUi4nI86q8JDFagv51Ptamj1kVVS1376mci_A==", - "etag" : "W/\"178-kKbrsfThc+xXlggXc9RQYV+Gr9I\"", - "cache-control" : "no-store, no-cache, must-revalidate, proxy-revalidate", - "surrogate-control" : "no-store", + "X-Amz-Cf-Pop" : "SEA900-P9", + "Date" : "Mon, 31 Aug 2026 17:35:30 GMT", + "Via" : "1.1 b2b215a89cc2734b2940e2eb59ea4bd0.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "no-store, no-cache, must-revalidate, proxy-revalidate", + "ETag" : "W/\"178-kKbrsfThc+xXlggXc9RQYV+Gr9I\"", + "Access-Control-Allow-Credentials" : "true", + "X-Amz-Cf-Id" : "rpMeDm5MHSteJPARLE2AOd_qitSChn_BlaxS2AShjV3C5oJu7rOWVQ==", + "Vary" : "Origin, Accept-Encoding", + "Expires" : "0", + "Surrogate-Control" : "no-store", "Content-Type" : "application/json; charset=utf-8" } }, @@ -34,5 +30,5 @@ "scenarioName" : "scenario-1-api-apikey-login", "requiredScenarioState" : "scenario-1-api-apikey-login-20", "newScenarioState" : "scenario-1-api-apikey-login-21", - "insertionIndex" : 74 + "insertionIndex" : 78 } \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/api_apikey_login-f7d1b6b80934.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/api_apikey_login-f7d1b6b80934.json index 150ad196..d5862366 100644 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/api_apikey_login-f7d1b6b80934.json +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/api_apikey_login-f7d1b6b80934.json @@ -10,22 +10,18 @@ "bodyFileName" : "api_apikey_login-f7d1b6b80934.json", "headers" : { "X-Cache" : "Miss from cloudfront", - "expires" : "0", - "x-amz-apigw-id" : "AJUK4Fz2IAMEpBQ=", - "vary" : "Origin, Accept-Encoding", - "x-amzn-Remapped-content-length" : "376", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "X-Amzn-Trace-Id" : "Root=1-6a4d33de-56c2bef802f739894454c7ac;Parent=04173a5e35c495d7;Sampled=0;Lineage=1:fc3b4ff1:0", - "Date" : "Tue, 07 Jul 2026 17:14:06 GMT", - "Via" : "1.1 cb2aa1abf9fb243a4dc4cb073a92424e.cloudfront.net (CloudFront), 1.1 e088ff8bff69861ed7fd37fbb518f0c2.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a4d33de000000003505f12d16d429d7", - "x-amzn-RequestId" : "c646b504-0d39-4654-a8e6-65ddc0ec2cb2", - "X-Amz-Cf-Id" : "K0idlvYfj3tJ1UUFLRCousNgggPrZoXeT0FcXgl4Hxw3IAMbPN_8wg==", - "etag" : "W/\"178-kKbrsfThc+xXlggXc9RQYV+Gr9I\"", - "cache-control" : "no-store, no-cache, must-revalidate, proxy-revalidate", - "surrogate-control" : "no-store", + "X-Amz-Cf-Pop" : "SEA900-P9", + "Date" : "Mon, 31 Aug 2026 17:35:41 GMT", + "Via" : "1.1 e8b22a8fa8511f8f972b4965a9af80b4.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "no-store, no-cache, must-revalidate, proxy-revalidate", + "ETag" : "W/\"178-kKbrsfThc+xXlggXc9RQYV+Gr9I\"", + "Access-Control-Allow-Credentials" : "true", + "X-Amz-Cf-Id" : "ligEsMEES_YfRwHNeTr89yIq_kb0OXyPt46VwTRL7SafbLDBb-QTow==", + "Vary" : "Origin, Accept-Encoding", + "Expires" : "0", + "Surrogate-Control" : "no-store", "Content-Type" : "application/json; charset=utf-8" } }, @@ -34,5 +30,5 @@ "scenarioName" : "scenario-1-api-apikey-login", "requiredScenarioState" : "scenario-1-api-apikey-login-24", "newScenarioState" : "scenario-1-api-apikey-login-25", - "insertionIndex" : 59 + "insertionIndex" : 61 } \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/api_apikey_login-fc317cca9f56.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/api_apikey_login-fc317cca9f56.json index 3fb24e8c..08bf95ad 100644 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/api_apikey_login-fc317cca9f56.json +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/api_apikey_login-fc317cca9f56.json @@ -10,22 +10,18 @@ "bodyFileName" : "api_apikey_login-fc317cca9f56.json", "headers" : { "X-Cache" : "Miss from cloudfront", - "expires" : "0", - "x-amz-apigw-id" : "AJUKYEiWoAMETEw=", - "vary" : "Origin, Accept-Encoding", - "x-amzn-Remapped-content-length" : "376", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "X-Amzn-Trace-Id" : "Root=1-6a4d33db-1fa94e9509776ae805aa214a;Parent=78eed13d5f7d5283;Sampled=0;Lineage=1:fc3b4ff1:0", - "Date" : "Tue, 07 Jul 2026 17:14:03 GMT", - "Via" : "1.1 82fa7f20ab5a12301da8e01f9493e222.cloudfront.net (CloudFront), 1.1 bef90eae512e70457d6a8a77b097a124.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a4d33db000000003bf419d5db5ed588", - "x-amzn-RequestId" : "ddc23fac-b318-4b70-a8f8-9e4662c188d2", - "X-Amz-Cf-Id" : "0Q8qCQZu7ziKZmmREOJI6SFTYg-GGivy-VSemijz14ADf7bWJskM_w==", - "etag" : "W/\"178-kKbrsfThc+xXlggXc9RQYV+Gr9I\"", - "cache-control" : "no-store, no-cache, must-revalidate, proxy-revalidate", - "surrogate-control" : "no-store", + "X-Amz-Cf-Pop" : "SEA900-P9", + "Date" : "Mon, 31 Aug 2026 17:35:33 GMT", + "Via" : "1.1 28edb03169fa053a4a523d90d15ff6ae.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "no-store, no-cache, must-revalidate, proxy-revalidate", + "ETag" : "W/\"178-kKbrsfThc+xXlggXc9RQYV+Gr9I\"", + "Access-Control-Allow-Credentials" : "true", + "X-Amz-Cf-Id" : "uOQjc0JOHDUVcicbkvQcXfDSigiGGM4z5Knvpxtbe65G9NfKBO3C2A==", + "Vary" : "Origin, Accept-Encoding", + "Expires" : "0", + "Surrogate-Control" : "no-store", "Content-Type" : "application/json; charset=utf-8" } }, @@ -34,5 +30,5 @@ "scenarioName" : "scenario-1-api-apikey-login", "requiredScenarioState" : "scenario-1-api-apikey-login-21", "newScenarioState" : "scenario-1-api-apikey-login-22", - "insertionIndex" : 67 + "insertionIndex" : 74 } \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/api_apikey_login-fd38313bebba.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/api_apikey_login-fd38313bebba.json index 60471612..f0341d64 100644 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/api_apikey_login-fd38313bebba.json +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/api_apikey_login-fd38313bebba.json @@ -10,22 +10,18 @@ "bodyFileName" : "api_apikey_login-fd38313bebba.json", "headers" : { "X-Cache" : "Miss from cloudfront", - "expires" : "0", - "x-amz-apigw-id" : "AJUHHHGJIAMEfNQ=", - "vary" : "Origin, Accept-Encoding", - "x-amzn-Remapped-content-length" : "376", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "X-Amzn-Trace-Id" : "Root=1-6a4d33c6-3086af7d4c1d36ac495a5044;Parent=1dfffc0514ebde10;Sampled=0;Lineage=1:fc3b4ff1:0", - "Date" : "Tue, 07 Jul 2026 17:13:42 GMT", - "Via" : "1.1 82fa7f20ab5a12301da8e01f9493e222.cloudfront.net (CloudFront), 1.1 a6be96637dfcb93ee417719bb21d57d0.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a4d33c600000000792b27666f71589e", - "x-amzn-RequestId" : "921d2ab8-d888-4a72-a367-4e64e521226d", - "X-Amz-Cf-Id" : "DMW3e8TsLv-mrEI725lH2Fa73D-xOw1JMJYKiYBQil6BBRM-MGS8pw==", - "etag" : "W/\"178-kKbrsfThc+xXlggXc9RQYV+Gr9I\"", - "cache-control" : "no-store, no-cache, must-revalidate, proxy-revalidate", - "surrogate-control" : "no-store", + "X-Amz-Cf-Pop" : "SEA900-P9", + "Date" : "Mon, 31 Aug 2026 17:34:57 GMT", + "Via" : "1.1 0ddbf3138c96d4b7c9f8047edb515414.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "no-store, no-cache, must-revalidate, proxy-revalidate", + "ETag" : "W/\"178-kKbrsfThc+xXlggXc9RQYV+Gr9I\"", + "Access-Control-Allow-Credentials" : "true", + "X-Amz-Cf-Id" : "69k-ecAVj2Lnm-UzhkZja5fnS32iYIU3loV2Z5iW2gO3a2YF5MIGhg==", + "Vary" : "Origin, Accept-Encoding", + "Expires" : "0", + "Surrogate-Control" : "no-store", "Content-Type" : "application/json; charset=utf-8" } }, @@ -34,5 +30,5 @@ "scenarioName" : "scenario-1-api-apikey-login", "requiredScenarioState" : "scenario-1-api-apikey-login-7", "newScenarioState" : "scenario-1-api-apikey-login-8", - "insertionIndex" : 115 + "insertionIndex" : 117 } \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/api_apikey_login-fda483633056.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/api_apikey_login-fda483633056.json index 34a39764..3fd19586 100644 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/api_apikey_login-fda483633056.json +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/api_apikey_login-fda483633056.json @@ -10,22 +10,18 @@ "bodyFileName" : "api_apikey_login-fda483633056.json", "headers" : { "X-Cache" : "Miss from cloudfront", - "expires" : "0", - "x-amz-apigw-id" : "AJUHBEMzIAMEPUw=", - "vary" : "Origin, Accept-Encoding", - "x-amzn-Remapped-content-length" : "376", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "X-Amzn-Trace-Id" : "Root=1-6a4d33c6-5cee4c645a64d6573bce56ff;Parent=11ec25391f76536f;Sampled=0;Lineage=1:fc3b4ff1:0", - "Date" : "Tue, 07 Jul 2026 17:13:42 GMT", - "Via" : "1.1 82fa7f20ab5a12301da8e01f9493e222.cloudfront.net (CloudFront), 1.1 55a62c25b77c24cde4014f567fd1c550.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a4d33c600000000742e989c124ed230", - "x-amzn-RequestId" : "04a62b1f-41ea-41db-b1a9-1150cf7e401d", - "X-Amz-Cf-Id" : "mSDfKJaj0Svhklu14UBovia3yKaDDkK3K2_cd4UiJJTgjnSJlJxXWA==", - "etag" : "W/\"178-kKbrsfThc+xXlggXc9RQYV+Gr9I\"", - "cache-control" : "no-store, no-cache, must-revalidate, proxy-revalidate", - "surrogate-control" : "no-store", + "X-Amz-Cf-Pop" : "SEA900-P9", + "Date" : "Mon, 31 Aug 2026 17:34:55 GMT", + "Via" : "1.1 88f286e23c15fc2f62a741db8207a67a.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "no-store, no-cache, must-revalidate, proxy-revalidate", + "ETag" : "W/\"178-kKbrsfThc+xXlggXc9RQYV+Gr9I\"", + "Access-Control-Allow-Credentials" : "true", + "X-Amz-Cf-Id" : "jGMIS0vFeMAUNqIOfm8F4ygcn0y-1PRmZFCcMH3u_boO7_v__VJTrg==", + "Vary" : "Origin, Accept-Encoding", + "Expires" : "0", + "Surrogate-Control" : "no-store", "Content-Type" : "application/json; charset=utf-8" } }, @@ -34,5 +30,5 @@ "scenarioName" : "scenario-1-api-apikey-login", "requiredScenarioState" : "scenario-1-api-apikey-login-6", "newScenarioState" : "scenario-1-api-apikey-login-7", - "insertionIndex" : 117 + "insertionIndex" : 119 } \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/api_apikey_login-fefa506fdca4.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/api_apikey_login-fefa506fdca4.json index 9035fbf0..632b7d31 100644 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/api_apikey_login-fefa506fdca4.json +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/api_apikey_login-fefa506fdca4.json @@ -10,22 +10,18 @@ "bodyFileName" : "api_apikey_login-fefa506fdca4.json", "headers" : { "X-Cache" : "Miss from cloudfront", - "expires" : "0", - "x-amz-apigw-id" : "AJUJmEzcIAMEs3g=", - "vary" : "Origin, Accept-Encoding", - "x-amzn-Remapped-content-length" : "376", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "X-Amzn-Trace-Id" : "Root=1-6a4d33d6-39d798861b3c661242460e31;Parent=5d470b4087ab1999;Sampled=0;Lineage=1:fc3b4ff1:0", - "Date" : "Tue, 07 Jul 2026 17:13:58 GMT", - "Via" : "1.1 82fa7f20ab5a12301da8e01f9493e222.cloudfront.net (CloudFront), 1.1 a3134c0c893f03d1e9a9c657d09af7cc.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a4d33d6000000005d15770590df54ec", - "x-amzn-RequestId" : "c34fe505-3efc-49e4-aafd-2d14e599d2b1", - "X-Amz-Cf-Id" : "-8d866U6BUKVrQv2aAkE_Zj7A-wyTlMQ8ejgD1ejZ3B1e7V4kGK7Kg==", - "etag" : "W/\"178-kKbrsfThc+xXlggXc9RQYV+Gr9I\"", - "cache-control" : "no-store, no-cache, must-revalidate, proxy-revalidate", - "surrogate-control" : "no-store", + "X-Amz-Cf-Pop" : "SEA900-P9", + "Date" : "Mon, 31 Aug 2026 17:35:28 GMT", + "Via" : "1.1 5af99d6f2fc1c569c253259aec683ee8.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "no-store, no-cache, must-revalidate, proxy-revalidate", + "ETag" : "W/\"178-kKbrsfThc+xXlggXc9RQYV+Gr9I\"", + "Access-Control-Allow-Credentials" : "true", + "X-Amz-Cf-Id" : "nYNVFtZiWRhIfcbaX4_ftk-6LLnLA40rICOZAsxBG0JU0YeHkJpOYg==", + "Vary" : "Origin, Accept-Encoding", + "Expires" : "0", + "Surrogate-Control" : "no-store", "Content-Type" : "application/json; charset=utf-8" } }, @@ -34,5 +30,5 @@ "scenarioName" : "scenario-1-api-apikey-login", "requiredScenarioState" : "scenario-1-api-apikey-login-19", "newScenarioState" : "scenario-1-api-apikey-login-20", - "insertionIndex" : 78 + "insertionIndex" : 81 } \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-0196bdc4536f.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-0196bdc4536f.json new file mode 100644 index 00000000..94e19c12 --- /dev/null +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-0196bdc4536f.json @@ -0,0 +1,41 @@ +{ + "id" : "cbeeb6ef-a665-3579-ab16-5f32c1b065a7", + "name" : "btql", + "request" : { + "url" : "/btql", + "method" : "POST", + "headers" : { + "Content-Type" : { + "equalTo" : "application/json" + } + }, + "bodyPatterns" : [ { + "equalToJson" : "{\"query\":\"SELECT * FROM project_logs('f1e858a4-58e3-408f-983f-016760d7fa25') WHERE root_span_id = 'ff642aef149e2798f70003a539499a49' ORDER BY created ASC LIMIT 1000\"}", + "ignoreArrayOrder" : true, + "ignoreExtraElements" : false + } ] + }, + "response" : { + "status" : 200, + "bodyFileName" : "btql-0196bdc4536f.json", + "headers" : { + "X-Cache" : "Miss from cloudfront", + "X-Amz-Cf-Pop" : "SEA900-P9", + "x-bt-brainstore-duration-ms" : "46", + "x-bt-api-duration-ms" : "108", + "Date" : "Mon, 31 Aug 2026 17:38:23 GMT", + "Via" : "1.1 e8b22a8fa8511f8f972b4965a9af80b4.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "private, no-cache", + "Access-Control-Allow-Credentials" : "true", + "x-bt-internal-trace-id" : "659b1ab049fe7ef8221d2e1c9b135de1", + "X-Amz-Cf-Id" : "vsnrxKATQm6AVhNyUB2W7dufm19Wq5yNJrd-h2nWgX0pRdtMPw7q9g==", + "Vary" : "Origin", + "Content-Type" : "application/json" + } + }, + "uuid" : "cbeeb6ef-a665-3579-ab16-5f32c1b065a7", + "persistent" : true, + "insertionIndex" : 136 +} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-06c58dbf2d58.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-06c58dbf2d58.json new file mode 100644 index 00000000..a69c981b --- /dev/null +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-06c58dbf2d58.json @@ -0,0 +1,41 @@ +{ + "id" : "a5c3eacb-57bf-33c6-b2ac-b9fbc50c3dc0", + "name" : "btql", + "request" : { + "url" : "/btql", + "method" : "POST", + "headers" : { + "Content-Type" : { + "equalTo" : "application/json" + } + }, + "bodyPatterns" : [ { + "equalToJson" : "{\"query\":\"SELECT * FROM project_logs('f1e858a4-58e3-408f-983f-016760d7fa25') WHERE root_span_id = '7513e8d10e866dba54ff7911b7157336' ORDER BY created ASC LIMIT 1000\"}", + "ignoreArrayOrder" : true, + "ignoreExtraElements" : false + } ] + }, + "response" : { + "status" : 200, + "bodyFileName" : "btql-06c58dbf2d58.json", + "headers" : { + "X-Cache" : "Miss from cloudfront", + "X-Amz-Cf-Pop" : "SEA900-P9", + "x-bt-brainstore-duration-ms" : "28", + "x-bt-api-duration-ms" : "98", + "Date" : "Mon, 31 Aug 2026 17:38:12 GMT", + "Via" : "1.1 38842c146ccd8f527d2de72671759d96.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "private, no-cache", + "Access-Control-Allow-Credentials" : "true", + "x-bt-internal-trace-id" : "171e39b9e760d11a43590d66a5298a02", + "X-Amz-Cf-Id" : "8JiHAHMNVuR1P2egk6QMptwogItoP2ozi1PC1ZU30pUwZKsxPQpDFw==", + "Vary" : "Origin", + "Content-Type" : "application/json" + } + }, + "uuid" : "a5c3eacb-57bf-33c6-b2ac-b9fbc50c3dc0", + "persistent" : true, + "insertionIndex" : 172 +} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-0bbfe26e5b45.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-0bbfe26e5b45.json deleted file mode 100644 index 89b1ed5b..00000000 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-0bbfe26e5b45.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "id" : "6e99e14c-df2c-352e-9509-8e4ef9f507a1", - "name" : "btql", - "request" : { - "url" : "/btql", - "method" : "POST", - "headers" : { - "Content-Type" : { - "equalTo" : "application/json" - } - }, - "bodyPatterns" : [ { - "equalToJson" : "{\"query\":\"SELECT * FROM project_logs('f1e858a4-58e3-408f-983f-016760d7fa25') WHERE root_span_id = '85b62101325bb5a37f5939555dab368f' ORDER BY created ASC LIMIT 1000\"}", - "ignoreArrayOrder" : true, - "ignoreExtraElements" : false - } ] - }, - "response" : { - "status" : 200, - "bodyFileName" : "btql-0bbfe26e5b45.json", - "headers" : { - "X-Cache" : "Miss from cloudfront", - "x-amz-apigw-id" : "AJUaWElYIAMEPqg=", - "vary" : "Origin", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "x-bt-brainstore-duration-ms" : "68", - "X-Amzn-Trace-Id" : "Root=1-6a4d3441-7d773d0b1b87e0cd1fcff0b8;Parent=3265c36bd9ac09e7;Sampled=0;Lineage=1:fc3b4ff1:0", - "x-bt-api-duration-ms" : "138", - "Date" : "Tue, 07 Jul 2026 17:15:45 GMT", - "Via" : "1.1 82fa7f20ab5a12301da8e01f9493e222.cloudfront.net (CloudFront), 1.1 3417fc639ca50b55b2a1d93807a20c2c.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a4d3441000000000718526cef35c5c8", - "x-amzn-RequestId" : "c396ef0b-4b66-49fd-8566-32f2ff958535", - "X-Amz-Cf-Id" : "HMsUmMYft28J-s_kBtwEOW8wwsW2HOCkseABiN-qVB3X6-CLJxQ4eg==", - "cache-control" : "private, no-cache", - "Content-Type" : "application/json" - } - }, - "uuid" : "6e99e14c-df2c-352e-9509-8e4ef9f507a1", - "persistent" : true, - "insertionIndex" : 152 -} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-0efb36841fa8.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-0efb36841fa8.json new file mode 100644 index 00000000..abf14eea --- /dev/null +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-0efb36841fa8.json @@ -0,0 +1,41 @@ +{ + "id" : "aadea1f4-2768-31f0-acf7-9ae3921e12f5", + "name" : "btql", + "request" : { + "url" : "/btql", + "method" : "POST", + "headers" : { + "Content-Type" : { + "equalTo" : "application/json" + } + }, + "bodyPatterns" : [ { + "equalToJson" : "{\"query\":\"SELECT * FROM project_logs('f1e858a4-58e3-408f-983f-016760d7fa25') WHERE root_span_id = '507c740f5c1065f25026fd2421ac8422' ORDER BY created ASC LIMIT 1000\"}", + "ignoreArrayOrder" : true, + "ignoreExtraElements" : false + } ] + }, + "response" : { + "status" : 200, + "bodyFileName" : "btql-0efb36841fa8.json", + "headers" : { + "X-Cache" : "Miss from cloudfront", + "X-Amz-Cf-Pop" : "SEA900-P9", + "x-bt-brainstore-duration-ms" : "48", + "x-bt-api-duration-ms" : "392", + "Date" : "Mon, 31 Aug 2026 17:38:09 GMT", + "Via" : "1.1 c72e48ed2f0a994f695ca2fb4bc9247e.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "private, no-cache", + "Access-Control-Allow-Credentials" : "true", + "x-bt-internal-trace-id" : "7a6a65e2a255027329fd760788478061", + "X-Amz-Cf-Id" : "Qcp2Y8b0YbIOzopI1NfUZYAlPkkks5_koDKCRNSnrnPMKDhZSCyAwQ==", + "Vary" : "Origin", + "Content-Type" : "application/json" + } + }, + "uuid" : "aadea1f4-2768-31f0-acf7-9ae3921e12f5", + "persistent" : true, + "insertionIndex" : 180 +} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-10bd39761b9d.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-10bd39761b9d.json deleted file mode 100644 index 12f1f1b0..00000000 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-10bd39761b9d.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "id" : "906a6b7d-b916-3f54-bdd0-25eaf48f5d04", - "name" : "btql", - "request" : { - "url" : "/btql", - "method" : "POST", - "headers" : { - "Content-Type" : { - "equalTo" : "application/json" - } - }, - "bodyPatterns" : [ { - "equalToJson" : "{\"query\":\"SELECT * FROM project_logs('f1e858a4-58e3-408f-983f-016760d7fa25') WHERE root_span_id = '9de3f14ced7ce293a3f265165c9a5059' ORDER BY created ASC LIMIT 1000\"}", - "ignoreArrayOrder" : true, - "ignoreExtraElements" : false - } ] - }, - "response" : { - "status" : 200, - "bodyFileName" : "btql-10bd39761b9d.json", - "headers" : { - "X-Cache" : "Miss from cloudfront", - "x-amz-apigw-id" : "AJUbCHBIoAMEqcw=", - "vary" : "Origin", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "x-bt-brainstore-duration-ms" : "36", - "X-Amzn-Trace-Id" : "Root=1-6a4d3446-3e1dbdd80a83c99b5dfe5abe;Parent=023c679788cc9f68;Sampled=0;Lineage=1:fc3b4ff1:0", - "x-bt-api-duration-ms" : "76", - "Date" : "Tue, 07 Jul 2026 17:15:50 GMT", - "Via" : "1.1 82fa7f20ab5a12301da8e01f9493e222.cloudfront.net (CloudFront), 1.1 2501b465adde8e5aedc3f38e3dfcdc22.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a4d3446000000004257e534db10addf", - "x-amzn-RequestId" : "70975a30-3bef-49bb-88dd-0921d0cfa819", - "X-Amz-Cf-Id" : "xhvpwesGdGv6NV5wkH2_8o6I_Qtc1Z3tFkKKQ3oiUQ5yO4SX-nibkg==", - "cache-control" : "private, no-cache", - "Content-Type" : "application/json" - } - }, - "uuid" : "906a6b7d-b916-3f54-bdd0-25eaf48f5d04", - "persistent" : true, - "insertionIndex" : 141 -} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-11e862dfa961.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-11e862dfa961.json deleted file mode 100644 index c4071b5c..00000000 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-11e862dfa961.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "id" : "ab12a4f8-7cc1-346f-9ea7-edc7c792f985", - "name" : "btql", - "request" : { - "url" : "/btql", - "method" : "POST", - "headers" : { - "Content-Type" : { - "equalTo" : "application/json" - } - }, - "bodyPatterns" : [ { - "equalToJson" : "{\"query\":\"SELECT * FROM project_logs('f1e858a4-58e3-408f-983f-016760d7fa25') WHERE root_span_id = '8acad74a574f6d2c76ba3b3ebfca619a' ORDER BY created ASC LIMIT 1000\"}", - "ignoreArrayOrder" : true, - "ignoreExtraElements" : false - } ] - }, - "response" : { - "status" : 200, - "bodyFileName" : "btql-11e862dfa961.json", - "headers" : { - "X-Cache" : "Miss from cloudfront", - "x-amz-apigw-id" : "AJUbHF_BIAMEEdA=", - "vary" : "Origin", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "x-bt-brainstore-duration-ms" : "69", - "X-Amzn-Trace-Id" : "Root=1-6a4d3446-3cb0fb0955dbc40054616507;Parent=415a5a3f748a1cfa;Sampled=0;Lineage=1:fc3b4ff1:0", - "x-bt-api-duration-ms" : "137", - "Date" : "Tue, 07 Jul 2026 17:15:50 GMT", - "Via" : "1.1 cb2aa1abf9fb243a4dc4cb073a92424e.cloudfront.net (CloudFront), 1.1 0ddbf3138c96d4b7c9f8047edb515414.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a4d3446000000006b701e6563b21e0a", - "x-amzn-RequestId" : "237bd027-d828-4dfc-bdef-d0c1dc01e25f", - "X-Amz-Cf-Id" : "CDi3jJ6V1h3jz3xT6fgou5XxG7AbNG6BP4YyLe8FHjXELbZcW96cVQ==", - "cache-control" : "private, no-cache", - "Content-Type" : "application/json" - } - }, - "uuid" : "ab12a4f8-7cc1-346f-9ea7-edc7c792f985", - "persistent" : true, - "insertionIndex" : 140 -} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-11f551f7e964.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-11f551f7e964.json deleted file mode 100644 index 3996baa6..00000000 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-11f551f7e964.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "id" : "e24ba2b0-cf11-3ec6-9565-00844d2f8a16", - "name" : "btql", - "request" : { - "url" : "/btql", - "method" : "POST", - "headers" : { - "Content-Type" : { - "equalTo" : "application/json" - } - }, - "bodyPatterns" : [ { - "equalToJson" : "{\"query\":\"SELECT * FROM project_logs('f1e858a4-58e3-408f-983f-016760d7fa25') WHERE root_span_id = '4f8910b785cf49cf77874ca7ca94ddfe' ORDER BY created ASC LIMIT 1000\"}", - "ignoreArrayOrder" : true, - "ignoreExtraElements" : false - } ] - }, - "response" : { - "status" : 200, - "bodyFileName" : "btql-11f551f7e964.json", - "headers" : { - "X-Cache" : "Miss from cloudfront", - "x-amz-apigw-id" : "AJUazGFcIAMEIAg=", - "vary" : "Origin", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "x-bt-brainstore-duration-ms" : "47", - "X-Amzn-Trace-Id" : "Root=1-6a4d3444-75d596364eedaf4937dc2406;Parent=189c85ef743a4ac4;Sampled=0;Lineage=1:fc3b4ff1:0", - "x-bt-api-duration-ms" : "231", - "Date" : "Tue, 07 Jul 2026 17:15:48 GMT", - "Via" : "1.1 4ac8d091dce10e726cfc5404bfed72b8.cloudfront.net (CloudFront), 1.1 1271197444822e7c59413a59ecbcecd6.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a4d344400000000722a9843afc9dea2", - "x-amzn-RequestId" : "7fcd510e-afa2-4c09-a662-3db63acadfaa", - "X-Amz-Cf-Id" : "1J8448kMy2mOSiEwUjBxQa6-6Cf_1Hz82b8ZjlUzYQ5W5iHQSk0OkA==", - "cache-control" : "private, no-cache", - "Content-Type" : "application/json" - } - }, - "uuid" : "e24ba2b0-cf11-3ec6-9565-00844d2f8a16", - "persistent" : true, - "insertionIndex" : 144 -} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-140b6db9747e.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-140b6db9747e.json new file mode 100644 index 00000000..76f5e19b --- /dev/null +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-140b6db9747e.json @@ -0,0 +1,41 @@ +{ + "id" : "b9d57ba5-9e15-39a7-b4c1-73ba2851cb7c", + "name" : "btql", + "request" : { + "url" : "/btql", + "method" : "POST", + "headers" : { + "Content-Type" : { + "equalTo" : "application/json" + } + }, + "bodyPatterns" : [ { + "equalToJson" : "{\"query\":\"SELECT * FROM project_logs('f1e858a4-58e3-408f-983f-016760d7fa25') WHERE root_span_id = '99ae58f7b44156c1ee12036d81c73975' ORDER BY created ASC LIMIT 1000\"}", + "ignoreArrayOrder" : true, + "ignoreExtraElements" : false + } ] + }, + "response" : { + "status" : 200, + "bodyFileName" : "btql-140b6db9747e.json", + "headers" : { + "X-Cache" : "Miss from cloudfront", + "X-Amz-Cf-Pop" : "SEA900-P9", + "x-bt-brainstore-duration-ms" : "77", + "x-bt-api-duration-ms" : "155", + "Date" : "Mon, 31 Aug 2026 17:38:10 GMT", + "Via" : "1.1 38842c146ccd8f527d2de72671759d96.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "private, no-cache", + "Access-Control-Allow-Credentials" : "true", + "x-bt-internal-trace-id" : "36f4b3511246ec38512da2eb7585be6d", + "X-Amz-Cf-Id" : "WDWtKHSTw5lkvr_X1RhG-cUyQO9iRAPgWOnMt3-b93kRSMnk32gO7A==", + "Vary" : "Origin", + "Content-Type" : "application/json" + } + }, + "uuid" : "b9d57ba5-9e15-39a7-b4c1-73ba2851cb7c", + "persistent" : true, + "insertionIndex" : 177 +} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-1562fa20d344.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-1562fa20d344.json deleted file mode 100644 index 51747aee..00000000 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-1562fa20d344.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "id" : "966931d0-489b-30d5-a8b9-d506b162ceb8", - "name" : "btql", - "request" : { - "url" : "/btql", - "method" : "POST", - "headers" : { - "Content-Type" : { - "equalTo" : "application/json" - } - }, - "bodyPatterns" : [ { - "equalToJson" : "{\"query\":\"SELECT * FROM project_logs('f1e858a4-58e3-408f-983f-016760d7fa25') WHERE root_span_id = 'c19986bd7ae8d3acd6d02876bf75e3b0' ORDER BY created ASC LIMIT 1000\"}", - "ignoreArrayOrder" : true, - "ignoreExtraElements" : false - } ] - }, - "response" : { - "status" : 200, - "bodyFileName" : "btql-1562fa20d344.json", - "headers" : { - "X-Cache" : "Miss from cloudfront", - "x-amz-apigw-id" : "AJUaqG6joAMEL8A=", - "vary" : "Origin", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "x-bt-brainstore-duration-ms" : "41", - "X-Amzn-Trace-Id" : "Root=1-6a4d3443-5888e4b506d1df4971f3292e;Parent=2ddf17f7f9b6816f;Sampled=0;Lineage=1:fc3b4ff1:0", - "x-bt-api-duration-ms" : "90", - "Date" : "Tue, 07 Jul 2026 17:15:47 GMT", - "Via" : "1.1 b669d9add7767f73665f1f8b7e8cd802.cloudfront.net (CloudFront), 1.1 087b179013ed486bf34db435cff85f08.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a4d34430000000014579a0e518f8583", - "x-amzn-RequestId" : "a1d30302-bfcf-40db-b96b-36da587ceaf7", - "X-Amz-Cf-Id" : "MP0W2HO4sC1rGSAxKBHD6Mw3vVBn9XGfAUGd_MhLJi5bz63ixyhE2g==", - "cache-control" : "private, no-cache", - "Content-Type" : "application/json" - } - }, - "uuid" : "966931d0-489b-30d5-a8b9-d506b162ceb8", - "persistent" : true, - "insertionIndex" : 147 -} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-167536065e72.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-167536065e72.json new file mode 100644 index 00000000..a00f7d96 --- /dev/null +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-167536065e72.json @@ -0,0 +1,41 @@ +{ + "id" : "587824cf-b473-3c9d-ac15-be951deb9093", + "name" : "btql", + "request" : { + "url" : "/btql", + "method" : "POST", + "headers" : { + "Content-Type" : { + "equalTo" : "application/json" + } + }, + "bodyPatterns" : [ { + "equalToJson" : "{\"query\":\"SELECT * FROM project_logs('f1e858a4-58e3-408f-983f-016760d7fa25') WHERE root_span_id = 'bbbdd8b7de6cbab16e56bdc161c13c12' ORDER BY created ASC LIMIT 1000\"}", + "ignoreArrayOrder" : true, + "ignoreExtraElements" : false + } ] + }, + "response" : { + "status" : 200, + "bodyFileName" : "btql-167536065e72.json", + "headers" : { + "X-Cache" : "Miss from cloudfront", + "X-Amz-Cf-Pop" : "SEA900-P9", + "x-bt-brainstore-duration-ms" : "51", + "x-bt-api-duration-ms" : "100", + "Date" : "Mon, 31 Aug 2026 17:38:08 GMT", + "Via" : "1.1 7f26c41dda80bd7d50ccec2be87c9c3e.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "private, no-cache", + "Access-Control-Allow-Credentials" : "true", + "x-bt-internal-trace-id" : "bd91d6baa20df5ffb59db154ca827bba", + "X-Amz-Cf-Id" : "otEFM2okrIa4r8KnRwtP2PtaiCp72nJ9gChyEdbLsyzf5BZMxA9b5A==", + "Vary" : "Origin", + "Content-Type" : "application/json" + } + }, + "uuid" : "587824cf-b473-3c9d-ac15-be951deb9093", + "persistent" : true, + "insertionIndex" : 182 +} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-189f56aebbb3.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-189f56aebbb3.json deleted file mode 100644 index e5a19bfb..00000000 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-189f56aebbb3.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "id" : "b0942b93-5c39-3cc0-9ffc-6abbe1a1543e", - "name" : "btql", - "request" : { - "url" : "/btql", - "method" : "POST", - "headers" : { - "Content-Type" : { - "equalTo" : "application/json" - } - }, - "bodyPatterns" : [ { - "equalToJson" : "{\"query\":\"SELECT * FROM project_logs('f1e858a4-58e3-408f-983f-016760d7fa25') WHERE root_span_id = '1161a2db575ed398466924d939fe6b52' ORDER BY created ASC LIMIT 1000\"}", - "ignoreArrayOrder" : true, - "ignoreExtraElements" : false - } ] - }, - "response" : { - "status" : 200, - "bodyFileName" : "btql-189f56aebbb3.json", - "headers" : { - "X-Cache" : "Miss from cloudfront", - "x-amz-apigw-id" : "AJUZnGi-IAMEgsA=", - "vary" : "Origin", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "x-bt-brainstore-duration-ms" : "621", - "X-Amzn-Trace-Id" : "Root=1-6a4d343d-462ad63132ccbc597a06228f;Parent=0e8ac6c06fc24f15;Sampled=0;Lineage=1:fc3b4ff1:0", - "x-bt-api-duration-ms" : "764", - "Date" : "Tue, 07 Jul 2026 17:15:41 GMT", - "Via" : "1.1 73b0c4a85645a8031ba157e0b3e28ffc.cloudfront.net (CloudFront), 1.1 04efc78121acf5d40974e6a71bebce20.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a4d343d000000007d2639c19b708c76", - "x-amzn-RequestId" : "70bf5e78-5049-489f-b306-ec9975b5d6b3", - "X-Amz-Cf-Id" : "9oI8njDnoGGv8yESZpfMeWl6Px2twHcHIk2ETIZ8Y091WIWRhvcUfg==", - "cache-control" : "private, no-cache", - "Content-Type" : "application/json" - } - }, - "uuid" : "b0942b93-5c39-3cc0-9ffc-6abbe1a1543e", - "persistent" : true, - "insertionIndex" : 163 -} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-1b62d5d402e5.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-1b62d5d402e5.json deleted file mode 100644 index bc03aaf6..00000000 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-1b62d5d402e5.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "id" : "72f9289a-9034-3271-a1e9-4d1ad8755585", - "name" : "btql", - "request" : { - "url" : "/btql", - "method" : "POST", - "headers" : { - "Content-Type" : { - "equalTo" : "application/json" - } - }, - "bodyPatterns" : [ { - "equalToJson" : "{\"query\":\"SELECT * FROM project_logs('f1e858a4-58e3-408f-983f-016760d7fa25') WHERE root_span_id = '8f4f3ffcdc1c447d8b6565a9e10d469d' ORDER BY created ASC LIMIT 1000\"}", - "ignoreArrayOrder" : true, - "ignoreExtraElements" : false - } ] - }, - "response" : { - "status" : 200, - "bodyFileName" : "btql-1b62d5d402e5.json", - "headers" : { - "X-Cache" : "Miss from cloudfront", - "x-amz-apigw-id" : "AJUaAGX3IAMEkyA=", - "vary" : "Origin", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "x-bt-brainstore-duration-ms" : "70", - "X-Amzn-Trace-Id" : "Root=1-6a4d343f-1a9fae8f66b1bee851764a52;Parent=4c56f98c6c0c4952;Sampled=0;Lineage=1:fc3b4ff1:0", - "x-bt-api-duration-ms" : "187", - "Date" : "Tue, 07 Jul 2026 17:15:43 GMT", - "Via" : "1.1 4ac8d091dce10e726cfc5404bfed72b8.cloudfront.net (CloudFront), 1.1 38842c146ccd8f527d2de72671759d96.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a4d343f000000001f6db6157c37ab2e", - "x-amzn-RequestId" : "c064ed66-4516-4b67-ab87-c55cc3e06e86", - "X-Amz-Cf-Id" : "aF2KJuGE0KO1TRLGkjtvND2FZ7bF3ryKOGEkC7DVHLWJRUV49QQxWA==", - "cache-control" : "private, no-cache", - "Content-Type" : "application/json" - } - }, - "uuid" : "72f9289a-9034-3271-a1e9-4d1ad8755585", - "persistent" : true, - "insertionIndex" : 159 -} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-215064f2a22c.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-215064f2a22c.json deleted file mode 100644 index cacebdd1..00000000 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-215064f2a22c.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "id" : "fb0c5ea9-fb8c-38d0-970b-a61057eaabd0", - "name" : "btql", - "request" : { - "url" : "/btql", - "method" : "POST", - "headers" : { - "Content-Type" : { - "equalTo" : "application/json" - } - }, - "bodyPatterns" : [ { - "equalToJson" : "{\"query\":\"SELECT * FROM project_logs('f1e858a4-58e3-408f-983f-016760d7fa25') WHERE root_span_id = '30ec82e693cf809c43216573b6d4a957' ORDER BY created ASC LIMIT 1000\"}", - "ignoreArrayOrder" : true, - "ignoreExtraElements" : false - } ] - }, - "response" : { - "status" : 200, - "bodyFileName" : "btql-215064f2a22c.json", - "headers" : { - "X-Cache" : "Miss from cloudfront", - "x-amz-apigw-id" : "AJUZ4GBTIAMEPUA=", - "vary" : "Origin", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "x-bt-brainstore-duration-ms" : "151", - "X-Amzn-Trace-Id" : "Root=1-6a4d343e-124532a21fd3d6cf4109ad9a;Parent=507dc83b732f6ef5;Sampled=0;Lineage=1:fc3b4ff1:0", - "x-bt-api-duration-ms" : "226", - "Date" : "Tue, 07 Jul 2026 17:15:42 GMT", - "Via" : "1.1 65f2e9f7f1475de54aa452d3ceb9bcf6.cloudfront.net (CloudFront), 1.1 6ebf93cd3baadad602a5fd706f0df16e.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a4d343e000000001e4c41d5a810a07c", - "x-amzn-RequestId" : "797bdd7a-9656-41ae-af27-39b258086f31", - "X-Amz-Cf-Id" : "95OBufcMUN-zOUQSmQ0lZDyJCHj5mK16b-HIzioAb-Vf8M2gxVbFHQ==", - "cache-control" : "private, no-cache", - "Content-Type" : "application/json" - } - }, - "uuid" : "fb0c5ea9-fb8c-38d0-970b-a61057eaabd0", - "persistent" : true, - "insertionIndex" : 161 -} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-216a0a10f5e8.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-216a0a10f5e8.json deleted file mode 100644 index f43d84f9..00000000 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-216a0a10f5e8.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "id" : "e7a4d647-70a4-3d38-8111-214a0f923710", - "name" : "btql", - "request" : { - "url" : "/btql", - "method" : "POST", - "headers" : { - "Content-Type" : { - "equalTo" : "application/json" - } - }, - "bodyPatterns" : [ { - "equalToJson" : "{\"query\":\"SELECT * FROM project_logs('f1e858a4-58e3-408f-983f-016760d7fa25') WHERE root_span_id = '978b606ba34d38299d34c36cdb035060' ORDER BY created ASC LIMIT 1000\"}", - "ignoreArrayOrder" : true, - "ignoreExtraElements" : false - } ] - }, - "response" : { - "status" : 200, - "bodyFileName" : "btql-216a0a10f5e8.json", - "headers" : { - "X-Cache" : "Miss from cloudfront", - "x-amz-apigw-id" : "AJUahHoKoAMEB_A=", - "vary" : "Origin", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "x-bt-brainstore-duration-ms" : "152", - "X-Amzn-Trace-Id" : "Root=1-6a4d3442-2ff83d1745cc30ae58b6c8a5;Parent=520d12c251b6dd31;Sampled=0;Lineage=1:fc3b4ff1:0", - "x-bt-api-duration-ms" : "192", - "Date" : "Tue, 07 Jul 2026 17:15:47 GMT", - "Via" : "1.1 82fa7f20ab5a12301da8e01f9493e222.cloudfront.net (CloudFront), 1.1 3417fc639ca50b55b2a1d93807a20c2c.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a4d3442000000004b896510af6377f0", - "x-amzn-RequestId" : "3455f205-0a31-4e52-baa8-452218483a20", - "X-Amz-Cf-Id" : "Mh6mWkvBjp2RQ7VevewYH0yyT8GdKprxnxVgbe9Q9cbAvK7Axp6L_g==", - "cache-control" : "private, no-cache", - "Content-Type" : "application/json" - } - }, - "uuid" : "e7a4d647-70a4-3d38-8111-214a0f923710", - "persistent" : true, - "insertionIndex" : 150 -} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-23027ba95062.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-23027ba95062.json deleted file mode 100644 index 3ec4b766..00000000 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-23027ba95062.json +++ /dev/null @@ -1,45 +0,0 @@ -{ - "id" : "8881c0cf-a666-340d-9950-3391863ac447", - "name" : "btql", - "request" : { - "url" : "/btql", - "method" : "POST", - "headers" : { - "Content-Type" : { - "equalTo" : "application/json" - } - }, - "bodyPatterns" : [ { - "equalToJson" : "{\"query\":\"SELECT * FROM project_logs('f1e858a4-58e3-408f-983f-016760d7fa25') WHERE root_span_id = 'a5e49dfbd6546b7aa6b43968e85075e9' ORDER BY created ASC LIMIT 1000\"}", - "ignoreArrayOrder" : true, - "ignoreExtraElements" : false - } ] - }, - "response" : { - "status" : 200, - "bodyFileName" : "btql-23027ba95062.json", - "headers" : { - "X-Cache" : "Miss from cloudfront", - "x-amz-apigw-id" : "ArNOPG3_IAMEJiQ=", - "vary" : "Origin", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "x-bt-brainstore-duration-ms" : "186", - "X-Amzn-Trace-Id" : "Root=1-6a5ac25a-5208db225c2096a4459c6c10;Parent=2f181018999ee174;Sampled=0;Lineage=1:fc3b4ff1:0", - "x-bt-api-duration-ms" : "362", - "Date" : "Sat, 18 Jul 2026 00:01:31 GMT", - "Via" : "1.1 d525041695bdb6325f78ebba5c11b8a2.cloudfront.net (CloudFront), 1.1 d49bde7225e80ca0dc457ff2b8b4343e.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a5ac25a000000003ad8b0d9b265775d", - "x-amzn-RequestId" : "7c6f175c-c733-4183-a03e-4f3a4fef2ec7", - "X-Amz-Cf-Id" : "b50aR5s-PjA7Xo0ZtMMvxV-PG7NsFVhC5i-frwneomnajrEpMOzlFQ==", - "cache-control" : "private, no-cache", - "Content-Type" : "application/json" - } - }, - "uuid" : "8881c0cf-a666-340d-9950-3391863ac447", - "persistent" : true, - "scenarioName" : "scenario-1-btql", - "requiredScenarioState" : "scenario-1-btql-2", - "insertionIndex" : 180 -} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-2486fde21737.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-2486fde21737.json new file mode 100644 index 00000000..43e64a43 --- /dev/null +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-2486fde21737.json @@ -0,0 +1,41 @@ +{ + "id" : "e9996e30-ccfb-348a-88c3-6bde611ecb60", + "name" : "btql", + "request" : { + "url" : "/btql", + "method" : "POST", + "headers" : { + "Content-Type" : { + "equalTo" : "application/json" + } + }, + "bodyPatterns" : [ { + "equalToJson" : "{\"query\":\"SELECT * FROM project_logs('f1e858a4-58e3-408f-983f-016760d7fa25') WHERE root_span_id = '40ef2b9464b3a33e287a55ead1b8a023' ORDER BY created ASC LIMIT 1000\"}", + "ignoreArrayOrder" : true, + "ignoreExtraElements" : false + } ] + }, + "response" : { + "status" : 200, + "bodyFileName" : "btql-2486fde21737.json", + "headers" : { + "X-Cache" : "Miss from cloudfront", + "X-Amz-Cf-Pop" : "SEA900-P9", + "x-bt-brainstore-duration-ms" : "44", + "x-bt-api-duration-ms" : "117", + "Date" : "Mon, 31 Aug 2026 17:38:11 GMT", + "Via" : "1.1 28edb03169fa053a4a523d90d15ff6ae.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "private, no-cache", + "Access-Control-Allow-Credentials" : "true", + "x-bt-internal-trace-id" : "3de43afb5e130c10dca9797e9a1ade31", + "X-Amz-Cf-Id" : "rp2OPlPSWUcEHN_1y4E2ZP4PX8PHyHGa5HdIFQTn6XhXXTzyr6ms7g==", + "Vary" : "Origin", + "Content-Type" : "application/json" + } + }, + "uuid" : "e9996e30-ccfb-348a-88c3-6bde611ecb60", + "persistent" : true, + "insertionIndex" : 174 +} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-297722e748ab.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-297722e748ab.json new file mode 100644 index 00000000..9e7903da --- /dev/null +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-297722e748ab.json @@ -0,0 +1,41 @@ +{ + "id" : "119419fd-2193-3720-9714-2faa122524be", + "name" : "btql", + "request" : { + "url" : "/btql", + "method" : "POST", + "headers" : { + "Content-Type" : { + "equalTo" : "application/json" + } + }, + "bodyPatterns" : [ { + "equalToJson" : "{\"query\":\"SELECT * FROM project_logs('f1e858a4-58e3-408f-983f-016760d7fa25') WHERE root_span_id = 'e116d5f530b97511b00908b55260b6ac' ORDER BY created ASC LIMIT 1000\"}", + "ignoreArrayOrder" : true, + "ignoreExtraElements" : false + } ] + }, + "response" : { + "status" : 200, + "bodyFileName" : "btql-297722e748ab.json", + "headers" : { + "X-Cache" : "Miss from cloudfront", + "X-Amz-Cf-Pop" : "SEA900-P9", + "x-bt-brainstore-duration-ms" : "231", + "x-bt-api-duration-ms" : "293", + "Date" : "Mon, 31 Aug 2026 17:38:07 GMT", + "Via" : "1.1 b2b215a89cc2734b2940e2eb59ea4bd0.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "private, no-cache", + "Access-Control-Allow-Credentials" : "true", + "x-bt-internal-trace-id" : "b081d66fd60b81ba8eb3abd0b67615dd", + "X-Amz-Cf-Id" : "gbOepl_QmLqj866Z5hxP1ltXLuuO62xoH2Meo9OSIz_req1fbFBKDw==", + "Vary" : "Origin", + "Content-Type" : "application/json" + } + }, + "uuid" : "119419fd-2193-3720-9714-2faa122524be", + "persistent" : true, + "insertionIndex" : 186 +} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-3304ea146292.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-3304ea146292.json deleted file mode 100644 index 66cf5972..00000000 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-3304ea146292.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "id" : "265cc167-4ea7-39e6-af3a-e359e82d6418", - "name" : "btql", - "request" : { - "url" : "/btql", - "method" : "POST", - "headers" : { - "Content-Type" : { - "equalTo" : "application/json" - } - }, - "bodyPatterns" : [ { - "equalToJson" : "{\"query\":\"SELECT * FROM project_logs('f1e858a4-58e3-408f-983f-016760d7fa25') WHERE root_span_id = '8c482fded5ef09d5e5ab1d3f1d5d8d71' ORDER BY created ASC LIMIT 1000\"}", - "ignoreArrayOrder" : true, - "ignoreExtraElements" : false - } ] - }, - "response" : { - "status" : 200, - "bodyFileName" : "btql-3304ea146292.json", - "headers" : { - "X-Cache" : "Miss from cloudfront", - "x-amz-apigw-id" : "AJUbRHcrIAMENrA=", - "vary" : "Origin", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "x-bt-brainstore-duration-ms" : "43", - "X-Amzn-Trace-Id" : "Root=1-6a4d3447-2759f6497a7f3161558d0949;Parent=642be7ed032798b0;Sampled=0;Lineage=1:fc3b4ff1:0", - "x-bt-api-duration-ms" : "90", - "Date" : "Tue, 07 Jul 2026 17:15:51 GMT", - "Via" : "1.1 65f2e9f7f1475de54aa452d3ceb9bcf6.cloudfront.net (CloudFront), 1.1 4c8322ac27bebc2a7e26f72c7b6ec2ee.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a4d34470000000051811019e316d2b2", - "x-amzn-RequestId" : "bb49b832-5aba-45fa-8502-44cd777e69d1", - "X-Amz-Cf-Id" : "DeU3QEqwdx92EvG5G3hhK2RU4QkI_BEOqLUGTrNpPItpuCKVdKv_uQ==", - "cache-control" : "private, no-cache", - "Content-Type" : "application/json" - } - }, - "uuid" : "265cc167-4ea7-39e6-af3a-e359e82d6418", - "persistent" : true, - "insertionIndex" : 137 -} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-37c43c36743a.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-37c43c36743a.json new file mode 100644 index 00000000..996fc80f --- /dev/null +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-37c43c36743a.json @@ -0,0 +1,41 @@ +{ + "id" : "d59e63e4-c0b5-3a0b-8845-c8af0f66f1d2", + "name" : "btql", + "request" : { + "url" : "/btql", + "method" : "POST", + "headers" : { + "Content-Type" : { + "equalTo" : "application/json" + } + }, + "bodyPatterns" : [ { + "equalToJson" : "{\"query\":\"SELECT * FROM project_logs('f1e858a4-58e3-408f-983f-016760d7fa25') WHERE root_span_id = '93dc61f8ad224ff689a72da433eb5cfa' ORDER BY created ASC LIMIT 1000\"}", + "ignoreArrayOrder" : true, + "ignoreExtraElements" : false + } ] + }, + "response" : { + "status" : 200, + "bodyFileName" : "btql-37c43c36743a.json", + "headers" : { + "X-Cache" : "Miss from cloudfront", + "X-Amz-Cf-Pop" : "SEA900-P9", + "x-bt-brainstore-duration-ms" : "27", + "x-bt-api-duration-ms" : "72", + "Date" : "Mon, 31 Aug 2026 17:38:21 GMT", + "Via" : "1.1 04efc78121acf5d40974e6a71bebce20.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "private, no-cache", + "Access-Control-Allow-Credentials" : "true", + "x-bt-internal-trace-id" : "2150f83440137130cd290b58b3b6587d", + "X-Amz-Cf-Id" : "URR-uehnkTwZxXllos0mPzz4VbVLGe2CSqYtOR6W5tI50nd25uYtfg==", + "Vary" : "Origin", + "Content-Type" : "application/json" + } + }, + "uuid" : "d59e63e4-c0b5-3a0b-8845-c8af0f66f1d2", + "persistent" : true, + "insertionIndex" : 144 +} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-38b88ebc8fab.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-38b88ebc8fab.json new file mode 100644 index 00000000..bd8e657b --- /dev/null +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-38b88ebc8fab.json @@ -0,0 +1,41 @@ +{ + "id" : "53063913-72bc-3b5c-b4b7-b9392db63bac", + "name" : "btql", + "request" : { + "url" : "/btql", + "method" : "POST", + "headers" : { + "Content-Type" : { + "equalTo" : "application/json" + } + }, + "bodyPatterns" : [ { + "equalToJson" : "{\"query\":\"SELECT * FROM project_logs('f1e858a4-58e3-408f-983f-016760d7fa25') WHERE root_span_id = '927c2d880638e702231220991fe61ceb' ORDER BY created ASC LIMIT 1000\"}", + "ignoreArrayOrder" : true, + "ignoreExtraElements" : false + } ] + }, + "response" : { + "status" : 200, + "bodyFileName" : "btql-38b88ebc8fab.json", + "headers" : { + "X-Cache" : "Miss from cloudfront", + "X-Amz-Cf-Pop" : "SEA900-P9", + "x-bt-brainstore-duration-ms" : "27", + "x-bt-api-duration-ms" : "94", + "Date" : "Mon, 31 Aug 2026 17:38:13 GMT", + "Via" : "1.1 3417fc639ca50b55b2a1d93807a20c2c.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "private, no-cache", + "Access-Control-Allow-Credentials" : "true", + "x-bt-internal-trace-id" : "a83122f3c945e08e394b3ab0a7668eae", + "X-Amz-Cf-Id" : "LjMMh8y65ncrwjtTU4iSObnrgXoET7uoqpyzEZekZ4wLVQDef-dibw==", + "Vary" : "Origin", + "Content-Type" : "application/json" + } + }, + "uuid" : "53063913-72bc-3b5c-b4b7-b9392db63bac", + "persistent" : true, + "insertionIndex" : 169 +} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-398c586dae81.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-398c586dae81.json new file mode 100644 index 00000000..2582866c --- /dev/null +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-398c586dae81.json @@ -0,0 +1,41 @@ +{ + "id" : "74d4553f-f234-34ad-8453-4119567ec707", + "name" : "btql", + "request" : { + "url" : "/btql", + "method" : "POST", + "headers" : { + "Content-Type" : { + "equalTo" : "application/json" + } + }, + "bodyPatterns" : [ { + "equalToJson" : "{\"query\":\"SELECT * FROM project_logs('f1e858a4-58e3-408f-983f-016760d7fa25') WHERE root_span_id = '5588692a0746bfb33f6c4935d1b0b2bc' ORDER BY created ASC LIMIT 1000\"}", + "ignoreArrayOrder" : true, + "ignoreExtraElements" : false + } ] + }, + "response" : { + "status" : 200, + "bodyFileName" : "btql-398c586dae81.json", + "headers" : { + "X-Cache" : "Miss from cloudfront", + "X-Amz-Cf-Pop" : "SEA900-P9", + "x-bt-brainstore-duration-ms" : "37", + "x-bt-api-duration-ms" : "82", + "Date" : "Mon, 31 Aug 2026 17:38:20 GMT", + "Via" : "1.1 b3a8bdee20374465a3f2aa64f19ec30e.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "private, no-cache", + "Access-Control-Allow-Credentials" : "true", + "x-bt-internal-trace-id" : "2e6d99e3eb650d7d8dde7c91c11ec14f", + "X-Amz-Cf-Id" : "ZvN3p96rw70rmk9pMD-sinl2G8UIyer4NxHR1L8_KqSx6d6_iqWQHg==", + "Vary" : "Origin", + "Content-Type" : "application/json" + } + }, + "uuid" : "74d4553f-f234-34ad-8453-4119567ec707", + "persistent" : true, + "insertionIndex" : 147 +} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-3ab061030d80.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-3ab061030d80.json deleted file mode 100644 index 2f91e8b9..00000000 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-3ab061030d80.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "id" : "2239330b-76e6-34c3-bd66-51ddacbae685", - "name" : "btql", - "request" : { - "url" : "/btql", - "method" : "POST", - "headers" : { - "Content-Type" : { - "equalTo" : "application/json" - } - }, - "bodyPatterns" : [ { - "equalToJson" : "{\"query\":\"SELECT * FROM project_logs('f1e858a4-58e3-408f-983f-016760d7fa25') WHERE root_span_id = '3180e785623eb389395664ee29927e47' ORDER BY created ASC LIMIT 1000\"}", - "ignoreArrayOrder" : true, - "ignoreExtraElements" : false - } ] - }, - "response" : { - "status" : 200, - "bodyFileName" : "btql-3ab061030d80.json", - "headers" : { - "X-Cache" : "Miss from cloudfront", - "x-amz-apigw-id" : "AJUaoEsLoAMELpg=", - "vary" : "Origin", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "x-bt-brainstore-duration-ms" : "48", - "X-Amzn-Trace-Id" : "Root=1-6a4d3443-569e3130448ac06714831840;Parent=57d53d728f71629e;Sampled=0;Lineage=1:fc3b4ff1:0", - "x-bt-api-duration-ms" : "97", - "Date" : "Tue, 07 Jul 2026 17:15:47 GMT", - "Via" : "1.1 65f2e9f7f1475de54aa452d3ceb9bcf6.cloudfront.net (CloudFront), 1.1 38842c146ccd8f527d2de72671759d96.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a4d3443000000002b62d926ea1cdeef", - "x-amzn-RequestId" : "95dc1b8b-e852-4bed-af64-e422ee022550", - "X-Amz-Cf-Id" : "lP13RwdVRUM5Fdjvs4mIWsIf49wsl8GK2xG8QOWWdVzByJLhP7Ye3g==", - "cache-control" : "private, no-cache", - "Content-Type" : "application/json" - } - }, - "uuid" : "2239330b-76e6-34c3-bd66-51ddacbae685", - "persistent" : true, - "insertionIndex" : 148 -} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-3ca4079673e6.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-3ca4079673e6.json deleted file mode 100644 index 73a9c38e..00000000 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-3ca4079673e6.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "id" : "b9e52d3b-4f85-365b-8047-2f1127cdc8cf", - "name" : "btql", - "request" : { - "url" : "/btql", - "method" : "POST", - "headers" : { - "Content-Type" : { - "equalTo" : "application/json" - } - }, - "bodyPatterns" : [ { - "equalToJson" : "{\"query\":\"SELECT * FROM project_logs('f1e858a4-58e3-408f-983f-016760d7fa25') WHERE root_span_id = '3027b2781836d82c98da2250b5f45406' ORDER BY created ASC LIMIT 1000\"}", - "ignoreArrayOrder" : true, - "ignoreExtraElements" : false - } ] - }, - "response" : { - "status" : 200, - "bodyFileName" : "btql-3ca4079673e6.json", - "headers" : { - "X-Cache" : "Miss from cloudfront", - "x-amz-apigw-id" : "AJUaTG_WIAMEG7w=", - "vary" : "Origin", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "x-bt-brainstore-duration-ms" : "42", - "X-Amzn-Trace-Id" : "Root=1-6a4d3441-534d7e742a48fc2a49cf55bf;Parent=38015af2cf545779;Sampled=0;Lineage=1:fc3b4ff1:0", - "x-bt-api-duration-ms" : "84", - "Date" : "Tue, 07 Jul 2026 17:15:45 GMT", - "Via" : "1.1 e82f2bd1d85893fad1abb144337e7368.cloudfront.net (CloudFront), 1.1 88f286e23c15fc2f62a741db8207a67a.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a4d3441000000001c89b4a433f6b848", - "x-amzn-RequestId" : "fdede5e1-ed7c-4df5-bf04-376d0528aa73", - "X-Amz-Cf-Id" : "C3Iwm7pa7g0sYw55iLsSjSbisX9BIKr4K1OrNxf8_r99zdAOCjNbjw==", - "cache-control" : "private, no-cache", - "Content-Type" : "application/json" - } - }, - "uuid" : "b9e52d3b-4f85-365b-8047-2f1127cdc8cf", - "persistent" : true, - "insertionIndex" : 153 -} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-411302da969a.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-411302da969a.json new file mode 100644 index 00000000..cc84be5d --- /dev/null +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-411302da969a.json @@ -0,0 +1,41 @@ +{ + "id" : "4415d963-a8e7-3707-820f-fa4b177f7493", + "name" : "btql", + "request" : { + "url" : "/btql", + "method" : "POST", + "headers" : { + "Content-Type" : { + "equalTo" : "application/json" + } + }, + "bodyPatterns" : [ { + "equalToJson" : "{\"query\":\"SELECT * FROM project_logs('f1e858a4-58e3-408f-983f-016760d7fa25') WHERE root_span_id = '977e036b9707460c32cc1ebc3e5f6aa5' ORDER BY created ASC LIMIT 1000\"}", + "ignoreArrayOrder" : true, + "ignoreExtraElements" : false + } ] + }, + "response" : { + "status" : 200, + "bodyFileName" : "btql-411302da969a.json", + "headers" : { + "X-Cache" : "Miss from cloudfront", + "X-Amz-Cf-Pop" : "SEA900-P9", + "x-bt-brainstore-duration-ms" : "165", + "x-bt-api-duration-ms" : "211", + "Date" : "Mon, 31 Aug 2026 17:38:11 GMT", + "Via" : "1.1 38842c146ccd8f527d2de72671759d96.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "private, no-cache", + "Access-Control-Allow-Credentials" : "true", + "x-bt-internal-trace-id" : "8d20ee120b180e645ebb4bb1de92e516", + "X-Amz-Cf-Id" : "Xw2KQS3brn2Q8KRqGAulw0s0kRudufzceij4Fn8VvbdqxvOdV4Ilvw==", + "Vary" : "Origin", + "Content-Type" : "application/json" + } + }, + "uuid" : "4415d963-a8e7-3707-820f-fa4b177f7493", + "persistent" : true, + "insertionIndex" : 175 +} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-4517fb16a4f0.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-4517fb16a4f0.json new file mode 100644 index 00000000..6a4d9319 --- /dev/null +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-4517fb16a4f0.json @@ -0,0 +1,41 @@ +{ + "id" : "494aef5f-8215-3fe7-b05d-6a49d53fc262", + "name" : "btql", + "request" : { + "url" : "/btql", + "method" : "POST", + "headers" : { + "Content-Type" : { + "equalTo" : "application/json" + } + }, + "bodyPatterns" : [ { + "equalToJson" : "{\"query\":\"SELECT * FROM project_logs('f1e858a4-58e3-408f-983f-016760d7fa25') WHERE root_span_id = 'ae831d8e000a476c0fc38c8c88380b23' ORDER BY created ASC LIMIT 1000\"}", + "ignoreArrayOrder" : true, + "ignoreExtraElements" : false + } ] + }, + "response" : { + "status" : 200, + "bodyFileName" : "btql-4517fb16a4f0.json", + "headers" : { + "X-Cache" : "Miss from cloudfront", + "X-Amz-Cf-Pop" : "SEA900-P9", + "x-bt-brainstore-duration-ms" : "44", + "x-bt-api-duration-ms" : "92", + "Date" : "Mon, 31 Aug 2026 17:38:10 GMT", + "Via" : "1.1 04efc78121acf5d40974e6a71bebce20.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "private, no-cache", + "Access-Control-Allow-Credentials" : "true", + "x-bt-internal-trace-id" : "7347009baf411b26f6f9a255fc07934b", + "X-Amz-Cf-Id" : "FdwooFUxwTNrbEqR1EBmInbtAgLePzQuEK_8-oszIIGnlIKcoOWyTQ==", + "Vary" : "Origin", + "Content-Type" : "application/json" + } + }, + "uuid" : "494aef5f-8215-3fe7-b05d-6a49d53fc262", + "persistent" : true, + "insertionIndex" : 179 +} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-47541e20a280.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-47541e20a280.json deleted file mode 100644 index 1ca2c57e..00000000 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-47541e20a280.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "id" : "2f3bd1d5-4d3b-39b9-82e6-8072aa95e9e1", - "name" : "btql", - "request" : { - "url" : "/btql", - "method" : "POST", - "headers" : { - "Content-Type" : { - "equalTo" : "application/json" - } - }, - "bodyPatterns" : [ { - "equalToJson" : "{\"query\":\"SELECT * FROM project_logs('f1e858a4-58e3-408f-983f-016760d7fa25') WHERE root_span_id = '14a18d0ad1051e39f5ef5f9ca35fd43c' ORDER BY created ASC LIMIT 1000\"}", - "ignoreArrayOrder" : true, - "ignoreExtraElements" : false - } ] - }, - "response" : { - "status" : 200, - "bodyFileName" : "btql-47541e20a280.json", - "headers" : { - "X-Cache" : "Miss from cloudfront", - "x-amz-apigw-id" : "AJUaKF34IAMEKgg=", - "vary" : "Origin", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "x-bt-brainstore-duration-ms" : "78", - "X-Amzn-Trace-Id" : "Root=1-6a4d3440-5f0003242510ff0e62310c86;Parent=6a558a597bfb2981;Sampled=0;Lineage=1:fc3b4ff1:0", - "x-bt-api-duration-ms" : "131", - "Date" : "Tue, 07 Jul 2026 17:15:44 GMT", - "Via" : "1.1 82fa7f20ab5a12301da8e01f9493e222.cloudfront.net (CloudFront), 1.1 a6be96637dfcb93ee417719bb21d57d0.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a4d3440000000005c90fdfe972e62cf", - "x-amzn-RequestId" : "de81bfbf-9273-4b65-a987-774bedc28cf7", - "X-Amz-Cf-Id" : "3q2yVpKMuM2007og9eBo9AmBkvOpovH7UMsml4UCTxdGysIfjJWYkg==", - "cache-control" : "private, no-cache", - "Content-Type" : "application/json" - } - }, - "uuid" : "2f3bd1d5-4d3b-39b9-82e6-8072aa95e9e1", - "persistent" : true, - "insertionIndex" : 156 -} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-566d042bdb8f.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-566d042bdb8f.json new file mode 100644 index 00000000..ab75e07b --- /dev/null +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-566d042bdb8f.json @@ -0,0 +1,41 @@ +{ + "id" : "958c6295-1d5e-3a1c-befb-eade49237bc4", + "name" : "btql", + "request" : { + "url" : "/btql", + "method" : "POST", + "headers" : { + "Content-Type" : { + "equalTo" : "application/json" + } + }, + "bodyPatterns" : [ { + "equalToJson" : "{\"query\":\"SELECT * FROM project_logs('f1e858a4-58e3-408f-983f-016760d7fa25') WHERE root_span_id = 'e29913042d28ee431622b2f679632a84' ORDER BY created ASC LIMIT 1000\"}", + "ignoreArrayOrder" : true, + "ignoreExtraElements" : false + } ] + }, + "response" : { + "status" : 200, + "bodyFileName" : "btql-566d042bdb8f.json", + "headers" : { + "X-Cache" : "Miss from cloudfront", + "X-Amz-Cf-Pop" : "SEA900-P9", + "x-bt-brainstore-duration-ms" : "167", + "x-bt-api-duration-ms" : "319", + "Date" : "Mon, 31 Aug 2026 17:38:13 GMT", + "Via" : "1.1 a3134c0c893f03d1e9a9c657d09af7cc.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "private, no-cache", + "Access-Control-Allow-Credentials" : "true", + "x-bt-internal-trace-id" : "e6d3dd19c8693cfe98890b6c6c18aa79", + "X-Amz-Cf-Id" : "oSoMkPs7iT9BuXuCSTJCpfobn5qsFEdzEbAPu6nJVX3RXqtKMyodow==", + "Vary" : "Origin", + "Content-Type" : "application/json" + } + }, + "uuid" : "958c6295-1d5e-3a1c-befb-eade49237bc4", + "persistent" : true, + "insertionIndex" : 170 +} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-5abe910f4fc2.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-5abe910f4fc2.json new file mode 100644 index 00000000..f1bc4f7e --- /dev/null +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-5abe910f4fc2.json @@ -0,0 +1,41 @@ +{ + "id" : "d7953501-ca45-3e5e-81d5-fc8c492c6ee4", + "name" : "btql", + "request" : { + "url" : "/btql", + "method" : "POST", + "headers" : { + "Content-Type" : { + "equalTo" : "application/json" + } + }, + "bodyPatterns" : [ { + "equalToJson" : "{\"query\":\"SELECT * FROM project_logs('f1e858a4-58e3-408f-983f-016760d7fa25') WHERE root_span_id = '432e4184a74aaf5ff0a506e2519358bc' ORDER BY created ASC LIMIT 1000\"}", + "ignoreArrayOrder" : true, + "ignoreExtraElements" : false + } ] + }, + "response" : { + "status" : 200, + "bodyFileName" : "btql-5abe910f4fc2.json", + "headers" : { + "X-Cache" : "Miss from cloudfront", + "X-Amz-Cf-Pop" : "SEA900-P9", + "x-bt-brainstore-duration-ms" : "80", + "x-bt-api-duration-ms" : "124", + "Date" : "Mon, 31 Aug 2026 17:38:18 GMT", + "Via" : "1.1 e088ff8bff69861ed7fd37fbb518f0c2.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "private, no-cache", + "Access-Control-Allow-Credentials" : "true", + "x-bt-internal-trace-id" : "50e5581586cda2156865f37c6e0ee501", + "X-Amz-Cf-Id" : "uwQ8OF2ZD7xbxFEsLJZ3u3brCp5WS_Xr9AmB7xXLeCLqKC2G0EaN2g==", + "Vary" : "Origin", + "Content-Type" : "application/json" + } + }, + "uuid" : "d7953501-ca45-3e5e-81d5-fc8c492c6ee4", + "persistent" : true, + "insertionIndex" : 156 +} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-5c166c476473.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-5c166c476473.json new file mode 100644 index 00000000..13382acb --- /dev/null +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-5c166c476473.json @@ -0,0 +1,41 @@ +{ + "id" : "2711c0f5-cbb6-30c7-9744-88e985ad996a", + "name" : "btql", + "request" : { + "url" : "/btql", + "method" : "POST", + "headers" : { + "Content-Type" : { + "equalTo" : "application/json" + } + }, + "bodyPatterns" : [ { + "equalToJson" : "{\"query\":\"SELECT * FROM project_logs('f1e858a4-58e3-408f-983f-016760d7fa25') WHERE root_span_id = '35749b8a55a0864106d2c815fdf661ae' ORDER BY created ASC LIMIT 1000\"}", + "ignoreArrayOrder" : true, + "ignoreExtraElements" : false + } ] + }, + "response" : { + "status" : 200, + "bodyFileName" : "btql-5c166c476473.json", + "headers" : { + "X-Cache" : "Miss from cloudfront", + "X-Amz-Cf-Pop" : "SEA900-P9", + "x-bt-brainstore-duration-ms" : "55", + "x-bt-api-duration-ms" : "107", + "Date" : "Mon, 31 Aug 2026 17:38:19 GMT", + "Via" : "1.1 6ebf93cd3baadad602a5fd706f0df16e.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "private, no-cache", + "Access-Control-Allow-Credentials" : "true", + "x-bt-internal-trace-id" : "8cd33ceecddb45f1e65cd34ed5e9fdfc", + "X-Amz-Cf-Id" : "cKM-nVUm4IFgBCERohp1jZ3vMGpygqOT5eCPQ60TL6PC0Afozg0kkA==", + "Vary" : "Origin", + "Content-Type" : "application/json" + } + }, + "uuid" : "2711c0f5-cbb6-30c7-9744-88e985ad996a", + "persistent" : true, + "insertionIndex" : 152 +} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-6035346467b9.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-6035346467b9.json new file mode 100644 index 00000000..39f0aa99 --- /dev/null +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-6035346467b9.json @@ -0,0 +1,41 @@ +{ + "id" : "378a0b56-257c-3ec7-8126-d23ad0d96034", + "name" : "btql", + "request" : { + "url" : "/btql", + "method" : "POST", + "headers" : { + "Content-Type" : { + "equalTo" : "application/json" + } + }, + "bodyPatterns" : [ { + "equalToJson" : "{\"query\":\"SELECT * FROM project_logs('f1e858a4-58e3-408f-983f-016760d7fa25') WHERE root_span_id = '841a1a6424421ee99cda6fbe10edd7be' ORDER BY created ASC LIMIT 1000\"}", + "ignoreArrayOrder" : true, + "ignoreExtraElements" : false + } ] + }, + "response" : { + "status" : 200, + "bodyFileName" : "btql-6035346467b9.json", + "headers" : { + "X-Cache" : "Miss from cloudfront", + "X-Amz-Cf-Pop" : "SEA900-P9", + "x-bt-brainstore-duration-ms" : "38", + "x-bt-api-duration-ms" : "83", + "Date" : "Mon, 31 Aug 2026 17:38:19 GMT", + "Via" : "1.1 b54238be18861f9bb1272bf1cb10e040.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "private, no-cache", + "Access-Control-Allow-Credentials" : "true", + "x-bt-internal-trace-id" : "9020a21b703f72d83c29ec97adc16b56", + "X-Amz-Cf-Id" : "Jb_e20PnUDqR2OnwJs5bdKIxGYz2oET0weo7FpUDYADc-4Hh6EaqIg==", + "Vary" : "Origin", + "Content-Type" : "application/json" + } + }, + "uuid" : "378a0b56-257c-3ec7-8126-d23ad0d96034", + "persistent" : true, + "insertionIndex" : 153 +} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-66565a616681.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-66565a616681.json new file mode 100644 index 00000000..c4ce31a3 --- /dev/null +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-66565a616681.json @@ -0,0 +1,41 @@ +{ + "id" : "acb8a690-dad6-3ab8-871e-cdc92c68322a", + "name" : "btql", + "request" : { + "url" : "/btql", + "method" : "POST", + "headers" : { + "Content-Type" : { + "equalTo" : "application/json" + } + }, + "bodyPatterns" : [ { + "equalToJson" : "{\"query\":\"SELECT * FROM project_logs('f1e858a4-58e3-408f-983f-016760d7fa25') WHERE root_span_id = '0a29674f4f56fecfc2e832fe414a698e' ORDER BY created ASC LIMIT 1000\"}", + "ignoreArrayOrder" : true, + "ignoreExtraElements" : false + } ] + }, + "response" : { + "status" : 200, + "bodyFileName" : "btql-66565a616681.json", + "headers" : { + "X-Cache" : "Miss from cloudfront", + "X-Amz-Cf-Pop" : "SEA900-P9", + "x-bt-brainstore-duration-ms" : "32", + "x-bt-api-duration-ms" : "94", + "Date" : "Mon, 31 Aug 2026 17:38:22 GMT", + "Via" : "1.1 087b179013ed486bf34db435cff85f08.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "private, no-cache", + "Access-Control-Allow-Credentials" : "true", + "x-bt-internal-trace-id" : "a96f145d6d2a843fa5dc64c38fde888e", + "X-Amz-Cf-Id" : "_8gih3mleFn9CVuiWHyhRY_zybPJWPiGT8BAC0tH9f-51BykZVxsHg==", + "Vary" : "Origin", + "Content-Type" : "application/json" + } + }, + "uuid" : "acb8a690-dad6-3ab8-871e-cdc92c68322a", + "persistent" : true, + "insertionIndex" : 139 +} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-67d7f8507c92.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-67d7f8507c92.json new file mode 100644 index 00000000..da79a4d0 --- /dev/null +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-67d7f8507c92.json @@ -0,0 +1,41 @@ +{ + "id" : "fa1a8ce1-3cae-396a-a265-e42c01ca0c9a", + "name" : "btql", + "request" : { + "url" : "/btql", + "method" : "POST", + "headers" : { + "Content-Type" : { + "equalTo" : "application/json" + } + }, + "bodyPatterns" : [ { + "equalToJson" : "{\"query\":\"SELECT * FROM project_logs('f1e858a4-58e3-408f-983f-016760d7fa25') WHERE root_span_id = 'a7f40f13c51c478688d2891a2ecb5994' ORDER BY created ASC LIMIT 1000\"}", + "ignoreArrayOrder" : true, + "ignoreExtraElements" : false + } ] + }, + "response" : { + "status" : 200, + "bodyFileName" : "btql-67d7f8507c92.json", + "headers" : { + "X-Cache" : "Miss from cloudfront", + "X-Amz-Cf-Pop" : "SEA900-P9", + "x-bt-brainstore-duration-ms" : "205", + "x-bt-api-duration-ms" : "267", + "Date" : "Mon, 31 Aug 2026 17:38:08 GMT", + "Via" : "1.1 b2b215a89cc2734b2940e2eb59ea4bd0.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "private, no-cache", + "Access-Control-Allow-Credentials" : "true", + "x-bt-internal-trace-id" : "414e2a9bb7cf12c7a18788ae94025f04", + "X-Amz-Cf-Id" : "cBkV-sxfD1_FtpwyybEjNi-0B6buBTnOf2B0GNzA2wGhQZ4Cn9Mh6Q==", + "Vary" : "Origin", + "Content-Type" : "application/json" + } + }, + "uuid" : "fa1a8ce1-3cae-396a-a265-e42c01ca0c9a", + "persistent" : true, + "insertionIndex" : 183 +} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-68a934551d9c.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-68a934551d9c.json new file mode 100644 index 00000000..9c7804bc --- /dev/null +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-68a934551d9c.json @@ -0,0 +1,41 @@ +{ + "id" : "865a182d-6975-39ba-90f0-d3121ecae9b2", + "name" : "btql", + "request" : { + "url" : "/btql", + "method" : "POST", + "headers" : { + "Content-Type" : { + "equalTo" : "application/json" + } + }, + "bodyPatterns" : [ { + "equalToJson" : "{\"query\":\"SELECT * FROM project_logs('f1e858a4-58e3-408f-983f-016760d7fa25') WHERE root_span_id = '7c6bbab7a5ef8898e6e9e45c2c15e717' ORDER BY created ASC LIMIT 1000\"}", + "ignoreArrayOrder" : true, + "ignoreExtraElements" : false + } ] + }, + "response" : { + "status" : 200, + "bodyFileName" : "btql-68a934551d9c.json", + "headers" : { + "X-Cache" : "Miss from cloudfront", + "X-Amz-Cf-Pop" : "SEA900-P9", + "x-bt-brainstore-duration-ms" : "40", + "x-bt-api-duration-ms" : "112", + "Date" : "Mon, 31 Aug 2026 17:38:20 GMT", + "Via" : "1.1 88f286e23c15fc2f62a741db8207a67a.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "private, no-cache", + "Access-Control-Allow-Credentials" : "true", + "x-bt-internal-trace-id" : "6c7d47679773ba5e37ec01998b5cc657", + "X-Amz-Cf-Id" : "M7kTgXGYFzgH2HQuwcS7h7l1xK_f40s3MlxTm0fD8cQVvJpPHpogJA==", + "Vary" : "Origin", + "Content-Type" : "application/json" + } + }, + "uuid" : "865a182d-6975-39ba-90f0-d3121ecae9b2", + "persistent" : true, + "insertionIndex" : 148 +} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-6acac93b0b31.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-6acac93b0b31.json deleted file mode 100644 index f3af56b8..00000000 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-6acac93b0b31.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "id" : "4fd921ce-0d1c-3abd-b805-5d2c437cdc49", - "name" : "btql", - "request" : { - "url" : "/btql", - "method" : "POST", - "headers" : { - "Content-Type" : { - "equalTo" : "application/json" - } - }, - "bodyPatterns" : [ { - "equalToJson" : "{\"query\":\"SELECT * FROM project_logs('f1e858a4-58e3-408f-983f-016760d7fa25') WHERE root_span_id = 'ad02c2989f0698359922a88d6ce6715a' ORDER BY created ASC LIMIT 1000\"}", - "ignoreArrayOrder" : true, - "ignoreExtraElements" : false - } ] - }, - "response" : { - "status" : 200, - "bodyFileName" : "btql-6acac93b0b31.json", - "headers" : { - "X-Cache" : "Miss from cloudfront", - "x-amz-apigw-id" : "AJUZ9GqfIAMElRA=", - "vary" : "Origin", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "x-bt-brainstore-duration-ms" : "41", - "X-Amzn-Trace-Id" : "Root=1-6a4d343f-3e66cc36769ed4bf15a9cba6;Parent=7c556e450cb8e717;Sampled=0;Lineage=1:fc3b4ff1:0", - "x-bt-api-duration-ms" : "123", - "Date" : "Tue, 07 Jul 2026 17:15:43 GMT", - "Via" : "1.1 73b0c4a85645a8031ba157e0b3e28ffc.cloudfront.net (CloudFront), 1.1 2501b465adde8e5aedc3f38e3dfcdc22.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a4d343f0000000017c74a902d9cf679", - "x-amzn-RequestId" : "60ed177a-ef25-4bb7-82c8-3753867383fb", - "X-Amz-Cf-Id" : "Obp6s4CaJyE6Hye0Z8NSj2P_tjT3pMcNiUjSawmXafsSfx5mSn8FgQ==", - "cache-control" : "private, no-cache", - "Content-Type" : "application/json" - } - }, - "uuid" : "4fd921ce-0d1c-3abd-b805-5d2c437cdc49", - "persistent" : true, - "insertionIndex" : 160 -} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-70a295828a5b.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-70a295828a5b.json deleted file mode 100644 index 9f5f93ca..00000000 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-70a295828a5b.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "id" : "17df7ba4-638e-3f71-8766-1483d8667a3b", - "name" : "btql", - "request" : { - "url" : "/btql", - "method" : "POST", - "headers" : { - "Content-Type" : { - "equalTo" : "application/json" - } - }, - "bodyPatterns" : [ { - "equalToJson" : "{\"query\":\"SELECT * FROM project_logs('f1e858a4-58e3-408f-983f-016760d7fa25') WHERE root_span_id = '288351f2c44585790bbd287a0b6a0161' ORDER BY created ASC LIMIT 1000\"}", - "ignoreArrayOrder" : true, - "ignoreExtraElements" : false - } ] - }, - "response" : { - "status" : 200, - "bodyFileName" : "btql-70a295828a5b.json", - "headers" : { - "X-Cache" : "Miss from cloudfront", - "x-amz-apigw-id" : "ArL-CEEDIAMEZZg=", - "vary" : "Origin", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "x-bt-brainstore-duration-ms" : "41", - "X-Amzn-Trace-Id" : "Root=1-6a5ac059-5f5e7122054106f06599f630;Parent=4e343745995eacb3;Sampled=0;Lineage=1:fc3b4ff1:0", - "x-bt-api-duration-ms" : "98", - "Date" : "Fri, 17 Jul 2026 23:52:57 GMT", - "Via" : "1.1 566cc276dff9847158a5a9854be4df42.cloudfront.net (CloudFront), 1.1 087b179013ed486bf34db435cff85f08.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a5ac05900000000620c1721be3e527a", - "x-amzn-RequestId" : "dec40be5-8ac3-47fa-a889-0d1e493c98a9", - "X-Amz-Cf-Id" : "q7KCjCKU-IyP_VQLjAD4EjqI5CfMrV3FnNJn6gFZmArfbTg4jSpw3A==", - "cache-control" : "private, no-cache", - "Content-Type" : "application/json" - } - }, - "uuid" : "17df7ba4-638e-3f71-8766-1483d8667a3b", - "persistent" : true, - "insertionIndex" : 170 -} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-729686f4b73a.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-729686f4b73a.json index 740399bb..90b74bca 100644 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-729686f4b73a.json +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-729686f4b73a.json @@ -20,20 +20,18 @@ "bodyFileName" : "btql-729686f4b73a.json", "headers" : { "X-Cache" : "Miss from cloudfront", - "x-amz-apigw-id" : "AJUJ_ET4IAMEIhw=", - "vary" : "Origin", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "x-bt-brainstore-duration-ms" : "43", - "X-Amzn-Trace-Id" : "Root=1-6a4d33d9-20bc821c76d07bce13d96a35;Parent=43c92498f3c68001;Sampled=0;Lineage=1:fc3b4ff1:0", - "x-bt-api-duration-ms" : "72", - "Date" : "Tue, 07 Jul 2026 17:14:01 GMT", - "Via" : "1.1 82fa7f20ab5a12301da8e01f9493e222.cloudfront.net (CloudFront), 1.1 4c8322ac27bebc2a7e26f72c7b6ec2ee.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a4d33d9000000001f2af2307610c6af", - "x-amzn-RequestId" : "d223b40f-d093-4ab9-91c2-38db78d240c2", - "X-Amz-Cf-Id" : "oqn8qwcydIn4ZiZJHqcpB_cvl4DQ2mCMKEGrYylEb9_yHQSxxm3scA==", - "cache-control" : "private, no-cache", + "X-Amz-Cf-Pop" : "SEA900-P9", + "x-bt-brainstore-duration-ms" : "24", + "x-bt-api-duration-ms" : "74", + "Date" : "Mon, 31 Aug 2026 17:35:33 GMT", + "Via" : "1.1 7aad92255c39d277bce3f20afa1b059c.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "private, no-cache", + "Access-Control-Allow-Credentials" : "true", + "x-bt-internal-trace-id" : "5ba917e0c241e94fc72b48bd318c2c69", + "X-Amz-Cf-Id" : "k87eM4iI57VK57NUPe7irf6YWheQ2K9_2AAFpDlwAHTrs7KhnT4wOA==", + "Vary" : "Origin", "Content-Type" : "application/json" } }, diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-76fefb636a2b.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-76fefb636a2b.json deleted file mode 100644 index 48b1f7cc..00000000 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-76fefb636a2b.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "id" : "8acadd6e-7e78-363c-996f-b3782ed0bb75", - "name" : "btql", - "request" : { - "url" : "/btql", - "method" : "POST", - "headers" : { - "Content-Type" : { - "equalTo" : "application/json" - } - }, - "bodyPatterns" : [ { - "equalToJson" : "{\"query\":\"SELECT * FROM project_logs('f1e858a4-58e3-408f-983f-016760d7fa25') WHERE root_span_id = '2eb2b807604a07599221b5e0e592347f' ORDER BY created ASC LIMIT 1000\"}", - "ignoreArrayOrder" : true, - "ignoreExtraElements" : false - } ] - }, - "response" : { - "status" : 200, - "bodyFileName" : "btql-76fefb636a2b.json", - "headers" : { - "X-Cache" : "Miss from cloudfront", - "x-amz-apigw-id" : "AJUa9ECZIAMEojg=", - "vary" : "Origin", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "x-bt-brainstore-duration-ms" : "45", - "X-Amzn-Trace-Id" : "Root=1-6a4d3445-395f85745a7297552e06373d;Parent=4df564eef6947488;Sampled=0;Lineage=1:fc3b4ff1:0", - "x-bt-api-duration-ms" : "114", - "Date" : "Tue, 07 Jul 2026 17:15:49 GMT", - "Via" : "1.1 82fa7f20ab5a12301da8e01f9493e222.cloudfront.net (CloudFront), 1.1 28edb03169fa053a4a523d90d15ff6ae.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a4d3445000000004e1b612d1f22c76a", - "x-amzn-RequestId" : "d99a6ad2-3e52-459f-bd50-33cc002e9baa", - "X-Amz-Cf-Id" : "tFhIulBQgcJu878sJRg3Rjo10onwMLd8e4pbj8Hui46LTDrnjz5Cew==", - "cache-control" : "private, no-cache", - "Content-Type" : "application/json" - } - }, - "uuid" : "8acadd6e-7e78-363c-996f-b3782ed0bb75", - "persistent" : true, - "insertionIndex" : 142 -} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-78f0a8f58774.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-78f0a8f58774.json index aa36fe02..04ff0f1c 100644 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-78f0a8f58774.json +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-78f0a8f58774.json @@ -20,20 +20,18 @@ "bodyFileName" : "btql-78f0a8f58774.json", "headers" : { "X-Cache" : "Miss from cloudfront", - "x-amz-apigw-id" : "AJUJPEfuIAMEQlA=", - "vary" : "Origin", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "x-bt-brainstore-duration-ms" : "66", - "X-Amzn-Trace-Id" : "Root=1-6a4d33d4-63986d782a36430440584e9a;Parent=6e0c629a0eb88ed0;Sampled=0;Lineage=1:fc3b4ff1:0", - "x-bt-api-duration-ms" : "208", - "Date" : "Tue, 07 Jul 2026 17:13:56 GMT", - "Via" : "1.1 566cc276dff9847158a5a9854be4df42.cloudfront.net (CloudFront), 1.1 dea0b5e705fff834db8ae3992ea09cfa.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a4d33d4000000001d66b17db66d0725", - "x-amzn-RequestId" : "a4c0999b-58fa-452a-94a2-76c5e34c87dc", - "X-Amz-Cf-Id" : "7WPLhRjs8vXWwDY7TSV8bNOWtDvKOFePLm7RieKOmmo7Xtj3eoruWg==", - "cache-control" : "private, no-cache", + "X-Amz-Cf-Pop" : "SEA900-P9", + "x-bt-brainstore-duration-ms" : "212", + "x-bt-api-duration-ms" : "565", + "Date" : "Mon, 31 Aug 2026 17:35:26 GMT", + "Via" : "1.1 4c8322ac27bebc2a7e26f72c7b6ec2ee.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "private, no-cache", + "Access-Control-Allow-Credentials" : "true", + "x-bt-internal-trace-id" : "3353eb9f75e3b9d350d5cc2c8c87c353", + "X-Amz-Cf-Id" : "Kh-2AE8nOkuF86RM02bR2DKdsxCjwS92RHfkpqq9ek8EoduMAlVvFA==", + "Vary" : "Origin", "Content-Type" : "application/json" } }, diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-7c1f6fcf4219.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-7c1f6fcf4219.json deleted file mode 100644 index 0cbbb290..00000000 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-7c1f6fcf4219.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "id" : "2b7cd892-3dd8-32c4-aa57-75630c498f68", - "name" : "btql", - "request" : { - "url" : "/btql", - "method" : "POST", - "headers" : { - "Content-Type" : { - "equalTo" : "application/json" - } - }, - "bodyPatterns" : [ { - "equalToJson" : "{\"query\":\"SELECT * FROM project_logs('f1e858a4-58e3-408f-983f-016760d7fa25') WHERE root_span_id = '9118cb69fa20f0bbe32c5a9e8a33163d' ORDER BY created ASC LIMIT 1000\"}", - "ignoreArrayOrder" : true, - "ignoreExtraElements" : false - } ] - }, - "response" : { - "status" : 200, - "bodyFileName" : "btql-7c1f6fcf4219.json", - "headers" : { - "X-Cache" : "Miss from cloudfront", - "x-amz-apigw-id" : "AJUbUF73IAMEd9Q=", - "vary" : "Origin", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "x-bt-brainstore-duration-ms" : "43", - "X-Amzn-Trace-Id" : "Root=1-6a4d3447-601dba0f0c16a2b15f38e3ba;Parent=67c220a496976fb3;Sampled=0;Lineage=1:fc3b4ff1:0", - "x-bt-api-duration-ms" : "93", - "Date" : "Tue, 07 Jul 2026 17:15:52 GMT", - "Via" : "1.1 4ac8d091dce10e726cfc5404bfed72b8.cloudfront.net (CloudFront), 1.1 3417fc639ca50b55b2a1d93807a20c2c.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a4d3447000000003ab5923b2ad03c2d", - "x-amzn-RequestId" : "b2610d6b-9064-492e-9e3f-ad0634af868e", - "X-Amz-Cf-Id" : "TfSRcDp1KEaOE8aYhGYLnqBdJE64-VeanJp0gllQE743BYSRD8Pd_Q==", - "cache-control" : "private, no-cache", - "Content-Type" : "application/json" - } - }, - "uuid" : "2b7cd892-3dd8-32c4-aa57-75630c498f68", - "persistent" : true, - "insertionIndex" : 136 -} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-7d45b695967a.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-7d45b695967a.json deleted file mode 100644 index 2debe11f..00000000 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-7d45b695967a.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "id" : "62148501-b710-3371-be91-ecb6de66e8bf", - "name" : "btql", - "request" : { - "url" : "/btql", - "method" : "POST", - "headers" : { - "Content-Type" : { - "equalTo" : "application/json" - } - }, - "bodyPatterns" : [ { - "equalToJson" : "{\"query\":\"SELECT * FROM project_logs('f1e858a4-58e3-408f-983f-016760d7fa25') WHERE root_span_id = '63f844bcc7fe2e938130176d811dc0e2' ORDER BY created ASC LIMIT 1000\"}", - "ignoreArrayOrder" : true, - "ignoreExtraElements" : false - } ] - }, - "response" : { - "status" : 200, - "bodyFileName" : "btql-7d45b695967a.json", - "headers" : { - "X-Cache" : "Miss from cloudfront", - "x-amz-apigw-id" : "ArNOfGT0IAMEEIQ=", - "vary" : "Origin", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "x-bt-brainstore-duration-ms" : "49", - "X-Amzn-Trace-Id" : "Root=1-6a5ac25c-25e91fb025876c7b11d91c1c;Parent=7caf161cc3cb806f;Sampled=0;Lineage=1:fc3b4ff1:0", - "x-bt-api-duration-ms" : "248", - "Date" : "Sat, 18 Jul 2026 00:01:32 GMT", - "Via" : "1.1 0df7f27a01014ab815259ca2d88193c6.cloudfront.net (CloudFront), 1.1 0758a857b0f9c36d8cfe897182f568ce.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a5ac25c0000000007cc7e68bd32bc3b", - "x-amzn-RequestId" : "1a0a6405-167f-436b-a930-dd0c829fdb49", - "X-Amz-Cf-Id" : "qL5D_w9e7MihWvVYhPcFxCDt3Vg7DWYZB8X_ih23Nys4YC7AnTM0wA==", - "cache-control" : "private, no-cache", - "Content-Type" : "application/json" - } - }, - "uuid" : "62148501-b710-3371-be91-ecb6de66e8bf", - "persistent" : true, - "insertionIndex" : 177 -} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-7df9d61397ac.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-7df9d61397ac.json new file mode 100644 index 00000000..bcd5c11a --- /dev/null +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-7df9d61397ac.json @@ -0,0 +1,41 @@ +{ + "id" : "4db03ebe-6634-3fe5-a7e2-6e7a46adb369", + "name" : "btql", + "request" : { + "url" : "/btql", + "method" : "POST", + "headers" : { + "Content-Type" : { + "equalTo" : "application/json" + } + }, + "bodyPatterns" : [ { + "equalToJson" : "{\"query\":\"SELECT * FROM project_logs('f1e858a4-58e3-408f-983f-016760d7fa25') WHERE root_span_id = 'd1f2db2c39c3e0beddf6391270cb48a2' ORDER BY created ASC LIMIT 1000\"}", + "ignoreArrayOrder" : true, + "ignoreExtraElements" : false + } ] + }, + "response" : { + "status" : 200, + "bodyFileName" : "btql-7df9d61397ac.json", + "headers" : { + "X-Cache" : "Miss from cloudfront", + "X-Amz-Cf-Pop" : "SEA900-P9", + "x-bt-brainstore-duration-ms" : "37", + "x-bt-api-duration-ms" : "105", + "Date" : "Mon, 31 Aug 2026 17:38:22 GMT", + "Via" : "1.1 7aad92255c39d277bce3f20afa1b059c.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "private, no-cache", + "Access-Control-Allow-Credentials" : "true", + "x-bt-internal-trace-id" : "0d7d1693ebec8a10b3ed3caa1c18cc88", + "X-Amz-Cf-Id" : "ufGxggpCS3NeefE9jQjgQbUPtrFQ2ZmphsEH7ocV4FO4gmQCo1qXBg==", + "Vary" : "Origin", + "Content-Type" : "application/json" + } + }, + "uuid" : "4db03ebe-6634-3fe5-a7e2-6e7a46adb369", + "persistent" : true, + "insertionIndex" : 141 +} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-811cf73687e1.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-811cf73687e1.json new file mode 100644 index 00000000..b3f6b3ce --- /dev/null +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-811cf73687e1.json @@ -0,0 +1,41 @@ +{ + "id" : "4764d331-8a1b-31bf-95ee-87415cdc46df", + "name" : "btql", + "request" : { + "url" : "/btql", + "method" : "POST", + "headers" : { + "Content-Type" : { + "equalTo" : "application/json" + } + }, + "bodyPatterns" : [ { + "equalToJson" : "{\"query\":\"SELECT * FROM project_logs('f1e858a4-58e3-408f-983f-016760d7fa25') WHERE root_span_id = '8b02184076aef8ce6d7c5f6514b7f52e' ORDER BY created ASC LIMIT 1000\"}", + "ignoreArrayOrder" : true, + "ignoreExtraElements" : false + } ] + }, + "response" : { + "status" : 200, + "bodyFileName" : "btql-811cf73687e1.json", + "headers" : { + "X-Cache" : "Miss from cloudfront", + "X-Amz-Cf-Pop" : "SEA900-P9", + "x-bt-brainstore-duration-ms" : "92", + "x-bt-api-duration-ms" : "134", + "Date" : "Mon, 31 Aug 2026 17:38:15 GMT", + "Via" : "1.1 6ebf93cd3baadad602a5fd706f0df16e.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "private, no-cache", + "Access-Control-Allow-Credentials" : "true", + "x-bt-internal-trace-id" : "9fe3185bba568553d96b9ff9075012c8", + "X-Amz-Cf-Id" : "Sr7iGLHeRlEeKf3yr-kdqovN7K8uY151aX-kKsYAjkhaD2yMF6O88Q==", + "Vary" : "Origin", + "Content-Type" : "application/json" + } + }, + "uuid" : "4764d331-8a1b-31bf-95ee-87415cdc46df", + "persistent" : true, + "insertionIndex" : 164 +} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-861c67da54b7.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-861c67da54b7.json new file mode 100644 index 00000000..e3481237 --- /dev/null +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-861c67da54b7.json @@ -0,0 +1,41 @@ +{ + "id" : "1cad4a87-3f08-3d9b-ba3d-e664b124e263", + "name" : "btql", + "request" : { + "url" : "/btql", + "method" : "POST", + "headers" : { + "Content-Type" : { + "equalTo" : "application/json" + } + }, + "bodyPatterns" : [ { + "equalToJson" : "{\"query\":\"SELECT * FROM project_logs('f1e858a4-58e3-408f-983f-016760d7fa25') WHERE root_span_id = '5ebbf0fd54af3ba1dafc91c34d181abf' ORDER BY created ASC LIMIT 1000\"}", + "ignoreArrayOrder" : true, + "ignoreExtraElements" : false + } ] + }, + "response" : { + "status" : 200, + "bodyFileName" : "btql-861c67da54b7.json", + "headers" : { + "X-Cache" : "Miss from cloudfront", + "X-Amz-Cf-Pop" : "SEA900-P9", + "x-bt-brainstore-duration-ms" : "90", + "x-bt-api-duration-ms" : "138", + "Date" : "Mon, 31 Aug 2026 17:38:12 GMT", + "Via" : "1.1 b2b215a89cc2734b2940e2eb59ea4bd0.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "private, no-cache", + "Access-Control-Allow-Credentials" : "true", + "x-bt-internal-trace-id" : "ad714b04725ef34323865df97f7c0a5d", + "X-Amz-Cf-Id" : "-OyCHNr2Fss4KMRlFple5yMPLKmXmvJo1DFklbJnvPLSb7Auq-uMiA==", + "Vary" : "Origin", + "Content-Type" : "application/json" + } + }, + "uuid" : "1cad4a87-3f08-3d9b-ba3d-e664b124e263", + "persistent" : true, + "insertionIndex" : 173 +} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-88a3fdc03a4f.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-88a3fdc03a4f.json new file mode 100644 index 00000000..5dd2f548 --- /dev/null +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-88a3fdc03a4f.json @@ -0,0 +1,42 @@ +{ + "id" : "aa113f5d-5b93-326e-99ac-698de6857a8e", + "name" : "btql", + "request" : { + "url" : "/btql", + "method" : "POST", + "headers" : { + "Content-Type" : { + "equalTo" : "application/json" + } + }, + "bodyPatterns" : [ { + "equalToJson" : "{\"query\":\"select: span_id, span_parents, root_span_id, name | from: project_logs('f1e858a4-58e3-408f-983f-016760d7fa25') | filter: root_span_id = 'b2c4e2f917794144eff5e6ac0e08e33e'\"}", + "ignoreArrayOrder" : true, + "ignoreExtraElements" : false + } ] + }, + "response" : { + "status" : 200, + "bodyFileName" : "btql-88a3fdc03a4f.json", + "headers" : { + "X-Cache" : "Miss from cloudfront", + "X-Amz-Cf-Pop" : "SEA900-P9", + "x-bt-brainstore-duration-ms" : "427", + "x-bt-api-duration-ms" : "474", + "Date" : "Mon, 31 Aug 2026 17:36:09 GMT", + "Via" : "1.1 04efc78121acf5d40974e6a71bebce20.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "private, no-cache", + "Access-Control-Allow-Credentials" : "true", + "x-bt-internal-trace-id" : "f043547cb9477816e18cc7519dbf158a", + "X-Amz-Cf-Id" : "AqTN6kTeVB3FgRwSHnASiUqb2InZBMc-hx1OEUnrbYJax_XIxvBtwQ==", + "x-bt-cursor" : "apW7hQC6AAA", + "Vary" : "Origin", + "Content-Type" : "application/json" + } + }, + "uuid" : "aa113f5d-5b93-326e-99ac-698de6857a8e", + "persistent" : true, + "insertionIndex" : 30 +} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-8ba1d50d5105.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-8ba1d50d5105.json new file mode 100644 index 00000000..f2feeb8f --- /dev/null +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-8ba1d50d5105.json @@ -0,0 +1,41 @@ +{ + "id" : "eb5c8d56-05c9-34cd-afe8-b1fd04cecad9", + "name" : "btql", + "request" : { + "url" : "/btql", + "method" : "POST", + "headers" : { + "Content-Type" : { + "equalTo" : "application/json" + } + }, + "bodyPatterns" : [ { + "equalToJson" : "{\"query\":\"SELECT * FROM project_logs('f1e858a4-58e3-408f-983f-016760d7fa25') WHERE root_span_id = 'cfeeeef1fadd4cfbf965ede95b78f38c' ORDER BY created ASC LIMIT 1000\"}", + "ignoreArrayOrder" : true, + "ignoreExtraElements" : false + } ] + }, + "response" : { + "status" : 200, + "bodyFileName" : "btql-8ba1d50d5105.json", + "headers" : { + "X-Cache" : "Miss from cloudfront", + "X-Amz-Cf-Pop" : "SEA900-P9", + "x-bt-brainstore-duration-ms" : "27", + "x-bt-api-duration-ms" : "90", + "Date" : "Mon, 31 Aug 2026 17:38:15 GMT", + "Via" : "1.1 04efc78121acf5d40974e6a71bebce20.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "private, no-cache", + "Access-Control-Allow-Credentials" : "true", + "x-bt-internal-trace-id" : "26bc7b3406cae2aa1b5fe07639b24648", + "X-Amz-Cf-Id" : "O2lp3HxtEzOxfeyxkd67g9lSuXmF5Bdu1fAhm_hXnisTjf7Ps_TADw==", + "Vary" : "Origin", + "Content-Type" : "application/json" + } + }, + "uuid" : "eb5c8d56-05c9-34cd-afe8-b1fd04cecad9", + "persistent" : true, + "insertionIndex" : 166 +} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-8ed952ec43a4.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-8ed952ec43a4.json deleted file mode 100644 index 6dd04fa1..00000000 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-8ed952ec43a4.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "id" : "d5a841ba-39c3-3cb6-861a-66685b340334", - "name" : "btql", - "request" : { - "url" : "/btql", - "method" : "POST", - "headers" : { - "Content-Type" : { - "equalTo" : "application/json" - } - }, - "bodyPatterns" : [ { - "equalToJson" : "{\"query\":\"SELECT * FROM project_logs('f1e858a4-58e3-408f-983f-016760d7fa25') WHERE root_span_id = '980b9347b71fe7478555f6d00157a76d' ORDER BY created ASC LIMIT 1000\"}", - "ignoreArrayOrder" : true, - "ignoreExtraElements" : false - } ] - }, - "response" : { - "status" : 200, - "bodyFileName" : "btql-8ed952ec43a4.json", - "headers" : { - "X-Cache" : "Miss from cloudfront", - "x-amz-apigw-id" : "AJUZyHCjIAMEolA=", - "vary" : "Origin", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "x-bt-brainstore-duration-ms" : "86", - "X-Amzn-Trace-Id" : "Root=1-6a4d343e-4a144e94461a34316d6d2d4b;Parent=2554729ea21cd059;Sampled=0;Lineage=1:fc3b4ff1:0", - "x-bt-api-duration-ms" : "170", - "Date" : "Tue, 07 Jul 2026 17:15:42 GMT", - "Via" : "1.1 e82f2bd1d85893fad1abb144337e7368.cloudfront.net (CloudFront), 1.1 9895fa1d75119fa16da9e015b58dbe5a.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a4d343e00000000657b4d0c06efac91", - "x-amzn-RequestId" : "338b5849-5471-4950-a7ef-ebfa6e124b26", - "X-Amz-Cf-Id" : "8_hnscUAdDkYbYxvYI4khp1vwZ8p3-gPS5JpstTu_mi2bNkubi268Q==", - "cache-control" : "private, no-cache", - "Content-Type" : "application/json" - } - }, - "uuid" : "d5a841ba-39c3-3cb6-861a-66685b340334", - "persistent" : true, - "insertionIndex" : 162 -} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-8ee0f1c046e5.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-8ee0f1c046e5.json deleted file mode 100644 index 186f5401..00000000 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-8ee0f1c046e5.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "id" : "ad2495c3-436c-30a6-8754-b6f3d67ffab5", - "name" : "btql", - "request" : { - "url" : "/btql", - "method" : "POST", - "headers" : { - "Content-Type" : { - "equalTo" : "application/json" - } - }, - "bodyPatterns" : [ { - "equalToJson" : "{\"query\":\"SELECT * FROM project_logs('f1e858a4-58e3-408f-983f-016760d7fa25') WHERE root_span_id = '735de9155b1b2781b0550bbb1612c16e' ORDER BY created ASC LIMIT 1000\"}", - "ignoreArrayOrder" : true, - "ignoreExtraElements" : false - } ] - }, - "response" : { - "status" : 200, - "bodyFileName" : "btql-8ee0f1c046e5.json", - "headers" : { - "X-Cache" : "Miss from cloudfront", - "x-amz-apigw-id" : "ArNOlH-PoAMEmyQ=", - "vary" : "Origin", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "x-bt-brainstore-duration-ms" : "40", - "X-Amzn-Trace-Id" : "Root=1-6a5ac25c-79427e611b955c6a7015c173;Parent=4d725cefe2a19ad6;Sampled=0;Lineage=1:fc3b4ff1:0", - "x-bt-api-duration-ms" : "122", - "Date" : "Sat, 18 Jul 2026 00:01:32 GMT", - "Via" : "1.1 ee5f8da78d4211a93c9dba8864a4067e.cloudfront.net (CloudFront), 1.1 3062c1f9ccf5f043983bc180e222dd9c.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a5ac25c000000007d36a5ad031a9443", - "x-amzn-RequestId" : "f2a48eee-2824-4872-b0ff-704b186ba433", - "X-Amz-Cf-Id" : "Cg5uWxw-n2CtMeEMNk8eAjuVZk0Z1_cpzKQruPfOjmVjtaZCK1P1tA==", - "cache-control" : "private, no-cache", - "Content-Type" : "application/json" - } - }, - "uuid" : "ad2495c3-436c-30a6-8754-b6f3d67ffab5", - "persistent" : true, - "insertionIndex" : 176 -} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-8f1dfd5c0fd9.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-8f1dfd5c0fd9.json new file mode 100644 index 00000000..c30241d7 --- /dev/null +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-8f1dfd5c0fd9.json @@ -0,0 +1,41 @@ +{ + "id" : "2d44e80d-efaa-395c-9776-77f3cd2b3c1c", + "name" : "btql", + "request" : { + "url" : "/btql", + "method" : "POST", + "headers" : { + "Content-Type" : { + "equalTo" : "application/json" + } + }, + "bodyPatterns" : [ { + "equalToJson" : "{\"query\":\"SELECT * FROM project_logs('f1e858a4-58e3-408f-983f-016760d7fa25') WHERE root_span_id = 'b70e1c19d16686a283506234df98a030' ORDER BY created ASC LIMIT 1000\"}", + "ignoreArrayOrder" : true, + "ignoreExtraElements" : false + } ] + }, + "response" : { + "status" : 200, + "bodyFileName" : "btql-8f1dfd5c0fd9.json", + "headers" : { + "X-Cache" : "Miss from cloudfront", + "X-Amz-Cf-Pop" : "SEA900-P9", + "x-bt-brainstore-duration-ms" : "38", + "x-bt-api-duration-ms" : "84", + "Date" : "Mon, 31 Aug 2026 17:38:23 GMT", + "Via" : "1.1 3417fc639ca50b55b2a1d93807a20c2c.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "private, no-cache", + "Access-Control-Allow-Credentials" : "true", + "x-bt-internal-trace-id" : "d18599e9885babc7ff52374de351ad28", + "X-Amz-Cf-Id" : "JW7Nin1TTauBnikHAC3AuS67tEYLxcuWW1SmF1Msm82PhSmsgjGPfw==", + "Vary" : "Origin", + "Content-Type" : "application/json" + } + }, + "uuid" : "2d44e80d-efaa-395c-9776-77f3cd2b3c1c", + "persistent" : true, + "insertionIndex" : 137 +} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-9200ebe247be.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-9200ebe247be.json new file mode 100644 index 00000000..5974ce83 --- /dev/null +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-9200ebe247be.json @@ -0,0 +1,41 @@ +{ + "id" : "7f9ce955-aa83-3328-8637-c288c508c50c", + "name" : "btql", + "request" : { + "url" : "/btql", + "method" : "POST", + "headers" : { + "Content-Type" : { + "equalTo" : "application/json" + } + }, + "bodyPatterns" : [ { + "equalToJson" : "{\"query\":\"SELECT * FROM project_logs('f1e858a4-58e3-408f-983f-016760d7fa25') WHERE root_span_id = 'a850820207c1f19ed6ce2185953cd09f' ORDER BY created ASC LIMIT 1000\"}", + "ignoreArrayOrder" : true, + "ignoreExtraElements" : false + } ] + }, + "response" : { + "status" : 200, + "bodyFileName" : "btql-9200ebe247be.json", + "headers" : { + "X-Cache" : "Miss from cloudfront", + "X-Amz-Cf-Pop" : "SEA900-P9", + "x-bt-brainstore-duration-ms" : "25", + "x-bt-api-duration-ms" : "71", + "Date" : "Mon, 31 Aug 2026 17:38:23 GMT", + "Via" : "1.1 63560dd3f856b0f7bfe68a0cad46924a.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "private, no-cache", + "Access-Control-Allow-Credentials" : "true", + "x-bt-internal-trace-id" : "43b66e01517977ee831dd52308d595b5", + "X-Amz-Cf-Id" : "obs1x-yTpznn1u9x8uwg1h737RGlNdHNpU-g2M-C8HTpLuRt_dtODQ==", + "Vary" : "Origin", + "Content-Type" : "application/json" + } + }, + "uuid" : "7f9ce955-aa83-3328-8637-c288c508c50c", + "persistent" : true, + "insertionIndex" : 138 +} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-957b0db7e65f.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-957b0db7e65f.json deleted file mode 100644 index 28f1d686..00000000 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-957b0db7e65f.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "id" : "40cffef7-cd03-3d7a-937a-ef68ca6394cc", - "name" : "btql", - "request" : { - "url" : "/btql", - "method" : "POST", - "headers" : { - "Content-Type" : { - "equalTo" : "application/json" - } - }, - "bodyPatterns" : [ { - "equalToJson" : "{\"query\":\"SELECT * FROM project_logs('f1e858a4-58e3-408f-983f-016760d7fa25') WHERE root_span_id = 'ee570c2360369703bad48b07ca705d44' ORDER BY created ASC LIMIT 1000\"}", - "ignoreArrayOrder" : true, - "ignoreExtraElements" : false - } ] - }, - "response" : { - "status" : 200, - "bodyFileName" : "btql-957b0db7e65f.json", - "headers" : { - "X-Cache" : "Miss from cloudfront", - "x-amz-apigw-id" : "AJUaRGVpoAMEutg=", - "vary" : "Origin", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "x-bt-brainstore-duration-ms" : "44", - "X-Amzn-Trace-Id" : "Root=1-6a4d3441-56f548781d1d8f9f0bbbb1b9;Parent=3073f42291cf233c;Sampled=0;Lineage=1:fc3b4ff1:0", - "x-bt-api-duration-ms" : "93", - "Date" : "Tue, 07 Jul 2026 17:15:45 GMT", - "Via" : "1.1 65f2e9f7f1475de54aa452d3ceb9bcf6.cloudfront.net (CloudFront), 1.1 7aad92255c39d277bce3f20afa1b059c.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a4d3441000000001419be14c6e5a7d3", - "x-amzn-RequestId" : "20d71e98-54a1-4508-ab1b-31896d4727f0", - "X-Amz-Cf-Id" : "u9kJdpkx7dKjD0iaMy5sSrfWhavsPGQknNFbBN5pD82x_p-hbWNDlg==", - "cache-control" : "private, no-cache", - "Content-Type" : "application/json" - } - }, - "uuid" : "40cffef7-cd03-3d7a-937a-ef68ca6394cc", - "persistent" : true, - "insertionIndex" : 154 -} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-9705d0232be4.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-9705d0232be4.json new file mode 100644 index 00000000..4e711cf2 --- /dev/null +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-9705d0232be4.json @@ -0,0 +1,41 @@ +{ + "id" : "d49267b7-9342-3cdc-bd29-ca607d9409f4", + "name" : "btql", + "request" : { + "url" : "/btql", + "method" : "POST", + "headers" : { + "Content-Type" : { + "equalTo" : "application/json" + } + }, + "bodyPatterns" : [ { + "equalToJson" : "{\"query\":\"SELECT * FROM project_logs('f1e858a4-58e3-408f-983f-016760d7fa25') WHERE root_span_id = 'c7dc1f7c254977e529336e28e4586174' ORDER BY created ASC LIMIT 1000\"}", + "ignoreArrayOrder" : true, + "ignoreExtraElements" : false + } ] + }, + "response" : { + "status" : 200, + "bodyFileName" : "btql-9705d0232be4.json", + "headers" : { + "X-Cache" : "Miss from cloudfront", + "X-Amz-Cf-Pop" : "SEA900-P9", + "x-bt-brainstore-duration-ms" : "36", + "x-bt-api-duration-ms" : "82", + "Date" : "Mon, 31 Aug 2026 17:38:20 GMT", + "Via" : "1.1 b2b215a89cc2734b2940e2eb59ea4bd0.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "private, no-cache", + "Access-Control-Allow-Credentials" : "true", + "x-bt-internal-trace-id" : "21b226b03bd15c4fc19207b7e465ec3c", + "X-Amz-Cf-Id" : "1ZApvUmD0BS689zlGwWZTgVojygxvnRs1xcpeu1LDGnZk-cPmdy5NA==", + "Vary" : "Origin", + "Content-Type" : "application/json" + } + }, + "uuid" : "d49267b7-9342-3cdc-bd29-ca607d9409f4", + "persistent" : true, + "insertionIndex" : 149 +} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-973db53c70ef.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-973db53c70ef.json new file mode 100644 index 00000000..80de15b5 --- /dev/null +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-973db53c70ef.json @@ -0,0 +1,41 @@ +{ + "id" : "087a2b2a-c1c5-3e07-b48d-007b1f060bdc", + "name" : "btql", + "request" : { + "url" : "/btql", + "method" : "POST", + "headers" : { + "Content-Type" : { + "equalTo" : "application/json" + } + }, + "bodyPatterns" : [ { + "equalToJson" : "{\"query\":\"SELECT * FROM project_logs('f1e858a4-58e3-408f-983f-016760d7fa25') WHERE root_span_id = '57b8b705b87fe23427d1a97636dbda70' ORDER BY created ASC LIMIT 1000\"}", + "ignoreArrayOrder" : true, + "ignoreExtraElements" : false + } ] + }, + "response" : { + "status" : 200, + "bodyFileName" : "btql-973db53c70ef.json", + "headers" : { + "X-Cache" : "Miss from cloudfront", + "X-Amz-Cf-Pop" : "SEA900-P9", + "x-bt-brainstore-duration-ms" : "133", + "x-bt-api-duration-ms" : "286", + "Date" : "Mon, 31 Aug 2026 17:38:14 GMT", + "Via" : "1.1 7f26c41dda80bd7d50ccec2be87c9c3e.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "private, no-cache", + "Access-Control-Allow-Credentials" : "true", + "x-bt-internal-trace-id" : "d5a5699bdfc785de3399fc73a41b9890", + "X-Amz-Cf-Id" : "e4H7McIXNC0W2r4ystIvaL1dMKorwtE7r_go5PgkirwCMhQGVzVWKA==", + "Vary" : "Origin", + "Content-Type" : "application/json" + } + }, + "uuid" : "087a2b2a-c1c5-3e07-b48d-007b1f060bdc", + "persistent" : true, + "insertionIndex" : 168 +} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-9744b37774d9.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-9744b37774d9.json deleted file mode 100644 index fe40a91d..00000000 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-9744b37774d9.json +++ /dev/null @@ -1,45 +0,0 @@ -{ - "id" : "eddb6625-e650-372b-91fa-7745a18c0af7", - "name" : "btql", - "request" : { - "url" : "/btql", - "method" : "POST", - "headers" : { - "Content-Type" : { - "equalTo" : "application/json" - } - }, - "bodyPatterns" : [ { - "equalToJson" : "{\"query\":\"SELECT * FROM project_logs('946b2c8d-f5d4-4690-9491-d79e2857c995') WHERE root_span_id = '3dc06fd1dbdf5809ad38fa34d7c94014' ORDER BY created ASC LIMIT 1000\"}", - "ignoreArrayOrder" : true, - "ignoreExtraElements" : false - } ] - }, - "response" : { - "status" : 200, - "bodyFileName" : "btql-9744b37774d9.json", - "headers" : { - "X-Cache" : "Miss from cloudfront", - "x-amz-apigw-id" : "CSGEJGENIAMEWfw=", - "vary" : "Origin", - "X-Amz-Cf-Pop" : [ "SEA900-P1", "SEA900-P10" ], - "x-bt-brainstore-duration-ms" : "829", - "X-Amzn-Trace-Id" : "Root=1-6a83ea1a-676873d16b1365e33484c3a8;Parent=3c81df77dccbfb12;Sampled=0;Lineage=1:24be3d11:0", - "x-bt-api-duration-ms" : "898", - "Date" : "Tue, 18 Aug 2026 05:14:03 GMT", - "Via" : "1.1 4cb8a7f3f7a5d9d545889e0d3926b9c2.cloudfront.net (CloudFront), 1.1 74e8c76139b8c7f9b11d5e4441c2a7a2.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a83ea1a0000000013485eb2ce030fa4", - "x-amzn-RequestId" : "5e800314-fd1a-4475-b313-dbcabe73fd8f", - "X-Amz-Cf-Id" : "tOnMfY9Xq_3txHo7Mc95Hm6dyMjdk9nmCLEuaj3YeSHpbO4qCE5IFA==", - "cache-control" : "private, no-cache", - "Content-Type" : "application/json" - } - }, - "uuid" : "eddb6625-e650-372b-91fa-7745a18c0af7", - "persistent" : true, - "scenarioName" : "scenario-1-btql", - "requiredScenarioState" : "scenario-1-btql-2", - "insertionIndex" : 184 -} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-980e9d552173.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-980e9d552173.json new file mode 100644 index 00000000..4147040e --- /dev/null +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-980e9d552173.json @@ -0,0 +1,41 @@ +{ + "id" : "ded43bf7-43b0-38a0-9d79-1b1e11729881", + "name" : "btql", + "request" : { + "url" : "/btql", + "method" : "POST", + "headers" : { + "Content-Type" : { + "equalTo" : "application/json" + } + }, + "bodyPatterns" : [ { + "equalToJson" : "{\"query\":\"SELECT * FROM project_logs('f1e858a4-58e3-408f-983f-016760d7fa25') WHERE root_span_id = '8cb588aad5ccaf555c1e6bb1f43e4276' ORDER BY created ASC LIMIT 1000\"}", + "ignoreArrayOrder" : true, + "ignoreExtraElements" : false + } ] + }, + "response" : { + "status" : 200, + "bodyFileName" : "btql-980e9d552173.json", + "headers" : { + "X-Cache" : "Miss from cloudfront", + "X-Amz-Cf-Pop" : "SEA900-P9", + "x-bt-brainstore-duration-ms" : "66", + "x-bt-api-duration-ms" : "129", + "Date" : "Mon, 31 Aug 2026 17:38:16 GMT", + "Via" : "1.1 b54238be18861f9bb1272bf1cb10e040.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "private, no-cache", + "Access-Control-Allow-Credentials" : "true", + "x-bt-internal-trace-id" : "47f353e5d8b68a133f125140b1acdaac", + "X-Amz-Cf-Id" : "sNVTH8Hu178XJD92S8frXy2WatSe7SzRV-PWiBNxXp-liWwNsrX7PQ==", + "Vary" : "Origin", + "Content-Type" : "application/json" + } + }, + "uuid" : "ded43bf7-43b0-38a0-9d79-1b1e11729881", + "persistent" : true, + "insertionIndex" : 163 +} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-985ab1d04106.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-985ab1d04106.json new file mode 100644 index 00000000..1dcf45c2 --- /dev/null +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-985ab1d04106.json @@ -0,0 +1,41 @@ +{ + "id" : "68b15a27-50f6-39d5-ba68-dfd46fd63ea3", + "name" : "btql", + "request" : { + "url" : "/btql", + "method" : "POST", + "headers" : { + "Content-Type" : { + "equalTo" : "application/json" + } + }, + "bodyPatterns" : [ { + "equalToJson" : "{\"query\":\"SELECT * FROM project_logs('f1e858a4-58e3-408f-983f-016760d7fa25') WHERE root_span_id = '252f0c6a9615543fbe9d14d2646593f7' ORDER BY created ASC LIMIT 1000\"}", + "ignoreArrayOrder" : true, + "ignoreExtraElements" : false + } ] + }, + "response" : { + "status" : 200, + "bodyFileName" : "btql-985ab1d04106.json", + "headers" : { + "X-Cache" : "Miss from cloudfront", + "X-Amz-Cf-Pop" : "SEA900-P9", + "x-bt-brainstore-duration-ms" : "27", + "x-bt-api-duration-ms" : "72", + "Date" : "Mon, 31 Aug 2026 17:38:19 GMT", + "Via" : "1.1 1271197444822e7c59413a59ecbcecd6.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "private, no-cache", + "Access-Control-Allow-Credentials" : "true", + "x-bt-internal-trace-id" : "2a753bbc24150e5e2a3bbc48652bbcd6", + "X-Amz-Cf-Id" : "q1VC8gr6voFwO9njsbukAqbtucHmwZ4MVTCdoeYmiiXqZRZw9dNn6Q==", + "Vary" : "Origin", + "Content-Type" : "application/json" + } + }, + "uuid" : "68b15a27-50f6-39d5-ba68-dfd46fd63ea3", + "persistent" : true, + "insertionIndex" : 150 +} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-985d7b794773.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-985d7b794773.json new file mode 100644 index 00000000..a8f126ff --- /dev/null +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-985d7b794773.json @@ -0,0 +1,41 @@ +{ + "id" : "1f24465f-949a-3962-a41e-2647dad1d191", + "name" : "btql", + "request" : { + "url" : "/btql", + "method" : "POST", + "headers" : { + "Content-Type" : { + "equalTo" : "application/json" + } + }, + "bodyPatterns" : [ { + "equalToJson" : "{\"query\":\"SELECT * FROM project_logs('f1e858a4-58e3-408f-983f-016760d7fa25') WHERE root_span_id = '3cc6ae2a4104ae52cbafccdbda44627d' ORDER BY created ASC LIMIT 1000\"}", + "ignoreArrayOrder" : true, + "ignoreExtraElements" : false + } ] + }, + "response" : { + "status" : 200, + "bodyFileName" : "btql-985d7b794773.json", + "headers" : { + "X-Cache" : "Miss from cloudfront", + "X-Amz-Cf-Pop" : "SEA900-P9", + "x-bt-brainstore-duration-ms" : "29", + "x-bt-api-duration-ms" : "73", + "Date" : "Mon, 31 Aug 2026 17:38:20 GMT", + "Via" : "1.1 04efc78121acf5d40974e6a71bebce20.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "private, no-cache", + "Access-Control-Allow-Credentials" : "true", + "x-bt-internal-trace-id" : "c869e33c7ce74fe47d4e7b93de72d9bf", + "X-Amz-Cf-Id" : "32BcZhrZrhuXP2JJ9ctyAi9NPQ_twHO-kftzvDQFwAaimarjPX-f7w==", + "Vary" : "Origin", + "Content-Type" : "application/json" + } + }, + "uuid" : "1f24465f-949a-3962-a41e-2647dad1d191", + "persistent" : true, + "insertionIndex" : 146 +} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-9e6d483a594f.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-9e6d483a594f.json new file mode 100644 index 00000000..c516b3c8 --- /dev/null +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-9e6d483a594f.json @@ -0,0 +1,41 @@ +{ + "id" : "52d1c5b8-89ca-36c5-aca3-d7b6353e90c3", + "name" : "btql", + "request" : { + "url" : "/btql", + "method" : "POST", + "headers" : { + "Content-Type" : { + "equalTo" : "application/json" + } + }, + "bodyPatterns" : [ { + "equalToJson" : "{\"query\":\"SELECT * FROM project_logs('f1e858a4-58e3-408f-983f-016760d7fa25') WHERE root_span_id = 'ee7b54da509957a0c610fcd431734702' ORDER BY created ASC LIMIT 1000\"}", + "ignoreArrayOrder" : true, + "ignoreExtraElements" : false + } ] + }, + "response" : { + "status" : 200, + "bodyFileName" : "btql-9e6d483a594f.json", + "headers" : { + "X-Cache" : "Miss from cloudfront", + "X-Amz-Cf-Pop" : "SEA900-P9", + "x-bt-brainstore-duration-ms" : "26", + "x-bt-api-duration-ms" : "93", + "Date" : "Mon, 31 Aug 2026 17:38:16 GMT", + "Via" : "1.1 087b179013ed486bf34db435cff85f08.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "private, no-cache", + "Access-Control-Allow-Credentials" : "true", + "x-bt-internal-trace-id" : "034fda4ad8cee82fb20122d3a8d13f84", + "X-Amz-Cf-Id" : "uth2XGXPUdV_9dGLjoSP4bdJ-awIbLpOqg9xt8B23ju20Qrlk5ulXQ==", + "Vary" : "Origin", + "Content-Type" : "application/json" + } + }, + "uuid" : "52d1c5b8-89ca-36c5-aca3-d7b6353e90c3", + "persistent" : true, + "insertionIndex" : 160 +} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-9ffc0f72eb30.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-9ffc0f72eb30.json deleted file mode 100644 index 0eb1c628..00000000 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-9ffc0f72eb30.json +++ /dev/null @@ -1,46 +0,0 @@ -{ - "id" : "d8138837-5abb-372e-bbc1-a7c02eacd516", - "name" : "btql", - "request" : { - "url" : "/btql", - "method" : "POST", - "headers" : { - "Content-Type" : { - "equalTo" : "application/json" - } - }, - "bodyPatterns" : [ { - "equalToJson" : "{\"query\":\"SELECT * FROM project_logs('946b2c8d-f5d4-4690-9491-d79e2857c995') WHERE root_span_id = 'dd5aff9ba63499bef3904fed80e6bc82' ORDER BY created ASC LIMIT 1000\"}", - "ignoreArrayOrder" : true, - "ignoreExtraElements" : false - } ] - }, - "response" : { - "status" : 200, - "bodyFileName" : "btql-9ffc0f72eb30.json", - "headers" : { - "X-Cache" : "Miss from cloudfront", - "x-amz-apigw-id" : "CQ6IfEY5IAMEKUQ=", - "vary" : "Origin", - "X-Amz-Cf-Pop" : [ "SEA900-P1", "SEA900-P10" ], - "x-bt-brainstore-duration-ms" : "46", - "X-Amzn-Trace-Id" : "Root=1-6a83709c-33945ff84ae7ee492bd0efe7;Parent=616d2d9a9a34f776;Sampled=0;Lineage=1:24be3d11:0", - "x-bt-api-duration-ms" : "196", - "Date" : "Mon, 17 Aug 2026 20:35:40 GMT", - "Via" : "1.1 b47176981720d8607d309e56e9510316.cloudfront.net (CloudFront), 1.1 0df7f27a01014ab815259ca2d88193c6.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a83709c0000000079d72810811e6dc6", - "x-amzn-RequestId" : "64316489-7673-4924-8ecc-7119256cfaf1", - "X-Amz-Cf-Id" : "dQLWhPEbl-w3OREHDxrBTRzeONLUQJT1BOQ_mqdEX96_-RVzjQoEHw==", - "cache-control" : "private, no-cache", - "Content-Type" : "application/json" - } - }, - "uuid" : "d8138837-5abb-372e-bbc1-a7c02eacd516", - "persistent" : true, - "scenarioName" : "scenario-1-btql", - "requiredScenarioState" : "Started", - "newScenarioState" : "scenario-1-btql-2", - "insertionIndex" : 183 -} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-a19aa246adf2.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-a19aa246adf2.json new file mode 100644 index 00000000..d33d5578 --- /dev/null +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-a19aa246adf2.json @@ -0,0 +1,41 @@ +{ + "id" : "352b0d6f-12e7-3153-878b-a01e5e920d1c", + "name" : "btql", + "request" : { + "url" : "/btql", + "method" : "POST", + "headers" : { + "Content-Type" : { + "equalTo" : "application/json" + } + }, + "bodyPatterns" : [ { + "equalToJson" : "{\"query\":\"SELECT * FROM project_logs('f1e858a4-58e3-408f-983f-016760d7fa25') WHERE root_span_id = '002bbe5b49b6ececdbd3d146ee87cfa6' ORDER BY created ASC LIMIT 1000\"}", + "ignoreArrayOrder" : true, + "ignoreExtraElements" : false + } ] + }, + "response" : { + "status" : 200, + "bodyFileName" : "btql-a19aa246adf2.json", + "headers" : { + "X-Cache" : "Miss from cloudfront", + "X-Amz-Cf-Pop" : "SEA900-P9", + "x-bt-brainstore-duration-ms" : "35", + "x-bt-api-duration-ms" : "81", + "Date" : "Mon, 31 Aug 2026 17:38:18 GMT", + "Via" : "1.1 9895fa1d75119fa16da9e015b58dbe5a.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "private, no-cache", + "Access-Control-Allow-Credentials" : "true", + "x-bt-internal-trace-id" : "66c2db919570f392e7768c2940eb0865", + "X-Amz-Cf-Id" : "GlElj7cBIREquDsNQTZYXaJkCyTrpEJATV6B7-8r5DNAXJXx92j9og==", + "Vary" : "Origin", + "Content-Type" : "application/json" + } + }, + "uuid" : "352b0d6f-12e7-3153-878b-a01e5e920d1c", + "persistent" : true, + "insertionIndex" : 155 +} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-a45ade8eebaf.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-a45ade8eebaf.json deleted file mode 100644 index 3d14ce92..00000000 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-a45ade8eebaf.json +++ /dev/null @@ -1,46 +0,0 @@ -{ - "id" : "903a30bc-fc8f-3dfd-9f46-c7d69d1c6687", - "name" : "btql", - "request" : { - "url" : "/btql", - "method" : "POST", - "headers" : { - "Content-Type" : { - "equalTo" : "application/json" - } - }, - "bodyPatterns" : [ { - "equalToJson" : "{\"query\":\"SELECT * FROM project_logs('f1e858a4-58e3-408f-983f-016760d7fa25') WHERE root_span_id = 'a5e49dfbd6546b7aa6b43968e85075e9' ORDER BY created ASC LIMIT 1000\"}", - "ignoreArrayOrder" : true, - "ignoreExtraElements" : false - } ] - }, - "response" : { - "status" : 200, - "bodyFileName" : "btql-a45ade8eebaf.json", - "headers" : { - "X-Cache" : "Miss from cloudfront", - "x-amz-apigw-id" : "ArNNWG6IoAMEFIg=", - "vary" : "Origin", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "x-bt-brainstore-duration-ms" : "51", - "X-Amzn-Trace-Id" : "Root=1-6a5ac254-35dcb8de4b252c0c5a7ad055;Parent=45b6a7f3eac08774;Sampled=0;Lineage=1:fc3b4ff1:0", - "x-bt-api-duration-ms" : "255", - "Date" : "Sat, 18 Jul 2026 00:01:25 GMT", - "Via" : "1.1 b3ccaedda78c63d5967b57382ceb4cbe.cloudfront.net (CloudFront), 1.1 a6be96637dfcb93ee417719bb21d57d0.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a5ac25400000000798959265d94d72f", - "x-amzn-RequestId" : "b29565cd-08a7-4da8-bc75-3defe1acb1f0", - "X-Amz-Cf-Id" : "GVMa-C3hVn2OJrDnURQpKG0yDUengNbOMLMQdcnDKxYdM7dBkNB-gg==", - "cache-control" : "private, no-cache", - "Content-Type" : "application/json" - } - }, - "uuid" : "903a30bc-fc8f-3dfd-9f46-c7d69d1c6687", - "persistent" : true, - "scenarioName" : "scenario-1-btql", - "requiredScenarioState" : "Started", - "newScenarioState" : "scenario-1-btql-2", - "insertionIndex" : 181 -} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-a4a38e186326.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-a4a38e186326.json new file mode 100644 index 00000000..62c6e271 --- /dev/null +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-a4a38e186326.json @@ -0,0 +1,41 @@ +{ + "id" : "fb824e1d-1b0b-34f8-8636-6e2242fee3b0", + "name" : "btql", + "request" : { + "url" : "/btql", + "method" : "POST", + "headers" : { + "Content-Type" : { + "equalTo" : "application/json" + } + }, + "bodyPatterns" : [ { + "equalToJson" : "{\"query\":\"SELECT * FROM project_logs('f1e858a4-58e3-408f-983f-016760d7fa25') WHERE root_span_id = '1f605acceb8152d2e62d9ed8f9f79fe0' ORDER BY created ASC LIMIT 1000\"}", + "ignoreArrayOrder" : true, + "ignoreExtraElements" : false + } ] + }, + "response" : { + "status" : 200, + "bodyFileName" : "btql-a4a38e186326.json", + "headers" : { + "X-Cache" : "Miss from cloudfront", + "X-Amz-Cf-Pop" : "SEA900-P9", + "x-bt-brainstore-duration-ms" : "27", + "x-bt-api-duration-ms" : "69", + "Date" : "Mon, 31 Aug 2026 17:38:17 GMT", + "Via" : "1.1 9895fa1d75119fa16da9e015b58dbe5a.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "private, no-cache", + "Access-Control-Allow-Credentials" : "true", + "x-bt-internal-trace-id" : "f5d037b099a58b2fba2d49ac15beee6c", + "X-Amz-Cf-Id" : "TSGxNpCG-V3i_EcjAYSCCTEl-NtzZQ4DCmrz3JzAdWqEK0TV9kwmZQ==", + "Vary" : "Origin", + "Content-Type" : "application/json" + } + }, + "uuid" : "fb824e1d-1b0b-34f8-8636-6e2242fee3b0", + "persistent" : true, + "insertionIndex" : 158 +} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-a87d25e53245.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-a87d25e53245.json deleted file mode 100644 index 6ce8fd14..00000000 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-a87d25e53245.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "id" : "38094f22-d27e-397e-a546-6f99d0d8dd1a", - "name" : "btql", - "request" : { - "url" : "/btql", - "method" : "POST", - "headers" : { - "Content-Type" : { - "equalTo" : "application/json" - } - }, - "bodyPatterns" : [ { - "equalToJson" : "{\"query\":\"SELECT * FROM project_logs('f1e858a4-58e3-408f-983f-016760d7fa25') WHERE root_span_id = 'be320c168797eee38a0ff67018c27760' ORDER BY created ASC LIMIT 1000\"}", - "ignoreArrayOrder" : true, - "ignoreExtraElements" : false - } ] - }, - "response" : { - "status" : 200, - "bodyFileName" : "btql-a87d25e53245.json", - "headers" : { - "X-Cache" : "Miss from cloudfront", - "x-amz-apigw-id" : "AJUbXGYlIAMEW5w=", - "vary" : "Origin", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "x-bt-brainstore-duration-ms" : "41", - "X-Amzn-Trace-Id" : "Root=1-6a4d3448-27391c67691edf55600fc126;Parent=26e1794023a8534f;Sampled=0;Lineage=1:fc3b4ff1:0", - "x-bt-api-duration-ms" : "86", - "Date" : "Tue, 07 Jul 2026 17:15:52 GMT", - "Via" : "1.1 4ac8d091dce10e726cfc5404bfed72b8.cloudfront.net (CloudFront), 1.1 9895fa1d75119fa16da9e015b58dbe5a.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a4d344800000000722aa0a9d5e5f834", - "x-amzn-RequestId" : "4e094cc9-cce2-41d8-a5c4-2dd10d599999", - "X-Amz-Cf-Id" : "jJQWQfAq2Vq2GBre9ig4ASO4coBKtdi0547n782bzmMVlDY4oGWC9g==", - "cache-control" : "private, no-cache", - "Content-Type" : "application/json" - } - }, - "uuid" : "38094f22-d27e-397e-a546-6f99d0d8dd1a", - "persistent" : true, - "insertionIndex" : 135 -} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-a947b6b65b21.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-a947b6b65b21.json new file mode 100644 index 00000000..9d228099 --- /dev/null +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-a947b6b65b21.json @@ -0,0 +1,41 @@ +{ + "id" : "aaa641b0-50c5-39aa-81b2-b2f98cc19e11", + "name" : "btql", + "request" : { + "url" : "/btql", + "method" : "POST", + "headers" : { + "Content-Type" : { + "equalTo" : "application/json" + } + }, + "bodyPatterns" : [ { + "equalToJson" : "{\"query\":\"SELECT * FROM project_logs('f1e858a4-58e3-408f-983f-016760d7fa25') WHERE root_span_id = '90692efc4e0740ac640144f47923b687' ORDER BY created ASC LIMIT 1000\"}", + "ignoreArrayOrder" : true, + "ignoreExtraElements" : false + } ] + }, + "response" : { + "status" : 200, + "bodyFileName" : "btql-a947b6b65b21.json", + "headers" : { + "X-Cache" : "Miss from cloudfront", + "X-Amz-Cf-Pop" : "SEA900-P9", + "x-bt-brainstore-duration-ms" : "26", + "x-bt-api-duration-ms" : "87", + "Date" : "Mon, 31 Aug 2026 17:38:19 GMT", + "Via" : "1.1 bef90eae512e70457d6a8a77b097a124.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "private, no-cache", + "Access-Control-Allow-Credentials" : "true", + "x-bt-internal-trace-id" : "2255e153335b5ef81a5c3aad3bb18f41", + "X-Amz-Cf-Id" : "2blwa6RHG-fCPtKw7VpVsx8WO1leHHhxGHNY8oR2sWMfrF5-AAPP6w==", + "Vary" : "Origin", + "Content-Type" : "application/json" + } + }, + "uuid" : "aaa641b0-50c5-39aa-81b2-b2f98cc19e11", + "persistent" : true, + "insertionIndex" : 151 +} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-a9fc5ea16a1f.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-a9fc5ea16a1f.json new file mode 100644 index 00000000..a1a79f2e --- /dev/null +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-a9fc5ea16a1f.json @@ -0,0 +1,41 @@ +{ + "id" : "b3a1930d-5929-37cf-ada1-dfc7102e0642", + "name" : "btql", + "request" : { + "url" : "/btql", + "method" : "POST", + "headers" : { + "Content-Type" : { + "equalTo" : "application/json" + } + }, + "bodyPatterns" : [ { + "equalToJson" : "{\"query\":\"SELECT * FROM project_logs('f1e858a4-58e3-408f-983f-016760d7fa25') WHERE root_span_id = 'e44c600cc874393cf3747c6e316147fd' ORDER BY created ASC LIMIT 1000\"}", + "ignoreArrayOrder" : true, + "ignoreExtraElements" : false + } ] + }, + "response" : { + "status" : 200, + "bodyFileName" : "btql-a9fc5ea16a1f.json", + "headers" : { + "X-Cache" : "Miss from cloudfront", + "X-Amz-Cf-Pop" : "SEA900-P9", + "x-bt-brainstore-duration-ms" : "76", + "x-bt-api-duration-ms" : "122", + "Date" : "Mon, 31 Aug 2026 17:38:14 GMT", + "Via" : "1.1 b3a8bdee20374465a3f2aa64f19ec30e.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "private, no-cache", + "Access-Control-Allow-Credentials" : "true", + "x-bt-internal-trace-id" : "e8da710544b0b6782ac99d0d86dfcfd1", + "X-Amz-Cf-Id" : "v1zCyg-dsrcnEV-KKxQLiUpMhzaSzMaJCuBRuWd2xldQMdUdQj5MQQ==", + "Vary" : "Origin", + "Content-Type" : "application/json" + } + }, + "uuid" : "b3a1930d-5929-37cf-ada1-dfc7102e0642", + "persistent" : true, + "insertionIndex" : 167 +} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-aa3438940363.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-aa3438940363.json deleted file mode 100644 index cc6fd652..00000000 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-aa3438940363.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "id" : "79d9d875-a3ed-38d5-873a-f65d6abaa53e", - "name" : "btql", - "request" : { - "url" : "/btql", - "method" : "POST", - "headers" : { - "Content-Type" : { - "equalTo" : "application/json" - } - }, - "bodyPatterns" : [ { - "equalToJson" : "{\"query\":\"SELECT * FROM project_logs('f1e858a4-58e3-408f-983f-016760d7fa25') WHERE root_span_id = '62a5b0936306f8c14b811e64d1c58628' ORDER BY created ASC LIMIT 1000\"}", - "ignoreArrayOrder" : true, - "ignoreExtraElements" : false - } ] - }, - "response" : { - "status" : 200, - "bodyFileName" : "btql-aa3438940363.json", - "headers" : { - "X-Cache" : "Miss from cloudfront", - "x-amz-apigw-id" : "AJUaOFAjIAMElvQ=", - "vary" : "Origin", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "x-bt-brainstore-duration-ms" : "37", - "X-Amzn-Trace-Id" : "Root=1-6a4d3440-1756046d7464e096173ff717;Parent=1f08633d0728edfe;Sampled=0;Lineage=1:fc3b4ff1:0", - "x-bt-api-duration-ms" : "84", - "Date" : "Tue, 07 Jul 2026 17:15:45 GMT", - "Via" : "1.1 e82f2bd1d85893fad1abb144337e7368.cloudfront.net (CloudFront), 1.1 087b179013ed486bf34db435cff85f08.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a4d344000000000064a9d26233746c4", - "x-amzn-RequestId" : "5041950a-ccd0-4aba-af89-71e61dafe305", - "X-Amz-Cf-Id" : "6CtZKBpBNSHr3CPzOXc7xSe35j0w8c2LJ-RzJG-e9A6aYS_R6_S6PA==", - "cache-control" : "private, no-cache", - "Content-Type" : "application/json" - } - }, - "uuid" : "79d9d875-a3ed-38d5-873a-f65d6abaa53e", - "persistent" : true, - "insertionIndex" : 155 -} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-ab3fe8f58122.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-ab3fe8f58122.json new file mode 100644 index 00000000..a371be57 --- /dev/null +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-ab3fe8f58122.json @@ -0,0 +1,41 @@ +{ + "id" : "e6583a49-933d-308c-94e6-b276bc630869", + "name" : "btql", + "request" : { + "url" : "/btql", + "method" : "POST", + "headers" : { + "Content-Type" : { + "equalTo" : "application/json" + } + }, + "bodyPatterns" : [ { + "equalToJson" : "{\"query\":\"SELECT * FROM project_logs('f1e858a4-58e3-408f-983f-016760d7fa25') WHERE root_span_id = '2190691dc03c6a9ed2668e8594035678' ORDER BY created ASC LIMIT 1000\"}", + "ignoreArrayOrder" : true, + "ignoreExtraElements" : false + } ] + }, + "response" : { + "status" : 200, + "bodyFileName" : "btql-ab3fe8f58122.json", + "headers" : { + "X-Cache" : "Miss from cloudfront", + "X-Amz-Cf-Pop" : "SEA900-P9", + "x-bt-brainstore-duration-ms" : "39", + "x-bt-api-duration-ms" : "85", + "Date" : "Mon, 31 Aug 2026 17:38:21 GMT", + "Via" : "1.1 b54238be18861f9bb1272bf1cb10e040.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "private, no-cache", + "Access-Control-Allow-Credentials" : "true", + "x-bt-internal-trace-id" : "652db0c0a67f431022101fc23b0b057e", + "X-Amz-Cf-Id" : "UFuaeM5RB_wkWyiHQmIKkD3-54hAng4Dpec-nCvkLFJvrZclgPv-DA==", + "Vary" : "Origin", + "Content-Type" : "application/json" + } + }, + "uuid" : "e6583a49-933d-308c-94e6-b276bc630869", + "persistent" : true, + "insertionIndex" : 143 +} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-ab9d7bd617e8.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-ab9d7bd617e8.json deleted file mode 100644 index 8c5d7d27..00000000 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-ab9d7bd617e8.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "id" : "42c9a2e5-0701-3346-b4ad-ebfda50facf2", - "name" : "btql", - "request" : { - "url" : "/btql", - "method" : "POST", - "headers" : { - "Content-Type" : { - "equalTo" : "application/json" - } - }, - "bodyPatterns" : [ { - "equalToJson" : "{\"query\":\"SELECT * FROM project_logs('f1e858a4-58e3-408f-983f-016760d7fa25') WHERE root_span_id = '6fe28983035e7eef2880fb8ce3213555' ORDER BY created ASC LIMIT 1000\"}", - "ignoreArrayOrder" : true, - "ignoreExtraElements" : false - } ] - }, - "response" : { - "status" : 200, - "bodyFileName" : "btql-ab9d7bd617e8.json", - "headers" : { - "X-Cache" : "Miss from cloudfront", - "x-amz-apigw-id" : "ArL-JFdHIAMEvDg=", - "vary" : "Origin", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "x-bt-brainstore-duration-ms" : "38", - "X-Amzn-Trace-Id" : "Root=1-6a5ac05a-798af5f567a4dbee7acfc5cf;Parent=008e1c2e9ab5bd9e;Sampled=0;Lineage=1:fc3b4ff1:0", - "x-bt-api-duration-ms" : "96", - "Date" : "Fri, 17 Jul 2026 23:52:58 GMT", - "Via" : "1.1 f8731007efc5ab360d90cee573a1e916.cloudfront.net (CloudFront), 1.1 087b179013ed486bf34db435cff85f08.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a5ac05a000000005ef79c4c758e5823", - "x-amzn-RequestId" : "6216d4b0-131a-43f8-be7f-6884d2281063", - "X-Amz-Cf-Id" : "bCaoNsv2HnRPqdS7I5RMUPv-bUmX6BDpdQ0gA_xJpwF6aRucZkZwVg==", - "cache-control" : "private, no-cache", - "Content-Type" : "application/json" - } - }, - "uuid" : "42c9a2e5-0701-3346-b4ad-ebfda50facf2", - "persistent" : true, - "insertionIndex" : 168 -} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-ac0cd7903a0a.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-ac0cd7903a0a.json deleted file mode 100644 index 5beec8c0..00000000 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-ac0cd7903a0a.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "id" : "14b4dc39-98dc-3e29-bd0e-694e76c848f7", - "name" : "btql", - "request" : { - "url" : "/btql", - "method" : "POST", - "headers" : { - "Content-Type" : { - "equalTo" : "application/json" - } - }, - "bodyPatterns" : [ { - "equalToJson" : "{\"query\":\"SELECT * FROM project_logs('f1e858a4-58e3-408f-983f-016760d7fa25') WHERE root_span_id = '02be0d8a2a364b0926086c5885707ffc' ORDER BY created ASC LIMIT 1000\"}", - "ignoreArrayOrder" : true, - "ignoreExtraElements" : false - } ] - }, - "response" : { - "status" : 200, - "bodyFileName" : "btql-ac0cd7903a0a.json", - "headers" : { - "X-Cache" : "Miss from cloudfront", - "x-amz-apigw-id" : "ArL-MEHNIAMEFFQ=", - "vary" : "Origin", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "x-bt-brainstore-duration-ms" : "36", - "X-Amzn-Trace-Id" : "Root=1-6a5ac05a-0f4e732c042e25cc4c7196d8;Parent=304eacf4fd637677;Sampled=0;Lineage=1:fc3b4ff1:0", - "x-bt-api-duration-ms" : "91", - "Date" : "Fri, 17 Jul 2026 23:52:58 GMT", - "Via" : "1.1 566cc276dff9847158a5a9854be4df42.cloudfront.net (CloudFront), 1.1 6ebf93cd3baadad602a5fd706f0df16e.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a5ac05a0000000037e90d0d678d69f4", - "x-amzn-RequestId" : "568ed8cc-e95d-4781-b848-5f0ce999c469", - "X-Amz-Cf-Id" : "O_NXvS9nMkliRPCl3GZDU5d4bDUnKnKRLt5LR-H14P5BFyV6rypEJw==", - "cache-control" : "private, no-cache", - "Content-Type" : "application/json" - } - }, - "uuid" : "14b4dc39-98dc-3e29-bd0e-694e76c848f7", - "persistent" : true, - "insertionIndex" : 167 -} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-ac7f0143cfa3.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-ac7f0143cfa3.json deleted file mode 100644 index e0bc9fa4..00000000 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-ac7f0143cfa3.json +++ /dev/null @@ -1,45 +0,0 @@ -{ - "id" : "8f9af76d-a446-3fdb-9e6b-6639a1e0a8e8", - "name" : "btql", - "request" : { - "url" : "/btql", - "method" : "POST", - "headers" : { - "Content-Type" : { - "equalTo" : "application/json" - } - }, - "bodyPatterns" : [ { - "equalToJson" : "{\"query\":\"SELECT * FROM project_logs('946b2c8d-f5d4-4690-9491-d79e2857c995') WHERE root_span_id = 'dd5aff9ba63499bef3904fed80e6bc82' ORDER BY created ASC LIMIT 1000\"}", - "ignoreArrayOrder" : true, - "ignoreExtraElements" : false - } ] - }, - "response" : { - "status" : 200, - "bodyFileName" : "btql-ac7f0143cfa3.json", - "headers" : { - "X-Cache" : "Miss from cloudfront", - "x-amz-apigw-id" : "CQ6JZHEyoAMEQpA=", - "vary" : "Origin", - "X-Amz-Cf-Pop" : [ "SEA900-P1", "SEA900-P10" ], - "x-bt-brainstore-duration-ms" : "398", - "X-Amzn-Trace-Id" : "Root=1-6a8370a2-029663b14a65881f17ff2a7a;Parent=2725ac71f9c90549;Sampled=0;Lineage=1:24be3d11:0", - "x-bt-api-duration-ms" : "477", - "Date" : "Mon, 17 Aug 2026 20:35:46 GMT", - "Via" : "1.1 59e4792b9d6184bfa491a317b36590d2.cloudfront.net (CloudFront), 1.1 d525041695bdb6325f78ebba5c11b8a2.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a8370a2000000007aacf1d0c95016f2", - "x-amzn-RequestId" : "3d121291-f17b-49dd-8099-e0cbf10e455c", - "X-Amz-Cf-Id" : "ChRFQG6EOCGpNzO3hVOc3wjdUOoyjiVVGQxckHBGLq3t8lT9Pqg1EA==", - "cache-control" : "private, no-cache", - "Content-Type" : "application/json" - } - }, - "uuid" : "8f9af76d-a446-3fdb-9e6b-6639a1e0a8e8", - "persistent" : true, - "scenarioName" : "scenario-1-btql", - "requiredScenarioState" : "scenario-1-btql-2", - "insertionIndex" : 182 -} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-b25ea8016ee2.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-b25ea8016ee2.json deleted file mode 100644 index 8066ff5d..00000000 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-b25ea8016ee2.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "id" : "929a0d38-0c6c-3c92-83b9-322dd343c751", - "name" : "btql", - "request" : { - "url" : "/btql", - "method" : "POST", - "headers" : { - "Content-Type" : { - "equalTo" : "application/json" - } - }, - "bodyPatterns" : [ { - "equalToJson" : "{\"query\":\"SELECT * FROM project_logs('f1e858a4-58e3-408f-983f-016760d7fa25') WHERE root_span_id = '17ee68fcd64417c315704900976933ea' ORDER BY created ASC LIMIT 1000\"}", - "ignoreArrayOrder" : true, - "ignoreExtraElements" : false - } ] - }, - "response" : { - "status" : 200, - "bodyFileName" : "btql-b25ea8016ee2.json", - "headers" : { - "X-Cache" : "Miss from cloudfront", - "x-amz-apigw-id" : "ArNOVG7lIAMEjxw=", - "vary" : "Origin", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "x-bt-brainstore-duration-ms" : "38", - "X-Amzn-Trace-Id" : "Root=1-6a5ac25b-08dcc20b5693cc4c4017452a;Parent=4fae8d654ef31a01;Sampled=0;Lineage=1:fc3b4ff1:0", - "x-bt-api-duration-ms" : "124", - "Date" : "Sat, 18 Jul 2026 00:01:31 GMT", - "Via" : "1.1 b3ccaedda78c63d5967b57382ceb4cbe.cloudfront.net (CloudFront), 1.1 88f286e23c15fc2f62a741db8207a67a.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a5ac25b0000000028237734ffd23ba1", - "x-amzn-RequestId" : "f457a62a-ebae-4da5-992b-077afaa05aef", - "X-Amz-Cf-Id" : "jvUK7XjMLEtXF9a3xJIwXl1oVdK84-TDVOaGzTzL3c5WNEZ8FUMM3A==", - "cache-control" : "private, no-cache", - "Content-Type" : "application/json" - } - }, - "uuid" : "929a0d38-0c6c-3c92-83b9-322dd343c751", - "persistent" : true, - "insertionIndex" : 179 -} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-b768e8177fa4.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-b768e8177fa4.json deleted file mode 100644 index 5d1cc31d..00000000 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-b768e8177fa4.json +++ /dev/null @@ -1,46 +0,0 @@ -{ - "id" : "ba4d38b5-b348-324e-acf2-da78e2af0489", - "name" : "btql", - "request" : { - "url" : "/btql", - "method" : "POST", - "headers" : { - "Content-Type" : { - "equalTo" : "application/json" - } - }, - "bodyPatterns" : [ { - "equalToJson" : "{\"query\":\"SELECT * FROM project_logs('f1e858a4-58e3-408f-983f-016760d7fa25') WHERE root_span_id = 'd755ed0bb5413b43c4d293ef9725500a' ORDER BY created ASC LIMIT 1000\"}", - "ignoreArrayOrder" : true, - "ignoreExtraElements" : false - } ] - }, - "response" : { - "status" : 200, - "bodyFileName" : "btql-b768e8177fa4.json", - "headers" : { - "X-Cache" : "Miss from cloudfront", - "x-amz-apigw-id" : "ArL9GE_8IAMEY9A=", - "vary" : "Origin", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "x-bt-brainstore-duration-ms" : "50", - "X-Amzn-Trace-Id" : "Root=1-6a5ac053-187b85ff54e6078848a1ae07;Parent=2820dac6613ecd48;Sampled=0;Lineage=1:fc3b4ff1:0", - "x-bt-api-duration-ms" : "184", - "Date" : "Fri, 17 Jul 2026 23:52:51 GMT", - "Via" : "1.1 4ac8d091dce10e726cfc5404bfed72b8.cloudfront.net (CloudFront), 1.1 7f26c41dda80bd7d50ccec2be87c9c3e.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a5ac053000000000b4ca888f2065b6c", - "x-amzn-RequestId" : "d30bf5f8-c64d-4a84-836b-e3dd5a801e03", - "X-Amz-Cf-Id" : "PfVLflrictEldOC1M8Do62z837p_DZy-k9uW4ps_rDVTg0oS_LDypw==", - "cache-control" : "private, no-cache", - "Content-Type" : "application/json" - } - }, - "uuid" : "ba4d38b5-b348-324e-acf2-da78e2af0489", - "persistent" : true, - "scenarioName" : "scenario-1-btql", - "requiredScenarioState" : "Started", - "newScenarioState" : "scenario-1-btql-2", - "insertionIndex" : 172 -} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-bce8572f7d22.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-bce8572f7d22.json deleted file mode 100644 index 4c45a7f6..00000000 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-bce8572f7d22.json +++ /dev/null @@ -1,46 +0,0 @@ -{ - "id" : "f0072d8f-573d-334e-96c0-8961d0da4543", - "name" : "btql", - "request" : { - "url" : "/btql", - "method" : "POST", - "headers" : { - "Content-Type" : { - "equalTo" : "application/json" - } - }, - "bodyPatterns" : [ { - "equalToJson" : "{\"query\":\"SELECT * FROM project_logs('946b2c8d-f5d4-4690-9491-d79e2857c995') WHERE root_span_id = '3dc06fd1dbdf5809ad38fa34d7c94014' ORDER BY created ASC LIMIT 1000\"}", - "ignoreArrayOrder" : true, - "ignoreExtraElements" : false - } ] - }, - "response" : { - "status" : 200, - "bodyFileName" : "btql-bce8572f7d22.json", - "headers" : { - "X-Cache" : "Miss from cloudfront", - "x-amz-apigw-id" : "CSGDTGdWIAMEITQ=", - "vary" : "Origin", - "X-Amz-Cf-Pop" : [ "SEA900-P1", "SEA900-P10" ], - "x-bt-brainstore-duration-ms" : "42", - "X-Amzn-Trace-Id" : "Root=1-6a83ea14-636657db7bdbbc8a2eecf080;Parent=5aff695cacddc0eb;Sampled=0;Lineage=1:24be3d11:0", - "x-bt-api-duration-ms" : "112", - "Date" : "Tue, 18 Aug 2026 05:13:56 GMT", - "Via" : "1.1 db84db36e16ca0c80b0992006d731900.cloudfront.net (CloudFront), 1.1 d525041695bdb6325f78ebba5c11b8a2.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a83ea140000000043065e2f97357f3f", - "x-amzn-RequestId" : "e59b1ae0-2914-40cc-9a1b-bca90eb93d86", - "X-Amz-Cf-Id" : "mBhcxejtDaJ9dAe7xbuNsDClEWssbkJv6TvC2q7fY5k234ajirfvDA==", - "cache-control" : "private, no-cache", - "Content-Type" : "application/json" - } - }, - "uuid" : "f0072d8f-573d-334e-96c0-8961d0da4543", - "persistent" : true, - "scenarioName" : "scenario-1-btql", - "requiredScenarioState" : "Started", - "newScenarioState" : "scenario-1-btql-2", - "insertionIndex" : 185 -} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-c29cb5e0c7b7.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-c29cb5e0c7b7.json deleted file mode 100644 index 793df643..00000000 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-c29cb5e0c7b7.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "id" : "0f450a64-e99e-3cbd-9286-a1ea04c51ae2", - "name" : "btql", - "request" : { - "url" : "/btql", - "method" : "POST", - "headers" : { - "Content-Type" : { - "equalTo" : "application/json" - } - }, - "bodyPatterns" : [ { - "equalToJson" : "{\"query\":\"SELECT * FROM project_logs('f1e858a4-58e3-408f-983f-016760d7fa25') WHERE root_span_id = '3d3a1550f4f3a84d47fd7dbbae4f27e0' ORDER BY created ASC LIMIT 1000\"}", - "ignoreArrayOrder" : true, - "ignoreExtraElements" : false - } ] - }, - "response" : { - "status" : 200, - "bodyFileName" : "btql-c29cb5e0c7b7.json", - "headers" : { - "X-Cache" : "Miss from cloudfront", - "x-amz-apigw-id" : "AJUawFpCoAMEIhw=", - "vary" : "Origin", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "x-bt-brainstore-duration-ms" : "50", - "X-Amzn-Trace-Id" : "Root=1-6a4d3444-5d6238f72268853f005d544a;Parent=2276153c979b9dfc;Sampled=0;Lineage=1:fc3b4ff1:0", - "x-bt-api-duration-ms" : "125", - "Date" : "Tue, 07 Jul 2026 17:15:48 GMT", - "Via" : "1.1 e82f2bd1d85893fad1abb144337e7368.cloudfront.net (CloudFront), 1.1 3417fc639ca50b55b2a1d93807a20c2c.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a4d34440000000058dd642b1d1dec76", - "x-amzn-RequestId" : "09fab9bd-9324-4820-ac0a-0cc459b541ef", - "X-Amz-Cf-Id" : "hmakikjqCWheVZi3rpLVRIfFbaeBnW-aNXTeYoYDoFT1yi-e-JoJHw==", - "cache-control" : "private, no-cache", - "Content-Type" : "application/json" - } - }, - "uuid" : "0f450a64-e99e-3cbd-9286-a1ea04c51ae2", - "persistent" : true, - "insertionIndex" : 145 -} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-c4a4263e55f8.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-c4a4263e55f8.json deleted file mode 100644 index 5dfe1e1b..00000000 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-c4a4263e55f8.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "id" : "f8c12128-6d0a-3f93-b7ca-38f3b19144db", - "name" : "btql", - "request" : { - "url" : "/btql", - "method" : "POST", - "headers" : { - "Content-Type" : { - "equalTo" : "application/json" - } - }, - "bodyPatterns" : [ { - "equalToJson" : "{\"query\":\"SELECT * FROM project_logs('f1e858a4-58e3-408f-983f-016760d7fa25') WHERE root_span_id = '73e619b388e5a51e882d891195af29da' ORDER BY created ASC LIMIT 1000\"}", - "ignoreArrayOrder" : true, - "ignoreExtraElements" : false - } ] - }, - "response" : { - "status" : 200, - "bodyFileName" : "btql-c4a4263e55f8.json", - "headers" : { - "X-Cache" : "Miss from cloudfront", - "x-amz-apigw-id" : "ArL-PGPkIAMEm_A=", - "vary" : "Origin", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "x-bt-brainstore-duration-ms" : "50", - "X-Amzn-Trace-Id" : "Root=1-6a5ac05a-101b01e14bc5fd7e7f59d4e4;Parent=7ba0c7aed67c0b48;Sampled=0;Lineage=1:fc3b4ff1:0", - "x-bt-api-duration-ms" : "109", - "Date" : "Fri, 17 Jul 2026 23:52:58 GMT", - "Via" : "1.1 f8731007efc5ab360d90cee573a1e916.cloudfront.net (CloudFront), 1.1 7aad92255c39d277bce3f20afa1b059c.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a5ac05a00000000390e93dab1f09fa7", - "x-amzn-RequestId" : "1876bf54-3595-425d-8eeb-5d12b1f4f3ec", - "X-Amz-Cf-Id" : "gnMNh48NVvPFBJN5hQwq47NA-cVwgjWnzWyfXMNXSBPR3hINDfolnQ==", - "cache-control" : "private, no-cache", - "Content-Type" : "application/json" - } - }, - "uuid" : "f8c12128-6d0a-3f93-b7ca-38f3b19144db", - "persistent" : true, - "insertionIndex" : 166 -} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-c88ad117447e.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-c88ad117447e.json new file mode 100644 index 00000000..b1c65c1e --- /dev/null +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-c88ad117447e.json @@ -0,0 +1,41 @@ +{ + "id" : "9a8815dd-4f52-33fa-9fbd-5742199b3f7f", + "name" : "btql", + "request" : { + "url" : "/btql", + "method" : "POST", + "headers" : { + "Content-Type" : { + "equalTo" : "application/json" + } + }, + "bodyPatterns" : [ { + "equalToJson" : "{\"query\":\"SELECT * FROM project_logs('f1e858a4-58e3-408f-983f-016760d7fa25') WHERE root_span_id = '7b5ccc62dfee84b88e689516a5ad16d5' ORDER BY created ASC LIMIT 1000\"}", + "ignoreArrayOrder" : true, + "ignoreExtraElements" : false + } ] + }, + "response" : { + "status" : 200, + "bodyFileName" : "btql-c88ad117447e.json", + "headers" : { + "X-Cache" : "Miss from cloudfront", + "X-Amz-Cf-Pop" : "SEA900-P9", + "x-bt-brainstore-duration-ms" : "42", + "x-bt-api-duration-ms" : "84", + "Date" : "Mon, 31 Aug 2026 17:38:10 GMT", + "Via" : "1.1 e8b22a8fa8511f8f972b4965a9af80b4.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "private, no-cache", + "Access-Control-Allow-Credentials" : "true", + "x-bt-internal-trace-id" : "b066b35be167fe60fa66e356909de317", + "X-Amz-Cf-Id" : "xyFsSIMLI35yiqRx8ns1ySfv_Eh3ro8CxVv8-2cNmhYWFCqgB7fOMg==", + "Vary" : "Origin", + "Content-Type" : "application/json" + } + }, + "uuid" : "9a8815dd-4f52-33fa-9fbd-5742199b3f7f", + "persistent" : true, + "insertionIndex" : 178 +} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-c8a5128913b4.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-c8a5128913b4.json new file mode 100644 index 00000000..f9f4cc7d --- /dev/null +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-c8a5128913b4.json @@ -0,0 +1,41 @@ +{ + "id" : "f936aa1b-8ca6-3bba-a6da-2ebbcca1cd00", + "name" : "btql", + "request" : { + "url" : "/btql", + "method" : "POST", + "headers" : { + "Content-Type" : { + "equalTo" : "application/json" + } + }, + "bodyPatterns" : [ { + "equalToJson" : "{\"query\":\"SELECT * FROM project_logs('f1e858a4-58e3-408f-983f-016760d7fa25') WHERE root_span_id = 'cc72e2406f45fbe8009b0292ce2110cf' ORDER BY created ASC LIMIT 1000\"}", + "ignoreArrayOrder" : true, + "ignoreExtraElements" : false + } ] + }, + "response" : { + "status" : 200, + "bodyFileName" : "btql-c8a5128913b4.json", + "headers" : { + "X-Cache" : "Miss from cloudfront", + "X-Amz-Cf-Pop" : "SEA900-P9", + "x-bt-brainstore-duration-ms" : "76", + "x-bt-api-duration-ms" : "121", + "Date" : "Mon, 31 Aug 2026 17:38:22 GMT", + "Via" : "1.1 88f286e23c15fc2f62a741db8207a67a.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "private, no-cache", + "Access-Control-Allow-Credentials" : "true", + "x-bt-internal-trace-id" : "491044f78dabaa0e698ae15a32c5c7ad", + "X-Amz-Cf-Id" : "f-xHra30R2YWF-IiSxJHRhDnGMN0X5BoMhN3zTkvNtmtRVoRLGmncA==", + "Vary" : "Origin", + "Content-Type" : "application/json" + } + }, + "uuid" : "f936aa1b-8ca6-3bba-a6da-2ebbcca1cd00", + "persistent" : true, + "insertionIndex" : 140 +} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-ca0ed215fa40.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-ca0ed215fa40.json deleted file mode 100644 index 8e4441ba..00000000 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-ca0ed215fa40.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "id" : "30bf4791-0424-36e3-8af7-de22872892d5", - "name" : "btql", - "request" : { - "url" : "/btql", - "method" : "POST", - "headers" : { - "Content-Type" : { - "equalTo" : "application/json" - } - }, - "bodyPatterns" : [ { - "equalToJson" : "{\"query\":\"SELECT * FROM project_logs('f1e858a4-58e3-408f-983f-016760d7fa25') WHERE root_span_id = '736081b380fc7fcbf9d35b180dd19422' ORDER BY created ASC LIMIT 1000\"}", - "ignoreArrayOrder" : true, - "ignoreExtraElements" : false - } ] - }, - "response" : { - "status" : 200, - "bodyFileName" : "btql-ca0ed215fa40.json", - "headers" : { - "X-Cache" : "Miss from cloudfront", - "x-amz-apigw-id" : "AJUatGQXoAMEqdA=", - "vary" : "Origin", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "x-bt-brainstore-duration-ms" : "39", - "X-Amzn-Trace-Id" : "Root=1-6a4d3444-6b07267d1be206c5022370a8;Parent=4898fec9528a309f;Sampled=0;Lineage=1:fc3b4ff1:0", - "x-bt-api-duration-ms" : "86", - "Date" : "Tue, 07 Jul 2026 17:15:48 GMT", - "Via" : "1.1 73b0c4a85645a8031ba157e0b3e28ffc.cloudfront.net (CloudFront), 1.1 e088ff8bff69861ed7fd37fbb518f0c2.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a4d344400000000327135f5d5243ede", - "x-amzn-RequestId" : "ea15bd71-ea30-4170-b5dd-106d058fc384", - "X-Amz-Cf-Id" : "HvmHdrttbG9FCBQkhpbW0mSlhrMJXeU4QtKSC67n2X7At16tUSkDYQ==", - "cache-control" : "private, no-cache", - "Content-Type" : "application/json" - } - }, - "uuid" : "30bf4791-0424-36e3-8af7-de22872892d5", - "persistent" : true, - "insertionIndex" : 146 -} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-caf1d4cd21cc.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-caf1d4cd21cc.json new file mode 100644 index 00000000..018b629d --- /dev/null +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-caf1d4cd21cc.json @@ -0,0 +1,41 @@ +{ + "id" : "a9201337-ddc4-3a7e-9ebc-aeec89d4ac3b", + "name" : "btql", + "request" : { + "url" : "/btql", + "method" : "POST", + "headers" : { + "Content-Type" : { + "equalTo" : "application/json" + } + }, + "bodyPatterns" : [ { + "equalToJson" : "{\"query\":\"SELECT * FROM project_logs('f1e858a4-58e3-408f-983f-016760d7fa25') WHERE root_span_id = 'ee3a4491d8d25041aabe54818ddea535' ORDER BY created ASC LIMIT 1000\"}", + "ignoreArrayOrder" : true, + "ignoreExtraElements" : false + } ] + }, + "response" : { + "status" : 200, + "bodyFileName" : "btql-caf1d4cd21cc.json", + "headers" : { + "X-Cache" : "Miss from cloudfront", + "X-Amz-Cf-Pop" : "SEA900-P9", + "x-bt-brainstore-duration-ms" : "83", + "x-bt-api-duration-ms" : "135", + "Date" : "Mon, 31 Aug 2026 17:38:11 GMT", + "Via" : "1.1 2772a76c066120d1905e8bfcd08c4d1c.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "private, no-cache", + "Access-Control-Allow-Credentials" : "true", + "x-bt-internal-trace-id" : "8e738ff410eaf0e4beef0e40391cf12e", + "X-Amz-Cf-Id" : "0eVOHyHqvqywm2RFdcj6w75_E8aSAkSoag8-pZ7Je-dYAdrbnPP18g==", + "Vary" : "Origin", + "Content-Type" : "application/json" + } + }, + "uuid" : "a9201337-ddc4-3a7e-9ebc-aeec89d4ac3b", + "persistent" : true, + "insertionIndex" : 176 +} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-ce94618268f0.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-ce94618268f0.json new file mode 100644 index 00000000..36c4d4d2 --- /dev/null +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-ce94618268f0.json @@ -0,0 +1,41 @@ +{ + "id" : "550971c6-afd6-3864-a3e7-623c304f0035", + "name" : "btql", + "request" : { + "url" : "/btql", + "method" : "POST", + "headers" : { + "Content-Type" : { + "equalTo" : "application/json" + } + }, + "bodyPatterns" : [ { + "equalToJson" : "{\"query\":\"SELECT * FROM project_logs('f1e858a4-58e3-408f-983f-016760d7fa25') WHERE root_span_id = '4a0404b3bfd3aebf88349a7c4b026ac3' ORDER BY created ASC LIMIT 1000\"}", + "ignoreArrayOrder" : true, + "ignoreExtraElements" : false + } ] + }, + "response" : { + "status" : 200, + "bodyFileName" : "btql-ce94618268f0.json", + "headers" : { + "X-Cache" : "Miss from cloudfront", + "X-Amz-Cf-Pop" : "SEA900-P9", + "x-bt-brainstore-duration-ms" : "112", + "x-bt-api-duration-ms" : "185", + "Date" : "Mon, 31 Aug 2026 17:38:17 GMT", + "Via" : "1.1 dea0b5e705fff834db8ae3992ea09cfa.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "private, no-cache", + "Access-Control-Allow-Credentials" : "true", + "x-bt-internal-trace-id" : "63c73a1da0417b7e6c25bb5feb81dc4f", + "X-Amz-Cf-Id" : "7E0JotZ2ZmFlbjodD7nUGm-eEKYoQZ7l2Z_4xFFffi_CG8lCwHde8Q==", + "Vary" : "Origin", + "Content-Type" : "application/json" + } + }, + "uuid" : "550971c6-afd6-3864-a3e7-623c304f0035", + "persistent" : true, + "insertionIndex" : 157 +} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-d0e930ab88f5.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-d0e930ab88f5.json new file mode 100644 index 00000000..db400e2f --- /dev/null +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-d0e930ab88f5.json @@ -0,0 +1,41 @@ +{ + "id" : "7bf8c64d-2a79-3639-84ed-5a73b9a53870", + "name" : "btql", + "request" : { + "url" : "/btql", + "method" : "POST", + "headers" : { + "Content-Type" : { + "equalTo" : "application/json" + } + }, + "bodyPatterns" : [ { + "equalToJson" : "{\"query\":\"SELECT * FROM project_logs('f1e858a4-58e3-408f-983f-016760d7fa25') WHERE root_span_id = '1b2808a2e0f7cbbf5e10229bcefb7b5c' ORDER BY created ASC LIMIT 1000\"}", + "ignoreArrayOrder" : true, + "ignoreExtraElements" : false + } ] + }, + "response" : { + "status" : 200, + "bodyFileName" : "btql-d0e930ab88f5.json", + "headers" : { + "X-Cache" : "Miss from cloudfront", + "X-Amz-Cf-Pop" : "SEA900-P9", + "x-bt-brainstore-duration-ms" : "74", + "x-bt-api-duration-ms" : "159", + "Date" : "Mon, 31 Aug 2026 17:38:12 GMT", + "Via" : "1.1 4c8322ac27bebc2a7e26f72c7b6ec2ee.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "private, no-cache", + "Access-Control-Allow-Credentials" : "true", + "x-bt-internal-trace-id" : "60e8cc26c85e0299df92caeedfac6f90", + "X-Amz-Cf-Id" : "LgmQVladiNVD8LC8ehC1BqOmCDrbB-irPVK56HtCUWhrcnG36mRVxw==", + "Vary" : "Origin", + "Content-Type" : "application/json" + } + }, + "uuid" : "7bf8c64d-2a79-3639-84ed-5a73b9a53870", + "persistent" : true, + "insertionIndex" : 171 +} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-d303f12e1678.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-d303f12e1678.json deleted file mode 100644 index f7d768e5..00000000 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-d303f12e1678.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "id" : "7c329659-0531-38c2-8f95-658504cc327a", - "name" : "btql", - "request" : { - "url" : "/btql", - "method" : "POST", - "headers" : { - "Content-Type" : { - "equalTo" : "application/json" - } - }, - "bodyPatterns" : [ { - "equalToJson" : "{\"query\":\"SELECT * FROM project_logs('f1e858a4-58e3-408f-983f-016760d7fa25') WHERE root_span_id = 'c5da3c1868b118ea29f3ffa6560bed11' ORDER BY created ASC LIMIT 1000\"}", - "ignoreArrayOrder" : true, - "ignoreExtraElements" : false - } ] - }, - "response" : { - "status" : 200, - "bodyFileName" : "btql-d303f12e1678.json", - "headers" : { - "X-Cache" : "Miss from cloudfront", - "x-amz-apigw-id" : "ArL-FF8bIAMEaYQ=", - "vary" : "Origin", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "x-bt-brainstore-duration-ms" : "46", - "X-Amzn-Trace-Id" : "Root=1-6a5ac059-3aa0af402e3171d540c5bb6a;Parent=0bab556c9e83a130;Sampled=0;Lineage=1:fc3b4ff1:0", - "x-bt-api-duration-ms" : "191", - "Date" : "Fri, 17 Jul 2026 23:52:57 GMT", - "Via" : "1.1 566cc276dff9847158a5a9854be4df42.cloudfront.net (CloudFront), 1.1 9895fa1d75119fa16da9e015b58dbe5a.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a5ac059000000000f71e0296909597b", - "x-amzn-RequestId" : "6737e533-c111-4ba9-89b5-f4e7680ff31a", - "X-Amz-Cf-Id" : "49erBLfCIp7DggVhSD3-W4rINnlWyIVD1JIvhzxD4ytzNaIn8KWOiQ==", - "cache-control" : "private, no-cache", - "Content-Type" : "application/json" - } - }, - "uuid" : "7c329659-0531-38c2-8f95-658504cc327a", - "persistent" : true, - "insertionIndex" : 169 -} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-d4553aaf98eb.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-d4553aaf98eb.json new file mode 100644 index 00000000..cb060ba3 --- /dev/null +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-d4553aaf98eb.json @@ -0,0 +1,41 @@ +{ + "id" : "295158b4-8f17-33e5-83f1-50b621709eb5", + "name" : "btql", + "request" : { + "url" : "/btql", + "method" : "POST", + "headers" : { + "Content-Type" : { + "equalTo" : "application/json" + } + }, + "bodyPatterns" : [ { + "equalToJson" : "{\"query\":\"SELECT * FROM project_logs('f1e858a4-58e3-408f-983f-016760d7fa25') WHERE root_span_id = '0cc4a1016d9cfaeed42dd99357f1a116' ORDER BY created ASC LIMIT 1000\"}", + "ignoreArrayOrder" : true, + "ignoreExtraElements" : false + } ] + }, + "response" : { + "status" : 200, + "bodyFileName" : "btql-d4553aaf98eb.json", + "headers" : { + "X-Cache" : "Miss from cloudfront", + "X-Amz-Cf-Pop" : "SEA900-P9", + "x-bt-brainstore-duration-ms" : "79", + "x-bt-api-duration-ms" : "123", + "Date" : "Mon, 31 Aug 2026 17:38:17 GMT", + "Via" : "1.1 e088ff8bff69861ed7fd37fbb518f0c2.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "private, no-cache", + "Access-Control-Allow-Credentials" : "true", + "x-bt-internal-trace-id" : "c9cd5b8ba152a69830ce92b017e0850c", + "X-Amz-Cf-Id" : "Ze_IuH19CNomtnzw74n6q-0wydhilYFHp6qcY0eJCIYBvZlVj9ezvw==", + "Vary" : "Origin", + "Content-Type" : "application/json" + } + }, + "uuid" : "295158b4-8f17-33e5-83f1-50b621709eb5", + "persistent" : true, + "insertionIndex" : 159 +} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-d5010c9bdce8.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-d5010c9bdce8.json new file mode 100644 index 00000000..3ef580fd --- /dev/null +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-d5010c9bdce8.json @@ -0,0 +1,41 @@ +{ + "id" : "974e553e-0f56-329c-9eed-a2a20853ddbf", + "name" : "btql", + "request" : { + "url" : "/btql", + "method" : "POST", + "headers" : { + "Content-Type" : { + "equalTo" : "application/json" + } + }, + "bodyPatterns" : [ { + "equalToJson" : "{\"query\":\"SELECT * FROM project_logs('f1e858a4-58e3-408f-983f-016760d7fa25') WHERE root_span_id = '7be3b78e42cb771d4d63aa533937a48a' ORDER BY created ASC LIMIT 1000\"}", + "ignoreArrayOrder" : true, + "ignoreExtraElements" : false + } ] + }, + "response" : { + "status" : 200, + "bodyFileName" : "btql-d5010c9bdce8.json", + "headers" : { + "X-Cache" : "Miss from cloudfront", + "X-Amz-Cf-Pop" : "SEA900-P9", + "x-bt-brainstore-duration-ms" : "64", + "x-bt-api-duration-ms" : "107", + "Date" : "Mon, 31 Aug 2026 17:38:08 GMT", + "Via" : "1.1 087b179013ed486bf34db435cff85f08.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "private, no-cache", + "Access-Control-Allow-Credentials" : "true", + "x-bt-internal-trace-id" : "a9d83d17d247ced84aabaa62d4fa2498", + "X-Amz-Cf-Id" : "4h0-rBPtZQV4uJbuRU59q9LWl1cajv3mnjfRb2hVXeUAxQ0dl-HLkg==", + "Vary" : "Origin", + "Content-Type" : "application/json" + } + }, + "uuid" : "974e553e-0f56-329c-9eed-a2a20853ddbf", + "persistent" : true, + "insertionIndex" : 184 +} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-d972166b7bda.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-d972166b7bda.json deleted file mode 100644 index 86056a14..00000000 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-d972166b7bda.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "id" : "a092c9c4-3179-38a4-869e-50d2c8a1bb6f", - "name" : "btql", - "request" : { - "url" : "/btql", - "method" : "POST", - "headers" : { - "Content-Type" : { - "equalTo" : "application/json" - } - }, - "bodyPatterns" : [ { - "equalToJson" : "{\"query\":\"SELECT * FROM project_logs('f1e858a4-58e3-408f-983f-016760d7fa25') WHERE root_span_id = '890e1d1c3e24a6c11fd25f9f13f1c4a0' ORDER BY created ASC LIMIT 1000\"}", - "ignoreArrayOrder" : true, - "ignoreExtraElements" : false - } ] - }, - "response" : { - "status" : 200, - "bodyFileName" : "btql-d972166b7bda.json", - "headers" : { - "X-Cache" : "Miss from cloudfront", - "x-amz-apigw-id" : "AJUa4G5QoAMEu8w=", - "vary" : "Origin", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "x-bt-brainstore-duration-ms" : "137", - "X-Amzn-Trace-Id" : "Root=1-6a4d3445-3980159d42c757dc3d243f42;Parent=5599a4b65e80c52a;Sampled=0;Lineage=1:fc3b4ff1:0", - "x-bt-api-duration-ms" : "209", - "Date" : "Tue, 07 Jul 2026 17:15:49 GMT", - "Via" : "1.1 82fa7f20ab5a12301da8e01f9493e222.cloudfront.net (CloudFront), 1.1 2501b465adde8e5aedc3f38e3dfcdc22.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a4d344500000000383dcd245e3984d9", - "x-amzn-RequestId" : "7320b635-8dec-4d74-bbf2-1ed84b60bcf6", - "X-Amz-Cf-Id" : "AYUI70MAM3UD0s3-yqJteK5-hoOiNDbuEuD1jDAtBA-Dp77oYTjc8g==", - "cache-control" : "private, no-cache", - "Content-Type" : "application/json" - } - }, - "uuid" : "a092c9c4-3179-38a4-869e-50d2c8a1bb6f", - "persistent" : true, - "insertionIndex" : 143 -} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-e1241bc91b70.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-e1241bc91b70.json deleted file mode 100644 index 2b32892e..00000000 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-e1241bc91b70.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "id" : "eea2c342-5fba-3f69-b419-7532f5c4da76", - "name" : "btql", - "request" : { - "url" : "/btql", - "method" : "POST", - "headers" : { - "Content-Type" : { - "equalTo" : "application/json" - } - }, - "bodyPatterns" : [ { - "equalToJson" : "{\"query\":\"SELECT * FROM project_logs('f1e858a4-58e3-408f-983f-016760d7fa25') WHERE root_span_id = 'd848bd73abe56be217b45aa72b58e326' ORDER BY created ASC LIMIT 1000\"}", - "ignoreArrayOrder" : true, - "ignoreExtraElements" : false - } ] - }, - "response" : { - "status" : 200, - "bodyFileName" : "btql-e1241bc91b70.json", - "headers" : { - "X-Cache" : "Miss from cloudfront", - "x-amz-apigw-id" : "ArNOYGlXoAMELjQ=", - "vary" : "Origin", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "x-bt-brainstore-duration-ms" : "88", - "X-Amzn-Trace-Id" : "Root=1-6a5ac25b-57dd26c0563c87b74a8b58da;Parent=19335662b534cef9;Sampled=0;Lineage=1:fc3b4ff1:0", - "x-bt-api-duration-ms" : "328", - "Date" : "Sat, 18 Jul 2026 00:01:31 GMT", - "Via" : "1.1 0df7f27a01014ab815259ca2d88193c6.cloudfront.net (CloudFront), 1.1 2772a76c066120d1905e8bfcd08c4d1c.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a5ac25b000000002eec6a95f82e1fe0", - "x-amzn-RequestId" : "6774eafd-917a-4184-a5bc-18488fc149cf", - "X-Amz-Cf-Id" : "1m534nQwBxNksdEpeKTkX9GiUCaW-mDI6Okiv4vY8xI7bQVvJzGXUw==", - "cache-control" : "private, no-cache", - "Content-Type" : "application/json" - } - }, - "uuid" : "eea2c342-5fba-3f69-b419-7532f5c4da76", - "persistent" : true, - "insertionIndex" : 178 -} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-e4c15f68b541.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-e4c15f68b541.json deleted file mode 100644 index d3e53c3b..00000000 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-e4c15f68b541.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "id" : "17678bc3-e4ca-368f-a125-4cdc09ba97b3", - "name" : "btql", - "request" : { - "url" : "/btql", - "method" : "POST", - "headers" : { - "Content-Type" : { - "equalTo" : "application/json" - } - }, - "bodyPatterns" : [ { - "equalToJson" : "{\"query\":\"SELECT * FROM project_logs('f1e858a4-58e3-408f-983f-016760d7fa25') WHERE root_span_id = 'c31556a56343507b10f26c862652f91d' ORDER BY created ASC LIMIT 1000\"}", - "ignoreArrayOrder" : true, - "ignoreExtraElements" : false - } ] - }, - "response" : { - "status" : 200, - "bodyFileName" : "btql-e4c15f68b541.json", - "headers" : { - "X-Cache" : "Miss from cloudfront", - "x-amz-apigw-id" : "AJUbaHRcIAMETow=", - "vary" : "Origin", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "x-bt-brainstore-duration-ms" : "66", - "X-Amzn-Trace-Id" : "Root=1-6a4d3448-5abeb4c578d0c020319ff11e;Parent=739f54b6323fdabf;Sampled=0;Lineage=1:fc3b4ff1:0", - "x-bt-api-duration-ms" : "160", - "Date" : "Tue, 07 Jul 2026 17:15:52 GMT", - "Via" : "1.1 82fa7f20ab5a12301da8e01f9493e222.cloudfront.net (CloudFront), 1.1 087b179013ed486bf34db435cff85f08.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a4d34480000000005643691364a9bb1", - "x-amzn-RequestId" : "e720d710-78b0-4da8-936c-28befd57fa26", - "X-Amz-Cf-Id" : "dv57XAdXrIu51H9D-mLQvvspNJxQxuBKYR75xrEbwxRVKWGMpwq8Qg==", - "cache-control" : "private, no-cache", - "Content-Type" : "application/json" - } - }, - "uuid" : "17678bc3-e4ca-368f-a125-4cdc09ba97b3", - "persistent" : true, - "insertionIndex" : 134 -} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-e7c084b361f1.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-e7c084b361f1.json new file mode 100644 index 00000000..17e39bbc --- /dev/null +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-e7c084b361f1.json @@ -0,0 +1,41 @@ +{ + "id" : "5f544f69-f80b-3ab0-affa-7e5734465a08", + "name" : "btql", + "request" : { + "url" : "/btql", + "method" : "POST", + "headers" : { + "Content-Type" : { + "equalTo" : "application/json" + } + }, + "bodyPatterns" : [ { + "equalToJson" : "{\"query\":\"SELECT * FROM project_logs('f1e858a4-58e3-408f-983f-016760d7fa25') WHERE root_span_id = '144befdc9251335393fd0810f2acda2b' ORDER BY created ASC LIMIT 1000\"}", + "ignoreArrayOrder" : true, + "ignoreExtraElements" : false + } ] + }, + "response" : { + "status" : 200, + "bodyFileName" : "btql-e7c084b361f1.json", + "headers" : { + "X-Cache" : "Miss from cloudfront", + "X-Amz-Cf-Pop" : "SEA900-P9", + "x-bt-brainstore-duration-ms" : "71", + "x-bt-api-duration-ms" : "121", + "Date" : "Mon, 31 Aug 2026 17:38:07 GMT", + "Via" : "1.1 0758a857b0f9c36d8cfe897182f568ce.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "private, no-cache", + "Access-Control-Allow-Credentials" : "true", + "x-bt-internal-trace-id" : "b205a5b341b1dc7ecf1e80790ba1a90a", + "X-Amz-Cf-Id" : "l8x35Jv27NutI0yhBDaVuPkHUG1OFWF_qMRlv1SeNrSmUum77pRNHw==", + "Vary" : "Origin", + "Content-Type" : "application/json" + } + }, + "uuid" : "5f544f69-f80b-3ab0-affa-7e5734465a08", + "persistent" : true, + "insertionIndex" : 185 +} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-e83f4f5030f6.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-e83f4f5030f6.json new file mode 100644 index 00000000..fdcc9d43 --- /dev/null +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-e83f4f5030f6.json @@ -0,0 +1,41 @@ +{ + "id" : "291dd2fd-a914-3233-9400-496da5a6b917", + "name" : "btql", + "request" : { + "url" : "/btql", + "method" : "POST", + "headers" : { + "Content-Type" : { + "equalTo" : "application/json" + } + }, + "bodyPatterns" : [ { + "equalToJson" : "{\"query\":\"SELECT * FROM project_logs('f1e858a4-58e3-408f-983f-016760d7fa25') WHERE root_span_id = '9c48b99ecb1d1abfb1528bcc1a106645' ORDER BY created ASC LIMIT 1000\"}", + "ignoreArrayOrder" : true, + "ignoreExtraElements" : false + } ] + }, + "response" : { + "status" : 200, + "bodyFileName" : "btql-e83f4f5030f6.json", + "headers" : { + "X-Cache" : "Miss from cloudfront", + "X-Amz-Cf-Pop" : "SEA900-P9", + "x-bt-brainstore-duration-ms" : "155", + "x-bt-api-duration-ms" : "202", + "Date" : "Mon, 31 Aug 2026 17:38:15 GMT", + "Via" : "1.1 6ebf93cd3baadad602a5fd706f0df16e.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "private, no-cache", + "Access-Control-Allow-Credentials" : "true", + "x-bt-internal-trace-id" : "a0b3052e9458c945dc06e1d1cfff150f", + "X-Amz-Cf-Id" : "WdIZlsBkfxgZT8Cag0QxoVxfrV5qHfwT5KsBS94NOwLXE_tAcM9Opg==", + "Vary" : "Origin", + "Content-Type" : "application/json" + } + }, + "uuid" : "291dd2fd-a914-3233-9400-496da5a6b917", + "persistent" : true, + "insertionIndex" : 165 +} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-ea7cfb00424a.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-ea7cfb00424a.json deleted file mode 100644 index a851ac2c..00000000 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-ea7cfb00424a.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "id" : "1c320481-7d8e-3bb3-b525-0aed451eea19", - "name" : "btql", - "request" : { - "url" : "/btql", - "method" : "POST", - "headers" : { - "Content-Type" : { - "equalTo" : "application/json" - } - }, - "bodyPatterns" : [ { - "equalToJson" : "{\"query\":\"SELECT * FROM project_logs('f1e858a4-58e3-408f-983f-016760d7fa25') WHERE root_span_id = 'cdd8b14d78e7cfca5a3d3fbc1e150ca4' ORDER BY created ASC LIMIT 1000\"}", - "ignoreArrayOrder" : true, - "ignoreExtraElements" : false - } ] - }, - "response" : { - "status" : 200, - "bodyFileName" : "btql-ea7cfb00424a.json", - "headers" : { - "X-Cache" : "Miss from cloudfront", - "x-amz-apigw-id" : "AJUacENioAMEjKQ=", - "vary" : "Origin", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "x-bt-brainstore-duration-ms" : "42", - "X-Amzn-Trace-Id" : "Root=1-6a4d3442-48437353124ca8387db11ad9;Parent=345c3274a10850b6;Sampled=0;Lineage=1:fc3b4ff1:0", - "x-bt-api-duration-ms" : "113", - "Date" : "Tue, 07 Jul 2026 17:15:46 GMT", - "Via" : "1.1 82fa7f20ab5a12301da8e01f9493e222.cloudfront.net (CloudFront), 1.1 9895fa1d75119fa16da9e015b58dbe5a.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a4d3442000000004af89e365b0c96b6", - "x-amzn-RequestId" : "7f063d5c-9372-4674-b68a-1265f138b7b6", - "X-Amz-Cf-Id" : "eB9_aEQdV35C6fksGop7BqoS-85FQUulPc7t9Ze0Vk1ai91lUvxDHw==", - "cache-control" : "private, no-cache", - "Content-Type" : "application/json" - } - }, - "uuid" : "1c320481-7d8e-3bb3-b525-0aed451eea19", - "persistent" : true, - "insertionIndex" : 151 -} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-eb8f179fde68.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-eb8f179fde68.json deleted file mode 100644 index 59452a11..00000000 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-eb8f179fde68.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "id" : "77b02fb4-be36-382c-8678-8890ad7f3e0f", - "name" : "btql", - "request" : { - "url" : "/btql", - "method" : "POST", - "headers" : { - "Content-Type" : { - "equalTo" : "application/json" - } - }, - "bodyPatterns" : [ { - "equalToJson" : "{\"query\":\"SELECT * FROM project_logs('f1e858a4-58e3-408f-983f-016760d7fa25') WHERE root_span_id = 'dfa211393af27faee37b6c1464eef978' ORDER BY created ASC LIMIT 1000\"}", - "ignoreArrayOrder" : true, - "ignoreExtraElements" : false - } ] - }, - "response" : { - "status" : 200, - "bodyFileName" : "btql-eb8f179fde68.json", - "headers" : { - "X-Cache" : "Miss from cloudfront", - "x-amz-apigw-id" : "ArNOoE5WoAMEIUQ=", - "vary" : "Origin", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "x-bt-brainstore-duration-ms" : "41", - "X-Amzn-Trace-Id" : "Root=1-6a5ac25d-2031cd4368cff6dc7c834dee;Parent=28240285c11d8fe1;Sampled=0;Lineage=1:fc3b4ff1:0", - "x-bt-api-duration-ms" : "143", - "Date" : "Sat, 18 Jul 2026 00:01:33 GMT", - "Via" : "1.1 ee5f8da78d4211a93c9dba8864a4067e.cloudfront.net (CloudFront), 1.1 5af99d6f2fc1c569c253259aec683ee8.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a5ac25d000000006159c7b57281c30b", - "x-amzn-RequestId" : "bc340790-d10e-477c-8f0b-4175cdc6f28c", - "X-Amz-Cf-Id" : "IbyT_mb79V5MAV5yUrz3q4szMGWazGShEFJPkuq51zoAiNwXv8ubew==", - "cache-control" : "private, no-cache", - "Content-Type" : "application/json" - } - }, - "uuid" : "77b02fb4-be36-382c-8678-8890ad7f3e0f", - "persistent" : true, - "insertionIndex" : 175 -} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-edd0ff763056.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-edd0ff763056.json new file mode 100644 index 00000000..6e0378e7 --- /dev/null +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-edd0ff763056.json @@ -0,0 +1,41 @@ +{ + "id" : "a22c6a15-87dc-3cf2-91d4-6f26ef1777a2", + "name" : "btql", + "request" : { + "url" : "/btql", + "method" : "POST", + "headers" : { + "Content-Type" : { + "equalTo" : "application/json" + } + }, + "bodyPatterns" : [ { + "equalToJson" : "{\"query\":\"SELECT * FROM project_logs('f1e858a4-58e3-408f-983f-016760d7fa25') WHERE root_span_id = 'c6a48680cefe0ab6321c29ca16df004c' ORDER BY created ASC LIMIT 1000\"}", + "ignoreArrayOrder" : true, + "ignoreExtraElements" : false + } ] + }, + "response" : { + "status" : 200, + "bodyFileName" : "btql-edd0ff763056.json", + "headers" : { + "X-Cache" : "Miss from cloudfront", + "X-Amz-Cf-Pop" : "SEA900-P9", + "x-bt-brainstore-duration-ms" : "40", + "x-bt-api-duration-ms" : "112", + "Date" : "Mon, 31 Aug 2026 17:38:21 GMT", + "Via" : "1.1 087b179013ed486bf34db435cff85f08.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "private, no-cache", + "Access-Control-Allow-Credentials" : "true", + "x-bt-internal-trace-id" : "383ca86665fe9c57d2313f1feddfd4b4", + "X-Amz-Cf-Id" : "eGFE1sdm56aL7mCBoKbvwX27jJ1OpVg-zGEEhkAt4cc9qNvXMmzJbw==", + "Vary" : "Origin", + "Content-Type" : "application/json" + } + }, + "uuid" : "a22c6a15-87dc-3cf2-91d4-6f26ef1777a2", + "persistent" : true, + "insertionIndex" : 142 +} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-f288d1dadadc.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-f288d1dadadc.json deleted file mode 100644 index f3eabb97..00000000 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-f288d1dadadc.json +++ /dev/null @@ -1,45 +0,0 @@ -{ - "id" : "cf65da12-63b0-3abd-8f4d-65c0e106c7f8", - "name" : "btql", - "request" : { - "url" : "/btql", - "method" : "POST", - "headers" : { - "Content-Type" : { - "equalTo" : "application/json" - } - }, - "bodyPatterns" : [ { - "equalToJson" : "{\"query\":\"SELECT * FROM project_logs('f1e858a4-58e3-408f-983f-016760d7fa25') WHERE root_span_id = 'd755ed0bb5413b43c4d293ef9725500a' ORDER BY created ASC LIMIT 1000\"}", - "ignoreArrayOrder" : true, - "ignoreExtraElements" : false - } ] - }, - "response" : { - "status" : 200, - "bodyFileName" : "btql-f288d1dadadc.json", - "headers" : { - "X-Cache" : "Miss from cloudfront", - "x-amz-apigw-id" : "ArL99HqwoAMELsQ=", - "vary" : "Origin", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "x-bt-brainstore-duration-ms" : "206", - "X-Amzn-Trace-Id" : "Root=1-6a5ac058-3bbe817637e34f45741ebfab;Parent=2f55b2dd1b1b0307;Sampled=0;Lineage=1:fc3b4ff1:0", - "x-bt-api-duration-ms" : "270", - "Date" : "Fri, 17 Jul 2026 23:52:57 GMT", - "Via" : "1.1 566cc276dff9847158a5a9854be4df42.cloudfront.net (CloudFront), 1.1 0ddbf3138c96d4b7c9f8047edb515414.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a5ac05800000000061548678d4dca47", - "x-amzn-RequestId" : "63685e44-d74e-4d4d-b23a-7f91a2908ab5", - "X-Amz-Cf-Id" : "Q2fRXxyD4gZcEYs6QXcFx30vZkMHaRrtc-GVTKQ_HOit8bqVXKyxaQ==", - "cache-control" : "private, no-cache", - "Content-Type" : "application/json" - } - }, - "uuid" : "cf65da12-63b0-3abd-8f4d-65c0e106c7f8", - "persistent" : true, - "scenarioName" : "scenario-1-btql", - "requiredScenarioState" : "scenario-1-btql-2", - "insertionIndex" : 171 -} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-f89d085d4495.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-f89d085d4495.json new file mode 100644 index 00000000..62a72cef --- /dev/null +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-f89d085d4495.json @@ -0,0 +1,41 @@ +{ + "id" : "3f93537d-33ab-343e-b0f2-fc4d11524521", + "name" : "btql", + "request" : { + "url" : "/btql", + "method" : "POST", + "headers" : { + "Content-Type" : { + "equalTo" : "application/json" + } + }, + "bodyPatterns" : [ { + "equalToJson" : "{\"query\":\"SELECT * FROM project_logs('f1e858a4-58e3-408f-983f-016760d7fa25') WHERE root_span_id = '98658cd4cafe747e1c92be303c9a4c70' ORDER BY created ASC LIMIT 1000\"}", + "ignoreArrayOrder" : true, + "ignoreExtraElements" : false + } ] + }, + "response" : { + "status" : 200, + "bodyFileName" : "btql-f89d085d4495.json", + "headers" : { + "X-Cache" : "Miss from cloudfront", + "X-Amz-Cf-Pop" : "SEA900-P9", + "x-bt-brainstore-duration-ms" : "32", + "x-bt-api-duration-ms" : "104", + "Date" : "Mon, 31 Aug 2026 17:38:21 GMT", + "Via" : "1.1 087b179013ed486bf34db435cff85f08.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "private, no-cache", + "Access-Control-Allow-Credentials" : "true", + "x-bt-internal-trace-id" : "5ab2b5e9574d005a9599e7309eecbeb8", + "X-Amz-Cf-Id" : "MHOwB-rjVTBMmeQpOz_ilfj4TNsu4xn6H7RvvE3v952Fj20oho1nsQ==", + "Vary" : "Origin", + "Content-Type" : "application/json" + } + }, + "uuid" : "3f93537d-33ab-343e-b0f2-fc4d11524521", + "persistent" : true, + "insertionIndex" : 145 +} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-fa35b142aa59.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-fa35b142aa59.json new file mode 100644 index 00000000..a29c8dd3 --- /dev/null +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-fa35b142aa59.json @@ -0,0 +1,41 @@ +{ + "id" : "7e4c9fc1-031c-3c7e-81c8-70120e6c5e72", + "name" : "btql", + "request" : { + "url" : "/btql", + "method" : "POST", + "headers" : { + "Content-Type" : { + "equalTo" : "application/json" + } + }, + "bodyPatterns" : [ { + "equalToJson" : "{\"query\":\"SELECT * FROM project_logs('f1e858a4-58e3-408f-983f-016760d7fa25') WHERE root_span_id = '38716e1c6c0759d24d7f3601ed6258cd' ORDER BY created ASC LIMIT 1000\"}", + "ignoreArrayOrder" : true, + "ignoreExtraElements" : false + } ] + }, + "response" : { + "status" : 200, + "bodyFileName" : "btql-fa35b142aa59.json", + "headers" : { + "X-Cache" : "Miss from cloudfront", + "X-Amz-Cf-Pop" : "SEA900-P9", + "x-bt-brainstore-duration-ms" : "52", + "x-bt-api-duration-ms" : "103", + "Date" : "Mon, 31 Aug 2026 17:38:09 GMT", + "Via" : "1.1 5af99d6f2fc1c569c253259aec683ee8.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "private, no-cache", + "Access-Control-Allow-Credentials" : "true", + "x-bt-internal-trace-id" : "df87d88a8782be703e07a8ef47bbac8a", + "X-Amz-Cf-Id" : "u1_PLbz5ybYm50YlahqAmTode53ck6TlklbEcFBusL5fVazgDkW61g==", + "Vary" : "Origin", + "Content-Type" : "application/json" + } + }, + "uuid" : "7e4c9fc1-031c-3c7e-81c8-70120e6c5e72", + "persistent" : true, + "insertionIndex" : 181 +} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-fd2c6aefeae5.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-fd2c6aefeae5.json new file mode 100644 index 00000000..6ed61512 --- /dev/null +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-fd2c6aefeae5.json @@ -0,0 +1,41 @@ +{ + "id" : "1ac8f525-8d4b-3ee0-9020-ea8a2cd67d79", + "name" : "btql", + "request" : { + "url" : "/btql", + "method" : "POST", + "headers" : { + "Content-Type" : { + "equalTo" : "application/json" + } + }, + "bodyPatterns" : [ { + "equalToJson" : "{\"query\":\"SELECT * FROM project_logs('f1e858a4-58e3-408f-983f-016760d7fa25') WHERE root_span_id = '7c10e31011e21cc75f03c7c6fe085850' ORDER BY created ASC LIMIT 1000\"}", + "ignoreArrayOrder" : true, + "ignoreExtraElements" : false + } ] + }, + "response" : { + "status" : 200, + "bodyFileName" : "btql-fd2c6aefeae5.json", + "headers" : { + "X-Cache" : "Miss from cloudfront", + "X-Amz-Cf-Pop" : "SEA900-P9", + "x-bt-brainstore-duration-ms" : "39", + "x-bt-api-duration-ms" : "91", + "Date" : "Mon, 31 Aug 2026 17:38:16 GMT", + "Via" : "1.1 a3134c0c893f03d1e9a9c657d09af7cc.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "private, no-cache", + "Access-Control-Allow-Credentials" : "true", + "x-bt-internal-trace-id" : "5745d99bfd0774616ae41d81626027eb", + "X-Amz-Cf-Id" : "Q4DOU1QJgXYFsjeDTTsA8vdQiLqXXA1Q9Iefw3rOFQGAEV-jCcAvLA==", + "Vary" : "Origin", + "Content-Type" : "application/json" + } + }, + "uuid" : "1ac8f525-8d4b-3ee0-9020-ea8a2cd67d79", + "persistent" : true, + "insertionIndex" : 161 +} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-fdedfc9e1b95.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-fdedfc9e1b95.json new file mode 100644 index 00000000..70ffef9f --- /dev/null +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-fdedfc9e1b95.json @@ -0,0 +1,41 @@ +{ + "id" : "b82cc5fa-d4e0-3c8f-b214-c4fffe296c54", + "name" : "btql", + "request" : { + "url" : "/btql", + "method" : "POST", + "headers" : { + "Content-Type" : { + "equalTo" : "application/json" + } + }, + "bodyPatterns" : [ { + "equalToJson" : "{\"query\":\"SELECT * FROM project_logs('f1e858a4-58e3-408f-983f-016760d7fa25') WHERE root_span_id = '33f8dc508c794042f64bce87d238d246' ORDER BY created ASC LIMIT 1000\"}", + "ignoreArrayOrder" : true, + "ignoreExtraElements" : false + } ] + }, + "response" : { + "status" : 200, + "bodyFileName" : "btql-fdedfc9e1b95.json", + "headers" : { + "X-Cache" : "Miss from cloudfront", + "X-Amz-Cf-Pop" : "SEA900-P9", + "x-bt-brainstore-duration-ms" : "39", + "x-bt-api-duration-ms" : "101", + "Date" : "Mon, 31 Aug 2026 17:38:18 GMT", + "Via" : "1.1 2501b465adde8e5aedc3f38e3dfcdc22.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "private, no-cache", + "Access-Control-Allow-Credentials" : "true", + "x-bt-internal-trace-id" : "cba2355438fa073a48206176b4f03988", + "X-Amz-Cf-Id" : "VMfTh5UPhItoc3f7HrXdn9GD-C3tQnSyWDbG80srnjJotewd45y5EA==", + "Vary" : "Origin", + "Content-Type" : "application/json" + } + }, + "uuid" : "b82cc5fa-d4e0-3c8f-b214-c4fffe296c54", + "persistent" : true, + "insertionIndex" : 154 +} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-fe50de9f8891.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-fe50de9f8891.json new file mode 100644 index 00000000..04fa12ba --- /dev/null +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-fe50de9f8891.json @@ -0,0 +1,41 @@ +{ + "id" : "0330bea1-527a-317e-be6c-814c869fc6e8", + "name" : "btql", + "request" : { + "url" : "/btql", + "method" : "POST", + "headers" : { + "Content-Type" : { + "equalTo" : "application/json" + } + }, + "bodyPatterns" : [ { + "equalToJson" : "{\"query\":\"SELECT * FROM project_logs('f1e858a4-58e3-408f-983f-016760d7fa25') WHERE root_span_id = '330d1666ca080a836d618432666bb2b1' ORDER BY created ASC LIMIT 1000\"}", + "ignoreArrayOrder" : true, + "ignoreExtraElements" : false + } ] + }, + "response" : { + "status" : 200, + "bodyFileName" : "btql-fe50de9f8891.json", + "headers" : { + "X-Cache" : "Miss from cloudfront", + "X-Amz-Cf-Pop" : "SEA900-P9", + "x-bt-brainstore-duration-ms" : "37", + "x-bt-api-duration-ms" : "82", + "Date" : "Mon, 31 Aug 2026 17:38:16 GMT", + "Via" : "1.1 38842c146ccd8f527d2de72671759d96.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "private, no-cache", + "Access-Control-Allow-Credentials" : "true", + "x-bt-internal-trace-id" : "d54e920bcc502fbfad9f136960f0c602", + "X-Amz-Cf-Id" : "Dop9Uolfq-kgk3o6dSRxCNUNvPZDJqgKv-1m47BZdH1Wl8fV3hYFJA==", + "Vary" : "Origin", + "Content-Type" : "application/json" + } + }, + "uuid" : "0330bea1-527a-317e-be6c-814c869fc6e8", + "persistent" : true, + "insertionIndex" : 162 +} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-fe8a331df9eb.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-fe8a331df9eb.json deleted file mode 100644 index ad10fd67..00000000 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-fe8a331df9eb.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "id" : "ce8ad66a-44cb-3e6d-9018-361c00b75389", - "name" : "btql", - "request" : { - "url" : "/btql", - "method" : "POST", - "headers" : { - "Content-Type" : { - "equalTo" : "application/json" - } - }, - "bodyPatterns" : [ { - "equalToJson" : "{\"query\":\"SELECT * FROM project_logs('f1e858a4-58e3-408f-983f-016760d7fa25') WHERE root_span_id = 'a92298ff1baf0fca13e90ee2c7d9805d' ORDER BY created ASC LIMIT 1000\"}", - "ignoreArrayOrder" : true, - "ignoreExtraElements" : false - } ] - }, - "response" : { - "status" : 200, - "bodyFileName" : "btql-fe8a331df9eb.json", - "headers" : { - "X-Cache" : "Miss from cloudfront", - "x-amz-apigw-id" : "AJUaEECOoAMEN5g=", - "vary" : "Origin", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "x-bt-brainstore-duration-ms" : "74", - "X-Amzn-Trace-Id" : "Root=1-6a4d343f-332cc9d563221c0921041bd7;Parent=6bb40bf56913ae78;Sampled=0;Lineage=1:fc3b4ff1:0", - "x-bt-api-duration-ms" : "130", - "Date" : "Tue, 07 Jul 2026 17:15:44 GMT", - "Via" : "1.1 82fa7f20ab5a12301da8e01f9493e222.cloudfront.net (CloudFront), 1.1 b54238be18861f9bb1272bf1cb10e040.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a4d343f0000000063663100703f63f0", - "x-amzn-RequestId" : "cfab090e-27f8-48a2-9495-ee87cfae6a03", - "X-Amz-Cf-Id" : "DH3oNoLS-w-PZGATp5i5tzusG_Fszw65FapZJ8znFmNTfS3FJH_suA==", - "cache-control" : "private, no-cache", - "Content-Type" : "application/json" - } - }, - "uuid" : "ce8ad66a-44cb-3e6d-9018-361c00b75389", - "persistent" : true, - "insertionIndex" : 158 -} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-feb1f15c9589.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-feb1f15c9589.json deleted file mode 100644 index db2cca12..00000000 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-feb1f15c9589.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "id" : "3a1276da-7e3b-31a5-9ffc-a3476b02ae76", - "name" : "btql", - "request" : { - "url" : "/btql", - "method" : "POST", - "headers" : { - "Content-Type" : { - "equalTo" : "application/json" - } - }, - "bodyPatterns" : [ { - "equalToJson" : "{\"query\":\"SELECT * FROM project_logs('f1e858a4-58e3-408f-983f-016760d7fa25') WHERE root_span_id = 'cca9397769b871caab1082938ddbddd6' ORDER BY created ASC LIMIT 1000\"}", - "ignoreArrayOrder" : true, - "ignoreExtraElements" : false - } ] - }, - "response" : { - "status" : 200, - "bodyFileName" : "btql-feb1f15c9589.json", - "headers" : { - "X-Cache" : "Miss from cloudfront", - "x-amz-apigw-id" : "AJUaHFr-IAMEqkQ=", - "vary" : "Origin", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "x-bt-brainstore-duration-ms" : "35", - "X-Amzn-Trace-Id" : "Root=1-6a4d3440-5bdd837c49348eba40db6fa1;Parent=2908033d826bb981;Sampled=0;Lineage=1:fc3b4ff1:0", - "x-bt-api-duration-ms" : "78", - "Date" : "Tue, 07 Jul 2026 17:15:44 GMT", - "Via" : "1.1 82fa7f20ab5a12301da8e01f9493e222.cloudfront.net (CloudFront), 1.1 3062c1f9ccf5f043983bc180e222dd9c.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a4d34400000000018fb26c605374d5f", - "x-amzn-RequestId" : "b7c4feea-c89b-4403-bd7a-780116c8ff03", - "X-Amz-Cf-Id" : "7DulI1PxVPv-xsVPIHLhyJY-9IzLEYqlqAs4bPNQOKVKkTnJMMUmqQ==", - "cache-control" : "private, no-cache", - "Content-Type" : "application/json" - } - }, - "uuid" : "3a1276da-7e3b-31a5-9ffc-a3476b02ae76", - "persistent" : true, - "insertionIndex" : 157 -} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-fef1e40dccd7.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-fef1e40dccd7.json deleted file mode 100644 index a37ce60a..00000000 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-fef1e40dccd7.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "id" : "550b4f83-820a-327b-995b-f60c0aa3ac1a", - "name" : "btql", - "request" : { - "url" : "/btql", - "method" : "POST", - "headers" : { - "Content-Type" : { - "equalTo" : "application/json" - } - }, - "bodyPatterns" : [ { - "equalToJson" : "{\"query\":\"SELECT * FROM project_logs('f1e858a4-58e3-408f-983f-016760d7fa25') WHERE root_span_id = '490b0d42fa12e1b30a48e2962a870917' ORDER BY created ASC LIMIT 1000\"}", - "ignoreArrayOrder" : true, - "ignoreExtraElements" : false - } ] - }, - "response" : { - "status" : 200, - "bodyFileName" : "btql-fef1e40dccd7.json", - "headers" : { - "X-Cache" : "Miss from cloudfront", - "x-amz-apigw-id" : "AJUbKGg5IAMENqQ=", - "vary" : "Origin", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "x-bt-brainstore-duration-ms" : "54", - "X-Amzn-Trace-Id" : "Root=1-6a4d3446-2ce58d9b60557b675cc20dd4;Parent=19d2f6f2fc8746a5;Sampled=0;Lineage=1:fc3b4ff1:0", - "x-bt-api-duration-ms" : "125", - "Date" : "Tue, 07 Jul 2026 17:15:51 GMT", - "Via" : "1.1 82fa7f20ab5a12301da8e01f9493e222.cloudfront.net (CloudFront), 1.1 1271197444822e7c59413a59ecbcecd6.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a4d34460000000046fd5b371340c731", - "x-amzn-RequestId" : "8b08872b-7ed8-4d9d-beee-42e0eb151761", - "X-Amz-Cf-Id" : "NkUUPTs93emF3_KgABFqAlywoBjj07wnIZqG1AlkFk7n4KeiroDEJA==", - "cache-control" : "private, no-cache", - "Content-Type" : "application/json" - } - }, - "uuid" : "550b4f83-820a-327b-995b-f60c0aa3ac1a", - "persistent" : true, - "insertionIndex" : 139 -} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-ff14978753ec.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-ff14978753ec.json deleted file mode 100644 index 251e806d..00000000 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-ff14978753ec.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "id" : "b01ff5d8-9231-38bf-b969-2812fd8b2429", - "name" : "btql", - "request" : { - "url" : "/btql", - "method" : "POST", - "headers" : { - "Content-Type" : { - "equalTo" : "application/json" - } - }, - "bodyPatterns" : [ { - "equalToJson" : "{\"query\":\"SELECT * FROM project_logs('f1e858a4-58e3-408f-983f-016760d7fa25') WHERE root_span_id = '840acd800f7e84b421302b19d5a15b52' ORDER BY created ASC LIMIT 1000\"}", - "ignoreArrayOrder" : true, - "ignoreExtraElements" : false - } ] - }, - "response" : { - "status" : 200, - "bodyFileName" : "btql-ff14978753ec.json", - "headers" : { - "X-Cache" : "Miss from cloudfront", - "x-amz-apigw-id" : "AJUalFC3IAMEfYw=", - "vary" : "Origin", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "x-bt-brainstore-duration-ms" : "43", - "X-Amzn-Trace-Id" : "Root=1-6a4d3443-5705c4e16dd0920c28d62670;Parent=107b8c2b2abbced2;Sampled=0;Lineage=1:fc3b4ff1:0", - "x-bt-api-duration-ms" : "83", - "Date" : "Tue, 07 Jul 2026 17:15:47 GMT", - "Via" : "1.1 b669d9add7767f73665f1f8b7e8cd802.cloudfront.net (CloudFront), 1.1 2772a76c066120d1905e8bfcd08c4d1c.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a4d3443000000006b93feacf6891fe5", - "x-amzn-RequestId" : "bf93ff51-3300-48f3-af8a-719c10af26fe", - "X-Amz-Cf-Id" : "oAMs7u7oIpDV8omnOtKrWYcAmuXt42s3X_L_wKLTK9qFG13rTcphLA==", - "cache-control" : "private, no-cache", - "Content-Type" : "application/json" - } - }, - "uuid" : "b01ff5d8-9231-38bf-b969-2812fd8b2429", - "persistent" : true, - "insertionIndex" : 149 -} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-ff4d79da4e20.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-ff4d79da4e20.json deleted file mode 100644 index f92bcbc0..00000000 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-ff4d79da4e20.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "id" : "31949516-5494-3ffc-8198-64c9c8b06729", - "name" : "btql", - "request" : { - "url" : "/btql", - "method" : "POST", - "headers" : { - "Content-Type" : { - "equalTo" : "application/json" - } - }, - "bodyPatterns" : [ { - "equalToJson" : "{\"query\":\"select: span_id, span_parents, root_span_id, name | from: project_logs('f1e858a4-58e3-408f-983f-016760d7fa25') | filter: root_span_id = '549710846944dbcfc3563ea8cab32335'\"}", - "ignoreArrayOrder" : true, - "ignoreExtraElements" : false - } ] - }, - "response" : { - "status" : 200, - "bodyFileName" : "btql-ff4d79da4e20.json", - "headers" : { - "X-Cache" : "Miss from cloudfront", - "x-amz-apigw-id" : "AJUOYFqsIAMEd3Q=", - "vary" : "Origin", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "x-bt-brainstore-duration-ms" : "371", - "X-Amzn-Trace-Id" : "Root=1-6a4d33f5-035ad30d565bd9f3325fa78d;Parent=14c5554ad1dc0984;Sampled=0;Lineage=1:fc3b4ff1:0", - "x-bt-api-duration-ms" : "424", - "Date" : "Tue, 07 Jul 2026 17:14:29 GMT", - "Via" : "1.1 b669d9add7767f73665f1f8b7e8cd802.cloudfront.net (CloudFront), 1.1 a6be96637dfcb93ee417719bb21d57d0.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a4d33f500000000210c2452f9c99894", - "x-amzn-RequestId" : "37a0f6c0-9bd9-4671-b16f-52254d78f35e", - "X-Amz-Cf-Id" : "a0mwzKwIqB9ujA5ZsHcDMpp4qx9hyf3sIBzcMCHFVy5z4P3uH0SdPw==", - "x-bt-cursor" : "ak0z8AumAAA", - "cache-control" : "private, no-cache", - "Content-Type" : "application/json" - } - }, - "uuid" : "31949516-5494-3ffc-8198-64c9c8b06729", - "persistent" : true, - "insertionIndex" : 30 -} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-ff9330c23687.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-ff9330c23687.json deleted file mode 100644 index 56f143f4..00000000 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/btql-ff9330c23687.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "id" : "9ba9951e-624d-3dd5-a53a-6f9a49f700c7", - "name" : "btql", - "request" : { - "url" : "/btql", - "method" : "POST", - "headers" : { - "Content-Type" : { - "equalTo" : "application/json" - } - }, - "bodyPatterns" : [ { - "equalToJson" : "{\"query\":\"SELECT * FROM project_logs('f1e858a4-58e3-408f-983f-016760d7fa25') WHERE root_span_id = 'c23547c5782635329641666977e79c15' ORDER BY created ASC LIMIT 1000\"}", - "ignoreArrayOrder" : true, - "ignoreExtraElements" : false - } ] - }, - "response" : { - "status" : 200, - "bodyFileName" : "btql-ff9330c23687.json", - "headers" : { - "X-Cache" : "Miss from cloudfront", - "x-amz-apigw-id" : "AJUbNEIwoAMEc5w=", - "vary" : "Origin", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "x-bt-brainstore-duration-ms" : "41", - "X-Amzn-Trace-Id" : "Root=1-6a4d3447-098a509a7bf86062646b0747;Parent=5bc619527f5fa0f1;Sampled=0;Lineage=1:fc3b4ff1:0", - "x-bt-api-duration-ms" : "111", - "Date" : "Tue, 07 Jul 2026 17:15:51 GMT", - "Via" : "1.1 82fa7f20ab5a12301da8e01f9493e222.cloudfront.net (CloudFront), 1.1 28edb03169fa053a4a523d90d15ff6ae.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a4d34470000000022552173a01f513e", - "x-amzn-RequestId" : "ebc6f410-5e17-4b92-95ad-4de38ae83751", - "X-Amz-Cf-Id" : "Qw5_lvNIFK6PvObJhYXomdE2APGCzG5vMbFeJqmvZVE6uOdxgsSbmQ==", - "cache-control" : "private, no-cache", - "Content-Type" : "application/json" - } - }, - "uuid" : "9ba9951e-624d-3dd5-a53a-6f9a49f700c7", - "persistent" : true, - "insertionIndex" : 138 -} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_dataset-627c4c785a51.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_dataset-627c4c785a51.json index e0ab6253..69111ab2 100644 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_dataset-627c4c785a51.json +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_dataset-627c4c785a51.json @@ -20,23 +20,19 @@ "bodyFileName" : "v1_dataset-627c4c785a51.json", "headers" : { "X-Cache" : "Miss from cloudfront", - "expires" : "0", - "x-amz-apigw-id" : "AJUJGGJXIAMEstQ=", - "vary" : "Origin, Accept-Encoding", - "x-amzn-Remapped-content-length" : "300", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "X-Amzn-Trace-Id" : "Root=1-6a4d33d3-401c88034c524bbe4d82aca3;Parent=42cfb27a87d816f9;Sampled=0;Lineage=1:fc3b4ff1:0", - "Date" : "Tue, 07 Jul 2026 17:13:55 GMT", - "Via" : "1.1 82fa7f20ab5a12301da8e01f9493e222.cloudfront.net (CloudFront), 1.1 7aad92255c39d277bce3f20afa1b059c.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint", - "access-control-allow-credentials" : "true", + "X-Amz-Cf-Pop" : "SEA900-P9", + "Date" : "Mon, 31 Aug 2026 17:35:24 GMT", + "Via" : "1.1 087b179013ed486bf34db435cff85f08.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "no-store, no-cache, must-revalidate, proxy-revalidate", "x-bt-found-existing" : "true", - "x-bt-internal-trace-id" : "6a4d33d3000000005fdc3f9e4c00ca1d", - "x-amzn-RequestId" : "4d70d03c-6f16-459c-b49b-78224e3a96e6", - "X-Amz-Cf-Id" : "Ux13PidW3umlQcak_cUzfeh5eTSl92rtmpf-_hfmEc0ncLvz-TFvPQ==", - "etag" : "W/\"12c-rX5/7oehQ0HpKV/YJZGYRlUjmLg\"", - "cache-control" : "no-store, no-cache, must-revalidate, proxy-revalidate", - "surrogate-control" : "no-store", + "ETag" : "W/\"12c-rX5/7oehQ0HpKV/YJZGYRlUjmLg\"", + "Access-Control-Allow-Credentials" : "true", + "X-Amz-Cf-Id" : "IQl-v36ZMwcXysckCrAOfBWSQT944R8BdALvhdgeEsoXFeHqgdNARQ==", + "Vary" : "Origin, Accept-Encoding", + "Expires" : "0", + "Surrogate-Control" : "no-store", "Content-Type" : "application/json; charset=utf-8" } }, diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_dataset-b424fbf4bfd5.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_dataset-b424fbf4bfd5.json index 2fd71c2c..aebad106 100644 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_dataset-b424fbf4bfd5.json +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_dataset-b424fbf4bfd5.json @@ -22,22 +22,18 @@ "bodyFileName" : "v1_dataset-b424fbf4bfd5.json", "headers" : { "X-Cache" : "Miss from cloudfront", - "expires" : "0", - "x-amz-apigw-id" : "AJUJMEVqIAMEEPA=", - "vary" : "Origin, Accept-Encoding", - "x-amzn-Remapped-content-length" : "314", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "X-Amzn-Trace-Id" : "Root=1-6a4d33d3-77fbe81e1d7f8ab162e84370;Parent=5916968912644e87;Sampled=0;Lineage=1:fc3b4ff1:0", - "Date" : "Tue, 07 Jul 2026 17:13:56 GMT", - "Via" : "1.1 82fa7f20ab5a12301da8e01f9493e222.cloudfront.net (CloudFront), 1.1 3062c1f9ccf5f043983bc180e222dd9c.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a4d33d3000000003f4d9309cb504355", - "x-amzn-RequestId" : "a99f2401-6d6d-42ea-820b-0be6d8c5a307", - "X-Amz-Cf-Id" : "bi3LacB9vv1P7l208aVo3Bx4UL5zRxCdCHzaf13Rx4JmZocDumoytQ==", - "etag" : "W/\"13a-eLtgbJfKc7jJ88Dx26MAIlt+WAM\"", - "cache-control" : "no-store, no-cache, must-revalidate, proxy-revalidate", - "surrogate-control" : "no-store", + "X-Amz-Cf-Pop" : "SEA900-P9", + "Date" : "Mon, 31 Aug 2026 17:35:25 GMT", + "Via" : "1.1 5af99d6f2fc1c569c253259aec683ee8.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "no-store, no-cache, must-revalidate, proxy-revalidate", + "ETag" : "W/\"13a-eLtgbJfKc7jJ88Dx26MAIlt+WAM\"", + "Access-Control-Allow-Credentials" : "true", + "X-Amz-Cf-Id" : "ScTCLmgdzv5AGCaA_3_nKbzPGNnE3JNWm4pD9bsPBGTC7aULqqTEaQ==", + "Vary" : "Origin, Accept-Encoding", + "Expires" : "0", + "Surrogate-Control" : "no-store", "Content-Type" : "application/json; charset=utf-8" } }, diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_dataset-dc3ffbbc6877.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_dataset-dc3ffbbc6877.json index 58317c93..7ba22a17 100644 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_dataset-dc3ffbbc6877.json +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_dataset-dc3ffbbc6877.json @@ -22,22 +22,18 @@ "bodyFileName" : "v1_dataset-dc3ffbbc6877.json", "headers" : { "X-Cache" : "Miss from cloudfront", - "expires" : "0", - "x-amz-apigw-id" : "AJUJ2EIPoAMEZFQ=", - "vary" : "Origin, Accept-Encoding", - "x-amzn-Remapped-content-length" : "314", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "X-Amzn-Trace-Id" : "Root=1-6a4d33d8-03cb919a6ff9642129b22055;Parent=064ea95c726ebe0d;Sampled=0;Lineage=1:fc3b4ff1:0", - "Date" : "Tue, 07 Jul 2026 17:14:00 GMT", - "Via" : "1.1 73b0c4a85645a8031ba157e0b3e28ffc.cloudfront.net (CloudFront), 1.1 6ebf93cd3baadad602a5fd706f0df16e.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a4d33d80000000006d5de47b78f29ee", - "x-amzn-RequestId" : "f76ac276-a4d8-42ff-8915-322167ca1236", - "X-Amz-Cf-Id" : "PbuyxA9xZLuW-ZZTdt8ZKAWwrWWPeDuflMaEHYQDJmiJhSaAESLPyQ==", - "etag" : "W/\"13a-eLtgbJfKc7jJ88Dx26MAIlt+WAM\"", - "cache-control" : "no-store, no-cache, must-revalidate, proxy-revalidate", - "surrogate-control" : "no-store", + "X-Amz-Cf-Pop" : "SEA900-P9", + "Date" : "Mon, 31 Aug 2026 17:35:32 GMT", + "Via" : "1.1 3417fc639ca50b55b2a1d93807a20c2c.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "no-store, no-cache, must-revalidate, proxy-revalidate", + "ETag" : "W/\"13a-eLtgbJfKc7jJ88Dx26MAIlt+WAM\"", + "Access-Control-Allow-Credentials" : "true", + "X-Amz-Cf-Id" : "mkan-COXg6oh7U9EsvpQmFkLWXWpc48lJVyufmkmBkC-PiHxmoz1fw==", + "Vary" : "Origin, Accept-Encoding", + "Expires" : "0", + "Surrogate-Control" : "no-store", "Content-Type" : "application/json; charset=utf-8" } }, diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_dataset_b9356d7d-1a96-4f96-9d41-276e9ebd6afe_fetch-1cf6219cfd0a.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_dataset_b9356d7d-1a96-4f96-9d41-276e9ebd6afe_fetch-1cf6219cfd0a.json index f9b0e3b5..dad9f42b 100644 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_dataset_b9356d7d-1a96-4f96-9d41-276e9ebd6afe_fetch-1cf6219cfd0a.json +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_dataset_b9356d7d-1a96-4f96-9d41-276e9ebd6afe_fetch-1cf6219cfd0a.json @@ -20,22 +20,20 @@ "bodyFileName" : "v1_dataset_b9356d7d-1a96-4f96-9d41-276e9ebd6afe_fetch-1cf6219cfd0a.json", "headers" : { "X-Cache" : "Miss from cloudfront", - "expires" : "0", - "x-amz-apigw-id" : "AJUKIHd7IAMECWw=", - "vary" : "Origin", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "x-bt-brainstore-duration-ms" : "47", - "X-Amzn-Trace-Id" : "Root=1-6a4d33d9-73d1201d4e3907c671ca55fa;Parent=76127ead8bb49610;Sampled=0;Lineage=1:fc3b4ff1:0", - "x-bt-api-duration-ms" : "104", - "Date" : "Tue, 07 Jul 2026 17:14:02 GMT", - "Via" : "1.1 4ac8d091dce10e726cfc5404bfed72b8.cloudfront.net (CloudFront), 1.1 5af99d6f2fc1c569c253259aec683ee8.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a4d33d900000000460533cd73341384", - "x-amzn-RequestId" : "d6dd8541-5e40-467a-8656-91bbb857c5ba", - "X-Amz-Cf-Id" : "GWA06P3dOXizCS2HyNHaPGTjpqhkAA1hdaP_zZIcC65MdJZGfW33xQ==", - "cache-control" : "no-store, no-cache, must-revalidate, proxy-revalidate", - "surrogate-control" : "no-store", + "X-Amz-Cf-Pop" : "SEA900-P9", + "x-bt-brainstore-duration-ms" : "45", + "x-bt-api-duration-ms" : "95", + "Date" : "Mon, 31 Aug 2026 17:35:34 GMT", + "Via" : "1.1 4c8322ac27bebc2a7e26f72c7b6ec2ee.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "no-store, no-cache, must-revalidate, proxy-revalidate", + "Access-Control-Allow-Credentials" : "true", + "x-bt-internal-trace-id" : "744286dd00b3a2f17330020ff26c9503", + "X-Amz-Cf-Id" : "pR5UD4s1DB9I9H4JKvOEHP2K_L4ULXYHq2uVPEYcXowEwXYg3v-3kg==", + "Vary" : "Origin", + "Expires" : "0", + "Surrogate-Control" : "no-store", "Content-Type" : "application/json" } }, diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_dataset_b9356d7d-1a96-4f96-9d41-276e9ebd6afe_fetch-1cf8574bf404.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_dataset_b9356d7d-1a96-4f96-9d41-276e9ebd6afe_fetch-1cf8574bf404.json index a76d1fe2..9bbfb90b 100644 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_dataset_b9356d7d-1a96-4f96-9d41-276e9ebd6afe_fetch-1cf8574bf404.json +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_dataset_b9356d7d-1a96-4f96-9d41-276e9ebd6afe_fetch-1cf8574bf404.json @@ -20,23 +20,21 @@ "bodyFileName" : "v1_dataset_b9356d7d-1a96-4f96-9d41-276e9ebd6afe_fetch-1cf8574bf404.json", "headers" : { "X-Cache" : "Miss from cloudfront", - "expires" : "0", - "x-amz-apigw-id" : "AJUKFGo3oAMEagg=", - "vary" : "Origin", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "x-bt-brainstore-duration-ms" : "43", - "X-Amzn-Trace-Id" : "Root=1-6a4d33d9-37d848d34e26ff77598e8ba0;Parent=54532ad5ef5555db;Sampled=0;Lineage=1:fc3b4ff1:0", - "x-bt-api-duration-ms" : "73", - "Date" : "Tue, 07 Jul 2026 17:14:01 GMT", - "Via" : "1.1 82fa7f20ab5a12301da8e01f9493e222.cloudfront.net (CloudFront), 1.1 0ddbf3138c96d4b7c9f8047edb515414.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a4d33d9000000006eee25fa5e7e60ae", - "x-amzn-RequestId" : "18557ded-3116-4058-9261-77d7c4c299d8", - "X-Amz-Cf-Id" : "a7JVH2C4C7O0S8pEja4WGW9hjlzCGBNZJPjFP5saSZyU4aIw1lQ2LQ==", + "X-Amz-Cf-Pop" : "SEA900-P9", + "x-bt-brainstore-duration-ms" : "66", + "x-bt-api-duration-ms" : "101", + "Date" : "Mon, 31 Aug 2026 17:35:34 GMT", + "Via" : "1.1 2501b465adde8e5aedc3f38e3dfcdc22.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "no-store, no-cache, must-revalidate, proxy-revalidate", + "Access-Control-Allow-Credentials" : "true", + "x-bt-internal-trace-id" : "ae6d35822b91eaf92b053d5dd520e3ab", + "X-Amz-Cf-Id" : "s_vNflwh2g95XWYYD6vLzTFxqO0GXPOze0BlrG3_cbdtLLUIMp4fSA==", "x-bt-cursor" : "agOGZGQDAAA", - "cache-control" : "no-store, no-cache, must-revalidate, proxy-revalidate", - "surrogate-control" : "no-store", + "Vary" : "Origin", + "Expires" : "0", + "Surrogate-Control" : "no-store", "Content-Type" : "application/json" } }, diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_dataset_b9356d7d-1a96-4f96-9d41-276e9ebd6afe_fetch-6640eb84e2cc.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_dataset_b9356d7d-1a96-4f96-9d41-276e9ebd6afe_fetch-6640eb84e2cc.json index ee9f9608..297ad131 100644 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_dataset_b9356d7d-1a96-4f96-9d41-276e9ebd6afe_fetch-6640eb84e2cc.json +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_dataset_b9356d7d-1a96-4f96-9d41-276e9ebd6afe_fetch-6640eb84e2cc.json @@ -20,22 +20,20 @@ "bodyFileName" : "v1_dataset_b9356d7d-1a96-4f96-9d41-276e9ebd6afe_fetch-6640eb84e2cc.json", "headers" : { "X-Cache" : "Miss from cloudfront", - "expires" : "0", - "x-amz-apigw-id" : "AJUJWEsGoAMEMQA=", - "vary" : "Origin", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "x-bt-brainstore-duration-ms" : "50", - "X-Amzn-Trace-Id" : "Root=1-6a4d33d4-1cede6686a9a43d7729a742d;Parent=1cfe808a3db4b2f7;Sampled=0;Lineage=1:fc3b4ff1:0", - "x-bt-api-duration-ms" : "79", - "Date" : "Tue, 07 Jul 2026 17:13:57 GMT", - "Via" : "1.1 a53bab1af200813b8f27e3c0a28b4964.cloudfront.net (CloudFront), 1.1 087b179013ed486bf34db435cff85f08.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a4d33d4000000003488200dd2c38389", - "x-amzn-RequestId" : "fdd08fdb-389f-40b8-ae38-f77f95ddb580", - "X-Amz-Cf-Id" : "_1-CkpmlcDUzte5y2gkrx6FavfP4pkKw2-1EYgtAQLG2i0FJ9VcB2g==", - "cache-control" : "no-store, no-cache, must-revalidate, proxy-revalidate", - "surrogate-control" : "no-store", + "X-Amz-Cf-Pop" : "SEA900-P9", + "x-bt-brainstore-duration-ms" : "35", + "x-bt-api-duration-ms" : "70", + "Date" : "Mon, 31 Aug 2026 17:35:27 GMT", + "Via" : "1.1 38842c146ccd8f527d2de72671759d96.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "no-store, no-cache, must-revalidate, proxy-revalidate", + "Access-Control-Allow-Credentials" : "true", + "x-bt-internal-trace-id" : "8d65810ae39bed4f986e81ed06c632fa", + "X-Amz-Cf-Id" : "_EMYMEIwstV7hU_Z0KEKzmS-QRqx0bUCBYuVeIcLrfppRqvzPiJstg==", + "Vary" : "Origin", + "Expires" : "0", + "Surrogate-Control" : "no-store", "Content-Type" : "application/json" } }, diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_dataset_b9356d7d-1a96-4f96-9d41-276e9ebd6afe_fetch-c9f6f9c70482.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_dataset_b9356d7d-1a96-4f96-9d41-276e9ebd6afe_fetch-c9f6f9c70482.json index 3d4c6d81..7a512375 100644 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_dataset_b9356d7d-1a96-4f96-9d41-276e9ebd6afe_fetch-c9f6f9c70482.json +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_dataset_b9356d7d-1a96-4f96-9d41-276e9ebd6afe_fetch-c9f6f9c70482.json @@ -20,23 +20,21 @@ "bodyFileName" : "v1_dataset_b9356d7d-1a96-4f96-9d41-276e9ebd6afe_fetch-c9f6f9c70482.json", "headers" : { "X-Cache" : "Miss from cloudfront", - "expires" : "0", - "x-amz-apigw-id" : "AJUJTHPMIAMEf9g=", - "vary" : "Origin", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "x-bt-brainstore-duration-ms" : "43", - "X-Amzn-Trace-Id" : "Root=1-6a4d33d4-567b64a4793368a01a76381a;Parent=717f35bcf485fd8b;Sampled=0;Lineage=1:fc3b4ff1:0", - "x-bt-api-duration-ms" : "72", - "Date" : "Tue, 07 Jul 2026 17:13:56 GMT", - "Via" : "1.1 73b0c4a85645a8031ba157e0b3e28ffc.cloudfront.net (CloudFront), 1.1 bef90eae512e70457d6a8a77b097a124.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a4d33d4000000004d7c71d2d9c7b495", - "x-amzn-RequestId" : "7b74e832-3d98-4bde-a5b8-7ef8e0479776", - "X-Amz-Cf-Id" : "hkXXqwzjcDKvtGp9SyQj2LBgKoeXP7mDj43ct9U8qTy3Fxh-pXBq5g==", + "X-Amz-Cf-Pop" : "SEA900-P9", + "x-bt-brainstore-duration-ms" : "198", + "x-bt-api-duration-ms" : "234", + "Date" : "Mon, 31 Aug 2026 17:35:27 GMT", + "Via" : "1.1 28edb03169fa053a4a523d90d15ff6ae.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "no-store, no-cache, must-revalidate, proxy-revalidate", + "Access-Control-Allow-Credentials" : "true", + "x-bt-internal-trace-id" : "1dc61923ba64a8ddc08994ce1948cac7", + "X-Amz-Cf-Id" : "9OzKBNRR9FeQmlRwY2ionCQ-o4iyVF_YXs4UfK12nVfWzPU64GsZkQ==", "x-bt-cursor" : "agOGZGQDAAA", - "cache-control" : "no-store, no-cache, must-revalidate, proxy-revalidate", - "surrogate-control" : "no-store", + "Vary" : "Origin", + "Expires" : "0", + "Surrogate-Control" : "no-store", "Content-Type" : "application/json" } }, diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_experiment-1185d0796fb3.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_experiment-1185d0796fb3.json index 0799f8e2..fdae183a 100644 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_experiment-1185d0796fb3.json +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_experiment-1185d0796fb3.json @@ -20,22 +20,18 @@ "bodyFileName" : "v1_experiment-1185d0796fb3.json", "headers" : { "X-Cache" : "Miss from cloudfront", - "expires" : "0", - "x-amz-apigw-id" : "AJUIBFAeoAMEXmw=", - "vary" : "Origin, Accept-Encoding", - "x-amzn-Remapped-content-length" : "460", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "X-Amzn-Trace-Id" : "Root=1-6a4d33cc-1c69a1d55e4e4751798ff6b5;Parent=7cb1c87b831c1f12;Sampled=0;Lineage=1:fc3b4ff1:0", - "Date" : "Tue, 07 Jul 2026 17:13:48 GMT", - "Via" : "1.1 4ac8d091dce10e726cfc5404bfed72b8.cloudfront.net (CloudFront), 1.1 63560dd3f856b0f7bfe68a0cad46924a.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a4d33cc0000000015f239be2e4c1777", - "x-amzn-RequestId" : "88067179-0abf-4528-bb3c-a6e443fae6de", - "X-Amz-Cf-Id" : "do7YFki8xb1uvln1i5zomP8JgZLpdmlkCCa8pjHfFdY-qQTFGofcTg==", - "etag" : "W/\"1cc-wY6bMr0WYAzBpcNQkHl9XTJwGLo\"", - "cache-control" : "no-store, no-cache, must-revalidate, proxy-revalidate", - "surrogate-control" : "no-store", + "X-Amz-Cf-Pop" : "SEA900-P9", + "Date" : "Mon, 31 Aug 2026 17:35:13 GMT", + "Via" : "1.1 1271197444822e7c59413a59ecbcecd6.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "no-store, no-cache, must-revalidate, proxy-revalidate", + "ETag" : "W/\"1cc-wY6bMr0WYAzBpcNQkHl9XTJwGLo\"", + "Access-Control-Allow-Credentials" : "true", + "X-Amz-Cf-Id" : "fFoi3qGkBHDq7kWalYuVbcRyA3Q42wzFA15uuTPBubAkZ8aWoF2VJA==", + "Vary" : "Origin, Accept-Encoding", + "Expires" : "0", + "Surrogate-Control" : "no-store", "Content-Type" : "application/json; charset=utf-8" } }, diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_experiment-15c1caf03988.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_experiment-15c1caf03988.json index d8e5f54b..11253993 100644 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_experiment-15c1caf03988.json +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_experiment-15c1caf03988.json @@ -20,22 +20,18 @@ "bodyFileName" : "v1_experiment-15c1caf03988.json", "headers" : { "X-Cache" : "Miss from cloudfront", - "expires" : "0", - "x-amz-apigw-id" : "AJUKlGsnIAMEjKQ=", - "vary" : "Origin, Accept-Encoding", - "x-amzn-Remapped-content-length" : "479", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "X-Amzn-Trace-Id" : "Root=1-6a4d33dc-5e824299492d47e3385f644e;Parent=4731a5e3b0529076;Sampled=0;Lineage=1:fc3b4ff1:0", - "Date" : "Tue, 07 Jul 2026 17:14:04 GMT", - "Via" : "1.1 82fa7f20ab5a12301da8e01f9493e222.cloudfront.net (CloudFront), 1.1 dea0b5e705fff834db8ae3992ea09cfa.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a4d33dc000000002fed6a384cbd7443", - "x-amzn-RequestId" : "9b9cefac-b2c6-423a-a4fe-1c6fdbb5aca4", - "X-Amz-Cf-Id" : "eiILTqQHhlYzRjMMxbvYRWwTqVLiTvdr5Mp81PczcLMoFIfspoDKYg==", - "etag" : "W/\"1df-KoYSpT/17Hnv0PbF0CasKHhrIKA\"", - "cache-control" : "no-store, no-cache, must-revalidate, proxy-revalidate", - "surrogate-control" : "no-store", + "X-Amz-Cf-Pop" : "SEA900-P9", + "Date" : "Mon, 31 Aug 2026 17:35:40 GMT", + "Via" : "1.1 1271197444822e7c59413a59ecbcecd6.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "no-store, no-cache, must-revalidate, proxy-revalidate", + "ETag" : "W/\"1df-KoYSpT/17Hnv0PbF0CasKHhrIKA\"", + "Access-Control-Allow-Credentials" : "true", + "X-Amz-Cf-Id" : "G4y4p18s8Au6Zls89_6ChF6bq0Yz9i9-eOFwy6_6O746tEKrI5wZcg==", + "Vary" : "Origin, Accept-Encoding", + "Expires" : "0", + "Surrogate-Control" : "no-store", "Content-Type" : "application/json; charset=utf-8" } }, diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_experiment-1c35a91bc6db.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_experiment-1c35a91bc6db.json index fc64a066..5d418ffb 100644 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_experiment-1c35a91bc6db.json +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_experiment-1c35a91bc6db.json @@ -20,22 +20,18 @@ "bodyFileName" : "v1_experiment-1c35a91bc6db.json", "headers" : { "X-Cache" : "Miss from cloudfront", - "expires" : "0", - "x-amz-apigw-id" : "AJUJfGaFoAMEekQ=", - "vary" : "Origin, Accept-Encoding", - "x-amzn-Remapped-content-length" : "462", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "X-Amzn-Trace-Id" : "Root=1-6a4d33d5-18a52e47690a68ba2f9b74b4;Parent=772136c640ea8706;Sampled=0;Lineage=1:fc3b4ff1:0", - "Date" : "Tue, 07 Jul 2026 17:13:57 GMT", - "Via" : "1.1 82fa7f20ab5a12301da8e01f9493e222.cloudfront.net (CloudFront), 1.1 63560dd3f856b0f7bfe68a0cad46924a.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a4d33d5000000003890f01243a386fe", - "x-amzn-RequestId" : "22dbe040-c673-4677-b2b7-d662f2fed7c1", - "X-Amz-Cf-Id" : "5Y8-TybWroS0Rchc5EMaSgnD6wh1wPJo9eP9L_slWl4iWSmh4oM8RA==", - "etag" : "W/\"1ce-4V8i0VWkVtltcJCLXao3Z7tGkcA\"", - "cache-control" : "no-store, no-cache, must-revalidate, proxy-revalidate", - "surrogate-control" : "no-store", + "X-Amz-Cf-Pop" : "SEA900-P9", + "Date" : "Mon, 31 Aug 2026 17:35:29 GMT", + "Via" : "1.1 087b179013ed486bf34db435cff85f08.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "no-store, no-cache, must-revalidate, proxy-revalidate", + "ETag" : "W/\"1ce-4V8i0VWkVtltcJCLXao3Z7tGkcA\"", + "Access-Control-Allow-Credentials" : "true", + "X-Amz-Cf-Id" : "3gPmBN4CG9_xp3Dlr_do2Jeer3HZAz6_LwS-sUM4moY3d7ur21lFMQ==", + "Vary" : "Origin, Accept-Encoding", + "Expires" : "0", + "Surrogate-Control" : "no-store", "Content-Type" : "application/json; charset=utf-8" } }, diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_experiment-2c8bb270c5cf.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_experiment-2c8bb270c5cf.json index f61435e5..0fe7d0fc 100644 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_experiment-2c8bb270c5cf.json +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_experiment-2c8bb270c5cf.json @@ -20,22 +20,18 @@ "bodyFileName" : "v1_experiment-2c8bb270c5cf.json", "headers" : { "X-Cache" : "Miss from cloudfront", - "expires" : "0", - "x-amz-apigw-id" : "AJUIQHProAMEp5Q=", - "vary" : "Origin, Accept-Encoding", - "x-amzn-Remapped-content-length" : "454", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "X-Amzn-Trace-Id" : "Root=1-6a4d33cd-5f81dca347daeed37c36cfbd;Parent=0b0cac5e19e84442;Sampled=0;Lineage=1:fc3b4ff1:0", - "Date" : "Tue, 07 Jul 2026 17:13:50 GMT", - "Via" : "1.1 4ac8d091dce10e726cfc5404bfed72b8.cloudfront.net (CloudFront), 1.1 a3134c0c893f03d1e9a9c657d09af7cc.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a4d33cd00000000489af0b258d2c7a7", - "x-amzn-RequestId" : "6b5964de-503b-4159-b2da-1b0357e9819e", - "X-Amz-Cf-Id" : "DUcXSQcYxORt4fVrkjI9K_PDNSUjTGLfcMyLewW4YTfL3EkUkRQ7Pg==", - "etag" : "W/\"1c6-rz81IPhQ4qZNL6lAqhJrzM+gycU\"", - "cache-control" : "no-store, no-cache, must-revalidate, proxy-revalidate", - "surrogate-control" : "no-store", + "X-Amz-Cf-Pop" : "SEA900-P9", + "Date" : "Mon, 31 Aug 2026 17:35:16 GMT", + "Via" : "1.1 88f286e23c15fc2f62a741db8207a67a.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "no-store, no-cache, must-revalidate, proxy-revalidate", + "ETag" : "W/\"1c6-rz81IPhQ4qZNL6lAqhJrzM+gycU\"", + "Access-Control-Allow-Credentials" : "true", + "X-Amz-Cf-Id" : "Ahm3thF__dsP6OojQIw64Y0XKIX7y0EpzYnk6-N2Ds1LmaohM2SARQ==", + "Vary" : "Origin, Accept-Encoding", + "Expires" : "0", + "Surrogate-Control" : "no-store", "Content-Type" : "application/json; charset=utf-8" } }, diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_experiment-3a2e2d9f7d29.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_experiment-3a2e2d9f7d29.json index 121b039c..9d68d64f 100644 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_experiment-3a2e2d9f7d29.json +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_experiment-3a2e2d9f7d29.json @@ -20,22 +20,18 @@ "bodyFileName" : "v1_experiment-3a2e2d9f7d29.json", "headers" : { "X-Cache" : "Miss from cloudfront", - "expires" : "0", - "x-amz-apigw-id" : "AJUQZFgQIAMEQLw=", - "vary" : "Origin, Accept-Encoding", - "x-amzn-Remapped-content-length" : "448", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "X-Amzn-Trace-Id" : "Root=1-6a4d3402-125460212fcb3a2d5a0b1fee;Parent=39df72a268b523ab;Sampled=0;Lineage=1:fc3b4ff1:0", - "Date" : "Tue, 07 Jul 2026 17:14:42 GMT", - "Via" : "1.1 cb2aa1abf9fb243a4dc4cb073a92424e.cloudfront.net (CloudFront), 1.1 bef90eae512e70457d6a8a77b097a124.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a4d34020000000023c3aef42bcb1a40", - "x-amzn-RequestId" : "2eca8889-58d4-48c5-94b6-e2d580229629", - "X-Amz-Cf-Id" : "VzG8dE1TXiVND3WsQbhHdheyPd_Q5sZHokGQvlYyLb3n97-rRQZoQQ==", - "etag" : "W/\"1c0-rOfZfVMj+H5rmOzu1dSCnRShoyM\"", - "cache-control" : "no-store, no-cache, must-revalidate, proxy-revalidate", - "surrogate-control" : "no-store", + "X-Amz-Cf-Pop" : "SEA900-P9", + "Date" : "Mon, 31 Aug 2026 17:36:26 GMT", + "Via" : "1.1 1271197444822e7c59413a59ecbcecd6.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "no-store, no-cache, must-revalidate, proxy-revalidate", + "ETag" : "W/\"1c0-rOfZfVMj+H5rmOzu1dSCnRShoyM\"", + "Access-Control-Allow-Credentials" : "true", + "X-Amz-Cf-Id" : "CkaGPjXs0R6BH0jmBjL1u9yNaJz2PH5jIZNGHyJZhmteSD_VziKRzA==", + "Vary" : "Origin, Accept-Encoding", + "Expires" : "0", + "Surrogate-Control" : "no-store", "Content-Type" : "application/json; charset=utf-8" } }, diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_experiment-4505871e1c6e.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_experiment-4505871e1c6e.json index 63895c76..02456f14 100644 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_experiment-4505871e1c6e.json +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_experiment-4505871e1c6e.json @@ -20,22 +20,18 @@ "bodyFileName" : "v1_experiment-4505871e1c6e.json", "headers" : { "X-Cache" : "Miss from cloudfront", - "expires" : "0", - "x-amz-apigw-id" : "AJUKCE13IAMEMGQ=", - "vary" : "Origin, Accept-Encoding", - "x-amzn-Remapped-content-length" : "529", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "X-Amzn-Trace-Id" : "Root=1-6a4d33d9-7cfa8a2d504605d471979346;Parent=6cd1d244e9fd6e1d;Sampled=0;Lineage=1:fc3b4ff1:0", - "Date" : "Tue, 07 Jul 2026 17:14:01 GMT", - "Via" : "1.1 82fa7f20ab5a12301da8e01f9493e222.cloudfront.net (CloudFront), 1.1 55a62c25b77c24cde4014f567fd1c550.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a4d33d900000000039794b04e1b6736", - "x-amzn-RequestId" : "bbbb8bdf-a6de-47b8-9f29-b191e4e3c9e2", - "X-Amz-Cf-Id" : "k8OFqhfNt3ywvXokUNK7iVro1z60wRPqBAv2ttvq6fgotoVDFzn0ZQ==", - "etag" : "W/\"211-qVCZH2Q8waC10QyI4t+xLS470s8\"", - "cache-control" : "no-store, no-cache, must-revalidate, proxy-revalidate", - "surrogate-control" : "no-store", + "X-Amz-Cf-Pop" : "SEA900-P9", + "Date" : "Mon, 31 Aug 2026 17:35:33 GMT", + "Via" : "1.1 38842c146ccd8f527d2de72671759d96.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "no-store, no-cache, must-revalidate, proxy-revalidate", + "ETag" : "W/\"211-qVCZH2Q8waC10QyI4t+xLS470s8\"", + "Access-Control-Allow-Credentials" : "true", + "X-Amz-Cf-Id" : "DW4e8e7R7BeqoYu-8ET8ODfAtOjyKCqtA_j4frpTn-gJEc5X7k6_5g==", + "Vary" : "Origin, Accept-Encoding", + "Expires" : "0", + "Surrogate-Control" : "no-store", "Content-Type" : "application/json; charset=utf-8" } }, diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_experiment-46c4ac06117d.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_experiment-46c4ac06117d.json index 372d3c5e..1b3a7bd2 100644 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_experiment-46c4ac06117d.json +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_experiment-46c4ac06117d.json @@ -20,22 +20,18 @@ "bodyFileName" : "v1_experiment-46c4ac06117d.json", "headers" : { "X-Cache" : "Miss from cloudfront", - "expires" : "0", - "x-amz-apigw-id" : "AJUP5HXWoAMEoBQ=", - "vary" : "Origin, Accept-Encoding", - "x-amzn-Remapped-content-length" : "448", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "X-Amzn-Trace-Id" : "Root=1-6a4d33fe-74dd6aa30a00dce972b91f4d;Parent=7d2c83b79829775c;Sampled=0;Lineage=1:fc3b4ff1:0", - "Date" : "Tue, 07 Jul 2026 17:14:39 GMT", - "Via" : "1.1 82fa7f20ab5a12301da8e01f9493e222.cloudfront.net (CloudFront), 1.1 0ddbf3138c96d4b7c9f8047edb515414.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a4d33fe0000000001978a8727362869", - "x-amzn-RequestId" : "680a7616-9b1e-4ff8-bba2-55eebf47d96f", - "X-Amz-Cf-Id" : "RBgSM_UUwtYxnC3PV2_6znJ2afGddmwABrMs1j0cvu9ltKKu7BA34Q==", - "etag" : "W/\"1c0-rOfZfVMj+H5rmOzu1dSCnRShoyM\"", - "cache-control" : "no-store, no-cache, must-revalidate, proxy-revalidate", - "surrogate-control" : "no-store", + "X-Amz-Cf-Pop" : "SEA900-P9", + "Date" : "Mon, 31 Aug 2026 17:36:20 GMT", + "Via" : "1.1 2501b465adde8e5aedc3f38e3dfcdc22.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "no-store, no-cache, must-revalidate, proxy-revalidate", + "ETag" : "W/\"1c0-rOfZfVMj+H5rmOzu1dSCnRShoyM\"", + "Access-Control-Allow-Credentials" : "true", + "X-Amz-Cf-Id" : "PxIuOivbQEDPbKEgg1ieHV_f0ueTwfAhOF76h5mczG-2CGW5SKjkUg==", + "Vary" : "Origin, Accept-Encoding", + "Expires" : "0", + "Surrogate-Control" : "no-store", "Content-Type" : "application/json; charset=utf-8" } }, diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_experiment-4f1bd5afd18d.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_experiment-4f1bd5afd18d.json index c69eafba..17c97a63 100644 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_experiment-4f1bd5afd18d.json +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_experiment-4f1bd5afd18d.json @@ -20,22 +20,18 @@ "bodyFileName" : "v1_experiment-4f1bd5afd18d.json", "headers" : { "X-Cache" : "Miss from cloudfront", - "expires" : "0", - "x-amz-apigw-id" : "AJUI7FmtoAMEIYw=", - "vary" : "Origin, Accept-Encoding", - "x-amzn-Remapped-content-length" : "455", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "X-Amzn-Trace-Id" : "Root=1-6a4d33d2-1ed4341d27467c9054581583;Parent=2aadfafbffdc0f01;Sampled=0;Lineage=1:fc3b4ff1:0", - "Date" : "Tue, 07 Jul 2026 17:13:54 GMT", - "Via" : "1.1 4ac8d091dce10e726cfc5404bfed72b8.cloudfront.net (CloudFront), 1.1 e088ff8bff69861ed7fd37fbb518f0c2.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a4d33d20000000063bcae9a5abf86f1", - "x-amzn-RequestId" : "e467b11b-71e7-4fed-b2cc-6a4ec3a8b7a2", - "X-Amz-Cf-Id" : "sR1w_XIm-hkPl6TQHGdQGfyDe8CzlEwG0Cu6ImmRqG3-SPh2BC4CZQ==", - "etag" : "W/\"1c7-Nuu5x5+lc1SsjkxZYjB+5Dmn450\"", - "cache-control" : "no-store, no-cache, must-revalidate, proxy-revalidate", - "surrogate-control" : "no-store", + "X-Amz-Cf-Pop" : "SEA900-P9", + "Date" : "Mon, 31 Aug 2026 17:35:22 GMT", + "Via" : "1.1 b2b215a89cc2734b2940e2eb59ea4bd0.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "no-store, no-cache, must-revalidate, proxy-revalidate", + "ETag" : "W/\"1c7-Nuu5x5+lc1SsjkxZYjB+5Dmn450\"", + "Access-Control-Allow-Credentials" : "true", + "X-Amz-Cf-Id" : "occ7rh3_9u_FHwLJ7AZxE4Z804x4Q5eoZaTnf0TsHsktdHALcgsNdQ==", + "Vary" : "Origin, Accept-Encoding", + "Expires" : "0", + "Surrogate-Control" : "no-store", "Content-Type" : "application/json; charset=utf-8" } }, diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_experiment-5d684800a6fd.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_experiment-5d684800a6fd.json index 3420635c..30344d1a 100644 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_experiment-5d684800a6fd.json +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_experiment-5d684800a6fd.json @@ -17,22 +17,18 @@ "bodyFileName" : "v1_experiment-5d684800a6fd.json", "headers" : { "X-Cache" : "Miss from cloudfront", - "expires" : "0", - "x-amz-apigw-id" : "AJULUExmIAMEQ2Q=", - "vary" : "Origin, Accept-Encoding", - "x-amzn-Remapped-content-length" : "11251", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "X-Amzn-Trace-Id" : "Root=1-6a4d33e1-4ece6b4916877ef72506eb60;Parent=0f6e749bf65c0b21;Sampled=0;Lineage=1:fc3b4ff1:0", - "Date" : "Tue, 07 Jul 2026 17:14:09 GMT", - "Via" : "1.1 7605973575a3551426b82751020317de.cloudfront.net (CloudFront), 1.1 9895fa1d75119fa16da9e015b58dbe5a.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a4d33e1000000003a0de59374e57bb2", - "x-amzn-RequestId" : "13ca3cc6-ddb6-40fd-b277-8b921ba464c8", - "X-Amz-Cf-Id" : "NLJWn5vCcmnXsifVMPdsQDib8n-ftsoltgfYbkoHePmOIVjHPbjBPQ==", - "etag" : "W/\"2bf3-sFEfS8Y8fTWhXkl1hO8gFxGRhJQ\"", - "cache-control" : "no-store, no-cache, must-revalidate, proxy-revalidate", - "surrogate-control" : "no-store", + "X-Amz-Cf-Pop" : "SEA900-P9", + "Date" : "Mon, 31 Aug 2026 17:35:48 GMT", + "Via" : "1.1 3417fc639ca50b55b2a1d93807a20c2c.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "no-store, no-cache, must-revalidate, proxy-revalidate", + "ETag" : "W/\"43b3-roALl1F8FPYyjCcQyTEluW7jHUg\"", + "Access-Control-Allow-Credentials" : "true", + "X-Amz-Cf-Id" : "lQ7ogAYHDv9NH0mqIBBQhJQdgXcmpsCpIUUr8uPmmt5MrXw_rSlugA==", + "Vary" : "Origin, Accept-Encoding", + "Expires" : "0", + "Surrogate-Control" : "no-store", "Content-Type" : "application/json; charset=utf-8" } }, diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_experiment-67cf42a7ba09.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_experiment-67cf42a7ba09.json index ab6111c2..1a26a090 100644 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_experiment-67cf42a7ba09.json +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_experiment-67cf42a7ba09.json @@ -20,22 +20,18 @@ "bodyFileName" : "v1_experiment-67cf42a7ba09.json", "headers" : { "X-Cache" : "Miss from cloudfront", - "expires" : "0", - "x-amz-apigw-id" : "AJULqGwYoAMEQZQ=", - "vary" : "Origin, Accept-Encoding", - "x-amzn-Remapped-content-length" : "448", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "X-Amzn-Trace-Id" : "Root=1-6a4d33e3-5a85d65c76a5656f41db147f;Parent=655d2e87e3de5a4d;Sampled=0;Lineage=1:fc3b4ff1:0", - "Date" : "Tue, 07 Jul 2026 17:14:11 GMT", - "Via" : "1.1 82fa7f20ab5a12301da8e01f9493e222.cloudfront.net (CloudFront), 1.1 a6be96637dfcb93ee417719bb21d57d0.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a4d33e300000000453e74f15a0e9a18", - "x-amzn-RequestId" : "1d9448bf-8c74-4300-89c3-a4ef5e6bd783", - "X-Amz-Cf-Id" : "9nRricRw_nP9onQr5Zr0cq0GrSKDMMxrglL_HYvXJ8XnIgjl38BJTw==", - "etag" : "W/\"1c0-rOfZfVMj+H5rmOzu1dSCnRShoyM\"", - "cache-control" : "no-store, no-cache, must-revalidate, proxy-revalidate", - "surrogate-control" : "no-store", + "X-Amz-Cf-Pop" : "SEA900-P9", + "Date" : "Mon, 31 Aug 2026 17:35:52 GMT", + "Via" : "1.1 6ebf93cd3baadad602a5fd706f0df16e.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "no-store, no-cache, must-revalidate, proxy-revalidate", + "ETag" : "W/\"1c0-rOfZfVMj+H5rmOzu1dSCnRShoyM\"", + "Access-Control-Allow-Credentials" : "true", + "X-Amz-Cf-Id" : "lRvP5MENaaRVSeVlnFNDTGE9h7bqLh_dV15AlOkyGJ47iQNekoeUpw==", + "Vary" : "Origin, Accept-Encoding", + "Expires" : "0", + "Surrogate-Control" : "no-store", "Content-Type" : "application/json; charset=utf-8" } }, diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_experiment-6f12a32a982e.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_experiment-6f12a32a982e.json index 62c5d537..23b134ab 100644 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_experiment-6f12a32a982e.json +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_experiment-6f12a32a982e.json @@ -20,22 +20,18 @@ "bodyFileName" : "v1_experiment-6f12a32a982e.json", "headers" : { "X-Cache" : "Miss from cloudfront", - "expires" : "0", - "x-amz-apigw-id" : "AJUQCGe9IAMEMxw=", - "vary" : "Origin, Accept-Encoding", - "x-amzn-Remapped-content-length" : "459", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "X-Amzn-Trace-Id" : "Root=1-6a4d33ff-6343e48047f3a70f08de0891;Parent=4956b005ddadb3ef;Sampled=0;Lineage=1:fc3b4ff1:0", - "Date" : "Tue, 07 Jul 2026 17:14:39 GMT", - "Via" : "1.1 82fa7f20ab5a12301da8e01f9493e222.cloudfront.net (CloudFront), 1.1 dea0b5e705fff834db8ae3992ea09cfa.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a4d33ff00000000351a18a102f3a166", - "x-amzn-RequestId" : "b9ae7d02-c953-41ff-8d0a-452f2b45abc1", - "X-Amz-Cf-Id" : "RsIH4MHQ-PlHFkkQezC1LRQJDTlR6_Jk08Z03eVvHW1HjNkkui_qPQ==", - "etag" : "W/\"1cb-3+W4r/SJHc/1jIbRvRwxUW1Hzeg\"", - "cache-control" : "no-store, no-cache, must-revalidate, proxy-revalidate", - "surrogate-control" : "no-store", + "X-Amz-Cf-Pop" : "SEA900-P9", + "Date" : "Mon, 31 Aug 2026 17:36:22 GMT", + "Via" : "1.1 e8b22a8fa8511f8f972b4965a9af80b4.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "no-store, no-cache, must-revalidate, proxy-revalidate", + "ETag" : "W/\"1cb-3+W4r/SJHc/1jIbRvRwxUW1Hzeg\"", + "Access-Control-Allow-Credentials" : "true", + "X-Amz-Cf-Id" : "RfuPwoviSO58DOB7f7KKz4pkoBO_5jC95xHfQa5uOYNycWNOkY79_A==", + "Vary" : "Origin, Accept-Encoding", + "Expires" : "0", + "Surrogate-Control" : "no-store", "Content-Type" : "application/json; charset=utf-8" } }, diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_experiment-7178bf200daf.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_experiment-7178bf200daf.json index 7f799cc4..75f589af 100644 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_experiment-7178bf200daf.json +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_experiment-7178bf200daf.json @@ -20,22 +20,18 @@ "bodyFileName" : "v1_experiment-7178bf200daf.json", "headers" : { "X-Cache" : "Miss from cloudfront", - "expires" : "0", - "x-amz-apigw-id" : "AJUQnGhqoAMEuFA=", - "vary" : "Origin, Accept-Encoding", - "x-amzn-Remapped-content-length" : "448", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "X-Amzn-Trace-Id" : "Root=1-6a4d3403-08c840524914468763383a88;Parent=0a65d3cbe77cf003;Sampled=0;Lineage=1:fc3b4ff1:0", - "Date" : "Tue, 07 Jul 2026 17:14:43 GMT", - "Via" : "1.1 82fa7f20ab5a12301da8e01f9493e222.cloudfront.net (CloudFront), 1.1 38842c146ccd8f527d2de72671759d96.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a4d3403000000000535137b6f3e9943", - "x-amzn-RequestId" : "68585ab4-8eec-4f22-94c5-277830ea065a", - "X-Amz-Cf-Id" : "kzzGy6gTBZmLj9h223L9ruf0SaoRP0_MnLa3jeiFtwaJFA6ek9VQ0g==", - "etag" : "W/\"1c0-rOfZfVMj+H5rmOzu1dSCnRShoyM\"", - "cache-control" : "no-store, no-cache, must-revalidate, proxy-revalidate", - "surrogate-control" : "no-store", + "X-Amz-Cf-Pop" : "SEA900-P9", + "Date" : "Mon, 31 Aug 2026 17:36:29 GMT", + "Via" : "1.1 7aad92255c39d277bce3f20afa1b059c.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "no-store, no-cache, must-revalidate, proxy-revalidate", + "ETag" : "W/\"1c0-rOfZfVMj+H5rmOzu1dSCnRShoyM\"", + "Access-Control-Allow-Credentials" : "true", + "X-Amz-Cf-Id" : "qZ9iMxDNmiVjk7IxLY2oZJ_Ox7zeJtFMa-WeJ54wdJm32x5fGiu7sA==", + "Vary" : "Origin, Accept-Encoding", + "Expires" : "0", + "Surrogate-Control" : "no-store", "Content-Type" : "application/json; charset=utf-8" } }, diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_experiment-80d23f49c06c.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_experiment-80d23f49c06c.json index 3b196e62..46d3e0b6 100644 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_experiment-80d23f49c06c.json +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_experiment-80d23f49c06c.json @@ -20,22 +20,18 @@ "bodyFileName" : "v1_experiment-80d23f49c06c.json", "headers" : { "X-Cache" : "Miss from cloudfront", - "expires" : "0", - "x-amz-apigw-id" : "AJUHyHUFIAMESfA=", - "vary" : "Origin, Accept-Encoding", - "x-amzn-Remapped-content-length" : "450", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "X-Amzn-Trace-Id" : "Root=1-6a4d33ca-226fdb3109af24ad2f9987bb;Parent=3f59fc67f5066dfa;Sampled=0;Lineage=1:fc3b4ff1:0", - "Date" : "Tue, 07 Jul 2026 17:13:47 GMT", - "Via" : "1.1 4ac8d091dce10e726cfc5404bfed72b8.cloudfront.net (CloudFront), 1.1 7f26c41dda80bd7d50ccec2be87c9c3e.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a4d33ca0000000014388bd0f1d6ea12", - "x-amzn-RequestId" : "d6ce7468-2af0-4360-ba1b-4c57733a18dd", - "X-Amz-Cf-Id" : "zJn41YSr-937APKfyZ1_mZwJcH1LcYiW1OMMM1F4wQPkjKd53hp1NQ==", - "etag" : "W/\"1c2-xdW6/5KUQpOgyFv/Kw/psYXB6lA\"", - "cache-control" : "no-store, no-cache, must-revalidate, proxy-revalidate", - "surrogate-control" : "no-store", + "X-Amz-Cf-Pop" : "SEA900-P9", + "Date" : "Mon, 31 Aug 2026 17:35:09 GMT", + "Via" : "1.1 bef90eae512e70457d6a8a77b097a124.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "no-store, no-cache, must-revalidate, proxy-revalidate", + "ETag" : "W/\"1c2-xdW6/5KUQpOgyFv/Kw/psYXB6lA\"", + "Access-Control-Allow-Credentials" : "true", + "X-Amz-Cf-Id" : "BgvYcuu5mjqkGXmFV2eSKcjwJGcxZmKPWuT4vyKSNV50n0KXEigCDA==", + "Vary" : "Origin, Accept-Encoding", + "Expires" : "0", + "Surrogate-Control" : "no-store", "Content-Type" : "application/json; charset=utf-8" } }, diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_experiment-81a6ebbafe29.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_experiment-81a6ebbafe29.json index 212c100a..2cd86824 100644 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_experiment-81a6ebbafe29.json +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_experiment-81a6ebbafe29.json @@ -20,22 +20,18 @@ "bodyFileName" : "v1_experiment-81a6ebbafe29.json", "headers" : { "X-Cache" : "Miss from cloudfront", - "expires" : "0", - "x-amz-apigw-id" : "AJUImFyJoAMEfAA=", - "vary" : "Origin, Accept-Encoding", - "x-amzn-Remapped-content-length" : "451", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "X-Amzn-Trace-Id" : "Root=1-6a4d33d0-6a99e53e54d8fb4b3e828353;Parent=3e20be4d1ac1fdb9;Sampled=0;Lineage=1:fc3b4ff1:0", - "Date" : "Tue, 07 Jul 2026 17:13:52 GMT", - "Via" : "1.1 7605973575a3551426b82751020317de.cloudfront.net (CloudFront), 1.1 3062c1f9ccf5f043983bc180e222dd9c.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a4d33d0000000005f6d8a6f0e03d8a8", - "x-amzn-RequestId" : "fd7c1860-5c30-4b2c-a0b5-670abf9c8908", - "X-Amz-Cf-Id" : "qBQ4ifjv1Grc5EKjVQCOdzEncKi8r0t2l8reJqlvaOKwr2jMCMwNaw==", - "etag" : "W/\"1c3-dkvmbzbnogEoefH3HNfcb+4qbp8\"", - "cache-control" : "no-store, no-cache, must-revalidate, proxy-revalidate", - "surrogate-control" : "no-store", + "X-Amz-Cf-Pop" : "SEA900-P9", + "Date" : "Mon, 31 Aug 2026 17:35:19 GMT", + "Via" : "1.1 63560dd3f856b0f7bfe68a0cad46924a.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "no-store, no-cache, must-revalidate, proxy-revalidate", + "ETag" : "W/\"1c3-dkvmbzbnogEoefH3HNfcb+4qbp8\"", + "Access-Control-Allow-Credentials" : "true", + "X-Amz-Cf-Id" : "ZvoOUNWnNFMXTYWn-i6FF0Cw6Z9G74wj8_d63IF6K4DdnjLoHJnu3w==", + "Vary" : "Origin, Accept-Encoding", + "Expires" : "0", + "Surrogate-Control" : "no-store", "Content-Type" : "application/json; charset=utf-8" } }, diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_experiment-95018d18b04f.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_experiment-95018d18b04f.json index 4e3fc8a4..d722ec72 100644 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_experiment-95018d18b04f.json +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_experiment-95018d18b04f.json @@ -20,22 +20,18 @@ "bodyFileName" : "v1_experiment-95018d18b04f.json", "headers" : { "X-Cache" : "Miss from cloudfront", - "expires" : "0", - "x-amz-apigw-id" : "AJUKbGgKoAMEYrg=", - "vary" : "Origin, Accept-Encoding", - "x-amzn-Remapped-content-length" : "448", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "X-Amzn-Trace-Id" : "Root=1-6a4d33db-053daf2d7908a12b6fb7c2dc;Parent=16734d22adbce720;Sampled=0;Lineage=1:fc3b4ff1:0", - "Date" : "Tue, 07 Jul 2026 17:14:04 GMT", - "Via" : "1.1 82fa7f20ab5a12301da8e01f9493e222.cloudfront.net (CloudFront), 1.1 4c8322ac27bebc2a7e26f72c7b6ec2ee.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a4d33db000000006bab58e7d88c2546", - "x-amzn-RequestId" : "327546ba-4c10-4621-81bd-c544f3a39db4", - "X-Amz-Cf-Id" : "YhKIT0QD832a8QtYvX5fpZvgCAlMUs72RAgOmS1LhSF3vnN87aqwmg==", - "etag" : "W/\"1c0-rOfZfVMj+H5rmOzu1dSCnRShoyM\"", - "cache-control" : "no-store, no-cache, must-revalidate, proxy-revalidate", - "surrogate-control" : "no-store", + "X-Amz-Cf-Pop" : "SEA900-P9", + "Date" : "Mon, 31 Aug 2026 17:35:38 GMT", + "Via" : "1.1 a3134c0c893f03d1e9a9c657d09af7cc.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "no-store, no-cache, must-revalidate, proxy-revalidate", + "ETag" : "W/\"1c0-rOfZfVMj+H5rmOzu1dSCnRShoyM\"", + "Access-Control-Allow-Credentials" : "true", + "X-Amz-Cf-Id" : "Oo9gtys5Z84rHvv3ASPkiiKaXEHGZRXxc2XhJP7803iCZA7yaJbz7g==", + "Vary" : "Origin, Accept-Encoding", + "Expires" : "0", + "Surrogate-Control" : "no-store", "Content-Type" : "application/json; charset=utf-8" } }, diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_experiment-97bb2a06cbf7.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_experiment-97bb2a06cbf7.json index 3ec98ecd..41e0c03a 100644 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_experiment-97bb2a06cbf7.json +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_experiment-97bb2a06cbf7.json @@ -20,22 +20,18 @@ "bodyFileName" : "v1_experiment-97bb2a06cbf7.json", "headers" : { "X-Cache" : "Miss from cloudfront", - "expires" : "0", - "x-amz-apigw-id" : "AJUK6HF5IAMEfAA=", - "vary" : "Origin, Accept-Encoding", - "x-amzn-Remapped-content-length" : "461", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "X-Amzn-Trace-Id" : "Root=1-6a4d33de-063700ac3df596ea16718ae4;Parent=38cfcea4c2d58518;Sampled=0;Lineage=1:fc3b4ff1:0", - "Date" : "Tue, 07 Jul 2026 17:14:07 GMT", - "Via" : "1.1 4ac8d091dce10e726cfc5404bfed72b8.cloudfront.net (CloudFront), 1.1 04efc78121acf5d40974e6a71bebce20.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a4d33df00000000106cebf7cd420f09", - "x-amzn-RequestId" : "b58ba9a6-b2eb-4869-939d-d959eac4384c", - "X-Amz-Cf-Id" : "Y5tG0M8MrfO23bBoiPn3FpTp-YvVjXU_ZA726YFVjaDmx9YqN43nLQ==", - "etag" : "W/\"1cd-1ye19VDF6K82pXTqX6IArIkktuk\"", - "cache-control" : "no-store, no-cache, must-revalidate, proxy-revalidate", - "surrogate-control" : "no-store", + "X-Amz-Cf-Pop" : "SEA900-P9", + "Date" : "Mon, 31 Aug 2026 17:35:44 GMT", + "Via" : "1.1 3417fc639ca50b55b2a1d93807a20c2c.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "no-store, no-cache, must-revalidate, proxy-revalidate", + "ETag" : "W/\"1cd-1ye19VDF6K82pXTqX6IArIkktuk\"", + "Access-Control-Allow-Credentials" : "true", + "X-Amz-Cf-Id" : "m10RiDsvl_al33qt8JklKXf6B16P6Wsd0fNoiWM34lUXl6jhZ0lFXQ==", + "Vary" : "Origin, Accept-Encoding", + "Expires" : "0", + "Surrogate-Control" : "no-store", "Content-Type" : "application/json; charset=utf-8" } }, diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_experiment-9d06cabca0f6.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_experiment-9d06cabca0f6.json index 700e42a4..1fc90c99 100644 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_experiment-9d06cabca0f6.json +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_experiment-9d06cabca0f6.json @@ -17,22 +17,18 @@ "bodyFileName" : "v1_experiment-9d06cabca0f6.json", "headers" : { "X-Cache" : "Miss from cloudfront", - "expires" : "0", - "x-amz-apigw-id" : "AJUKSG5GoAMESSA=", - "vary" : "Origin, Accept-Encoding", - "x-amzn-Remapped-content-length" : "11251", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "X-Amzn-Trace-Id" : "Root=1-6a4d33da-30401632470db7110677e05c;Parent=43c5565f62c5dd78;Sampled=0;Lineage=1:fc3b4ff1:0", - "Date" : "Tue, 07 Jul 2026 17:14:03 GMT", - "Via" : "1.1 82fa7f20ab5a12301da8e01f9493e222.cloudfront.net (CloudFront), 1.1 2501b465adde8e5aedc3f38e3dfcdc22.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a4d33da00000000170f24aa3a93aff6", - "x-amzn-RequestId" : "2b5787fa-edac-4eb8-bf9a-904ff4342c58", - "X-Amz-Cf-Id" : "pKfh5d2DI7FZ7woSOpJDVlDJ_a6V29gRq35SDcmnBBOcyI3uEnOfCw==", - "etag" : "W/\"2bf3-sFEfS8Y8fTWhXkl1hO8gFxGRhJQ\"", - "cache-control" : "no-store, no-cache, must-revalidate, proxy-revalidate", - "surrogate-control" : "no-store", + "X-Amz-Cf-Pop" : "SEA900-P9", + "Date" : "Mon, 31 Aug 2026 17:35:35 GMT", + "Via" : "1.1 5af99d6f2fc1c569c253259aec683ee8.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "no-store, no-cache, must-revalidate, proxy-revalidate", + "ETag" : "W/\"43b3-roALl1F8FPYyjCcQyTEluW7jHUg\"", + "Access-Control-Allow-Credentials" : "true", + "X-Amz-Cf-Id" : "qEHQ4Q4w2vdr0P5tDRzEW3E24eIc-irRSB3DHj92LEmdNV9f-MEfnA==", + "Vary" : "Origin, Accept-Encoding", + "Expires" : "0", + "Surrogate-Control" : "no-store", "Content-Type" : "application/json; charset=utf-8" } }, diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_experiment-b23c58a28a5b.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_experiment-b23c58a28a5b.json index ee53dc48..16f3c43b 100644 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_experiment-b23c58a28a5b.json +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_experiment-b23c58a28a5b.json @@ -20,26 +20,22 @@ "bodyFileName" : "v1_experiment-b23c58a28a5b.json", "headers" : { "X-Cache" : "Miss from cloudfront", - "expires" : "0", - "x-amz-apigw-id" : "AJUHQFwUoAMEc8Q=", - "vary" : "Origin, Accept-Encoding", - "x-amzn-Remapped-content-length" : "466", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "X-Amzn-Trace-Id" : "Root=1-6a4d33c7-639224e67bd1095e7ed111b0;Parent=4b0aafcc39e7a638;Sampled=0;Lineage=1:fc3b4ff1:0", - "Date" : "Tue, 07 Jul 2026 17:13:43 GMT", - "Via" : "1.1 82fa7f20ab5a12301da8e01f9493e222.cloudfront.net (CloudFront), 1.1 2501b465adde8e5aedc3f38e3dfcdc22.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a4d33c7000000003a176e17f1eef005", - "x-amzn-RequestId" : "47172722-e41e-422e-8bd7-ea9f6110fcb5", - "X-Amz-Cf-Id" : "f1h71bPXPzO_tjTy7hS_aM3LqghEBx71yIfSD4N_OqiHhHxzsX6NlA==", - "etag" : "W/\"1d2-sHiUcl5Ni5UlFPHWXmlWRFp6EEA\"", - "cache-control" : "no-store, no-cache, must-revalidate, proxy-revalidate", - "surrogate-control" : "no-store", + "X-Amz-Cf-Pop" : "SEA900-P9", + "Date" : "Mon, 31 Aug 2026 17:35:00 GMT", + "Via" : "1.1 55a62c25b77c24cde4014f567fd1c550.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "no-store, no-cache, must-revalidate, proxy-revalidate", + "ETag" : "W/\"1d2-T2Pz/5QrAu19SvDc9yWjkb2n6Dc\"", + "Access-Control-Allow-Credentials" : "true", + "X-Amz-Cf-Id" : "meXZrBsmoBIdMPLZZnM7Yfs8iAgDccxonr-IiRV5EtToXvbRXrGhOw==", + "Vary" : "Origin, Accept-Encoding", + "Expires" : "0", + "Surrogate-Control" : "no-store", "Content-Type" : "application/json; charset=utf-8" } }, "uuid" : "f0bf4ccb-ccb4-3056-affc-61b178ead1c4", "persistent" : true, - "insertionIndex" : 112 + "insertionIndex" : 114 } \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_experiment-c03d1e3a32c3.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_experiment-c03d1e3a32c3.json index ccc7901a..5bd5a7d0 100644 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_experiment-c03d1e3a32c3.json +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_experiment-c03d1e3a32c3.json @@ -10,7 +10,7 @@ } }, "bodyPatterns" : [ { - "equalToJson" : "{\"project_id\":\"f1e858a4-58e3-408f-983f-016760d7fa25\",\"name\":\"unit-test-eval-experiment-tags-metadata\",\"metadata\":{\"model\":\"gpt-4o\",\"version\":\"1.0\"},\"tags\":[\"java-sdk\",\"unit-test\"]}", + "equalToJson" : "{\"project_id\":\"f1e858a4-58e3-408f-983f-016760d7fa25\",\"name\":\"unit-test-eval-experiment-tags-metadata\",\"metadata\":{\"version\":\"1.0\",\"model\":\"gpt-4o\"},\"tags\":[\"java-sdk\",\"unit-test\"]}", "ignoreArrayOrder" : true, "ignoreExtraElements" : false } ] @@ -20,22 +20,18 @@ "bodyFileName" : "v1_experiment-c03d1e3a32c3.json", "headers" : { "X-Cache" : "Miss from cloudfront", - "expires" : "0", - "x-amz-apigw-id" : "AJULJFoWoAMES9Q=", - "vary" : "Origin, Accept-Encoding", - "x-amzn-Remapped-content-length" : "523", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "X-Amzn-Trace-Id" : "Root=1-6a4d33e0-62bc72fb64186b1c596ee033;Parent=474b08200624ba8e;Sampled=0;Lineage=1:fc3b4ff1:0", - "Date" : "Tue, 07 Jul 2026 17:14:08 GMT", - "Via" : "1.1 566cc276dff9847158a5a9854be4df42.cloudfront.net (CloudFront), 1.1 bef90eae512e70457d6a8a77b097a124.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a4d33e00000000006cf1919f9c97cb1", - "x-amzn-RequestId" : "19811a10-f053-4367-b4c7-00c94009e1e9", - "X-Amz-Cf-Id" : "tH_IFKlDQOaEwjyhe2DCb9VaOK4GjhA04NVZ9u1b2VJFKxiPMMcDYA==", - "etag" : "W/\"20b-BR14hkFKZ7zhwSzH9Ae416ldwx0\"", - "cache-control" : "no-store, no-cache, must-revalidate, proxy-revalidate", - "surrogate-control" : "no-store", + "X-Amz-Cf-Pop" : "SEA900-P9", + "Date" : "Mon, 31 Aug 2026 17:35:46 GMT", + "Via" : "1.1 0ddbf3138c96d4b7c9f8047edb515414.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "no-store, no-cache, must-revalidate, proxy-revalidate", + "ETag" : "W/\"20b-BR14hkFKZ7zhwSzH9Ae416ldwx0\"", + "Access-Control-Allow-Credentials" : "true", + "X-Amz-Cf-Id" : "pJ3KNk3h7ZQnpJd1N28IeY-rik2Lfe8wW-pn3yerPto5ABOVumIbqw==", + "Vary" : "Origin, Accept-Encoding", + "Expires" : "0", + "Surrogate-Control" : "no-store", "Content-Type" : "application/json; charset=utf-8" } }, diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_experiment-d72642bc60d4.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_experiment-d72642bc60d4.json index 62ef7ec7..6a4d1d45 100644 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_experiment-d72642bc60d4.json +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_experiment-d72642bc60d4.json @@ -20,22 +20,18 @@ "bodyFileName" : "v1_experiment-d72642bc60d4.json", "headers" : { "X-Cache" : "Miss from cloudfront", - "expires" : "0", - "x-amz-apigw-id" : "AJULzHDBIAMEJ8w=", - "vary" : "Origin, Accept-Encoding", - "x-amzn-Remapped-content-length" : "459", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "X-Amzn-Trace-Id" : "Root=1-6a4d33e4-6ed60e9054e60108672aba6d;Parent=67555247dae2b23b;Sampled=0;Lineage=1:fc3b4ff1:0", - "Date" : "Tue, 07 Jul 2026 17:14:12 GMT", - "Via" : "1.1 b669d9add7767f73665f1f8b7e8cd802.cloudfront.net (CloudFront), 1.1 e088ff8bff69861ed7fd37fbb518f0c2.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a4d33e4000000003b871aca37932cc3", - "x-amzn-RequestId" : "8ee99fe1-b19c-48db-af53-28ca269bc6cc", - "X-Amz-Cf-Id" : "bQdai9vm_KPVBb3aD7fj26ZaHFBe9m4kOfGa_HRyXjnZGis19DDL_g==", - "etag" : "W/\"1cb-3+W4r/SJHc/1jIbRvRwxUW1Hzeg\"", - "cache-control" : "no-store, no-cache, must-revalidate, proxy-revalidate", - "surrogate-control" : "no-store", + "X-Amz-Cf-Pop" : "SEA900-P9", + "Date" : "Mon, 31 Aug 2026 17:35:53 GMT", + "Via" : "1.1 6ebf93cd3baadad602a5fd706f0df16e.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "no-store, no-cache, must-revalidate, proxy-revalidate", + "ETag" : "W/\"1cb-3+W4r/SJHc/1jIbRvRwxUW1Hzeg\"", + "Access-Control-Allow-Credentials" : "true", + "X-Amz-Cf-Id" : "_TPexzkVZCDJraYJoMZ2GN0xh62c3TAhl-O220ZOBWBq-xJCnz1UaQ==", + "Vary" : "Origin, Accept-Encoding", + "Expires" : "0", + "Surrogate-Control" : "no-store", "Content-Type" : "application/json; charset=utf-8" } }, diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_experiment-e3bb2c4c2666.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_experiment-e3bb2c4c2666.json index 615f8ce4..b678a6ba 100644 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_experiment-e3bb2c4c2666.json +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_experiment-e3bb2c4c2666.json @@ -20,22 +20,18 @@ "bodyFileName" : "v1_experiment-e3bb2c4c2666.json", "headers" : { "X-Cache" : "Miss from cloudfront", - "expires" : "0", - "x-amz-apigw-id" : "AJUQLFV5oAMEhJw=", - "vary" : "Origin, Accept-Encoding", - "x-amzn-Remapped-content-length" : "461", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "X-Amzn-Trace-Id" : "Root=1-6a4d3400-4139c9f810f15d0619506775;Parent=5bcd243db1b16d50;Sampled=0;Lineage=1:fc3b4ff1:0", - "Date" : "Tue, 07 Jul 2026 17:14:40 GMT", - "Via" : "1.1 4ac8d091dce10e726cfc5404bfed72b8.cloudfront.net (CloudFront), 1.1 b3a8bdee20374465a3f2aa64f19ec30e.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a4d3400000000003b30c333afdc4452", - "x-amzn-RequestId" : "a4cd34c4-b450-4c1d-a737-fd3d6157fe35", - "X-Amz-Cf-Id" : "cEisNeHtcpPuKwA5Vp8ciDS3XNin4y-fYZF31iJ3drgW0bOMlRDbaQ==", - "etag" : "W/\"1cd-1ye19VDF6K82pXTqX6IArIkktuk\"", - "cache-control" : "no-store, no-cache, must-revalidate, proxy-revalidate", - "surrogate-control" : "no-store", + "X-Amz-Cf-Pop" : "SEA900-P9", + "Date" : "Mon, 31 Aug 2026 17:36:24 GMT", + "Via" : "1.1 3417fc639ca50b55b2a1d93807a20c2c.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "no-store, no-cache, must-revalidate, proxy-revalidate", + "ETag" : "W/\"1cd-1ye19VDF6K82pXTqX6IArIkktuk\"", + "Access-Control-Allow-Credentials" : "true", + "X-Amz-Cf-Id" : "Xq2-aF4I_niqHC6wm4f9HacvVyVD_-MTvPa9pN5SaedMKhYkTSxEiw==", + "Vary" : "Origin, Accept-Encoding", + "Expires" : "0", + "Surrogate-Control" : "no-store", "Content-Type" : "application/json; charset=utf-8" } }, diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_experiment-f416e7ecfdc1.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_experiment-f416e7ecfdc1.json index 9e6608c0..335d15eb 100644 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_experiment-f416e7ecfdc1.json +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_experiment-f416e7ecfdc1.json @@ -20,22 +20,18 @@ "bodyFileName" : "v1_experiment-f416e7ecfdc1.json", "headers" : { "X-Cache" : "Miss from cloudfront", - "expires" : "0", - "x-amz-apigw-id" : "AJULdE2qIAMEOfA=", - "vary" : "Origin, Accept-Encoding", - "x-amzn-Remapped-content-length" : "448", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "X-Amzn-Trace-Id" : "Root=1-6a4d33e2-21d2bf356bcef1942c6bbdac;Parent=740900f399f6c6e6;Sampled=0;Lineage=1:fc3b4ff1:0", - "Date" : "Tue, 07 Jul 2026 17:14:10 GMT", - "Via" : "1.1 82fa7f20ab5a12301da8e01f9493e222.cloudfront.net (CloudFront), 1.1 0ddbf3138c96d4b7c9f8047edb515414.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a4d33e20000000000daca917bebcccb", - "x-amzn-RequestId" : "b63d8177-e728-4c4e-8e5d-f402debcef2a", - "X-Amz-Cf-Id" : "EWEB1-7Hir7B6RrLben8aWPnTgdDWlbdCWSs7jhbyVleCKYGg_0LqQ==", - "etag" : "W/\"1c0-rOfZfVMj+H5rmOzu1dSCnRShoyM\"", - "cache-control" : "no-store, no-cache, must-revalidate, proxy-revalidate", - "surrogate-control" : "no-store", + "X-Amz-Cf-Pop" : "SEA900-P9", + "Date" : "Mon, 31 Aug 2026 17:35:50 GMT", + "Via" : "1.1 dea0b5e705fff834db8ae3992ea09cfa.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "no-store, no-cache, must-revalidate, proxy-revalidate", + "ETag" : "W/\"1c0-rOfZfVMj+H5rmOzu1dSCnRShoyM\"", + "Access-Control-Allow-Credentials" : "true", + "X-Amz-Cf-Id" : "-0e1IYhegUa901AFVAV_D0Fwk3WEeBvbsWLcRPU5rUSvD3u_PlEBxg==", + "Vary" : "Origin, Accept-Encoding", + "Expires" : "0", + "Surrogate-Control" : "no-store", "Content-Type" : "application/json; charset=utf-8" } }, diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_function-05be84b9d7c3.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_function-05be84b9d7c3.json index e4575561..3748bd13 100644 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_function-05be84b9d7c3.json +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_function-05be84b9d7c3.json @@ -22,22 +22,18 @@ "bodyFileName" : "v1_function-05be84b9d7c3.json", "headers" : { "X-Cache" : "Miss from cloudfront", - "expires" : "0", - "x-amz-apigw-id" : "AJUMKERmoAMEkdw=", - "vary" : "Origin, Accept-Encoding", - "x-amzn-Remapped-content-length" : "1170", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "X-Amzn-Trace-Id" : "Root=1-6a4d33e6-6445090a57c157430d471ea1;Parent=1f3b891f5b668788;Sampled=0;Lineage=1:fc3b4ff1:0", - "Date" : "Tue, 07 Jul 2026 17:14:15 GMT", - "Via" : "1.1 82fa7f20ab5a12301da8e01f9493e222.cloudfront.net (CloudFront), 1.1 e088ff8bff69861ed7fd37fbb518f0c2.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a4d33e600000000203d371e4bb3f55c", - "x-amzn-RequestId" : "6d4c2b06-bb1c-4d15-8e2d-977f8ab8240c", - "X-Amz-Cf-Id" : "ITc6Nn3pUaFO59eIP912lTzLCC3vFQ-x5ZKm9sDO0Swflzn3O37QQw==", - "etag" : "W/\"492-RO/825PoX6pROhna2qh49OKEAvg\"", - "cache-control" : "no-store, no-cache, must-revalidate, proxy-revalidate", - "surrogate-control" : "no-store", + "X-Amz-Cf-Pop" : "SEA900-P9", + "Date" : "Mon, 31 Aug 2026 17:35:55 GMT", + "Via" : "1.1 7f26c41dda80bd7d50ccec2be87c9c3e.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "no-store, no-cache, must-revalidate, proxy-revalidate", + "ETag" : "W/\"492-RO/825PoX6pROhna2qh49OKEAvg\"", + "Access-Control-Allow-Credentials" : "true", + "X-Amz-Cf-Id" : "u61RX-otWyEpWR4B1Cv5bJr9a9NuKIs0tHv41waijY7K_a7OqEl79A==", + "Vary" : "Origin, Accept-Encoding", + "Expires" : "0", + "Surrogate-Control" : "no-store", "Content-Type" : "application/json; charset=utf-8" } }, diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_function-242e18479f4c.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_function-242e18479f4c.json index a2c61792..c113906b 100644 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_function-242e18479f4c.json +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_function-242e18479f4c.json @@ -22,22 +22,18 @@ "bodyFileName" : "v1_function-242e18479f4c.json", "headers" : { "X-Cache" : "Miss from cloudfront", - "expires" : "0", - "x-amz-apigw-id" : "AJUMZH6OoAMEckQ=", - "vary" : "Origin, Accept-Encoding", - "x-amzn-Remapped-content-length" : "1170", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "X-Amzn-Trace-Id" : "Root=1-6a4d33e8-71e96d384160d28517e7ea34;Parent=480ffb375081c657;Sampled=0;Lineage=1:fc3b4ff1:0", - "Date" : "Tue, 07 Jul 2026 17:14:16 GMT", - "Via" : "1.1 82fa7f20ab5a12301da8e01f9493e222.cloudfront.net (CloudFront), 1.1 bef90eae512e70457d6a8a77b097a124.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a4d33e80000000045a0ea611d4831f1", - "x-amzn-RequestId" : "1fd3879f-91c1-49b8-a139-c14012a53c80", - "X-Amz-Cf-Id" : "DB_1IIUoU9VGM7_lw8TS_A9UakYF7y0qgu5QrROw48xV215d0wA2Dg==", - "etag" : "W/\"492-RO/825PoX6pROhna2qh49OKEAvg\"", - "cache-control" : "no-store, no-cache, must-revalidate, proxy-revalidate", - "surrogate-control" : "no-store", + "X-Amz-Cf-Pop" : "SEA900-P9", + "Date" : "Mon, 31 Aug 2026 17:35:58 GMT", + "Via" : "1.1 28edb03169fa053a4a523d90d15ff6ae.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "no-store, no-cache, must-revalidate, proxy-revalidate", + "ETag" : "W/\"492-RO/825PoX6pROhna2qh49OKEAvg\"", + "Access-Control-Allow-Credentials" : "true", + "X-Amz-Cf-Id" : "8XQNoMehgSGEidkY-edSsU84Kmg8FLiUG3aTH0uKxd2HVZ11Y9Jx4Q==", + "Vary" : "Origin, Accept-Encoding", + "Expires" : "0", + "Surrogate-Control" : "no-store", "Content-Type" : "application/json; charset=utf-8" } }, diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_function-3694d6381cd8.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_function-3694d6381cd8.json index e690bb06..ab984184 100644 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_function-3694d6381cd8.json +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_function-3694d6381cd8.json @@ -27,22 +27,18 @@ "bodyFileName" : "v1_function-3694d6381cd8.json", "headers" : { "X-Cache" : "Miss from cloudfront", - "expires" : "0", - "x-amz-apigw-id" : "AJUDbH2LIAMEoBQ=", - "vary" : "Origin, Accept-Encoding", - "x-amzn-Remapped-content-length" : "1170", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "X-Amzn-Trace-Id" : "Root=1-6a4d33af-090d20e1040986c41f445e5c;Parent=55a510630ec7e689;Sampled=0;Lineage=1:fc3b4ff1:0", - "Date" : "Tue, 07 Jul 2026 17:13:19 GMT", - "Via" : "1.1 73b0c4a85645a8031ba157e0b3e28ffc.cloudfront.net (CloudFront), 1.1 dea0b5e705fff834db8ae3992ea09cfa.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a4d33af000000005c21e8351c2cd700", - "x-amzn-RequestId" : "51d15e68-4efa-437d-b07c-8adfb20217b8", - "X-Amz-Cf-Id" : "vXdG6AMFwEmq8u_uRZtANV7KxaaLkDZscOYXv2RPGbpGNNjFveS9Sg==", - "etag" : "W/\"492-RO/825PoX6pROhna2qh49OKEAvg\"", - "cache-control" : "no-store, no-cache, must-revalidate, proxy-revalidate", - "surrogate-control" : "no-store", + "X-Amz-Cf-Pop" : "SEA900-P9", + "Date" : "Mon, 31 Aug 2026 17:34:22 GMT", + "Via" : "1.1 63560dd3f856b0f7bfe68a0cad46924a.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "no-store, no-cache, must-revalidate, proxy-revalidate", + "ETag" : "W/\"492-RO/825PoX6pROhna2qh49OKEAvg\"", + "Access-Control-Allow-Credentials" : "true", + "X-Amz-Cf-Id" : "ZTEPbRK4-gILdYm-aIAEtyMYJZlk__X4WTfw2_CuqQV73PhOlin1dw==", + "Vary" : "Origin, Accept-Encoding", + "Expires" : "0", + "Surrogate-Control" : "no-store", "Content-Type" : "application/json; charset=utf-8" } }, @@ -51,5 +47,5 @@ "scenarioName" : "scenario-12-v1-function", "requiredScenarioState" : "scenario-12-v1-function-2", "newScenarioState" : "scenario-12-v1-function-3", - "insertionIndex" : 128 + "insertionIndex" : 130 } \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_function-5a7539fe2d27.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_function-5a7539fe2d27.json index 71409ddc..7f121dee 100644 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_function-5a7539fe2d27.json +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_function-5a7539fe2d27.json @@ -27,22 +27,18 @@ "bodyFileName" : "v1_function-5a7539fe2d27.json", "headers" : { "X-Cache" : "Miss from cloudfront", - "expires" : "0", - "x-amz-apigw-id" : "AJUMAHuioAMEOtQ=", - "vary" : "Origin, Accept-Encoding", - "x-amzn-Remapped-content-length" : "1170", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "X-Amzn-Trace-Id" : "Root=1-6a4d33e5-1e3360cf653f719d608dc2f3;Parent=427e5341c435ae26;Sampled=0;Lineage=1:fc3b4ff1:0", - "Date" : "Tue, 07 Jul 2026 17:14:13 GMT", - "Via" : "1.1 82fa7f20ab5a12301da8e01f9493e222.cloudfront.net (CloudFront), 1.1 d49bde7225e80ca0dc457ff2b8b4343e.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a4d33e50000000021d12d915a924082", - "x-amzn-RequestId" : "22021f78-04c2-43a8-a383-9492a17ca44c", - "X-Amz-Cf-Id" : "0X9J0BG-HVWyTUkvs7RDrunU7NewrTTc61L0GKAl82TQ-W7ZjFT0MA==", - "etag" : "W/\"492-RO/825PoX6pROhna2qh49OKEAvg\"", - "cache-control" : "no-store, no-cache, must-revalidate, proxy-revalidate", - "surrogate-control" : "no-store", + "X-Amz-Cf-Pop" : "SEA900-P9", + "Date" : "Mon, 31 Aug 2026 17:35:54 GMT", + "Via" : "1.1 3062c1f9ccf5f043983bc180e222dd9c.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "no-store, no-cache, must-revalidate, proxy-revalidate", + "ETag" : "W/\"492-RO/825PoX6pROhna2qh49OKEAvg\"", + "Access-Control-Allow-Credentials" : "true", + "X-Amz-Cf-Id" : "wvfPbkk6U711t1CDJfSHy2cz7kFGYZC0dmcLTB2_VNa74GWhBIBTfw==", + "Vary" : "Origin, Accept-Encoding", + "Expires" : "0", + "Surrogate-Control" : "no-store", "Content-Type" : "application/json; charset=utf-8" } }, diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_function-a278d2f64f79.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_function-a278d2f64f79.json index cd53eed3..ad331cd1 100644 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_function-a278d2f64f79.json +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_function-a278d2f64f79.json @@ -22,22 +22,18 @@ "bodyFileName" : "v1_function-a278d2f64f79.json", "headers" : { "X-Cache" : "Miss from cloudfront", - "expires" : "0", - "x-amz-apigw-id" : "AJUOfG2UoAMEetw=", - "vary" : "Origin, Accept-Encoding", - "x-amzn-Remapped-content-length" : "776", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "X-Amzn-Trace-Id" : "Root=1-6a4d33f5-20207e1c43ece657536ca673;Parent=350695a508dd9775;Sampled=0;Lineage=1:fc3b4ff1:0", - "Date" : "Tue, 07 Jul 2026 17:14:29 GMT", - "Via" : "1.1 82fa7f20ab5a12301da8e01f9493e222.cloudfront.net (CloudFront), 1.1 0758a857b0f9c36d8cfe897182f568ce.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a4d33f50000000051af104486e35dd3", - "x-amzn-RequestId" : "a5a01a01-2715-4310-bf3e-4a8798486129", - "X-Amz-Cf-Id" : "beJzzA2iw3xN50M4fEpe8Zjd_YKiLFhJM5aC4ztJeK9mL_2qxh7B5w==", - "etag" : "W/\"308-12vjHFTq4J5mFrxFb2fVi85ULiA\"", - "cache-control" : "no-store, no-cache, must-revalidate, proxy-revalidate", - "surrogate-control" : "no-store", + "X-Amz-Cf-Pop" : "SEA900-P9", + "Date" : "Mon, 31 Aug 2026 17:36:09 GMT", + "Via" : "1.1 7f26c41dda80bd7d50ccec2be87c9c3e.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "no-store, no-cache, must-revalidate, proxy-revalidate", + "ETag" : "W/\"308-12vjHFTq4J5mFrxFb2fVi85ULiA\"", + "Access-Control-Allow-Credentials" : "true", + "X-Amz-Cf-Id" : "h-to6skhTTiEu6jj3ihnyNUuptPNN62GNLFBEqKQgWw6OEJTTwr0Kw==", + "Vary" : "Origin, Accept-Encoding", + "Expires" : "0", + "Surrogate-Control" : "no-store", "Content-Type" : "application/json; charset=utf-8" } }, diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_function-a8257033751c.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_function-a8257033751c.json index e1971103..afff7053 100644 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_function-a8257033751c.json +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_function-a8257033751c.json @@ -27,22 +27,18 @@ "bodyFileName" : "v1_function-a8257033751c.json", "headers" : { "X-Cache" : "Miss from cloudfront", - "expires" : "0", - "x-amz-apigw-id" : "AJUMCEZmIAMEoFA=", - "vary" : "Origin, Accept-Encoding", - "x-amzn-Remapped-content-length" : "776", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "X-Amzn-Trace-Id" : "Root=1-6a4d33e6-74b501ba38ccca9837a93780;Parent=101b1cf8893afa14;Sampled=0;Lineage=1:fc3b4ff1:0", - "Date" : "Tue, 07 Jul 2026 17:14:14 GMT", - "Via" : "1.1 82fa7f20ab5a12301da8e01f9493e222.cloudfront.net (CloudFront), 1.1 7f26c41dda80bd7d50ccec2be87c9c3e.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a4d33e60000000009a2663c11b3e986", - "x-amzn-RequestId" : "24545442-8e42-4942-9b29-2eefc8564b0f", - "X-Amz-Cf-Id" : "wqmRRybfesHZN_VKOvgqkseO2z7x___kZ8MCDU4SsrTdm5C1a8QFCA==", - "etag" : "W/\"308-12vjHFTq4J5mFrxFb2fVi85ULiA\"", - "cache-control" : "no-store, no-cache, must-revalidate, proxy-revalidate", - "surrogate-control" : "no-store", + "X-Amz-Cf-Pop" : "SEA900-P9", + "Date" : "Mon, 31 Aug 2026 17:35:55 GMT", + "Via" : "1.1 3417fc639ca50b55b2a1d93807a20c2c.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "no-store, no-cache, must-revalidate, proxy-revalidate", + "ETag" : "W/\"308-12vjHFTq4J5mFrxFb2fVi85ULiA\"", + "Access-Control-Allow-Credentials" : "true", + "X-Amz-Cf-Id" : "5Gj5VMDOf4rWrYcbKgga5E6Xafqr_IcO2AOBd-4WFMO2Dmv7Rcu3JA==", + "Vary" : "Origin, Accept-Encoding", + "Expires" : "0", + "Surrogate-Control" : "no-store", "Content-Type" : "application/json; charset=utf-8" } }, diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_function-ad0be5392299.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_function-ad0be5392299.json index b6d8cde2..605ca0ef 100644 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_function-ad0be5392299.json +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_function-ad0be5392299.json @@ -27,22 +27,18 @@ "bodyFileName" : "v1_function-ad0be5392299.json", "headers" : { "X-Cache" : "Miss from cloudfront", - "expires" : "0", - "x-amz-apigw-id" : "AJUPUGQ8IAMES3A=", - "vary" : "Origin, Accept-Encoding", - "x-amzn-Remapped-content-length" : "1087", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "X-Amzn-Trace-Id" : "Root=1-6a4d33fb-4b21bc8e1173ae300f3f00a1;Parent=40689482848075e8;Sampled=0;Lineage=1:fc3b4ff1:0", - "Date" : "Tue, 07 Jul 2026 17:14:35 GMT", - "Via" : "1.1 82fa7f20ab5a12301da8e01f9493e222.cloudfront.net (CloudFront), 1.1 bef90eae512e70457d6a8a77b097a124.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a4d33fb0000000072925c3e27bcf4f3", - "x-amzn-RequestId" : "d6e5e974-f584-4d4b-86ae-f054aec77625", - "X-Amz-Cf-Id" : "PoaAW8dUnFegJ9m4LmVehPYocjisAz1qO9cR3nOTovqGPCU7p0UMXA==", - "etag" : "W/\"43f-+ZfG5/oLqvRgy4geevKRsPX5/Jo\"", - "cache-control" : "no-store, no-cache, must-revalidate, proxy-revalidate", - "surrogate-control" : "no-store", + "X-Amz-Cf-Pop" : "SEA900-P9", + "Date" : "Mon, 31 Aug 2026 17:36:12 GMT", + "Via" : "1.1 38842c146ccd8f527d2de72671759d96.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "no-store, no-cache, must-revalidate, proxy-revalidate", + "ETag" : "W/\"43f-+ZfG5/oLqvRgy4geevKRsPX5/Jo\"", + "Access-Control-Allow-Credentials" : "true", + "X-Amz-Cf-Id" : "PQZ-PAMq4Ta-agDW7V-OhupiimPJcNDMhL8tXyBuEZZQbGS3B5ENJw==", + "Vary" : "Origin, Accept-Encoding", + "Expires" : "0", + "Surrogate-Control" : "no-store", "Content-Type" : "application/json; charset=utf-8" } }, diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_function-c66af1fddece.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_function-c66af1fddece.json index ba20e0bf..1b4cff74 100644 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_function-c66af1fddece.json +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_function-c66af1fddece.json @@ -22,22 +22,18 @@ "bodyFileName" : "v1_function-c66af1fddece.json", "headers" : { "X-Cache" : "Miss from cloudfront", - "expires" : "0", - "x-amz-apigw-id" : "AJUMlEo6IAMEQIQ=", - "vary" : "Origin, Accept-Encoding", - "x-amzn-Remapped-content-length" : "776", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "X-Amzn-Trace-Id" : "Root=1-6a4d33e9-5aaec22b1904aa6e0940958b;Parent=1358fa7de0558b79;Sampled=0;Lineage=1:fc3b4ff1:0", - "Date" : "Tue, 07 Jul 2026 17:14:17 GMT", - "Via" : "1.1 82fa7f20ab5a12301da8e01f9493e222.cloudfront.net (CloudFront), 1.1 9895fa1d75119fa16da9e015b58dbe5a.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a4d33e900000000640add8266563152", - "x-amzn-RequestId" : "2ead6a29-bfb5-4b3f-b1c4-6b71c5d5a458", - "X-Amz-Cf-Id" : "9Nea7RK4jsq6GJziR7sbu84Rmj0uETjU2oN8jhq0MMgOzRpWBr-t-g==", - "etag" : "W/\"308-12vjHFTq4J5mFrxFb2fVi85ULiA\"", - "cache-control" : "no-store, no-cache, must-revalidate, proxy-revalidate", - "surrogate-control" : "no-store", + "X-Amz-Cf-Pop" : "SEA900-P9", + "Date" : "Mon, 31 Aug 2026 17:36:00 GMT", + "Via" : "1.1 55a62c25b77c24cde4014f567fd1c550.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "no-store, no-cache, must-revalidate, proxy-revalidate", + "ETag" : "W/\"308-12vjHFTq4J5mFrxFb2fVi85ULiA\"", + "Access-Control-Allow-Credentials" : "true", + "X-Amz-Cf-Id" : "nuDGUUpcG2RleAJUN3YDe4B05gvr4d2tipTz5o5_bTMu_iPmtTqZMw==", + "Vary" : "Origin, Accept-Encoding", + "Expires" : "0", + "Surrogate-Control" : "no-store", "Content-Type" : "application/json; charset=utf-8" } }, diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_function-ee910b4227ce.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_function-ee910b4227ce.json index 1b5132eb..f9162fbf 100644 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_function-ee910b4227ce.json +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_function-ee910b4227ce.json @@ -27,22 +27,18 @@ "bodyFileName" : "v1_function-ee910b4227ce.json", "headers" : { "X-Cache" : "Miss from cloudfront", - "expires" : "0", - "x-amz-apigw-id" : "AJUDUHRfIAMEJQA=", - "vary" : "Origin, Accept-Encoding", - "x-amzn-Remapped-content-length" : "1170", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "X-Amzn-Trace-Id" : "Root=1-6a4d33ae-71a064d4543c94597a50c155;Parent=307ec18d0aaf6eb8;Sampled=0;Lineage=1:fc3b4ff1:0", - "Date" : "Tue, 07 Jul 2026 17:13:18 GMT", - "Via" : "1.1 82fa7f20ab5a12301da8e01f9493e222.cloudfront.net (CloudFront), 1.1 b54238be18861f9bb1272bf1cb10e040.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a4d33ae00000000017797f454c14f05", - "x-amzn-RequestId" : "e62fc378-3725-4300-b7c9-32451a6816ca", - "X-Amz-Cf-Id" : "zZRg0u4BSn7MLpCuP5lwSL6ehSOLYif2SKQwpC5Hw2BXSau58zs07w==", - "etag" : "W/\"492-RO/825PoX6pROhna2qh49OKEAvg\"", - "cache-control" : "no-store, no-cache, must-revalidate, proxy-revalidate", - "surrogate-control" : "no-store", + "X-Amz-Cf-Pop" : "SEA900-P9", + "Date" : "Mon, 31 Aug 2026 17:34:21 GMT", + "Via" : "1.1 63560dd3f856b0f7bfe68a0cad46924a.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "no-store, no-cache, must-revalidate, proxy-revalidate", + "ETag" : "W/\"492-RO/825PoX6pROhna2qh49OKEAvg\"", + "Access-Control-Allow-Credentials" : "true", + "X-Amz-Cf-Id" : "8aqnyjwC5IFyiD4VW1dtnnvMCG5udLtkRgzNJzO6quA0lmXjgSjjoA==", + "Vary" : "Origin, Accept-Encoding", + "Expires" : "0", + "Surrogate-Control" : "no-store", "Content-Type" : "application/json; charset=utf-8" } }, @@ -51,5 +47,5 @@ "scenarioName" : "scenario-12-v1-function", "requiredScenarioState" : "Started", "newScenarioState" : "scenario-12-v1-function-2", - "insertionIndex" : 129 + "insertionIndex" : 131 } \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_function_7a164cb2-6c74-4de7-aa86-6b28c464ab28-332c63ab819b.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_function_7a164cb2-6c74-4de7-aa86-6b28c464ab28-332c63ab819b.json index 052f754c..3dcc0c8c 100644 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_function_7a164cb2-6c74-4de7-aa86-6b28c464ab28-332c63ab819b.json +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_function_7a164cb2-6c74-4de7-aa86-6b28c464ab28-332c63ab819b.json @@ -10,22 +10,18 @@ "bodyFileName" : "v1_function_7a164cb2-6c74-4de7-aa86-6b28c464ab28-332c63ab819b.json", "headers" : { "X-Cache" : "Miss from cloudfront", - "expires" : "0", - "x-amz-apigw-id" : "AJUMbEwpoAMEORg=", - "vary" : "Origin, Accept-Encoding", - "x-amzn-Remapped-content-length" : "1156", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "X-Amzn-Trace-Id" : "Root=1-6a4d33e8-61471aba49ed4b516dd64880;Parent=756070109cef7f98;Sampled=0;Lineage=1:fc3b4ff1:0", - "Date" : "Tue, 07 Jul 2026 17:14:16 GMT", - "Via" : "1.1 82fa7f20ab5a12301da8e01f9493e222.cloudfront.net (CloudFront), 1.1 04efc78121acf5d40974e6a71bebce20.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a4d33e80000000019ce20c680046a33", - "x-amzn-RequestId" : "1af26357-db67-43d6-98e7-7191e9cd7b2e", - "X-Amz-Cf-Id" : "WDAJaIWuD9CeJzmkANsXfWk8eimU_b0fsAncGTPavVIE0h3sybxbyQ==", - "etag" : "W/\"484-KUHUs0ytlrOyv+d1b83LJCSkHwY\"", - "cache-control" : "no-store, no-cache, must-revalidate, proxy-revalidate", - "surrogate-control" : "no-store", + "X-Amz-Cf-Pop" : "SEA900-P9", + "Date" : "Mon, 31 Aug 2026 17:35:58 GMT", + "Via" : "1.1 d49bde7225e80ca0dc457ff2b8b4343e.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "no-store, no-cache, must-revalidate, proxy-revalidate", + "ETag" : "W/\"484-KUHUs0ytlrOyv+d1b83LJCSkHwY\"", + "Access-Control-Allow-Credentials" : "true", + "X-Amz-Cf-Id" : "YyeBCZ2Ihd8jSmufvmpzoopIy7lhf3VbdAVTEgZH0gqCtWZBEjZ_Og==", + "Vary" : "Origin, Accept-Encoding", + "Expires" : "0", + "Surrogate-Control" : "no-store", "Content-Type" : "application/json; charset=utf-8" } }, diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_function_7a164cb2-6c74-4de7-aa86-6b28c464ab28-56535a50f191.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_function_7a164cb2-6c74-4de7-aa86-6b28c464ab28-56535a50f191.json index 74c0a402..c592cd13 100644 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_function_7a164cb2-6c74-4de7-aa86-6b28c464ab28-56535a50f191.json +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_function_7a164cb2-6c74-4de7-aa86-6b28c464ab28-56535a50f191.json @@ -17,22 +17,18 @@ "bodyFileName" : "v1_function_7a164cb2-6c74-4de7-aa86-6b28c464ab28-56535a50f191.json", "headers" : { "X-Cache" : "Miss from cloudfront", - "expires" : "0", - "x-amz-apigw-id" : "AJUPcGvxIAMEbag=", - "vary" : "Origin, Accept-Encoding", - "x-amzn-Remapped-content-length" : "1073", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "X-Amzn-Trace-Id" : "Root=1-6a4d33fb-59ad72d3065f45951c0645c5;Parent=4e072d430262bd31;Sampled=0;Lineage=1:fc3b4ff1:0", - "Date" : "Tue, 07 Jul 2026 17:14:36 GMT", - "Via" : "1.1 82fa7f20ab5a12301da8e01f9493e222.cloudfront.net (CloudFront), 1.1 38842c146ccd8f527d2de72671759d96.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a4d33fb0000000008ffd0a9d144e92d", - "x-amzn-RequestId" : "098c5ad7-4411-4247-894e-1c75348c9859", - "X-Amz-Cf-Id" : "ZSL1XflRzWoSTpUKP2pBWWVQeYjlB2XPk6tbgE58uImzMghnQlslqA==", - "etag" : "W/\"431-9GPNRf2vgsI5EsC3Fvw6SrpGiY4\"", - "cache-control" : "no-store, no-cache, must-revalidate, proxy-revalidate", - "surrogate-control" : "no-store", + "X-Amz-Cf-Pop" : "SEA900-P9", + "Date" : "Mon, 31 Aug 2026 17:36:13 GMT", + "Via" : "1.1 2501b465adde8e5aedc3f38e3dfcdc22.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "no-store, no-cache, must-revalidate, proxy-revalidate", + "ETag" : "W/\"431-9GPNRf2vgsI5EsC3Fvw6SrpGiY4\"", + "Access-Control-Allow-Credentials" : "true", + "X-Amz-Cf-Id" : "PMoNMQUm8zwiE6yycpzE73OZt9kFLFY-bpvmaB6JBpdQ6Rux9cPXww==", + "Vary" : "Origin, Accept-Encoding", + "Expires" : "0", + "Surrogate-Control" : "no-store", "Content-Type" : "application/json; charset=utf-8" } }, diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_function_7a164cb2-6c74-4de7-aa86-6b28c464ab28-bec2f51e7d7c.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_function_7a164cb2-6c74-4de7-aa86-6b28c464ab28-bec2f51e7d7c.json index 365a32b2..11a015e5 100644 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_function_7a164cb2-6c74-4de7-aa86-6b28c464ab28-bec2f51e7d7c.json +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_function_7a164cb2-6c74-4de7-aa86-6b28c464ab28-bec2f51e7d7c.json @@ -10,22 +10,18 @@ "bodyFileName" : "v1_function_7a164cb2-6c74-4de7-aa86-6b28c464ab28-bec2f51e7d7c.json", "headers" : { "X-Cache" : "Miss from cloudfront", - "expires" : "0", - "x-amz-apigw-id" : "AJUMNH1hIAMEKtg=", - "vary" : "Origin, Accept-Encoding", - "x-amzn-Remapped-content-length" : "1156", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "X-Amzn-Trace-Id" : "Root=1-6a4d33e7-78a8aa0b777698326761e9de;Parent=0cf1aeb428041e16;Sampled=0;Lineage=1:fc3b4ff1:0", - "Date" : "Tue, 07 Jul 2026 17:14:15 GMT", - "Via" : "1.1 170efbc424be9181bda5d0fcd6e41f30.cloudfront.net (CloudFront), 1.1 7aad92255c39d277bce3f20afa1b059c.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a4d33e7000000000e50cfbe088f46dc", - "x-amzn-RequestId" : "cc139897-7708-4a37-9188-0d5d4dda15f7", - "X-Amz-Cf-Id" : "VPT2s4-fDkRONMm8Jee9u624ya7NHLv3oWlN69eZe81b0L5HX-fcpA==", - "etag" : "W/\"484-KUHUs0ytlrOyv+d1b83LJCSkHwY\"", - "cache-control" : "no-store, no-cache, must-revalidate, proxy-revalidate", - "surrogate-control" : "no-store", + "X-Amz-Cf-Pop" : "SEA900-P9", + "Date" : "Mon, 31 Aug 2026 17:35:56 GMT", + "Via" : "1.1 b2b215a89cc2734b2940e2eb59ea4bd0.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "no-store, no-cache, must-revalidate, proxy-revalidate", + "ETag" : "W/\"484-KUHUs0ytlrOyv+d1b83LJCSkHwY\"", + "Access-Control-Allow-Credentials" : "true", + "X-Amz-Cf-Id" : "vn4RpdYC3VBNvlQ2GQ8XZ3XZFaGLG34CcnYDFnMS4WuujFViqWvCUg==", + "Vary" : "Origin, Accept-Encoding", + "Expires" : "0", + "Surrogate-Control" : "no-store", "Content-Type" : "application/json; charset=utf-8" } }, diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_function_7a164cb2-6c74-4de7-aa86-6b28c464ab28-e2eccc10be35.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_function_7a164cb2-6c74-4de7-aa86-6b28c464ab28-e2eccc10be35.json index a047f0cf..a07ee4d1 100644 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_function_7a164cb2-6c74-4de7-aa86-6b28c464ab28-e2eccc10be35.json +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_function_7a164cb2-6c74-4de7-aa86-6b28c464ab28-e2eccc10be35.json @@ -10,22 +10,18 @@ "bodyFileName" : "v1_function_7a164cb2-6c74-4de7-aa86-6b28c464ab28-e2eccc10be35.json", "headers" : { "X-Cache" : "Miss from cloudfront", - "expires" : "0", - "x-amz-apigw-id" : "AJUD0GoIIAMER0g=", - "vary" : "Origin, Accept-Encoding", - "x-amzn-Remapped-content-length" : "1156", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "X-Amzn-Trace-Id" : "Root=1-6a4d33b1-2004bcd1399986c17dda30c8;Parent=0df3fc78fd400f30;Sampled=0;Lineage=1:fc3b4ff1:0", - "Date" : "Tue, 07 Jul 2026 17:13:22 GMT", - "Via" : "1.1 82fa7f20ab5a12301da8e01f9493e222.cloudfront.net (CloudFront), 1.1 e8b22a8fa8511f8f972b4965a9af80b4.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a4d33b100000000680988a6a152d8cb", - "x-amzn-RequestId" : "1b7d345b-1d87-45bb-95ed-3b27764ed95e", - "X-Amz-Cf-Id" : "lGbQFL8x4mljGex94_jtmU6VzEtSHL8owKhm04FhxfA6mxvC6m7Qyw==", - "etag" : "W/\"484-KUHUs0ytlrOyv+d1b83LJCSkHwY\"", - "cache-control" : "no-store, no-cache, must-revalidate, proxy-revalidate", - "surrogate-control" : "no-store", + "X-Amz-Cf-Pop" : "SEA900-P9", + "Date" : "Mon, 31 Aug 2026 17:34:28 GMT", + "Via" : "1.1 dea0b5e705fff834db8ae3992ea09cfa.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "no-store, no-cache, must-revalidate, proxy-revalidate", + "ETag" : "W/\"484-KUHUs0ytlrOyv+d1b83LJCSkHwY\"", + "Access-Control-Allow-Credentials" : "true", + "X-Amz-Cf-Id" : "ijc7q93y6MawQH6u_nShoIsSQ2M2Wb5Ssdte9nqqDtAbZMImkKqG_g==", + "Vary" : "Origin, Accept-Encoding", + "Expires" : "0", + "Surrogate-Control" : "no-store", "Content-Type" : "application/json; charset=utf-8" } }, @@ -34,5 +30,5 @@ "scenarioName" : "scenario-10-v1-function-7a164cb2-6c74-4de7-aa86-6b28c464ab28", "requiredScenarioState" : "Started", "newScenarioState" : "scenario-10-v1-function-7a164cb2-6c74-4de7-aa86-6b28c464ab28-2", - "insertionIndex" : 124 + "insertionIndex" : 126 } \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_function_7a164cb2-6c74-4de7-aa86-6b28c464ab28_invoke-2e2d93af9b3c.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_function_7a164cb2-6c74-4de7-aa86-6b28c464ab28_invoke-2e2d93af9b3c.json new file mode 100644 index 00000000..c22dd5cb --- /dev/null +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_function_7a164cb2-6c74-4de7-aa86-6b28c464ab28_invoke-2e2d93af9b3c.json @@ -0,0 +1,41 @@ +{ + "id" : "c109ffe6-7632-39ee-b183-14782569778d", + "name" : "v1_function_7a164cb2-6c74-4de7-aa86-6b28c464ab28_invoke", + "request" : { + "url" : "/v1/function/7a164cb2-6c74-4de7-aa86-6b28c464ab28/invoke", + "method" : "POST", + "headers" : { + "Content-Type" : { + "equalTo" : "application/json" + } + }, + "bodyPatterns" : [ { + "equalToJson" : "{\"input\":{\"input\":\"apple\",\"output\":\"java-fruit\",\"expected\":\"fruit\",\"metadata\":{}},\"expected\":null,\"messages\":[],\"parent\":{\"object_type\":\"playground_logs\",\"object_id\":\"ceea7422-3507-4d1c-a5f7-7acf41d9fac2\",\"row_ids\":{\"id\":\"otel\",\"span_id\":\"c0d504fcb91e152c\",\"root_span_id\":\"37806a4da26fa33823136dc34c18f5aa\"}},\"mcp_auth\":{}}", + "ignoreArrayOrder" : true, + "ignoreExtraElements" : false + } ] + }, + "response" : { + "status" : 200, + "bodyFileName" : "v1_function_7a164cb2-6c74-4de7-aa86-6b28c464ab28_invoke-2e2d93af9b3c.json", + "headers" : { + "X-Cache" : "Miss from cloudfront", + "X-Amz-Cf-Pop" : "SEA900-P9", + "x-bt-function-creds-cached" : "MISS", + "Date" : "Mon, 31 Aug 2026 17:34:47 GMT", + "Via" : "1.1 a6be96637dfcb93ee417719bb21d57d0.cloudfront.net (CloudFront)", + "x-bt-span-export" : "AwMDAc7qdCI1B00cpfd6z0HZ+sICv8W/XFcCQO2PqECy3nOgOwOLzmlKg9ZEdLsG4cwolgwjeyJyb290X3NwYW5faWQiOiIzNzgwNmE0ZGEyNmZhMzM4MjMxMzZkYzM0YzE4ZjVhYSJ9", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-span-id,x-bt-span-export,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Access-Control-Allow-Credentials" : "true", + "X-Amz-Cf-Id" : "Gjf-cRYGgMV_cxfI48su6ACcFgkRFoT5C_mn-BkgaUfS6yYEb-fLGQ==", + "Vary" : "Origin", + "x-bt-span-id" : "bfc5bf5c-5702-40ed-8fa8-40b2de73a03b", + "x-bt-function-meta-cached" : "MISS", + "Content-Type" : "application/json" + } + }, + "uuid" : "c109ffe6-7632-39ee-b183-14782569778d", + "persistent" : true, + "insertionIndex" : 122 +} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_function_7a164cb2-6c74-4de7-aa86-6b28c464ab28_invoke-a24a707090f9.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_function_7a164cb2-6c74-4de7-aa86-6b28c464ab28_invoke-a24a707090f9.json deleted file mode 100644 index d46f3deb..00000000 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_function_7a164cb2-6c74-4de7-aa86-6b28c464ab28_invoke-a24a707090f9.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "id" : "8cf288df-8555-3581-80dd-4d872acc1296", - "name" : "v1_function_7a164cb2-6c74-4de7-aa86-6b28c464ab28_invoke", - "request" : { - "url" : "/v1/function/7a164cb2-6c74-4de7-aa86-6b28c464ab28/invoke", - "method" : "POST", - "headers" : { - "Content-Type" : { - "equalTo" : "application/json" - } - }, - "bodyPatterns" : [ { - "equalToJson" : "{\"input\":{\"input\":\"carrot\",\"output\":\"java-fruit\",\"expected\":\"vegetable\",\"metadata\":{}},\"expected\":null,\"messages\":[],\"parent\":{\"object_type\":\"playground_logs\",\"object_id\":\"ceea7422-3507-4d1c-a5f7-7acf41d9fac2\",\"row_ids\":{\"id\":\"otel\",\"span_id\":\"b719ae6a0745a5dc\",\"root_span_id\":\"2b2360faf0d39c09a50ba5b91c2e140c\"}},\"mcp_auth\":{}}", - "ignoreArrayOrder" : true, - "ignoreExtraElements" : false - } ] - }, - "response" : { - "status" : 200, - "bodyFileName" : "v1_function_7a164cb2-6c74-4de7-aa86-6b28c464ab28_invoke-a24a707090f9.json", - "headers" : { - "X-Cache" : "Miss from cloudfront", - "X-Amz-Cf-Pop" : "SEA900-P9", - "x-bt-function-creds-cached" : "HIT", - "X-Amzn-Trace-Id" : "Root=1-6a4d33bd-208183ff6df8d986775b7e54;Parent=04780d7e8bb01b21;Sampled=0;Lineage=1:98839c8e:0", - "Date" : "Tue, 07 Jul 2026 17:13:40 GMT", - "Via" : "1.1 bef90eae512e70457d6a8a77b097a124.cloudfront.net (CloudFront)", - "x-bt-span-export" : "AwMDAc7qdCI1B00cpfd6z0HZ+sIC6srVKukdRW21eOEUyGs/nQNgElytRa1ADIaxK7lXgK2+eyJyb290X3NwYW5faWQiOiIyYjIzNjBmYWYwZDM5YzA5YTUwYmE1YjkxYzJlMTQwYyJ9", - "x-amzn-RequestId" : "189c4d02-0d00-41a7-98a3-ea50b2e216ff", - "X-Amz-Cf-Id" : "doanxYUbzHAg-scKPCirYpqKdGCVdIYCyN7dMgfuKqfPeItrmqAAjA==", - "x-bt-span-id" : "eacad52a-e91d-456d-b578-e114c86b3f9d", - "x-bt-function-meta-cached" : "HIT", - "Content-Type" : "application/json" - } - }, - "uuid" : "8cf288df-8555-3581-80dd-4d872acc1296", - "persistent" : true, - "insertionIndex" : 119 -} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_function_7a164cb2-6c74-4de7-aa86-6b28c464ab28_invoke-aa9f11ec791d.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_function_7a164cb2-6c74-4de7-aa86-6b28c464ab28_invoke-aa9f11ec791d.json new file mode 100644 index 00000000..5460ed50 --- /dev/null +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_function_7a164cb2-6c74-4de7-aa86-6b28c464ab28_invoke-aa9f11ec791d.json @@ -0,0 +1,41 @@ +{ + "id" : "7aa0b9d2-ee25-3273-a308-0d074d70c4ea", + "name" : "v1_function_7a164cb2-6c74-4de7-aa86-6b28c464ab28_invoke", + "request" : { + "url" : "/v1/function/7a164cb2-6c74-4de7-aa86-6b28c464ab28/invoke", + "method" : "POST", + "headers" : { + "Content-Type" : { + "equalTo" : "application/json" + } + }, + "bodyPatterns" : [ { + "equalToJson" : "{\"input\":{\"input\":\"carrot\",\"output\":\"java-fruit\",\"expected\":\"vegetable\",\"metadata\":{}},\"expected\":null,\"messages\":[],\"parent\":{\"object_type\":\"playground_logs\",\"object_id\":\"ceea7422-3507-4d1c-a5f7-7acf41d9fac2\",\"row_ids\":{\"id\":\"otel\",\"span_id\":\"5c46775c193a07b0\",\"root_span_id\":\"25d5d8e5856ea63ef2fff41617223f4e\"}},\"mcp_auth\":{}}", + "ignoreArrayOrder" : true, + "ignoreExtraElements" : false + } ] + }, + "response" : { + "status" : 200, + "bodyFileName" : "v1_function_7a164cb2-6c74-4de7-aa86-6b28c464ab28_invoke-aa9f11ec791d.json", + "headers" : { + "X-Cache" : "Miss from cloudfront", + "X-Amz-Cf-Pop" : "SEA900-P9", + "x-bt-function-creds-cached" : "HIT", + "Date" : "Mon, 31 Aug 2026 17:34:53 GMT", + "Via" : "1.1 28edb03169fa053a4a523d90d15ff6ae.cloudfront.net (CloudFront)", + "x-bt-span-export" : "AwMDAc7qdCI1B00cpfd6z0HZ+sICaxiiljhxQv+qi0b93JBn3wMLviOECChEaJ/mES0QrrWqeyJyb290X3NwYW5faWQiOiIyNWQ1ZDhlNTg1NmVhNjNlZjJmZmY0MTYxNzIyM2Y0ZSJ9", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-span-id,x-bt-span-export,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Access-Control-Allow-Credentials" : "true", + "X-Amz-Cf-Id" : "farrrqpPBbRb80AtRspsMlvPb5kvD_oknJr328gYdCjIRW-amXYCvA==", + "Vary" : "Origin", + "x-bt-span-id" : "6b18a296-3871-42ff-aa8b-46fddc9067df", + "x-bt-function-meta-cached" : "HIT", + "Content-Type" : "application/json" + } + }, + "uuid" : "7aa0b9d2-ee25-3273-a308-0d074d70c4ea", + "persistent" : true, + "insertionIndex" : 121 +} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_function_7a164cb2-6c74-4de7-aa86-6b28c464ab28_invoke-b82427bb5da7.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_function_7a164cb2-6c74-4de7-aa86-6b28c464ab28_invoke-b82427bb5da7.json index f72ae28d..bff64a06 100644 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_function_7a164cb2-6c74-4de7-aa86-6b28c464ab28_invoke-b82427bb5da7.json +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_function_7a164cb2-6c74-4de7-aa86-6b28c464ab28_invoke-b82427bb5da7.json @@ -21,13 +21,15 @@ "headers" : { "X-Cache" : "Miss from cloudfront", "X-Amz-Cf-Pop" : "SEA900-P9", - "x-amzn-RequestId" : "2c560c0a-8bf3-4c26-a030-3eef0ed3103a", - "X-Amz-Cf-Id" : "JaxJFJbdj6VySrz4Y4iuJ5VLbHhBQ3pTe5lwwI7Wnk7ZzeycgWfJUQ==", "x-bt-function-creds-cached" : "HIT", + "Date" : "Mon, 31 Aug 2026 17:36:00 GMT", + "Via" : "1.1 bef90eae512e70457d6a8a77b097a124.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-span-id,x-bt-span-export,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Access-Control-Allow-Credentials" : "true", + "X-Amz-Cf-Id" : "oV4rCp0hLS3a2ZW_Nx5B5ztndq-bKQ-nsl77MRE429Wm08SPf06_0g==", + "Vary" : "Origin", "x-bt-function-meta-cached" : "HIT", - "X-Amzn-Trace-Id" : "Root=1-6a4d33e9-47be814f02b47aa604d92254;Parent=436c8682988791d0;Sampled=0;Lineage=1:98839c8e:0", - "Date" : "Tue, 07 Jul 2026 17:14:17 GMT", - "Via" : "1.1 7f26c41dda80bd7d50ccec2be87c9c3e.cloudfront.net (CloudFront)", "Content-Type" : "application/json" } }, diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_function_7a164cb2-6c74-4de7-aa86-6b28c464ab28_invoke-d439049c257d.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_function_7a164cb2-6c74-4de7-aa86-6b28c464ab28_invoke-d439049c257d.json index e2ac3abe..5bcff208 100644 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_function_7a164cb2-6c74-4de7-aa86-6b28c464ab28_invoke-d439049c257d.json +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_function_7a164cb2-6c74-4de7-aa86-6b28c464ab28_invoke-d439049c257d.json @@ -21,13 +21,15 @@ "headers" : { "X-Cache" : "Miss from cloudfront", "X-Amz-Cf-Pop" : "SEA900-P9", - "x-amzn-RequestId" : "023191c6-fcc7-44df-938c-14c587e28da2", - "X-Amz-Cf-Id" : "urdlroKjbMNDvJA2uqsrP4FRWSiqi3sQP1aLIm_AsexDAx8b2Oit3A==", "x-bt-function-creds-cached" : "HIT", + "Date" : "Mon, 31 Aug 2026 17:36:17 GMT", + "Via" : "1.1 7aad92255c39d277bce3f20afa1b059c.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-span-id,x-bt-span-export,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Access-Control-Allow-Credentials" : "true", + "X-Amz-Cf-Id" : "j0ZxiBthYjYQ3LO8w27eJJXbl3E-Q4GjD-uUCkx0OIz05bp0dg0TsQ==", + "Vary" : "Origin", "x-bt-function-meta-cached" : "MISS", - "X-Amzn-Trace-Id" : "Root=1-6a4d33fc-3adb19b275cb22546c22fd1c;Parent=6bdd7503eae74917;Sampled=0;Lineage=1:98839c8e:0", - "Date" : "Tue, 07 Jul 2026 17:14:38 GMT", - "Via" : "1.1 a3134c0c893f03d1e9a9c657d09af7cc.cloudfront.net (CloudFront)", "Content-Type" : "application/json" } }, diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_function_7a164cb2-6c74-4de7-aa86-6b28c464ab28_invoke-d61d8d83b042.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_function_7a164cb2-6c74-4de7-aa86-6b28c464ab28_invoke-d61d8d83b042.json index 165ef7dd..1b544cdc 100644 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_function_7a164cb2-6c74-4de7-aa86-6b28c464ab28_invoke-d61d8d83b042.json +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_function_7a164cb2-6c74-4de7-aa86-6b28c464ab28_invoke-d61d8d83b042.json @@ -21,13 +21,15 @@ "headers" : { "X-Cache" : "Miss from cloudfront", "X-Amz-Cf-Pop" : "SEA900-P9", - "x-amzn-RequestId" : "6547adb7-82b6-41af-a34d-a0dc909a9837", - "X-Amz-Cf-Id" : "LH9JdavBFFgLWWd3VbzhyljkLdahWhELQ_npRCop9dTXmjJ36ktOCQ==", "x-bt-function-creds-cached" : "HIT", + "Date" : "Mon, 31 Aug 2026 17:35:57 GMT", + "Via" : "1.1 1271197444822e7c59413a59ecbcecd6.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-span-id,x-bt-span-export,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Access-Control-Allow-Credentials" : "true", + "X-Amz-Cf-Id" : "ShaR_XZSQ4xmTvHVBTU9o6cGRUxQiB_HiIC2QZ4euordvwpq5boC0Q==", + "Vary" : "Origin", "x-bt-function-meta-cached" : "HIT", - "X-Amzn-Trace-Id" : "Root=1-6a4d33e7-7ab9f52e07263edf284bb6cd;Parent=3e625ed95e70930d;Sampled=0;Lineage=1:98839c8e:0", - "Date" : "Tue, 07 Jul 2026 17:14:16 GMT", - "Via" : "1.1 e8b22a8fa8511f8f972b4965a9af80b4.cloudfront.net (CloudFront)", "Content-Type" : "application/json" } }, diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_function_7a164cb2-6c74-4de7-aa86-6b28c464ab28_invoke-ec70de66b084.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_function_7a164cb2-6c74-4de7-aa86-6b28c464ab28_invoke-ec70de66b084.json deleted file mode 100644 index 079b0094..00000000 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_function_7a164cb2-6c74-4de7-aa86-6b28c464ab28_invoke-ec70de66b084.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "id" : "db87a3ce-0b70-3793-b0b4-1b7b504c7f44", - "name" : "v1_function_7a164cb2-6c74-4de7-aa86-6b28c464ab28_invoke", - "request" : { - "url" : "/v1/function/7a164cb2-6c74-4de7-aa86-6b28c464ab28/invoke", - "method" : "POST", - "headers" : { - "Content-Type" : { - "equalTo" : "application/json" - } - }, - "bodyPatterns" : [ { - "equalToJson" : "{\"input\":{\"input\":\"apple\",\"output\":\"java-fruit\",\"expected\":\"fruit\",\"metadata\":{}},\"expected\":null,\"messages\":[],\"parent\":{\"object_type\":\"playground_logs\",\"object_id\":\"ceea7422-3507-4d1c-a5f7-7acf41d9fac2\",\"row_ids\":{\"id\":\"otel\",\"span_id\":\"ca900c6c69c35e18\",\"root_span_id\":\"6f43d5d6dc67ee3393ec554ef93daba0\"}},\"mcp_auth\":{}}", - "ignoreArrayOrder" : true, - "ignoreExtraElements" : false - } ] - }, - "response" : { - "status" : 200, - "bodyFileName" : "v1_function_7a164cb2-6c74-4de7-aa86-6b28c464ab28_invoke-ec70de66b084.json", - "headers" : { - "X-Cache" : "Miss from cloudfront", - "X-Amz-Cf-Pop" : "SEA900-P9", - "x-bt-function-creds-cached" : "MISS", - "X-Amzn-Trace-Id" : "Root=1-6a4d33b3-0754ff6b6ffba96c6656ccda;Parent=19f68e109f0cc8ce;Sampled=0;Lineage=1:98839c8e:0", - "Date" : "Tue, 07 Jul 2026 17:13:33 GMT", - "Via" : "1.1 1271197444822e7c59413a59ecbcecd6.cloudfront.net (CloudFront)", - "x-bt-span-export" : "AwMDAc7qdCI1B00cpfd6z0HZ+sICyUheI4xeRPa6tF3B+4WIkAM2OHVMznJOo49B40+kmNKmeyJyb290X3NwYW5faWQiOiI2ZjQzZDVkNmRjNjdlZTMzOTNlYzU1NGVmOTNkYWJhMCJ9", - "x-amzn-RequestId" : "65963d6f-bedf-4aec-bedd-d705f2fde36b", - "X-Amz-Cf-Id" : "Cxhpep_4eBtpifEorITDJFjhA3mBWZSSEsLj4HHtQab1OdjIzgcrJA==", - "x-bt-span-id" : "c9485e23-8c5e-44f6-bab4-5dc1fb858890", - "x-bt-function-meta-cached" : "MISS", - "Content-Type" : "application/json" - } - }, - "uuid" : "db87a3ce-0b70-3793-b0b4-1b7b504c7f44", - "persistent" : true, - "insertionIndex" : 120 -} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_function_bda148ec-e447-4437-86fe-b337c12502b7-18e2c3e2cb2d.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_function_bda148ec-e447-4437-86fe-b337c12502b7-18e2c3e2cb2d.json index c5177655..802708a7 100644 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_function_bda148ec-e447-4437-86fe-b337c12502b7-18e2c3e2cb2d.json +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_function_bda148ec-e447-4437-86fe-b337c12502b7-18e2c3e2cb2d.json @@ -10,22 +10,18 @@ "bodyFileName" : "v1_function_bda148ec-e447-4437-86fe-b337c12502b7-18e2c3e2cb2d.json", "headers" : { "X-Cache" : "Miss from cloudfront", - "expires" : "0", - "x-amz-apigw-id" : "AJUOhHQaoAMEICg=", - "vary" : "Origin, Accept-Encoding", - "x-amzn-Remapped-content-length" : "762", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "X-Amzn-Trace-Id" : "Root=1-6a4d33f6-657954f928d89edf5026bdb0;Parent=37b8705a4690eb42;Sampled=0;Lineage=1:fc3b4ff1:0", - "Date" : "Tue, 07 Jul 2026 17:14:30 GMT", - "Via" : "1.1 82fa7f20ab5a12301da8e01f9493e222.cloudfront.net (CloudFront), 1.1 63560dd3f856b0f7bfe68a0cad46924a.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a4d33f6000000000407226134d74053", - "x-amzn-RequestId" : "f5b53485-b474-4392-8e89-99fa662bc4e7", - "X-Amz-Cf-Id" : "FvLpejlxVbMtgWHltK4Qx79R9jc3-eyWp3QLexjJw03k6orFI6SjQQ==", - "etag" : "W/\"2fa-rhLEWA+B/SDKBqYT2oWJyUztoRY\"", - "cache-control" : "no-store, no-cache, must-revalidate, proxy-revalidate", - "surrogate-control" : "no-store", + "X-Amz-Cf-Pop" : "SEA900-P9", + "Date" : "Mon, 31 Aug 2026 17:36:09 GMT", + "Via" : "1.1 2501b465adde8e5aedc3f38e3dfcdc22.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "no-store, no-cache, must-revalidate, proxy-revalidate", + "ETag" : "W/\"2fa-rhLEWA+B/SDKBqYT2oWJyUztoRY\"", + "Access-Control-Allow-Credentials" : "true", + "X-Amz-Cf-Id" : "oAARd0mO7-RDjf35Mg5pwdwhm9RY7GJE9S7gix7xIgC4ga9BYvaHrQ==", + "Vary" : "Origin, Accept-Encoding", + "Expires" : "0", + "Surrogate-Control" : "no-store", "Content-Type" : "application/json; charset=utf-8" } }, diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_function_bda148ec-e447-4437-86fe-b337c12502b7-71d8f3a93ca2.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_function_bda148ec-e447-4437-86fe-b337c12502b7-71d8f3a93ca2.json index 23fd4a57..278097c3 100644 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_function_bda148ec-e447-4437-86fe-b337c12502b7-71d8f3a93ca2.json +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_function_bda148ec-e447-4437-86fe-b337c12502b7-71d8f3a93ca2.json @@ -10,22 +10,18 @@ "bodyFileName" : "v1_function_bda148ec-e447-4437-86fe-b337c12502b7-71d8f3a93ca2.json", "headers" : { "X-Cache" : "Miss from cloudfront", - "expires" : "0", - "x-amz-apigw-id" : "AJUMnG79IAMEjtg=", - "vary" : "Origin, Accept-Encoding", - "x-amzn-Remapped-content-length" : "762", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "X-Amzn-Trace-Id" : "Root=1-6a4d33e9-766ce9936741d02a71604bdf;Parent=37816f6d934c0a9b;Sampled=0;Lineage=1:fc3b4ff1:0", - "Date" : "Tue, 07 Jul 2026 17:14:18 GMT", - "Via" : "1.1 82fa7f20ab5a12301da8e01f9493e222.cloudfront.net (CloudFront), 1.1 e088ff8bff69861ed7fd37fbb518f0c2.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a4d33e900000000639c0b9164e88694", - "x-amzn-RequestId" : "beb06758-da60-40e9-b782-0d1199a085de", - "X-Amz-Cf-Id" : "muJY4NaoJYNH3Gk3NnwhysKP3hH98wLHDIMV3JPbxdFf5zGFwASJ6w==", - "etag" : "W/\"2fa-rhLEWA+B/SDKBqYT2oWJyUztoRY\"", - "cache-control" : "no-store, no-cache, must-revalidate, proxy-revalidate", - "surrogate-control" : "no-store", + "X-Amz-Cf-Pop" : "SEA900-P9", + "Date" : "Mon, 31 Aug 2026 17:36:01 GMT", + "Via" : "1.1 0758a857b0f9c36d8cfe897182f568ce.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "no-store, no-cache, must-revalidate, proxy-revalidate", + "ETag" : "W/\"2fa-rhLEWA+B/SDKBqYT2oWJyUztoRY\"", + "Access-Control-Allow-Credentials" : "true", + "X-Amz-Cf-Id" : "6v4BPX_wGFLL4Im5AWfQ4PvRafIdrT2OV3Rbimyq1ba5z-NBM4jx5g==", + "Vary" : "Origin, Accept-Encoding", + "Expires" : "0", + "Surrogate-Control" : "no-store", "Content-Type" : "application/json; charset=utf-8" } }, diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_function_bda148ec-e447-4437-86fe-b337c12502b7_invoke-6036fec54d18.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_function_bda148ec-e447-4437-86fe-b337c12502b7_invoke-6036fec54d18.json index b348c8a4..73d9d7d4 100644 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_function_bda148ec-e447-4437-86fe-b337c12502b7_invoke-6036fec54d18.json +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_function_bda148ec-e447-4437-86fe-b337c12502b7_invoke-6036fec54d18.json @@ -24,16 +24,16 @@ "X-Amz-Cf-Pop" : "SEA900-P9", "x-bt-function-creds-cached" : "HIT", "x-bt-cached" : "MISS", - "X-Amzn-Trace-Id" : "Root=1-6a4d33f6-4eb2ad8f1f98161e602ba38a;Parent=666cbd9724ead713;Sampled=0;Lineage=1:98839c8e:0", - "Date" : "Tue, 07 Jul 2026 17:14:35 GMT", - "Via" : "1.1 7f26c41dda80bd7d50ccec2be87c9c3e.cloudfront.net (CloudFront)", + "Date" : "Mon, 31 Aug 2026 17:36:11 GMT", + "Via" : "1.1 2501b465adde8e5aedc3f38e3dfcdc22.cloudfront.net (CloudFront)", "x-bt-passthrough" : "false", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-span-id,x-bt-span-export,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", "x-bt-secrets-scope" : "org_and_project", - "x-amzn-Remapped-date" : "Tue, 07 Jul 2026 17:14:34 GMT", + "Access-Control-Allow-Credentials" : "true", "x-bt-stale-secrets" : "false", - "x-amzn-RequestId" : "a1d2c04a-1364-427a-be01-b39fc709ce07", - "X-Amz-Cf-Id" : "Jec9UbWABDRYsC7L7P0tFa7fgsyOVKUnYJkfpHvCoZnmhG2L2h-Y7w==", - "x-bt-request-id" : "287f0cf8-3922-406d-91c2-19073eda68bd", + "X-Amz-Cf-Id" : "Md7NdJ6IHhclNdHbokVN1ZyWVIenrnRqtd-1AeszPWZ5MoyHhLBdRQ==", + "x-bt-request-id" : "dc71534f-8e32-40d5-8f07-886abf2af265", "x-bt-used-endpoint" : "OPENAI_API_KEY", "x-bt-function-meta-cached" : "HIT", "cache-control" : "no-cache", diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_function_bda148ec-e447-4437-86fe-b337c12502b7_invoke-2c9a6a7d65f4.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_function_bda148ec-e447-4437-86fe-b337c12502b7_invoke-e2c6e01b1b5c.json similarity index 55% rename from test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_function_bda148ec-e447-4437-86fe-b337c12502b7_invoke-2c9a6a7d65f4.json rename to test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_function_bda148ec-e447-4437-86fe-b337c12502b7_invoke-e2c6e01b1b5c.json index 9ef1561f..a4c417c5 100644 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_function_bda148ec-e447-4437-86fe-b337c12502b7_invoke-2c9a6a7d65f4.json +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_function_bda148ec-e447-4437-86fe-b337c12502b7_invoke-e2c6e01b1b5c.json @@ -1,5 +1,5 @@ { - "id" : "7c049bfd-04ae-3518-9055-1fe79cb4ab8a", + "id" : "e8d6b60c-8ba9-3831-9bb6-2578ac89c909", "name" : "v1_function_bda148ec-e447-4437-86fe-b337c12502b7_invoke", "request" : { "url" : "/v1/function/bda148ec-e447-4437-86fe-b337c12502b7/invoke", @@ -10,39 +10,39 @@ } }, "bodyPatterns" : [ { - "equalToJson" : "{\"input\":{\"input\":\"test input\",\"output\":\"hello world\",\"expected\":\"hello world\",\"metadata\":{}},\"expected\":null,\"messages\":[],\"parent\":{\"object_type\":\"project_logs\",\"object_id\":\"f1e858a4-58e3-408f-983f-016760d7fa25\",\"row_ids\":{\"id\":\"otel\",\"span_id\":\"d9f04dc3f49d9a5e\",\"root_span_id\":\"549710846944dbcfc3563ea8cab32335\"}},\"mcp_auth\":{}}", + "equalToJson" : "{\"input\":{\"input\":\"test input\",\"output\":\"hello world\",\"expected\":\"hello world\",\"metadata\":{}},\"expected\":null,\"messages\":[],\"parent\":{\"object_type\":\"project_logs\",\"object_id\":\"f1e858a4-58e3-408f-983f-016760d7fa25\",\"row_ids\":{\"id\":\"otel\",\"span_id\":\"eb85fed14607ba1c\",\"root_span_id\":\"b2c4e2f917794144eff5e6ac0e08e33e\"}},\"mcp_auth\":{}}", "ignoreArrayOrder" : true, "ignoreExtraElements" : false } ] }, "response" : { "status" : 200, - "bodyFileName" : "v1_function_bda148ec-e447-4437-86fe-b337c12502b7_invoke-2c9a6a7d65f4.json", + "bodyFileName" : "v1_function_bda148ec-e447-4437-86fe-b337c12502b7_invoke-e2c6e01b1b5c.json", "headers" : { "X-Cache" : "Miss from cloudfront", "vary" : "Origin, Access-Control-Request-Method, Access-Control-Request-Headers", "X-Amz-Cf-Pop" : "SEA900-P9", "x-bt-function-creds-cached" : "HIT", "x-bt-cached" : "MISS", - "X-Amzn-Trace-Id" : "Root=1-6a4d33eb-0194c8383e5b45b25e467746;Parent=75f81744c3797d30;Sampled=0;Lineage=1:98839c8e:0", - "Date" : "Tue, 07 Jul 2026 17:14:28 GMT", - "Via" : "1.1 55a62c25b77c24cde4014f567fd1c550.cloudfront.net (CloudFront)", + "Date" : "Mon, 31 Aug 2026 17:36:07 GMT", + "Via" : "1.1 3062c1f9ccf5f043983bc180e222dd9c.cloudfront.net (CloudFront)", "x-bt-passthrough" : "false", - "x-bt-span-export" : "AwIDAfHoWKRY40CPmD8BZ2DX+iUCry0SB5bhQV+nZkIBu5aySQMEzqjUv71LGr2ZaeFjfS/NeyJyb290X3NwYW5faWQiOiI1NDk3MTA4NDY5NDRkYmNmYzM1NjNlYThjYWIzMjMzNSJ9", + "x-bt-span-export" : "AwIDAfHoWKRY40CPmD8BZ2DX+iUCPYbyw5UPTMC6RAneR2mMcAM+TlPWqj5DB4+Z7vfoBlGveyJyb290X3NwYW5faWQiOiJiMmM0ZTJmOTE3Nzk0MTQ0ZWZmNWU2YWMwZTA4ZTMzZSJ9", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-span-id,x-bt-span-export,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", "x-bt-secrets-scope" : "org_and_project", - "x-amzn-Remapped-date" : "Tue, 07 Jul 2026 17:14:27 GMT", + "Access-Control-Allow-Credentials" : "true", "x-bt-stale-secrets" : "false", - "x-amzn-RequestId" : "37add89c-58d8-4de8-88a9-a60bddcb2e7a", - "X-Amz-Cf-Id" : "TDbHE_K8R-ik7JBiL_aN1gq5HFnqgMCxrOdebFa3-pC19F45-FRDEg==", - "x-bt-request-id" : "9222c99a-6f3e-4204-9155-970faa7b0c56", + "X-Amz-Cf-Id" : "-Lgh6tsD-S8mhsNxbGwUss_cXWV90Acx6rs1_6upiiiRJ-vhx2WsQA==", "x-bt-used-endpoint" : "OPENAI_API_KEY", - "x-bt-span-id" : "af2d1207-96e1-415f-a766-4201bb96b249", + "x-bt-request-id" : "a9f2255c-fa9e-41cc-ba24-51788d549d72", + "x-bt-span-id" : "3d86f2c3-950f-4cc0-ba44-09de47698c70", "x-bt-function-meta-cached" : "MISS", "cache-control" : "no-cache", "Content-Type" : "application/json" } }, - "uuid" : "7c049bfd-04ae-3518-9055-1fe79cb4ab8a", + "uuid" : "e8d6b60c-8ba9-3831-9bb6-2578ac89c909", "persistent" : true, "insertionIndex" : 31 } \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project-117b51cee0ec.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project-117b51cee0ec.json index 74a0f89d..8f131c11 100644 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project-117b51cee0ec.json +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project-117b51cee0ec.json @@ -17,22 +17,18 @@ "bodyFileName" : "v1_project-117b51cee0ec.json", "headers" : { "X-Cache" : "Miss from cloudfront", - "expires" : "0", - "x-amz-apigw-id" : "AJUQFFGyIAMEXtQ=", - "vary" : "Origin, Accept-Encoding", - "x-amzn-Remapped-content-length" : "361", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "X-Amzn-Trace-Id" : "Root=1-6a4d3400-5c63537237e96e90099b9d1b;Parent=7833b177be1f0013;Sampled=0;Lineage=1:fc3b4ff1:0", - "Date" : "Tue, 07 Jul 2026 17:14:40 GMT", - "Via" : "1.1 82fa7f20ab5a12301da8e01f9493e222.cloudfront.net (CloudFront), 1.1 3417fc639ca50b55b2a1d93807a20c2c.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a4d3400000000003110d554a8d5c644", - "x-amzn-RequestId" : "b780723b-3e3d-4c43-9203-48eb0e96a3d8", - "X-Amz-Cf-Id" : "gfdCRm0A2LvegM3H8PMPVi844EIVikmiiec3SMXQOk58GfnA26ZbbQ==", - "etag" : "W/\"169-XiwCuJsCqAZuAH8JspCgkYonnKw\"", - "cache-control" : "no-store, no-cache, must-revalidate, proxy-revalidate", - "surrogate-control" : "no-store", + "X-Amz-Cf-Pop" : "SEA900-P9", + "Date" : "Mon, 31 Aug 2026 17:36:23 GMT", + "Via" : "1.1 bef90eae512e70457d6a8a77b097a124.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "no-store, no-cache, must-revalidate, proxy-revalidate", + "ETag" : "W/\"169-XiwCuJsCqAZuAH8JspCgkYonnKw\"", + "Access-Control-Allow-Credentials" : "true", + "X-Amz-Cf-Id" : "6-STieHr5UPL6gj9GgrPQ5VAZpmFiWlWPkDbBpN6s0kSomqdvgjRPQ==", + "Vary" : "Origin, Accept-Encoding", + "Expires" : "0", + "Surrogate-Control" : "no-store", "Content-Type" : "application/json; charset=utf-8" } }, diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project-25b4865170f2.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project-25b4865170f2.json index 6c84ccce..97a9a2bc 100644 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project-25b4865170f2.json +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project-25b4865170f2.json @@ -17,22 +17,18 @@ "bodyFileName" : "v1_project-25b4865170f2.json", "headers" : { "X-Cache" : "Miss from cloudfront", - "expires" : "0", - "x-amz-apigw-id" : "AJUCzGrNIAMEQvA=", - "vary" : "Origin, Accept-Encoding", - "x-amzn-Remapped-content-length" : "361", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "X-Amzn-Trace-Id" : "Root=1-6a4d33ab-6595ef0718b765411c420917;Parent=0d320c1619b07b2f;Sampled=0;Lineage=1:fc3b4ff1:0", - "Date" : "Tue, 07 Jul 2026 17:13:15 GMT", - "Via" : "1.1 82fa7f20ab5a12301da8e01f9493e222.cloudfront.net (CloudFront), 1.1 1271197444822e7c59413a59ecbcecd6.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a4d33ab0000000005762c3d75b8cd81", - "x-amzn-RequestId" : "16a01508-1212-4492-a615-e627e4ba82cc", - "X-Amz-Cf-Id" : "I5ENINGVf6IMW6FY898pSeQmknHakn_kh1fr8u08M2WRyfOXutCo6g==", - "etag" : "W/\"169-XiwCuJsCqAZuAH8JspCgkYonnKw\"", - "cache-control" : "no-store, no-cache, must-revalidate, proxy-revalidate", - "surrogate-control" : "no-store", + "X-Amz-Cf-Pop" : "SEA900-P9", + "Date" : "Mon, 31 Aug 2026 17:34:14 GMT", + "Via" : "1.1 4c8322ac27bebc2a7e26f72c7b6ec2ee.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "no-store, no-cache, must-revalidate, proxy-revalidate", + "ETag" : "W/\"169-XiwCuJsCqAZuAH8JspCgkYonnKw\"", + "Access-Control-Allow-Credentials" : "true", + "X-Amz-Cf-Id" : "kTynAzoqLNGfcySJBGqGazPefXlFH1HLHnboGwpgQBhWkay_o51mDQ==", + "Vary" : "Origin, Accept-Encoding", + "Expires" : "0", + "Surrogate-Control" : "no-store", "Content-Type" : "application/json; charset=utf-8" } }, @@ -41,5 +37,5 @@ "scenarioName" : "scenario-4-v1-project", "requiredScenarioState" : "Started", "newScenarioState" : "scenario-4-v1-project-2", - "insertionIndex" : 133 + "insertionIndex" : 135 } \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project-2741f59ee0c6.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project-2741f59ee0c6.json index 19d9f23b..0f2454f4 100644 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project-2741f59ee0c6.json +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project-2741f59ee0c6.json @@ -17,22 +17,18 @@ "bodyFileName" : "v1_project-2741f59ee0c6.json", "headers" : { "X-Cache" : "Miss from cloudfront", - "expires" : "0", - "x-amz-apigw-id" : "AJUJxH6QIAMEQtA=", - "vary" : "Origin, Accept-Encoding", - "x-amzn-Remapped-content-length" : "361", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "X-Amzn-Trace-Id" : "Root=1-6a4d33d7-6fb09177354521c41e9b7391;Parent=329d8457a6e59c87;Sampled=0;Lineage=1:fc3b4ff1:0", - "Date" : "Tue, 07 Jul 2026 17:13:59 GMT", - "Via" : "1.1 73b0c4a85645a8031ba157e0b3e28ffc.cloudfront.net (CloudFront), 1.1 b3a8bdee20374465a3f2aa64f19ec30e.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a4d33d7000000000900deec704a4749", - "x-amzn-RequestId" : "89ba9827-6e5c-4b54-be3d-f5aac8bf4006", - "X-Amz-Cf-Id" : "XgIJckVZaUFRNJlTfylfi0LfShegMdJcPDV-lvBol91Q0Alri8uWVQ==", - "etag" : "W/\"169-XiwCuJsCqAZuAH8JspCgkYonnKw\"", - "cache-control" : "no-store, no-cache, must-revalidate, proxy-revalidate", - "surrogate-control" : "no-store", + "X-Amz-Cf-Pop" : "SEA900-P9", + "Date" : "Mon, 31 Aug 2026 17:35:32 GMT", + "Via" : "1.1 04efc78121acf5d40974e6a71bebce20.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "no-store, no-cache, must-revalidate, proxy-revalidate", + "ETag" : "W/\"169-XiwCuJsCqAZuAH8JspCgkYonnKw\"", + "Access-Control-Allow-Credentials" : "true", + "X-Amz-Cf-Id" : "lQtFAC0OOABBIJt5LH6ecDEn3H3tymavnqRMyW7dWthtYV0arFua0g==", + "Vary" : "Origin, Accept-Encoding", + "Expires" : "0", + "Surrogate-Control" : "no-store", "Content-Type" : "application/json; charset=utf-8" } }, diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project-27a84b7551ef.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project-27a84b7551ef.json index 3ec9a9fb..bb7cebd3 100644 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project-27a84b7551ef.json +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project-27a84b7551ef.json @@ -17,22 +17,18 @@ "bodyFileName" : "v1_project-27a84b7551ef.json", "headers" : { "X-Cache" : "Miss from cloudfront", - "expires" : "0", - "x-amz-apigw-id" : "AJUKfGnrIAMEg9Q=", - "vary" : "Origin, Accept-Encoding", - "x-amzn-Remapped-content-length" : "361", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "X-Amzn-Trace-Id" : "Root=1-6a4d33dc-1dc6e8cb64ff05c47e0bf5b8;Parent=48a35e8ca43bdc53;Sampled=0;Lineage=1:fc3b4ff1:0", - "Date" : "Tue, 07 Jul 2026 17:14:04 GMT", - "Via" : "1.1 82fa7f20ab5a12301da8e01f9493e222.cloudfront.net (CloudFront), 1.1 6ebf93cd3baadad602a5fd706f0df16e.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a4d33dc000000002c364a3f37e69547", - "x-amzn-RequestId" : "f1475a67-6f5a-4544-8a00-319376210e5b", - "X-Amz-Cf-Id" : "4aTo4Ov0RmQtsWGdMEtAIYj4Hh1cbKFGOG8VW_Fg_x2aTpRjxUhu-Q==", - "etag" : "W/\"169-XiwCuJsCqAZuAH8JspCgkYonnKw\"", - "cache-control" : "no-store, no-cache, must-revalidate, proxy-revalidate", - "surrogate-control" : "no-store", + "X-Amz-Cf-Pop" : "SEA900-P9", + "Date" : "Mon, 31 Aug 2026 17:35:38 GMT", + "Via" : "1.1 b2b215a89cc2734b2940e2eb59ea4bd0.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "no-store, no-cache, must-revalidate, proxy-revalidate", + "ETag" : "W/\"169-XiwCuJsCqAZuAH8JspCgkYonnKw\"", + "Access-Control-Allow-Credentials" : "true", + "X-Amz-Cf-Id" : "ma0kfrGhVpeROEVBk1NBmaWt2S_Y-s9_4Sua-MARtrBeBOEyqT1jzg==", + "Vary" : "Origin, Accept-Encoding", + "Expires" : "0", + "Surrogate-Control" : "no-store", "Content-Type" : "application/json; charset=utf-8" } }, diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project-2b5996fd3d0f.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project-2b5996fd3d0f.json index 216d0d0b..75870156 100644 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project-2b5996fd3d0f.json +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project-2b5996fd3d0f.json @@ -17,22 +17,18 @@ "bodyFileName" : "v1_project-2b5996fd3d0f.json", "headers" : { "X-Cache" : "Miss from cloudfront", - "expires" : "0", - "x-amz-apigw-id" : "AJUP8EJLIAMEqxQ=", - "vary" : "Origin, Accept-Encoding", - "x-amzn-Remapped-content-length" : "361", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "X-Amzn-Trace-Id" : "Root=1-6a4d33ff-6e42799b3513c94237c4e497;Parent=33de5401297482ad;Sampled=0;Lineage=1:fc3b4ff1:0", - "Date" : "Tue, 07 Jul 2026 17:14:39 GMT", - "Via" : "1.1 82fa7f20ab5a12301da8e01f9493e222.cloudfront.net (CloudFront), 1.1 7aad92255c39d277bce3f20afa1b059c.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a4d33ff0000000036ed19150adf3110", - "x-amzn-RequestId" : "68bafbf5-ebe8-4bb1-843e-8b824363c68d", - "X-Amz-Cf-Id" : "QC2BHffpTRdOGrFjcl-WLYTwGk3ttpDZu4mumq6mdZE6kXCg7Hjw-g==", - "etag" : "W/\"169-XiwCuJsCqAZuAH8JspCgkYonnKw\"", - "cache-control" : "no-store, no-cache, must-revalidate, proxy-revalidate", - "surrogate-control" : "no-store", + "X-Amz-Cf-Pop" : "SEA900-P9", + "Date" : "Mon, 31 Aug 2026 17:36:20 GMT", + "Via" : "1.1 3062c1f9ccf5f043983bc180e222dd9c.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "no-store, no-cache, must-revalidate, proxy-revalidate", + "ETag" : "W/\"169-XiwCuJsCqAZuAH8JspCgkYonnKw\"", + "Access-Control-Allow-Credentials" : "true", + "X-Amz-Cf-Id" : "M_CfuizAtWCPu9uhhv4m_iAmNmKYNqPOb-JsS8d76C1-VsAuIc8olg==", + "Vary" : "Origin, Accept-Encoding", + "Expires" : "0", + "Surrogate-Control" : "no-store", "Content-Type" : "application/json; charset=utf-8" } }, diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project-314b8a3e0bec.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project-314b8a3e0bec.json index fccf10bd..563a55fb 100644 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project-314b8a3e0bec.json +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project-314b8a3e0bec.json @@ -17,22 +17,18 @@ "bodyFileName" : "v1_project-314b8a3e0bec.json", "headers" : { "X-Cache" : "Miss from cloudfront", - "expires" : "0", - "x-amz-apigw-id" : "AJULXGoyIAMEvJA=", - "vary" : "Origin, Accept-Encoding", - "x-amzn-Remapped-content-length" : "361", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "X-Amzn-Trace-Id" : "Root=1-6a4d33e1-2ea8a3e50af51c0818f43dd1;Parent=57419cb1a3119a08;Sampled=0;Lineage=1:fc3b4ff1:0", - "Date" : "Tue, 07 Jul 2026 17:14:09 GMT", - "Via" : "1.1 73b0c4a85645a8031ba157e0b3e28ffc.cloudfront.net (CloudFront), 1.1 0ddbf3138c96d4b7c9f8047edb515414.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a4d33e1000000001acabd76f463bd00", - "x-amzn-RequestId" : "8447d9e8-0464-49e7-bb42-de3ef0e96694", - "X-Amz-Cf-Id" : "HU5-2mxQDfu7fk7M9mws3JJYR0qe3MSqGIEngNE5M55s8GIWk_AmyA==", - "etag" : "W/\"169-XiwCuJsCqAZuAH8JspCgkYonnKw\"", - "cache-control" : "no-store, no-cache, must-revalidate, proxy-revalidate", - "surrogate-control" : "no-store", + "X-Amz-Cf-Pop" : "SEA900-P9", + "Date" : "Mon, 31 Aug 2026 17:35:48 GMT", + "Via" : "1.1 5af99d6f2fc1c569c253259aec683ee8.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "no-store, no-cache, must-revalidate, proxy-revalidate", + "ETag" : "W/\"169-XiwCuJsCqAZuAH8JspCgkYonnKw\"", + "Access-Control-Allow-Credentials" : "true", + "X-Amz-Cf-Id" : "j_069gt1JobS8b--qYSnrVP2H9NJHLmKOvQvxxLkC2NNquQxci_jjA==", + "Vary" : "Origin, Accept-Encoding", + "Expires" : "0", + "Surrogate-Control" : "no-store", "Content-Type" : "application/json; charset=utf-8" } }, diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project-36a4f5266963.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project-36a4f5266963.json index 2b549a29..8c7be827 100644 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project-36a4f5266963.json +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project-36a4f5266963.json @@ -17,22 +17,18 @@ "bodyFileName" : "v1_project-36a4f5266963.json", "headers" : { "X-Cache" : "Miss from cloudfront", - "expires" : "0", - "x-amz-apigw-id" : "AJUIeHNRoAMEQtA=", - "vary" : "Origin, Accept-Encoding", - "x-amzn-Remapped-content-length" : "361", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "X-Amzn-Trace-Id" : "Root=1-6a4d33cf-1b804d7d7566679c54b5380a;Parent=6e022ccb166f8aab;Sampled=0;Lineage=1:fc3b4ff1:0", - "Date" : "Tue, 07 Jul 2026 17:13:51 GMT", - "Via" : "1.1 82fa7f20ab5a12301da8e01f9493e222.cloudfront.net (CloudFront), 1.1 4c8322ac27bebc2a7e26f72c7b6ec2ee.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a4d33cf000000001d09fbb0a2b0b86b", - "x-amzn-RequestId" : "40dd3325-b4c3-4943-ace3-3392683289ea", - "X-Amz-Cf-Id" : "WVblu9F7ndz4AKS3jDvdvsThE-VXXcE2184m8jHomhpRUsNuHH4l8w==", - "etag" : "W/\"169-XiwCuJsCqAZuAH8JspCgkYonnKw\"", - "cache-control" : "no-store, no-cache, must-revalidate, proxy-revalidate", - "surrogate-control" : "no-store", + "X-Amz-Cf-Pop" : "SEA900-P9", + "Date" : "Mon, 31 Aug 2026 17:35:18 GMT", + "Via" : "1.1 2772a76c066120d1905e8bfcd08c4d1c.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "no-store, no-cache, must-revalidate, proxy-revalidate", + "ETag" : "W/\"169-XiwCuJsCqAZuAH8JspCgkYonnKw\"", + "Access-Control-Allow-Credentials" : "true", + "X-Amz-Cf-Id" : "GdgexI9yaFVUWHNOOGDmEDmFM_7EE9bqsHQLvaGwF-jK4M9jA4UMHQ==", + "Vary" : "Origin, Accept-Encoding", + "Expires" : "0", + "Surrogate-Control" : "no-store", "Content-Type" : "application/json; charset=utf-8" } }, diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project-3700f606caa8.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project-3700f606caa8.json index 3dacaa4d..f6f349fd 100644 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project-3700f606caa8.json +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project-3700f606caa8.json @@ -17,22 +17,18 @@ "bodyFileName" : "v1_project-3700f606caa8.json", "headers" : { "X-Cache" : "Miss from cloudfront", - "expires" : "0", - "x-amz-apigw-id" : "AJUKoGheoAMEtDA=", - "vary" : "Origin, Accept-Encoding", - "x-amzn-Remapped-content-length" : "361", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "X-Amzn-Trace-Id" : "Root=1-6a4d33dd-526aec347d02ba8e0d032d12;Parent=7a2f9780913d9248;Sampled=0;Lineage=1:fc3b4ff1:0", - "Date" : "Tue, 07 Jul 2026 17:14:05 GMT", - "Via" : "1.1 73b0c4a85645a8031ba157e0b3e28ffc.cloudfront.net (CloudFront), 1.1 b2b215a89cc2734b2940e2eb59ea4bd0.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a4d33dd000000000c9299ffdbcd5acc", - "x-amzn-RequestId" : "0c995a15-ff73-4c3c-bfee-b512618a2f48", - "X-Amz-Cf-Id" : "EGntBuQhuPE3CRrF7jAFy-uhGGFUhx90UVkDjiNk6afGV0DpVsZ1jw==", - "etag" : "W/\"169-XiwCuJsCqAZuAH8JspCgkYonnKw\"", - "cache-control" : "no-store, no-cache, must-revalidate, proxy-revalidate", - "surrogate-control" : "no-store", + "X-Amz-Cf-Pop" : "SEA900-P9", + "Date" : "Mon, 31 Aug 2026 17:35:40 GMT", + "Via" : "1.1 dea0b5e705fff834db8ae3992ea09cfa.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "no-store, no-cache, must-revalidate, proxy-revalidate", + "ETag" : "W/\"169-XiwCuJsCqAZuAH8JspCgkYonnKw\"", + "Access-Control-Allow-Credentials" : "true", + "X-Amz-Cf-Id" : "qoGKIuuWbU84LkXTytlgwd6QUvrDKwyqSWEyCv-793ySyUjxhFSdhg==", + "Vary" : "Origin, Accept-Encoding", + "Expires" : "0", + "Surrogate-Control" : "no-store", "Content-Type" : "application/json; charset=utf-8" } }, diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project-3caf23d26153.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project-3caf23d26153.json index 419e4dfe..aa3594c9 100644 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project-3caf23d26153.json +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project-3caf23d26153.json @@ -17,22 +17,18 @@ "bodyFileName" : "v1_project-3caf23d26153.json", "headers" : { "X-Cache" : "Miss from cloudfront", - "expires" : "0", - "x-amz-apigw-id" : "AJUIZFisIAMEMwg=", - "vary" : "Origin, Accept-Encoding", - "x-amzn-Remapped-content-length" : "361", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "X-Amzn-Trace-Id" : "Root=1-6a4d33ce-00303e94465a30ab45a99abf;Parent=6da4c0ceff0bb6bb;Sampled=0;Lineage=1:fc3b4ff1:0", - "Date" : "Tue, 07 Jul 2026 17:13:50 GMT", - "Via" : "1.1 82fa7f20ab5a12301da8e01f9493e222.cloudfront.net (CloudFront), 1.1 a3134c0c893f03d1e9a9c657d09af7cc.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a4d33ce000000002693bf4ab5da4235", - "x-amzn-RequestId" : "656f90cd-e491-4fc8-81b3-542273c20f34", - "X-Amz-Cf-Id" : "XMvORSSol76_8WneEQ3ZMNvhYAQj4tHAwFsSHDKyB7PtWsD2Eml_Ww==", - "etag" : "W/\"169-XiwCuJsCqAZuAH8JspCgkYonnKw\"", - "cache-control" : "no-store, no-cache, must-revalidate, proxy-revalidate", - "surrogate-control" : "no-store", + "X-Amz-Cf-Pop" : "SEA900-P9", + "Date" : "Mon, 31 Aug 2026 17:35:17 GMT", + "Via" : "1.1 04efc78121acf5d40974e6a71bebce20.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "no-store, no-cache, must-revalidate, proxy-revalidate", + "ETag" : "W/\"169-XiwCuJsCqAZuAH8JspCgkYonnKw\"", + "Access-Control-Allow-Credentials" : "true", + "X-Amz-Cf-Id" : "a_Nd6MEBwe3wTGP4LecuJ6YWIjrhP7koZnCIe8yd0xcj8TblcKduMQ==", + "Vary" : "Origin, Accept-Encoding", + "Expires" : "0", + "Surrogate-Control" : "no-store", "Content-Type" : "application/json; charset=utf-8" } }, diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project-433af0a9d122.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project-433af0a9d122.json index 4728fbf2..0ca00d6b 100644 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project-433af0a9d122.json +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project-433af0a9d122.json @@ -17,22 +17,18 @@ "bodyFileName" : "v1_project-433af0a9d122.json", "headers" : { "X-Cache" : "Miss from cloudfront", - "expires" : "0", - "x-amz-apigw-id" : "AJUJ4GjIoAMEt8g=", - "vary" : "Origin, Accept-Encoding", - "x-amzn-Remapped-content-length" : "361", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "X-Amzn-Trace-Id" : "Root=1-6a4d33d8-2dc03cf9163154c725d140ad;Parent=696100126592cb35;Sampled=0;Lineage=1:fc3b4ff1:0", - "Date" : "Tue, 07 Jul 2026 17:14:00 GMT", - "Via" : "1.1 cb2aa1abf9fb243a4dc4cb073a92424e.cloudfront.net (CloudFront), 1.1 4c8322ac27bebc2a7e26f72c7b6ec2ee.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a4d33d8000000003596cd2c1b24bd25", - "x-amzn-RequestId" : "7764440b-0c00-4a02-828e-19ce2cb29ad5", - "X-Amz-Cf-Id" : "m9v2uu-_MNRT-VJ1hcoc6TK8XWvhITlLhZKn5RUm5gb-BQm5RsH5xg==", - "etag" : "W/\"169-XiwCuJsCqAZuAH8JspCgkYonnKw\"", - "cache-control" : "no-store, no-cache, must-revalidate, proxy-revalidate", - "surrogate-control" : "no-store", + "X-Amz-Cf-Pop" : "SEA900-P9", + "Date" : "Mon, 31 Aug 2026 17:35:32 GMT", + "Via" : "1.1 a6be96637dfcb93ee417719bb21d57d0.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "no-store, no-cache, must-revalidate, proxy-revalidate", + "ETag" : "W/\"169-XiwCuJsCqAZuAH8JspCgkYonnKw\"", + "Access-Control-Allow-Credentials" : "true", + "X-Amz-Cf-Id" : "0y9av3gHVRP4Egkw2Nrq3dqNW8nQHBhyJ7Vx-Htjj3mT5Y9174O1sw==", + "Vary" : "Origin, Accept-Encoding", + "Expires" : "0", + "Surrogate-Control" : "no-store", "Content-Type" : "application/json; charset=utf-8" } }, diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project-4c8c4ab3b42c.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project-4c8c4ab3b42c.json index ec816c68..8fa8b58f 100644 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project-4c8c4ab3b42c.json +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project-4c8c4ab3b42c.json @@ -17,22 +17,18 @@ "bodyFileName" : "v1_project-4c8c4ab3b42c.json", "headers" : { "X-Cache" : "Miss from cloudfront", - "expires" : "0", - "x-amz-apigw-id" : "AJUQSHtmIAMEBJA=", - "vary" : "Origin, Accept-Encoding", - "x-amzn-Remapped-content-length" : "361", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "X-Amzn-Trace-Id" : "Root=1-6a4d3401-39f2edb32d955a343d47a7c7;Parent=45cf5f62f76e192d;Sampled=0;Lineage=1:fc3b4ff1:0", - "Date" : "Tue, 07 Jul 2026 17:14:41 GMT", - "Via" : "1.1 82fa7f20ab5a12301da8e01f9493e222.cloudfront.net (CloudFront), 1.1 a6be96637dfcb93ee417719bb21d57d0.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a4d3401000000005b5c70863a7b4273", - "x-amzn-RequestId" : "51298755-4833-4222-a42c-5c3ed1e236d8", - "X-Amz-Cf-Id" : "jPTSLx2mybjOraWF0lBI9VimzWGO_CiTU-A4fbVEPqvhqOefPhk1eg==", - "etag" : "W/\"169-XiwCuJsCqAZuAH8JspCgkYonnKw\"", - "cache-control" : "no-store, no-cache, must-revalidate, proxy-revalidate", - "surrogate-control" : "no-store", + "X-Amz-Cf-Pop" : "SEA900-P9", + "Date" : "Mon, 31 Aug 2026 17:36:25 GMT", + "Via" : "1.1 dea0b5e705fff834db8ae3992ea09cfa.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "no-store, no-cache, must-revalidate, proxy-revalidate", + "ETag" : "W/\"169-XiwCuJsCqAZuAH8JspCgkYonnKw\"", + "Access-Control-Allow-Credentials" : "true", + "X-Amz-Cf-Id" : "Rv0tnsHtFinIgxnKKMdL9fHLQ1r85pKgHzqcgoSFtfgJOA_U29DNEA==", + "Vary" : "Origin, Accept-Encoding", + "Expires" : "0", + "Surrogate-Control" : "no-store", "Content-Type" : "application/json; charset=utf-8" } }, diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project-4e9b968323d6.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project-4e9b968323d6.json index 9a2a07e6..a10099c1 100644 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project-4e9b968323d6.json +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project-4e9b968323d6.json @@ -17,22 +17,18 @@ "bodyFileName" : "v1_project-4e9b968323d6.json", "headers" : { "X-Cache" : "Miss from cloudfront", - "expires" : "0", - "x-amz-apigw-id" : "AJUHsF5vIAMEgVQ=", - "vary" : "Origin, Accept-Encoding", - "x-amzn-Remapped-content-length" : "361", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "X-Amzn-Trace-Id" : "Root=1-6a4d33ca-07dc02604f222e965631b0df;Parent=494b8411da00c63a;Sampled=0;Lineage=1:fc3b4ff1:0", - "Date" : "Tue, 07 Jul 2026 17:13:46 GMT", - "Via" : "1.1 82fa7f20ab5a12301da8e01f9493e222.cloudfront.net (CloudFront), 1.1 9895fa1d75119fa16da9e015b58dbe5a.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a4d33ca000000002a90d34bcf4d19ca", - "x-amzn-RequestId" : "6451617d-12af-4f9a-8ab7-9e8ac7eb1c49", - "X-Amz-Cf-Id" : "ZZpeXcWQT2E2AYezenVUCSnoAy0r9n0YtE-3LJn0BqoOyX4Grm9RAg==", - "etag" : "W/\"169-XiwCuJsCqAZuAH8JspCgkYonnKw\"", - "cache-control" : "no-store, no-cache, must-revalidate, proxy-revalidate", - "surrogate-control" : "no-store", + "X-Amz-Cf-Pop" : "SEA900-P9", + "Date" : "Mon, 31 Aug 2026 17:35:07 GMT", + "Via" : "1.1 dea0b5e705fff834db8ae3992ea09cfa.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "no-store, no-cache, must-revalidate, proxy-revalidate", + "ETag" : "W/\"169-XiwCuJsCqAZuAH8JspCgkYonnKw\"", + "Access-Control-Allow-Credentials" : "true", + "X-Amz-Cf-Id" : "FHkG0ofrtMlK7SDGvImiDbCXqScLqWhyKGFYJ46G1jkJZ--2ohmkkA==", + "Vary" : "Origin, Accept-Encoding", + "Expires" : "0", + "Surrogate-Control" : "no-store", "Content-Type" : "application/json; charset=utf-8" } }, diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project-5be6186e8094.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project-5be6186e8094.json index f75e8c7d..5b85f1ad 100644 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project-5be6186e8094.json +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project-5be6186e8094.json @@ -17,26 +17,22 @@ "bodyFileName" : "v1_project-5be6186e8094.json", "headers" : { "X-Cache" : "Miss from cloudfront", - "expires" : "0", - "x-amz-apigw-id" : "AJUwAGDFIAMEWfQ=", - "vary" : "Origin, Accept-Encoding", - "x-amzn-Remapped-content-length" : "361", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "X-Amzn-Trace-Id" : "Root=1-6a4d34cc-5f09e3733856155117c06854;Parent=062caa0cbe73b245;Sampled=0;Lineage=1:fc3b4ff1:0", - "Date" : "Tue, 07 Jul 2026 17:18:04 GMT", - "Via" : "1.1 65f2e9f7f1475de54aa452d3ceb9bcf6.cloudfront.net (CloudFront), 1.1 3417fc639ca50b55b2a1d93807a20c2c.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a4d34cc000000005bfabfcaa497dad6", - "x-amzn-RequestId" : "2eaed4ae-c8b3-467a-b408-07e19c0c53cd", - "X-Amz-Cf-Id" : "Ej0tcFZwD3coUB_02nOCTUpjx1RCKxHNlwd3OfxpOp4APG6dBbBDBQ==", - "etag" : "W/\"169-XiwCuJsCqAZuAH8JspCgkYonnKw\"", - "cache-control" : "no-store, no-cache, must-revalidate, proxy-revalidate", - "surrogate-control" : "no-store", + "X-Amz-Cf-Pop" : "SEA900-P9", + "Date" : "Mon, 31 Aug 2026 17:44:51 GMT", + "Via" : "1.1 04efc78121acf5d40974e6a71bebce20.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "no-store, no-cache, must-revalidate, proxy-revalidate", + "ETag" : "W/\"169-XiwCuJsCqAZuAH8JspCgkYonnKw\"", + "Access-Control-Allow-Credentials" : "true", + "X-Amz-Cf-Id" : "B8SV4_KrtIPTbPD_y0OyY56guEa0YjuuMseZCEFHGtBCF0uaQL1_aw==", + "Vary" : "Origin, Accept-Encoding", + "Expires" : "0", + "Surrogate-Control" : "no-store", "Content-Type" : "application/json; charset=utf-8" } }, "uuid" : "d0fd31c6-ed1d-39d3-b5b0-9bfc4fc78ff8", "persistent" : true, - "insertionIndex" : 167 + "insertionIndex" : 190 } \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project-685f0ead6d74.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project-685f0ead6d74.json index 2aca6b54..3aabd570 100644 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project-685f0ead6d74.json +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project-685f0ead6d74.json @@ -17,22 +17,18 @@ "bodyFileName" : "v1_project-685f0ead6d74.json", "headers" : { "X-Cache" : "Miss from cloudfront", - "expires" : "0", - "x-amz-apigw-id" : "AJUQhFPxoAMEdcQ=", - "vary" : "Origin, Accept-Encoding", - "x-amzn-Remapped-content-length" : "361", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "X-Amzn-Trace-Id" : "Root=1-6a4d3402-35b98e6e1335e90a547571a8;Parent=07ddced9119b851a;Sampled=0;Lineage=1:fc3b4ff1:0", - "Date" : "Tue, 07 Jul 2026 17:14:43 GMT", - "Via" : "1.1 170efbc424be9181bda5d0fcd6e41f30.cloudfront.net (CloudFront), 1.1 55a62c25b77c24cde4014f567fd1c550.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a4d3402000000005f62ef3da0eee31d", - "x-amzn-RequestId" : "74bc9f42-afe2-4ae8-9421-2d3ba983faef", - "X-Amz-Cf-Id" : "PdE8ichN4DSGmZNaDVgqbwN5mIJq3BWoz6c0crxsc0fxtpQhWwoYBg==", - "etag" : "W/\"169-XiwCuJsCqAZuAH8JspCgkYonnKw\"", - "cache-control" : "no-store, no-cache, must-revalidate, proxy-revalidate", - "surrogate-control" : "no-store", + "X-Amz-Cf-Pop" : "SEA900-P9", + "Date" : "Mon, 31 Aug 2026 17:36:27 GMT", + "Via" : "1.1 1271197444822e7c59413a59ecbcecd6.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "no-store, no-cache, must-revalidate, proxy-revalidate", + "ETag" : "W/\"169-XiwCuJsCqAZuAH8JspCgkYonnKw\"", + "Access-Control-Allow-Credentials" : "true", + "X-Amz-Cf-Id" : "EUdU7ptXBRO3hCX-IRQWVxToDN-M6HokTRc4vYOk00xaLyJW5v5Klw==", + "Vary" : "Origin, Accept-Encoding", + "Expires" : "0", + "Surrogate-Control" : "no-store", "Content-Type" : "application/json; charset=utf-8" } }, diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project-6b105d2569fe.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project-6b105d2569fe.json index a47c3506..395a4f39 100644 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project-6b105d2569fe.json +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project-6b105d2569fe.json @@ -17,22 +17,18 @@ "bodyFileName" : "v1_project-6b105d2569fe.json", "headers" : { "X-Cache" : "Miss from cloudfront", - "expires" : "0", - "x-amz-apigw-id" : "AJUI2F2XIAMERhg=", - "vary" : "Origin, Accept-Encoding", - "x-amzn-Remapped-content-length" : "361", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "X-Amzn-Trace-Id" : "Root=1-6a4d33d1-4e4245f74c8461832fabce42;Parent=2fe89a0e2f43c8b0;Sampled=0;Lineage=1:fc3b4ff1:0", - "Date" : "Tue, 07 Jul 2026 17:13:53 GMT", - "Via" : "1.1 cb2aa1abf9fb243a4dc4cb073a92424e.cloudfront.net (CloudFront), 1.1 087b179013ed486bf34db435cff85f08.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a4d33d100000000683b25318b49dd47", - "x-amzn-RequestId" : "05582910-158a-4bf6-86c8-abafdc8de325", - "X-Amz-Cf-Id" : "T_2l4S6AaO93CXv9QL9rlSc0lx_17fMtXVvzZD7mQK-cH_mrLMfmdw==", - "etag" : "W/\"169-XiwCuJsCqAZuAH8JspCgkYonnKw\"", - "cache-control" : "no-store, no-cache, must-revalidate, proxy-revalidate", - "surrogate-control" : "no-store", + "X-Amz-Cf-Pop" : "SEA900-P9", + "Date" : "Mon, 31 Aug 2026 17:35:21 GMT", + "Via" : "1.1 087b179013ed486bf34db435cff85f08.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "no-store, no-cache, must-revalidate, proxy-revalidate", + "ETag" : "W/\"169-XiwCuJsCqAZuAH8JspCgkYonnKw\"", + "Access-Control-Allow-Credentials" : "true", + "X-Amz-Cf-Id" : "gedMFHD2B545-RhS6Qq9xsVmd_OMZ9AkRQqaK-l4uWlsW5ylbbieTw==", + "Vary" : "Origin, Accept-Encoding", + "Expires" : "0", + "Surrogate-Control" : "no-store", "Content-Type" : "application/json; charset=utf-8" } }, diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project-7ccab3db5681.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project-7ccab3db5681.json index 39b9596e..e2de4e71 100644 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project-7ccab3db5681.json +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project-7ccab3db5681.json @@ -17,22 +17,18 @@ "bodyFileName" : "v1_project-7ccab3db5681.json", "headers" : { "X-Cache" : "Miss from cloudfront", - "expires" : "0", - "x-amz-apigw-id" : "AJUJZFg-IAMEQZQ=", - "vary" : "Origin, Accept-Encoding", - "x-amzn-Remapped-content-length" : "361", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "X-Amzn-Trace-Id" : "Root=1-6a4d33d5-6dc7a71f6805e2e353c0e806;Parent=7e8df1599ffd03a7;Sampled=0;Lineage=1:fc3b4ff1:0", - "Date" : "Tue, 07 Jul 2026 17:13:57 GMT", - "Via" : "1.1 d9d466ed70d93f34739969f91577ec74.cloudfront.net (CloudFront), 1.1 6ebf93cd3baadad602a5fd706f0df16e.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a4d33d5000000006130fb3596953dc3", - "x-amzn-RequestId" : "47106313-a8ff-4219-9c8c-9fa93a658c40", - "X-Amz-Cf-Id" : "cuU2k6UHExIyCI5MAHhnth48FO6wFeWIQergB1jcrtqZIlvlg2aZ2g==", - "etag" : "W/\"169-XiwCuJsCqAZuAH8JspCgkYonnKw\"", - "cache-control" : "no-store, no-cache, must-revalidate, proxy-revalidate", - "surrogate-control" : "no-store", + "X-Amz-Cf-Pop" : "SEA900-P9", + "Date" : "Mon, 31 Aug 2026 17:35:27 GMT", + "Via" : "1.1 7f26c41dda80bd7d50ccec2be87c9c3e.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "no-store, no-cache, must-revalidate, proxy-revalidate", + "ETag" : "W/\"169-XiwCuJsCqAZuAH8JspCgkYonnKw\"", + "Access-Control-Allow-Credentials" : "true", + "X-Amz-Cf-Id" : "Tp1Z5Mlk5svv6cV5vVoqWmRBAprS4smLieKpcEIbtIiSyzym4cKf2Q==", + "Vary" : "Origin, Accept-Encoding", + "Expires" : "0", + "Surrogate-Control" : "no-store", "Content-Type" : "application/json; charset=utf-8" } }, diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project-9691037ab891.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project-9691037ab891.json index fef79fcd..0dc3e913 100644 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project-9691037ab891.json +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project-9691037ab891.json @@ -17,22 +17,18 @@ "bodyFileName" : "v1_project-9691037ab891.json", "headers" : { "X-Cache" : "Miss from cloudfront", - "expires" : "0", - "x-amz-apigw-id" : "AJULgHHvIAMEVBQ=", - "vary" : "Origin, Accept-Encoding", - "x-amzn-Remapped-content-length" : "361", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "X-Amzn-Trace-Id" : "Root=1-6a4d33e2-3511403b2833cff16f7b3c57;Parent=346111b22a9093b2;Sampled=0;Lineage=1:fc3b4ff1:0", - "Date" : "Tue, 07 Jul 2026 17:14:10 GMT", - "Via" : "1.1 82fa7f20ab5a12301da8e01f9493e222.cloudfront.net (CloudFront), 1.1 e8b22a8fa8511f8f972b4965a9af80b4.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a4d33e2000000005cd4e1357caaf8be", - "x-amzn-RequestId" : "ea0911ef-bc1a-4133-b5c2-640f278d60f2", - "X-Amz-Cf-Id" : "4VshDjtSBSYlY4_L_3T9zd2wc_10LcLP6f92OtRi73aGJuSNfTeDfw==", - "etag" : "W/\"169-XiwCuJsCqAZuAH8JspCgkYonnKw\"", - "cache-control" : "no-store, no-cache, must-revalidate, proxy-revalidate", - "surrogate-control" : "no-store", + "X-Amz-Cf-Pop" : "SEA900-P9", + "Date" : "Mon, 31 Aug 2026 17:35:51 GMT", + "Via" : "1.1 4c8322ac27bebc2a7e26f72c7b6ec2ee.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "no-store, no-cache, must-revalidate, proxy-revalidate", + "ETag" : "W/\"169-XiwCuJsCqAZuAH8JspCgkYonnKw\"", + "Access-Control-Allow-Credentials" : "true", + "X-Amz-Cf-Id" : "Aw7UGhPdy3apSPMohWBci5E0Xr2B6uKePAkpmhOge9bu2f3FEpn5VA==", + "Vary" : "Origin, Accept-Encoding", + "Expires" : "0", + "Surrogate-Control" : "no-store", "Content-Type" : "application/json; charset=utf-8" } }, diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project-9f8c5b3c2f84.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project-9f8c5b3c2f84.json index 0a25cab8..05e52670 100644 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project-9f8c5b3c2f84.json +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project-9f8c5b3c2f84.json @@ -17,22 +17,18 @@ "bodyFileName" : "v1_project-9f8c5b3c2f84.json", "headers" : { "X-Cache" : "Miss from cloudfront", - "expires" : "0", - "x-amz-apigw-id" : "AJUH6HnOoAMElRA=", - "vary" : "Origin, Accept-Encoding", - "x-amzn-Remapped-content-length" : "361", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "X-Amzn-Trace-Id" : "Root=1-6a4d33cb-6e94e7b748d76178111742bd;Parent=7dc02e38145e166a;Sampled=0;Lineage=1:fc3b4ff1:0", - "Date" : "Tue, 07 Jul 2026 17:13:47 GMT", - "Via" : "1.1 82fa7f20ab5a12301da8e01f9493e222.cloudfront.net (CloudFront), 1.1 7aad92255c39d277bce3f20afa1b059c.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a4d33cb000000005d67d54a62fb6a69", - "x-amzn-RequestId" : "63b9a98b-9c4f-4a05-bf1b-94605920cb2f", - "X-Amz-Cf-Id" : "9UOFQB6hQlL_Smui-DWDjAAiwrEhBHi8PsUbyIswgDTl8sDNoapAcg==", - "etag" : "W/\"169-XiwCuJsCqAZuAH8JspCgkYonnKw\"", - "cache-control" : "no-store, no-cache, must-revalidate, proxy-revalidate", - "surrogate-control" : "no-store", + "X-Amz-Cf-Pop" : "SEA900-P9", + "Date" : "Mon, 31 Aug 2026 17:35:11 GMT", + "Via" : "1.1 63560dd3f856b0f7bfe68a0cad46924a.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "no-store, no-cache, must-revalidate, proxy-revalidate", + "ETag" : "W/\"169-XiwCuJsCqAZuAH8JspCgkYonnKw\"", + "Access-Control-Allow-Credentials" : "true", + "X-Amz-Cf-Id" : "4cXl8khiduuQCT4foffRX4puAVa2yAVikBtw0mZqJ_qGcgAlznKeYw==", + "Vary" : "Origin, Accept-Encoding", + "Expires" : "0", + "Surrogate-Control" : "no-store", "Content-Type" : "application/json; charset=utf-8" } }, diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project-a09972bc8d98.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project-a09972bc8d98.json index 25dfafa2..04dc65b8 100644 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project-a09972bc8d98.json +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project-a09972bc8d98.json @@ -17,22 +17,18 @@ "bodyFileName" : "v1_project-a09972bc8d98.json", "headers" : { "X-Cache" : "Miss from cloudfront", - "expires" : "0", - "x-amz-apigw-id" : "AJULDHDboAMEYKw=", - "vary" : "Origin, Accept-Encoding", - "x-amzn-Remapped-content-length" : "361", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "X-Amzn-Trace-Id" : "Root=1-6a4d33df-123a94d07ae590be1dab7c68;Parent=0b3bc3715e732f38;Sampled=0;Lineage=1:fc3b4ff1:0", - "Date" : "Tue, 07 Jul 2026 17:14:07 GMT", - "Via" : "1.1 82fa7f20ab5a12301da8e01f9493e222.cloudfront.net (CloudFront), 1.1 b3a8bdee20374465a3f2aa64f19ec30e.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a4d33df000000005136cd7a743dd1a4", - "x-amzn-RequestId" : "c7f24a4e-125e-4265-9092-c7400d962966", - "X-Amz-Cf-Id" : "2Mv_OYlBICgNfeKAOxZuGwNXUxaMkY0ciZ03OiYT_KpdJBDSvoQ_Gw==", - "etag" : "W/\"169-XiwCuJsCqAZuAH8JspCgkYonnKw\"", - "cache-control" : "no-store, no-cache, must-revalidate, proxy-revalidate", - "surrogate-control" : "no-store", + "X-Amz-Cf-Pop" : "SEA900-P9", + "Date" : "Mon, 31 Aug 2026 17:35:45 GMT", + "Via" : "1.1 04efc78121acf5d40974e6a71bebce20.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "no-store, no-cache, must-revalidate, proxy-revalidate", + "ETag" : "W/\"169-XiwCuJsCqAZuAH8JspCgkYonnKw\"", + "Access-Control-Allow-Credentials" : "true", + "X-Amz-Cf-Id" : "PIcrR52VfJrMhZECHBybFsPF439Th_bumIvw_rMAU3xW6dyTdJ6B_g==", + "Vary" : "Origin, Accept-Encoding", + "Expires" : "0", + "Surrogate-Control" : "no-store", "Content-Type" : "application/json; charset=utf-8" } }, diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project-a27a6d6e5304.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project-a27a6d6e5304.json index bd3cb19a..e073270c 100644 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project-a27a6d6e5304.json +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project-a27a6d6e5304.json @@ -17,22 +17,18 @@ "bodyFileName" : "v1_project-a27a6d6e5304.json", "headers" : { "X-Cache" : "Miss from cloudfront", - "expires" : "0", - "x-amz-apigw-id" : "AJUJJG3BoAMEttA=", - "vary" : "Origin, Accept-Encoding", - "x-amzn-Remapped-content-length" : "361", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "X-Amzn-Trace-Id" : "Root=1-6a4d33d3-006fd0ba26c0e1791bf0711f;Parent=64847237be96c9e3;Sampled=0;Lineage=1:fc3b4ff1:0", - "Date" : "Tue, 07 Jul 2026 17:13:55 GMT", - "Via" : "1.1 73b0c4a85645a8031ba157e0b3e28ffc.cloudfront.net (CloudFront), 1.1 28edb03169fa053a4a523d90d15ff6ae.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a4d33d3000000001e7107f443e4b614", - "x-amzn-RequestId" : "9b60cc19-dcf0-4148-b074-05e9e21d79fa", - "X-Amz-Cf-Id" : "1sUXDrYB-oJ9btlg5gmZBFaHAcosm4bDtv7bYhlJy9dULrsvUAvvnw==", - "etag" : "W/\"169-XiwCuJsCqAZuAH8JspCgkYonnKw\"", - "cache-control" : "no-store, no-cache, must-revalidate, proxy-revalidate", - "surrogate-control" : "no-store", + "X-Amz-Cf-Pop" : "SEA900-P9", + "Date" : "Mon, 31 Aug 2026 17:35:25 GMT", + "Via" : "1.1 55a62c25b77c24cde4014f567fd1c550.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "no-store, no-cache, must-revalidate, proxy-revalidate", + "ETag" : "W/\"169-XiwCuJsCqAZuAH8JspCgkYonnKw\"", + "Access-Control-Allow-Credentials" : "true", + "X-Amz-Cf-Id" : "dlMhBcLVDbp8H7Mvvxd4r_A0Nhi1GjjnCzhKrlYI-gLiT28-8GAbBA==", + "Vary" : "Origin, Accept-Encoding", + "Expires" : "0", + "Surrogate-Control" : "no-store", "Content-Type" : "application/json; charset=utf-8" } }, diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project-a351a0ac8d9d.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project-a351a0ac8d9d.json index a6ba422b..da145972 100644 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project-a351a0ac8d9d.json +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project-a351a0ac8d9d.json @@ -17,22 +17,18 @@ "bodyFileName" : "v1_project-a351a0ac8d9d.json", "headers" : { "X-Cache" : "Miss from cloudfront", - "expires" : "0", - "x-amz-apigw-id" : "AJUK1HfNoAMEXBw=", - "vary" : "Origin, Accept-Encoding", - "x-amzn-Remapped-content-length" : "361", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "X-Amzn-Trace-Id" : "Root=1-6a4d33de-1ab6638228dcacb72d534dee;Parent=6e0ec28f2131451b;Sampled=0;Lineage=1:fc3b4ff1:0", - "Date" : "Tue, 07 Jul 2026 17:14:06 GMT", - "Via" : "1.1 82fa7f20ab5a12301da8e01f9493e222.cloudfront.net (CloudFront), 1.1 bef90eae512e70457d6a8a77b097a124.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a4d33de000000001539f300457f8b47", - "x-amzn-RequestId" : "76ef9356-2b5f-4e7d-ba39-f218bb92275c", - "X-Amz-Cf-Id" : "LCmQV80GV1QVcgK-hdRtB2xr92t1IDC0zG-mlLxADJ1dLtp76zACag==", - "etag" : "W/\"169-XiwCuJsCqAZuAH8JspCgkYonnKw\"", - "cache-control" : "no-store, no-cache, must-revalidate, proxy-revalidate", - "surrogate-control" : "no-store", + "X-Amz-Cf-Pop" : "SEA900-P9", + "Date" : "Mon, 31 Aug 2026 17:35:42 GMT", + "Via" : "1.1 c72e48ed2f0a994f695ca2fb4bc9247e.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "no-store, no-cache, must-revalidate, proxy-revalidate", + "ETag" : "W/\"169-XiwCuJsCqAZuAH8JspCgkYonnKw\"", + "Access-Control-Allow-Credentials" : "true", + "X-Amz-Cf-Id" : "b-aYSgL5cbQN4DgXoHmmx9MXrYpXjcNU0OUGfV2TVHYR8Ope593EPg==", + "Vary" : "Origin, Accept-Encoding", + "Expires" : "0", + "Surrogate-Control" : "no-store", "Content-Type" : "application/json; charset=utf-8" } }, diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project-ba704e6698ad.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project-ba704e6698ad.json index 16673d31..beb11b1a 100644 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project-ba704e6698ad.json +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project-ba704e6698ad.json @@ -17,22 +17,18 @@ "bodyFileName" : "v1_project-ba704e6698ad.json", "headers" : { "X-Cache" : "Miss from cloudfront", - "expires" : "0", - "x-amz-apigw-id" : "AJUKVHusIAMES4A=", - "vary" : "Origin, Accept-Encoding", - "x-amzn-Remapped-content-length" : "361", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "X-Amzn-Trace-Id" : "Root=1-6a4d33db-65055efd5e467302652bcb7e;Parent=630879723f8c55d4;Sampled=0;Lineage=1:fc3b4ff1:0", - "Date" : "Tue, 07 Jul 2026 17:14:03 GMT", - "Via" : "1.1 82fa7f20ab5a12301da8e01f9493e222.cloudfront.net (CloudFront), 1.1 4c8322ac27bebc2a7e26f72c7b6ec2ee.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a4d33db000000005bf256a63a69a49f", - "x-amzn-RequestId" : "84b65681-aa58-464e-896c-2fb7d37e8332", - "X-Amz-Cf-Id" : "4zhUBEVzXzeG41FI7bKpNYhCJ5yDJmdxazDGIvfHMnryLNlnJ5HYsQ==", - "etag" : "W/\"169-XiwCuJsCqAZuAH8JspCgkYonnKw\"", - "cache-control" : "no-store, no-cache, must-revalidate, proxy-revalidate", - "surrogate-control" : "no-store", + "X-Amz-Cf-Pop" : "SEA900-P9", + "Date" : "Mon, 31 Aug 2026 17:35:36 GMT", + "Via" : "1.1 a6be96637dfcb93ee417719bb21d57d0.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "no-store, no-cache, must-revalidate, proxy-revalidate", + "ETag" : "W/\"169-XiwCuJsCqAZuAH8JspCgkYonnKw\"", + "Access-Control-Allow-Credentials" : "true", + "X-Amz-Cf-Id" : "g-XpPA6PKWBDFy5f9G7kqwOb5pdlNrvChQ_WtyW-k4yG6WZX1Ey6sQ==", + "Vary" : "Origin, Accept-Encoding", + "Expires" : "0", + "Surrogate-Control" : "no-store", "Content-Type" : "application/json; charset=utf-8" } }, diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project-c082403088e5.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project-c082403088e5.json index 5022964f..0c63a03a 100644 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project-c082403088e5.json +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project-c082403088e5.json @@ -17,22 +17,18 @@ "bodyFileName" : "v1_project-c082403088e5.json", "headers" : { "X-Cache" : "Miss from cloudfront", - "expires" : "0", - "x-amz-apigw-id" : "AJUIKHfloAMEkwQ=", - "vary" : "Origin, Accept-Encoding", - "x-amzn-Remapped-content-length" : "361", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "X-Amzn-Trace-Id" : "Root=1-6a4d33cd-068e4b42758396f322fbbe8c;Parent=101e81b1510dcf79;Sampled=0;Lineage=1:fc3b4ff1:0", - "Date" : "Tue, 07 Jul 2026 17:13:49 GMT", - "Via" : "1.1 82fa7f20ab5a12301da8e01f9493e222.cloudfront.net (CloudFront), 1.1 88f286e23c15fc2f62a741db8207a67a.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a4d33cd0000000026ea023c0e6c9fb0", - "x-amzn-RequestId" : "106a3c98-0604-4e8b-bcee-d820d70d1e0c", - "X-Amz-Cf-Id" : "M85XjVb6zn1zw4T6wyeVNu3GVzAPojToQcxvIVFITAtFgIf4n1qGXQ==", - "etag" : "W/\"169-XiwCuJsCqAZuAH8JspCgkYonnKw\"", - "cache-control" : "no-store, no-cache, must-revalidate, proxy-revalidate", - "surrogate-control" : "no-store", + "X-Amz-Cf-Pop" : "SEA900-P9", + "Date" : "Mon, 31 Aug 2026 17:35:14 GMT", + "Via" : "1.1 d49bde7225e80ca0dc457ff2b8b4343e.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "no-store, no-cache, must-revalidate, proxy-revalidate", + "ETag" : "W/\"169-XiwCuJsCqAZuAH8JspCgkYonnKw\"", + "Access-Control-Allow-Credentials" : "true", + "X-Amz-Cf-Id" : "d2q9jUb4uv_QrekaDp2vugOZ9UItPPFU4KH4i924kQdDBJBCpXIzTA==", + "Vary" : "Origin, Accept-Encoding", + "Expires" : "0", + "Surrogate-Control" : "no-store", "Content-Type" : "application/json; charset=utf-8" } }, diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project-c6ef046ce872.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project-c6ef046ce872.json index d76b6c97..2b3790a3 100644 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project-c6ef046ce872.json +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project-c6ef046ce872.json @@ -17,22 +17,18 @@ "bodyFileName" : "v1_project-c6ef046ce872.json", "headers" : { "X-Cache" : "Miss from cloudfront", - "expires" : "0", - "x-amz-apigw-id" : "AJUP0EqcIAMEHlw=", - "vary" : "Origin, Accept-Encoding", - "x-amzn-Remapped-content-length" : "361", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "X-Amzn-Trace-Id" : "Root=1-6a4d33fe-77323dd9212672b96cafc93b;Parent=4a2fdb857d56c63b;Sampled=0;Lineage=1:fc3b4ff1:0", - "Date" : "Tue, 07 Jul 2026 17:14:38 GMT", - "Via" : "1.1 82fa7f20ab5a12301da8e01f9493e222.cloudfront.net (CloudFront), 1.1 55a62c25b77c24cde4014f567fd1c550.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a4d33fe000000000e20da38139eddad", - "x-amzn-RequestId" : "2964cfe9-1927-41bf-9f7a-ff4c8684fca8", - "X-Amz-Cf-Id" : "D_8s2eh50T_a_L2Quv0iGRpEYQQt8zZtvUQ0jrJHA_wp99FNq2vjjg==", - "etag" : "W/\"169-XiwCuJsCqAZuAH8JspCgkYonnKw\"", - "cache-control" : "no-store, no-cache, must-revalidate, proxy-revalidate", - "surrogate-control" : "no-store", + "X-Amz-Cf-Pop" : "SEA900-P9", + "Date" : "Mon, 31 Aug 2026 17:36:18 GMT", + "Via" : "1.1 88f286e23c15fc2f62a741db8207a67a.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "no-store, no-cache, must-revalidate, proxy-revalidate", + "ETag" : "W/\"169-XiwCuJsCqAZuAH8JspCgkYonnKw\"", + "Access-Control-Allow-Credentials" : "true", + "X-Amz-Cf-Id" : "3aaJSPLOIvL-0TZlmvO1ZVK44WurP228SxbQL5AXMvXan0oVtQB8BQ==", + "Vary" : "Origin, Accept-Encoding", + "Expires" : "0", + "Surrogate-Control" : "no-store", "Content-Type" : "application/json; charset=utf-8" } }, diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project-cb708eff5cc0.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project-cb708eff5cc0.json index 695ba069..768a8b35 100644 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project-cb708eff5cc0.json +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project-cb708eff5cc0.json @@ -17,22 +17,18 @@ "bodyFileName" : "v1_project-cb708eff5cc0.json", "headers" : { "X-Cache" : "Miss from cloudfront", - "expires" : "0", - "x-amz-apigw-id" : "AJULuHt8IAMEjVw=", - "vary" : "Origin, Accept-Encoding", - "x-amzn-Remapped-content-length" : "361", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "X-Amzn-Trace-Id" : "Root=1-6a4d33e4-63564945134f154a26d8392a;Parent=5c6b8cd5ce3f0aa5;Sampled=0;Lineage=1:fc3b4ff1:0", - "Date" : "Tue, 07 Jul 2026 17:14:12 GMT", - "Via" : "1.1 d9d466ed70d93f34739969f91577ec74.cloudfront.net (CloudFront), 1.1 7aad92255c39d277bce3f20afa1b059c.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a4d33e4000000000a0993a3a1515736", - "x-amzn-RequestId" : "34a7b71a-13bd-4511-9927-ea7ecac01fff", - "X-Amz-Cf-Id" : "6YHS2g5SswwjWBaKfLelNekqjlOa6c3jIH0f-swxu-RJamOp0ICa-Q==", - "etag" : "W/\"169-XiwCuJsCqAZuAH8JspCgkYonnKw\"", - "cache-control" : "no-store, no-cache, must-revalidate, proxy-revalidate", - "surrogate-control" : "no-store", + "X-Amz-Cf-Pop" : "SEA900-P9", + "Date" : "Mon, 31 Aug 2026 17:35:53 GMT", + "Via" : "1.1 4c8322ac27bebc2a7e26f72c7b6ec2ee.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "no-store, no-cache, must-revalidate, proxy-revalidate", + "ETag" : "W/\"169-XiwCuJsCqAZuAH8JspCgkYonnKw\"", + "Access-Control-Allow-Credentials" : "true", + "X-Amz-Cf-Id" : "bzLSIKhhxaDbJpg1iKDHxrWXB-svlaHNfuOtDQV3uAkrCGVp_Ed9mg==", + "Vary" : "Origin, Accept-Encoding", + "Expires" : "0", + "Surrogate-Control" : "no-store", "Content-Type" : "application/json; charset=utf-8" } }, diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project-ccb3b2677b4d.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project-ccb3b2677b4d.json index 946808a6..f4972f9a 100644 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project-ccb3b2677b4d.json +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project-ccb3b2677b4d.json @@ -17,22 +17,18 @@ "bodyFileName" : "v1_project-ccb3b2677b4d.json", "headers" : { "X-Cache" : "Miss from cloudfront", - "expires" : "0", - "x-amz-apigw-id" : "AJUJiE9QoAMEoDA=", - "vary" : "Origin, Accept-Encoding", - "x-amzn-Remapped-content-length" : "361", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "X-Amzn-Trace-Id" : "Root=1-6a4d33d6-09ef302b5e5045dc04e1f3e7;Parent=06aeb4141087db96;Sampled=0;Lineage=1:fc3b4ff1:0", - "Date" : "Tue, 07 Jul 2026 17:13:58 GMT", - "Via" : "1.1 cb2aa1abf9fb243a4dc4cb073a92424e.cloudfront.net (CloudFront), 1.1 7aad92255c39d277bce3f20afa1b059c.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a4d33d6000000005b3dc60375cab521", - "x-amzn-RequestId" : "b495978d-8b8c-497b-8ab9-93561a540d41", - "X-Amz-Cf-Id" : "d-4odles0CquSFjObOa3eECxrYoQoQYrLioiRdnw4mH65z1o_mdV2w==", - "etag" : "W/\"169-XiwCuJsCqAZuAH8JspCgkYonnKw\"", - "cache-control" : "no-store, no-cache, must-revalidate, proxy-revalidate", - "surrogate-control" : "no-store", + "X-Amz-Cf-Pop" : "SEA900-P9", + "Date" : "Mon, 31 Aug 2026 17:35:29 GMT", + "Via" : "1.1 0ddbf3138c96d4b7c9f8047edb515414.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "no-store, no-cache, must-revalidate, proxy-revalidate", + "ETag" : "W/\"169-XiwCuJsCqAZuAH8JspCgkYonnKw\"", + "Access-Control-Allow-Credentials" : "true", + "X-Amz-Cf-Id" : "eDw4LBb9ZiDdljqf-X3kgzXkSRPIlltuqWCjY1TEeZBL-iiSatCR-w==", + "Vary" : "Origin, Accept-Encoding", + "Expires" : "0", + "Surrogate-Control" : "no-store", "Content-Type" : "application/json; charset=utf-8" } }, diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project-d304e3ee199f.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project-d304e3ee199f.json index 4654279a..b3954318 100644 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project-d304e3ee199f.json +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project-d304e3ee199f.json @@ -17,22 +17,18 @@ "bodyFileName" : "v1_project-d304e3ee199f.json", "headers" : { "X-Cache" : "Miss from cloudfront", - "expires" : "0", - "x-amz-apigw-id" : "AJUIwHHZIAMEDEw=", - "vary" : "Origin, Accept-Encoding", - "x-amzn-Remapped-content-length" : "361", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "X-Amzn-Trace-Id" : "Root=1-6a4d33d1-4f58e032285d0f320893359b;Parent=2986bdde102f0d35;Sampled=0;Lineage=1:fc3b4ff1:0", - "Date" : "Tue, 07 Jul 2026 17:13:53 GMT", - "Via" : "1.1 82fa7f20ab5a12301da8e01f9493e222.cloudfront.net (CloudFront), 1.1 28edb03169fa053a4a523d90d15ff6ae.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a4d33d10000000068a5b11467bf98f8", - "x-amzn-RequestId" : "f978e71c-c334-4c3b-9dc7-fbe148c24bc6", - "X-Amz-Cf-Id" : "iXdq4eZT1N8uYUjzAbkUf6QvsHB6sBIBucxb4VwiscwLQPc5PIak0Q==", - "etag" : "W/\"169-XiwCuJsCqAZuAH8JspCgkYonnKw\"", - "cache-control" : "no-store, no-cache, must-revalidate, proxy-revalidate", - "surrogate-control" : "no-store", + "X-Amz-Cf-Pop" : "SEA900-P9", + "Date" : "Mon, 31 Aug 2026 17:35:20 GMT", + "Via" : "1.1 b2b215a89cc2734b2940e2eb59ea4bd0.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "no-store, no-cache, must-revalidate, proxy-revalidate", + "ETag" : "W/\"169-XiwCuJsCqAZuAH8JspCgkYonnKw\"", + "Access-Control-Allow-Credentials" : "true", + "X-Amz-Cf-Id" : "xsuswa0uMxugMpErOHX8tm77RN5ULTkvoGW1m7H2pq7xh0FBgPnOvA==", + "Vary" : "Origin, Accept-Encoding", + "Expires" : "0", + "Surrogate-Control" : "no-store", "Content-Type" : "application/json; charset=utf-8" } }, diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project-e7ccbf8e190c.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project-e7ccbf8e190c.json index 4a3fbbbc..0a205e72 100644 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project-e7ccbf8e190c.json +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project-e7ccbf8e190c.json @@ -17,22 +17,18 @@ "bodyFileName" : "v1_project-e7ccbf8e190c.json", "headers" : { "X-Cache" : "Miss from cloudfront", - "expires" : "0", - "x-amz-apigw-id" : "AJUC9G-KIAMEKtg=", - "vary" : "Origin, Accept-Encoding", - "x-amzn-Remapped-content-length" : "361", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "X-Amzn-Trace-Id" : "Root=1-6a4d33ac-444771451b29072445dde8d2;Parent=3edde096a962513a;Sampled=0;Lineage=1:fc3b4ff1:0", - "Date" : "Tue, 07 Jul 2026 17:13:16 GMT", - "Via" : "1.1 82fa7f20ab5a12301da8e01f9493e222.cloudfront.net (CloudFront), 1.1 b2b215a89cc2734b2940e2eb59ea4bd0.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a4d33ac0000000044a67887bf32b21e", - "x-amzn-RequestId" : "d473f9f5-b640-4a9b-95a0-92fe901d4cb3", - "X-Amz-Cf-Id" : "YNT0aAyVW0Z0GhczTi7EDSPa6ckmRq8kQIFjSoj55Vt8VmJ0PCWNlA==", - "etag" : "W/\"169-XiwCuJsCqAZuAH8JspCgkYonnKw\"", - "cache-control" : "no-store, no-cache, must-revalidate, proxy-revalidate", - "surrogate-control" : "no-store", + "X-Amz-Cf-Pop" : "SEA900-P9", + "Date" : "Mon, 31 Aug 2026 17:34:17 GMT", + "Via" : "1.1 b3a8bdee20374465a3f2aa64f19ec30e.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "no-store, no-cache, must-revalidate, proxy-revalidate", + "ETag" : "W/\"169-XiwCuJsCqAZuAH8JspCgkYonnKw\"", + "Access-Control-Allow-Credentials" : "true", + "X-Amz-Cf-Id" : "2AHmi6eWyaPNyo4UuPwQjkpg89UcKWCL9HejdYbTgXQzVeVM0vWdVA==", + "Vary" : "Origin, Accept-Encoding", + "Expires" : "0", + "Surrogate-Control" : "no-store", "Content-Type" : "application/json; charset=utf-8" } }, @@ -41,5 +37,5 @@ "scenarioName" : "scenario-4-v1-project", "requiredScenarioState" : "scenario-4-v1-project-2", "newScenarioState" : "scenario-4-v1-project-3", - "insertionIndex" : 131 + "insertionIndex" : 133 } \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project_f1e858a4-58e3-408f-983f-016760d7fa25-26c0cf72f342.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project_f1e858a4-58e3-408f-983f-016760d7fa25-26c0cf72f342.json new file mode 100644 index 00000000..7927c199 --- /dev/null +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project_f1e858a4-58e3-408f-983f-016760d7fa25-26c0cf72f342.json @@ -0,0 +1,33 @@ +{ + "id" : "d93f9c69-3121-361b-b806-f956f1aedbff", + "name" : "v1_project_f1e858a4-58e3-408f-983f-016760d7fa25", + "request" : { + "url" : "/v1/project/f1e858a4-58e3-408f-983f-016760d7fa25", + "method" : "GET" + }, + "response" : { + "status" : 200, + "bodyFileName" : "v1_project_f1e858a4-58e3-408f-983f-016760d7fa25-26c0cf72f342.json", + "headers" : { + "X-Cache" : "Miss from cloudfront", + "X-Amz-Cf-Pop" : "SEA900-P9", + "Date" : "Mon, 31 Aug 2026 17:36:14 GMT", + "Via" : "1.1 e8b22a8fa8511f8f972b4965a9af80b4.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "no-store, no-cache, must-revalidate, proxy-revalidate", + "ETag" : "W/\"15b-B/X+Uhf+FLkzqf65d24KDLzFxgc\"", + "Access-Control-Allow-Credentials" : "true", + "X-Amz-Cf-Id" : "Pa0PMp83rZpuzXTylGXfSBcnyWlNzYAGVuOgwBXI-RZU-lz2_EEGAA==", + "Vary" : "Origin, Accept-Encoding", + "Expires" : "0", + "Surrogate-Control" : "no-store", + "Content-Type" : "application/json; charset=utf-8" + } + }, + "uuid" : "d93f9c69-3121-361b-b806-f956f1aedbff", + "persistent" : true, + "scenarioName" : "scenario-7-v1-project-f1e858a4-58e3-408f-983f-016760d7fa25", + "requiredScenarioState" : "scenario-7-v1-project-f1e858a4-58e3-408f-983f-016760d7fa25-14", + "insertionIndex" : 23 +} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project_f1e858a4-58e3-408f-983f-016760d7fa25-2ef7b6e4a650.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project_f1e858a4-58e3-408f-983f-016760d7fa25-2ef7b6e4a650.json index bd7d388d..50eae3d6 100644 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project_f1e858a4-58e3-408f-983f-016760d7fa25-2ef7b6e4a650.json +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project_f1e858a4-58e3-408f-983f-016760d7fa25-2ef7b6e4a650.json @@ -10,22 +10,18 @@ "bodyFileName" : "v1_project_f1e858a4-58e3-408f-983f-016760d7fa25-2ef7b6e4a650.json", "headers" : { "X-Cache" : "Miss from cloudfront", - "expires" : "0", - "x-amz-apigw-id" : "AJUMxGKwoAMEkwQ=", - "vary" : "Origin, Accept-Encoding", - "x-amzn-Remapped-content-length" : "347", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "X-Amzn-Trace-Id" : "Root=1-6a4d33ea-43a2aa8c2b1a2bf85c2cad05;Parent=04cd866b58865472;Sampled=0;Lineage=1:fc3b4ff1:0", - "Date" : "Tue, 07 Jul 2026 17:14:18 GMT", - "Via" : "1.1 82fa7f20ab5a12301da8e01f9493e222.cloudfront.net (CloudFront), 1.1 2772a76c066120d1905e8bfcd08c4d1c.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a4d33ea00000000692b53f8b641b26c", - "x-amzn-RequestId" : "5969ffe2-550a-4056-95f5-3620b754ba53", - "X-Amz-Cf-Id" : "kjeJ8cklsokAx1L-7JJqnKmJLgn-jVojFqTFq_CJWuYhuPTiZwoohA==", - "etag" : "W/\"15b-B/X+Uhf+FLkzqf65d24KDLzFxgc\"", - "cache-control" : "no-store, no-cache, must-revalidate, proxy-revalidate", - "surrogate-control" : "no-store", + "X-Amz-Cf-Pop" : "SEA900-P9", + "Date" : "Mon, 31 Aug 2026 17:35:59 GMT", + "Via" : "1.1 2501b465adde8e5aedc3f38e3dfcdc22.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "no-store, no-cache, must-revalidate, proxy-revalidate", + "ETag" : "W/\"15b-B/X+Uhf+FLkzqf65d24KDLzFxgc\"", + "Access-Control-Allow-Credentials" : "true", + "X-Amz-Cf-Id" : "CmCGkVDacnJN1ARWjoVEsn5DIP_2IIEF7ct1omFrTImkjZEirlSOrA==", + "Vary" : "Origin, Accept-Encoding", + "Expires" : "0", + "Surrogate-Control" : "no-store", "Content-Type" : "application/json; charset=utf-8" } }, @@ -34,5 +30,5 @@ "scenarioName" : "scenario-7-v1-project-f1e858a4-58e3-408f-983f-016760d7fa25", "requiredScenarioState" : "scenario-7-v1-project-f1e858a4-58e3-408f-983f-016760d7fa25-11", "newScenarioState" : "scenario-7-v1-project-f1e858a4-58e3-408f-983f-016760d7fa25-12", - "insertionIndex" : 32 + "insertionIndex" : 36 } \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project_f1e858a4-58e3-408f-983f-016760d7fa25-3015cd6e9a26.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project_f1e858a4-58e3-408f-983f-016760d7fa25-3015cd6e9a26.json index dd7f0085..8c2edf8d 100644 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project_f1e858a4-58e3-408f-983f-016760d7fa25-3015cd6e9a26.json +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project_f1e858a4-58e3-408f-983f-016760d7fa25-3015cd6e9a26.json @@ -10,22 +10,18 @@ "bodyFileName" : "v1_project_f1e858a4-58e3-408f-983f-016760d7fa25-3015cd6e9a26.json", "headers" : { "X-Cache" : "Miss from cloudfront", - "expires" : "0", - "x-amz-apigw-id" : "AJUPiH7boAMEI1g=", - "vary" : "Origin, Accept-Encoding", - "x-amzn-Remapped-content-length" : "347", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "X-Amzn-Trace-Id" : "Root=1-6a4d33fc-596a8e5b1d461dbc680b9d2d;Parent=4632df01611e6e2a;Sampled=0;Lineage=1:fc3b4ff1:0", - "Date" : "Tue, 07 Jul 2026 17:14:36 GMT", - "Via" : "1.1 82fa7f20ab5a12301da8e01f9493e222.cloudfront.net (CloudFront), 1.1 38842c146ccd8f527d2de72671759d96.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a4d33fc00000000390c4af1c554b8fc", - "x-amzn-RequestId" : "7e918102-add7-416d-98dc-81b8a7c6c41b", - "X-Amz-Cf-Id" : "pPt0y7MAOCKJmYu6AT16VxdIU18PVp5YujY17VqepDsoJWt6z7iFqQ==", - "etag" : "W/\"15b-B/X+Uhf+FLkzqf65d24KDLzFxgc\"", - "cache-control" : "no-store, no-cache, must-revalidate, proxy-revalidate", - "surrogate-control" : "no-store", + "X-Amz-Cf-Pop" : "SEA900-P9", + "Date" : "Mon, 31 Aug 2026 17:36:09 GMT", + "Via" : "1.1 7aad92255c39d277bce3f20afa1b059c.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "no-store, no-cache, must-revalidate, proxy-revalidate", + "ETag" : "W/\"15b-B/X+Uhf+FLkzqf65d24KDLzFxgc\"", + "Access-Control-Allow-Credentials" : "true", + "X-Amz-Cf-Id" : "MUiKE05oxr_1Hbd-YTK2HmQyAnJX_76oQA1u5wI3DRKVumrpwdVDtQ==", + "Vary" : "Origin, Accept-Encoding", + "Expires" : "0", + "Surrogate-Control" : "no-store", "Content-Type" : "application/json; charset=utf-8" } }, @@ -33,5 +29,6 @@ "persistent" : true, "scenarioName" : "scenario-7-v1-project-f1e858a4-58e3-408f-983f-016760d7fa25", "requiredScenarioState" : "scenario-7-v1-project-f1e858a4-58e3-408f-983f-016760d7fa25-13", - "insertionIndex" : 23 + "newScenarioState" : "scenario-7-v1-project-f1e858a4-58e3-408f-983f-016760d7fa25-14", + "insertionIndex" : 27 } \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project_f1e858a4-58e3-408f-983f-016760d7fa25-5136083024c7.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project_f1e858a4-58e3-408f-983f-016760d7fa25-5136083024c7.json index 7b4ddb9b..44c225d2 100644 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project_f1e858a4-58e3-408f-983f-016760d7fa25-5136083024c7.json +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project_f1e858a4-58e3-408f-983f-016760d7fa25-5136083024c7.json @@ -10,22 +10,18 @@ "bodyFileName" : "v1_project_f1e858a4-58e3-408f-983f-016760d7fa25-5136083024c7.json", "headers" : { "X-Cache" : "Miss from cloudfront", - "expires" : "0", - "x-amz-apigw-id" : "AJUHjEDOIAMEHlw=", - "vary" : "Origin, Accept-Encoding", - "x-amzn-Remapped-content-length" : "347", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "X-Amzn-Trace-Id" : "Root=1-6a4d33c9-3fd0cea15549701138de509e;Parent=346fda3f1c270cd8;Sampled=0;Lineage=1:fc3b4ff1:0", - "Date" : "Tue, 07 Jul 2026 17:13:45 GMT", - "Via" : "1.1 d9d466ed70d93f34739969f91577ec74.cloudfront.net (CloudFront), 1.1 63560dd3f856b0f7bfe68a0cad46924a.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a4d33c90000000050de10c30a381b22", - "x-amzn-RequestId" : "ed3c90e7-f9e0-4a7c-a769-f3c3a0aa95d8", - "X-Amz-Cf-Id" : "oIJ4LZXzXK2oLkRsSzO8DP378HywCmZHuZWIOxMaKmF9lJCt28JIcw==", - "etag" : "W/\"15b-B/X+Uhf+FLkzqf65d24KDLzFxgc\"", - "cache-control" : "no-store, no-cache, must-revalidate, proxy-revalidate", - "surrogate-control" : "no-store", + "X-Amz-Cf-Pop" : "SEA900-P9", + "Date" : "Mon, 31 Aug 2026 17:35:03 GMT", + "Via" : "1.1 a3134c0c893f03d1e9a9c657d09af7cc.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "no-store, no-cache, must-revalidate, proxy-revalidate", + "ETag" : "W/\"15b-B/X+Uhf+FLkzqf65d24KDLzFxgc\"", + "Access-Control-Allow-Credentials" : "true", + "X-Amz-Cf-Id" : "h1t-dPl4Uh7wT9aEom0TBEP12d7vsLJqDlj_CTdD30l3ePMce_6JLQ==", + "Vary" : "Origin, Accept-Encoding", + "Expires" : "0", + "Surrogate-Control" : "no-store", "Content-Type" : "application/json; charset=utf-8" } }, @@ -34,5 +30,5 @@ "scenarioName" : "scenario-7-v1-project-f1e858a4-58e3-408f-983f-016760d7fa25", "requiredScenarioState" : "scenario-7-v1-project-f1e858a4-58e3-408f-983f-016760d7fa25-8", "newScenarioState" : "scenario-7-v1-project-f1e858a4-58e3-408f-983f-016760d7fa25-9", - "insertionIndex" : 109 + "insertionIndex" : 111 } \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project_f1e858a4-58e3-408f-983f-016760d7fa25-5d8c61c2cd35.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project_f1e858a4-58e3-408f-983f-016760d7fa25-5d8c61c2cd35.json index 61c7dd51..990de17e 100644 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project_f1e858a4-58e3-408f-983f-016760d7fa25-5d8c61c2cd35.json +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project_f1e858a4-58e3-408f-983f-016760d7fa25-5d8c61c2cd35.json @@ -10,22 +10,18 @@ "bodyFileName" : "v1_project_f1e858a4-58e3-408f-983f-016760d7fa25-5d8c61c2cd35.json", "headers" : { "X-Cache" : "Miss from cloudfront", - "expires" : "0", - "x-amz-apigw-id" : "AJUG-HGFoAMEj3Q=", - "vary" : "Origin, Accept-Encoding", - "x-amzn-Remapped-content-length" : "347", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "X-Amzn-Trace-Id" : "Root=1-6a4d33c5-2f24bdc44fcd6e2506ccf933;Parent=4625ff4f075604a0;Sampled=0;Lineage=1:fc3b4ff1:0", - "Date" : "Tue, 07 Jul 2026 17:13:41 GMT", - "Via" : "1.1 82fa7f20ab5a12301da8e01f9493e222.cloudfront.net (CloudFront), 1.1 a3134c0c893f03d1e9a9c657d09af7cc.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a4d33c5000000000b3302dd094c8796", - "x-amzn-RequestId" : "774eca4d-71b1-4071-9cb1-8b1bd60626d8", - "X-Amz-Cf-Id" : "C2PvcpkO3n2914Vx86bSHAdBSm_NwBjaN-4apIuSAPSdvAz6KaNetg==", - "etag" : "W/\"15b-B/X+Uhf+FLkzqf65d24KDLzFxgc\"", - "cache-control" : "no-store, no-cache, must-revalidate, proxy-revalidate", - "surrogate-control" : "no-store", + "X-Amz-Cf-Pop" : "SEA900-P9", + "Date" : "Mon, 31 Aug 2026 17:34:54 GMT", + "Via" : "1.1 b3a8bdee20374465a3f2aa64f19ec30e.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "no-store, no-cache, must-revalidate, proxy-revalidate", + "ETag" : "W/\"15b-B/X+Uhf+FLkzqf65d24KDLzFxgc\"", + "Access-Control-Allow-Credentials" : "true", + "X-Amz-Cf-Id" : "Mf1BXOSPT-LimhNgKl8XqE3imIQ-Obs0S_GUiXABzvACLaqApeIA5g==", + "Vary" : "Origin, Accept-Encoding", + "Expires" : "0", + "Surrogate-Control" : "no-store", "Content-Type" : "application/json; charset=utf-8" } }, @@ -34,5 +30,5 @@ "scenarioName" : "scenario-7-v1-project-f1e858a4-58e3-408f-983f-016760d7fa25", "requiredScenarioState" : "scenario-7-v1-project-f1e858a4-58e3-408f-983f-016760d7fa25-4", "newScenarioState" : "scenario-7-v1-project-f1e858a4-58e3-408f-983f-016760d7fa25-5", - "insertionIndex" : 118 + "insertionIndex" : 120 } \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project_f1e858a4-58e3-408f-983f-016760d7fa25-7427c7bb0f21.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project_f1e858a4-58e3-408f-983f-016760d7fa25-7427c7bb0f21.json index 51012a29..6b1543a3 100644 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project_f1e858a4-58e3-408f-983f-016760d7fa25-7427c7bb0f21.json +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project_f1e858a4-58e3-408f-983f-016760d7fa25-7427c7bb0f21.json @@ -10,22 +10,18 @@ "bodyFileName" : "v1_project_f1e858a4-58e3-408f-983f-016760d7fa25-7427c7bb0f21.json", "headers" : { "X-Cache" : "Miss from cloudfront", - "expires" : "0", - "x-amz-apigw-id" : "AJUHEEi3IAMEJ8w=", - "vary" : "Origin, Accept-Encoding", - "x-amzn-Remapped-content-length" : "347", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "X-Amzn-Trace-Id" : "Root=1-6a4d33c6-479640f957c26b7f0aaca30d;Parent=2b8844becc232e6c;Sampled=0;Lineage=1:fc3b4ff1:0", - "Date" : "Tue, 07 Jul 2026 17:13:42 GMT", - "Via" : "1.1 82fa7f20ab5a12301da8e01f9493e222.cloudfront.net (CloudFront), 1.1 38842c146ccd8f527d2de72671759d96.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a4d33c600000000264c83cd8e939646", - "x-amzn-RequestId" : "c4970812-b143-44c9-a4d6-3dd9612e4d78", - "X-Amz-Cf-Id" : "L3twF3_5WlKZEapIwCgyee1BJkgsLy9UdE-ZqG81XzLUaq-zo4RLKQ==", - "etag" : "W/\"15b-B/X+Uhf+FLkzqf65d24KDLzFxgc\"", - "cache-control" : "no-store, no-cache, must-revalidate, proxy-revalidate", - "surrogate-control" : "no-store", + "X-Amz-Cf-Pop" : "SEA900-P9", + "Date" : "Mon, 31 Aug 2026 17:34:56 GMT", + "Via" : "1.1 0758a857b0f9c36d8cfe897182f568ce.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "no-store, no-cache, must-revalidate, proxy-revalidate", + "ETag" : "W/\"15b-B/X+Uhf+FLkzqf65d24KDLzFxgc\"", + "Access-Control-Allow-Credentials" : "true", + "X-Amz-Cf-Id" : "VWVFwRyT6yNMFGulwUSU5Czj_KmEF1Y1B36qIMwsnSrvTE-rXE994Q==", + "Vary" : "Origin, Accept-Encoding", + "Expires" : "0", + "Surrogate-Control" : "no-store", "Content-Type" : "application/json; charset=utf-8" } }, @@ -34,5 +30,5 @@ "scenarioName" : "scenario-7-v1-project-f1e858a4-58e3-408f-983f-016760d7fa25", "requiredScenarioState" : "scenario-7-v1-project-f1e858a4-58e3-408f-983f-016760d7fa25-5", "newScenarioState" : "scenario-7-v1-project-f1e858a4-58e3-408f-983f-016760d7fa25-6", - "insertionIndex" : 116 + "insertionIndex" : 118 } \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project_f1e858a4-58e3-408f-983f-016760d7fa25-7709955213d8.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project_f1e858a4-58e3-408f-983f-016760d7fa25-7709955213d8.json index 8f730b10..4ff0cd43 100644 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project_f1e858a4-58e3-408f-983f-016760d7fa25-7709955213d8.json +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project_f1e858a4-58e3-408f-983f-016760d7fa25-7709955213d8.json @@ -10,22 +10,18 @@ "bodyFileName" : "v1_project_f1e858a4-58e3-408f-983f-016760d7fa25-7709955213d8.json", "headers" : { "X-Cache" : "Miss from cloudfront", - "expires" : "0", - "x-amz-apigw-id" : "AJUMPHTmoAMEBEA=", - "vary" : "Origin, Accept-Encoding", - "x-amzn-Remapped-content-length" : "347", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "X-Amzn-Trace-Id" : "Root=1-6a4d33e7-15e4abc46d3120454353bb8d;Parent=6886daa5d066f2dd;Sampled=0;Lineage=1:fc3b4ff1:0", - "Date" : "Tue, 07 Jul 2026 17:14:15 GMT", - "Via" : "1.1 82fa7f20ab5a12301da8e01f9493e222.cloudfront.net (CloudFront), 1.1 a6be96637dfcb93ee417719bb21d57d0.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a4d33e7000000004ad231b472c17fa2", - "x-amzn-RequestId" : "bcd7ab48-1e97-4176-9547-4aef97de2a7a", - "X-Amz-Cf-Id" : "qIEyms3BmSGfQGzrqRPsH2dDx7Irx23Ayq10LLFADHOf5hr8y-WTrQ==", - "etag" : "W/\"15b-B/X+Uhf+FLkzqf65d24KDLzFxgc\"", - "cache-control" : "no-store, no-cache, must-revalidate, proxy-revalidate", - "surrogate-control" : "no-store", + "X-Amz-Cf-Pop" : "SEA900-P9", + "Date" : "Mon, 31 Aug 2026 17:35:05 GMT", + "Via" : "1.1 a3134c0c893f03d1e9a9c657d09af7cc.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "no-store, no-cache, must-revalidate, proxy-revalidate", + "ETag" : "W/\"15b-B/X+Uhf+FLkzqf65d24KDLzFxgc\"", + "Access-Control-Allow-Credentials" : "true", + "X-Amz-Cf-Id" : "t6GZkJsNkKzULyITbm_WmTbXX7QCmvHCVRaWYGX5Uo4mOvMGv0u7yg==", + "Vary" : "Origin, Accept-Encoding", + "Expires" : "0", + "Surrogate-Control" : "no-store", "Content-Type" : "application/json; charset=utf-8" } }, @@ -34,5 +30,5 @@ "scenarioName" : "scenario-7-v1-project-f1e858a4-58e3-408f-983f-016760d7fa25", "requiredScenarioState" : "scenario-7-v1-project-f1e858a4-58e3-408f-983f-016760d7fa25-9", "newScenarioState" : "scenario-7-v1-project-f1e858a4-58e3-408f-983f-016760d7fa25-10", - "insertionIndex" : 40 + "insertionIndex" : 109 } \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project_f1e858a4-58e3-408f-983f-016760d7fa25-83dc5dc70c5c.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project_f1e858a4-58e3-408f-983f-016760d7fa25-83dc5dc70c5c.json index 55c9df4d..a3679558 100644 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project_f1e858a4-58e3-408f-983f-016760d7fa25-83dc5dc70c5c.json +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project_f1e858a4-58e3-408f-983f-016760d7fa25-83dc5dc70c5c.json @@ -10,22 +10,18 @@ "bodyFileName" : "v1_project_f1e858a4-58e3-408f-983f-016760d7fa25-83dc5dc70c5c.json", "headers" : { "X-Cache" : "Miss from cloudfront", - "expires" : "0", - "x-amz-apigw-id" : "AJUDuH2wIAMElvQ=", - "vary" : "Origin, Accept-Encoding", - "x-amzn-Remapped-content-length" : "347", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "X-Amzn-Trace-Id" : "Root=1-6a4d33b0-4e60c99976fff1de56fdb985;Parent=01da9dd6fbbab354;Sampled=0;Lineage=1:fc3b4ff1:0", - "Date" : "Tue, 07 Jul 2026 17:13:21 GMT", - "Via" : "1.1 82fa7f20ab5a12301da8e01f9493e222.cloudfront.net (CloudFront), 1.1 4c8322ac27bebc2a7e26f72c7b6ec2ee.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a4d33b000000000529ab8dd5edad4f7", - "x-amzn-RequestId" : "b98fe20f-70d1-4eba-958d-c51b96f5dc05", - "X-Amz-Cf-Id" : "Y0anUsnaHNQ98il9QpsEm-Rk8p50aeFT2NCa5z1BYNsFNJ54CID4OQ==", - "etag" : "W/\"15b-B/X+Uhf+FLkzqf65d24KDLzFxgc\"", - "cache-control" : "no-store, no-cache, must-revalidate, proxy-revalidate", - "surrogate-control" : "no-store", + "X-Amz-Cf-Pop" : "SEA900-P9", + "Date" : "Mon, 31 Aug 2026 17:34:25 GMT", + "Via" : "1.1 3062c1f9ccf5f043983bc180e222dd9c.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "no-store, no-cache, must-revalidate, proxy-revalidate", + "ETag" : "W/\"15b-B/X+Uhf+FLkzqf65d24KDLzFxgc\"", + "Access-Control-Allow-Credentials" : "true", + "X-Amz-Cf-Id" : "yV2dIF7-DWldpv42r4lpSRfA_VBPuA0tBSR4cyAEp5lVILWNLS_1cQ==", + "Vary" : "Origin, Accept-Encoding", + "Expires" : "0", + "Surrogate-Control" : "no-store", "Content-Type" : "application/json; charset=utf-8" } }, @@ -34,5 +30,5 @@ "scenarioName" : "scenario-7-v1-project-f1e858a4-58e3-408f-983f-016760d7fa25", "requiredScenarioState" : "Started", "newScenarioState" : "scenario-7-v1-project-f1e858a4-58e3-408f-983f-016760d7fa25-2", - "insertionIndex" : 126 + "insertionIndex" : 128 } \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project_f1e858a4-58e3-408f-983f-016760d7fa25-847f13a84225.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project_f1e858a4-58e3-408f-983f-016760d7fa25-847f13a84225.json index 21b84bb8..d5e8118a 100644 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project_f1e858a4-58e3-408f-983f-016760d7fa25-847f13a84225.json +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project_f1e858a4-58e3-408f-983f-016760d7fa25-847f13a84225.json @@ -10,22 +10,18 @@ "bodyFileName" : "v1_project_f1e858a4-58e3-408f-983f-016760d7fa25-847f13a84225.json", "headers" : { "X-Cache" : "Miss from cloudfront", - "expires" : "0", - "x-amz-apigw-id" : "AJUD_EHUIAMEZNg=", - "vary" : "Origin, Accept-Encoding", - "x-amzn-Remapped-content-length" : "347", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "X-Amzn-Trace-Id" : "Root=1-6a4d33b2-60accbd03368992043b81a68;Parent=606d79b4b04d1566;Sampled=0;Lineage=1:fc3b4ff1:0", - "Date" : "Tue, 07 Jul 2026 17:13:22 GMT", - "Via" : "1.1 82fa7f20ab5a12301da8e01f9493e222.cloudfront.net (CloudFront), 1.1 a3134c0c893f03d1e9a9c657d09af7cc.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a4d33b20000000056c8a355779ae7e5", - "x-amzn-RequestId" : "3da360a9-1208-4f21-ad85-52e28722c79b", - "X-Amz-Cf-Id" : "Xno8j6Uh_pSrV3Ue3DNpWIIJTUtsJbpGzstpmeE2bXuiTCH76E5eHg==", - "etag" : "W/\"15b-B/X+Uhf+FLkzqf65d24KDLzFxgc\"", - "cache-control" : "no-store, no-cache, must-revalidate, proxy-revalidate", - "surrogate-control" : "no-store", + "X-Amz-Cf-Pop" : "SEA900-P9", + "Date" : "Mon, 31 Aug 2026 17:34:29 GMT", + "Via" : "1.1 3062c1f9ccf5f043983bc180e222dd9c.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "no-store, no-cache, must-revalidate, proxy-revalidate", + "ETag" : "W/\"15b-B/X+Uhf+FLkzqf65d24KDLzFxgc\"", + "Access-Control-Allow-Credentials" : "true", + "X-Amz-Cf-Id" : "soX9UfC9M9SYgic9bTAsB7hFMNC_taFiEO6aak6fLGbnUIXyle4b7w==", + "Vary" : "Origin, Accept-Encoding", + "Expires" : "0", + "Surrogate-Control" : "no-store", "Content-Type" : "application/json; charset=utf-8" } }, @@ -34,5 +30,5 @@ "scenarioName" : "scenario-7-v1-project-f1e858a4-58e3-408f-983f-016760d7fa25", "requiredScenarioState" : "scenario-7-v1-project-f1e858a4-58e3-408f-983f-016760d7fa25-2", "newScenarioState" : "scenario-7-v1-project-f1e858a4-58e3-408f-983f-016760d7fa25-3", - "insertionIndex" : 123 + "insertionIndex" : 125 } \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project_f1e858a4-58e3-408f-983f-016760d7fa25-86058ad45be6.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project_f1e858a4-58e3-408f-983f-016760d7fa25-86058ad45be6.json index 121fe34c..bcad50c6 100644 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project_f1e858a4-58e3-408f-983f-016760d7fa25-86058ad45be6.json +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project_f1e858a4-58e3-408f-983f-016760d7fa25-86058ad45be6.json @@ -10,22 +10,18 @@ "bodyFileName" : "v1_project_f1e858a4-58e3-408f-983f-016760d7fa25-86058ad45be6.json", "headers" : { "X-Cache" : "Miss from cloudfront", - "expires" : "0", - "x-amz-apigw-id" : "AJUOjH9ToAMEhpw=", - "vary" : "Origin, Accept-Encoding", - "x-amzn-Remapped-content-length" : "347", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "X-Amzn-Trace-Id" : "Root=1-6a4d33f6-474cb5186bb834ad1073cd16;Parent=39d588d59724f7e4;Sampled=0;Lineage=1:fc3b4ff1:0", - "Date" : "Tue, 07 Jul 2026 17:14:30 GMT", - "Via" : "1.1 82fa7f20ab5a12301da8e01f9493e222.cloudfront.net (CloudFront), 1.1 0758a857b0f9c36d8cfe897182f568ce.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a4d33f6000000000a023ad806ad5510", - "x-amzn-RequestId" : "29ccf91a-1060-4bc0-b249-1e242334c17c", - "X-Amz-Cf-Id" : "kMNnX6b2coYqImjTmLHAW0xpI0DzxYeILNqSWB-82_qYvxNlTeJ7EQ==", - "etag" : "W/\"15b-B/X+Uhf+FLkzqf65d24KDLzFxgc\"", - "cache-control" : "no-store, no-cache, must-revalidate, proxy-revalidate", - "surrogate-control" : "no-store", + "X-Amz-Cf-Pop" : "SEA900-P9", + "Date" : "Mon, 31 Aug 2026 17:36:01 GMT", + "Via" : "1.1 9895fa1d75119fa16da9e015b58dbe5a.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "no-store, no-cache, must-revalidate, proxy-revalidate", + "ETag" : "W/\"15b-B/X+Uhf+FLkzqf65d24KDLzFxgc\"", + "Access-Control-Allow-Credentials" : "true", + "X-Amz-Cf-Id" : "BAum5Tah74eaR04Jt1TOAXksvtgZXlJmcslldigMjwP-BOdmBc6Zuw==", + "Vary" : "Origin, Accept-Encoding", + "Expires" : "0", + "Surrogate-Control" : "no-store", "Content-Type" : "application/json; charset=utf-8" } }, @@ -34,5 +30,5 @@ "scenarioName" : "scenario-7-v1-project-f1e858a4-58e3-408f-983f-016760d7fa25", "requiredScenarioState" : "scenario-7-v1-project-f1e858a4-58e3-408f-983f-016760d7fa25-12", "newScenarioState" : "scenario-7-v1-project-f1e858a4-58e3-408f-983f-016760d7fa25-13", - "insertionIndex" : 27 + "insertionIndex" : 32 } \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project_f1e858a4-58e3-408f-983f-016760d7fa25-b28e5a567732.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project_f1e858a4-58e3-408f-983f-016760d7fa25-b28e5a567732.json index b7297289..83df30a2 100644 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project_f1e858a4-58e3-408f-983f-016760d7fa25-b28e5a567732.json +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project_f1e858a4-58e3-408f-983f-016760d7fa25-b28e5a567732.json @@ -10,22 +10,18 @@ "bodyFileName" : "v1_project_f1e858a4-58e3-408f-983f-016760d7fa25-b28e5a567732.json", "headers" : { "X-Cache" : "Miss from cloudfront", - "expires" : "0", - "x-amz-apigw-id" : "AJUECG7aIAMEVBQ=", - "vary" : "Origin, Accept-Encoding", - "x-amzn-Remapped-content-length" : "347", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "X-Amzn-Trace-Id" : "Root=1-6a4d33b2-1ade9198672bef055bbae3f8;Parent=0111684fbb08c0d4;Sampled=0;Lineage=1:fc3b4ff1:0", - "Date" : "Tue, 07 Jul 2026 17:13:23 GMT", - "Via" : "1.1 d9d466ed70d93f34739969f91577ec74.cloudfront.net (CloudFront), 1.1 7f26c41dda80bd7d50ccec2be87c9c3e.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a4d33b2000000003393a44301516db1", - "x-amzn-RequestId" : "531bd4a7-9dec-4b61-8e55-03f126a57438", - "X-Amz-Cf-Id" : "79uzL6Ept83bvBo_OQTuEQTTE_DR2pqXHYVa4zlNBY4Vf8meyDDGmQ==", - "etag" : "W/\"15b-B/X+Uhf+FLkzqf65d24KDLzFxgc\"", - "cache-control" : "no-store, no-cache, must-revalidate, proxy-revalidate", - "surrogate-control" : "no-store", + "X-Amz-Cf-Pop" : "SEA900-P9", + "Date" : "Mon, 31 Aug 2026 17:34:30 GMT", + "Via" : "1.1 04efc78121acf5d40974e6a71bebce20.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "no-store, no-cache, must-revalidate, proxy-revalidate", + "ETag" : "W/\"15b-B/X+Uhf+FLkzqf65d24KDLzFxgc\"", + "Access-Control-Allow-Credentials" : "true", + "X-Amz-Cf-Id" : "7PHOckgnxeYXvUfnykeiXJYKb7AyLjm4Qai1EFdgCUcsX52XJkT0yQ==", + "Vary" : "Origin, Accept-Encoding", + "Expires" : "0", + "Surrogate-Control" : "no-store", "Content-Type" : "application/json; charset=utf-8" } }, @@ -34,5 +30,5 @@ "scenarioName" : "scenario-7-v1-project-f1e858a4-58e3-408f-983f-016760d7fa25", "requiredScenarioState" : "scenario-7-v1-project-f1e858a4-58e3-408f-983f-016760d7fa25-3", "newScenarioState" : "scenario-7-v1-project-f1e858a4-58e3-408f-983f-016760d7fa25-4", - "insertionIndex" : 122 + "insertionIndex" : 124 } \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project_f1e858a4-58e3-408f-983f-016760d7fa25-bd24c1eceda2.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project_f1e858a4-58e3-408f-983f-016760d7fa25-bd24c1eceda2.json index 46af77ac..ba485426 100644 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project_f1e858a4-58e3-408f-983f-016760d7fa25-bd24c1eceda2.json +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project_f1e858a4-58e3-408f-983f-016760d7fa25-bd24c1eceda2.json @@ -10,22 +10,18 @@ "bodyFileName" : "v1_project_f1e858a4-58e3-408f-983f-016760d7fa25-bd24c1eceda2.json", "headers" : { "X-Cache" : "Miss from cloudfront", - "expires" : "0", - "x-amz-apigw-id" : "AJUHKF4DoAMEMgw=", - "vary" : "Origin, Accept-Encoding", - "x-amzn-Remapped-content-length" : "347", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "X-Amzn-Trace-Id" : "Root=1-6a4d33c6-65beb80a380cfd4502dd9ea2;Parent=79b500efbed6767a;Sampled=0;Lineage=1:fc3b4ff1:0", - "Date" : "Tue, 07 Jul 2026 17:13:43 GMT", - "Via" : "1.1 82fa7f20ab5a12301da8e01f9493e222.cloudfront.net (CloudFront), 1.1 1271197444822e7c59413a59ecbcecd6.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a4d33c60000000030c4ab9294399cef", - "x-amzn-RequestId" : "9e3a91cc-3806-485a-9ddb-cae8b5814a45", - "X-Amz-Cf-Id" : "QKfwKLsj47M4grjODUaQkF8DLHZPtn7kRNvb3oekJrlIPCTwpJ5h6g==", - "etag" : "W/\"15b-B/X+Uhf+FLkzqf65d24KDLzFxgc\"", - "cache-control" : "no-store, no-cache, must-revalidate, proxy-revalidate", - "surrogate-control" : "no-store", + "X-Amz-Cf-Pop" : "SEA900-P9", + "Date" : "Mon, 31 Aug 2026 17:34:57 GMT", + "Via" : "1.1 0ddbf3138c96d4b7c9f8047edb515414.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "no-store, no-cache, must-revalidate, proxy-revalidate", + "ETag" : "W/\"15b-B/X+Uhf+FLkzqf65d24KDLzFxgc\"", + "Access-Control-Allow-Credentials" : "true", + "X-Amz-Cf-Id" : "nv0kCl_s71U0_WDEuI-11npLubfHD5wG_b4HnILam08NM5Gmef84wA==", + "Vary" : "Origin, Accept-Encoding", + "Expires" : "0", + "Surrogate-Control" : "no-store", "Content-Type" : "application/json; charset=utf-8" } }, @@ -34,5 +30,5 @@ "scenarioName" : "scenario-7-v1-project-f1e858a4-58e3-408f-983f-016760d7fa25", "requiredScenarioState" : "scenario-7-v1-project-f1e858a4-58e3-408f-983f-016760d7fa25-6", "newScenarioState" : "scenario-7-v1-project-f1e858a4-58e3-408f-983f-016760d7fa25-7", - "insertionIndex" : 114 + "insertionIndex" : 116 } \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project_f1e858a4-58e3-408f-983f-016760d7fa25-c083ad437dc3.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project_f1e858a4-58e3-408f-983f-016760d7fa25-c083ad437dc3.json index 9cbaf85b..f6cfc4fe 100644 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project_f1e858a4-58e3-408f-983f-016760d7fa25-c083ad437dc3.json +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project_f1e858a4-58e3-408f-983f-016760d7fa25-c083ad437dc3.json @@ -10,22 +10,18 @@ "bodyFileName" : "v1_project_f1e858a4-58e3-408f-983f-016760d7fa25-c083ad437dc3.json", "headers" : { "X-Cache" : "Miss from cloudfront", - "expires" : "0", - "x-amz-apigw-id" : "AJUHZGf3oAMEv4g=", - "vary" : "Origin, Accept-Encoding", - "x-amzn-Remapped-content-length" : "347", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "X-Amzn-Trace-Id" : "Root=1-6a4d33c8-4c9a7a4d56f7771372a902fc;Parent=1aaee43e76226fa1;Sampled=0;Lineage=1:fc3b4ff1:0", - "Date" : "Tue, 07 Jul 2026 17:13:44 GMT", - "Via" : "1.1 82fa7f20ab5a12301da8e01f9493e222.cloudfront.net (CloudFront), 1.1 7f26c41dda80bd7d50ccec2be87c9c3e.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a4d33c80000000006e64dd2b96f1709", - "x-amzn-RequestId" : "5135a6df-9984-41dd-9356-1b8cfcf9fd2c", - "X-Amz-Cf-Id" : "pv7m_MZLHmtC3BeEi3VIwNbVKo9vuGEgzdtcRjLAtLPCo3EgazzSkA==", - "etag" : "W/\"15b-B/X+Uhf+FLkzqf65d24KDLzFxgc\"", - "cache-control" : "no-store, no-cache, must-revalidate, proxy-revalidate", - "surrogate-control" : "no-store", + "X-Amz-Cf-Pop" : "SEA900-P9", + "Date" : "Mon, 31 Aug 2026 17:35:01 GMT", + "Via" : "1.1 b2b215a89cc2734b2940e2eb59ea4bd0.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "no-store, no-cache, must-revalidate, proxy-revalidate", + "ETag" : "W/\"15b-B/X+Uhf+FLkzqf65d24KDLzFxgc\"", + "Access-Control-Allow-Credentials" : "true", + "X-Amz-Cf-Id" : "_JjpRVTZShxwx7nUaqH3bnghpHs32eyhhVtPKABYd2a21OPGgWmhTA==", + "Vary" : "Origin, Accept-Encoding", + "Expires" : "0", + "Surrogate-Control" : "no-store", "Content-Type" : "application/json; charset=utf-8" } }, @@ -34,5 +30,5 @@ "scenarioName" : "scenario-7-v1-project-f1e858a4-58e3-408f-983f-016760d7fa25", "requiredScenarioState" : "scenario-7-v1-project-f1e858a4-58e3-408f-983f-016760d7fa25-7", "newScenarioState" : "scenario-7-v1-project-f1e858a4-58e3-408f-983f-016760d7fa25-8", - "insertionIndex" : 111 + "insertionIndex" : 113 } \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project_f1e858a4-58e3-408f-983f-016760d7fa25-ccdf186e4303.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project_f1e858a4-58e3-408f-983f-016760d7fa25-ccdf186e4303.json index b22dcdb0..4a5a9f79 100644 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project_f1e858a4-58e3-408f-983f-016760d7fa25-ccdf186e4303.json +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_project_f1e858a4-58e3-408f-983f-016760d7fa25-ccdf186e4303.json @@ -10,22 +10,18 @@ "bodyFileName" : "v1_project_f1e858a4-58e3-408f-983f-016760d7fa25-ccdf186e4303.json", "headers" : { "X-Cache" : "Miss from cloudfront", - "expires" : "0", - "x-amz-apigw-id" : "AJUMeF2NoAMEZUQ=", - "vary" : "Origin, Accept-Encoding", - "x-amzn-Remapped-content-length" : "347", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "X-Amzn-Trace-Id" : "Root=1-6a4d33e8-267b5eaa71be4f142a8fa0ff;Parent=729d588b5c98ce2d;Sampled=0;Lineage=1:fc3b4ff1:0", - "Date" : "Tue, 07 Jul 2026 17:14:17 GMT", - "Via" : "1.1 82fa7f20ab5a12301da8e01f9493e222.cloudfront.net (CloudFront), 1.1 28edb03169fa053a4a523d90d15ff6ae.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a4d33e800000000484ae0f8181aade6", - "x-amzn-RequestId" : "71159ee0-e6b5-47ca-aeea-25a5a9b5742d", - "X-Amz-Cf-Id" : "Mu-4561XU46dHsNQU1dwwVSxrWPsacsfgurP0bHW-nWkx1izb_wQzA==", - "etag" : "W/\"15b-B/X+Uhf+FLkzqf65d24KDLzFxgc\"", - "cache-control" : "no-store, no-cache, must-revalidate, proxy-revalidate", - "surrogate-control" : "no-store", + "X-Amz-Cf-Pop" : "SEA900-P9", + "Date" : "Mon, 31 Aug 2026 17:35:56 GMT", + "Via" : "1.1 dea0b5e705fff834db8ae3992ea09cfa.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "no-store, no-cache, must-revalidate, proxy-revalidate", + "ETag" : "W/\"15b-B/X+Uhf+FLkzqf65d24KDLzFxgc\"", + "Access-Control-Allow-Credentials" : "true", + "X-Amz-Cf-Id" : "VWwBlaitYcgZZGwEjJJq6TPpWBDmlCdKVwBcFdQRkw0B6yklpuMJ0A==", + "Vary" : "Origin, Accept-Encoding", + "Expires" : "0", + "Surrogate-Control" : "no-store", "Content-Type" : "application/json; charset=utf-8" } }, @@ -34,5 +30,5 @@ "scenarioName" : "scenario-7-v1-project-f1e858a4-58e3-408f-983f-016760d7fa25", "requiredScenarioState" : "scenario-7-v1-project-f1e858a4-58e3-408f-983f-016760d7fa25-10", "newScenarioState" : "scenario-7-v1-project-f1e858a4-58e3-408f-983f-016760d7fa25-11", - "insertionIndex" : 36 + "insertionIndex" : 40 } \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_prompt-3f7b18fae7e4.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_prompt-3f7b18fae7e4.json index 7f37e0d6..c9318964 100644 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_prompt-3f7b18fae7e4.json +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_prompt-3f7b18fae7e4.json @@ -27,22 +27,18 @@ "bodyFileName" : "v1_prompt-3f7b18fae7e4.json", "headers" : { "X-Cache" : "Miss from cloudfront", - "expires" : "0", - "x-amz-apigw-id" : "AJUQyHr3oAMEE0Q=", - "vary" : "Origin, Accept-Encoding", - "x-amzn-Remapped-content-length" : "515", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "X-Amzn-Trace-Id" : "Root=1-6a4d3404-12f9999877f75ccc16a64b0c;Parent=2f06cb918d4f3e35;Sampled=0;Lineage=1:fc3b4ff1:0", - "Date" : "Tue, 07 Jul 2026 17:14:44 GMT", - "Via" : "1.1 82fa7f20ab5a12301da8e01f9493e222.cloudfront.net (CloudFront), 1.1 63560dd3f856b0f7bfe68a0cad46924a.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a4d340400000000326de94f13dce1e6", - "x-amzn-RequestId" : "bbd5559e-0b18-4c00-b7b0-2ef0170be634", - "X-Amz-Cf-Id" : "9GZTuN18EKRDUlFIooeZrcGHeZqJTDSGGtOFXNeecMSOBc-p2JROLw==", - "etag" : "W/\"203-8sWM17GS0s70h3Wz1I0RXFC4Yps\"", - "cache-control" : "no-store, no-cache, must-revalidate, proxy-revalidate", - "surrogate-control" : "no-store", + "X-Amz-Cf-Pop" : "SEA900-P9", + "Date" : "Mon, 31 Aug 2026 17:36:30 GMT", + "Via" : "1.1 88f286e23c15fc2f62a741db8207a67a.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "no-store, no-cache, must-revalidate, proxy-revalidate", + "ETag" : "W/\"203-8sWM17GS0s70h3Wz1I0RXFC4Yps\"", + "Access-Control-Allow-Credentials" : "true", + "X-Amz-Cf-Id" : "qNLxgIUGlX7JpkQfJMayOah3HF2e-1uTV4XPIFcd_9if2R2iypu0hA==", + "Vary" : "Origin, Accept-Encoding", + "Expires" : "0", + "Surrogate-Control" : "no-store", "Content-Type" : "application/json; charset=utf-8" } }, diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_prompt-4af7ddd84717.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_prompt-4af7ddd84717.json index 669bde35..e4f0840a 100644 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_prompt-4af7ddd84717.json +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_prompt-4af7ddd84717.json @@ -22,22 +22,18 @@ "bodyFileName" : "v1_prompt-4af7ddd84717.json", "headers" : { "X-Cache" : "Miss from cloudfront", - "expires" : "0", - "x-amz-apigw-id" : "AJUQ8EufoAMEkyA=", - "vary" : "Origin, Accept-Encoding", - "x-amzn-Remapped-content-length" : "620", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "X-Amzn-Trace-Id" : "Root=1-6a4d3405-5eb5d7e056e042dc0bb50b41;Parent=5719b068390a1f7d;Sampled=0;Lineage=1:fc3b4ff1:0", - "Date" : "Tue, 07 Jul 2026 17:14:45 GMT", - "Via" : "1.1 82fa7f20ab5a12301da8e01f9493e222.cloudfront.net (CloudFront), 1.1 38842c146ccd8f527d2de72671759d96.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a4d34050000000016a46ac2e87b570b", - "x-amzn-RequestId" : "14a31053-b707-45be-a2d0-bb4a6ac62a2b", - "X-Amz-Cf-Id" : "aQMFNTnD1mR6j7s0uGabyFMxUffRGgo0Ryskd8YRD09SguOce6yHAw==", - "etag" : "W/\"26c-riOyN5RbmfHlEEsjRs+9qiI2OCs\"", - "cache-control" : "no-store, no-cache, must-revalidate, proxy-revalidate", - "surrogate-control" : "no-store", + "X-Amz-Cf-Pop" : "SEA900-P9", + "Date" : "Mon, 31 Aug 2026 17:36:31 GMT", + "Via" : "1.1 63560dd3f856b0f7bfe68a0cad46924a.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "no-store, no-cache, must-revalidate, proxy-revalidate", + "ETag" : "W/\"26c-riOyN5RbmfHlEEsjRs+9qiI2OCs\"", + "Access-Control-Allow-Credentials" : "true", + "X-Amz-Cf-Id" : "20iWo_GH32cpKbyxhAs9aYJYaN_Lq8cl9fGt_epLYEk_TRg6HrpuUA==", + "Vary" : "Origin, Accept-Encoding", + "Expires" : "0", + "Surrogate-Control" : "no-store", "Content-Type" : "application/json; charset=utf-8" } }, diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_prompt-6abea74af1d6.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_prompt-6abea74af1d6.json index 5f6d284d..7ac59299 100644 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_prompt-6abea74af1d6.json +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_prompt-6abea74af1d6.json @@ -22,22 +22,18 @@ "bodyFileName" : "v1_prompt-6abea74af1d6.json", "headers" : { "X-Cache" : "Miss from cloudfront", - "expires" : "0", - "x-amz-apigw-id" : "AJUQ6GSPoAMEU2A=", - "vary" : "Origin, Accept-Encoding", - "x-amzn-Remapped-content-length" : "620", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "X-Amzn-Trace-Id" : "Root=1-6a4d3405-77fe828531f23bf7137049ce;Parent=31090bf10793c8ab;Sampled=0;Lineage=1:fc3b4ff1:0", - "Date" : "Tue, 07 Jul 2026 17:14:45 GMT", - "Via" : "1.1 82fa7f20ab5a12301da8e01f9493e222.cloudfront.net (CloudFront), 1.1 2501b465adde8e5aedc3f38e3dfcdc22.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a4d34050000000004dfc44b9e0de62a", - "x-amzn-RequestId" : "cad76a52-8ce4-42d3-bedf-d116048823e8", - "X-Amz-Cf-Id" : "43rfFnwKuqmXvuwkLfPiqp-pTk5funQzXcb97Wia-6fO-3HredlZNw==", - "etag" : "W/\"26c-riOyN5RbmfHlEEsjRs+9qiI2OCs\"", - "cache-control" : "no-store, no-cache, must-revalidate, proxy-revalidate", - "surrogate-control" : "no-store", + "X-Amz-Cf-Pop" : "SEA900-P9", + "Date" : "Mon, 31 Aug 2026 17:36:31 GMT", + "Via" : "1.1 55a62c25b77c24cde4014f567fd1c550.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "no-store, no-cache, must-revalidate, proxy-revalidate", + "ETag" : "W/\"26c-riOyN5RbmfHlEEsjRs+9qiI2OCs\"", + "Access-Control-Allow-Credentials" : "true", + "X-Amz-Cf-Id" : "14TY-gRdB5BxcCAskZyjmOUpx22l-0EiQCali0cl0uFY_xANQPpsrg==", + "Vary" : "Origin, Accept-Encoding", + "Expires" : "0", + "Surrogate-Control" : "no-store", "Content-Type" : "application/json; charset=utf-8" } }, diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_prompt-dc86aa4c0727.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_prompt-dc86aa4c0727.json index edae752c..c42e8e6a 100644 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_prompt-dc86aa4c0727.json +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_prompt-dc86aa4c0727.json @@ -27,22 +27,18 @@ "bodyFileName" : "v1_prompt-dc86aa4c0727.json", "headers" : { "X-Cache" : "Miss from cloudfront", - "expires" : "0", - "x-amz-apigw-id" : "AJUQrHFuIAMEbUw=", - "vary" : "Origin, Accept-Encoding", - "x-amzn-Remapped-content-length" : "620", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "X-Amzn-Trace-Id" : "Root=1-6a4d3403-1991dc4c134cb6ba6414256a;Parent=39f04c175249aac7;Sampled=0;Lineage=1:fc3b4ff1:0", - "Date" : "Tue, 07 Jul 2026 17:14:44 GMT", - "Via" : "1.1 82fa7f20ab5a12301da8e01f9493e222.cloudfront.net (CloudFront), 1.1 d49bde7225e80ca0dc457ff2b8b4343e.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a4d340300000000682096f2839be41e", - "x-amzn-RequestId" : "f8731c76-d893-4696-b084-08dca081b91e", - "X-Amz-Cf-Id" : "6-tTHYFQ0jfOIRhp7FlS_jqurEfAEeX6zHQEHJTZA5eJJK_iJLDBQg==", - "etag" : "W/\"26c-riOyN5RbmfHlEEsjRs+9qiI2OCs\"", - "cache-control" : "no-store, no-cache, must-revalidate, proxy-revalidate", - "surrogate-control" : "no-store", + "X-Amz-Cf-Pop" : "SEA900-P9", + "Date" : "Mon, 31 Aug 2026 17:36:30 GMT", + "Via" : "1.1 087b179013ed486bf34db435cff85f08.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "no-store, no-cache, must-revalidate, proxy-revalidate", + "ETag" : "W/\"26c-riOyN5RbmfHlEEsjRs+9qiI2OCs\"", + "Access-Control-Allow-Credentials" : "true", + "X-Amz-Cf-Id" : "16i3tUi5hhBhGVXNVX80sQAe7TmAIw3igWMaLk21YzU6Q4UZXTOPtA==", + "Vary" : "Origin, Accept-Encoding", + "Expires" : "0", + "Surrogate-Control" : "no-store", "Content-Type" : "application/json; charset=utf-8" } }, diff --git a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_prompt-f20e712b9099.json b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_prompt-f20e712b9099.json index a7cc900c..76ff2d50 100644 --- a/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_prompt-f20e712b9099.json +++ b/test-harness/src/testFixtures/resources/cassettes/braintrust/mappings/v1_prompt-f20e712b9099.json @@ -22,22 +22,18 @@ "bodyFileName" : "v1_prompt-f20e712b9099.json", "headers" : { "X-Cache" : "Miss from cloudfront", - "expires" : "0", - "x-amz-apigw-id" : "AJUQ3HOQIAMEkdw=", - "vary" : "Origin, Accept-Encoding", - "x-amzn-Remapped-content-length" : "620", - "X-Amz-Cf-Pop" : [ "SEA900-P10", "SEA900-P9" ], - "X-Amzn-Trace-Id" : "Root=1-6a4d3405-230ca0404d67a1fe3ccdbb9c;Parent=013e50e9612a9a42;Sampled=0;Lineage=1:fc3b4ff1:0", - "Date" : "Tue, 07 Jul 2026 17:14:45 GMT", - "Via" : "1.1 82fa7f20ab5a12301da8e01f9493e222.cloudfront.net (CloudFront), 1.1 2501b465adde8e5aedc3f38e3dfcdc22.cloudfront.net (CloudFront)", - "access-control-expose-headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint", - "access-control-allow-credentials" : "true", - "x-bt-internal-trace-id" : "6a4d3405000000001d4f2a31075c5489", - "x-amzn-RequestId" : "3e9c4e2a-1d66-4fa9-ba7f-4aef26269477", - "X-Amz-Cf-Id" : "42AtPWY66Ve9Z_4HsY6Ez22TuOR20PhJGPzGIg2YHtlmt9FHXfUpBQ==", - "etag" : "W/\"26c-riOyN5RbmfHlEEsjRs+9qiI2OCs\"", - "cache-control" : "no-store, no-cache, must-revalidate, proxy-revalidate", - "surrogate-control" : "no-store", + "X-Amz-Cf-Pop" : "SEA900-P9", + "Date" : "Mon, 31 Aug 2026 17:36:31 GMT", + "Via" : "1.1 7f26c41dda80bd7d50ccec2be87c9c3e.cloudfront.net (CloudFront)", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains", + "Access-Control-Expose-Headers" : "x-bt-cursor,x-bt-found-existing,x-bt-query-plan,x-bt-api-duration-ms,x-bt-brainstore-duration-ms,x-bt-internal-trace-id,x-bt-error-origin,x-bt-used-endpoint,x-bt-overflow-url", + "Cache-Control" : "no-store, no-cache, must-revalidate, proxy-revalidate", + "ETag" : "W/\"26c-riOyN5RbmfHlEEsjRs+9qiI2OCs\"", + "Access-Control-Allow-Credentials" : "true", + "X-Amz-Cf-Id" : "-TfO6agVRySzTHlDziWK6FArVbvdHAlrtLSkm1yEhVO0D1oPEqJDig==", + "Vary" : "Origin, Accept-Encoding", + "Expires" : "0", + "Surrogate-Control" : "no-store", "Content-Type" : "application/json; charset=utf-8" } }, diff --git a/test-harness/src/testFixtures/resources/cassettes/google/__files/v1beta_models_gemini-3.1-flash-lite-previewgeneratecontent-a2c43311ffea.json b/test-harness/src/testFixtures/resources/cassettes/google/__files/v1beta_models_gemini-3.1-flash-lite-previewgeneratecontent-a2c43311ffea.json index a4668121..a3ccf1ec 100644 --- a/test-harness/src/testFixtures/resources/cassettes/google/__files/v1beta_models_gemini-3.1-flash-lite-previewgeneratecontent-a2c43311ffea.json +++ b/test-harness/src/testFixtures/resources/cassettes/google/__files/v1beta_models_gemini-3.1-flash-lite-previewgeneratecontent-a2c43311ffea.json @@ -5,7 +5,7 @@ "parts": [ { "text": "The capital of France is Paris.", - "thoughtSignature": "EjQKMgERTTIPBaFWeYFwdQTF4qaufOpRkMAm51tb+z6adfISll6g6AZ43HfA4VKHdq1k9IMZ" + "thoughtSignature": "EnEKbwERTTIPtCPe6fTDceE3sr0sXjLG/8pJPcZ1qEP7zA5tgnYmqDa1isH+WOJqxAvblSlT57u7TfdBOP4h9ttKI8wf3QNwdNG+2NCRVQsIjTF3w+XYsomhBMBYdAeb/+Hp/yGdF31tnvOVvvxPW27F9g==" } ], "role": "model" @@ -27,5 +27,5 @@ "serviceTier": "standard" }, "modelVersion": "gemini-3.1-flash-lite", - "responseId": "EjRNauCAG5y_qtsP_aKe2AI" + "responseId": "vruVapHcOLbqz7IPz6Sw2A8" } diff --git a/test-harness/src/testFixtures/resources/cassettes/google/__files/v1beta_models_gemini-3.1-flash-lite-previewgeneratecontent-f8fae560c165.json b/test-harness/src/testFixtures/resources/cassettes/google/__files/v1beta_models_gemini-3.1-flash-lite-previewgeneratecontent-f8fae560c165.json deleted file mode 100644 index dbd5393e..00000000 --- a/test-harness/src/testFixtures/resources/cassettes/google/__files/v1beta_models_gemini-3.1-flash-lite-previewgeneratecontent-f8fae560c165.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "candidates": [ - { - "content": { - "parts": [ - { - "text": "The provided attachments consist of:\n\n1. **A solid red square image.**\n2. **A PDF document** containing a single page that appears to be a blank white screen.", - "thoughtSignature": "EjQKMgERTTIPrG5zv/dkI5wQRGivo1E3JPZgOfnCWeTlT7DvSboQeRR8NyTQ1rqs5bC1iFHI" - } - ], - "role": "model" - }, - "finishReason": "STOP", - "index": 0 - } - ], - "usageMetadata": { - "promptTokenCount": 1682, - "candidatesTokenCount": 39, - "totalTokenCount": 1721, - "promptTokensDetails": [ - { - "modality": "VIDEO", - "tokenCount": 64 - }, - { - "modality": "AUDIO", - "tokenCount": 3 - }, - { - "modality": "TEXT", - "tokenCount": 6 - }, - { - "modality": "IMAGE", - "tokenCount": 1609 - } - ], - "serviceTier": "standard" - }, - "modelVersion": "gemini-3.1-flash-lite", - "responseId": "DzRNaqq_FreAqtsPyo-f6A0" -} diff --git a/test-harness/src/testFixtures/resources/cassettes/google/__files/v1beta_models_gemini-3.1-flash-litegeneratecontent-a5e23c6b652d.json b/test-harness/src/testFixtures/resources/cassettes/google/__files/v1beta_models_gemini-3.1-flash-litegeneratecontent-a5e23c6b652d.json index 6f10d748..17a7129a 100644 --- a/test-harness/src/testFixtures/resources/cassettes/google/__files/v1beta_models_gemini-3.1-flash-litegeneratecontent-a5e23c6b652d.json +++ b/test-harness/src/testFixtures/resources/cassettes/google/__files/v1beta_models_gemini-3.1-flash-litegeneratecontent-a5e23c6b652d.json @@ -4,8 +4,8 @@ "content": { "parts": [ { - "text": "The capital of Germany is Berlin.", - "thoughtSignature": "EjQKMgERTTIPpTnUNDOLed+40872B4YyX/4VxzhqxtYuiTe0SbDD/4raFFAhWFFm6+XHWHVt" + "text": "The capital of Germany is **Berlin**.", + "thoughtSignature": "EnEKbwERTTIPUi17wdVqJRLVWpXYTkQIwnj9hJ2BKAkBd64ZSvk82+sYx/gkI+cYM5FmapgO1DHm2bKErbhOci9mGRcgNZxqHJhE2QXwTosFlDTUFGunoxX4R4v0AxAYYeT1TsJO10BFuQnzdeuC+pA9xQ==" } ], "role": "model" @@ -16,8 +16,8 @@ ], "usageMetadata": { "promptTokenCount": 8, - "candidatesTokenCount": 7, - "totalTokenCount": 15, + "candidatesTokenCount": 8, + "totalTokenCount": 16, "promptTokensDetails": [ { "modality": "TEXT", @@ -27,5 +27,5 @@ "serviceTier": "standard" }, "modelVersion": "gemini-3.1-flash-lite", - "responseId": "rjRNat-YIcCfqtsPsvqliQQ" + "responseId": "j7yVauph1qOq2w-Q96TZCw" } diff --git a/test-harness/src/testFixtures/resources/cassettes/google/__files/v1beta_models_gemini-3.1-flash-litegeneratecontent-eba525a323a6.json b/test-harness/src/testFixtures/resources/cassettes/google/__files/v1beta_models_gemini-3.1-flash-litegeneratecontent-eba525a323a6.json index 1e0229cd..e9afa414 100644 --- a/test-harness/src/testFixtures/resources/cassettes/google/__files/v1beta_models_gemini-3.1-flash-litegeneratecontent-eba525a323a6.json +++ b/test-harness/src/testFixtures/resources/cassettes/google/__files/v1beta_models_gemini-3.1-flash-litegeneratecontent-eba525a323a6.json @@ -5,7 +5,7 @@ "parts": [ { "text": "The capital of France is Paris.", - "thoughtSignature": "EjQKMgERTTIPOIp+ySF4m9Yj4ioSxZBM0GfPmlqHz/NVZNTMUXpQ5oeAldCpzBYYJaYPhwjC" + "thoughtSignature": "EnEKbwERTTIPuatNOBvUnK65p/NgbUg6+8SMdWhfzL4Mx8vsmGKgbmo0anFD0cpUJ9QC0WbCQ3qWsdmgG+Ho9TungmFixBzKqXxO8TDQbedAqF77q4WXSgtPKGwhsFZF2qnGjyGuy9fiQgtMpPfppL+eTQ==" } ], "role": "model" @@ -27,5 +27,5 @@ "serviceTier": "standard" }, "modelVersion": "gemini-3.1-flash-lite", - "responseId": "sDRNav6yCLKf6dkP-pqFqQ8" + "responseId": "kLyVarTTH-rSjMcPxdmi4AY" } diff --git a/test-harness/src/testFixtures/resources/cassettes/google/mappings/v1beta_models_gemini-3.1-flash-lite-previewgeneratecontent-a2c43311ffea.json b/test-harness/src/testFixtures/resources/cassettes/google/mappings/v1beta_models_gemini-3.1-flash-lite-previewgeneratecontent-a2c43311ffea.json index eff4fcf1..478067e7 100644 --- a/test-harness/src/testFixtures/resources/cassettes/google/mappings/v1beta_models_gemini-3.1-flash-lite-previewgeneratecontent-a2c43311ffea.json +++ b/test-harness/src/testFixtures/resources/cassettes/google/mappings/v1beta_models_gemini-3.1-flash-lite-previewgeneratecontent-a2c43311ffea.json @@ -23,11 +23,11 @@ "Alt-Svc" : "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000", "Server" : "scaffolding on HTTPServer2", "X-Content-Type-Options" : "nosniff", - "Server-Timing" : "gfet4t7; dur=580", + "Server-Timing" : "gfet4t7; dur=733", "Vary" : [ "Origin", "X-Origin", "Referer" ], "X-Gemini-Service-Tier" : "standard", "X-XSS-Protection" : "0", - "Date" : "Tue, 07 Jul 2026 17:14:58 GMT", + "Date" : "Mon, 31 Aug 2026 17:37:03 GMT", "Content-Type" : "application/json; charset=UTF-8" } }, diff --git a/test-harness/src/testFixtures/resources/cassettes/google/mappings/v1beta_models_gemini-3.1-flash-lite-previewgeneratecontent-f8fae560c165.json b/test-harness/src/testFixtures/resources/cassettes/google/mappings/v1beta_models_gemini-3.1-flash-lite-previewgeneratecontent-f8fae560c165.json deleted file mode 100644 index c9541622..00000000 --- a/test-harness/src/testFixtures/resources/cassettes/google/mappings/v1beta_models_gemini-3.1-flash-lite-previewgeneratecontent-f8fae560c165.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "id" : "3d4799da-71f1-3792-83a8-7ddcb950f3e2", - "name" : "v1beta_models_gemini-3.1-flash-lite-previewgeneratecontent", - "request" : { - "url" : "/v1beta/models/gemini-3.1-flash-lite-preview:generateContent", - "method" : "POST", - "headers" : { - "Content-Type" : { - "equalTo" : "application/json; charset=UTF-8" - } - }, - "bodyPatterns" : [ { - "equalToJson" : "{\"contents\":[{\"parts\":[{\"text\":\"Briefly describe these attachments\"},{\"inlineData\":{\"data\":\"iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mP8z8DwHwAFBQIAX8jx0gAAAABJRU5ErkJggg==\",\"mimeType\":\"image/png\"}},{\"inlineData\":{\"data\":\"JVBERi0xLjAKMSAwIG9iago8PCAvVHlwZSAvQ2F0YWxvZyAvUGFnZXMgMiAwIFIgPj4KZW5kb2JqCjIgMCBvYmoKPDwgL1R5cGUgL1BhZ2VzIC9LaWRzIFszIDAgUl0gL0NvdW50IDEgPj4KZW5kb2JqCjMgMCBvYmoKPDwgL1R5cGUgL1BhZ2UgL1BhcmVudCAyIDAgUiAvTWVkaWFCb3ggWzAgMCA2MTIgNzkyXSA+PgplbmRvYmoKeHJlZgowIDQKMDAwMDAwMDAwMCA2NTUzNSBmIAowMDAwMDAwMDA5IDAwMDAwIG4gCjAwMDAwMDAwNTggMDAwMDAgbiAKMDAwMDAwMDExNSAwMDAwMCBuIAp0cmFpbGVyCjw8IC9TaXplIDQgL1Jvb3QgMSAwIFIgPj4Kc3RhcnR4cmVmCjE5MAolJUVPRgo=\",\"mimeType\":\"application/pdf\"}},{\"inlineData\":{\"data\":\"UklGRkQDAABXQVZFZm10IBAAAAABAAEAQB8AAEAfAAABAAgAZGF0YSADAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgA==\",\"mimeType\":\"audio/wav\"}},{\"inlineData\":{\"data\":\"AAAAIGZ0eXBpc29tAAACAGlzb21pc28yYXZjMW1wNDEAAAAIZnJlZQAAA0dtZGF0AAACrgYF//+q3EXpvebZSLeWLNgg2SPu73gyNjQgLSBjb3JlIDE2NSByMzIyMiBiMzU2MDVhIC0gSC4yNjQvTVBFRy00IEFWQyBjb2RlYyAtIENvcHlsZWZ0IDIwMDMtMjAyNSAtIGh0dHA6Ly93d3cudmlkZW9sYW4ub3JnL3gyNjQuaHRtbCAtIG9wdGlvbnM6IGNhYmFjPTEgcmVmPTMgZGVibG9jaz0xOjA6MCBhbmFseXNlPTB4MzoweDExMyBtZT1oZXggc3VibWU9NyBwc3k9MSBwc3lfcmQ9MS4wMDowLjAwIG1peGVkX3JlZj0xIG1lX3JhbmdlPTE2IGNocm9tYV9tZT0xIHRyZWxsaXM9MSA4eDhkY3Q9MSBjcW09MCBkZWFkem9uZT0yMSwxMSBmYXN0X3Bza2lwPTEgY2hyb21hX3FwX29mZnNldD0tMiB0aHJlYWRzPTEgbG9va2FoZWFkX3RocmVhZHM9MSBzbGljZWRfdGhyZWFkcz0wIG5yPTAgZGVjaW1hdGU9MSBpbnRlcmxhY2VkPTAgYmx1cmF5X2NvbXBhdD0wIGNvbnN0cmFpbmVkX2ludHJhPTAgYmZyYW1lcz0zIGJfcHlyYW1pZD0yIGJfYWRhcHQ9MSBiX2JpYXM9MCBkaXJlY3Q9MSB3ZWlnaHRiPTEgb3Blbl9nb3A9MCB3ZWlnaHRwPTIga2V5aW50PTI1MCBrZXlpbnRfbWluPTEwIHNjZW5lY3V0PTQwIGludHJhX3JlZnJlc2g9MCByY19sb29rYWhlYWQ9NDAgcmM9Y3JmIG1idHJlZT0xIGNyZj0yMy4wIHFjb21wPTAuNjAgcXBtaW49MCBxcG1heD02OSBxcHN0ZXA9NCBpcF9yYXRpbz0xLjQwIGFxPTE6MS4wMACAAAAAD2WIhAAR//73iB8yy2+ceQAAAAhBmiRsQQ/+4AAAAAhBnkJ4h3+3gQAAAAgBnmF0Q3+6gAAAAAgBnmNqQ3+6gQAAAA5BmmhJqEFomUwId//+4QAAAApBnoZFESw7/7eBAAAACAGepXRDf7qBAAAACAGep2pDf7qAAAAADkGaqUmoQWyZTAhv//7gAAADs21vb3YAAABsbXZoZAAAAAAAAAAAAAAAAAAAA+gAAAPoAAEAAAEAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAALddHJhawAAAFx0a2hkAAAAAwAAAAAAAAAAAAAAAQAAAAAAAAPoAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAQAAAAAACAAAAAgAAAAAAJGVkdHMAAAAcZWxzdAAAAAAAAAABAAAD6AAACAAAAQAAAAACVW1kaWEAAAAgbWRoZAAAAAAAAAAAAAAAAAAAKAAAACgAVcQAAAAAAC1oZGxyAAAAAAAAAAB2aWRlAAAAAAAAAAAAAAAAVmlkZW9IYW5kbGVyAAAAAgBtaW5mAAAAFHZtaGQAAAABAAAAAAAAAAAAAAAkZGluZgAAABxkcmVmAAAAAAAAAAEAAAAMdXJsIAAAAAEAAAHAc3RibAAAAMBzdHNkAAAAAAAAAAEAAACwYXZjMQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAACAAIASAAAAEgAAAAAAAAAARVMYXZjNjIuMjguMTAxIGxpYngyNjQAAAAAAAAAAAAAABj//wAAADZhdmNDAWQACv/hABlnZAAKrNlfiIjARAAAAwAEAAADAFA8SJZYAQAGaOvjyyLA/fj4AAAAABBwYXNwAAAAAQAAAAEAAAAUYnRydAAAAAAAABn4AAAAAAAAABhzdHRzAAAAAAAAAAEAAAAKAAAEAAAAABRzdHNzAAAAAAAAAAEAAAABAAAAYGN0dHMAAAAAAAAACgAAAAEAAAgAAAAAAQAAFAAAAAABAAAIAAAAAAEAAAAAAAAAAQAABAAAAAABAAAUAAAAAAEAAAgAAAAAAQAAAAAAAAABAAAEAAAAAAEAAAgAAAAAHHN0c2MAAAAAAAAAAQAAAAEAAAAKAAAAAQAAADxzdHN6AAAAAAAAAAAAAAAKAAACxQAAAAwAAAAMAAAADAAAAAwAAAASAAAADgAAAAwAAAAMAAAAEgAAABRzdGNvAAAAAAAAAAEAAAAwAAAAYnVkdGEAAABabWV0YQAAAAAAAAAhaGRscgAAAAAAAAAAbWRpcmFwcGwAAAAAAAAAAAAAAAAtaWxzdAAAACWpdG9vAAAAHWRhdGEAAAABAAAAAExhdmY2Mi4xMi4xMDE=\",\"mimeType\":\"video/mp4\"}}],\"role\":\"user\"}],\"generationConfig\":{\"temperature\":0.0}}", - "ignoreArrayOrder" : true, - "ignoreExtraElements" : false - } ] - }, - "response" : { - "status" : 200, - "bodyFileName" : "v1beta_models_gemini-3.1-flash-lite-previewgeneratecontent-f8fae560c165.json", - "headers" : { - "X-Frame-Options" : "SAMEORIGIN", - "Alt-Svc" : "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000", - "Server" : "scaffolding on HTTPServer2", - "X-Content-Type-Options" : "nosniff", - "Server-Timing" : "gfet4t7; dur=2978", - "Vary" : [ "Origin", "X-Origin", "Referer" ], - "X-Gemini-Service-Tier" : "standard", - "X-XSS-Protection" : "0", - "Date" : "Tue, 07 Jul 2026 17:14:58 GMT", - "Content-Type" : "application/json; charset=UTF-8" - } - }, - "uuid" : "3d4799da-71f1-3792-83a8-7ddcb950f3e2", - "persistent" : true, - "insertionIndex" : 2 -} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/google/mappings/v1beta_models_gemini-3.1-flash-litegeneratecontent-a5e23c6b652d.json b/test-harness/src/testFixtures/resources/cassettes/google/mappings/v1beta_models_gemini-3.1-flash-litegeneratecontent-a5e23c6b652d.json index da5d4d1d..1935dfae 100644 --- a/test-harness/src/testFixtures/resources/cassettes/google/mappings/v1beta_models_gemini-3.1-flash-litegeneratecontent-a5e23c6b652d.json +++ b/test-harness/src/testFixtures/resources/cassettes/google/mappings/v1beta_models_gemini-3.1-flash-litegeneratecontent-a5e23c6b652d.json @@ -23,15 +23,15 @@ "Alt-Svc" : "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000", "Server" : "scaffolding on HTTPServer2", "X-Content-Type-Options" : "nosniff", - "Server-Timing" : "gfet4t7; dur=594", + "Server-Timing" : "gfet4t7; dur=712", "Vary" : [ "Origin", "X-Origin", "Referer" ], "X-Gemini-Service-Tier" : "standard", "X-XSS-Protection" : "0", - "Date" : "Tue, 07 Jul 2026 17:17:35 GMT", + "Date" : "Mon, 31 Aug 2026 17:40:31 GMT", "Content-Type" : "application/json; charset=UTF-8" } }, "uuid" : "24d0a749-6587-3694-98fe-ca86ee76dc5f", "persistent" : true, - "insertionIndex" : 4 + "insertionIndex" : 3 } \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/google/mappings/v1beta_models_gemini-3.1-flash-litegeneratecontent-eba525a323a6.json b/test-harness/src/testFixtures/resources/cassettes/google/mappings/v1beta_models_gemini-3.1-flash-litegeneratecontent-eba525a323a6.json index ce48fcbc..4294e48c 100644 --- a/test-harness/src/testFixtures/resources/cassettes/google/mappings/v1beta_models_gemini-3.1-flash-litegeneratecontent-eba525a323a6.json +++ b/test-harness/src/testFixtures/resources/cassettes/google/mappings/v1beta_models_gemini-3.1-flash-litegeneratecontent-eba525a323a6.json @@ -23,15 +23,15 @@ "Alt-Svc" : "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000", "Server" : "scaffolding on HTTPServer2", "X-Content-Type-Options" : "nosniff", - "Server-Timing" : "gfet4t7; dur=398", + "Server-Timing" : "gfet4t7; dur=607", "Vary" : [ "Origin", "X-Origin", "Referer" ], "X-Gemini-Service-Tier" : "standard", "X-XSS-Protection" : "0", - "Date" : "Tue, 07 Jul 2026 17:17:36 GMT", + "Date" : "Mon, 31 Aug 2026 17:40:33 GMT", "Content-Type" : "application/json; charset=UTF-8" } }, "uuid" : "26fa216a-e963-3450-ae5f-60bc382f197e", "persistent" : true, - "insertionIndex" : 3 + "insertionIndex" : 2 } \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-03b1b9901179.txt b/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-03b1b9901179.txt index 10d848cf..ffee9512 100644 --- a/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-03b1b9901179.txt +++ b/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-03b1b9901179.txt @@ -1,22 +1,22 @@ -data: {"id":"chatcmpl-Dz3ivUOUuajJydSBIlx7opSLKGaQj","object":"chat.completion.chunk","created":1783444693,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_a151a364ab","choices":[{"index":0,"delta":{"role":"assistant","content":"","refusal":null},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"KWNEHjVG1"} +data: {"id":"chatcmpl-EJ0LirGPuKZUYVBsapou48yFjkrFZ","object":"chat.completion.chunk","created":1788198282,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fdc0967d89","choices":[{"index":0,"delta":{"role":"assistant","content":"","refusal":null},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"Ua2kag4c3"} -data: {"id":"chatcmpl-Dz3ivUOUuajJydSBIlx7opSLKGaQj","object":"chat.completion.chunk","created":1783444693,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_a151a364ab","choices":[{"index":0,"delta":{"content":"The"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"twBaOLiq"} +data: {"id":"chatcmpl-EJ0LirGPuKZUYVBsapou48yFjkrFZ","object":"chat.completion.chunk","created":1788198282,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fdc0967d89","choices":[{"index":0,"delta":{"content":"The"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"Y6EtSP85"} -data: {"id":"chatcmpl-Dz3ivUOUuajJydSBIlx7opSLKGaQj","object":"chat.completion.chunk","created":1783444693,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_a151a364ab","choices":[{"index":0,"delta":{"content":" capital"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"1HT"} +data: {"id":"chatcmpl-EJ0LirGPuKZUYVBsapou48yFjkrFZ","object":"chat.completion.chunk","created":1788198282,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fdc0967d89","choices":[{"index":0,"delta":{"content":" capital"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"VgC"} -data: {"id":"chatcmpl-Dz3ivUOUuajJydSBIlx7opSLKGaQj","object":"chat.completion.chunk","created":1783444693,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_a151a364ab","choices":[{"index":0,"delta":{"content":" of"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"knHip7Lg"} +data: {"id":"chatcmpl-EJ0LirGPuKZUYVBsapou48yFjkrFZ","object":"chat.completion.chunk","created":1788198282,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fdc0967d89","choices":[{"index":0,"delta":{"content":" of"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"NnJiMM35"} -data: {"id":"chatcmpl-Dz3ivUOUuajJydSBIlx7opSLKGaQj","object":"chat.completion.chunk","created":1783444693,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_a151a364ab","choices":[{"index":0,"delta":{"content":" France"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"NLrC"} +data: {"id":"chatcmpl-EJ0LirGPuKZUYVBsapou48yFjkrFZ","object":"chat.completion.chunk","created":1788198282,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fdc0967d89","choices":[{"index":0,"delta":{"content":" France"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"M7BM"} -data: {"id":"chatcmpl-Dz3ivUOUuajJydSBIlx7opSLKGaQj","object":"chat.completion.chunk","created":1783444693,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_a151a364ab","choices":[{"index":0,"delta":{"content":" is"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"qGlVgoTh"} +data: {"id":"chatcmpl-EJ0LirGPuKZUYVBsapou48yFjkrFZ","object":"chat.completion.chunk","created":1788198282,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fdc0967d89","choices":[{"index":0,"delta":{"content":" is"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"2FFewMaY"} -data: {"id":"chatcmpl-Dz3ivUOUuajJydSBIlx7opSLKGaQj","object":"chat.completion.chunk","created":1783444693,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_a151a364ab","choices":[{"index":0,"delta":{"content":" Paris"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"brDhN"} +data: {"id":"chatcmpl-EJ0LirGPuKZUYVBsapou48yFjkrFZ","object":"chat.completion.chunk","created":1788198282,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fdc0967d89","choices":[{"index":0,"delta":{"content":" Paris"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"0C7Xw"} -data: {"id":"chatcmpl-Dz3ivUOUuajJydSBIlx7opSLKGaQj","object":"chat.completion.chunk","created":1783444693,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_a151a364ab","choices":[{"index":0,"delta":{"content":"."},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"4TeqDuNr6b"} +data: {"id":"chatcmpl-EJ0LirGPuKZUYVBsapou48yFjkrFZ","object":"chat.completion.chunk","created":1788198282,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fdc0967d89","choices":[{"index":0,"delta":{"content":"."},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"xW0PSBoHtT"} -data: {"id":"chatcmpl-Dz3ivUOUuajJydSBIlx7opSLKGaQj","object":"chat.completion.chunk","created":1783444693,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_a151a364ab","choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"stop"}],"usage":null,"obfuscation":"j2kvw"} +data: {"id":"chatcmpl-EJ0LirGPuKZUYVBsapou48yFjkrFZ","object":"chat.completion.chunk","created":1788198282,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fdc0967d89","choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"stop"}],"usage":null,"obfuscation":"5N7YI"} -data: {"id":"chatcmpl-Dz3ivUOUuajJydSBIlx7opSLKGaQj","object":"chat.completion.chunk","created":1783444693,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_a151a364ab","choices":[],"usage":{"prompt_tokens":14,"completion_tokens":7,"total_tokens":21,"prompt_tokens_details":{"cached_tokens":0,"audio_tokens":0},"completion_tokens_details":{"reasoning_tokens":0,"audio_tokens":0,"accepted_prediction_tokens":0,"rejected_prediction_tokens":0}},"obfuscation":"zhDKWGDCG5A"} +data: {"id":"chatcmpl-EJ0LirGPuKZUYVBsapou48yFjkrFZ","object":"chat.completion.chunk","created":1788198282,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fdc0967d89","choices":[],"usage":{"prompt_tokens":14,"completion_tokens":7,"total_tokens":21,"prompt_tokens_details":{"cached_tokens":0,"audio_tokens":0},"completion_tokens_details":{"reasoning_tokens":0,"audio_tokens":0,"accepted_prediction_tokens":0,"rejected_prediction_tokens":0}},"obfuscation":"ObEDec5PVpc"} data: [DONE] diff --git a/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-0639fddc10f8.json b/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-0639fddc10f8.json index 3e0da14c..48580fad 100644 --- a/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-0639fddc10f8.json +++ b/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-0639fddc10f8.json @@ -1,7 +1,7 @@ { - "id": "chatcmpl-Dz3iXDqqW1n6brWkV0Mw35lhHD17o", + "id": "chatcmpl-EJ0Kjm1RAtTV4jQJKlTLsnGE1Jjmq", "object": "chat.completion", - "created": 1783444669, + "created": 1788198221, "model": "gpt-4o-mini-2024-07-18", "choices": [ { @@ -32,5 +32,5 @@ } }, "service_tier": "default", - "system_fingerprint": "fp_87e5c5900b" + "system_fingerprint": "fp_20370cf6b8" } diff --git a/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-7c0db28da6b8.json b/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-077545f3c696.json similarity index 50% rename from test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-7c0db28da6b8.json rename to test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-077545f3c696.json index 8f664dfa..f2d795c3 100644 --- a/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-7c0db28da6b8.json +++ b/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-077545f3c696.json @@ -1,35 +1,36 @@ { - "id": "chatcmpl-ECe43IuPfU77adv4loq6PNdopaMx2", + "id": "chatcmpl-EJ0E4DbrAvjTvzRQUGVOrPWkWfqkV", "object": "chat.completion", - "created": 1786682651, - "model": "o4-mini-2025-04-16", + "created": 1788197808, + "model": "gpt-4o-2024-08-06", "choices": [ { "index": 0, "message": { "role": "assistant", - "content": "Each term is the product of two consecutive integers. In fact\n\n a₁=1·2=2, \n a₂=2·3=6, \n a₃=3·4=12, \n a₄=4·5=20, \n a₅=5·6=30, …\n\nso for n≥1\n\n aₙ = n·(n+1)\n\nEquivalently aₙ = n² + n.", + "content": "The first attachment is a solid red square, and the second attachment is a PDF file named \"blank.pdf\" that contains no readable content or images.", "refusal": null, "annotations": [] }, + "logprobs": null, "finish_reason": "stop" } ], "usage": { - "prompt_tokens": 41, - "completion_tokens": 826, - "total_tokens": 867, + "prompt_tokens": 495, + "completion_tokens": 30, + "total_tokens": 525, "prompt_tokens_details": { "cached_tokens": 0, "audio_tokens": 0 }, "completion_tokens_details": { - "reasoning_tokens": 704, + "reasoning_tokens": 0, "audio_tokens": 0, "accepted_prediction_tokens": 0, "rejected_prediction_tokens": 0 } }, "service_tier": "default", - "system_fingerprint": null + "system_fingerprint": "fp_ffd8308b42" } diff --git a/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-0cc26297bcc1.json b/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-0cc26297bcc1.json new file mode 100644 index 00000000..09692f7e --- /dev/null +++ b/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-0cc26297bcc1.json @@ -0,0 +1,46 @@ +{ + "id": "chatcmpl-EJ0EYWAR5JEsdiBHX5HNYzDjo0t8E", + "object": "chat.completion", + "created": 1788197838, + "model": "gpt-4o-2024-08-06", + "choices": [ + { + "index": 0, + "message": { + "role": "assistant", + "content": null, + "tool_calls": [ + { + "id": "call_NpP8IKPMjzwEkmeYXoyQe0sV", + "type": "function", + "function": { + "name": "get_weather", + "arguments": "{\"location\":\"Paris, France\"}" + } + } + ], + "refusal": null, + "annotations": [] + }, + "logprobs": null, + "finish_reason": "tool_calls" + } + ], + "usage": { + "prompt_tokens": 85, + "completion_tokens": 16, + "total_tokens": 101, + "prompt_tokens_details": { + "cached_tokens": 0, + "audio_tokens": 0 + }, + "completion_tokens_details": { + "reasoning_tokens": 0, + "audio_tokens": 0, + "accepted_prediction_tokens": 0, + "rejected_prediction_tokens": 0 + } + }, + "service_tier": "default", + "system_fingerprint": "fp_0d2be5c9bb" +} diff --git a/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-114a3fe592b5.txt b/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-114a3fe592b5.txt index 31148c00..657b691a 100644 --- a/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-114a3fe592b5.txt +++ b/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-114a3fe592b5.txt @@ -1,20 +1,20 @@ -data: {"id":"chatcmpl-EFN0SN12S7EYH251k69F9DNmhfFcB","object":"chat.completion.chunk","created":1787332064,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_5259353f0d","choices":[{"index":0,"delta":{"role":"assistant","content":"","refusal":null},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"Ls4TT4cES"} +data: {"id":"chatcmpl-EJ0EZr3xPVuEfVUSHEHVJ7rpRkrwp","object":"chat.completion.chunk","created":1788197839,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_617e1c99b5","choices":[{"index":0,"delta":{"role":"assistant","content":"","refusal":null},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"fwOVflgp0"} -data: {"id":"chatcmpl-EFN0SN12S7EYH251k69F9DNmhfFcB","object":"chat.completion.chunk","created":1787332064,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_5259353f0d","choices":[{"index":0,"delta":{"content":"Hello"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"OxKRrC"} +data: {"id":"chatcmpl-EJ0EZr3xPVuEfVUSHEHVJ7rpRkrwp","object":"chat.completion.chunk","created":1788197839,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_617e1c99b5","choices":[{"index":0,"delta":{"content":"Hello"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"MFf7QX"} -data: {"id":"chatcmpl-EFN0SN12S7EYH251k69F9DNmhfFcB","object":"chat.completion.chunk","created":1787332064,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_5259353f0d","choices":[{"index":0,"delta":{"content":"!"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"SrQOGuc2vB"} +data: {"id":"chatcmpl-EJ0EZr3xPVuEfVUSHEHVJ7rpRkrwp","object":"chat.completion.chunk","created":1788197839,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_617e1c99b5","choices":[{"index":0,"delta":{"content":"!"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"L2ozttVApT"} -data: {"id":"chatcmpl-EFN0SN12S7EYH251k69F9DNmhfFcB","object":"chat.completion.chunk","created":1787332064,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_5259353f0d","choices":[{"index":1,"delta":{"role":"assistant","content":"","refusal":null},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"7InC1G47J"} +data: {"id":"chatcmpl-EJ0EZr3xPVuEfVUSHEHVJ7rpRkrwp","object":"chat.completion.chunk","created":1788197839,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_617e1c99b5","choices":[{"index":1,"delta":{"role":"assistant","content":"","refusal":null},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"P59R2O4aM"} -data: {"id":"chatcmpl-EFN0SN12S7EYH251k69F9DNmhfFcB","object":"chat.completion.chunk","created":1787332064,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_5259353f0d","choices":[{"index":1,"delta":{"content":"Hello"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"FmmR6z"} +data: {"id":"chatcmpl-EJ0EZr3xPVuEfVUSHEHVJ7rpRkrwp","object":"chat.completion.chunk","created":1788197839,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_617e1c99b5","choices":[{"index":1,"delta":{"content":"Hello"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"tAyXxR"} -data: {"id":"chatcmpl-EFN0SN12S7EYH251k69F9DNmhfFcB","object":"chat.completion.chunk","created":1787332064,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_5259353f0d","choices":[{"index":1,"delta":{"content":"!"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"YUv2ILSruB"} +data: {"id":"chatcmpl-EJ0EZr3xPVuEfVUSHEHVJ7rpRkrwp","object":"chat.completion.chunk","created":1788197839,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_617e1c99b5","choices":[{"index":1,"delta":{"content":"!"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"a9WlZESOGB"} -data: {"id":"chatcmpl-EFN0SN12S7EYH251k69F9DNmhfFcB","object":"chat.completion.chunk","created":1787332064,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_5259353f0d","choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"stop"}],"usage":null,"obfuscation":"7gknT"} +data: {"id":"chatcmpl-EJ0EZr3xPVuEfVUSHEHVJ7rpRkrwp","object":"chat.completion.chunk","created":1788197839,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_617e1c99b5","choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"stop"}],"usage":null,"obfuscation":"H2wd4"} -data: {"id":"chatcmpl-EFN0SN12S7EYH251k69F9DNmhfFcB","object":"chat.completion.chunk","created":1787332064,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_5259353f0d","choices":[{"index":1,"delta":{},"logprobs":null,"finish_reason":"stop"}],"usage":null,"obfuscation":"WkkcJ"} +data: {"id":"chatcmpl-EJ0EZr3xPVuEfVUSHEHVJ7rpRkrwp","object":"chat.completion.chunk","created":1788197839,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_617e1c99b5","choices":[{"index":1,"delta":{},"logprobs":null,"finish_reason":"stop"}],"usage":null,"obfuscation":"jR64G"} -data: {"id":"chatcmpl-EFN0SN12S7EYH251k69F9DNmhfFcB","object":"chat.completion.chunk","created":1787332064,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_5259353f0d","choices":[],"usage":{"prompt_tokens":22,"completion_tokens":4,"total_tokens":26,"prompt_tokens_details":{"cached_tokens":0,"audio_tokens":0},"completion_tokens_details":{"reasoning_tokens":0,"audio_tokens":0,"accepted_prediction_tokens":0,"rejected_prediction_tokens":0}},"obfuscation":"qqc2lRjrTlP"} +data: {"id":"chatcmpl-EJ0EZr3xPVuEfVUSHEHVJ7rpRkrwp","object":"chat.completion.chunk","created":1788197839,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_617e1c99b5","choices":[],"usage":{"prompt_tokens":22,"completion_tokens":4,"total_tokens":26,"prompt_tokens_details":{"cached_tokens":0,"audio_tokens":0},"completion_tokens_details":{"reasoning_tokens":0,"audio_tokens":0,"accepted_prediction_tokens":0,"rejected_prediction_tokens":0}},"obfuscation":"wY0nSNfQ9SG"} data: [DONE] diff --git a/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-1396042660a1.txt b/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-1396042660a1.txt index 6c25ac8b..a8669cea 100644 --- a/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-1396042660a1.txt +++ b/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-1396042660a1.txt @@ -1,22 +1,22 @@ -data: {"id":"chatcmpl-ECHdUuZ1LG7sB6Y2DgfxvKaYsOglO","object":"chat.completion.chunk","created":1786596436,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_788bf556eb","choices":[{"index":0,"delta":{"role":"assistant","content":null,"tool_calls":[{"index":0,"id":"call_wuPFCcmtaOVhAP6HoGwBydJm","type":"function","function":{"name":"get_weather","arguments":""}}],"refusal":null},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"Qs2m"} +data: {"id":"chatcmpl-EJ0Lh2KmH8yC7z5X3Q78U4MY12Gsi","object":"chat.completion.chunk","created":1788198281,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_335dacabb2","choices":[{"index":0,"delta":{"role":"assistant","content":null,"tool_calls":[{"index":0,"id":"call_34MONilIQ4tMntRDZs3HdaTR","type":"function","function":{"name":"get_weather","arguments":""}}],"refusal":null},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"ZhyB"} -data: {"id":"chatcmpl-ECHdUuZ1LG7sB6Y2DgfxvKaYsOglO","object":"chat.completion.chunk","created":1786596436,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_788bf556eb","choices":[{"index":0,"delta":{"tool_calls":[{"index":0,"function":{"arguments":"{\""}}]},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"I3Tu123zyIl7h5"} +data: {"id":"chatcmpl-EJ0Lh2KmH8yC7z5X3Q78U4MY12Gsi","object":"chat.completion.chunk","created":1788198281,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_335dacabb2","choices":[{"index":0,"delta":{"tool_calls":[{"index":0,"function":{"arguments":"{\""}}]},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"sOKMbyDd4Ln3dW"} -data: {"id":"chatcmpl-ECHdUuZ1LG7sB6Y2DgfxvKaYsOglO","object":"chat.completion.chunk","created":1786596436,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_788bf556eb","choices":[{"index":0,"delta":{"tool_calls":[{"index":0,"function":{"arguments":"location"}}]},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"EyFMyF9je"} +data: {"id":"chatcmpl-EJ0Lh2KmH8yC7z5X3Q78U4MY12Gsi","object":"chat.completion.chunk","created":1788198281,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_335dacabb2","choices":[{"index":0,"delta":{"tool_calls":[{"index":0,"function":{"arguments":"location"}}]},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"TuQ5GhPcg"} -data: {"id":"chatcmpl-ECHdUuZ1LG7sB6Y2DgfxvKaYsOglO","object":"chat.completion.chunk","created":1786596436,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_788bf556eb","choices":[{"index":0,"delta":{"tool_calls":[{"index":0,"function":{"arguments":"\":\""}}]},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"3tId1bVwBMpn"} +data: {"id":"chatcmpl-EJ0Lh2KmH8yC7z5X3Q78U4MY12Gsi","object":"chat.completion.chunk","created":1788198281,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_335dacabb2","choices":[{"index":0,"delta":{"tool_calls":[{"index":0,"function":{"arguments":"\":\""}}]},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"cZ836IZNZwhv"} -data: {"id":"chatcmpl-ECHdUuZ1LG7sB6Y2DgfxvKaYsOglO","object":"chat.completion.chunk","created":1786596436,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_788bf556eb","choices":[{"index":0,"delta":{"tool_calls":[{"index":0,"function":{"arguments":"Paris"}}]},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"Phhvhbp3j2qD"} +data: {"id":"chatcmpl-EJ0Lh2KmH8yC7z5X3Q78U4MY12Gsi","object":"chat.completion.chunk","created":1788198281,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_335dacabb2","choices":[{"index":0,"delta":{"tool_calls":[{"index":0,"function":{"arguments":"Paris"}}]},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"6AkS1oBxtQvn"} -data: {"id":"chatcmpl-ECHdUuZ1LG7sB6Y2DgfxvKaYsOglO","object":"chat.completion.chunk","created":1786596436,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_788bf556eb","choices":[{"index":0,"delta":{"tool_calls":[{"index":0,"function":{"arguments":","}}]},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":""} +data: {"id":"chatcmpl-EJ0Lh2KmH8yC7z5X3Q78U4MY12Gsi","object":"chat.completion.chunk","created":1788198281,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_335dacabb2","choices":[{"index":0,"delta":{"tool_calls":[{"index":0,"function":{"arguments":","}}]},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":""} -data: {"id":"chatcmpl-ECHdUuZ1LG7sB6Y2DgfxvKaYsOglO","object":"chat.completion.chunk","created":1786596436,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_788bf556eb","choices":[{"index":0,"delta":{"tool_calls":[{"index":0,"function":{"arguments":" France"}}]},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"DTf6nWvuPs"} +data: {"id":"chatcmpl-EJ0Lh2KmH8yC7z5X3Q78U4MY12Gsi","object":"chat.completion.chunk","created":1788198281,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_335dacabb2","choices":[{"index":0,"delta":{"tool_calls":[{"index":0,"function":{"arguments":" France"}}]},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"TXPQvvFI7G"} -data: {"id":"chatcmpl-ECHdUuZ1LG7sB6Y2DgfxvKaYsOglO","object":"chat.completion.chunk","created":1786596436,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_788bf556eb","choices":[{"index":0,"delta":{"tool_calls":[{"index":0,"function":{"arguments":"\"}"}}]},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"kyjcWSXPAaohmP"} +data: {"id":"chatcmpl-EJ0Lh2KmH8yC7z5X3Q78U4MY12Gsi","object":"chat.completion.chunk","created":1788198281,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_335dacabb2","choices":[{"index":0,"delta":{"tool_calls":[{"index":0,"function":{"arguments":"\"}"}}]},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"3bVF8hOlSoAkXr"} -data: {"id":"chatcmpl-ECHdUuZ1LG7sB6Y2DgfxvKaYsOglO","object":"chat.completion.chunk","created":1786596436,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_788bf556eb","choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"tool_calls"}],"usage":null,"obfuscation":"GgWcuTsiXrRhr24"} +data: {"id":"chatcmpl-EJ0Lh2KmH8yC7z5X3Q78U4MY12Gsi","object":"chat.completion.chunk","created":1788198281,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_335dacabb2","choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"tool_calls"}],"usage":null,"obfuscation":"2CqzFiNH4HHrsT2"} -data: {"id":"chatcmpl-ECHdUuZ1LG7sB6Y2DgfxvKaYsOglO","object":"chat.completion.chunk","created":1786596436,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_788bf556eb","choices":[],"usage":{"prompt_tokens":54,"completion_tokens":16,"total_tokens":70,"prompt_tokens_details":{"cached_tokens":0,"audio_tokens":0},"completion_tokens_details":{"reasoning_tokens":0,"audio_tokens":0,"accepted_prediction_tokens":0,"rejected_prediction_tokens":0}},"obfuscation":"YxWeDMJHuo"} +data: {"id":"chatcmpl-EJ0Lh2KmH8yC7z5X3Q78U4MY12Gsi","object":"chat.completion.chunk","created":1788198281,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_335dacabb2","choices":[],"usage":{"prompt_tokens":54,"completion_tokens":16,"total_tokens":70,"prompt_tokens_details":{"cached_tokens":0,"audio_tokens":0},"completion_tokens_details":{"reasoning_tokens":0,"audio_tokens":0,"accepted_prediction_tokens":0,"rejected_prediction_tokens":0}},"obfuscation":"Qv4fRGh9Cv"} data: [DONE] diff --git a/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-147f1d6ed0ae.json b/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-147f1d6ed0ae.json index b04ff953..1ced948c 100644 --- a/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-147f1d6ed0ae.json +++ b/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-147f1d6ed0ae.json @@ -1,7 +1,7 @@ { - "id": "chatcmpl-E2MbBRfbACuWX1kCF65aVybA03YKE", + "id": "chatcmpl-EJ0LyMU0uYPcKH1n60pw6omF5hQD4", "object": "chat.completion", - "created": 1784232233, + "created": 1788198298, "model": "gpt-4o-mini-2024-07-18", "choices": [ { @@ -32,5 +32,5 @@ } }, "service_tier": "default", - "system_fingerprint": "fp_f48f1594a2" + "system_fingerprint": "fp_fdc0967d89" } diff --git a/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-1c381de89b6c.txt b/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-1c381de89b6c.txt deleted file mode 100644 index 6c90570c..00000000 --- a/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-1c381de89b6c.txt +++ /dev/null @@ -1,20 +0,0 @@ -data: {"id":"chatcmpl-EFN0SBgvy3SD5O0PLMSmu4c0qMFrE","object":"chat.completion.chunk","created":1787332064,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_5259353f0d","choices":[{"index":0,"delta":{"role":"assistant","content":"","refusal":null},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"rEudEqXFN"} - -data: {"id":"chatcmpl-EFN0SBgvy3SD5O0PLMSmu4c0qMFrE","object":"chat.completion.chunk","created":1787332064,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_5259353f0d","choices":[{"index":0,"delta":{"content":"Hello"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"LB0ILc"} - -data: {"id":"chatcmpl-EFN0SBgvy3SD5O0PLMSmu4c0qMFrE","object":"chat.completion.chunk","created":1787332064,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_5259353f0d","choices":[{"index":0,"delta":{"content":"!"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"iPznrrsuz1"} - -data: {"id":"chatcmpl-EFN0SBgvy3SD5O0PLMSmu4c0qMFrE","object":"chat.completion.chunk","created":1787332064,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_5259353f0d","choices":[{"index":1,"delta":{"role":"assistant","content":"","refusal":null},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"8dXecZ6Ws"} - -data: {"id":"chatcmpl-EFN0SBgvy3SD5O0PLMSmu4c0qMFrE","object":"chat.completion.chunk","created":1787332064,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_5259353f0d","choices":[{"index":1,"delta":{"content":"Hello"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"pRv1ll"} - -data: {"id":"chatcmpl-EFN0SBgvy3SD5O0PLMSmu4c0qMFrE","object":"chat.completion.chunk","created":1787332064,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_5259353f0d","choices":[{"index":1,"delta":{"content":"!"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"WsgOO0RJ0s"} - -data: {"id":"chatcmpl-EFN0SBgvy3SD5O0PLMSmu4c0qMFrE","object":"chat.completion.chunk","created":1787332064,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_5259353f0d","choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"stop"}],"usage":null,"obfuscation":"qv4yN"} - -data: {"id":"chatcmpl-EFN0SBgvy3SD5O0PLMSmu4c0qMFrE","object":"chat.completion.chunk","created":1787332064,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_5259353f0d","choices":[{"index":1,"delta":{},"logprobs":null,"finish_reason":"stop"}],"usage":null,"obfuscation":"osG0y"} - -data: {"id":"chatcmpl-EFN0SBgvy3SD5O0PLMSmu4c0qMFrE","object":"chat.completion.chunk","created":1787332064,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_5259353f0d","choices":[],"usage":{"prompt_tokens":22,"completion_tokens":4,"total_tokens":26,"prompt_tokens_details":{"cached_tokens":0,"audio_tokens":0},"completion_tokens_details":{"reasoning_tokens":0,"audio_tokens":0,"accepted_prediction_tokens":0,"rejected_prediction_tokens":0}},"obfuscation":"zZ61gRPTVdm"} - -data: [DONE] - diff --git a/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-1f42b61b411c.json b/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-1f42b61b411c.json new file mode 100644 index 00000000..b6e36c19 --- /dev/null +++ b/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-1f42b61b411c.json @@ -0,0 +1,36 @@ +{ + "id": "chatcmpl-EJ0LDpb9n91XjmuoJZohIzL9rlF1J", + "object": "chat.completion", + "created": 1788198251, + "model": "gpt-4o-mini-2024-07-18", + "choices": [ + { + "index": 0, + "message": { + "role": "assistant", + "content": "The capital of France is Paris.", + "refusal": null, + "annotations": [] + }, + "logprobs": null, + "finish_reason": "stop" + } + ], + "usage": { + "prompt_tokens": 23, + "completion_tokens": 7, + "total_tokens": 30, + "prompt_tokens_details": { + "cached_tokens": 0, + "audio_tokens": 0 + }, + "completion_tokens_details": { + "reasoning_tokens": 0, + "audio_tokens": 0, + "accepted_prediction_tokens": 0, + "rejected_prediction_tokens": 0 + } + }, + "service_tier": "default", + "system_fingerprint": "fp_20370cf6b8" +} diff --git a/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-2bc496b1900f.json b/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-2bc496b1900f.json index d9a2face..9b3a09d0 100644 --- a/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-2bc496b1900f.json +++ b/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-2bc496b1900f.json @@ -1,7 +1,7 @@ { - "id": "chatcmpl-E2Mb7TWvXQosn8hiCDt04fEGxVuRp", + "id": "chatcmpl-EJ0LtrdtmZecCy0bIvaSeVhOoe5GZ", "object": "chat.completion", - "created": 1784232229, + "created": 1788198293, "model": "gpt-4o-mini-2024-07-18", "choices": [ { @@ -32,5 +32,5 @@ } }, "service_tier": "default", - "system_fingerprint": "fp_f48f1594a2" + "system_fingerprint": "fp_a2de2bff52" } diff --git a/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-39f585d9410d.json b/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-39f585d9410d.json index 51782306..7c9e0a98 100644 --- a/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-39f585d9410d.json +++ b/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-39f585d9410d.json @@ -1,7 +1,7 @@ { - "id": "chatcmpl-Dz3fmQpUz0fWVH6NeTRBdAh03zaw7", + "id": "chatcmpl-EJ0EX8BbG10a6bE125f2lc1TpBnGm", "object": "chat.completion", - "created": 1783444498, + "created": 1788197837, "model": "gpt-4o-2024-08-06", "choices": [ { @@ -11,7 +11,7 @@ "content": null, "tool_calls": [ { - "id": "call_kOEkBHnUXfK8phM2avAbGGFq", + "id": "call_HG8jr2U4gv4upye4auQWJmbD", "type": "function", "function": { "name": "get_weather", @@ -42,5 +42,5 @@ } }, "service_tier": "default", - "system_fingerprint": "fp_8772b5f549" + "system_fingerprint": "fp_0d2be5c9bb" } diff --git a/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-3a0e595e4db7.json b/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-3a0e595e4db7.json new file mode 100644 index 00000000..498949ae --- /dev/null +++ b/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-3a0e595e4db7.json @@ -0,0 +1,36 @@ +{ + "id": "chatcmpl-EJ0LGfct7yHuaWh46jx4B14NVVb7a", + "object": "chat.completion", + "created": 1788198254, + "model": "gpt-4o-mini-2024-07-18", + "choices": [ + { + "index": 0, + "message": { + "role": "assistant", + "content": "The capital of France is Paris.", + "refusal": null, + "annotations": [] + }, + "logprobs": null, + "finish_reason": "stop" + } + ], + "usage": { + "prompt_tokens": 23, + "completion_tokens": 7, + "total_tokens": 30, + "prompt_tokens_details": { + "cached_tokens": 0, + "audio_tokens": 0 + }, + "completion_tokens_details": { + "reasoning_tokens": 0, + "audio_tokens": 0, + "accepted_prediction_tokens": 0, + "rejected_prediction_tokens": 0 + } + }, + "service_tier": "default", + "system_fingerprint": "fp_20370cf6b8" +} diff --git a/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-41fec2dc517f.txt b/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-41fec2dc517f.txt new file mode 100644 index 00000000..a94c28cc --- /dev/null +++ b/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-41fec2dc517f.txt @@ -0,0 +1,88 @@ +data: {"id":"chatcmpl-EJ0E6nmVGYykRvji5bCxNGF5qqlgh","object":"chat.completion.chunk","created":1788197810,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{"role":"assistant","content":"","refusal":null},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"FddSp5np0"} + +data: {"id":"chatcmpl-EJ0E6nmVGYykRvji5bCxNGF5qqlgh","object":"chat.completion.chunk","created":1788197810,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{"content":"Sure"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"qYoiPkO"} + +data: {"id":"chatcmpl-EJ0E6nmVGYykRvji5bCxNGF5qqlgh","object":"chat.completion.chunk","created":1788197810,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{"content":"!"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"lUl7GvOIcH"} + +data: {"id":"chatcmpl-EJ0E6nmVGYykRvji5bCxNGF5qqlgh","object":"chat.completion.chunk","created":1788197810,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{"content":" Here"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"nAQJI0"} + +data: {"id":"chatcmpl-EJ0E6nmVGYykRvji5bCxNGF5qqlgh","object":"chat.completion.chunk","created":1788197810,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{"content":" we"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"8X13C4wo"} + +data: {"id":"chatcmpl-EJ0E6nmVGYykRvji5bCxNGF5qqlgh","object":"chat.completion.chunk","created":1788197810,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{"content":" go"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"ZHlvNXk3"} + +data: {"id":"chatcmpl-EJ0E6nmVGYykRvji5bCxNGF5qqlgh","object":"chat.completion.chunk","created":1788197810,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{"content":":\n\n"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"D2Zn1A"} + +data: {"id":"chatcmpl-EJ0E6nmVGYykRvji5bCxNGF5qqlgh","object":"chat.completion.chunk","created":1788197810,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{"content":"1"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"hW8tpWJvmI"} + +data: {"id":"chatcmpl-EJ0E6nmVGYykRvji5bCxNGF5qqlgh","object":"chat.completion.chunk","created":1788197810,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{"content":"..."},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"kZlHZKb9"} + +data: {"id":"chatcmpl-EJ0E6nmVGYykRvji5bCxNGF5qqlgh","object":"chat.completion.chunk","created":1788197810,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{"content":" \n"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"Nu2WmHo"} + +data: {"id":"chatcmpl-EJ0E6nmVGYykRvji5bCxNGF5qqlgh","object":"chat.completion.chunk","created":1788197810,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{"content":"2"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"j7C6gYtwso"} + +data: {"id":"chatcmpl-EJ0E6nmVGYykRvji5bCxNGF5qqlgh","object":"chat.completion.chunk","created":1788197810,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{"content":"..."},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"AMrFSNm8"} + +data: {"id":"chatcmpl-EJ0E6nmVGYykRvji5bCxNGF5qqlgh","object":"chat.completion.chunk","created":1788197810,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{"content":" \n"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"13Qdg1S"} + +data: {"id":"chatcmpl-EJ0E6nmVGYykRvji5bCxNGF5qqlgh","object":"chat.completion.chunk","created":1788197810,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{"content":"3"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"ArhLgObCi4"} + +data: {"id":"chatcmpl-EJ0E6nmVGYykRvji5bCxNGF5qqlgh","object":"chat.completion.chunk","created":1788197810,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{"content":"..."},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"dQ0kiBz0"} + +data: {"id":"chatcmpl-EJ0E6nmVGYykRvji5bCxNGF5qqlgh","object":"chat.completion.chunk","created":1788197810,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{"content":" \n"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"AiNsFHk"} + +data: {"id":"chatcmpl-EJ0E6nmVGYykRvji5bCxNGF5qqlgh","object":"chat.completion.chunk","created":1788197810,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{"content":"4"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"8UZB2fjb8E"} + +data: {"id":"chatcmpl-EJ0E6nmVGYykRvji5bCxNGF5qqlgh","object":"chat.completion.chunk","created":1788197810,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{"content":"..."},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"cs1pDs6K"} + +data: {"id":"chatcmpl-EJ0E6nmVGYykRvji5bCxNGF5qqlgh","object":"chat.completion.chunk","created":1788197810,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{"content":" \n"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"lbLzBRw"} + +data: {"id":"chatcmpl-EJ0E6nmVGYykRvji5bCxNGF5qqlgh","object":"chat.completion.chunk","created":1788197810,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{"content":"5"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"Yb8pEzO7Bl"} + +data: {"id":"chatcmpl-EJ0E6nmVGYykRvji5bCxNGF5qqlgh","object":"chat.completion.chunk","created":1788197810,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{"content":"..."},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"DUrR6VM2"} + +data: {"id":"chatcmpl-EJ0E6nmVGYykRvji5bCxNGF5qqlgh","object":"chat.completion.chunk","created":1788197810,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{"content":" \n"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"pMtlbJk"} + +data: {"id":"chatcmpl-EJ0E6nmVGYykRvji5bCxNGF5qqlgh","object":"chat.completion.chunk","created":1788197810,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{"content":"6"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"m754Jy0aMf"} + +data: {"id":"chatcmpl-EJ0E6nmVGYykRvji5bCxNGF5qqlgh","object":"chat.completion.chunk","created":1788197810,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{"content":"..."},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"xXk3QTKM"} + +data: {"id":"chatcmpl-EJ0E6nmVGYykRvji5bCxNGF5qqlgh","object":"chat.completion.chunk","created":1788197810,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{"content":" \n"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"elNRWGB"} + +data: {"id":"chatcmpl-EJ0E6nmVGYykRvji5bCxNGF5qqlgh","object":"chat.completion.chunk","created":1788197810,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{"content":"7"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"ORrL928OKS"} + +data: {"id":"chatcmpl-EJ0E6nmVGYykRvji5bCxNGF5qqlgh","object":"chat.completion.chunk","created":1788197810,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{"content":"..."},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"U0gLqz8z"} + +data: {"id":"chatcmpl-EJ0E6nmVGYykRvji5bCxNGF5qqlgh","object":"chat.completion.chunk","created":1788197810,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{"content":" \n"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"Jc6WKuZ"} + +data: {"id":"chatcmpl-EJ0E6nmVGYykRvji5bCxNGF5qqlgh","object":"chat.completion.chunk","created":1788197810,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{"content":"8"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"Hj0V6jp5bn"} + +data: {"id":"chatcmpl-EJ0E6nmVGYykRvji5bCxNGF5qqlgh","object":"chat.completion.chunk","created":1788197810,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{"content":"..."},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"NwCb46IB"} + +data: {"id":"chatcmpl-EJ0E6nmVGYykRvji5bCxNGF5qqlgh","object":"chat.completion.chunk","created":1788197810,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{"content":" \n"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"POPQTS2"} + +data: {"id":"chatcmpl-EJ0E6nmVGYykRvji5bCxNGF5qqlgh","object":"chat.completion.chunk","created":1788197810,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{"content":"9"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"9LxGT80Kfq"} + +data: {"id":"chatcmpl-EJ0E6nmVGYykRvji5bCxNGF5qqlgh","object":"chat.completion.chunk","created":1788197810,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{"content":"..."},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"yVmLfW9Z"} + +data: {"id":"chatcmpl-EJ0E6nmVGYykRvji5bCxNGF5qqlgh","object":"chat.completion.chunk","created":1788197810,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{"content":" \n"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"RC6vniX"} + +data: {"id":"chatcmpl-EJ0E6nmVGYykRvji5bCxNGF5qqlgh","object":"chat.completion.chunk","created":1788197810,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{"content":"10"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"TV41pj9Es"} + +data: {"id":"chatcmpl-EJ0E6nmVGYykRvji5bCxNGF5qqlgh","object":"chat.completion.chunk","created":1788197810,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{"content":"..."},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"rPsv5QBt"} + +data: {"id":"chatcmpl-EJ0E6nmVGYykRvji5bCxNGF5qqlgh","object":"chat.completion.chunk","created":1788197810,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{"content":" \n\n"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"bAzwQ"} + +data: {"id":"chatcmpl-EJ0E6nmVGYykRvji5bCxNGF5qqlgh","object":"chat.completion.chunk","created":1788197810,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{"content":"Take"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"o6rjlDJ"} + +data: {"id":"chatcmpl-EJ0E6nmVGYykRvji5bCxNGF5qqlgh","object":"chat.completion.chunk","created":1788197810,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{"content":" your"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"hmgngm"} + +data: {"id":"chatcmpl-EJ0E6nmVGYykRvji5bCxNGF5qqlgh","object":"chat.completion.chunk","created":1788197810,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{"content":" time"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"TALYBf"} + +data: {"id":"chatcmpl-EJ0E6nmVGYykRvji5bCxNGF5qqlgh","object":"chat.completion.chunk","created":1788197810,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{"content":"!"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"Zp5m21S4qP"} + +data: {"id":"chatcmpl-EJ0E6nmVGYykRvji5bCxNGF5qqlgh","object":"chat.completion.chunk","created":1788197810,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"stop"}],"usage":null,"obfuscation":"ZueKl"} + +data: {"id":"chatcmpl-EJ0E6nmVGYykRvji5bCxNGF5qqlgh","object":"chat.completion.chunk","created":1788197810,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[],"usage":{"prompt_tokens":25,"completion_tokens":40,"total_tokens":65,"prompt_tokens_details":{"cached_tokens":0,"audio_tokens":0},"completion_tokens_details":{"reasoning_tokens":0,"audio_tokens":0,"accepted_prediction_tokens":0,"rejected_prediction_tokens":0}},"obfuscation":"8aOfVAFflx"} + +data: [DONE] + diff --git a/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-4d01f33ddf1d.json b/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-4d01f33ddf1d.json new file mode 100644 index 00000000..68f2021f --- /dev/null +++ b/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-4d01f33ddf1d.json @@ -0,0 +1,36 @@ +{ + "id": "chatcmpl-EJ0E7DzD2I0UdG2Tm1nGb3zlS9Iog", + "object": "chat.completion", + "created": 1788197811, + "model": "gpt-4o-mini-2024-07-18", + "choices": [ + { + "index": 0, + "message": { + "role": "assistant", + "content": "The capital of France is Paris.", + "refusal": null, + "annotations": [] + }, + "logprobs": null, + "finish_reason": "stop" + } + ], + "usage": { + "prompt_tokens": 23, + "completion_tokens": 7, + "total_tokens": 30, + "prompt_tokens_details": { + "cached_tokens": 0, + "audio_tokens": 0 + }, + "completion_tokens_details": { + "reasoning_tokens": 0, + "audio_tokens": 0, + "accepted_prediction_tokens": 0, + "rejected_prediction_tokens": 0 + } + }, + "service_tier": "default", + "system_fingerprint": "fp_01e44b225d" +} diff --git a/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-538b5ad9c2fe.txt b/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-538b5ad9c2fe.txt index 35c4b29b..7f06722d 100644 --- a/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-538b5ad9c2fe.txt +++ b/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-538b5ad9c2fe.txt @@ -1,22 +1,22 @@ -data: {"id":"chatcmpl-ECHRyVCdHnM9OEpFBhFG8RzmndiYh","object":"chat.completion.chunk","created":1786595722,"model":"gpt-4o-2024-08-06","service_tier":"default","system_fingerprint":"fp_17e3c4f467","choices":[{"index":0,"delta":{"role":"assistant","content":null,"tool_calls":[{"index":0,"id":"call_YzrsLLgDExH6lDeyfyLGZfzf","type":"function","function":{"name":"get_weather","arguments":""}}],"refusal":null},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"24lDEkHwG"} +data: {"id":"chatcmpl-EJ0Kp8fbub8raxxNNKVA7pwPPQOZG","object":"chat.completion.chunk","created":1788198227,"model":"gpt-4o-2024-08-06","service_tier":"default","system_fingerprint":"fp_ffd8308b42","choices":[{"index":0,"delta":{"role":"assistant","content":null,"tool_calls":[{"index":0,"id":"call_IuYdNInzoMSy8PLCI4nsHnXG","type":"function","function":{"name":"get_weather","arguments":""}}],"refusal":null},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"iRIu2pCzY"} -data: {"id":"chatcmpl-ECHRyVCdHnM9OEpFBhFG8RzmndiYh","object":"chat.completion.chunk","created":1786595722,"model":"gpt-4o-2024-08-06","service_tier":"default","system_fingerprint":"fp_17e3c4f467","choices":[{"index":0,"delta":{"tool_calls":[{"index":0,"function":{"arguments":"{\""}}]},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"iRR"} +data: {"id":"chatcmpl-EJ0Kp8fbub8raxxNNKVA7pwPPQOZG","object":"chat.completion.chunk","created":1788198227,"model":"gpt-4o-2024-08-06","service_tier":"default","system_fingerprint":"fp_ffd8308b42","choices":[{"index":0,"delta":{"tool_calls":[{"index":0,"function":{"arguments":"{\""}}]},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"gy4"} -data: {"id":"chatcmpl-ECHRyVCdHnM9OEpFBhFG8RzmndiYh","object":"chat.completion.chunk","created":1786595722,"model":"gpt-4o-2024-08-06","service_tier":"default","system_fingerprint":"fp_17e3c4f467","choices":[{"index":0,"delta":{"tool_calls":[{"index":0,"function":{"arguments":"location"}}]},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"PH81B2RXCELeVy"} +data: {"id":"chatcmpl-EJ0Kp8fbub8raxxNNKVA7pwPPQOZG","object":"chat.completion.chunk","created":1788198227,"model":"gpt-4o-2024-08-06","service_tier":"default","system_fingerprint":"fp_ffd8308b42","choices":[{"index":0,"delta":{"tool_calls":[{"index":0,"function":{"arguments":"location"}}]},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"r9wl03OIz7VrYP"} -data: {"id":"chatcmpl-ECHRyVCdHnM9OEpFBhFG8RzmndiYh","object":"chat.completion.chunk","created":1786595722,"model":"gpt-4o-2024-08-06","service_tier":"default","system_fingerprint":"fp_17e3c4f467","choices":[{"index":0,"delta":{"tool_calls":[{"index":0,"function":{"arguments":"\":\""}}]},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"r"} +data: {"id":"chatcmpl-EJ0Kp8fbub8raxxNNKVA7pwPPQOZG","object":"chat.completion.chunk","created":1788198227,"model":"gpt-4o-2024-08-06","service_tier":"default","system_fingerprint":"fp_ffd8308b42","choices":[{"index":0,"delta":{"tool_calls":[{"index":0,"function":{"arguments":"\":\""}}]},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"u"} -data: {"id":"chatcmpl-ECHRyVCdHnM9OEpFBhFG8RzmndiYh","object":"chat.completion.chunk","created":1786595722,"model":"gpt-4o-2024-08-06","service_tier":"default","system_fingerprint":"fp_17e3c4f467","choices":[{"index":0,"delta":{"tool_calls":[{"index":0,"function":{"arguments":"Paris"}}]},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"U"} +data: {"id":"chatcmpl-EJ0Kp8fbub8raxxNNKVA7pwPPQOZG","object":"chat.completion.chunk","created":1788198227,"model":"gpt-4o-2024-08-06","service_tier":"default","system_fingerprint":"fp_ffd8308b42","choices":[{"index":0,"delta":{"tool_calls":[{"index":0,"function":{"arguments":"Paris"}}]},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"V"} -data: {"id":"chatcmpl-ECHRyVCdHnM9OEpFBhFG8RzmndiYh","object":"chat.completion.chunk","created":1786595722,"model":"gpt-4o-2024-08-06","service_tier":"default","system_fingerprint":"fp_17e3c4f467","choices":[{"index":0,"delta":{"tool_calls":[{"index":0,"function":{"arguments":","}}]},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"na9eB"} +data: {"id":"chatcmpl-EJ0Kp8fbub8raxxNNKVA7pwPPQOZG","object":"chat.completion.chunk","created":1788198227,"model":"gpt-4o-2024-08-06","service_tier":"default","system_fingerprint":"fp_ffd8308b42","choices":[{"index":0,"delta":{"tool_calls":[{"index":0,"function":{"arguments":","}}]},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"uYn0k"} -data: {"id":"chatcmpl-ECHRyVCdHnM9OEpFBhFG8RzmndiYh","object":"chat.completion.chunk","created":1786595722,"model":"gpt-4o-2024-08-06","service_tier":"default","system_fingerprint":"fp_17e3c4f467","choices":[{"index":0,"delta":{"tool_calls":[{"index":0,"function":{"arguments":" France"}}]},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"t67urqAfYzw4YkA"} +data: {"id":"chatcmpl-EJ0Kp8fbub8raxxNNKVA7pwPPQOZG","object":"chat.completion.chunk","created":1788198227,"model":"gpt-4o-2024-08-06","service_tier":"default","system_fingerprint":"fp_ffd8308b42","choices":[{"index":0,"delta":{"tool_calls":[{"index":0,"function":{"arguments":" France"}}]},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"V5j9DSfGhJbEE1D"} -data: {"id":"chatcmpl-ECHRyVCdHnM9OEpFBhFG8RzmndiYh","object":"chat.completion.chunk","created":1786595722,"model":"gpt-4o-2024-08-06","service_tier":"default","system_fingerprint":"fp_17e3c4f467","choices":[{"index":0,"delta":{"tool_calls":[{"index":0,"function":{"arguments":"\"}"}}]},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"GnF"} +data: {"id":"chatcmpl-EJ0Kp8fbub8raxxNNKVA7pwPPQOZG","object":"chat.completion.chunk","created":1788198227,"model":"gpt-4o-2024-08-06","service_tier":"default","system_fingerprint":"fp_ffd8308b42","choices":[{"index":0,"delta":{"tool_calls":[{"index":0,"function":{"arguments":"\"}"}}]},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"HBV"} -data: {"id":"chatcmpl-ECHRyVCdHnM9OEpFBhFG8RzmndiYh","object":"chat.completion.chunk","created":1786595722,"model":"gpt-4o-2024-08-06","service_tier":"default","system_fingerprint":"fp_17e3c4f467","choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"tool_calls"}],"usage":null,"obfuscation":"fzoa"} +data: {"id":"chatcmpl-EJ0Kp8fbub8raxxNNKVA7pwPPQOZG","object":"chat.completion.chunk","created":1788198227,"model":"gpt-4o-2024-08-06","service_tier":"default","system_fingerprint":"fp_ffd8308b42","choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"tool_calls"}],"usage":null,"obfuscation":"aBgC"} -data: {"id":"chatcmpl-ECHRyVCdHnM9OEpFBhFG8RzmndiYh","object":"chat.completion.chunk","created":1786595722,"model":"gpt-4o-2024-08-06","service_tier":"default","system_fingerprint":"fp_17e3c4f467","choices":[],"usage":{"prompt_tokens":60,"completion_tokens":16,"total_tokens":76,"prompt_tokens_details":{"cached_tokens":0,"audio_tokens":0},"completion_tokens_details":{"reasoning_tokens":0,"audio_tokens":0,"accepted_prediction_tokens":0,"rejected_prediction_tokens":0}},"obfuscation":"w4h2BjdLR6FblLt"} +data: {"id":"chatcmpl-EJ0Kp8fbub8raxxNNKVA7pwPPQOZG","object":"chat.completion.chunk","created":1788198227,"model":"gpt-4o-2024-08-06","service_tier":"default","system_fingerprint":"fp_ffd8308b42","choices":[],"usage":{"prompt_tokens":60,"completion_tokens":16,"total_tokens":76,"prompt_tokens_details":{"cached_tokens":0,"audio_tokens":0},"completion_tokens_details":{"reasoning_tokens":0,"audio_tokens":0,"accepted_prediction_tokens":0,"rejected_prediction_tokens":0}},"obfuscation":"amo93woAaA8c0u8"} data: [DONE] diff --git a/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-57dcb1d10cc1.txt b/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-57dcb1d10cc1.txt deleted file mode 100644 index 94cae36d..00000000 --- a/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-57dcb1d10cc1.txt +++ /dev/null @@ -1,20 +0,0 @@ -data: {"id":"chatcmpl-EFN08ov25rgg1Lg81GXC1P51lAy2K","object":"chat.completion.chunk","created":1787332044,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_5259353f0d","choices":[{"index":0,"delta":{"role":"assistant","content":"","refusal":null},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"CUhBPmUcy"} - -data: {"id":"chatcmpl-EFN08ov25rgg1Lg81GXC1P51lAy2K","object":"chat.completion.chunk","created":1787332044,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_5259353f0d","choices":[{"index":0,"delta":{"content":"Hello"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"o6ORo6"} - -data: {"id":"chatcmpl-EFN08ov25rgg1Lg81GXC1P51lAy2K","object":"chat.completion.chunk","created":1787332044,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_5259353f0d","choices":[{"index":0,"delta":{"content":"!"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"coIhJfci0I"} - -data: {"id":"chatcmpl-EFN08ov25rgg1Lg81GXC1P51lAy2K","object":"chat.completion.chunk","created":1787332044,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_5259353f0d","choices":[{"index":1,"delta":{"role":"assistant","content":"","refusal":null},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"IFFE01toV"} - -data: {"id":"chatcmpl-EFN08ov25rgg1Lg81GXC1P51lAy2K","object":"chat.completion.chunk","created":1787332044,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_5259353f0d","choices":[{"index":1,"delta":{"content":"Hello"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"eWbHsW"} - -data: {"id":"chatcmpl-EFN08ov25rgg1Lg81GXC1P51lAy2K","object":"chat.completion.chunk","created":1787332044,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_5259353f0d","choices":[{"index":1,"delta":{"content":"!"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"o8Lf7r42u1"} - -data: {"id":"chatcmpl-EFN08ov25rgg1Lg81GXC1P51lAy2K","object":"chat.completion.chunk","created":1787332044,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_5259353f0d","choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"stop"}],"usage":null,"obfuscation":"lXejU"} - -data: {"id":"chatcmpl-EFN08ov25rgg1Lg81GXC1P51lAy2K","object":"chat.completion.chunk","created":1787332044,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_5259353f0d","choices":[{"index":1,"delta":{},"logprobs":null,"finish_reason":"stop"}],"usage":null,"obfuscation":"FQD5F"} - -data: {"id":"chatcmpl-EFN08ov25rgg1Lg81GXC1P51lAy2K","object":"chat.completion.chunk","created":1787332044,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_5259353f0d","choices":[],"usage":{"prompt_tokens":22,"completion_tokens":4,"total_tokens":26,"prompt_tokens_details":{"cached_tokens":0,"audio_tokens":0},"completion_tokens_details":{"reasoning_tokens":0,"audio_tokens":0,"accepted_prediction_tokens":0,"rejected_prediction_tokens":0}},"obfuscation":"uKI2r1lKkLB"} - -data: [DONE] - diff --git a/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-60642de92108.txt b/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-60642de92108.txt deleted file mode 100644 index d472f369..00000000 --- a/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-60642de92108.txt +++ /dev/null @@ -1,88 +0,0 @@ -data: {"id":"chatcmpl-EFN09eeAPJWLHYFpAB2etyKVjYTy5","object":"chat.completion.chunk","created":1787332045,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_f344a168a1","choices":[{"index":0,"delta":{"role":"assistant","content":"","refusal":null},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"lCydCmc6I"} - -data: {"id":"chatcmpl-EFN09eeAPJWLHYFpAB2etyKVjYTy5","object":"chat.completion.chunk","created":1787332045,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_f344a168a1","choices":[{"index":0,"delta":{"content":"Sure"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"IP1feBM"} - -data: {"id":"chatcmpl-EFN09eeAPJWLHYFpAB2etyKVjYTy5","object":"chat.completion.chunk","created":1787332045,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_f344a168a1","choices":[{"index":0,"delta":{"content":"!"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"plT80lsjuL"} - -data: {"id":"chatcmpl-EFN09eeAPJWLHYFpAB2etyKVjYTy5","object":"chat.completion.chunk","created":1787332045,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_f344a168a1","choices":[{"index":0,"delta":{"content":" Here"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"xNIjv6"} - -data: {"id":"chatcmpl-EFN09eeAPJWLHYFpAB2etyKVjYTy5","object":"chat.completion.chunk","created":1787332045,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_f344a168a1","choices":[{"index":0,"delta":{"content":" we"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"TLukkqeM"} - -data: {"id":"chatcmpl-EFN09eeAPJWLHYFpAB2etyKVjYTy5","object":"chat.completion.chunk","created":1787332045,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_f344a168a1","choices":[{"index":0,"delta":{"content":" go"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"KGqzq7xh"} - -data: {"id":"chatcmpl-EFN09eeAPJWLHYFpAB2etyKVjYTy5","object":"chat.completion.chunk","created":1787332045,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_f344a168a1","choices":[{"index":0,"delta":{"content":":\n\n"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"RXfO8o"} - -data: {"id":"chatcmpl-EFN09eeAPJWLHYFpAB2etyKVjYTy5","object":"chat.completion.chunk","created":1787332045,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_f344a168a1","choices":[{"index":0,"delta":{"content":"1"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"WRrQeNOeka"} - -data: {"id":"chatcmpl-EFN09eeAPJWLHYFpAB2etyKVjYTy5","object":"chat.completion.chunk","created":1787332045,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_f344a168a1","choices":[{"index":0,"delta":{"content":"..."},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"NIj20BnW"} - -data: {"id":"chatcmpl-EFN09eeAPJWLHYFpAB2etyKVjYTy5","object":"chat.completion.chunk","created":1787332045,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_f344a168a1","choices":[{"index":0,"delta":{"content":" \n"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"naITW8u"} - -data: {"id":"chatcmpl-EFN09eeAPJWLHYFpAB2etyKVjYTy5","object":"chat.completion.chunk","created":1787332045,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_f344a168a1","choices":[{"index":0,"delta":{"content":"2"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"VFr7QkW3dB"} - -data: {"id":"chatcmpl-EFN09eeAPJWLHYFpAB2etyKVjYTy5","object":"chat.completion.chunk","created":1787332045,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_f344a168a1","choices":[{"index":0,"delta":{"content":"..."},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"1XoqhCrO"} - -data: {"id":"chatcmpl-EFN09eeAPJWLHYFpAB2etyKVjYTy5","object":"chat.completion.chunk","created":1787332045,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_f344a168a1","choices":[{"index":0,"delta":{"content":" \n"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"1SVSz3N"} - -data: {"id":"chatcmpl-EFN09eeAPJWLHYFpAB2etyKVjYTy5","object":"chat.completion.chunk","created":1787332045,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_f344a168a1","choices":[{"index":0,"delta":{"content":"3"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"nHCSZGtkD3"} - -data: {"id":"chatcmpl-EFN09eeAPJWLHYFpAB2etyKVjYTy5","object":"chat.completion.chunk","created":1787332045,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_f344a168a1","choices":[{"index":0,"delta":{"content":"..."},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"tUdUMyiH"} - -data: {"id":"chatcmpl-EFN09eeAPJWLHYFpAB2etyKVjYTy5","object":"chat.completion.chunk","created":1787332045,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_f344a168a1","choices":[{"index":0,"delta":{"content":" \n"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"JF29FzY"} - -data: {"id":"chatcmpl-EFN09eeAPJWLHYFpAB2etyKVjYTy5","object":"chat.completion.chunk","created":1787332045,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_f344a168a1","choices":[{"index":0,"delta":{"content":"4"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"SpP1R3NVYE"} - -data: {"id":"chatcmpl-EFN09eeAPJWLHYFpAB2etyKVjYTy5","object":"chat.completion.chunk","created":1787332045,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_f344a168a1","choices":[{"index":0,"delta":{"content":"..."},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"2VX1cGh3"} - -data: {"id":"chatcmpl-EFN09eeAPJWLHYFpAB2etyKVjYTy5","object":"chat.completion.chunk","created":1787332045,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_f344a168a1","choices":[{"index":0,"delta":{"content":" \n"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"NopZrSm"} - -data: {"id":"chatcmpl-EFN09eeAPJWLHYFpAB2etyKVjYTy5","object":"chat.completion.chunk","created":1787332045,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_f344a168a1","choices":[{"index":0,"delta":{"content":"5"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"8jjjwwxzDV"} - -data: {"id":"chatcmpl-EFN09eeAPJWLHYFpAB2etyKVjYTy5","object":"chat.completion.chunk","created":1787332045,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_f344a168a1","choices":[{"index":0,"delta":{"content":"..."},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"yx2bZJiC"} - -data: {"id":"chatcmpl-EFN09eeAPJWLHYFpAB2etyKVjYTy5","object":"chat.completion.chunk","created":1787332045,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_f344a168a1","choices":[{"index":0,"delta":{"content":" \n"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"oeVCUY3"} - -data: {"id":"chatcmpl-EFN09eeAPJWLHYFpAB2etyKVjYTy5","object":"chat.completion.chunk","created":1787332045,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_f344a168a1","choices":[{"index":0,"delta":{"content":"6"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"5VvxYpy7We"} - -data: {"id":"chatcmpl-EFN09eeAPJWLHYFpAB2etyKVjYTy5","object":"chat.completion.chunk","created":1787332045,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_f344a168a1","choices":[{"index":0,"delta":{"content":"..."},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"niIlIvGD"} - -data: {"id":"chatcmpl-EFN09eeAPJWLHYFpAB2etyKVjYTy5","object":"chat.completion.chunk","created":1787332045,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_f344a168a1","choices":[{"index":0,"delta":{"content":" \n"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"7xgiTJt"} - -data: {"id":"chatcmpl-EFN09eeAPJWLHYFpAB2etyKVjYTy5","object":"chat.completion.chunk","created":1787332045,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_f344a168a1","choices":[{"index":0,"delta":{"content":"7"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"hBTiSjZblm"} - -data: {"id":"chatcmpl-EFN09eeAPJWLHYFpAB2etyKVjYTy5","object":"chat.completion.chunk","created":1787332045,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_f344a168a1","choices":[{"index":0,"delta":{"content":"..."},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"bhdodBh3"} - -data: {"id":"chatcmpl-EFN09eeAPJWLHYFpAB2etyKVjYTy5","object":"chat.completion.chunk","created":1787332045,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_f344a168a1","choices":[{"index":0,"delta":{"content":" \n"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"YJRMZCq"} - -data: {"id":"chatcmpl-EFN09eeAPJWLHYFpAB2etyKVjYTy5","object":"chat.completion.chunk","created":1787332045,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_f344a168a1","choices":[{"index":0,"delta":{"content":"8"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"iurrgYIvAE"} - -data: {"id":"chatcmpl-EFN09eeAPJWLHYFpAB2etyKVjYTy5","object":"chat.completion.chunk","created":1787332045,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_f344a168a1","choices":[{"index":0,"delta":{"content":"..."},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"7SucKZyV"} - -data: {"id":"chatcmpl-EFN09eeAPJWLHYFpAB2etyKVjYTy5","object":"chat.completion.chunk","created":1787332045,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_f344a168a1","choices":[{"index":0,"delta":{"content":" \n"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"K3L7XbW"} - -data: {"id":"chatcmpl-EFN09eeAPJWLHYFpAB2etyKVjYTy5","object":"chat.completion.chunk","created":1787332045,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_f344a168a1","choices":[{"index":0,"delta":{"content":"9"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"lV5WvT3oWQ"} - -data: {"id":"chatcmpl-EFN09eeAPJWLHYFpAB2etyKVjYTy5","object":"chat.completion.chunk","created":1787332045,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_f344a168a1","choices":[{"index":0,"delta":{"content":"..."},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"126oXJLM"} - -data: {"id":"chatcmpl-EFN09eeAPJWLHYFpAB2etyKVjYTy5","object":"chat.completion.chunk","created":1787332045,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_f344a168a1","choices":[{"index":0,"delta":{"content":" \n"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"LUQIxHB"} - -data: {"id":"chatcmpl-EFN09eeAPJWLHYFpAB2etyKVjYTy5","object":"chat.completion.chunk","created":1787332045,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_f344a168a1","choices":[{"index":0,"delta":{"content":"10"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"xZcDd96zU"} - -data: {"id":"chatcmpl-EFN09eeAPJWLHYFpAB2etyKVjYTy5","object":"chat.completion.chunk","created":1787332045,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_f344a168a1","choices":[{"index":0,"delta":{"content":"..."},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"skdwbOse"} - -data: {"id":"chatcmpl-EFN09eeAPJWLHYFpAB2etyKVjYTy5","object":"chat.completion.chunk","created":1787332045,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_f344a168a1","choices":[{"index":0,"delta":{"content":" \n\n"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"hUaSl"} - -data: {"id":"chatcmpl-EFN09eeAPJWLHYFpAB2etyKVjYTy5","object":"chat.completion.chunk","created":1787332045,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_f344a168a1","choices":[{"index":0,"delta":{"content":"Take"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"ikEFM1J"} - -data: {"id":"chatcmpl-EFN09eeAPJWLHYFpAB2etyKVjYTy5","object":"chat.completion.chunk","created":1787332045,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_f344a168a1","choices":[{"index":0,"delta":{"content":" your"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"wzT05N"} - -data: {"id":"chatcmpl-EFN09eeAPJWLHYFpAB2etyKVjYTy5","object":"chat.completion.chunk","created":1787332045,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_f344a168a1","choices":[{"index":0,"delta":{"content":" time"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"mOXYXV"} - -data: {"id":"chatcmpl-EFN09eeAPJWLHYFpAB2etyKVjYTy5","object":"chat.completion.chunk","created":1787332045,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_f344a168a1","choices":[{"index":0,"delta":{"content":"!"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"zsfFf8buZV"} - -data: {"id":"chatcmpl-EFN09eeAPJWLHYFpAB2etyKVjYTy5","object":"chat.completion.chunk","created":1787332045,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_f344a168a1","choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"stop"}],"usage":null,"obfuscation":"bmJNG"} - -data: {"id":"chatcmpl-EFN09eeAPJWLHYFpAB2etyKVjYTy5","object":"chat.completion.chunk","created":1787332045,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_f344a168a1","choices":[],"usage":{"prompt_tokens":25,"completion_tokens":40,"total_tokens":65,"prompt_tokens_details":{"cached_tokens":0,"audio_tokens":0},"completion_tokens_details":{"reasoning_tokens":0,"audio_tokens":0,"accepted_prediction_tokens":0,"rejected_prediction_tokens":0}},"obfuscation":"m7dHRxEUxJ"} - -data: [DONE] - diff --git a/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-640d051c9592.txt b/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-640d051c9592.txt deleted file mode 100644 index 3b3cfcd1..00000000 --- a/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-640d051c9592.txt +++ /dev/null @@ -1,20 +0,0 @@ -data: {"id":"chatcmpl-EFN07ZZg74HMGNgDBgKfv4XMkbXgv","object":"chat.completion.chunk","created":1787332043,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_5259353f0d","choices":[{"index":0,"delta":{"role":"assistant","content":"","refusal":null},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"o33x7oNTd"} - -data: {"id":"chatcmpl-EFN07ZZg74HMGNgDBgKfv4XMkbXgv","object":"chat.completion.chunk","created":1787332043,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_5259353f0d","choices":[{"index":0,"delta":{"content":"Hello"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"Sw7kiT"} - -data: {"id":"chatcmpl-EFN07ZZg74HMGNgDBgKfv4XMkbXgv","object":"chat.completion.chunk","created":1787332043,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_5259353f0d","choices":[{"index":0,"delta":{"content":"!"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"MjkZxZhG9A"} - -data: {"id":"chatcmpl-EFN07ZZg74HMGNgDBgKfv4XMkbXgv","object":"chat.completion.chunk","created":1787332043,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_5259353f0d","choices":[{"index":1,"delta":{"role":"assistant","content":"","refusal":null},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"Lcd73gjIz"} - -data: {"id":"chatcmpl-EFN07ZZg74HMGNgDBgKfv4XMkbXgv","object":"chat.completion.chunk","created":1787332043,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_5259353f0d","choices":[{"index":1,"delta":{"content":"Hello"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"CcU1uV"} - -data: {"id":"chatcmpl-EFN07ZZg74HMGNgDBgKfv4XMkbXgv","object":"chat.completion.chunk","created":1787332043,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_5259353f0d","choices":[{"index":1,"delta":{"content":"!"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"2fdTRh3xt6"} - -data: {"id":"chatcmpl-EFN07ZZg74HMGNgDBgKfv4XMkbXgv","object":"chat.completion.chunk","created":1787332043,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_5259353f0d","choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"stop"}],"usage":null,"obfuscation":"7FBRD"} - -data: {"id":"chatcmpl-EFN07ZZg74HMGNgDBgKfv4XMkbXgv","object":"chat.completion.chunk","created":1787332043,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_5259353f0d","choices":[{"index":1,"delta":{},"logprobs":null,"finish_reason":"stop"}],"usage":null,"obfuscation":"HV4Ja"} - -data: {"id":"chatcmpl-EFN07ZZg74HMGNgDBgKfv4XMkbXgv","object":"chat.completion.chunk","created":1787332043,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_5259353f0d","choices":[],"usage":{"prompt_tokens":22,"completion_tokens":4,"total_tokens":26,"prompt_tokens_details":{"cached_tokens":0,"audio_tokens":0},"completion_tokens_details":{"reasoning_tokens":0,"audio_tokens":0,"accepted_prediction_tokens":0,"rejected_prediction_tokens":0}},"obfuscation":"NT9jonWnysp"} - -data: [DONE] - diff --git a/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-6d5f19c8f2ab.json b/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-6d5f19c8f2ab.json index f81026b9..bb0b4947 100644 --- a/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-6d5f19c8f2ab.json +++ b/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-6d5f19c8f2ab.json @@ -1,7 +1,7 @@ { - "id": "chatcmpl-Dz3is5DBzFu04KO8mog4Y3JNjfjGv", + "id": "chatcmpl-EJ0LcBZmWepkS1GgG0uf2SN7GlNpM", "object": "chat.completion", - "created": 1783444690, + "created": 1788198276, "model": "gpt-4o-mini-2024-07-18", "choices": [ { @@ -32,5 +32,5 @@ } }, "service_tier": "default", - "system_fingerprint": "fp_a151a364ab" + "system_fingerprint": "fp_fdc0967d89" } diff --git a/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-70e93b55b322.json b/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-70e93b55b322.json index 68455dbe..a152be9a 100644 --- a/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-70e93b55b322.json +++ b/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-70e93b55b322.json @@ -1,7 +1,7 @@ { - "id": "chatcmpl-Dz3ieiELCwpRIh4gAaMLIdYYdDjtm", + "id": "chatcmpl-EJ0KwT10qJDDR2Rg165BvM49mJm64", "object": "chat.completion", - "created": 1783444676, + "created": 1788198234, "model": "gpt-4o-mini-2024-07-18", "choices": [ { @@ -32,5 +32,5 @@ } }, "service_tier": "default", - "system_fingerprint": "fp_87e5c5900b" + "system_fingerprint": "fp_20370cf6b8" } diff --git a/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-72d686936d43.txt b/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-72d686936d43.txt index 8314fb75..7eef09b1 100644 --- a/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-72d686936d43.txt +++ b/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-72d686936d43.txt @@ -1,22 +1,22 @@ -data: {"id":"chatcmpl-Dz3ijY1z0hddfz6XCpQFQoFPwdsst","object":"chat.completion.chunk","created":1783444681,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_87e5c5900b","choices":[{"index":0,"delta":{"role":"assistant","content":"","refusal":null},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"NuGcm4izm"} +data: {"id":"chatcmpl-EJ0LOYojjhguLIfqjzUHlDoGuKiWW","object":"chat.completion.chunk","created":1788198262,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_20370cf6b8","choices":[{"index":0,"delta":{"role":"assistant","content":"","refusal":null},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"sVnKo2gXZ"} -data: {"id":"chatcmpl-Dz3ijY1z0hddfz6XCpQFQoFPwdsst","object":"chat.completion.chunk","created":1783444681,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_87e5c5900b","choices":[{"index":0,"delta":{"content":"The"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"B07jHsLG"} +data: {"id":"chatcmpl-EJ0LOYojjhguLIfqjzUHlDoGuKiWW","object":"chat.completion.chunk","created":1788198262,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_20370cf6b8","choices":[{"index":0,"delta":{"content":"The"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"6FjUR3V3"} -data: {"id":"chatcmpl-Dz3ijY1z0hddfz6XCpQFQoFPwdsst","object":"chat.completion.chunk","created":1783444681,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_87e5c5900b","choices":[{"index":0,"delta":{"content":" capital"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"CcJ"} +data: {"id":"chatcmpl-EJ0LOYojjhguLIfqjzUHlDoGuKiWW","object":"chat.completion.chunk","created":1788198262,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_20370cf6b8","choices":[{"index":0,"delta":{"content":" capital"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"Vpz"} -data: {"id":"chatcmpl-Dz3ijY1z0hddfz6XCpQFQoFPwdsst","object":"chat.completion.chunk","created":1783444681,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_87e5c5900b","choices":[{"index":0,"delta":{"content":" of"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"UUb66SVY"} +data: {"id":"chatcmpl-EJ0LOYojjhguLIfqjzUHlDoGuKiWW","object":"chat.completion.chunk","created":1788198262,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_20370cf6b8","choices":[{"index":0,"delta":{"content":" of"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"M8KwbPy6"} -data: {"id":"chatcmpl-Dz3ijY1z0hddfz6XCpQFQoFPwdsst","object":"chat.completion.chunk","created":1783444681,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_87e5c5900b","choices":[{"index":0,"delta":{"content":" France"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"QR4e"} +data: {"id":"chatcmpl-EJ0LOYojjhguLIfqjzUHlDoGuKiWW","object":"chat.completion.chunk","created":1788198262,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_20370cf6b8","choices":[{"index":0,"delta":{"content":" France"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"jy1o"} -data: {"id":"chatcmpl-Dz3ijY1z0hddfz6XCpQFQoFPwdsst","object":"chat.completion.chunk","created":1783444681,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_87e5c5900b","choices":[{"index":0,"delta":{"content":" is"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"pIhYyEi3"} +data: {"id":"chatcmpl-EJ0LOYojjhguLIfqjzUHlDoGuKiWW","object":"chat.completion.chunk","created":1788198262,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_20370cf6b8","choices":[{"index":0,"delta":{"content":" is"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"na7HQEbv"} -data: {"id":"chatcmpl-Dz3ijY1z0hddfz6XCpQFQoFPwdsst","object":"chat.completion.chunk","created":1783444681,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_87e5c5900b","choices":[{"index":0,"delta":{"content":" Paris"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"a6GW4"} +data: {"id":"chatcmpl-EJ0LOYojjhguLIfqjzUHlDoGuKiWW","object":"chat.completion.chunk","created":1788198262,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_20370cf6b8","choices":[{"index":0,"delta":{"content":" Paris"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"Ore4c"} -data: {"id":"chatcmpl-Dz3ijY1z0hddfz6XCpQFQoFPwdsst","object":"chat.completion.chunk","created":1783444681,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_87e5c5900b","choices":[{"index":0,"delta":{"content":"."},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"NCZ3LtiV0z"} +data: {"id":"chatcmpl-EJ0LOYojjhguLIfqjzUHlDoGuKiWW","object":"chat.completion.chunk","created":1788198262,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_20370cf6b8","choices":[{"index":0,"delta":{"content":"."},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"wPl6mZB8Fp"} -data: {"id":"chatcmpl-Dz3ijY1z0hddfz6XCpQFQoFPwdsst","object":"chat.completion.chunk","created":1783444681,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_87e5c5900b","choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"stop"}],"usage":null,"obfuscation":"JShtm"} +data: {"id":"chatcmpl-EJ0LOYojjhguLIfqjzUHlDoGuKiWW","object":"chat.completion.chunk","created":1788198262,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_20370cf6b8","choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"stop"}],"usage":null,"obfuscation":"CTMJE"} -data: {"id":"chatcmpl-Dz3ijY1z0hddfz6XCpQFQoFPwdsst","object":"chat.completion.chunk","created":1783444681,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_87e5c5900b","choices":[],"usage":{"prompt_tokens":23,"completion_tokens":7,"total_tokens":30,"prompt_tokens_details":{"cached_tokens":0,"audio_tokens":0},"completion_tokens_details":{"reasoning_tokens":0,"audio_tokens":0,"accepted_prediction_tokens":0,"rejected_prediction_tokens":0}},"obfuscation":"wYFhUT6hKxM"} +data: {"id":"chatcmpl-EJ0LOYojjhguLIfqjzUHlDoGuKiWW","object":"chat.completion.chunk","created":1788198262,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_20370cf6b8","choices":[],"usage":{"prompt_tokens":23,"completion_tokens":7,"total_tokens":30,"prompt_tokens_details":{"cached_tokens":0,"audio_tokens":0},"completion_tokens_details":{"reasoning_tokens":0,"audio_tokens":0,"accepted_prediction_tokens":0,"rejected_prediction_tokens":0}},"obfuscation":"ylAenWlEW8i"} data: [DONE] diff --git a/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-7665ccbaa3f2.txt b/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-7665ccbaa3f2.txt index 9fc13190..f89a87f8 100644 --- a/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-7665ccbaa3f2.txt +++ b/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-7665ccbaa3f2.txt @@ -1,22 +1,22 @@ -data: {"id":"chatcmpl-Dz3iYBa63Vz4H1wnMkXkEQhMzfyKW","object":"chat.completion.chunk","created":1783444670,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_87e5c5900b","choices":[{"index":0,"delta":{"role":"assistant","content":"","refusal":null},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"TWTbOm7iv"} +data: {"id":"chatcmpl-EJ0Kn2eNjMGSp0K16mHAiGM2RPZja","object":"chat.completion.chunk","created":1788198225,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_20370cf6b8","choices":[{"index":0,"delta":{"role":"assistant","content":"","refusal":null},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"a2pNW0128"} -data: {"id":"chatcmpl-Dz3iYBa63Vz4H1wnMkXkEQhMzfyKW","object":"chat.completion.chunk","created":1783444670,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_87e5c5900b","choices":[{"index":0,"delta":{"content":"The"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"kUhqbb93"} +data: {"id":"chatcmpl-EJ0Kn2eNjMGSp0K16mHAiGM2RPZja","object":"chat.completion.chunk","created":1788198225,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_20370cf6b8","choices":[{"index":0,"delta":{"content":"The"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"lML2NyEc"} -data: {"id":"chatcmpl-Dz3iYBa63Vz4H1wnMkXkEQhMzfyKW","object":"chat.completion.chunk","created":1783444670,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_87e5c5900b","choices":[{"index":0,"delta":{"content":" capital"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"vzB"} +data: {"id":"chatcmpl-EJ0Kn2eNjMGSp0K16mHAiGM2RPZja","object":"chat.completion.chunk","created":1788198225,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_20370cf6b8","choices":[{"index":0,"delta":{"content":" capital"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"hhE"} -data: {"id":"chatcmpl-Dz3iYBa63Vz4H1wnMkXkEQhMzfyKW","object":"chat.completion.chunk","created":1783444670,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_87e5c5900b","choices":[{"index":0,"delta":{"content":" of"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"FsGxYWu9"} +data: {"id":"chatcmpl-EJ0Kn2eNjMGSp0K16mHAiGM2RPZja","object":"chat.completion.chunk","created":1788198225,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_20370cf6b8","choices":[{"index":0,"delta":{"content":" of"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"JRZcxVNO"} -data: {"id":"chatcmpl-Dz3iYBa63Vz4H1wnMkXkEQhMzfyKW","object":"chat.completion.chunk","created":1783444670,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_87e5c5900b","choices":[{"index":0,"delta":{"content":" France"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"coxZ"} +data: {"id":"chatcmpl-EJ0Kn2eNjMGSp0K16mHAiGM2RPZja","object":"chat.completion.chunk","created":1788198225,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_20370cf6b8","choices":[{"index":0,"delta":{"content":" France"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"Go7O"} -data: {"id":"chatcmpl-Dz3iYBa63Vz4H1wnMkXkEQhMzfyKW","object":"chat.completion.chunk","created":1783444670,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_87e5c5900b","choices":[{"index":0,"delta":{"content":" is"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"2EP5OM4x"} +data: {"id":"chatcmpl-EJ0Kn2eNjMGSp0K16mHAiGM2RPZja","object":"chat.completion.chunk","created":1788198225,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_20370cf6b8","choices":[{"index":0,"delta":{"content":" is"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"egBkwPIw"} -data: {"id":"chatcmpl-Dz3iYBa63Vz4H1wnMkXkEQhMzfyKW","object":"chat.completion.chunk","created":1783444670,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_87e5c5900b","choices":[{"index":0,"delta":{"content":" Paris"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"gmn1i"} +data: {"id":"chatcmpl-EJ0Kn2eNjMGSp0K16mHAiGM2RPZja","object":"chat.completion.chunk","created":1788198225,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_20370cf6b8","choices":[{"index":0,"delta":{"content":" Paris"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"uCPsP"} -data: {"id":"chatcmpl-Dz3iYBa63Vz4H1wnMkXkEQhMzfyKW","object":"chat.completion.chunk","created":1783444670,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_87e5c5900b","choices":[{"index":0,"delta":{"content":"."},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"SswhEUtmfO"} +data: {"id":"chatcmpl-EJ0Kn2eNjMGSp0K16mHAiGM2RPZja","object":"chat.completion.chunk","created":1788198225,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_20370cf6b8","choices":[{"index":0,"delta":{"content":"."},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"BPus3v2Iq5"} -data: {"id":"chatcmpl-Dz3iYBa63Vz4H1wnMkXkEQhMzfyKW","object":"chat.completion.chunk","created":1783444670,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_87e5c5900b","choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"stop"}],"usage":null,"obfuscation":"FFp7P"} +data: {"id":"chatcmpl-EJ0Kn2eNjMGSp0K16mHAiGM2RPZja","object":"chat.completion.chunk","created":1788198225,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_20370cf6b8","choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"stop"}],"usage":null,"obfuscation":"Ule3s"} -data: {"id":"chatcmpl-Dz3iYBa63Vz4H1wnMkXkEQhMzfyKW","object":"chat.completion.chunk","created":1783444670,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_87e5c5900b","choices":[],"usage":{"prompt_tokens":23,"completion_tokens":7,"total_tokens":30,"prompt_tokens_details":{"cached_tokens":0,"audio_tokens":0},"completion_tokens_details":{"reasoning_tokens":0,"audio_tokens":0,"accepted_prediction_tokens":0,"rejected_prediction_tokens":0}},"obfuscation":"RG888w1OQ6p"} +data: {"id":"chatcmpl-EJ0Kn2eNjMGSp0K16mHAiGM2RPZja","object":"chat.completion.chunk","created":1788198225,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_20370cf6b8","choices":[],"usage":{"prompt_tokens":23,"completion_tokens":7,"total_tokens":30,"prompt_tokens_details":{"cached_tokens":0,"audio_tokens":0},"completion_tokens_details":{"reasoning_tokens":0,"audio_tokens":0,"accepted_prediction_tokens":0,"rejected_prediction_tokens":0}},"obfuscation":"W0UGenMhegZ"} data: [DONE] diff --git a/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-7694b539a33b.json b/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-7694b539a33b.json new file mode 100644 index 00000000..1cf750a7 --- /dev/null +++ b/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-7694b539a33b.json @@ -0,0 +1,36 @@ +{ + "id": "chatcmpl-EJ0Kzv2LCW3FanDazHqAORU8M6Bay", + "object": "chat.completion", + "created": 1788198237, + "model": "gpt-4o-mini-2024-07-18", + "choices": [ + { + "index": 0, + "message": { + "role": "assistant", + "content": "The capital of France is Paris.", + "refusal": null, + "annotations": [] + }, + "logprobs": null, + "finish_reason": "stop" + } + ], + "usage": { + "prompt_tokens": 23, + "completion_tokens": 7, + "total_tokens": 30, + "prompt_tokens_details": { + "cached_tokens": 0, + "audio_tokens": 0 + }, + "completion_tokens_details": { + "reasoning_tokens": 0, + "audio_tokens": 0, + "accepted_prediction_tokens": 0, + "rejected_prediction_tokens": 0 + } + }, + "service_tier": "default", + "system_fingerprint": "fp_20370cf6b8" +} diff --git a/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-7aec0dd2e530.json b/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-7aec0dd2e530.json index 0f21ce9b..56fa59e0 100644 --- a/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-7aec0dd2e530.json +++ b/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-7aec0dd2e530.json @@ -1,14 +1,14 @@ { - "id": "chatcmpl-EFMziX8rUJjfS7sppQGlsIM5eyZJi", + "id": "chatcmpl-EJ0F1mnfyJg8mIIBkLLvWCpLk7ZhL", "object": "chat.completion", - "created": 1787332018, + "created": 1788197867, "model": "o4-mini-2025-04-16", "choices": [ { "index": 0, "message": { "role": "assistant", - "content": "Each term is the product of two consecutive integers:\n\n2 = 1·2 \n6 = 2·3 \n12 = 3·4 \n20 = 4·5 \n30 = 5·6 \n\nSo if we start counting at n = 1, the nth term aₙ is\n\n aₙ = n(n + 1)\n\nEquivalently,\n\n aₙ = n² + n.", + "content": "Each term is the product of two consecutive integers:\n\n 2 = 1·2 \n 6 = 2·3 \n 12 = 3·4 \n 20 = 4·5 \n 30 = 5·6 \n\nSo if you call the first term n=1, the n-th term is\n\n aₙ = n·(n+1) \n\nEquivalently, aₙ = n² + n.", "refusal": null, "annotations": [] }, @@ -17,14 +17,14 @@ ], "usage": { "prompt_tokens": 41, - "completion_tokens": 1005, - "total_tokens": 1046, + "completion_tokens": 754, + "total_tokens": 795, "prompt_tokens_details": { "cached_tokens": 0, "audio_tokens": 0 }, "completion_tokens_details": { - "reasoning_tokens": 896, + "reasoning_tokens": 640, "audio_tokens": 0, "accepted_prediction_tokens": 0, "rejected_prediction_tokens": 0 diff --git a/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-7eca37e75602.txt b/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-7eca37e75602.txt deleted file mode 100644 index d0c2dcca..00000000 --- a/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-7eca37e75602.txt +++ /dev/null @@ -1,90 +0,0 @@ -data: {"id":"chatcmpl-EFN08p4GLHdp4RWOMeFmsbynZaKqE","object":"chat.completion.chunk","created":1787332044,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_f344a168a1","choices":[{"index":0,"delta":{"role":"assistant","content":"","refusal":null},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"VLghwQgxe"} - -data: {"id":"chatcmpl-EFN08p4GLHdp4RWOMeFmsbynZaKqE","object":"chat.completion.chunk","created":1787332044,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_f344a168a1","choices":[{"index":0,"delta":{"content":"Sure"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"ZIyiNiK"} - -data: {"id":"chatcmpl-EFN08p4GLHdp4RWOMeFmsbynZaKqE","object":"chat.completion.chunk","created":1787332044,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_f344a168a1","choices":[{"index":0,"delta":{"content":"!"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"T74Wy0OvOw"} - -data: {"id":"chatcmpl-EFN08p4GLHdp4RWOMeFmsbynZaKqE","object":"chat.completion.chunk","created":1787332044,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_f344a168a1","choices":[{"index":0,"delta":{"content":" Here"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"1zWfBN"} - -data: {"id":"chatcmpl-EFN08p4GLHdp4RWOMeFmsbynZaKqE","object":"chat.completion.chunk","created":1787332044,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_f344a168a1","choices":[{"index":0,"delta":{"content":" we"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"XX2bAnTw"} - -data: {"id":"chatcmpl-EFN08p4GLHdp4RWOMeFmsbynZaKqE","object":"chat.completion.chunk","created":1787332044,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_f344a168a1","choices":[{"index":0,"delta":{"content":" go"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"ghJ9IMTN"} - -data: {"id":"chatcmpl-EFN08p4GLHdp4RWOMeFmsbynZaKqE","object":"chat.completion.chunk","created":1787332044,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_f344a168a1","choices":[{"index":0,"delta":{"content":":\n\n"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"6MQtCs"} - -data: {"id":"chatcmpl-EFN08p4GLHdp4RWOMeFmsbynZaKqE","object":"chat.completion.chunk","created":1787332044,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_f344a168a1","choices":[{"index":0,"delta":{"content":"1"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"4G1g3sth8S"} - -data: {"id":"chatcmpl-EFN08p4GLHdp4RWOMeFmsbynZaKqE","object":"chat.completion.chunk","created":1787332044,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_f344a168a1","choices":[{"index":0,"delta":{"content":"..."},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"uRisCLBq"} - -data: {"id":"chatcmpl-EFN08p4GLHdp4RWOMeFmsbynZaKqE","object":"chat.completion.chunk","created":1787332044,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_f344a168a1","choices":[{"index":0,"delta":{"content":" \n"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"5clz1Ny"} - -data: {"id":"chatcmpl-EFN08p4GLHdp4RWOMeFmsbynZaKqE","object":"chat.completion.chunk","created":1787332044,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_f344a168a1","choices":[{"index":0,"delta":{"content":"2"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"8Pl4jk5d8B"} - -data: {"id":"chatcmpl-EFN08p4GLHdp4RWOMeFmsbynZaKqE","object":"chat.completion.chunk","created":1787332044,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_f344a168a1","choices":[{"index":0,"delta":{"content":"..."},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"3NkhHZV6"} - -data: {"id":"chatcmpl-EFN08p4GLHdp4RWOMeFmsbynZaKqE","object":"chat.completion.chunk","created":1787332044,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_f344a168a1","choices":[{"index":0,"delta":{"content":" \n"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"Z4BPHop"} - -data: {"id":"chatcmpl-EFN08p4GLHdp4RWOMeFmsbynZaKqE","object":"chat.completion.chunk","created":1787332044,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_f344a168a1","choices":[{"index":0,"delta":{"content":"3"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"HigagInjwb"} - -data: {"id":"chatcmpl-EFN08p4GLHdp4RWOMeFmsbynZaKqE","object":"chat.completion.chunk","created":1787332044,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_f344a168a1","choices":[{"index":0,"delta":{"content":"..."},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"giaTw99v"} - -data: {"id":"chatcmpl-EFN08p4GLHdp4RWOMeFmsbynZaKqE","object":"chat.completion.chunk","created":1787332044,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_f344a168a1","choices":[{"index":0,"delta":{"content":" \n"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"90ns2Tn"} - -data: {"id":"chatcmpl-EFN08p4GLHdp4RWOMeFmsbynZaKqE","object":"chat.completion.chunk","created":1787332044,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_f344a168a1","choices":[{"index":0,"delta":{"content":"4"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"vmSrNtOKIA"} - -data: {"id":"chatcmpl-EFN08p4GLHdp4RWOMeFmsbynZaKqE","object":"chat.completion.chunk","created":1787332044,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_f344a168a1","choices":[{"index":0,"delta":{"content":"..."},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"EBAbdm31"} - -data: {"id":"chatcmpl-EFN08p4GLHdp4RWOMeFmsbynZaKqE","object":"chat.completion.chunk","created":1787332044,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_f344a168a1","choices":[{"index":0,"delta":{"content":" \n"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"ka1c8hH"} - -data: {"id":"chatcmpl-EFN08p4GLHdp4RWOMeFmsbynZaKqE","object":"chat.completion.chunk","created":1787332044,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_f344a168a1","choices":[{"index":0,"delta":{"content":"5"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"DcERiAuWM0"} - -data: {"id":"chatcmpl-EFN08p4GLHdp4RWOMeFmsbynZaKqE","object":"chat.completion.chunk","created":1787332044,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_f344a168a1","choices":[{"index":0,"delta":{"content":"..."},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"0IlnGb9R"} - -data: {"id":"chatcmpl-EFN08p4GLHdp4RWOMeFmsbynZaKqE","object":"chat.completion.chunk","created":1787332044,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_f344a168a1","choices":[{"index":0,"delta":{"content":" \n"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"Jq8pwOG"} - -data: {"id":"chatcmpl-EFN08p4GLHdp4RWOMeFmsbynZaKqE","object":"chat.completion.chunk","created":1787332044,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_f344a168a1","choices":[{"index":0,"delta":{"content":"6"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"YCfqp9BEEF"} - -data: {"id":"chatcmpl-EFN08p4GLHdp4RWOMeFmsbynZaKqE","object":"chat.completion.chunk","created":1787332044,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_f344a168a1","choices":[{"index":0,"delta":{"content":"..."},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"fNGLDfRm"} - -data: {"id":"chatcmpl-EFN08p4GLHdp4RWOMeFmsbynZaKqE","object":"chat.completion.chunk","created":1787332044,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_f344a168a1","choices":[{"index":0,"delta":{"content":" \n"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"Q7lkHwM"} - -data: {"id":"chatcmpl-EFN08p4GLHdp4RWOMeFmsbynZaKqE","object":"chat.completion.chunk","created":1787332044,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_f344a168a1","choices":[{"index":0,"delta":{"content":"7"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"dLqZ7oALue"} - -data: {"id":"chatcmpl-EFN08p4GLHdp4RWOMeFmsbynZaKqE","object":"chat.completion.chunk","created":1787332044,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_f344a168a1","choices":[{"index":0,"delta":{"content":"..."},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"PpxLzFeb"} - -data: {"id":"chatcmpl-EFN08p4GLHdp4RWOMeFmsbynZaKqE","object":"chat.completion.chunk","created":1787332044,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_f344a168a1","choices":[{"index":0,"delta":{"content":" \n"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"cs4VCeJ"} - -data: {"id":"chatcmpl-EFN08p4GLHdp4RWOMeFmsbynZaKqE","object":"chat.completion.chunk","created":1787332044,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_f344a168a1","choices":[{"index":0,"delta":{"content":"8"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"2P55EFjGD7"} - -data: {"id":"chatcmpl-EFN08p4GLHdp4RWOMeFmsbynZaKqE","object":"chat.completion.chunk","created":1787332044,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_f344a168a1","choices":[{"index":0,"delta":{"content":"..."},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"DfUqM6Tt"} - -data: {"id":"chatcmpl-EFN08p4GLHdp4RWOMeFmsbynZaKqE","object":"chat.completion.chunk","created":1787332044,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_f344a168a1","choices":[{"index":0,"delta":{"content":" \n"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"uiT1cIk"} - -data: {"id":"chatcmpl-EFN08p4GLHdp4RWOMeFmsbynZaKqE","object":"chat.completion.chunk","created":1787332044,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_f344a168a1","choices":[{"index":0,"delta":{"content":"9"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"n8Z7DdDNuh"} - -data: {"id":"chatcmpl-EFN08p4GLHdp4RWOMeFmsbynZaKqE","object":"chat.completion.chunk","created":1787332044,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_f344a168a1","choices":[{"index":0,"delta":{"content":"..."},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"0vMvyKsE"} - -data: {"id":"chatcmpl-EFN08p4GLHdp4RWOMeFmsbynZaKqE","object":"chat.completion.chunk","created":1787332044,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_f344a168a1","choices":[{"index":0,"delta":{"content":" \n"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"im8IZEj"} - -data: {"id":"chatcmpl-EFN08p4GLHdp4RWOMeFmsbynZaKqE","object":"chat.completion.chunk","created":1787332044,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_f344a168a1","choices":[{"index":0,"delta":{"content":"10"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"hXFp5wvgK"} - -data: {"id":"chatcmpl-EFN08p4GLHdp4RWOMeFmsbynZaKqE","object":"chat.completion.chunk","created":1787332044,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_f344a168a1","choices":[{"index":0,"delta":{"content":"..."},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"jDTcM2ki"} - -data: {"id":"chatcmpl-EFN08p4GLHdp4RWOMeFmsbynZaKqE","object":"chat.completion.chunk","created":1787332044,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_f344a168a1","choices":[{"index":0,"delta":{"content":" \n\n"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"zfAt7"} - -data: {"id":"chatcmpl-EFN08p4GLHdp4RWOMeFmsbynZaKqE","object":"chat.completion.chunk","created":1787332044,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_f344a168a1","choices":[{"index":0,"delta":{"content":"There"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"GMfUgf"} - -data: {"id":"chatcmpl-EFN08p4GLHdp4RWOMeFmsbynZaKqE","object":"chat.completion.chunk","created":1787332044,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_f344a168a1","choices":[{"index":0,"delta":{"content":" you"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"6OMCuyV"} - -data: {"id":"chatcmpl-EFN08p4GLHdp4RWOMeFmsbynZaKqE","object":"chat.completion.chunk","created":1787332044,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_f344a168a1","choices":[{"index":0,"delta":{"content":" have"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"Npp01H"} - -data: {"id":"chatcmpl-EFN08p4GLHdp4RWOMeFmsbynZaKqE","object":"chat.completion.chunk","created":1787332044,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_f344a168a1","choices":[{"index":0,"delta":{"content":" it"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"ryLEAufU"} - -data: {"id":"chatcmpl-EFN08p4GLHdp4RWOMeFmsbynZaKqE","object":"chat.completion.chunk","created":1787332044,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_f344a168a1","choices":[{"index":0,"delta":{"content":"!"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"vy6XWdFIhe"} - -data: {"id":"chatcmpl-EFN08p4GLHdp4RWOMeFmsbynZaKqE","object":"chat.completion.chunk","created":1787332044,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_f344a168a1","choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"stop"}],"usage":null,"obfuscation":"nFHpC"} - -data: {"id":"chatcmpl-EFN08p4GLHdp4RWOMeFmsbynZaKqE","object":"chat.completion.chunk","created":1787332044,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_f344a168a1","choices":[],"usage":{"prompt_tokens":25,"completion_tokens":41,"total_tokens":66,"prompt_tokens_details":{"cached_tokens":0,"audio_tokens":0},"completion_tokens_details":{"reasoning_tokens":0,"audio_tokens":0,"accepted_prediction_tokens":0,"rejected_prediction_tokens":0}},"obfuscation":"Kcrf9PtCzQ"} - -data: [DONE] - diff --git a/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-834f2f4789ae.json b/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-834f2f4789ae.json index b990fc28..c48cc65b 100644 --- a/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-834f2f4789ae.json +++ b/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-834f2f4789ae.json @@ -1,7 +1,7 @@ { - "id": "chatcmpl-Dz3fjbFDODukr8FGucCCRJR3aXwSr", + "id": "chatcmpl-EJ0E7T0fbTM5CXn2fczIcl4NUtN9F", "object": "chat.completion", - "created": 1783444495, + "created": 1788197811, "model": "gpt-4o-mini-2024-07-18", "choices": [ { @@ -32,5 +32,5 @@ } }, "service_tier": "default", - "system_fingerprint": "fp_9e2888e96c" + "system_fingerprint": "fp_01e44b225d" } diff --git a/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-84ab36b6457e.txt b/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-84ab36b6457e.txt index 1426844e..e9e3d005 100644 --- a/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-84ab36b6457e.txt +++ b/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-84ab36b6457e.txt @@ -1,20 +1,20 @@ -data: {"id":"chatcmpl-EFN0SoCuMHzyj2GFTHkgiuTTHpdhD","object":"chat.completion.chunk","created":1787332064,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_5259353f0d","choices":[{"index":0,"delta":{"role":"assistant","content":"","refusal":null},"logprobs":null,"finish_reason":null}],"usage":null} +data: {"id":"chatcmpl-EJ0Ebvt1BzwV3UmjspTfuDl3JfhNs","object":"chat.completion.chunk","created":1788197841,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_617e1c99b5","choices":[{"index":0,"delta":{"role":"assistant","content":"","refusal":null},"logprobs":null,"finish_reason":null}],"usage":null} -data: {"id":"chatcmpl-EFN0SoCuMHzyj2GFTHkgiuTTHpdhD","object":"chat.completion.chunk","created":1787332064,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_5259353f0d","choices":[{"index":0,"delta":{"content":"Hello"},"logprobs":null,"finish_reason":null}],"usage":null} +data: {"id":"chatcmpl-EJ0Ebvt1BzwV3UmjspTfuDl3JfhNs","object":"chat.completion.chunk","created":1788197841,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_617e1c99b5","choices":[{"index":0,"delta":{"content":"Hello"},"logprobs":null,"finish_reason":null}],"usage":null} -data: {"id":"chatcmpl-EFN0SoCuMHzyj2GFTHkgiuTTHpdhD","object":"chat.completion.chunk","created":1787332064,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_5259353f0d","choices":[{"index":0,"delta":{"content":"!"},"logprobs":null,"finish_reason":null}],"usage":null} +data: {"id":"chatcmpl-EJ0Ebvt1BzwV3UmjspTfuDl3JfhNs","object":"chat.completion.chunk","created":1788197841,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_617e1c99b5","choices":[{"index":0,"delta":{"content":"!"},"logprobs":null,"finish_reason":null}],"usage":null} -data: {"id":"chatcmpl-EFN0SoCuMHzyj2GFTHkgiuTTHpdhD","object":"chat.completion.chunk","created":1787332064,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_5259353f0d","choices":[{"index":1,"delta":{"role":"assistant","content":"","refusal":null},"logprobs":null,"finish_reason":null}],"usage":null} +data: {"id":"chatcmpl-EJ0Ebvt1BzwV3UmjspTfuDl3JfhNs","object":"chat.completion.chunk","created":1788197841,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_617e1c99b5","choices":[{"index":1,"delta":{"role":"assistant","content":"","refusal":null},"logprobs":null,"finish_reason":null}],"usage":null} -data: {"id":"chatcmpl-EFN0SoCuMHzyj2GFTHkgiuTTHpdhD","object":"chat.completion.chunk","created":1787332064,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_5259353f0d","choices":[{"index":1,"delta":{"content":"Hello"},"logprobs":null,"finish_reason":null}],"usage":null} +data: {"id":"chatcmpl-EJ0Ebvt1BzwV3UmjspTfuDl3JfhNs","object":"chat.completion.chunk","created":1788197841,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_617e1c99b5","choices":[{"index":1,"delta":{"content":"Hello"},"logprobs":null,"finish_reason":null}],"usage":null} -data: {"id":"chatcmpl-EFN0SoCuMHzyj2GFTHkgiuTTHpdhD","object":"chat.completion.chunk","created":1787332064,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_5259353f0d","choices":[{"index":1,"delta":{"content":"!"},"logprobs":null,"finish_reason":null}],"usage":null} +data: {"id":"chatcmpl-EJ0Ebvt1BzwV3UmjspTfuDl3JfhNs","object":"chat.completion.chunk","created":1788197841,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_617e1c99b5","choices":[{"index":1,"delta":{"content":"!"},"logprobs":null,"finish_reason":null}],"usage":null} -data: {"id":"chatcmpl-EFN0SoCuMHzyj2GFTHkgiuTTHpdhD","object":"chat.completion.chunk","created":1787332064,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_5259353f0d","choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"stop"}],"usage":null} +data: {"id":"chatcmpl-EJ0Ebvt1BzwV3UmjspTfuDl3JfhNs","object":"chat.completion.chunk","created":1788197841,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_617e1c99b5","choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"stop"}],"usage":null} -data: {"id":"chatcmpl-EFN0SoCuMHzyj2GFTHkgiuTTHpdhD","object":"chat.completion.chunk","created":1787332064,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_5259353f0d","choices":[{"index":1,"delta":{},"logprobs":null,"finish_reason":"stop"}],"usage":null} +data: {"id":"chatcmpl-EJ0Ebvt1BzwV3UmjspTfuDl3JfhNs","object":"chat.completion.chunk","created":1788197841,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_617e1c99b5","choices":[{"index":1,"delta":{},"logprobs":null,"finish_reason":"stop"}],"usage":null} -data: {"id":"chatcmpl-EFN0SoCuMHzyj2GFTHkgiuTTHpdhD","object":"chat.completion.chunk","created":1787332064,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_5259353f0d","choices":[],"usage":{"prompt_tokens":22,"completion_tokens":4,"total_tokens":26,"prompt_tokens_details":{"cached_tokens":0,"audio_tokens":0},"completion_tokens_details":{"reasoning_tokens":0,"audio_tokens":0,"accepted_prediction_tokens":0,"rejected_prediction_tokens":0}}} +data: {"id":"chatcmpl-EJ0Ebvt1BzwV3UmjspTfuDl3JfhNs","object":"chat.completion.chunk","created":1788197841,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_617e1c99b5","choices":[],"usage":{"prompt_tokens":22,"completion_tokens":4,"total_tokens":26,"prompt_tokens_details":{"cached_tokens":0,"audio_tokens":0},"completion_tokens_details":{"reasoning_tokens":0,"audio_tokens":0,"accepted_prediction_tokens":0,"rejected_prediction_tokens":0}}} data: [DONE] diff --git a/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-90442b2c483a.json b/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-90442b2c483a.json index cb8b2080..9eeccd20 100644 --- a/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-90442b2c483a.json +++ b/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-90442b2c483a.json @@ -1,7 +1,7 @@ { - "id": "chatcmpl-E2mmX3SR5pM1VTiIrCGLhXB0waabO", + "id": "chatcmpl-EJ0EfJV2jOyvzJqwWBHPoPC9vIkXl", "object": "chat.completion", - "created": 1784332881, + "created": 1788197845, "model": "gpt-4o-mini-2024-07-18", "choices": [ { @@ -32,5 +32,5 @@ } }, "service_tier": "default", - "system_fingerprint": "fp_e9323266c1" + "system_fingerprint": "fp_01e44b225d" } diff --git a/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-90ff0ffd3a89.txt b/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-90ff0ffd3a89.txt index b2b0fec4..6437855b 100644 --- a/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-90ff0ffd3a89.txt +++ b/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-90ff0ffd3a89.txt @@ -1,88 +1,88 @@ -data: {"id":"chatcmpl-Dz3foUdc4rjtnvcXKGGkPCY5ZTuTi","object":"chat.completion.chunk","created":1783444500,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_88876bec1e","choices":[{"index":0,"delta":{"role":"assistant","content":"","refusal":null},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"DJFqGUpzF"} +data: {"id":"chatcmpl-EJ0E7XVwjBnpW18uuvSFbsAvxk9Dl","object":"chat.completion.chunk","created":1788197811,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{"role":"assistant","content":"","refusal":null},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"QiqthvitU"} -data: {"id":"chatcmpl-Dz3foUdc4rjtnvcXKGGkPCY5ZTuTi","object":"chat.completion.chunk","created":1783444500,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_88876bec1e","choices":[{"index":0,"delta":{"content":"Sure"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"2XAUGtz"} +data: {"id":"chatcmpl-EJ0E7XVwjBnpW18uuvSFbsAvxk9Dl","object":"chat.completion.chunk","created":1788197811,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{"content":"Sure"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"PRewRck"} -data: {"id":"chatcmpl-Dz3foUdc4rjtnvcXKGGkPCY5ZTuTi","object":"chat.completion.chunk","created":1783444500,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_88876bec1e","choices":[{"index":0,"delta":{"content":"!"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"RuXsw9EaWu"} +data: {"id":"chatcmpl-EJ0E7XVwjBnpW18uuvSFbsAvxk9Dl","object":"chat.completion.chunk","created":1788197811,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{"content":"!"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"P7S4x9hXag"} -data: {"id":"chatcmpl-Dz3foUdc4rjtnvcXKGGkPCY5ZTuTi","object":"chat.completion.chunk","created":1783444500,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_88876bec1e","choices":[{"index":0,"delta":{"content":" Here"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"bstDSC"} +data: {"id":"chatcmpl-EJ0E7XVwjBnpW18uuvSFbsAvxk9Dl","object":"chat.completion.chunk","created":1788197811,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{"content":" Here"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"cDlCJX"} -data: {"id":"chatcmpl-Dz3foUdc4rjtnvcXKGGkPCY5ZTuTi","object":"chat.completion.chunk","created":1783444500,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_88876bec1e","choices":[{"index":0,"delta":{"content":" we"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"74VcIxb4"} +data: {"id":"chatcmpl-EJ0E7XVwjBnpW18uuvSFbsAvxk9Dl","object":"chat.completion.chunk","created":1788197811,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{"content":" we"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"JX1YKhNa"} -data: {"id":"chatcmpl-Dz3foUdc4rjtnvcXKGGkPCY5ZTuTi","object":"chat.completion.chunk","created":1783444500,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_88876bec1e","choices":[{"index":0,"delta":{"content":" go"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"eoy1rm0m"} +data: {"id":"chatcmpl-EJ0E7XVwjBnpW18uuvSFbsAvxk9Dl","object":"chat.completion.chunk","created":1788197811,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{"content":" go"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"EZAhX6kJ"} -data: {"id":"chatcmpl-Dz3foUdc4rjtnvcXKGGkPCY5ZTuTi","object":"chat.completion.chunk","created":1783444500,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_88876bec1e","choices":[{"index":0,"delta":{"content":":\n\n"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"PDoAOE"} +data: {"id":"chatcmpl-EJ0E7XVwjBnpW18uuvSFbsAvxk9Dl","object":"chat.completion.chunk","created":1788197811,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{"content":":\n\n"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"L5UMir"} -data: {"id":"chatcmpl-Dz3foUdc4rjtnvcXKGGkPCY5ZTuTi","object":"chat.completion.chunk","created":1783444500,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_88876bec1e","choices":[{"index":0,"delta":{"content":"1"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"shtwLlezw0"} +data: {"id":"chatcmpl-EJ0E7XVwjBnpW18uuvSFbsAvxk9Dl","object":"chat.completion.chunk","created":1788197811,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{"content":"1"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"csENDJ97OW"} -data: {"id":"chatcmpl-Dz3foUdc4rjtnvcXKGGkPCY5ZTuTi","object":"chat.completion.chunk","created":1783444500,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_88876bec1e","choices":[{"index":0,"delta":{"content":"..."},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"slDaICIZ"} +data: {"id":"chatcmpl-EJ0E7XVwjBnpW18uuvSFbsAvxk9Dl","object":"chat.completion.chunk","created":1788197811,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{"content":"..."},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"K6jcNjPy"} -data: {"id":"chatcmpl-Dz3foUdc4rjtnvcXKGGkPCY5ZTuTi","object":"chat.completion.chunk","created":1783444500,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_88876bec1e","choices":[{"index":0,"delta":{"content":" \n"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"aWFpoOe"} +data: {"id":"chatcmpl-EJ0E7XVwjBnpW18uuvSFbsAvxk9Dl","object":"chat.completion.chunk","created":1788197811,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{"content":" \n"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"Pty4IDa"} -data: {"id":"chatcmpl-Dz3foUdc4rjtnvcXKGGkPCY5ZTuTi","object":"chat.completion.chunk","created":1783444500,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_88876bec1e","choices":[{"index":0,"delta":{"content":"2"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"fSpFw46ple"} +data: {"id":"chatcmpl-EJ0E7XVwjBnpW18uuvSFbsAvxk9Dl","object":"chat.completion.chunk","created":1788197811,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{"content":"2"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"ot7opnO4h8"} -data: {"id":"chatcmpl-Dz3foUdc4rjtnvcXKGGkPCY5ZTuTi","object":"chat.completion.chunk","created":1783444500,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_88876bec1e","choices":[{"index":0,"delta":{"content":"..."},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"8ydixbVR"} +data: {"id":"chatcmpl-EJ0E7XVwjBnpW18uuvSFbsAvxk9Dl","object":"chat.completion.chunk","created":1788197811,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{"content":"..."},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"7auc9b4E"} -data: {"id":"chatcmpl-Dz3foUdc4rjtnvcXKGGkPCY5ZTuTi","object":"chat.completion.chunk","created":1783444500,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_88876bec1e","choices":[{"index":0,"delta":{"content":" \n"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"jJ3MMRr"} +data: {"id":"chatcmpl-EJ0E7XVwjBnpW18uuvSFbsAvxk9Dl","object":"chat.completion.chunk","created":1788197811,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{"content":" \n"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"Ew5KKYn"} -data: {"id":"chatcmpl-Dz3foUdc4rjtnvcXKGGkPCY5ZTuTi","object":"chat.completion.chunk","created":1783444500,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_88876bec1e","choices":[{"index":0,"delta":{"content":"3"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"nKtioTUI4z"} +data: {"id":"chatcmpl-EJ0E7XVwjBnpW18uuvSFbsAvxk9Dl","object":"chat.completion.chunk","created":1788197811,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{"content":"3"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"6YvxX117XR"} -data: {"id":"chatcmpl-Dz3foUdc4rjtnvcXKGGkPCY5ZTuTi","object":"chat.completion.chunk","created":1783444500,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_88876bec1e","choices":[{"index":0,"delta":{"content":"..."},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"ZsExa2SS"} +data: {"id":"chatcmpl-EJ0E7XVwjBnpW18uuvSFbsAvxk9Dl","object":"chat.completion.chunk","created":1788197811,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{"content":"..."},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"5eLM9zJp"} -data: {"id":"chatcmpl-Dz3foUdc4rjtnvcXKGGkPCY5ZTuTi","object":"chat.completion.chunk","created":1783444500,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_88876bec1e","choices":[{"index":0,"delta":{"content":" \n"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"o2a47vV"} +data: {"id":"chatcmpl-EJ0E7XVwjBnpW18uuvSFbsAvxk9Dl","object":"chat.completion.chunk","created":1788197811,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{"content":" \n"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"vES0RSU"} -data: {"id":"chatcmpl-Dz3foUdc4rjtnvcXKGGkPCY5ZTuTi","object":"chat.completion.chunk","created":1783444500,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_88876bec1e","choices":[{"index":0,"delta":{"content":"4"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"FYuQAyIgGm"} +data: {"id":"chatcmpl-EJ0E7XVwjBnpW18uuvSFbsAvxk9Dl","object":"chat.completion.chunk","created":1788197811,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{"content":"4"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"7Gy170HmYe"} -data: {"id":"chatcmpl-Dz3foUdc4rjtnvcXKGGkPCY5ZTuTi","object":"chat.completion.chunk","created":1783444500,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_88876bec1e","choices":[{"index":0,"delta":{"content":"..."},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"8xQEoUO3"} +data: {"id":"chatcmpl-EJ0E7XVwjBnpW18uuvSFbsAvxk9Dl","object":"chat.completion.chunk","created":1788197811,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{"content":"..."},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"cfFZTacn"} -data: {"id":"chatcmpl-Dz3foUdc4rjtnvcXKGGkPCY5ZTuTi","object":"chat.completion.chunk","created":1783444500,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_88876bec1e","choices":[{"index":0,"delta":{"content":" \n"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"qsxDfD5"} +data: {"id":"chatcmpl-EJ0E7XVwjBnpW18uuvSFbsAvxk9Dl","object":"chat.completion.chunk","created":1788197811,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{"content":" \n"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"osdUSlO"} -data: {"id":"chatcmpl-Dz3foUdc4rjtnvcXKGGkPCY5ZTuTi","object":"chat.completion.chunk","created":1783444500,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_88876bec1e","choices":[{"index":0,"delta":{"content":"5"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"YTV67omSaX"} +data: {"id":"chatcmpl-EJ0E7XVwjBnpW18uuvSFbsAvxk9Dl","object":"chat.completion.chunk","created":1788197811,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{"content":"5"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"HZQZ24haIM"} -data: {"id":"chatcmpl-Dz3foUdc4rjtnvcXKGGkPCY5ZTuTi","object":"chat.completion.chunk","created":1783444500,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_88876bec1e","choices":[{"index":0,"delta":{"content":"..."},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"YJ7RwokL"} +data: {"id":"chatcmpl-EJ0E7XVwjBnpW18uuvSFbsAvxk9Dl","object":"chat.completion.chunk","created":1788197811,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{"content":"..."},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"ymKHs6CD"} -data: {"id":"chatcmpl-Dz3foUdc4rjtnvcXKGGkPCY5ZTuTi","object":"chat.completion.chunk","created":1783444500,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_88876bec1e","choices":[{"index":0,"delta":{"content":" \n"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"B3VZdxm"} +data: {"id":"chatcmpl-EJ0E7XVwjBnpW18uuvSFbsAvxk9Dl","object":"chat.completion.chunk","created":1788197811,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{"content":" \n"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"0Tc3qWH"} -data: {"id":"chatcmpl-Dz3foUdc4rjtnvcXKGGkPCY5ZTuTi","object":"chat.completion.chunk","created":1783444500,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_88876bec1e","choices":[{"index":0,"delta":{"content":"6"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"rSu0MWmyws"} +data: {"id":"chatcmpl-EJ0E7XVwjBnpW18uuvSFbsAvxk9Dl","object":"chat.completion.chunk","created":1788197811,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{"content":"6"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"ppUiS4Uitl"} -data: {"id":"chatcmpl-Dz3foUdc4rjtnvcXKGGkPCY5ZTuTi","object":"chat.completion.chunk","created":1783444500,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_88876bec1e","choices":[{"index":0,"delta":{"content":"..."},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"UgwHCYD0"} +data: {"id":"chatcmpl-EJ0E7XVwjBnpW18uuvSFbsAvxk9Dl","object":"chat.completion.chunk","created":1788197811,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{"content":"..."},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"m1zlcTqy"} -data: {"id":"chatcmpl-Dz3foUdc4rjtnvcXKGGkPCY5ZTuTi","object":"chat.completion.chunk","created":1783444500,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_88876bec1e","choices":[{"index":0,"delta":{"content":" \n"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"BtA3ekv"} +data: {"id":"chatcmpl-EJ0E7XVwjBnpW18uuvSFbsAvxk9Dl","object":"chat.completion.chunk","created":1788197811,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{"content":" \n"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"dmzRPRP"} -data: {"id":"chatcmpl-Dz3foUdc4rjtnvcXKGGkPCY5ZTuTi","object":"chat.completion.chunk","created":1783444500,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_88876bec1e","choices":[{"index":0,"delta":{"content":"7"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"ODMAY3quLX"} +data: {"id":"chatcmpl-EJ0E7XVwjBnpW18uuvSFbsAvxk9Dl","object":"chat.completion.chunk","created":1788197811,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{"content":"7"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"KUrAjithlY"} -data: {"id":"chatcmpl-Dz3foUdc4rjtnvcXKGGkPCY5ZTuTi","object":"chat.completion.chunk","created":1783444500,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_88876bec1e","choices":[{"index":0,"delta":{"content":"..."},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"MkuVmpN8"} +data: {"id":"chatcmpl-EJ0E7XVwjBnpW18uuvSFbsAvxk9Dl","object":"chat.completion.chunk","created":1788197811,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{"content":"..."},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"BFeptDZl"} -data: {"id":"chatcmpl-Dz3foUdc4rjtnvcXKGGkPCY5ZTuTi","object":"chat.completion.chunk","created":1783444500,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_88876bec1e","choices":[{"index":0,"delta":{"content":" \n"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"eUkCaTu"} +data: {"id":"chatcmpl-EJ0E7XVwjBnpW18uuvSFbsAvxk9Dl","object":"chat.completion.chunk","created":1788197811,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{"content":" \n"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"XXrsSxa"} -data: {"id":"chatcmpl-Dz3foUdc4rjtnvcXKGGkPCY5ZTuTi","object":"chat.completion.chunk","created":1783444500,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_88876bec1e","choices":[{"index":0,"delta":{"content":"8"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"1opjvfBwq3"} +data: {"id":"chatcmpl-EJ0E7XVwjBnpW18uuvSFbsAvxk9Dl","object":"chat.completion.chunk","created":1788197811,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{"content":"8"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"KSUO6ffYs8"} -data: {"id":"chatcmpl-Dz3foUdc4rjtnvcXKGGkPCY5ZTuTi","object":"chat.completion.chunk","created":1783444500,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_88876bec1e","choices":[{"index":0,"delta":{"content":"..."},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"fjlJVgUm"} +data: {"id":"chatcmpl-EJ0E7XVwjBnpW18uuvSFbsAvxk9Dl","object":"chat.completion.chunk","created":1788197811,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{"content":"..."},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"BH14E9Ni"} -data: {"id":"chatcmpl-Dz3foUdc4rjtnvcXKGGkPCY5ZTuTi","object":"chat.completion.chunk","created":1783444500,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_88876bec1e","choices":[{"index":0,"delta":{"content":" \n"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"j79bqmn"} +data: {"id":"chatcmpl-EJ0E7XVwjBnpW18uuvSFbsAvxk9Dl","object":"chat.completion.chunk","created":1788197811,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{"content":" \n"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"02N6yEC"} -data: {"id":"chatcmpl-Dz3foUdc4rjtnvcXKGGkPCY5ZTuTi","object":"chat.completion.chunk","created":1783444500,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_88876bec1e","choices":[{"index":0,"delta":{"content":"9"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"JTViMKFKx2"} +data: {"id":"chatcmpl-EJ0E7XVwjBnpW18uuvSFbsAvxk9Dl","object":"chat.completion.chunk","created":1788197811,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{"content":"9"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"CvOZBaDNgz"} -data: {"id":"chatcmpl-Dz3foUdc4rjtnvcXKGGkPCY5ZTuTi","object":"chat.completion.chunk","created":1783444500,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_88876bec1e","choices":[{"index":0,"delta":{"content":"..."},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"uHPAaydm"} +data: {"id":"chatcmpl-EJ0E7XVwjBnpW18uuvSFbsAvxk9Dl","object":"chat.completion.chunk","created":1788197811,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{"content":"..."},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"qg2Dsj5e"} -data: {"id":"chatcmpl-Dz3foUdc4rjtnvcXKGGkPCY5ZTuTi","object":"chat.completion.chunk","created":1783444500,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_88876bec1e","choices":[{"index":0,"delta":{"content":" \n"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"7HYpJlk"} +data: {"id":"chatcmpl-EJ0E7XVwjBnpW18uuvSFbsAvxk9Dl","object":"chat.completion.chunk","created":1788197811,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{"content":" \n"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"7K8q2tP"} -data: {"id":"chatcmpl-Dz3foUdc4rjtnvcXKGGkPCY5ZTuTi","object":"chat.completion.chunk","created":1783444500,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_88876bec1e","choices":[{"index":0,"delta":{"content":"10"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"lFkAqQsHw"} +data: {"id":"chatcmpl-EJ0E7XVwjBnpW18uuvSFbsAvxk9Dl","object":"chat.completion.chunk","created":1788197811,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{"content":"10"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"1OF5uBmxE"} -data: {"id":"chatcmpl-Dz3foUdc4rjtnvcXKGGkPCY5ZTuTi","object":"chat.completion.chunk","created":1783444500,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_88876bec1e","choices":[{"index":0,"delta":{"content":"..."},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"tGYktrrV"} +data: {"id":"chatcmpl-EJ0E7XVwjBnpW18uuvSFbsAvxk9Dl","object":"chat.completion.chunk","created":1788197811,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{"content":"..."},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"3GA9ZUnL"} -data: {"id":"chatcmpl-Dz3foUdc4rjtnvcXKGGkPCY5ZTuTi","object":"chat.completion.chunk","created":1783444500,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_88876bec1e","choices":[{"index":0,"delta":{"content":" \n\n"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"3dUZP"} +data: {"id":"chatcmpl-EJ0E7XVwjBnpW18uuvSFbsAvxk9Dl","object":"chat.completion.chunk","created":1788197811,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{"content":" \n\n"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"UwnaA"} -data: {"id":"chatcmpl-Dz3foUdc4rjtnvcXKGGkPCY5ZTuTi","object":"chat.completion.chunk","created":1783444500,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_88876bec1e","choices":[{"index":0,"delta":{"content":"Take"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"LRV47oj"} +data: {"id":"chatcmpl-EJ0E7XVwjBnpW18uuvSFbsAvxk9Dl","object":"chat.completion.chunk","created":1788197811,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{"content":"Take"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"VKHEvgg"} -data: {"id":"chatcmpl-Dz3foUdc4rjtnvcXKGGkPCY5ZTuTi","object":"chat.completion.chunk","created":1783444500,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_88876bec1e","choices":[{"index":0,"delta":{"content":" your"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"Vw8FfL"} +data: {"id":"chatcmpl-EJ0E7XVwjBnpW18uuvSFbsAvxk9Dl","object":"chat.completion.chunk","created":1788197811,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{"content":" your"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"jF99Sd"} -data: {"id":"chatcmpl-Dz3foUdc4rjtnvcXKGGkPCY5ZTuTi","object":"chat.completion.chunk","created":1783444500,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_88876bec1e","choices":[{"index":0,"delta":{"content":" time"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"Fbjztn"} +data: {"id":"chatcmpl-EJ0E7XVwjBnpW18uuvSFbsAvxk9Dl","object":"chat.completion.chunk","created":1788197811,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{"content":" time"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"ALuISX"} -data: {"id":"chatcmpl-Dz3foUdc4rjtnvcXKGGkPCY5ZTuTi","object":"chat.completion.chunk","created":1783444500,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_88876bec1e","choices":[{"index":0,"delta":{"content":"!"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"1BFnEKVyyt"} +data: {"id":"chatcmpl-EJ0E7XVwjBnpW18uuvSFbsAvxk9Dl","object":"chat.completion.chunk","created":1788197811,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{"content":"!"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"JvR27dONdT"} -data: {"id":"chatcmpl-Dz3foUdc4rjtnvcXKGGkPCY5ZTuTi","object":"chat.completion.chunk","created":1783444500,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_88876bec1e","choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"stop"}],"usage":null,"obfuscation":"KnsP3"} +data: {"id":"chatcmpl-EJ0E7XVwjBnpW18uuvSFbsAvxk9Dl","object":"chat.completion.chunk","created":1788197811,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"stop"}],"usage":null,"obfuscation":"1zsh8"} -data: {"id":"chatcmpl-Dz3foUdc4rjtnvcXKGGkPCY5ZTuTi","object":"chat.completion.chunk","created":1783444500,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_88876bec1e","choices":[],"usage":{"prompt_tokens":25,"completion_tokens":40,"total_tokens":65,"prompt_tokens_details":{"cached_tokens":0,"audio_tokens":0},"completion_tokens_details":{"reasoning_tokens":0,"audio_tokens":0,"accepted_prediction_tokens":0,"rejected_prediction_tokens":0}},"obfuscation":"v2LpIciAjB"} +data: {"id":"chatcmpl-EJ0E7XVwjBnpW18uuvSFbsAvxk9Dl","object":"chat.completion.chunk","created":1788197811,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[],"usage":{"prompt_tokens":25,"completion_tokens":40,"total_tokens":65,"prompt_tokens_details":{"cached_tokens":0,"audio_tokens":0},"completion_tokens_details":{"reasoning_tokens":0,"audio_tokens":0,"accepted_prediction_tokens":0,"rejected_prediction_tokens":0}},"obfuscation":"SGrbe7T8oX"} data: [DONE] diff --git a/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-94957db25a8e.json b/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-94957db25a8e.json index a3af5778..5300117e 100644 --- a/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-94957db25a8e.json +++ b/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-94957db25a8e.json @@ -1,14 +1,14 @@ { - "id": "chatcmpl-EFMzddChBy4Hjq1tS7aMS9E9mP0MA", + "id": "chatcmpl-EJ0ERSVknSPeCPgBkUY4RLjd9q0iJ", "object": "chat.completion", - "created": 1787332013, + "created": 1788197831, "model": "o4-mini-2025-04-16", "choices": [ { "index": 0, "message": { "role": "assistant", - "content": "Each term is the product of two consecutive integers (sometimes called a “pronic” or “oblong” number). Equivalently you get the sequence by starting at 2 and adding successive even numbers 4, 6, 8, 10,…\n\nIn closed form, for n=1,2,3,…: \naₙ = n·(n+1) = n² + n\n\nCheck: \nn=1 → 1·2 = 2 \nn=2 → 2·3 = 6 \nn=3 → 3·4 = 12 \nn=4 → 4·5 = 20 \nn=5 → 5·6 = 30 …", + "content": "The numbers 2, 6, 12, 20, 30,… are the “pronic” (or oblong) numbers: each term is the product of two consecutive integers. In fact if you label them so that \n a₁=2, a₂=6, a₃=12… \nthen \n aₙ = n·(n+1). \n\nCheck: \nn=1 → 1·2 =2 \nn=2 → 2·3 =6 \nn=3 → 3·4 =12 \nn=4 → 4·5 =20 \nn=5 → 5·6 =30 \n\nEquivalently aₙ = n² + n.", "refusal": null, "annotations": [] }, @@ -17,14 +17,14 @@ ], "usage": { "prompt_tokens": 41, - "completion_tokens": 423, - "total_tokens": 464, + "completion_tokens": 942, + "total_tokens": 983, "prompt_tokens_details": { "cached_tokens": 0, "audio_tokens": 0 }, "completion_tokens_details": { - "reasoning_tokens": 256, + "reasoning_tokens": 768, "audio_tokens": 0, "accepted_prediction_tokens": 0, "rejected_prediction_tokens": 0 diff --git a/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-96cfd62fa134.json b/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-96cfd62fa134.json new file mode 100644 index 00000000..ba40889b --- /dev/null +++ b/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-96cfd62fa134.json @@ -0,0 +1,46 @@ +{ + "id": "chatcmpl-EJ0E4s5kukGZxKwvhLhS2dco4Le8T", + "object": "chat.completion", + "created": 1788197808, + "model": "gpt-4o-2024-08-06", + "choices": [ + { + "index": 0, + "message": { + "role": "assistant", + "content": null, + "tool_calls": [ + { + "id": "call_ZmZrFmTa4XFzmSglMlpEFxiK", + "type": "function", + "function": { + "name": "get_weather", + "arguments": "{\"location\":\"Paris, France\"}" + } + } + ], + "refusal": null, + "annotations": [] + }, + "logprobs": null, + "finish_reason": "tool_calls" + } + ], + "usage": { + "prompt_tokens": 85, + "completion_tokens": 16, + "total_tokens": 101, + "prompt_tokens_details": { + "cached_tokens": 0, + "audio_tokens": 0 + }, + "completion_tokens_details": { + "reasoning_tokens": 0, + "audio_tokens": 0, + "accepted_prediction_tokens": 0, + "rejected_prediction_tokens": 0 + } + }, + "service_tier": "default", + "system_fingerprint": "fp_0d2be5c9bb" +} diff --git a/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-a2986e43bb25.txt b/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-a2986e43bb25.txt index 0fc483ac..8d0acdf8 100644 --- a/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-a2986e43bb25.txt +++ b/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-a2986e43bb25.txt @@ -1,88 +1,88 @@ -data: {"id":"chatcmpl-E2mmYoX9EXCUnP8P6rXZwnGvIsQdt","object":"chat.completion.chunk","created":1784332882,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_d13ed9375e","choices":[{"index":0,"delta":{"role":"assistant","content":"","refusal":null},"logprobs":null,"finish_reason":null}],"usage":null} +data: {"id":"chatcmpl-EJ0Eba29v9GP4U7RIvViAezufPU31","object":"chat.completion.chunk","created":1788197841,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{"role":"assistant","content":"","refusal":null},"logprobs":null,"finish_reason":null}],"usage":null} -data: {"id":"chatcmpl-E2mmYoX9EXCUnP8P6rXZwnGvIsQdt","object":"chat.completion.chunk","created":1784332882,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_d13ed9375e","choices":[{"index":0,"delta":{"content":"Sure"},"logprobs":null,"finish_reason":null}],"usage":null} +data: {"id":"chatcmpl-EJ0Eba29v9GP4U7RIvViAezufPU31","object":"chat.completion.chunk","created":1788197841,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{"content":"Sure"},"logprobs":null,"finish_reason":null}],"usage":null} -data: {"id":"chatcmpl-E2mmYoX9EXCUnP8P6rXZwnGvIsQdt","object":"chat.completion.chunk","created":1784332882,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_d13ed9375e","choices":[{"index":0,"delta":{"content":"!"},"logprobs":null,"finish_reason":null}],"usage":null} +data: {"id":"chatcmpl-EJ0Eba29v9GP4U7RIvViAezufPU31","object":"chat.completion.chunk","created":1788197841,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{"content":"!"},"logprobs":null,"finish_reason":null}],"usage":null} -data: {"id":"chatcmpl-E2mmYoX9EXCUnP8P6rXZwnGvIsQdt","object":"chat.completion.chunk","created":1784332882,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_d13ed9375e","choices":[{"index":0,"delta":{"content":" Here"},"logprobs":null,"finish_reason":null}],"usage":null} +data: {"id":"chatcmpl-EJ0Eba29v9GP4U7RIvViAezufPU31","object":"chat.completion.chunk","created":1788197841,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{"content":" Here"},"logprobs":null,"finish_reason":null}],"usage":null} -data: {"id":"chatcmpl-E2mmYoX9EXCUnP8P6rXZwnGvIsQdt","object":"chat.completion.chunk","created":1784332882,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_d13ed9375e","choices":[{"index":0,"delta":{"content":" we"},"logprobs":null,"finish_reason":null}],"usage":null} +data: {"id":"chatcmpl-EJ0Eba29v9GP4U7RIvViAezufPU31","object":"chat.completion.chunk","created":1788197841,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{"content":" we"},"logprobs":null,"finish_reason":null}],"usage":null} -data: {"id":"chatcmpl-E2mmYoX9EXCUnP8P6rXZwnGvIsQdt","object":"chat.completion.chunk","created":1784332882,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_d13ed9375e","choices":[{"index":0,"delta":{"content":" go"},"logprobs":null,"finish_reason":null}],"usage":null} +data: {"id":"chatcmpl-EJ0Eba29v9GP4U7RIvViAezufPU31","object":"chat.completion.chunk","created":1788197841,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{"content":" go"},"logprobs":null,"finish_reason":null}],"usage":null} -data: {"id":"chatcmpl-E2mmYoX9EXCUnP8P6rXZwnGvIsQdt","object":"chat.completion.chunk","created":1784332882,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_d13ed9375e","choices":[{"index":0,"delta":{"content":":\n\n"},"logprobs":null,"finish_reason":null}],"usage":null} +data: {"id":"chatcmpl-EJ0Eba29v9GP4U7RIvViAezufPU31","object":"chat.completion.chunk","created":1788197841,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{"content":":\n\n"},"logprobs":null,"finish_reason":null}],"usage":null} -data: {"id":"chatcmpl-E2mmYoX9EXCUnP8P6rXZwnGvIsQdt","object":"chat.completion.chunk","created":1784332882,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_d13ed9375e","choices":[{"index":0,"delta":{"content":"1"},"logprobs":null,"finish_reason":null}],"usage":null} +data: {"id":"chatcmpl-EJ0Eba29v9GP4U7RIvViAezufPU31","object":"chat.completion.chunk","created":1788197841,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{"content":"1"},"logprobs":null,"finish_reason":null}],"usage":null} -data: {"id":"chatcmpl-E2mmYoX9EXCUnP8P6rXZwnGvIsQdt","object":"chat.completion.chunk","created":1784332882,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_d13ed9375e","choices":[{"index":0,"delta":{"content":"..."},"logprobs":null,"finish_reason":null}],"usage":null} +data: {"id":"chatcmpl-EJ0Eba29v9GP4U7RIvViAezufPU31","object":"chat.completion.chunk","created":1788197841,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{"content":"..."},"logprobs":null,"finish_reason":null}],"usage":null} -data: {"id":"chatcmpl-E2mmYoX9EXCUnP8P6rXZwnGvIsQdt","object":"chat.completion.chunk","created":1784332882,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_d13ed9375e","choices":[{"index":0,"delta":{"content":" \n"},"logprobs":null,"finish_reason":null}],"usage":null} +data: {"id":"chatcmpl-EJ0Eba29v9GP4U7RIvViAezufPU31","object":"chat.completion.chunk","created":1788197841,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{"content":" \n"},"logprobs":null,"finish_reason":null}],"usage":null} -data: {"id":"chatcmpl-E2mmYoX9EXCUnP8P6rXZwnGvIsQdt","object":"chat.completion.chunk","created":1784332882,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_d13ed9375e","choices":[{"index":0,"delta":{"content":"2"},"logprobs":null,"finish_reason":null}],"usage":null} +data: {"id":"chatcmpl-EJ0Eba29v9GP4U7RIvViAezufPU31","object":"chat.completion.chunk","created":1788197841,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{"content":"2"},"logprobs":null,"finish_reason":null}],"usage":null} -data: {"id":"chatcmpl-E2mmYoX9EXCUnP8P6rXZwnGvIsQdt","object":"chat.completion.chunk","created":1784332882,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_d13ed9375e","choices":[{"index":0,"delta":{"content":"..."},"logprobs":null,"finish_reason":null}],"usage":null} +data: {"id":"chatcmpl-EJ0Eba29v9GP4U7RIvViAezufPU31","object":"chat.completion.chunk","created":1788197841,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{"content":"..."},"logprobs":null,"finish_reason":null}],"usage":null} -data: {"id":"chatcmpl-E2mmYoX9EXCUnP8P6rXZwnGvIsQdt","object":"chat.completion.chunk","created":1784332882,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_d13ed9375e","choices":[{"index":0,"delta":{"content":" \n"},"logprobs":null,"finish_reason":null}],"usage":null} +data: {"id":"chatcmpl-EJ0Eba29v9GP4U7RIvViAezufPU31","object":"chat.completion.chunk","created":1788197841,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{"content":" \n"},"logprobs":null,"finish_reason":null}],"usage":null} -data: {"id":"chatcmpl-E2mmYoX9EXCUnP8P6rXZwnGvIsQdt","object":"chat.completion.chunk","created":1784332882,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_d13ed9375e","choices":[{"index":0,"delta":{"content":"3"},"logprobs":null,"finish_reason":null}],"usage":null} +data: {"id":"chatcmpl-EJ0Eba29v9GP4U7RIvViAezufPU31","object":"chat.completion.chunk","created":1788197841,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{"content":"3"},"logprobs":null,"finish_reason":null}],"usage":null} -data: {"id":"chatcmpl-E2mmYoX9EXCUnP8P6rXZwnGvIsQdt","object":"chat.completion.chunk","created":1784332882,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_d13ed9375e","choices":[{"index":0,"delta":{"content":"..."},"logprobs":null,"finish_reason":null}],"usage":null} +data: {"id":"chatcmpl-EJ0Eba29v9GP4U7RIvViAezufPU31","object":"chat.completion.chunk","created":1788197841,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{"content":"..."},"logprobs":null,"finish_reason":null}],"usage":null} -data: {"id":"chatcmpl-E2mmYoX9EXCUnP8P6rXZwnGvIsQdt","object":"chat.completion.chunk","created":1784332882,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_d13ed9375e","choices":[{"index":0,"delta":{"content":" \n"},"logprobs":null,"finish_reason":null}],"usage":null} +data: {"id":"chatcmpl-EJ0Eba29v9GP4U7RIvViAezufPU31","object":"chat.completion.chunk","created":1788197841,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{"content":" \n"},"logprobs":null,"finish_reason":null}],"usage":null} -data: {"id":"chatcmpl-E2mmYoX9EXCUnP8P6rXZwnGvIsQdt","object":"chat.completion.chunk","created":1784332882,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_d13ed9375e","choices":[{"index":0,"delta":{"content":"4"},"logprobs":null,"finish_reason":null}],"usage":null} +data: {"id":"chatcmpl-EJ0Eba29v9GP4U7RIvViAezufPU31","object":"chat.completion.chunk","created":1788197841,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{"content":"4"},"logprobs":null,"finish_reason":null}],"usage":null} -data: {"id":"chatcmpl-E2mmYoX9EXCUnP8P6rXZwnGvIsQdt","object":"chat.completion.chunk","created":1784332882,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_d13ed9375e","choices":[{"index":0,"delta":{"content":"..."},"logprobs":null,"finish_reason":null}],"usage":null} +data: {"id":"chatcmpl-EJ0Eba29v9GP4U7RIvViAezufPU31","object":"chat.completion.chunk","created":1788197841,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{"content":"..."},"logprobs":null,"finish_reason":null}],"usage":null} -data: {"id":"chatcmpl-E2mmYoX9EXCUnP8P6rXZwnGvIsQdt","object":"chat.completion.chunk","created":1784332882,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_d13ed9375e","choices":[{"index":0,"delta":{"content":" \n"},"logprobs":null,"finish_reason":null}],"usage":null} +data: {"id":"chatcmpl-EJ0Eba29v9GP4U7RIvViAezufPU31","object":"chat.completion.chunk","created":1788197841,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{"content":" \n"},"logprobs":null,"finish_reason":null}],"usage":null} -data: {"id":"chatcmpl-E2mmYoX9EXCUnP8P6rXZwnGvIsQdt","object":"chat.completion.chunk","created":1784332882,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_d13ed9375e","choices":[{"index":0,"delta":{"content":"5"},"logprobs":null,"finish_reason":null}],"usage":null} +data: {"id":"chatcmpl-EJ0Eba29v9GP4U7RIvViAezufPU31","object":"chat.completion.chunk","created":1788197841,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{"content":"5"},"logprobs":null,"finish_reason":null}],"usage":null} -data: {"id":"chatcmpl-E2mmYoX9EXCUnP8P6rXZwnGvIsQdt","object":"chat.completion.chunk","created":1784332882,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_d13ed9375e","choices":[{"index":0,"delta":{"content":"..."},"logprobs":null,"finish_reason":null}],"usage":null} +data: {"id":"chatcmpl-EJ0Eba29v9GP4U7RIvViAezufPU31","object":"chat.completion.chunk","created":1788197841,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{"content":"..."},"logprobs":null,"finish_reason":null}],"usage":null} -data: {"id":"chatcmpl-E2mmYoX9EXCUnP8P6rXZwnGvIsQdt","object":"chat.completion.chunk","created":1784332882,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_d13ed9375e","choices":[{"index":0,"delta":{"content":" \n"},"logprobs":null,"finish_reason":null}],"usage":null} +data: {"id":"chatcmpl-EJ0Eba29v9GP4U7RIvViAezufPU31","object":"chat.completion.chunk","created":1788197841,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{"content":" \n"},"logprobs":null,"finish_reason":null}],"usage":null} -data: {"id":"chatcmpl-E2mmYoX9EXCUnP8P6rXZwnGvIsQdt","object":"chat.completion.chunk","created":1784332882,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_d13ed9375e","choices":[{"index":0,"delta":{"content":"6"},"logprobs":null,"finish_reason":null}],"usage":null} +data: {"id":"chatcmpl-EJ0Eba29v9GP4U7RIvViAezufPU31","object":"chat.completion.chunk","created":1788197841,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{"content":"6"},"logprobs":null,"finish_reason":null}],"usage":null} -data: {"id":"chatcmpl-E2mmYoX9EXCUnP8P6rXZwnGvIsQdt","object":"chat.completion.chunk","created":1784332882,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_d13ed9375e","choices":[{"index":0,"delta":{"content":"..."},"logprobs":null,"finish_reason":null}],"usage":null} +data: {"id":"chatcmpl-EJ0Eba29v9GP4U7RIvViAezufPU31","object":"chat.completion.chunk","created":1788197841,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{"content":"..."},"logprobs":null,"finish_reason":null}],"usage":null} -data: {"id":"chatcmpl-E2mmYoX9EXCUnP8P6rXZwnGvIsQdt","object":"chat.completion.chunk","created":1784332882,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_d13ed9375e","choices":[{"index":0,"delta":{"content":" \n"},"logprobs":null,"finish_reason":null}],"usage":null} +data: {"id":"chatcmpl-EJ0Eba29v9GP4U7RIvViAezufPU31","object":"chat.completion.chunk","created":1788197841,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{"content":" \n"},"logprobs":null,"finish_reason":null}],"usage":null} -data: {"id":"chatcmpl-E2mmYoX9EXCUnP8P6rXZwnGvIsQdt","object":"chat.completion.chunk","created":1784332882,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_d13ed9375e","choices":[{"index":0,"delta":{"content":"7"},"logprobs":null,"finish_reason":null}],"usage":null} +data: {"id":"chatcmpl-EJ0Eba29v9GP4U7RIvViAezufPU31","object":"chat.completion.chunk","created":1788197841,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{"content":"7"},"logprobs":null,"finish_reason":null}],"usage":null} -data: {"id":"chatcmpl-E2mmYoX9EXCUnP8P6rXZwnGvIsQdt","object":"chat.completion.chunk","created":1784332882,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_d13ed9375e","choices":[{"index":0,"delta":{"content":"..."},"logprobs":null,"finish_reason":null}],"usage":null} +data: {"id":"chatcmpl-EJ0Eba29v9GP4U7RIvViAezufPU31","object":"chat.completion.chunk","created":1788197841,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{"content":"..."},"logprobs":null,"finish_reason":null}],"usage":null} -data: {"id":"chatcmpl-E2mmYoX9EXCUnP8P6rXZwnGvIsQdt","object":"chat.completion.chunk","created":1784332882,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_d13ed9375e","choices":[{"index":0,"delta":{"content":" \n"},"logprobs":null,"finish_reason":null}],"usage":null} +data: {"id":"chatcmpl-EJ0Eba29v9GP4U7RIvViAezufPU31","object":"chat.completion.chunk","created":1788197841,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{"content":" \n"},"logprobs":null,"finish_reason":null}],"usage":null} -data: {"id":"chatcmpl-E2mmYoX9EXCUnP8P6rXZwnGvIsQdt","object":"chat.completion.chunk","created":1784332882,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_d13ed9375e","choices":[{"index":0,"delta":{"content":"8"},"logprobs":null,"finish_reason":null}],"usage":null} +data: {"id":"chatcmpl-EJ0Eba29v9GP4U7RIvViAezufPU31","object":"chat.completion.chunk","created":1788197841,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{"content":"8"},"logprobs":null,"finish_reason":null}],"usage":null} -data: {"id":"chatcmpl-E2mmYoX9EXCUnP8P6rXZwnGvIsQdt","object":"chat.completion.chunk","created":1784332882,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_d13ed9375e","choices":[{"index":0,"delta":{"content":"..."},"logprobs":null,"finish_reason":null}],"usage":null} +data: {"id":"chatcmpl-EJ0Eba29v9GP4U7RIvViAezufPU31","object":"chat.completion.chunk","created":1788197841,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{"content":"..."},"logprobs":null,"finish_reason":null}],"usage":null} -data: {"id":"chatcmpl-E2mmYoX9EXCUnP8P6rXZwnGvIsQdt","object":"chat.completion.chunk","created":1784332882,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_d13ed9375e","choices":[{"index":0,"delta":{"content":" \n"},"logprobs":null,"finish_reason":null}],"usage":null} +data: {"id":"chatcmpl-EJ0Eba29v9GP4U7RIvViAezufPU31","object":"chat.completion.chunk","created":1788197841,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{"content":" \n"},"logprobs":null,"finish_reason":null}],"usage":null} -data: {"id":"chatcmpl-E2mmYoX9EXCUnP8P6rXZwnGvIsQdt","object":"chat.completion.chunk","created":1784332882,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_d13ed9375e","choices":[{"index":0,"delta":{"content":"9"},"logprobs":null,"finish_reason":null}],"usage":null} +data: {"id":"chatcmpl-EJ0Eba29v9GP4U7RIvViAezufPU31","object":"chat.completion.chunk","created":1788197841,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{"content":"9"},"logprobs":null,"finish_reason":null}],"usage":null} -data: {"id":"chatcmpl-E2mmYoX9EXCUnP8P6rXZwnGvIsQdt","object":"chat.completion.chunk","created":1784332882,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_d13ed9375e","choices":[{"index":0,"delta":{"content":"..."},"logprobs":null,"finish_reason":null}],"usage":null} +data: {"id":"chatcmpl-EJ0Eba29v9GP4U7RIvViAezufPU31","object":"chat.completion.chunk","created":1788197841,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{"content":"..."},"logprobs":null,"finish_reason":null}],"usage":null} -data: {"id":"chatcmpl-E2mmYoX9EXCUnP8P6rXZwnGvIsQdt","object":"chat.completion.chunk","created":1784332882,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_d13ed9375e","choices":[{"index":0,"delta":{"content":" \n"},"logprobs":null,"finish_reason":null}],"usage":null} +data: {"id":"chatcmpl-EJ0Eba29v9GP4U7RIvViAezufPU31","object":"chat.completion.chunk","created":1788197841,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{"content":" \n"},"logprobs":null,"finish_reason":null}],"usage":null} -data: {"id":"chatcmpl-E2mmYoX9EXCUnP8P6rXZwnGvIsQdt","object":"chat.completion.chunk","created":1784332882,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_d13ed9375e","choices":[{"index":0,"delta":{"content":"10"},"logprobs":null,"finish_reason":null}],"usage":null} +data: {"id":"chatcmpl-EJ0Eba29v9GP4U7RIvViAezufPU31","object":"chat.completion.chunk","created":1788197841,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{"content":"10"},"logprobs":null,"finish_reason":null}],"usage":null} -data: {"id":"chatcmpl-E2mmYoX9EXCUnP8P6rXZwnGvIsQdt","object":"chat.completion.chunk","created":1784332882,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_d13ed9375e","choices":[{"index":0,"delta":{"content":"..."},"logprobs":null,"finish_reason":null}],"usage":null} +data: {"id":"chatcmpl-EJ0Eba29v9GP4U7RIvViAezufPU31","object":"chat.completion.chunk","created":1788197841,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{"content":"..."},"logprobs":null,"finish_reason":null}],"usage":null} -data: {"id":"chatcmpl-E2mmYoX9EXCUnP8P6rXZwnGvIsQdt","object":"chat.completion.chunk","created":1784332882,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_d13ed9375e","choices":[{"index":0,"delta":{"content":" \n\n"},"logprobs":null,"finish_reason":null}],"usage":null} +data: {"id":"chatcmpl-EJ0Eba29v9GP4U7RIvViAezufPU31","object":"chat.completion.chunk","created":1788197841,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{"content":" \n\n"},"logprobs":null,"finish_reason":null}],"usage":null} -data: {"id":"chatcmpl-E2mmYoX9EXCUnP8P6rXZwnGvIsQdt","object":"chat.completion.chunk","created":1784332882,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_d13ed9375e","choices":[{"index":0,"delta":{"content":"Take"},"logprobs":null,"finish_reason":null}],"usage":null} +data: {"id":"chatcmpl-EJ0Eba29v9GP4U7RIvViAezufPU31","object":"chat.completion.chunk","created":1788197841,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{"content":"Take"},"logprobs":null,"finish_reason":null}],"usage":null} -data: {"id":"chatcmpl-E2mmYoX9EXCUnP8P6rXZwnGvIsQdt","object":"chat.completion.chunk","created":1784332882,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_d13ed9375e","choices":[{"index":0,"delta":{"content":" your"},"logprobs":null,"finish_reason":null}],"usage":null} +data: {"id":"chatcmpl-EJ0Eba29v9GP4U7RIvViAezufPU31","object":"chat.completion.chunk","created":1788197841,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{"content":" your"},"logprobs":null,"finish_reason":null}],"usage":null} -data: {"id":"chatcmpl-E2mmYoX9EXCUnP8P6rXZwnGvIsQdt","object":"chat.completion.chunk","created":1784332882,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_d13ed9375e","choices":[{"index":0,"delta":{"content":" time"},"logprobs":null,"finish_reason":null}],"usage":null} +data: {"id":"chatcmpl-EJ0Eba29v9GP4U7RIvViAezufPU31","object":"chat.completion.chunk","created":1788197841,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{"content":" time"},"logprobs":null,"finish_reason":null}],"usage":null} -data: {"id":"chatcmpl-E2mmYoX9EXCUnP8P6rXZwnGvIsQdt","object":"chat.completion.chunk","created":1784332882,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_d13ed9375e","choices":[{"index":0,"delta":{"content":"!"},"logprobs":null,"finish_reason":null}],"usage":null} +data: {"id":"chatcmpl-EJ0Eba29v9GP4U7RIvViAezufPU31","object":"chat.completion.chunk","created":1788197841,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{"content":"!"},"logprobs":null,"finish_reason":null}],"usage":null} -data: {"id":"chatcmpl-E2mmYoX9EXCUnP8P6rXZwnGvIsQdt","object":"chat.completion.chunk","created":1784332882,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_d13ed9375e","choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"stop"}],"usage":null} +data: {"id":"chatcmpl-EJ0Eba29v9GP4U7RIvViAezufPU31","object":"chat.completion.chunk","created":1788197841,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"stop"}],"usage":null} -data: {"id":"chatcmpl-E2mmYoX9EXCUnP8P6rXZwnGvIsQdt","object":"chat.completion.chunk","created":1784332882,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_d13ed9375e","choices":[],"usage":{"prompt_tokens":25,"completion_tokens":40,"total_tokens":65,"prompt_tokens_details":{"cached_tokens":0,"audio_tokens":0},"completion_tokens_details":{"reasoning_tokens":0,"audio_tokens":0,"accepted_prediction_tokens":0,"rejected_prediction_tokens":0}}} +data: {"id":"chatcmpl-EJ0Eba29v9GP4U7RIvViAezufPU31","object":"chat.completion.chunk","created":1788197841,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[],"usage":{"prompt_tokens":25,"completion_tokens":40,"total_tokens":65,"prompt_tokens_details":{"cached_tokens":0,"audio_tokens":0},"completion_tokens_details":{"reasoning_tokens":0,"audio_tokens":0,"accepted_prediction_tokens":0,"rejected_prediction_tokens":0}}} data: [DONE] diff --git a/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-acc477a295ad.txt b/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-acc477a295ad.txt index 829f2b23..dc2ae80b 100644 --- a/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-acc477a295ad.txt +++ b/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-acc477a295ad.txt @@ -1,22 +1,22 @@ -data: {"id":"chatcmpl-ECHGLaNOeixRIOA5U84vJQBxpnmLO","object":"chat.completion.chunk","created":1786595001,"model":"gpt-4o-2024-08-06","service_tier":"default","system_fingerprint":"fp_64d0f9e03c","choices":[{"index":0,"delta":{"role":"assistant","content":null,"tool_calls":[{"index":0,"id":"call_aHe1Xt2XJOAczfytVQ5tnL44","type":"function","function":{"name":"get_weather","arguments":""}}],"refusal":null},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"YRAAKHahg"} +data: {"id":"chatcmpl-EJ0IWoqbSAiwx4ZBZwwj8B0Gzjrww","object":"chat.completion.chunk","created":1788198084,"model":"gpt-4o-2024-08-06","service_tier":"default","system_fingerprint":"fp_c9a0e786b8","choices":[{"index":0,"delta":{"role":"assistant","content":null,"tool_calls":[{"index":0,"id":"call_e2pu9cEmmLQ4IW23qxo0e8cM","type":"function","function":{"name":"get_weather","arguments":""}}],"refusal":null},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"ab3VzbDL8"} -data: {"id":"chatcmpl-ECHGLaNOeixRIOA5U84vJQBxpnmLO","object":"chat.completion.chunk","created":1786595001,"model":"gpt-4o-2024-08-06","service_tier":"default","system_fingerprint":"fp_64d0f9e03c","choices":[{"index":0,"delta":{"tool_calls":[{"index":0,"function":{"arguments":"{\""}}]},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"gOk"} +data: {"id":"chatcmpl-EJ0IWoqbSAiwx4ZBZwwj8B0Gzjrww","object":"chat.completion.chunk","created":1788198084,"model":"gpt-4o-2024-08-06","service_tier":"default","system_fingerprint":"fp_c9a0e786b8","choices":[{"index":0,"delta":{"tool_calls":[{"index":0,"function":{"arguments":"{\""}}]},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"koG"} -data: {"id":"chatcmpl-ECHGLaNOeixRIOA5U84vJQBxpnmLO","object":"chat.completion.chunk","created":1786595001,"model":"gpt-4o-2024-08-06","service_tier":"default","system_fingerprint":"fp_64d0f9e03c","choices":[{"index":0,"delta":{"tool_calls":[{"index":0,"function":{"arguments":"location"}}]},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"DbG9qMhcoee04s"} +data: {"id":"chatcmpl-EJ0IWoqbSAiwx4ZBZwwj8B0Gzjrww","object":"chat.completion.chunk","created":1788198084,"model":"gpt-4o-2024-08-06","service_tier":"default","system_fingerprint":"fp_c9a0e786b8","choices":[{"index":0,"delta":{"tool_calls":[{"index":0,"function":{"arguments":"location"}}]},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"Ojg5yS3hbIoZwE"} -data: {"id":"chatcmpl-ECHGLaNOeixRIOA5U84vJQBxpnmLO","object":"chat.completion.chunk","created":1786595001,"model":"gpt-4o-2024-08-06","service_tier":"default","system_fingerprint":"fp_64d0f9e03c","choices":[{"index":0,"delta":{"tool_calls":[{"index":0,"function":{"arguments":"\":\""}}]},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"m"} +data: {"id":"chatcmpl-EJ0IWoqbSAiwx4ZBZwwj8B0Gzjrww","object":"chat.completion.chunk","created":1788198084,"model":"gpt-4o-2024-08-06","service_tier":"default","system_fingerprint":"fp_c9a0e786b8","choices":[{"index":0,"delta":{"tool_calls":[{"index":0,"function":{"arguments":"\":\""}}]},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"8"} -data: {"id":"chatcmpl-ECHGLaNOeixRIOA5U84vJQBxpnmLO","object":"chat.completion.chunk","created":1786595001,"model":"gpt-4o-2024-08-06","service_tier":"default","system_fingerprint":"fp_64d0f9e03c","choices":[{"index":0,"delta":{"tool_calls":[{"index":0,"function":{"arguments":"Paris"}}]},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"w"} +data: {"id":"chatcmpl-EJ0IWoqbSAiwx4ZBZwwj8B0Gzjrww","object":"chat.completion.chunk","created":1788198084,"model":"gpt-4o-2024-08-06","service_tier":"default","system_fingerprint":"fp_c9a0e786b8","choices":[{"index":0,"delta":{"tool_calls":[{"index":0,"function":{"arguments":"Paris"}}]},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"q"} -data: {"id":"chatcmpl-ECHGLaNOeixRIOA5U84vJQBxpnmLO","object":"chat.completion.chunk","created":1786595001,"model":"gpt-4o-2024-08-06","service_tier":"default","system_fingerprint":"fp_64d0f9e03c","choices":[{"index":0,"delta":{"tool_calls":[{"index":0,"function":{"arguments":","}}]},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"zkpFV"} +data: {"id":"chatcmpl-EJ0IWoqbSAiwx4ZBZwwj8B0Gzjrww","object":"chat.completion.chunk","created":1788198084,"model":"gpt-4o-2024-08-06","service_tier":"default","system_fingerprint":"fp_c9a0e786b8","choices":[{"index":0,"delta":{"tool_calls":[{"index":0,"function":{"arguments":","}}]},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"HPt9B"} -data: {"id":"chatcmpl-ECHGLaNOeixRIOA5U84vJQBxpnmLO","object":"chat.completion.chunk","created":1786595001,"model":"gpt-4o-2024-08-06","service_tier":"default","system_fingerprint":"fp_64d0f9e03c","choices":[{"index":0,"delta":{"tool_calls":[{"index":0,"function":{"arguments":" France"}}]},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"MycfO95hXiKPUw7"} +data: {"id":"chatcmpl-EJ0IWoqbSAiwx4ZBZwwj8B0Gzjrww","object":"chat.completion.chunk","created":1788198084,"model":"gpt-4o-2024-08-06","service_tier":"default","system_fingerprint":"fp_c9a0e786b8","choices":[{"index":0,"delta":{"tool_calls":[{"index":0,"function":{"arguments":" France"}}]},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"qO2mksCmOc4HA5a"} -data: {"id":"chatcmpl-ECHGLaNOeixRIOA5U84vJQBxpnmLO","object":"chat.completion.chunk","created":1786595001,"model":"gpt-4o-2024-08-06","service_tier":"default","system_fingerprint":"fp_64d0f9e03c","choices":[{"index":0,"delta":{"tool_calls":[{"index":0,"function":{"arguments":"\"}"}}]},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"MjJ"} +data: {"id":"chatcmpl-EJ0IWoqbSAiwx4ZBZwwj8B0Gzjrww","object":"chat.completion.chunk","created":1788198084,"model":"gpt-4o-2024-08-06","service_tier":"default","system_fingerprint":"fp_c9a0e786b8","choices":[{"index":0,"delta":{"tool_calls":[{"index":0,"function":{"arguments":"\"}"}}]},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"LCJ"} -data: {"id":"chatcmpl-ECHGLaNOeixRIOA5U84vJQBxpnmLO","object":"chat.completion.chunk","created":1786595001,"model":"gpt-4o-2024-08-06","service_tier":"default","system_fingerprint":"fp_64d0f9e03c","choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"tool_calls"}],"usage":null,"obfuscation":"jaUI"} +data: {"id":"chatcmpl-EJ0IWoqbSAiwx4ZBZwwj8B0Gzjrww","object":"chat.completion.chunk","created":1788198084,"model":"gpt-4o-2024-08-06","service_tier":"default","system_fingerprint":"fp_c9a0e786b8","choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"tool_calls"}],"usage":null,"obfuscation":"uk5Z"} -data: {"id":"chatcmpl-ECHGLaNOeixRIOA5U84vJQBxpnmLO","object":"chat.completion.chunk","created":1786595001,"model":"gpt-4o-2024-08-06","service_tier":"default","system_fingerprint":"fp_64d0f9e03c","choices":[],"usage":{"prompt_tokens":68,"completion_tokens":16,"total_tokens":84,"prompt_tokens_details":{"cached_tokens":0,"audio_tokens":0},"completion_tokens_details":{"reasoning_tokens":0,"audio_tokens":0,"accepted_prediction_tokens":0,"rejected_prediction_tokens":0}},"obfuscation":"uMc9Q5wngKW0B0S"} +data: {"id":"chatcmpl-EJ0IWoqbSAiwx4ZBZwwj8B0Gzjrww","object":"chat.completion.chunk","created":1788198084,"model":"gpt-4o-2024-08-06","service_tier":"default","system_fingerprint":"fp_c9a0e786b8","choices":[],"usage":{"prompt_tokens":68,"completion_tokens":16,"total_tokens":84,"prompt_tokens_details":{"cached_tokens":0,"audio_tokens":0},"completion_tokens_details":{"reasoning_tokens":0,"audio_tokens":0,"accepted_prediction_tokens":0,"rejected_prediction_tokens":0}},"obfuscation":"TSOAZKr6kjMdSet"} data: [DONE] diff --git a/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-b37b5b6a1b4d.txt b/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-b37b5b6a1b4d.txt new file mode 100644 index 00000000..5edf4704 --- /dev/null +++ b/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-b37b5b6a1b4d.txt @@ -0,0 +1,20 @@ +data: {"id":"chatcmpl-EJ0EdMMWZ43csn0VNVVpnmqQmty14","object":"chat.completion.chunk","created":1788197843,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_617e1c99b5","choices":[{"index":0,"delta":{"role":"assistant","content":"","refusal":null},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"Nxf0rKhRU"} + +data: {"id":"chatcmpl-EJ0EdMMWZ43csn0VNVVpnmqQmty14","object":"chat.completion.chunk","created":1788197843,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_617e1c99b5","choices":[{"index":0,"delta":{"content":"Hello"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"tbET52"} + +data: {"id":"chatcmpl-EJ0EdMMWZ43csn0VNVVpnmqQmty14","object":"chat.completion.chunk","created":1788197843,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_617e1c99b5","choices":[{"index":0,"delta":{"content":"!"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"lxTVKfbJQX"} + +data: {"id":"chatcmpl-EJ0EdMMWZ43csn0VNVVpnmqQmty14","object":"chat.completion.chunk","created":1788197843,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_617e1c99b5","choices":[{"index":1,"delta":{"role":"assistant","content":"","refusal":null},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"L0PuRHHja"} + +data: {"id":"chatcmpl-EJ0EdMMWZ43csn0VNVVpnmqQmty14","object":"chat.completion.chunk","created":1788197843,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_617e1c99b5","choices":[{"index":1,"delta":{"content":"Hello"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"lbxTYb"} + +data: {"id":"chatcmpl-EJ0EdMMWZ43csn0VNVVpnmqQmty14","object":"chat.completion.chunk","created":1788197843,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_617e1c99b5","choices":[{"index":1,"delta":{"content":"!"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"GqrAYcPzLX"} + +data: {"id":"chatcmpl-EJ0EdMMWZ43csn0VNVVpnmqQmty14","object":"chat.completion.chunk","created":1788197843,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_617e1c99b5","choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"stop"}],"usage":null,"obfuscation":"cM39Y"} + +data: {"id":"chatcmpl-EJ0EdMMWZ43csn0VNVVpnmqQmty14","object":"chat.completion.chunk","created":1788197843,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_617e1c99b5","choices":[{"index":1,"delta":{},"logprobs":null,"finish_reason":"stop"}],"usage":null,"obfuscation":"ZfuOp"} + +data: {"id":"chatcmpl-EJ0EdMMWZ43csn0VNVVpnmqQmty14","object":"chat.completion.chunk","created":1788197843,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_617e1c99b5","choices":[],"usage":{"prompt_tokens":22,"completion_tokens":4,"total_tokens":26,"prompt_tokens_details":{"cached_tokens":0,"audio_tokens":0},"completion_tokens_details":{"reasoning_tokens":0,"audio_tokens":0,"accepted_prediction_tokens":0,"rejected_prediction_tokens":0}},"obfuscation":"pbEA0kJ5LMs"} + +data: [DONE] + diff --git a/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-b5bcb38ce8df.json b/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-b5bcb38ce8df.json index 2e872a27..28fbcdb6 100644 --- a/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-b5bcb38ce8df.json +++ b/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-b5bcb38ce8df.json @@ -1,14 +1,14 @@ { - "id": "chatcmpl-ECe43NIjWyAmKELxrwXrmNLta5t8z", + "id": "chatcmpl-EJ0Ep4pczItKj6LOlfYzg8eHSjsXJ", "object": "chat.completion", - "created": 1786682651, + "created": 1788197855, "model": "o4-mini-2025-04-16", "choices": [ { "index": 0, "message": { "role": "assistant", - "content": "Each term is the product of two consecutive positive integers:\n\nTerm 1: 1×2 = 2 \nTerm 2: 2×3 = 6 \nTerm 3: 3×4 = 12 \nTerm 4: 4×5 = 20 \nTerm 5: 5×6 = 30 \n\nIf we call the nth term aₙ (with n starting at 1), then\n\n aₙ = n·(n + 1)\n\nEquivalently,\n\n aₙ = n² + n.", + "content": "The sequence is\n\n 2, 6, 12, 20, 30, …\n\nObserve the gaps:\n\n 6−2=4, 12−6=6, 20−12=8, 30−20=10, …\n\nso you’re adding 4,6,8,10,… i.e. the even numbers from 4 upward. Equivalently the second differences are constant (2), so the \\(n\\)th term is a quadratic in \\(n\\). Fitting \n\\[a_n = an^2 + bn + c\\]\nto \\(a_1=2,\\;a_2=6,\\;a_3=12\\) gives \\(a=1,\\;b=1,\\;c=0\\), hence\n\nAnswer: \n \\[\n a_n = n^2 + n \\;=\\; n(n+1),\n \\quad n=1,2,3,\\dots\n \\]\n\nThese are called the “pronic” (or “oblong”) numbers.", "refusal": null, "annotations": [] }, @@ -17,14 +17,14 @@ ], "usage": { "prompt_tokens": 41, - "completion_tokens": 525, - "total_tokens": 566, + "completion_tokens": 1073, + "total_tokens": 1114, "prompt_tokens_details": { "cached_tokens": 0, "audio_tokens": 0 }, "completion_tokens_details": { - "reasoning_tokens": 384, + "reasoning_tokens": 832, "audio_tokens": 0, "accepted_prediction_tokens": 0, "rejected_prediction_tokens": 0 diff --git a/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-b9ecbd8616dd.json b/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-b9ecbd8616dd.json index cb1d941e..2da1a28c 100644 --- a/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-b9ecbd8616dd.json +++ b/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-b9ecbd8616dd.json @@ -1,14 +1,14 @@ { - "id": "chatcmpl-EFMzcfrMhRTAAc1D0ChoHiM3Mt1sN", + "id": "chatcmpl-EJ0EHq2SFPWExh96BsExA5ylGZCrN", "object": "chat.completion", - "created": 1787332012, + "created": 1788197821, "model": "o4-mini-2025-04-16", "choices": [ { "index": 0, "message": { "role": "assistant", - "content": "The terms are 2, 6, 12, 20, 30,… and their successive differences are 4, 6, 8, 10,… (i.e. the even numbers from 4 upward). Equivalently each term is the product of two consecutive integers:\n\nTerm n = n·(n + 1).\n\nCheck: \nn=1 → 1·2=2 \nn=2 → 2·3=6 \nn=3 → 3·4=12 \n… etc.", + "content": "The sequence \n 2, 6, 12, 20, 30, … \n\nhas first differences \n 6−2=4, 12−6=6, 20−12=8, 30−20=10, … \nwhich increase by 2 each time. In fact \n a₁=2=1·2, \n a₂=6=2·3, \n a₃=12=3·4, … \n\nSo the nth term is the product of two consecutive integers: \n formula: aₙ = n·(n+1). \n\nEquivalently, aₙ = n² + n.", "refusal": null, "annotations": [] }, @@ -17,14 +17,14 @@ ], "usage": { "prompt_tokens": 41, - "completion_tokens": 579, - "total_tokens": 620, + "completion_tokens": 992, + "total_tokens": 1033, "prompt_tokens_details": { "cached_tokens": 0, "audio_tokens": 0 }, "completion_tokens_details": { - "reasoning_tokens": 448, + "reasoning_tokens": 832, "audio_tokens": 0, "accepted_prediction_tokens": 0, "rejected_prediction_tokens": 0 diff --git a/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-d105cf12ad90.txt b/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-d105cf12ad90.txt new file mode 100644 index 00000000..d618161c --- /dev/null +++ b/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-d105cf12ad90.txt @@ -0,0 +1,88 @@ +data: {"id":"chatcmpl-EJ0E8bANvjeLdhonxYbhfTmX5kmfe","object":"chat.completion.chunk","created":1788197812,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{"role":"assistant","content":"","refusal":null},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"OUTJ132h6"} + +data: {"id":"chatcmpl-EJ0E8bANvjeLdhonxYbhfTmX5kmfe","object":"chat.completion.chunk","created":1788197812,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{"content":"Sure"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"gwXt1NM"} + +data: {"id":"chatcmpl-EJ0E8bANvjeLdhonxYbhfTmX5kmfe","object":"chat.completion.chunk","created":1788197812,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{"content":"!"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"IcxPNPQNHN"} + +data: {"id":"chatcmpl-EJ0E8bANvjeLdhonxYbhfTmX5kmfe","object":"chat.completion.chunk","created":1788197812,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{"content":" Here"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"kkmQt6"} + +data: {"id":"chatcmpl-EJ0E8bANvjeLdhonxYbhfTmX5kmfe","object":"chat.completion.chunk","created":1788197812,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{"content":" we"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"N8PohBbv"} + +data: {"id":"chatcmpl-EJ0E8bANvjeLdhonxYbhfTmX5kmfe","object":"chat.completion.chunk","created":1788197812,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{"content":" go"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"UBx5QCMC"} + +data: {"id":"chatcmpl-EJ0E8bANvjeLdhonxYbhfTmX5kmfe","object":"chat.completion.chunk","created":1788197812,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{"content":":\n\n"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"b8sFKL"} + +data: {"id":"chatcmpl-EJ0E8bANvjeLdhonxYbhfTmX5kmfe","object":"chat.completion.chunk","created":1788197812,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{"content":"1"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"XCdCr9ayZ3"} + +data: {"id":"chatcmpl-EJ0E8bANvjeLdhonxYbhfTmX5kmfe","object":"chat.completion.chunk","created":1788197812,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{"content":"..."},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"n6qNHxQq"} + +data: {"id":"chatcmpl-EJ0E8bANvjeLdhonxYbhfTmX5kmfe","object":"chat.completion.chunk","created":1788197812,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{"content":" \n"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"WkgXpSK"} + +data: {"id":"chatcmpl-EJ0E8bANvjeLdhonxYbhfTmX5kmfe","object":"chat.completion.chunk","created":1788197812,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{"content":"2"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"kPiY5XAXQO"} + +data: {"id":"chatcmpl-EJ0E8bANvjeLdhonxYbhfTmX5kmfe","object":"chat.completion.chunk","created":1788197812,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{"content":"..."},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"1gVS3hW4"} + +data: {"id":"chatcmpl-EJ0E8bANvjeLdhonxYbhfTmX5kmfe","object":"chat.completion.chunk","created":1788197812,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{"content":" \n"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"j6Kvmn5"} + +data: {"id":"chatcmpl-EJ0E8bANvjeLdhonxYbhfTmX5kmfe","object":"chat.completion.chunk","created":1788197812,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{"content":"3"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"TzHuVTRjb1"} + +data: {"id":"chatcmpl-EJ0E8bANvjeLdhonxYbhfTmX5kmfe","object":"chat.completion.chunk","created":1788197812,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{"content":"..."},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"imw5QVNR"} + +data: {"id":"chatcmpl-EJ0E8bANvjeLdhonxYbhfTmX5kmfe","object":"chat.completion.chunk","created":1788197812,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{"content":" \n"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"9MUnhDJ"} + +data: {"id":"chatcmpl-EJ0E8bANvjeLdhonxYbhfTmX5kmfe","object":"chat.completion.chunk","created":1788197812,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{"content":"4"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"uKhqber3x6"} + +data: {"id":"chatcmpl-EJ0E8bANvjeLdhonxYbhfTmX5kmfe","object":"chat.completion.chunk","created":1788197812,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{"content":"..."},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"fAE5ug0F"} + +data: {"id":"chatcmpl-EJ0E8bANvjeLdhonxYbhfTmX5kmfe","object":"chat.completion.chunk","created":1788197812,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{"content":" \n"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"TeKhTea"} + +data: {"id":"chatcmpl-EJ0E8bANvjeLdhonxYbhfTmX5kmfe","object":"chat.completion.chunk","created":1788197812,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{"content":"5"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"FqU1Ipjhn3"} + +data: {"id":"chatcmpl-EJ0E8bANvjeLdhonxYbhfTmX5kmfe","object":"chat.completion.chunk","created":1788197812,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{"content":"..."},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"W9EO12DJ"} + +data: {"id":"chatcmpl-EJ0E8bANvjeLdhonxYbhfTmX5kmfe","object":"chat.completion.chunk","created":1788197812,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{"content":" \n"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"ZW48bUR"} + +data: {"id":"chatcmpl-EJ0E8bANvjeLdhonxYbhfTmX5kmfe","object":"chat.completion.chunk","created":1788197812,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{"content":"6"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"dKd7QiWKYI"} + +data: {"id":"chatcmpl-EJ0E8bANvjeLdhonxYbhfTmX5kmfe","object":"chat.completion.chunk","created":1788197812,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{"content":"..."},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"V27bMSgX"} + +data: {"id":"chatcmpl-EJ0E8bANvjeLdhonxYbhfTmX5kmfe","object":"chat.completion.chunk","created":1788197812,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{"content":" \n"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"pZpvPUy"} + +data: {"id":"chatcmpl-EJ0E8bANvjeLdhonxYbhfTmX5kmfe","object":"chat.completion.chunk","created":1788197812,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{"content":"7"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"BwYjfvvfO3"} + +data: {"id":"chatcmpl-EJ0E8bANvjeLdhonxYbhfTmX5kmfe","object":"chat.completion.chunk","created":1788197812,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{"content":"..."},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"gjJlLOpb"} + +data: {"id":"chatcmpl-EJ0E8bANvjeLdhonxYbhfTmX5kmfe","object":"chat.completion.chunk","created":1788197812,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{"content":" \n"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"StZD9d0"} + +data: {"id":"chatcmpl-EJ0E8bANvjeLdhonxYbhfTmX5kmfe","object":"chat.completion.chunk","created":1788197812,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{"content":"8"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"1irDLtBCmN"} + +data: {"id":"chatcmpl-EJ0E8bANvjeLdhonxYbhfTmX5kmfe","object":"chat.completion.chunk","created":1788197812,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{"content":"..."},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"PhiuNYJB"} + +data: {"id":"chatcmpl-EJ0E8bANvjeLdhonxYbhfTmX5kmfe","object":"chat.completion.chunk","created":1788197812,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{"content":" \n"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"2i3jgfm"} + +data: {"id":"chatcmpl-EJ0E8bANvjeLdhonxYbhfTmX5kmfe","object":"chat.completion.chunk","created":1788197812,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{"content":"9"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"GesODhKIxs"} + +data: {"id":"chatcmpl-EJ0E8bANvjeLdhonxYbhfTmX5kmfe","object":"chat.completion.chunk","created":1788197812,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{"content":"..."},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"KFjrOC45"} + +data: {"id":"chatcmpl-EJ0E8bANvjeLdhonxYbhfTmX5kmfe","object":"chat.completion.chunk","created":1788197812,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{"content":" \n"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"j2rQKzR"} + +data: {"id":"chatcmpl-EJ0E8bANvjeLdhonxYbhfTmX5kmfe","object":"chat.completion.chunk","created":1788197812,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{"content":"10"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"OCE7bHafu"} + +data: {"id":"chatcmpl-EJ0E8bANvjeLdhonxYbhfTmX5kmfe","object":"chat.completion.chunk","created":1788197812,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{"content":"..."},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"cT3xRlXI"} + +data: {"id":"chatcmpl-EJ0E8bANvjeLdhonxYbhfTmX5kmfe","object":"chat.completion.chunk","created":1788197812,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{"content":" \n\n"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"7bZZt"} + +data: {"id":"chatcmpl-EJ0E8bANvjeLdhonxYbhfTmX5kmfe","object":"chat.completion.chunk","created":1788197812,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{"content":"Take"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"CYlGwew"} + +data: {"id":"chatcmpl-EJ0E8bANvjeLdhonxYbhfTmX5kmfe","object":"chat.completion.chunk","created":1788197812,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{"content":" your"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"UmeROx"} + +data: {"id":"chatcmpl-EJ0E8bANvjeLdhonxYbhfTmX5kmfe","object":"chat.completion.chunk","created":1788197812,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{"content":" time"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"2sa8El"} + +data: {"id":"chatcmpl-EJ0E8bANvjeLdhonxYbhfTmX5kmfe","object":"chat.completion.chunk","created":1788197812,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{"content":"!"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"OE1tT3OoDa"} + +data: {"id":"chatcmpl-EJ0E8bANvjeLdhonxYbhfTmX5kmfe","object":"chat.completion.chunk","created":1788197812,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"stop"}],"usage":null,"obfuscation":"Wi0ak"} + +data: {"id":"chatcmpl-EJ0E8bANvjeLdhonxYbhfTmX5kmfe","object":"chat.completion.chunk","created":1788197812,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_11d07b7a95","choices":[],"usage":{"prompt_tokens":25,"completion_tokens":40,"total_tokens":65,"prompt_tokens_details":{"cached_tokens":0,"audio_tokens":0},"completion_tokens_details":{"reasoning_tokens":0,"audio_tokens":0,"accepted_prediction_tokens":0,"rejected_prediction_tokens":0}},"obfuscation":"b8R3eJUg8Q"} + +data: [DONE] + diff --git a/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-d46fc8497cd8.json b/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-d46fc8497cd8.json new file mode 100644 index 00000000..a10b7dba --- /dev/null +++ b/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-d46fc8497cd8.json @@ -0,0 +1,36 @@ +{ + "id": "chatcmpl-EJ0EAvDqEI1dhssU5I6wvdZjCPifN", + "object": "chat.completion", + "created": 1788197814, + "model": "gpt-4o-2024-08-06", + "choices": [ + { + "index": 0, + "message": { + "role": "assistant", + "content": "The first attachment is a solid red square, likely an image file. The second attachment is a PDF file named \"blank.pdf,\" which appears to contain no readable content or text.", + "refusal": null, + "annotations": [] + }, + "logprobs": null, + "finish_reason": "stop" + } + ], + "usage": { + "prompt_tokens": 495, + "completion_tokens": 36, + "total_tokens": 531, + "prompt_tokens_details": { + "cached_tokens": 0, + "audio_tokens": 0 + }, + "completion_tokens_details": { + "reasoning_tokens": 0, + "audio_tokens": 0, + "accepted_prediction_tokens": 0, + "rejected_prediction_tokens": 0 + } + }, + "service_tier": "default", + "system_fingerprint": "fp_ffd8308b42" +} diff --git a/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-d5e020458f20.json b/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-d5e020458f20.json index 9aa86019..3e793674 100644 --- a/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-d5e020458f20.json +++ b/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-d5e020458f20.json @@ -1,7 +1,7 @@ { - "id": "chatcmpl-Dz3iR9I1Te0DkoThq5biasqNotDVg", + "id": "chatcmpl-EJ0IZiWb5D4rQ54CEVxmn2IaxoTNI", "object": "chat.completion", - "created": 1783444663, + "created": 1788198087, "model": "gpt-4o-mini-2024-07-18", "choices": [ { @@ -32,5 +32,5 @@ } }, "service_tier": "default", - "system_fingerprint": "fp_a151a364ab" + "system_fingerprint": "fp_fdc0967d89" } diff --git a/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-d99c904d7981.txt b/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-d99c904d7981.txt new file mode 100644 index 00000000..d673a249 --- /dev/null +++ b/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-d99c904d7981.txt @@ -0,0 +1,20 @@ +data: {"id":"chatcmpl-EJ0EaZUY0yqFa5S5YCHubC5v9Dvj6","object":"chat.completion.chunk","created":1788197840,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_617e1c99b5","choices":[{"index":0,"delta":{"role":"assistant","content":"","refusal":null},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"UOQs9VIDy"} + +data: {"id":"chatcmpl-EJ0EaZUY0yqFa5S5YCHubC5v9Dvj6","object":"chat.completion.chunk","created":1788197840,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_617e1c99b5","choices":[{"index":0,"delta":{"content":"Hello"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"fuqATI"} + +data: {"id":"chatcmpl-EJ0EaZUY0yqFa5S5YCHubC5v9Dvj6","object":"chat.completion.chunk","created":1788197840,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_617e1c99b5","choices":[{"index":0,"delta":{"content":"!"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"vNKRDrBTum"} + +data: {"id":"chatcmpl-EJ0EaZUY0yqFa5S5YCHubC5v9Dvj6","object":"chat.completion.chunk","created":1788197840,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_617e1c99b5","choices":[{"index":1,"delta":{"role":"assistant","content":"","refusal":null},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"ywzLrllqq"} + +data: {"id":"chatcmpl-EJ0EaZUY0yqFa5S5YCHubC5v9Dvj6","object":"chat.completion.chunk","created":1788197840,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_617e1c99b5","choices":[{"index":1,"delta":{"content":"Hello"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"pnJMPM"} + +data: {"id":"chatcmpl-EJ0EaZUY0yqFa5S5YCHubC5v9Dvj6","object":"chat.completion.chunk","created":1788197840,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_617e1c99b5","choices":[{"index":1,"delta":{"content":"!"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"anm9iT3Rq8"} + +data: {"id":"chatcmpl-EJ0EaZUY0yqFa5S5YCHubC5v9Dvj6","object":"chat.completion.chunk","created":1788197840,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_617e1c99b5","choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"stop"}],"usage":null,"obfuscation":"Ybnbf"} + +data: {"id":"chatcmpl-EJ0EaZUY0yqFa5S5YCHubC5v9Dvj6","object":"chat.completion.chunk","created":1788197840,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_617e1c99b5","choices":[{"index":1,"delta":{},"logprobs":null,"finish_reason":"stop"}],"usage":null,"obfuscation":"FhdMA"} + +data: {"id":"chatcmpl-EJ0EaZUY0yqFa5S5YCHubC5v9Dvj6","object":"chat.completion.chunk","created":1788197840,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_617e1c99b5","choices":[],"usage":{"prompt_tokens":22,"completion_tokens":4,"total_tokens":26,"prompt_tokens_details":{"cached_tokens":0,"audio_tokens":0},"completion_tokens_details":{"reasoning_tokens":0,"audio_tokens":0,"accepted_prediction_tokens":0,"rejected_prediction_tokens":0}},"obfuscation":"XW3TMbx4cz8"} + +data: [DONE] + diff --git a/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-da9f72e19a5c.json b/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-da9f72e19a5c.json index 112fa31e..51d8b20d 100644 --- a/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-da9f72e19a5c.json +++ b/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-da9f72e19a5c.json @@ -1,7 +1,7 @@ { - "id": "chatcmpl-Dz3in6KbHMiXloZKkUbNp7BShuala", + "id": "chatcmpl-EJ0LWOCqnZD1DZvPERHyShhkijvhV", "object": "chat.completion", - "created": 1783444685, + "created": 1788198270, "model": "gpt-4o-mini-2024-07-18", "choices": [ { @@ -32,5 +32,5 @@ } }, "service_tier": "default", - "system_fingerprint": "fp_a151a364ab" + "system_fingerprint": "fp_a2de2bff52" } diff --git a/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-dafccec799b8.txt b/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-dafccec799b8.txt deleted file mode 100644 index cc8bee09..00000000 --- a/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-dafccec799b8.txt +++ /dev/null @@ -1,20 +0,0 @@ -data: {"id":"chatcmpl-EFN0TK1gSMVtA9lMeru7YqNRAQBZi","object":"chat.completion.chunk","created":1787332065,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_5259353f0d","choices":[{"index":0,"delta":{"role":"assistant","content":"","refusal":null},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"KgIfEktYT"} - -data: {"id":"chatcmpl-EFN0TK1gSMVtA9lMeru7YqNRAQBZi","object":"chat.completion.chunk","created":1787332065,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_5259353f0d","choices":[{"index":0,"delta":{"content":"Hello"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"Uk5t1F"} - -data: {"id":"chatcmpl-EFN0TK1gSMVtA9lMeru7YqNRAQBZi","object":"chat.completion.chunk","created":1787332065,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_5259353f0d","choices":[{"index":0,"delta":{"content":"!"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"CiL8exTwim"} - -data: {"id":"chatcmpl-EFN0TK1gSMVtA9lMeru7YqNRAQBZi","object":"chat.completion.chunk","created":1787332065,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_5259353f0d","choices":[{"index":1,"delta":{"role":"assistant","content":"","refusal":null},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"z5dxrxYmu"} - -data: {"id":"chatcmpl-EFN0TK1gSMVtA9lMeru7YqNRAQBZi","object":"chat.completion.chunk","created":1787332065,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_5259353f0d","choices":[{"index":1,"delta":{"content":"Hello"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"nwxOD8"} - -data: {"id":"chatcmpl-EFN0TK1gSMVtA9lMeru7YqNRAQBZi","object":"chat.completion.chunk","created":1787332065,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_5259353f0d","choices":[{"index":1,"delta":{"content":"!"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"qmLLmvfqIy"} - -data: {"id":"chatcmpl-EFN0TK1gSMVtA9lMeru7YqNRAQBZi","object":"chat.completion.chunk","created":1787332065,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_5259353f0d","choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"stop"}],"usage":null,"obfuscation":"bisc4"} - -data: {"id":"chatcmpl-EFN0TK1gSMVtA9lMeru7YqNRAQBZi","object":"chat.completion.chunk","created":1787332065,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_5259353f0d","choices":[{"index":1,"delta":{},"logprobs":null,"finish_reason":"stop"}],"usage":null,"obfuscation":"OcY8P"} - -data: {"id":"chatcmpl-EFN0TK1gSMVtA9lMeru7YqNRAQBZi","object":"chat.completion.chunk","created":1787332065,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_5259353f0d","choices":[],"usage":{"prompt_tokens":22,"completion_tokens":4,"total_tokens":26,"prompt_tokens_details":{"cached_tokens":0,"audio_tokens":0},"completion_tokens_details":{"reasoning_tokens":0,"audio_tokens":0,"accepted_prediction_tokens":0,"rejected_prediction_tokens":0}},"obfuscation":"BpdgSWSKTSn"} - -data: [DONE] - diff --git a/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-e2aaee62ff13.txt b/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-e2aaee62ff13.txt index c0e1aea4..147c2f8e 100644 --- a/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-e2aaee62ff13.txt +++ b/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-e2aaee62ff13.txt @@ -1,22 +1,22 @@ -data: {"id":"chatcmpl-E2MbEHrS2QLu0Ow4wAXSM5NXCIEWM","object":"chat.completion.chunk","created":1784232236,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_f48f1594a2","choices":[{"index":0,"delta":{"role":"assistant","content":"","refusal":null},"logprobs":null,"finish_reason":null}],"usage":null} +data: {"id":"chatcmpl-EJ0M3bBan3xwMxo53cSPLlvt0EpN8","object":"chat.completion.chunk","created":1788198303,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fdc0967d89","choices":[{"index":0,"delta":{"role":"assistant","content":"","refusal":null},"logprobs":null,"finish_reason":null}],"usage":null} -data: {"id":"chatcmpl-E2MbEHrS2QLu0Ow4wAXSM5NXCIEWM","object":"chat.completion.chunk","created":1784232236,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_f48f1594a2","choices":[{"index":0,"delta":{"content":"The"},"logprobs":null,"finish_reason":null}],"usage":null} +data: {"id":"chatcmpl-EJ0M3bBan3xwMxo53cSPLlvt0EpN8","object":"chat.completion.chunk","created":1788198303,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fdc0967d89","choices":[{"index":0,"delta":{"content":"The"},"logprobs":null,"finish_reason":null}],"usage":null} -data: {"id":"chatcmpl-E2MbEHrS2QLu0Ow4wAXSM5NXCIEWM","object":"chat.completion.chunk","created":1784232236,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_f48f1594a2","choices":[{"index":0,"delta":{"content":" capital"},"logprobs":null,"finish_reason":null}],"usage":null} +data: {"id":"chatcmpl-EJ0M3bBan3xwMxo53cSPLlvt0EpN8","object":"chat.completion.chunk","created":1788198303,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fdc0967d89","choices":[{"index":0,"delta":{"content":" capital"},"logprobs":null,"finish_reason":null}],"usage":null} -data: {"id":"chatcmpl-E2MbEHrS2QLu0Ow4wAXSM5NXCIEWM","object":"chat.completion.chunk","created":1784232236,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_f48f1594a2","choices":[{"index":0,"delta":{"content":" of"},"logprobs":null,"finish_reason":null}],"usage":null} +data: {"id":"chatcmpl-EJ0M3bBan3xwMxo53cSPLlvt0EpN8","object":"chat.completion.chunk","created":1788198303,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fdc0967d89","choices":[{"index":0,"delta":{"content":" of"},"logprobs":null,"finish_reason":null}],"usage":null} -data: {"id":"chatcmpl-E2MbEHrS2QLu0Ow4wAXSM5NXCIEWM","object":"chat.completion.chunk","created":1784232236,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_f48f1594a2","choices":[{"index":0,"delta":{"content":" France"},"logprobs":null,"finish_reason":null}],"usage":null} +data: {"id":"chatcmpl-EJ0M3bBan3xwMxo53cSPLlvt0EpN8","object":"chat.completion.chunk","created":1788198303,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fdc0967d89","choices":[{"index":0,"delta":{"content":" France"},"logprobs":null,"finish_reason":null}],"usage":null} -data: {"id":"chatcmpl-E2MbEHrS2QLu0Ow4wAXSM5NXCIEWM","object":"chat.completion.chunk","created":1784232236,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_f48f1594a2","choices":[{"index":0,"delta":{"content":" is"},"logprobs":null,"finish_reason":null}],"usage":null} +data: {"id":"chatcmpl-EJ0M3bBan3xwMxo53cSPLlvt0EpN8","object":"chat.completion.chunk","created":1788198303,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fdc0967d89","choices":[{"index":0,"delta":{"content":" is"},"logprobs":null,"finish_reason":null}],"usage":null} -data: {"id":"chatcmpl-E2MbEHrS2QLu0Ow4wAXSM5NXCIEWM","object":"chat.completion.chunk","created":1784232236,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_f48f1594a2","choices":[{"index":0,"delta":{"content":" Paris"},"logprobs":null,"finish_reason":null}],"usage":null} +data: {"id":"chatcmpl-EJ0M3bBan3xwMxo53cSPLlvt0EpN8","object":"chat.completion.chunk","created":1788198303,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fdc0967d89","choices":[{"index":0,"delta":{"content":" Paris"},"logprobs":null,"finish_reason":null}],"usage":null} -data: {"id":"chatcmpl-E2MbEHrS2QLu0Ow4wAXSM5NXCIEWM","object":"chat.completion.chunk","created":1784232236,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_f48f1594a2","choices":[{"index":0,"delta":{"content":"."},"logprobs":null,"finish_reason":null}],"usage":null} +data: {"id":"chatcmpl-EJ0M3bBan3xwMxo53cSPLlvt0EpN8","object":"chat.completion.chunk","created":1788198303,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fdc0967d89","choices":[{"index":0,"delta":{"content":"."},"logprobs":null,"finish_reason":null}],"usage":null} -data: {"id":"chatcmpl-E2MbEHrS2QLu0Ow4wAXSM5NXCIEWM","object":"chat.completion.chunk","created":1784232236,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_f48f1594a2","choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"stop"}],"usage":null} +data: {"id":"chatcmpl-EJ0M3bBan3xwMxo53cSPLlvt0EpN8","object":"chat.completion.chunk","created":1788198303,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fdc0967d89","choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"stop"}],"usage":null} -data: {"id":"chatcmpl-E2MbEHrS2QLu0Ow4wAXSM5NXCIEWM","object":"chat.completion.chunk","created":1784232236,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_f48f1594a2","choices":[],"usage":{"prompt_tokens":14,"completion_tokens":7,"total_tokens":21,"prompt_tokens_details":{"cached_tokens":0,"audio_tokens":0},"completion_tokens_details":{"reasoning_tokens":0,"audio_tokens":0,"accepted_prediction_tokens":0,"rejected_prediction_tokens":0}}} +data: {"id":"chatcmpl-EJ0M3bBan3xwMxo53cSPLlvt0EpN8","object":"chat.completion.chunk","created":1788198303,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fdc0967d89","choices":[],"usage":{"prompt_tokens":14,"completion_tokens":7,"total_tokens":21,"prompt_tokens_details":{"cached_tokens":0,"audio_tokens":0},"completion_tokens_details":{"reasoning_tokens":0,"audio_tokens":0,"accepted_prediction_tokens":0,"rejected_prediction_tokens":0}}} data: [DONE] diff --git a/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-e377d6681642.txt b/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-e377d6681642.txt index 3b64cbfb..6e5f8739 100644 --- a/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-e377d6681642.txt +++ b/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-e377d6681642.txt @@ -1,22 +1,22 @@ -data: {"id":"chatcmpl-Dz3iOk48gXzREz0A46UpgmzRbGMmD","object":"chat.completion.chunk","created":1783444660,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_a151a364ab","choices":[{"index":0,"delta":{"role":"assistant","content":"","refusal":null},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"voku6SsBJ"} +data: {"id":"chatcmpl-EJ0IVxK2ni8r4MXavgxa73cQBWqJS","object":"chat.completion.chunk","created":1788198083,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fdc0967d89","choices":[{"index":0,"delta":{"role":"assistant","content":"","refusal":null},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"JjFYJR3zx"} -data: {"id":"chatcmpl-Dz3iOk48gXzREz0A46UpgmzRbGMmD","object":"chat.completion.chunk","created":1783444660,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_a151a364ab","choices":[{"index":0,"delta":{"content":"The"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"dqncud0M"} +data: {"id":"chatcmpl-EJ0IVxK2ni8r4MXavgxa73cQBWqJS","object":"chat.completion.chunk","created":1788198083,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fdc0967d89","choices":[{"index":0,"delta":{"content":"The"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"xRaJFBO9"} -data: {"id":"chatcmpl-Dz3iOk48gXzREz0A46UpgmzRbGMmD","object":"chat.completion.chunk","created":1783444660,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_a151a364ab","choices":[{"index":0,"delta":{"content":" capital"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"LWX"} +data: {"id":"chatcmpl-EJ0IVxK2ni8r4MXavgxa73cQBWqJS","object":"chat.completion.chunk","created":1788198083,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fdc0967d89","choices":[{"index":0,"delta":{"content":" capital"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"ERZ"} -data: {"id":"chatcmpl-Dz3iOk48gXzREz0A46UpgmzRbGMmD","object":"chat.completion.chunk","created":1783444660,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_a151a364ab","choices":[{"index":0,"delta":{"content":" of"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"XddqZLDt"} +data: {"id":"chatcmpl-EJ0IVxK2ni8r4MXavgxa73cQBWqJS","object":"chat.completion.chunk","created":1788198083,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fdc0967d89","choices":[{"index":0,"delta":{"content":" of"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"kxUCfQkS"} -data: {"id":"chatcmpl-Dz3iOk48gXzREz0A46UpgmzRbGMmD","object":"chat.completion.chunk","created":1783444660,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_a151a364ab","choices":[{"index":0,"delta":{"content":" France"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"zIN8"} +data: {"id":"chatcmpl-EJ0IVxK2ni8r4MXavgxa73cQBWqJS","object":"chat.completion.chunk","created":1788198083,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fdc0967d89","choices":[{"index":0,"delta":{"content":" France"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"E48H"} -data: {"id":"chatcmpl-Dz3iOk48gXzREz0A46UpgmzRbGMmD","object":"chat.completion.chunk","created":1783444660,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_a151a364ab","choices":[{"index":0,"delta":{"content":" is"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"rFysaQmf"} +data: {"id":"chatcmpl-EJ0IVxK2ni8r4MXavgxa73cQBWqJS","object":"chat.completion.chunk","created":1788198083,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fdc0967d89","choices":[{"index":0,"delta":{"content":" is"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"RJ7buVJt"} -data: {"id":"chatcmpl-Dz3iOk48gXzREz0A46UpgmzRbGMmD","object":"chat.completion.chunk","created":1783444660,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_a151a364ab","choices":[{"index":0,"delta":{"content":" Paris"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"6vUYy"} +data: {"id":"chatcmpl-EJ0IVxK2ni8r4MXavgxa73cQBWqJS","object":"chat.completion.chunk","created":1788198083,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fdc0967d89","choices":[{"index":0,"delta":{"content":" Paris"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"2SZVg"} -data: {"id":"chatcmpl-Dz3iOk48gXzREz0A46UpgmzRbGMmD","object":"chat.completion.chunk","created":1783444660,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_a151a364ab","choices":[{"index":0,"delta":{"content":"."},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"uck3Tfu1ex"} +data: {"id":"chatcmpl-EJ0IVxK2ni8r4MXavgxa73cQBWqJS","object":"chat.completion.chunk","created":1788198083,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fdc0967d89","choices":[{"index":0,"delta":{"content":"."},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"FRm8zdmA1D"} -data: {"id":"chatcmpl-Dz3iOk48gXzREz0A46UpgmzRbGMmD","object":"chat.completion.chunk","created":1783444660,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_a151a364ab","choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"stop"}],"usage":null,"obfuscation":"6lSuZ"} +data: {"id":"chatcmpl-EJ0IVxK2ni8r4MXavgxa73cQBWqJS","object":"chat.completion.chunk","created":1788198083,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fdc0967d89","choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"stop"}],"usage":null,"obfuscation":"rMV9J"} -data: {"id":"chatcmpl-Dz3iOk48gXzREz0A46UpgmzRbGMmD","object":"chat.completion.chunk","created":1783444660,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_a151a364ab","choices":[],"usage":{"prompt_tokens":14,"completion_tokens":7,"total_tokens":21,"prompt_tokens_details":{"cached_tokens":0,"audio_tokens":0},"completion_tokens_details":{"reasoning_tokens":0,"audio_tokens":0,"accepted_prediction_tokens":0,"rejected_prediction_tokens":0}},"obfuscation":"fqy0UACc6Po"} +data: {"id":"chatcmpl-EJ0IVxK2ni8r4MXavgxa73cQBWqJS","object":"chat.completion.chunk","created":1788198083,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_fdc0967d89","choices":[],"usage":{"prompt_tokens":14,"completion_tokens":7,"total_tokens":21,"prompt_tokens_details":{"cached_tokens":0,"audio_tokens":0},"completion_tokens_details":{"reasoning_tokens":0,"audio_tokens":0,"accepted_prediction_tokens":0,"rejected_prediction_tokens":0}},"obfuscation":"1tEkJ4Ia0Wq"} data: [DONE] diff --git a/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-627aafbf4ba9.json b/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-e6c815d5be16.json similarity index 83% rename from test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-627aafbf4ba9.json rename to test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-e6c815d5be16.json index 7a03e390..71463d7e 100644 --- a/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-627aafbf4ba9.json +++ b/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-e6c815d5be16.json @@ -1,7 +1,7 @@ { - "id": "chatcmpl-Dz3iPn5yJ35jwqIWdPzmCMs5VN1IW", + "id": "chatcmpl-EJ0IXr5he2w3LbOYhMnmhLLHwVCCM", "object": "chat.completion", - "created": 1783444661, + "created": 1788198085, "model": "gpt-4o-mini-2024-07-18", "choices": [ { @@ -11,7 +11,7 @@ "content": null, "tool_calls": [ { - "id": "call_98ldPIkcCpmBfBmlDcE8eyGc", + "id": "call_WnDl0negHmyHoZ0pBbLSqOj1", "type": "function", "function": { "name": "getWeather", @@ -19,7 +19,7 @@ } }, { - "id": "call_4zaqPEiMyli90JuM2ScfSg9Z", + "id": "call_xKlHa4SOx8MfJ6OSbsAo7uI9", "type": "function", "function": { "name": "getWeather", @@ -50,5 +50,5 @@ } }, "service_tier": "default", - "system_fingerprint": "fp_810e56f10f" + "system_fingerprint": "fp_54940053b1" } diff --git a/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-e7e0dbcb72a1.json b/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-e7e0dbcb72a1.json new file mode 100644 index 00000000..ae09bd55 --- /dev/null +++ b/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-e7e0dbcb72a1.json @@ -0,0 +1,36 @@ +{ + "id": "chatcmpl-EJ0IL9lmAb5HDVJIYnEc3dO0x8iOb", + "object": "chat.completion", + "created": 1788198073, + "model": "gpt-4o-mini-2024-07-18", + "choices": [ + { + "index": 0, + "message": { + "role": "assistant", + "content": "The current temperature in both Paris and New York is 72°F, so it is the same in both cities right now.", + "refusal": null, + "annotations": [] + }, + "logprobs": null, + "finish_reason": "stop" + } + ], + "usage": { + "prompt_tokens": 169, + "completion_tokens": 26, + "total_tokens": 195, + "prompt_tokens_details": { + "cached_tokens": 0, + "audio_tokens": 0 + }, + "completion_tokens_details": { + "reasoning_tokens": 0, + "audio_tokens": 0, + "accepted_prediction_tokens": 0, + "rejected_prediction_tokens": 0 + } + }, + "service_tier": "default", + "system_fingerprint": "fp_54940053b1" +} diff --git a/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-104ee7304ba6.json b/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-f65c86f95add.json similarity index 73% rename from test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-104ee7304ba6.json rename to test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-f65c86f95add.json index e9f0b8f5..ca172cba 100644 --- a/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-104ee7304ba6.json +++ b/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-f65c86f95add.json @@ -1,14 +1,14 @@ { - "id": "chatcmpl-Dz3iQTiyPbuGytuY8oRJ8oQ2VLBqR", + "id": "chatcmpl-EJ0IY0lm8oL6WG6FSLV1e6LjYjwru", "object": "chat.completion", - "created": 1783444662, + "created": 1788198086, "model": "gpt-4o-mini-2024-07-18", "choices": [ { "index": 0, "message": { "role": "assistant", - "content": "The current temperature is the same in both Paris and New York, at 72°F.", + "content": "The current temperature is the same in both Paris and New York, at 72°F, and both cities are experiencing sunny weather.", "refusal": null, "annotations": [] }, @@ -18,8 +18,8 @@ ], "usage": { "prompt_tokens": 169, - "completion_tokens": 19, - "total_tokens": 188, + "completion_tokens": 27, + "total_tokens": 196, "prompt_tokens_details": { "cached_tokens": 0, "audio_tokens": 0 @@ -32,5 +32,5 @@ } }, "service_tier": "default", - "system_fingerprint": "fp_810e56f10f" + "system_fingerprint": "fp_54940053b1" } diff --git a/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-f76ff3cb2426.json b/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-f76ff3cb2426.json index a9827d6d..4825333e 100644 --- a/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-f76ff3cb2426.json +++ b/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-f76ff3cb2426.json @@ -1,7 +1,7 @@ { - "id": "chatcmpl-E2mmXbCP8fZP0nnQtVj3ZPoEat70q", + "id": "chatcmpl-EJ0E5xYKDgNBWpjwMT0kzT4kllsNJ", "object": "chat.completion", - "created": 1784332881, + "created": 1788197809, "model": "gpt-4o-2024-08-06", "choices": [ { @@ -11,7 +11,7 @@ "content": null, "tool_calls": [ { - "id": "call_hgh1XLa5dSb7s4epyidMmGbS", + "id": "call_6vk1bjVBG6wkxvgeSAwWUMH2", "type": "function", "function": { "name": "get_weather", @@ -42,5 +42,5 @@ } }, "service_tier": "default", - "system_fingerprint": "fp_8772b5f549" + "system_fingerprint": "fp_0d2be5c9bb" } diff --git a/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-f8a5ac27188a.json b/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-f8a5ac27188a.json index 83655d58..60b619d3 100644 --- a/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-f8a5ac27188a.json +++ b/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-f8a5ac27188a.json @@ -1,14 +1,14 @@ { - "id": "chatcmpl-Dz3g8GUx7iXOS6Cr8CcjUJvfLuYDa", + "id": "chatcmpl-EJ0EBmejmHqJyetvRCxNHHkMFgnmX", "object": "chat.completion", - "created": 1783444520, + "created": 1788197815, "model": "gpt-4o-2024-08-06", "choices": [ { "index": 0, "message": { "role": "assistant", - "content": "The attachments include:\n\n1. **Image**: A solid red square.\n2. **PDF (blank.pdf)**: The document appears to be blank with no readable content.", + "content": "The first attachment is a solid red square, which appears to be a plain red image with no additional content or details.\n\nThe second attachment, \"blank.pdf,\" is a document that contains no readable content or images. It appears to be completely blank.", "refusal": null, "annotations": [] }, @@ -18,8 +18,8 @@ ], "usage": { "prompt_tokens": 495, - "completion_tokens": 35, - "total_tokens": 530, + "completion_tokens": 50, + "total_tokens": 545, "prompt_tokens_details": { "cached_tokens": 0, "audio_tokens": 0 @@ -32,5 +32,5 @@ } }, "service_tier": "default", - "system_fingerprint": "fp_683410201e" + "system_fingerprint": "fp_ffd8308b42" } diff --git a/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-f9231c22ca2c.json b/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-f9231c22ca2c.json new file mode 100644 index 00000000..8248fc4f --- /dev/null +++ b/test-harness/src/testFixtures/resources/cassettes/openai/__files/chat_completions-f9231c22ca2c.json @@ -0,0 +1,36 @@ +{ + "id": "chatcmpl-EJ0EexW9VQDgGlFiBL316SdHPCAB3", + "object": "chat.completion", + "created": 1788197844, + "model": "gpt-4o-mini-2024-07-18", + "choices": [ + { + "index": 0, + "message": { + "role": "assistant", + "content": "The capital of France is Paris.", + "refusal": null, + "annotations": [] + }, + "logprobs": null, + "finish_reason": "stop" + } + ], + "usage": { + "prompt_tokens": 23, + "completion_tokens": 7, + "total_tokens": 30, + "prompt_tokens_details": { + "cached_tokens": 0, + "audio_tokens": 0 + }, + "completion_tokens_details": { + "reasoning_tokens": 0, + "audio_tokens": 0, + "accepted_prediction_tokens": 0, + "rejected_prediction_tokens": 0 + } + }, + "service_tier": "default", + "system_fingerprint": "fp_01e44b225d" +} diff --git a/test-harness/src/testFixtures/resources/cassettes/openai/__files/responses-042a0738564d.json b/test-harness/src/testFixtures/resources/cassettes/openai/__files/responses-042a0738564d.json new file mode 100644 index 00000000..7bdb4880 --- /dev/null +++ b/test-harness/src/testFixtures/resources/cassettes/openai/__files/responses-042a0738564d.json @@ -0,0 +1,109 @@ +{ + "id": "resp_0bea5f73b8f03046016a95bbd8618087d0a25534d93757cfcc", + "object": "response", + "created_at": 1788197848, + "status": "completed", + "background": false, + "billing": { + "payer": "developer" + }, + "completed_at": 1788197855, + "error": null, + "frequency_penalty": 0.0, + "incomplete_details": null, + "instructions": null, + "max_output_tokens": null, + "max_tool_calls": null, + "model": "o4-mini-2025-04-16", + "moderation": null, + "output": [ + { + "id": "rs_0bea5f73b8f03046016a95bbd952c487d0a66a684f9161620d", + "type": "reasoning", + "content": [], + "encrypted_content": "gAAAAABqlbvf-2zqhCONuWPc2jxLstZZ8m19mj8Qqskui5W0TwU5cnm7pAyVkHU5KHqUA7DZIZPxcL69wuqY6uX_nMO3c3zOCubDZl097eENDbZagVQrRguVz9qF3p9zIAjyG6HEOjjQLpGghmV8YSsAxFxmo3gk7Enpg04BsxSAWXpA5dpK82Bg6PUvs4m8-Bq4CyjXtuoj8aOOBbL9jfBPxl4OJ0HSgr47bRYhmGIlCSRQ-xjkzBZGHhXHXmUiEnPxpTzP0NDYOSJfznG6lpgIk2_En_4Qlon0jZtg3EP_fzMlP9dSwmk6Nek2NKu3rGNgWHzwfMQJxu87fJ-7hu0stDRPUkRH9VSpLu5mz7ztSZrL6xAwmqfljKqSDUziJOmvBzNG76cOmSF8VhvR6HxRZu98virxHp-q5_E9I6am0_uYnuMBiIGC9Uv6t6M0dtAab9QvYwg6GXJ8t-tfpXc7QXMXsCLZkhqAEZTLcGVrazInpSQUnY8B5hRSK9YIv4aqf5_PrGeiPX8fEtxxvcVqQhde6vDclHiUPmByaJJG3icYi1KJAg1K2yqbp09125kjGWG4oYTAxg-W0MZNMVd96me9MA4XqrQirmzsyhxSxPO5b6YXmIcCCan53KkGhFdNh0yxkzpMUJGrs7ckj4VxNmIhZs4F-ag3H9_HZ4m41S7ng4EChjNyIk048JWBSUz0Dx0YpYXJVOs4ZeTVscjIxS6eI4XkRF5mSYFqN2s-NJ7634k13Gzb9l8n-muvi_Lj7gLTGwXkh5ze-PMWFq3YlgpTII5Zm54gQ7bGiEhqT8i-nL27Dsl8hlSik7OVt4ewAmaYO35cxAFxvpQYumP6Dta5CGdRZNIG4EY0HMf_nJCIKu89kymOZEr4j4roxIeypKvXDGkjh7pcq1cZdYQMghd2ObbFes2dzelTsGiU6d_Qay8IxY6kufHiNDVo-a4ayL49lyEZ8UVHQtuwXpTn0ujHuGwXntz8zehxK73ABQmkt-nbqjm3wHK4NEHwDiKyJRWEQgx7W2tBH7iholW1x91hcWwT_v3ZAbyFQDqwlpYDuYHLfZ95PcBh0u4JQ8I-V4PoBobgUs5FsfEwnfQy6-cFngdEgCNDko_QVFiIyBALwx2jgCc9XhBVBBgFrqd08ZI0Z73GpWztSjk_o0G2-UQbu3MhD37SE50ux1QsLJLX-hRknHhXrGerLG-qzD5qlA_EkwniS-VeJmD-aQ4S4TaU-sJdIa1j2kfA4aJjGBlDLV_TIFl4N4Lvs3jI2AVQtoujKRguH5vuH-VChU3FOY3jhPA41-YrYHZZmUqv9tFWADh09Hp59gKjWkLbWcKOY6RwQI5DUdXCRAOVfTN8kPmSFCvIgVkDPQp7BFf7efePsObKYbYcG50gkIhcaV5iw9_Det-zIjEaq-SpmnKFoDTdLaF5Iyf3qQ0waWxFGDlPfEnnZfRKTifbVus2w37SdJLf_6aawhg67dkaYc1BVoUgbr_N417zP1994gSOyZT8aSgVVZvvAK8M87i89j9I3Q-QnoBKDu9k4MnHQ-eoOctgH4si3nZqiHsgC9McTCT2xpS4abLFvCoOVyhZIIPW_Yz537YQcxoUMN3JDaYxxY8Ji81C4FouXG4JveUbHjLmHdHN0_gZgf-43pfTS6G6xH4PvYdeVMORQd7OGS7FgfVkbRcSRJvoKF0eDzNzf-vXfZxw3NQnVSjlbLlH_8nenmxM1qsLTHbrKkDuat4BIwaUaCS_-8EueBfVP8mey9_EXW6uacD_4RxDglGtjrsoi3C4Ae7xlImrlCgyakdyruMTVp1w9mrFTvfdxTd9_8QNWvo_ciA_RssT9L0NGm0KFkLQsOmF9IQNRkG7Ev2_qQKvVNdXSK-l7lqUu-jgbvxXVIYjJrVxMolcv1t9P2-DxZo4czn9R21rgc6gTlGd018PNFIEN-NE11m-3fDdqa9x2-BzmI1p91L9wBBGXF_xUl92xSZu9hh_CQwZFuvfSOQONlTTCcAMxUKVmA3VgHMhRiz9RDGw9hn7zUFZquSwjT8FtegK4dWkRg6GDUlORbRC8geRbnle4zf5enwX_Kw8m2IUUa-26HPRnTquQpQX0yIDsC2mIy7ZP44Q78mw8BHqXByEjK2pPqHHSiD-akHJc6qRhO3BeM--LyFcy2tDMt2ToJFQi_IEJZbecgi_pBS_MrsV2dAKvMw3jgssdwUnfpZH4BC0z5qaVgY6Hoe57doieBwNKQ3SgQKhgy-IZ9ybMcHw3fhsWU2h6BKW28MZg4l5cqXSW_yANc9DhPSz02vumx3_DNRlvVrTsarKYlYl0kzgun6LUr-yx4XeBEdI8N8j10v9Dcx1Ysrz-FAU0b43LhW9tijNwf3-WrBE8cPolbkKH-xxbZ-3Vi1wOlZRyxJZm6uHmc6iDtqwOneYvkmdgYD_uTkxOI7yn6tvR8z7bvvOzrlW6fUPi_HahIt55opCMQgVDHWpsllFTDb_tQoAFnXuT4iz3sZmE69t31VV2mL06S0OCU5JPshqgztsqE5NHsjcAa_2jjJ2oESj3YSIPuBT", + "summary": [ + { + "type": "summary_text", + "text": "**Calculating term and sum**\n\nThe user asked about the sequence 2, 6, 12, 20, 30. I initially determined that the nth term could be expressed as \\( a_n = n(n+1) \\). Now, for the new query, the 10th term would be \\( a_{10} = 10 \\times 11 = 110 \\). \n\nTo find the sum of the first 10 terms, I can use the sum formulas for squares and integers: the total comes to 440. This matches the formula for the sum of pronic numbers, so I'm confident in my calculations!" + }, + { + "type": "summary_text", + "text": "**Summarizing results**\n\nI\u2019ve determined that the 10th term of the sequence is 110 and the sum of the first 10 terms is 440. The pattern corresponds to pronic numbers, represented as \\( a_n = n(n+1) \\). \n\nSo, \\( a_{10} = 10 \\times 11 = 110 \\) and the sum \\( S_{10} = \\sum n(n+1) = 440 \\). I should present both the term and sum clearly, possibly using a bullet list or just plain text for simplicity." + } + ] + }, + { + "id": "msg_0bea5f73b8f03046016a95bbdeba1087d0b434a360e11fa1ce", + "type": "message", + "status": "completed", + "content": [ + { + "type": "output_text", + "annotations": [], + "logprobs": [], + "text": "The 10th term is \n a\u2081\u2080 = 10\u00b7(10 + 1) = 10\u00b711 = 110 \n\nThe sum of the first 10 terms is \n S\u2081\u2080 = \u2211\u2099\u208c\u2081\u00b9\u2070 n(n + 1) \n = \u2211 n\u00b2 + \u2211 n \n = [10\u00b711\u00b721/6] + [10\u00b711/2] \n = 385 + 55 \n = 440 \n\nEquivalently, there\u2019s a closed\u2010form for the sum of pronic numbers: \n S\u2081\u2080 = 10\u00b711\u00b712/3 = 440." + } + ], + "role": "assistant" + } + ], + "parallel_tool_calls": true, + "presence_penalty": 0.0, + "previous_response_id": null, + "prompt_cache_key": null, + "prompt_cache_retention": "in_memory", + "reasoning": { + "context": "current_turn", + "effort": "high", + "mode": "standard", + "summary": "detailed" + }, + "safety_identifier": null, + "service_tier": "default", + "store": false, + "temperature": 1.0, + "text": { + "format": { + "type": "text" + }, + "verbosity": "medium" + }, + "tool_choice": "auto", + "tool_usage": { + "image_gen": { + "input_tokens": 0, + "input_tokens_details": { + "image_tokens": 0, + "text_tokens": 0 + }, + "output_tokens": 0, + "output_tokens_details": { + "image_tokens": 0, + "text_tokens": 0 + }, + "total_tokens": 0 + }, + "web_search": { + "num_requests": 0 + } + }, + "tools": [], + "top_logprobs": 0, + "top_p": 1.0, + "truncation": "disabled", + "usage": { + "input_tokens": 176, + "input_tokens_details": { + "cache_write_tokens": 0, + "cached_tokens": 0 + }, + "output_tokens": 553, + "output_tokens_details": { + "reasoning_tokens": 384 + }, + "total_tokens": 729 + }, + "user": null, + "metadata": {} +} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/openai/__files/responses-0c37df81d2cf.json b/test-harness/src/testFixtures/resources/cassettes/openai/__files/responses-0c37df81d2cf.json index efd3c7cb..942fbd6b 100644 --- a/test-harness/src/testFixtures/resources/cassettes/openai/__files/responses-0c37df81d2cf.json +++ b/test-harness/src/testFixtures/resources/cassettes/openai/__files/responses-0c37df81d2cf.json @@ -1,13 +1,13 @@ { - "id": "resp_050cff5ce90128c7006a7fc279ddc487d08d20eb4e7cbf2ae6", + "id": "resp_0302cef2c22aff8c006a95bd21890487d0bddabf9675765d72", "object": "response", - "created_at": 1786757753, + "created_at": 1788198178, "status": "completed", "background": false, "billing": { "payer": "developer" }, - "completed_at": 1786757760, + "completed_at": 1788198220, "error": null, "frequency_penalty": 0.0, "incomplete_details": null, @@ -18,19 +18,19 @@ "moderation": null, "output": [ { - "id": "ws_050cff5ce90128c7006a7fc27d7c8c87d0919a4bacb3b2679e", + "id": "ws_0302cef2c22aff8c006a95bd24b19887d0acac6ebf95fd20fd", "type": "web_search_call", "status": "completed", "action": { "type": "search", "queries": [ - "recent news about artificial intelligence" + "recent news headline about artificial intelligence 2023" ], - "query": "recent news about artificial intelligence" + "query": "recent news headline about artificial intelligence 2023" } }, { - "id": "msg_050cff5ce90128c7006a7fc27f26a887d0ae49e55d9edeb9f2", + "id": "msg_0302cef2c22aff8c006a95bd26ea1c87d0b32c1a8d009685ba", "type": "message", "status": "completed", "content": [ @@ -39,14 +39,35 @@ "annotations": [ { "type": "url_citation", - "end_index": 493, - "start_index": 392, - "title": "2025 in artificial intelligence", - "url": "https://en.wikipedia.org/wiki/2025_in_artificial_intelligence?utm_source=openai" + "end_index": 1542, + "start_index": 1392, + "title": "AWS is shutting down Mechanical Turk, which let humans beat AI at certain work tasks", + "url": "https://www.techradar.com/pro/aws-is-shutting-down-mechanical-turk-which-let-humans-beat-ai-at-certain-work-tasks?utm_source=openai" + }, + { + "type": "url_citation", + "end_index": 1781, + "start_index": 1562, + "title": "AWS is shutting down Mechanical Turk, which let humans beat AI at certain work tasks", + "url": "https://www.techradar.com/pro/aws-is-shutting-down-mechanical-turk-which-let-humans-beat-ai-at-certain-work-tasks?utm_source=openai" + }, + { + "type": "url_citation", + "end_index": 1967, + "start_index": 1818, + "title": "Bill Gates sounds the alarm on an AI transition", + "url": "https://www.axios.com/2026/08/26/bill-gates-sounds-the-alarm-on-an-ai-transition?utm_source=openai" + }, + { + "type": "url_citation", + "end_index": 2351, + "start_index": 2005, + "title": "New kind of AI uses a fresh approach to reasoning -\u202c researchers say it costs up to 11 times less to run than a leading OpenAI model", + "url": "https://www.livescience.com/technology/artificial-intelligence/new-kind-of-ai-uses-a-fresh-approach-to-reasoning-researchers-say-it-costs-up-to-11-times-less-to-run-than-a-leading-openai-model?utm_source=openai" } ], "logprobs": [], - "text": "As of August 2026, a notable development in artificial intelligence is the release of OpenAI's GPT-5 on August 8, 2025. According to OpenAI CEO Sam Altman, GPT-5 is designed to provide PhD-level expertise. However, it has faced challenges with basic tasks such as spelling and geography, and it cannot continuously learn. Additionally, GPT-5 scores lower than Grok-4 on Humanity's Last Exam. ([en.wikipedia.org](https://en.wikipedia.org/wiki/2025_in_artificial_intelligence?utm_source=openai)) " + "text": "One recent headline about artificial intelligence is:\n\n**\"AWS is shutting down Mechanical Turk, which let humans beat AI at certain work tasks\"**\n\nAmazon has announced it will shut down its Mechanical Turk (MTurk) platform on September 30, 2026. Launched in 2005, MTurk enabled companies to outsource small, routine digital tasks to human workers, particularly those tasks that computers initially struggled with, such as labeling data, tagging images, and transcribing audio. At its peak, the platform connected over 500,000 workers, known as \"turkers,\" and played a key role in labeling data for Amazon\u2019s SageMaker AI service. However, rapid advancements in artificial intelligence have rendered many of these tasks more efficiently managed by machines, leading to a steady decline in MTurk\u2019s relevance. Worker advocates, including Turkopticon's Krista Pawloski, noted that Amazon had deprioritized the platform in recent years, even as competitors like Scale AI and Prolific emerged. The closure signals a broader shift in AI economics, where automated systems are increasingly surpassing human capabilities in data processing. Despite MTurk\u2019s shutdown, Amazon affirms its ongoing commitment to serving its AWS and retail customers. The move has left some long-term workers scrambling to find alternative platforms, especially as certain businesses still depend on human task outsourcing. ([techradar.com](https://www.techradar.com/pro/aws-is-shutting-down-mechanical-turk-which-let-humans-beat-ai-at-certain-work-tasks?utm_source=openai))\n\n\n## Highlights:\n- [AWS is shutting down Mechanical Turk, which let humans beat AI at certain work tasks](https://www.techradar.com/pro/aws-is-shutting-down-mechanical-turk-which-let-humans-beat-ai-at-certain-work-tasks?utm_source=openai), Published on Saturday, August 29\n- [Bill Gates sounds the alarm on an AI transition](https://www.axios.com/2026/08/26/bill-gates-sounds-the-alarm-on-an-ai-transition?utm_source=openai), Published on Wednesday, August 26\n- [New kind of AI uses a fresh approach to reasoning -\u202c researchers say it costs up to 11 times less to run than a leading OpenAI model](https://www.livescience.com/technology/artificial-intelligence/new-kind-of-ai-uses-a-fresh-approach-to-reasoning-researchers-say-it-costs-up-to-11-times-less-to-run-than-a-leading-openai-model?utm_source=openai), Published on Saturday, August 29 " } ], "role": "assistant" @@ -116,11 +137,11 @@ "cache_write_tokens": 0, "cached_tokens": 0 }, - "output_tokens": 134, + "output_tokens": 550, "output_tokens_details": { "reasoning_tokens": 0 }, - "total_tokens": 448 + "total_tokens": 864 }, "user": null, "metadata": {} diff --git a/test-harness/src/testFixtures/resources/cassettes/openai/__files/responses-10f9231b8f69.json b/test-harness/src/testFixtures/resources/cassettes/openai/__files/responses-10f9231b8f69.json new file mode 100644 index 00000000..a11f32a8 --- /dev/null +++ b/test-harness/src/testFixtures/resources/cassettes/openai/__files/responses-10f9231b8f69.json @@ -0,0 +1,109 @@ +{ + "id": "resp_0cdcf22d3808a85f006a95bbf5a6a087d097d20e5b654a6593", + "object": "response", + "created_at": 1788197877, + "status": "completed", + "background": false, + "billing": { + "payer": "developer" + }, + "completed_at": 1788197885, + "error": null, + "frequency_penalty": 0.0, + "incomplete_details": null, + "instructions": null, + "max_output_tokens": null, + "max_tool_calls": null, + "model": "o4-mini-2025-04-16", + "moderation": null, + "output": [ + { + "id": "rs_0cdcf22d3808a85f006a95bbf60e7887d0b5754b314762df94", + "type": "reasoning", + "content": [], + "encrypted_content": "gAAAAABqlbv9129WPcKdg8d4KHpuU8fKWbJMTbz1g-IhN9CUOkZ9mlzjnLW04tfeqBpT_pd97nAuuyfQshIhku7ePFI1ySjpRhqRIM3OZYg_4RFM9J6jkWgP3Exe_hYG0a_OSE5dxOuGo8bfhMfAXk-JI2-ftngXA1hEExwEFeFbYw3JKJAo5hO30dqcGkud5EGwZChRmOR03rOfMU2kphLA2b96iUjtGta0rWgJHBleITHnWfCixTJ36BeTrGQaIotdM09IS4y4hFiGA9y7tadY9b-KzwZKkjcWwCozRKO-OzQ8nz1eZUcpwB8RCXK5b4XBt7h-rkkoFnLnTfk8XzbtDZaleFnHQGE1034XxDlJqZnqxXhejGKu4k72_rWCl656fhpHdfOytB1vzm6bKCsZDzM3vDH1r-iNyHr7a_5M8y7O26SzocHRxcyt39EzwOkhon_3oE_bMglnr1pUTdKIOfNrTp5_AsLK0QnhnqLdoUWv6dSDQ7Tv9cHRxcyjb8GE1b9puRFQZ_nmGlROdALhnZaXfhMa-yS1aohiseIFU0bqmdcvwSW6kFfDocSA8rnQ8bpArc2Ca5DIB1w3qLT_kdbvqKpiCqvx3ZpM79krkODorkg5jYUSMC07_S3Ksb7Ttay6PAGBJT6pdVKdgvluH73zsSprcGO7VP1_e2hF5swdjkq8Rqsj7xYyE6WhTyQ1X8lzBpebNl0uSf-1D9FTCdIgC8LH5OE8UL0na0qPFPHXLukKUIyPXnPOH0VX-gLs0dL0BLjTJ7yidxkDvlkaWLqjlozrY5gVRwTov0M2K6g-qcNNv-yNfPTud7112tLxiFZRA9bJYKsbdQZbFE5_bUV3fUf_bfcs0FkFbhbSZdWJ0EuzuoYBFzzUp8FdtiWRnqM8Cjxh07lOnA0LlWAmd9vpzdIkSOTjjQyQsKtUwYysO5vrb4ENj0zQQ2pMmgyRby1yFzDYgk1vBXkika6E6pU8GboEDycghObBrX6Iwo-3FciE6DIGH0D3gwoHdHeW5GaUwaucHZjHKvt1-_9VeJdSdUAdDu_W7uEgLtKJbfCb8Sf5Mu4-_emvs3fsCF5Et_U5h6-GGneZ5zMcjUbSZ4r_ydtPb7peUAAAEaACSeAVSc7UFGftrCHZU2vqoLFesGZwv29HrUl-rWIwNs0NoG-eAfqGFTus1IaJGDEEsqfUJlv1ySW_yv2J96VqBoTua1IttZMlLoh1yCfoM5R5m3tCDOF9cHFDBr5Zi3KV4kUTuQlKMmjOO3zdmvJ5Bzh0Geoq_rz4B-0FrLwVqfTuNhhXtcd3FZKYZzYyGWJTgegaf0qySVMB7meaL8fs0zp9AZibNpMcuLnEMkQsOG5s_LDNT_jbV8sWXgVcykkpGZDz5WhHUGXdRPKALSSB8IR1qWsthLsS9JDhS1UuHu9YxjMNrEOvoVozwaKRZSRMdj4tdNdazb2a6DEpRNJCQeHo33-SACPJaynwVxVZOdSthXw2D8AzU8_omESDFmaAmNgPMSplyuijnT9S-cyvfovOOtN0_8E5o8yNsWkCAEmKVgSaKhwcIlmfptd7HYej2gig6cPBBh10Qz454U-8x8q0KrAdWlFFg4xwPLYeX9HYELcIKuJlq_v1Es2gY2nDRJV5ITP2MsZojzc59nCwyoqU8o6OLLTauZFHjWphuyDcKrdJv6oIDq6hFk5vmNhh1Luz3oUWGiSM4sgE63cW3bFYJSqC9syt5St-j1Qu4HL5XrC51y_Wl3VAjtmZe3hiUu6C8U-1hXyZktdxHG-XIzFA9wOZkP5Zuhz7yKpUg7CY9-9Kl-jvdUmcjxpjzwtHUtKU2QB90OR1alLjvve7U51RbW0L8zAok0pJtzNNzc2J6x-akwl2wnC-DQW7wb54M8NUuX2GX4-Knkm-3qPmTIfQyhhuixjCFvkdkhWyntCEMvvaUuPuuYXfI7DP2kvGlKbJTncd_fNTV3Pa99lK3nIF-J_Z7T0Og5X29AOusmYIRmtVoaV0r5rC67flE09XT1iURtL5DvjJGjWw4FdyASm9C_ktnXeh7ayZuKEGPpuT52L074hygr8QuSWbFlpFVVWp631De8N0M5b7MPWlX6_hNxSXIGK73wJH7AZmkcRZVsSscZVbnWFS_L68Vy9ZKvJHieK82Ab46J-OdP2QfGPsHvTuIQLh8FekDWWvW9Qo2d17LhvkrNHQxk2ER2AYmhs7w3e9qM78haNucPJgHZpiCNZ3yg9bv894ZELkZwQko55jqjrD_z649uud59T514z9OttGrV3sKbTuij9G-XjWUEnhQ2NiVysl3Ob_BGfNdCjYOyNBrek8YQUYX4-gbOyZM_YyTDOaAyI1JYl8Au8ugSYknTPi1dPFXUykpDYEnF7ZZm4xNOhx9qd7F03HSKj7iRjBMIj4RNvT7E1S4oY7l-GMvvfEklE02UspHMyg02XrJbk_4DXXeuLEtNBzEcvjTB-bD6QfnRZ0525FEEwfWZGuGg9V65B2ItQEn-1av3W80i4sq87eQNUlrDThsnOyNDEp_e1hVgLxTTgaFzSRmPVt11Sun7nPC84fOHIOUr89khUGyRX-Trc3GI1PzfxLfhZiB6ycJEF-HetLILgjywOsLc9KMiKKjuDJrKZPhJ86Kuhk4-P9eGeJnzWtxzRHsxnwCZEMYJMbqNi7gyegzC4awuqV8PBmDFbFH_yHqVh1CIrGasq78nOtc2hY6HMA2CWKn6t_snqk1Rq0bZ_VYOAEq8jG4ZsZywNccHNdbq4WnT8K_FpV3yAGSHIqWX9A8ftFsjcxvcxFnHfJ4ouS8xD4tX3abAdC90BHVGfymql1X7tQcpzus7DeDFHkSvEYp0njDR9cygfOk14nS8gaeMBqT6I72-jYw0x7zLJPm2k01GLYMbj51xbghnOEI9VIGASoss0cGo4zSvIC9b1ApNHaFNYG6y-H00cL8dQBBD-jlZBZHyo2WvDF-3389gOkU8AxAM0mcyBpbboDDUT3B_VjDgxwk5Esaegfaw2AmW3xy6OwBX4isL7rEPUb7TohQXOJCPLsE_wlrGGSgxs8qYbD863a_lrJ6g3qnWdMGq4JvtXxFyCqqnjN4O3XdlLAGI-KYsljf3GQD3DfwgGN7NOoNaBIKY4-lrUTFncqOdEWXHnJGA8duIPJF68UPbHTI82C40SqaqnHcMfsTJQ87XaUMiElP5FJ83qMODaG4QS7o7TP9ohy0iZctx136unXetFB71zQ8Jzdg3JSIcQ6CVULvdp3DR3qwogKaaIBXY_a2sWqUA==", + "summary": [ + { + "type": "summary_text", + "text": "**Calculating pronic numbers**\n\nThe user has a sequence: 2, 6, 12, 20, 30, which corresponds to pronic numbers, where the nth term is given by a_n = n(n+1). They want to know the 10th term and the sum of the first 10 terms. The 10th term is calculated as a_10 = 10*11 = 110. For the sum S_10, I\u2019ll compute the individual sums: S_10 = 385 (sum of squares) + 55 (sum of n), which totals to 440. Alternatively, the formula for the sum simplifies this to the same result!" + }, + { + "type": "summary_text", + "text": "**Finding the 10th term and sum**\n\nI calculated the 10th term by using the formula a_10 = 10 * 11, giving me 110. Then, for the sum of the first 10 terms, I added the series: 2 + 6 + 12 + 20 + 30 + 42 + 56 + 72 + 90 + 110, which totals to 440. I can mention that the general formula for the sum of the first n terms is n(n+1)(n+2)/3. So, the 10th term is 110, and the sum is 440. Let's provide this neatly!" + } + ] + }, + { + "id": "msg_0cdcf22d3808a85f006a95bbfc88bc87d0b77a1c39df3eed36", + "type": "message", + "status": "completed", + "content": [ + { + "type": "output_text", + "annotations": [], + "logprobs": [], + "text": "The 10th term is \na\u2081\u2080 = 10\u00b7(10\u2009+\u20091) = 10\u00b711 = 110. \n\nThe sum of the first 10 terms is \nS\u2081\u2080 = \u2211\u2096\u208c\u2081\u00b9\u2070 k(k\u2009+\u20091) \n = \u2211\u2096\u208c\u2081\u00b9\u2070 k\u00b2 + \u2211\u2096\u208c\u2081\u00b9\u2070 k \n = 385 + 55 \n = 440. \n\n(You can also use the closed\u2010form S\u2099 = n(n\u2009+\u20091)(n\u2009+\u20092)/3 \u21d2 S\u2081\u2080 = 10\u00b711\u00b712/3 = 440.)" + } + ], + "role": "assistant" + } + ], + "parallel_tool_calls": true, + "presence_penalty": 0.0, + "previous_response_id": null, + "prompt_cache_key": null, + "prompt_cache_retention": "in_memory", + "reasoning": { + "context": "current_turn", + "effort": "high", + "mode": "standard", + "summary": "detailed" + }, + "safety_identifier": null, + "service_tier": "default", + "store": true, + "temperature": 1.0, + "text": { + "format": { + "type": "text" + }, + "verbosity": "medium" + }, + "tool_choice": "auto", + "tool_usage": { + "image_gen": { + "input_tokens": 0, + "input_tokens_details": { + "image_tokens": 0, + "text_tokens": 0 + }, + "output_tokens": 0, + "output_tokens_details": { + "image_tokens": 0, + "text_tokens": 0 + }, + "total_tokens": 0 + }, + "web_search": { + "num_requests": 0 + } + }, + "tools": [], + "top_logprobs": 0, + "top_p": 1.0, + "truncation": "disabled", + "usage": { + "input_tokens": 186, + "input_tokens_details": { + "cache_write_tokens": 0, + "cached_tokens": 0 + }, + "output_tokens": 771, + "output_tokens_details": { + "reasoning_tokens": 576 + }, + "total_tokens": 957 + }, + "user": null, + "metadata": {} +} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/openai/__files/responses-137508546e6c.json b/test-harness/src/testFixtures/resources/cassettes/openai/__files/responses-137508546e6c.json deleted file mode 100644 index 020e1ea7..00000000 --- a/test-harness/src/testFixtures/resources/cassettes/openai/__files/responses-137508546e6c.json +++ /dev/null @@ -1,107 +0,0 @@ -{ - "id": "resp_0ff02e989ebfcde4006a4d34358c7081998947b671b7a7024f", - "object": "response", - "created_at": 1783444533, - "status": "completed", - "background": false, - "billing": { - "payer": "developer" - }, - "completed_at": 1783444540, - "error": null, - "frequency_penalty": 0.0, - "incomplete_details": null, - "instructions": null, - "max_output_tokens": null, - "max_tool_calls": null, - "model": "o4-mini-2025-04-16", - "moderation": null, - "output": [ - { - "id": "rs_0ff02e989ebfcde4006a4d3435f6908199b3719abd571b16ed", - "type": "reasoning", - "content": [], - "summary": [ - { - "type": "summary_text", - "text": "**Calculating terms and sums**\n\nThe user wants to find the 10th term of a pattern defined by a_n = n(n+1). For n = 10, that gives a_10 = 10 * 11 = 110. Next, I\u2019ll work out the sum of the first 10 terms. I can break it down into two parts: the sum of n^2 and the sum of n. The sums give 385 and 55, respectively. Adding those, the total sum equals 440. I can confirm that using the derived sum formula also works!" - }, - { - "type": "summary_text", - "text": "**Finalizing the calculations**\n\nI\u2019m summarizing the results: the 10th term of the sequence is 110, and the sum of the first 10 terms is 440. The formula can be presented as sum = (n(n+1)(n+2))/3. To answer the question about the 10th term and the sum, I can clearly state: The 10th term a_10 is 10 * 11 = 110, and the sum is \u2211_{k=1 to 10} k(k+1) = 440. Let\u2019s ensure the delivery is clear and concise!" - } - ] - }, - { - "id": "msg_0ff02e989ebfcde4006a4d343c105481999a7a57c25375ad7e", - "type": "message", - "status": "completed", - "content": [ - { - "type": "output_text", - "annotations": [], - "logprobs": [], - "text": "The nth term is a\u2099 = n(n+1). \nSo the 10th term is \n a\u2081\u2080 = 10\u00b711 = 110. \n\nThe sum of the first 10 terms is \n S\u2081\u2080 = \u2211\u2099\u208c\u2081\u00b9\u2070 n(n+1) \n = \u2211n\u00b2 + \u2211n \n = (10\u00b711\u00b721)/6 + (10\u00b711)/2 \n = 385 + 55 \n = 440. \n\nEquivalently, one can use the closed\u2010form \n \u2211\u2099\u208c\u2081\u207f n(n+1) = n(n+1)(n+2)/3 \nso for n=10: 10\u00b711\u00b712/3 = 440." - } - ], - "role": "assistant" - } - ], - "parallel_tool_calls": true, - "presence_penalty": 0.0, - "previous_response_id": null, - "prompt_cache_key": null, - "prompt_cache_retention": "in_memory", - "reasoning": { - "context": "current_turn", - "effort": "high", - "mode": "standard", - "summary": "detailed" - }, - "safety_identifier": null, - "service_tier": "default", - "store": true, - "temperature": 1.0, - "text": { - "format": { - "type": "text" - }, - "verbosity": "medium" - }, - "tool_choice": "auto", - "tool_usage": { - "image_gen": { - "input_tokens": 0, - "input_tokens_details": { - "image_tokens": 0, - "text_tokens": 0 - }, - "output_tokens": 0, - "output_tokens_details": { - "image_tokens": 0, - "text_tokens": 0 - }, - "total_tokens": 0 - }, - "web_search": { - "num_requests": 0 - } - }, - "tools": [], - "top_logprobs": 0, - "top_p": 1.0, - "truncation": "disabled", - "usage": { - "input_tokens": 274, - "input_tokens_details": { - "cached_tokens": 0 - }, - "output_tokens": 631, - "output_tokens_details": { - "reasoning_tokens": 448 - }, - "total_tokens": 905 - }, - "user": null, - "metadata": {} -} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/openai/__files/responses-1967c8c76482.txt b/test-harness/src/testFixtures/resources/cassettes/openai/__files/responses-1967c8c76482.txt index 5abe8e6c..12d45249 100644 --- a/test-harness/src/testFixtures/resources/cassettes/openai/__files/responses-1967c8c76482.txt +++ b/test-harness/src/testFixtures/resources/cassettes/openai/__files/responses-1967c8c76482.txt @@ -1,1128 +1,1137 @@ event: response.created -data: {"type":"response.created","response":{"id":"resp_04fa46b17a39180a016a888fa20f2c87d0a86633063307bf6a","object":"response","created_at":1787334562,"status":"in_progress","background":false,"completed_at":null,"error":null,"frequency_penalty":0.0,"incomplete_details":null,"instructions":null,"max_output_tokens":null,"max_tool_calls":null,"model":"gpt-4o-2024-08-06","moderation":null,"output":[],"parallel_tool_calls":true,"presence_penalty":0.0,"previous_response_id":null,"prompt_cache_key":null,"prompt_cache_retention":"in_memory","reasoning":{"context":null,"effort":null,"summary":null},"safety_identifier":null,"service_tier":"auto","store":false,"temperature":0.0,"text":{"format":{"type":"text"},"verbosity":"medium"},"tool_choice":"auto","tool_usage":{"image_gen":{"input_tokens":0,"input_tokens_details":{"image_tokens":0,"text_tokens":0},"output_tokens":0,"output_tokens_details":{"image_tokens":0,"text_tokens":0},"total_tokens":0},"web_search":{"num_requests":0}},"tools":[{"type":"web_search_preview","search_content_types":["text"],"search_context_size":"medium","user_location":{"type":"approximate","city":null,"country":"US","region":null,"timezone":null}}],"top_logprobs":0,"top_p":1.0,"truncation":"disabled","usage":null,"user":null,"metadata":{}},"sequence_number":0} +data: {"type":"response.created","response":{"id":"resp_0c8728fafbb9b29a016a95bca39a6487d09ef7b8d2c17010ff","object":"response","created_at":1788198051,"status":"in_progress","background":false,"completed_at":null,"error":null,"frequency_penalty":0.0,"incomplete_details":null,"instructions":null,"max_output_tokens":null,"max_tool_calls":null,"model":"gpt-4o-2024-08-06","moderation":null,"output":[],"parallel_tool_calls":true,"presence_penalty":0.0,"previous_response_id":null,"prompt_cache_key":null,"prompt_cache_retention":"in_memory","reasoning":{"context":null,"effort":null,"summary":null},"safety_identifier":null,"service_tier":"auto","store":false,"temperature":0.0,"text":{"format":{"type":"text"},"verbosity":"medium"},"tool_choice":"auto","tool_usage":{"image_gen":{"input_tokens":0,"input_tokens_details":{"image_tokens":0,"text_tokens":0},"output_tokens":0,"output_tokens_details":{"image_tokens":0,"text_tokens":0},"total_tokens":0},"web_search":{"num_requests":0}},"tools":[{"type":"web_search_preview","search_content_types":["text"],"search_context_size":"medium","user_location":{"type":"approximate","city":null,"country":"US","region":null,"timezone":null}}],"top_logprobs":0,"top_p":1.0,"truncation":"disabled","usage":null,"user":null,"metadata":{}},"sequence_number":0} event: response.in_progress -data: {"type":"response.in_progress","response":{"id":"resp_04fa46b17a39180a016a888fa20f2c87d0a86633063307bf6a","object":"response","created_at":1787334562,"status":"in_progress","background":false,"completed_at":null,"error":null,"frequency_penalty":0.0,"incomplete_details":null,"instructions":null,"max_output_tokens":null,"max_tool_calls":null,"model":"gpt-4o-2024-08-06","moderation":null,"output":[],"parallel_tool_calls":true,"presence_penalty":0.0,"previous_response_id":null,"prompt_cache_key":null,"prompt_cache_retention":"in_memory","reasoning":{"context":null,"effort":null,"summary":null},"safety_identifier":null,"service_tier":"auto","store":false,"temperature":0.0,"text":{"format":{"type":"text"},"verbosity":"medium"},"tool_choice":"auto","tool_usage":{"image_gen":{"input_tokens":0,"input_tokens_details":{"image_tokens":0,"text_tokens":0},"output_tokens":0,"output_tokens_details":{"image_tokens":0,"text_tokens":0},"total_tokens":0},"web_search":{"num_requests":0}},"tools":[{"type":"web_search_preview","search_content_types":["text"],"search_context_size":"medium","user_location":{"type":"approximate","city":null,"country":"US","region":null,"timezone":null}}],"top_logprobs":0,"top_p":1.0,"truncation":"disabled","usage":null,"user":null,"metadata":{}},"sequence_number":1} +data: {"type":"response.in_progress","response":{"id":"resp_0c8728fafbb9b29a016a95bca39a6487d09ef7b8d2c17010ff","object":"response","created_at":1788198051,"status":"in_progress","background":false,"completed_at":null,"error":null,"frequency_penalty":0.0,"incomplete_details":null,"instructions":null,"max_output_tokens":null,"max_tool_calls":null,"model":"gpt-4o-2024-08-06","moderation":null,"output":[],"parallel_tool_calls":true,"presence_penalty":0.0,"previous_response_id":null,"prompt_cache_key":null,"prompt_cache_retention":"in_memory","reasoning":{"context":null,"effort":null,"summary":null},"safety_identifier":null,"service_tier":"auto","store":false,"temperature":0.0,"text":{"format":{"type":"text"},"verbosity":"medium"},"tool_choice":"auto","tool_usage":{"image_gen":{"input_tokens":0,"input_tokens_details":{"image_tokens":0,"text_tokens":0},"output_tokens":0,"output_tokens_details":{"image_tokens":0,"text_tokens":0},"total_tokens":0},"web_search":{"num_requests":0}},"tools":[{"type":"web_search_preview","search_content_types":["text"],"search_context_size":"medium","user_location":{"type":"approximate","city":null,"country":"US","region":null,"timezone":null}}],"top_logprobs":0,"top_p":1.0,"truncation":"disabled","usage":null,"user":null,"metadata":{}},"sequence_number":1} event: response.output_item.added -data: {"type":"response.output_item.added","item":{"id":"ws_04fa46b17a39180a016a888fa2a81087d0a961c6a9b9866bb8","type":"web_search_call","status":"in_progress","action":{"type":"search"}},"output_index":0,"sequence_number":2} +data: {"type":"response.output_item.added","item":{"id":"ws_0c8728fafbb9b29a016a95bca4670087d0b492e2fa72d76e7e","type":"web_search_call","status":"in_progress","action":{"type":"search"}},"output_index":0,"sequence_number":2} event: response.web_search_call.in_progress -data: {"type":"response.web_search_call.in_progress","item_id":"ws_04fa46b17a39180a016a888fa2a81087d0a961c6a9b9866bb8","output_index":0,"sequence_number":3} +data: {"type":"response.web_search_call.in_progress","item_id":"ws_0c8728fafbb9b29a016a95bca4670087d0b492e2fa72d76e7e","output_index":0,"sequence_number":3} event: response.web_search_call.searching -data: {"type":"response.web_search_call.searching","item_id":"ws_04fa46b17a39180a016a888fa2a81087d0a961c6a9b9866bb8","output_index":0,"sequence_number":4} +data: {"type":"response.web_search_call.searching","item_id":"ws_0c8728fafbb9b29a016a95bca4670087d0b492e2fa72d76e7e","output_index":0,"sequence_number":4} event: response.web_search_call.completed -data: {"type":"response.web_search_call.completed","item_id":"ws_04fa46b17a39180a016a888fa2a81087d0a961c6a9b9866bb8","output_index":0,"sequence_number":5} +data: {"type":"response.web_search_call.completed","item_id":"ws_0c8728fafbb9b29a016a95bca4670087d0b492e2fa72d76e7e","output_index":0,"sequence_number":5} event: response.output_item.done -data: {"type":"response.output_item.done","item":{"id":"ws_04fa46b17a39180a016a888fa2a81087d0a961c6a9b9866bb8","type":"web_search_call","status":"completed","action":{"type":"search","queries":["Moderna news October 2023"],"query":"Moderna news October 2023"}},"output_index":0,"sequence_number":6} +data: {"type":"response.output_item.done","item":{"id":"ws_0c8728fafbb9b29a016a95bca4670087d0b492e2fa72d76e7e","type":"web_search_call","status":"completed","action":{"type":"search","queries":["Moderna news October 2023"],"query":"Moderna news October 2023"}},"output_index":0,"sequence_number":6} event: response.output_item.added -data: {"type":"response.output_item.added","item":{"id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","type":"message","status":"in_progress","content":[],"role":"assistant"},"output_index":1,"sequence_number":7} +data: {"type":"response.output_item.added","item":{"id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","type":"message","status":"in_progress","content":[],"role":"assistant"},"output_index":1,"sequence_number":7} event: response.content_part.added -data: {"type":"response.content_part.added","content_index":0,"item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","output_index":1,"part":{"type":"output_text","annotations":[],"logprobs":[],"text":""},"sequence_number":8} +data: {"type":"response.content_part.added","content_index":0,"item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","output_index":1,"part":{"type":"output_text","annotations":[],"logprobs":[],"text":""},"sequence_number":8} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":"Mod","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"Dc3pf1MOJnzLS","output_index":1,"sequence_number":9} +data: {"type":"response.output_text.delta","content_index":0,"delta":"Mod","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"t9Aji94nhIwqz","output_index":1,"sequence_number":9} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":"erna","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"zY8GyaogrFC0","output_index":1,"sequence_number":10} +data: {"type":"response.output_text.delta","content_index":0,"delta":"erna","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"herOl87tRgna","output_index":1,"sequence_number":10} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" has","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"fcg7ET10k7K7","output_index":1,"sequence_number":11} +data: {"type":"response.output_text.delta","content_index":0,"delta":" has","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"c7XUWqgu4YVI","output_index":1,"sequence_number":11} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" recently","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"LuLgVF5","output_index":1,"sequence_number":12} +data: {"type":"response.output_text.delta","content_index":0,"delta":" recently","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"vXcJJpK","output_index":1,"sequence_number":12} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" achieved","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"wPLKSIa","output_index":1,"sequence_number":13} +data: {"type":"response.output_text.delta","content_index":0,"delta":" achieved","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"XMRFKYN","output_index":1,"sequence_number":13} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" significant","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"DcJD","output_index":1,"sequence_number":14} +data: {"type":"response.output_text.delta","content_index":0,"delta":" significant","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"LQUQ","output_index":1,"sequence_number":14} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" milestones","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"nBUNW","output_index":1,"sequence_number":15} +data: {"type":"response.output_text.delta","content_index":0,"delta":" milestones","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"TG0BK","output_index":1,"sequence_number":15} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" in","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"c9bPDKJqoxViK","output_index":1,"sequence_number":16} +data: {"type":"response.output_text.delta","content_index":0,"delta":" in","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"t7jhi68AvQfIR","output_index":1,"sequence_number":16} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" both","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"ZLKnLBkUA1r","output_index":1,"sequence_number":17} +data: {"type":"response.output_text.delta","content_index":0,"delta":" both","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"WTVwlMZXU83","output_index":1,"sequence_number":17} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" oncology","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"judqKXA","output_index":1,"sequence_number":18} +data: {"type":"response.output_text.delta","content_index":0,"delta":" oncology","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"xsQtFSd","output_index":1,"sequence_number":18} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" and","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"3vrXbTXj15T1","output_index":1,"sequence_number":19} +data: {"type":"response.output_text.delta","content_index":0,"delta":" and","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"SQHRJKOWsC2v","output_index":1,"sequence_number":19} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" infectious","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"5yoBs","output_index":1,"sequence_number":20} +data: {"type":"response.output_text.delta","content_index":0,"delta":" infectious","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"tE9gr","output_index":1,"sequence_number":20} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" disease","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"FgUz1cdn","output_index":1,"sequence_number":21} +data: {"type":"response.output_text.delta","content_index":0,"delta":" disease","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"awVYE1mq","output_index":1,"sequence_number":21} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" prevention","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"Ea60q","output_index":1,"sequence_number":22} +data: {"type":"response.output_text.delta","content_index":0,"delta":" treatments","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"91L6W","output_index":1,"sequence_number":22} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":":","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"RRtMRAJJ1my52oi","output_index":1,"sequence_number":23} +data: {"type":"response.output_text.delta","content_index":0,"delta":":","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"yRtG9zx5cS5jqCE","output_index":1,"sequence_number":23} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":"\n","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"daGLt9kQE0wfSrQ","output_index":1,"sequence_number":24} +data: {"type":"response.output_text.delta","content_index":0,"delta":"\n","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"aNn28OklLapxiuk","output_index":1,"sequence_number":24} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":"\n**","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"ugr1tVvCs36rr","output_index":1,"sequence_number":25} +data: {"type":"response.output_text.delta","content_index":0,"delta":"\n**","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"eq2rhfQYMEROQ","output_index":1,"sequence_number":25} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":"Break","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"PA1xaxoehXn","output_index":1,"sequence_number":26} +data: {"type":"response.output_text.delta","content_index":0,"delta":"Adv","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"cAABKk62x7h21","output_index":1,"sequence_number":26} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":"through","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"DiQf2PwL0","output_index":1,"sequence_number":27} +data: {"type":"response.output_text.delta","content_index":0,"delta":"ancements","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"8DnJwlW","output_index":1,"sequence_number":27} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" in","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"PxIAPIDS72mZ0","output_index":1,"sequence_number":28} +data: {"type":"response.output_text.delta","content_index":0,"delta":" in","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"ZeRRuapLQeAwj","output_index":1,"sequence_number":28} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" m","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"KtzUOSPSphhoNC","output_index":1,"sequence_number":29} +data: {"type":"response.output_text.delta","content_index":0,"delta":" Cancer","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"3x0ZKYm1L","output_index":1,"sequence_number":29} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":"RNA","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"FRJMc4Vpcuhsn","output_index":1,"sequence_number":30} +data: {"type":"response.output_text.delta","content_index":0,"delta":" Treatment","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"qhOpKY","output_index":1,"sequence_number":30} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":"-Based","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"waxNzRiNsM","output_index":1,"sequence_number":31} +data: {"type":"response.output_text.delta","content_index":0,"delta":"**\n","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"kP4epnW0JPfG8","output_index":1,"sequence_number":31} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" Cancer","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"s0VPL7eWQ","output_index":1,"sequence_number":32} +data: {"type":"response.output_text.delta","content_index":0,"delta":"\n","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"l2A4IRrNaeOnE4Q","output_index":1,"sequence_number":32} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" Treatment","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"tHQXso","output_index":1,"sequence_number":33} +data: {"type":"response.output_text.delta","content_index":0,"delta":"Mod","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"MQS8HHinjVgyo","output_index":1,"sequence_number":33} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":"**\n","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"8nBR7Vx18PdOi","output_index":1,"sequence_number":34} +data: {"type":"response.output_text.delta","content_index":0,"delta":"erna","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"74JiAVZME1ru","output_index":1,"sequence_number":34} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":"\n","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"W1vH3mLXMqeLX9D","output_index":1,"sequence_number":35} +data: {"type":"response.output_text.delta","content_index":0,"delta":",","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"15AkJaI1km88u3D","output_index":1,"sequence_number":35} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":"Mod","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"7gyQHOcbGvJah","output_index":1,"sequence_number":36} +data: {"type":"response.output_text.delta","content_index":0,"delta":" in","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"KtsWrKA8eEvd6","output_index":1,"sequence_number":36} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":"erna","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"IJaYRkkkt48l","output_index":1,"sequence_number":37} +data: {"type":"response.output_text.delta","content_index":0,"delta":" collaboration","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"D3","output_index":1,"sequence_number":37} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":",","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"Mylj3PrIiMu6tWe","output_index":1,"sequence_number":38} +data: {"type":"response.output_text.delta","content_index":0,"delta":" with","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"6sMu8w0qmpI","output_index":1,"sequence_number":38} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" in","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"6HH4yAiIrAAJc","output_index":1,"sequence_number":39} +data: {"type":"response.output_text.delta","content_index":0,"delta":" Mer","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"dSXweV5uFkGB","output_index":1,"sequence_number":39} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" collaboration","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"Lm","output_index":1,"sequence_number":40} +data: {"type":"response.output_text.delta","content_index":0,"delta":"ck","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"vX3fNShdYsixHV","output_index":1,"sequence_number":40} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" with","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"INjiVurJ6p2","output_index":1,"sequence_number":41} +data: {"type":"response.output_text.delta","content_index":0,"delta":",","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"jjkmebGlyfSe5OM","output_index":1,"sequence_number":41} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" Mer","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"49ZcfbzIe6Ld","output_index":1,"sequence_number":42} +data: {"type":"response.output_text.delta","content_index":0,"delta":" announced","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"rmem1T","output_index":1,"sequence_number":42} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":"ck","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"kH62csueNpbmeT","output_index":1,"sequence_number":43} +data: {"type":"response.output_text.delta","content_index":0,"delta":" promising","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"ZZKRcQ","output_index":1,"sequence_number":43} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":",","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"jVRFyypj7jHbdtc","output_index":1,"sequence_number":44} +data: {"type":"response.output_text.delta","content_index":0,"delta":" results","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"mKTvCtIn","output_index":1,"sequence_number":44} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" announced","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"V5QAs5","output_index":1,"sequence_number":45} +data: {"type":"response.output_text.delta","content_index":0,"delta":" from","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"umWruEci4Ai","output_index":1,"sequence_number":45} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" promising","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"gPG0mF","output_index":1,"sequence_number":46} +data: {"type":"response.output_text.delta","content_index":0,"delta":" a","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"pzvfrLS9lq7kUT","output_index":1,"sequence_number":46} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" results","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"HSqGvF1w","output_index":1,"sequence_number":47} +data: {"type":"response.output_text.delta","content_index":0,"delta":" late","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"dPf5hpYmfrn","output_index":1,"sequence_number":47} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" from","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"uaqOJzdajvO","output_index":1,"sequence_number":48} +data: {"type":"response.output_text.delta","content_index":0,"delta":"-stage","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"7RkX10wFLr","output_index":1,"sequence_number":48} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" a","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"rUpzXnOw4foojj","output_index":1,"sequence_number":49} +data: {"type":"response.output_text.delta","content_index":0,"delta":" clinical","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"ikONZsd","output_index":1,"sequence_number":49} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" late","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"cSjQpJ262ur","output_index":1,"sequence_number":50} +data: {"type":"response.output_text.delta","content_index":0,"delta":" trial","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"ysPIeWZ9a3","output_index":1,"sequence_number":50} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":"-stage","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"ePZGVQLYm7","output_index":1,"sequence_number":51} +data: {"type":"response.output_text.delta","content_index":0,"delta":" of","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"i0Qa5qn8CSElK","output_index":1,"sequence_number":51} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" clinical","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"GlhnV0h","output_index":1,"sequence_number":52} +data: {"type":"response.output_text.delta","content_index":0,"delta":" their","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"HRnX5Hzfnj","output_index":1,"sequence_number":52} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" trial","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"n7m9sF7lEx","output_index":1,"sequence_number":53} +data: {"type":"response.output_text.delta","content_index":0,"delta":" personalized","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"UMD","output_index":1,"sequence_number":53} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" of","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"u8REquAn1QKd7","output_index":1,"sequence_number":54} +data: {"type":"response.output_text.delta","content_index":0,"delta":" m","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"NPD1etRzu8SF1C","output_index":1,"sequence_number":54} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" their","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"yg4A9D8F8U","output_index":1,"sequence_number":55} +data: {"type":"response.output_text.delta","content_index":0,"delta":"RNA","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"OHcgaUoduXzll","output_index":1,"sequence_number":55} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" personalized","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"F5g","output_index":1,"sequence_number":56} +data: {"type":"response.output_text.delta","content_index":0,"delta":"-based","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"GwtprPAeRT","output_index":1,"sequence_number":56} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" m","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"Tg3iewTMrxDf4Z","output_index":1,"sequence_number":57} +data: {"type":"response.output_text.delta","content_index":0,"delta":" cancer","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"SZyjiUxoc","output_index":1,"sequence_number":57} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":"RNA","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"pZcRHtch4qIKm","output_index":1,"sequence_number":58} +data: {"type":"response.output_text.delta","content_index":0,"delta":" vaccine","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"k9d5ayYg","output_index":1,"sequence_number":58} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":"-based","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"57XyA2dgkC","output_index":1,"sequence_number":59} +data: {"type":"response.output_text.delta","content_index":0,"delta":",","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"W8QUaad4RKr9STx","output_index":1,"sequence_number":59} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" cancer","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"GJsmIi8c4","output_index":1,"sequence_number":60} +data: {"type":"response.output_text.delta","content_index":0,"delta":" int","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"d7uMYwXV1EL6","output_index":1,"sequence_number":60} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" vaccine","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"L1MoVXqn","output_index":1,"sequence_number":61} +data: {"type":"response.output_text.delta","content_index":0,"delta":"is","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"NlVnZn9O8zK1B1","output_index":1,"sequence_number":61} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":",","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"jn5GM0xWmEWNFf3","output_index":1,"sequence_number":62} +data: {"type":"response.output_text.delta","content_index":0,"delta":"mer","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"NJ28VcCiqHM61","output_index":1,"sequence_number":62} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" int","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"w1jxKdR8Dthd","output_index":1,"sequence_number":63} +data: {"type":"response.output_text.delta","content_index":0,"delta":"an","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"DbMHpCJ1t6Dr5Q","output_index":1,"sequence_number":63} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":"is","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"hpkoRvz6MBypuC","output_index":1,"sequence_number":64} +data: {"type":"response.output_text.delta","content_index":0,"delta":",","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"RDcyLm6rjcqlz8Y","output_index":1,"sequence_number":64} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":"mer","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"lu6PpgeNYe5f6","output_index":1,"sequence_number":65} +data: {"type":"response.output_text.delta","content_index":0,"delta":" combined","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"5575b1z","output_index":1,"sequence_number":65} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":"an","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"uSFv5mJHdkNAF0","output_index":1,"sequence_number":66} +data: {"type":"response.output_text.delta","content_index":0,"delta":" with","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"lcie2fxsIrZ","output_index":1,"sequence_number":66} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":".","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"9OGeoPHgd71Fu2Q","output_index":1,"sequence_number":67} +data: {"type":"response.output_text.delta","content_index":0,"delta":" Mer","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"Q5zRGAOpEgaP","output_index":1,"sequence_number":67} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" ","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"s6cu3jSjqRKaIAe","output_index":1,"sequence_number":68} +data: {"type":"response.output_text.delta","content_index":0,"delta":"ck","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"ab43oKldiBQHmp","output_index":1,"sequence_number":68} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":"This","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"GJPbyyZAMLBW","output_index":1,"sequence_number":69} +data: {"type":"response.output_text.delta","content_index":0,"delta":"'s","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"9pAzs0UUSOYaJI","output_index":1,"sequence_number":69} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" vaccine","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"C7xXY4ex","output_index":1,"sequence_number":70} +data: {"type":"response.output_text.delta","content_index":0,"delta":" immun","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"xiwer6DWjU","output_index":1,"sequence_number":70} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":",","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"6pSvdPh3GGMs0Tx","output_index":1,"sequence_number":71} +data: {"type":"response.output_text.delta","content_index":0,"delta":"otherapy","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"cawQ5T4B","output_index":1,"sequence_number":71} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" tailored","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"GMeIxhd","output_index":1,"sequence_number":72} +data: {"type":"response.output_text.delta","content_index":0,"delta":" drug","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"cZ79u3I3DDU","output_index":1,"sequence_number":72} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" to","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"2QDVOF7zyFtZg","output_index":1,"sequence_number":73} +data: {"type":"response.output_text.delta","content_index":0,"delta":" Key","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"aPNZiWK7S7ps","output_index":1,"sequence_number":73} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" individual","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"pfCju","output_index":1,"sequence_number":74} +data: {"type":"response.output_text.delta","content_index":0,"delta":"tr","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"E1AMDWVcXEvpyW","output_index":1,"sequence_number":74} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" patients","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"Qd121DK","output_index":1,"sequence_number":75} +data: {"type":"response.output_text.delta","content_index":0,"delta":"uda","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"JDg88bXHu6nUf","output_index":1,"sequence_number":75} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" based","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"ZarQ1fbyr6","output_index":1,"sequence_number":76} +data: {"type":"response.output_text.delta","content_index":0,"delta":".","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"Uiz0emWdqdclKgY","output_index":1,"sequence_number":76} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" on","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"kY87a5vR3AdvB","output_index":1,"sequence_number":77} +data: {"type":"response.output_text.delta","content_index":0,"delta":" ","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"d5jc0fD0taKvdve","output_index":1,"sequence_number":77} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" specific","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"3ZNILhp","output_index":1,"sequence_number":78} +data: {"type":"response.output_text.delta","content_index":0,"delta":"This","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"cBmgvtqdRV6X","output_index":1,"sequence_number":78} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" tumor","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"V8SsAvWObI","output_index":1,"sequence_number":79} +data: {"type":"response.output_text.delta","content_index":0,"delta":" combination","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"0S8E","output_index":1,"sequence_number":79} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" mutations","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"rN64Po","output_index":1,"sequence_number":80} +data: {"type":"response.output_text.delta","content_index":0,"delta":" significantly","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"8X","output_index":1,"sequence_number":80} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":",","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"F9aswXPEgR9J9MV","output_index":1,"sequence_number":81} +data: {"type":"response.output_text.delta","content_index":0,"delta":" reduced","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"fWQHIW8V","output_index":1,"sequence_number":81} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" was","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"acvAZp0jwfo0","output_index":1,"sequence_number":82} +data: {"type":"response.output_text.delta","content_index":0,"delta":" the","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"61qJVS8d9PiM","output_index":1,"sequence_number":82} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" tested","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"82ZHpbyCO","output_index":1,"sequence_number":83} +data: {"type":"response.output_text.delta","content_index":0,"delta":" recurrence","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"O028I","output_index":1,"sequence_number":83} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" alongside","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"7ECqKM","output_index":1,"sequence_number":84} +data: {"type":"response.output_text.delta","content_index":0,"delta":" and","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"XusYgT4P2noT","output_index":1,"sequence_number":84} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" Mer","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"m7535TMaC2ue","output_index":1,"sequence_number":85} +data: {"type":"response.output_text.delta","content_index":0,"delta":" spread","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"Y0u3D0iPE","output_index":1,"sequence_number":85} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":"ck","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"zzjOtJaZsVw61N","output_index":1,"sequence_number":86} +data: {"type":"response.output_text.delta","content_index":0,"delta":" of","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"aQHrM3P7h2ctn","output_index":1,"sequence_number":86} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":"'s","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"EeMXuOmDUNvYoB","output_index":1,"sequence_number":87} +data: {"type":"response.output_text.delta","content_index":0,"delta":" high","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"1Y3hs507YJC","output_index":1,"sequence_number":87} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" immun","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"UzimI0CtWC","output_index":1,"sequence_number":88} +data: {"type":"response.output_text.delta","content_index":0,"delta":"-risk","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"eeF0HpyAQlv","output_index":1,"sequence_number":88} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":"otherapy","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"UAr1JP3v","output_index":1,"sequence_number":89} +data: {"type":"response.output_text.delta","content_index":0,"delta":" melanoma","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"TZu0hco","output_index":1,"sequence_number":89} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" drug","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"PdAh2vbVkgu","output_index":1,"sequence_number":90} +data: {"type":"response.output_text.delta","content_index":0,"delta":" in","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"bHnyKxaQCHGPm","output_index":1,"sequence_number":90} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":",","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"iQSoeOW1T2RIQ0o","output_index":1,"sequence_number":91} +data: {"type":"response.output_text.delta","content_index":0,"delta":" patients","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"JQqjexc","output_index":1,"sequence_number":91} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" Key","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"sRbgCh6Ks377","output_index":1,"sequence_number":92} +data: {"type":"response.output_text.delta","content_index":0,"delta":" who","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"X2V5isasG1EN","output_index":1,"sequence_number":92} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":"tr","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"tyanbizDfdmfIq","output_index":1,"sequence_number":93} +data: {"type":"response.output_text.delta","content_index":0,"delta":" had","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"tvvh5EM4bnfZ","output_index":1,"sequence_number":93} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":"uda","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"wJJr1fk7vfNm3","output_index":1,"sequence_number":94} +data: {"type":"response.output_text.delta","content_index":0,"delta":" undergone","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"585K5W","output_index":1,"sequence_number":94} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":",","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"fpt5SH26R4pgo0T","output_index":1,"sequence_number":95} +data: {"type":"response.output_text.delta","content_index":0,"delta":" surgery","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"Y1aEUd4N","output_index":1,"sequence_number":95} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" in","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"RnZODU7iq1nWM","output_index":1,"sequence_number":96} +data: {"type":"response.output_text.delta","content_index":0,"delta":".","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"O3IHF6wJtyRxKv8","output_index":1,"sequence_number":96} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" over","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"SQLMnWciWCT","output_index":1,"sequence_number":97} +data: {"type":"response.output_text.delta","content_index":0,"delta":" ","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"ivY3uuFWeIL3l2M","output_index":1,"sequence_number":97} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" ","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"nmdaca9CHxKzYPo","output_index":1,"sequence_number":98} +data: {"type":"response.output_text.delta","content_index":0,"delta":"This","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"2YHyoeYmSYhW","output_index":1,"sequence_number":98} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":"1","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"eHhAWE8vxZye4Lu","output_index":1,"sequence_number":99} +data: {"type":"response.output_text.delta","content_index":0,"delta":" marks","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"tUCy4IJHVi","output_index":1,"sequence_number":99} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":",","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"bdjSYKZ6ouKi7L9","output_index":1,"sequence_number":100} +data: {"type":"response.output_text.delta","content_index":0,"delta":" the","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"59ZcltuChWPk","output_index":1,"sequence_number":100} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":"100","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"s2oge40kgvDfk","output_index":1,"sequence_number":101} +data: {"type":"response.output_text.delta","content_index":0,"delta":" first","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"58D9LdDeZX","output_index":1,"sequence_number":101} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" high","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"S7UPsaeU8d5","output_index":1,"sequence_number":102} +data: {"type":"response.output_text.delta","content_index":0,"delta":" successful","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"lIfCd","output_index":1,"sequence_number":102} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":"-risk","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"xamea6fVJ3J","output_index":1,"sequence_number":103} +data: {"type":"response.output_text.delta","content_index":0,"delta":" late","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"UnhAiNwCAm6","output_index":1,"sequence_number":103} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" melanoma","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"IYZAAZf","output_index":1,"sequence_number":104} +data: {"type":"response.output_text.delta","content_index":0,"delta":"-stage","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"fhZO40KWj1","output_index":1,"sequence_number":104} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" patients","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"eLGf1Rh","output_index":1,"sequence_number":105} +data: {"type":"response.output_text.delta","content_index":0,"delta":" trial","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"k5uLpxvzqd","output_index":1,"sequence_number":105} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":".","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"msrMjXxjmgB1kqO","output_index":1,"sequence_number":106} +data: {"type":"response.output_text.delta","content_index":0,"delta":" of","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"w8yvzDAdM4Q0V","output_index":1,"sequence_number":106} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" ","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"pWikIAhc9plfsN7","output_index":1,"sequence_number":107} +data: {"type":"response.output_text.delta","content_index":0,"delta":" a","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"yPZagbRFeqyoqt","output_index":1,"sequence_number":107} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":"The","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"BEQ6767YG4Fyo","output_index":1,"sequence_number":108} +data: {"type":"response.output_text.delta","content_index":0,"delta":" personalized","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"L5v","output_index":1,"sequence_number":108} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" combination","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"QhB8","output_index":1,"sequence_number":109} +data: {"type":"response.output_text.delta","content_index":0,"delta":" m","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"6xnF3epeRFzcnS","output_index":1,"sequence_number":109} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" therapy","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"Sexd3jru","output_index":1,"sequence_number":110} +data: {"type":"response.output_text.delta","content_index":0,"delta":"RNA","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"HbjdTM4aGwIMA","output_index":1,"sequence_number":110} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" demonstrated","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"on7","output_index":1,"sequence_number":111} +data: {"type":"response.output_text.delta","content_index":0,"delta":" cancer","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"oP0DHn3P3","output_index":1,"sequence_number":111} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" a","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"FuTgJ7Qt9o9MH0","output_index":1,"sequence_number":112} +data: {"type":"response.output_text.delta","content_index":0,"delta":" therapy","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"WT6YMs8L","output_index":1,"sequence_number":112} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" statistically","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"Z1","output_index":1,"sequence_number":113} +data: {"type":"response.output_text.delta","content_index":0,"delta":",","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"goTWq6o5cWWh3xY","output_index":1,"sequence_number":113} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" significant","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"mAuU","output_index":1,"sequence_number":114} +data: {"type":"response.output_text.delta","content_index":0,"delta":" potentially","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"Lt2I","output_index":1,"sequence_number":114} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" reduction","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"azE9Km","output_index":1,"sequence_number":115} +data: {"type":"response.output_text.delta","content_index":0,"delta":" opening","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"toUDxlN8","output_index":1,"sequence_number":115} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" in","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"6oVtHy4TcRPQH","output_index":1,"sequence_number":116} +data: {"type":"response.output_text.delta","content_index":0,"delta":" new","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"iaXrQqnXFPLX","output_index":1,"sequence_number":116} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" cancer","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"OKLW5k8ja","output_index":1,"sequence_number":117} +data: {"type":"response.output_text.delta","content_index":0,"delta":" avenues","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"FNqRPAqO","output_index":1,"sequence_number":117} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" recurrence","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"XTwKq","output_index":1,"sequence_number":118} +data: {"type":"response.output_text.delta","content_index":0,"delta":" for","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"41AKMFnaKTjT","output_index":1,"sequence_number":118} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" and","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"BsLZ51xKj42h","output_index":1,"sequence_number":119} +data: {"type":"response.output_text.delta","content_index":0,"delta":" treating","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"jWbhzLu","output_index":1,"sequence_number":119} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" metast","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"LfZuPeelq","output_index":1,"sequence_number":120} +data: {"type":"response.output_text.delta","content_index":0,"delta":" melanoma","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"esNIFiu","output_index":1,"sequence_number":120} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":"asis","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"7wCHvdQ5Nean","output_index":1,"sequence_number":121} +data: {"type":"response.output_text.delta","content_index":0,"delta":" and","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"28oHY0MoQYKE","output_index":1,"sequence_number":121} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" compared","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"0ctiADT","output_index":1,"sequence_number":122} +data: {"type":"response.output_text.delta","content_index":0,"delta":" other","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"yJNqnJux1x","output_index":1,"sequence_number":122} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" to","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"YrmSA6Kfs6tPV","output_index":1,"sequence_number":123} +data: {"type":"response.output_text.delta","content_index":0,"delta":" cancers","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"d2aJcb0z","output_index":1,"sequence_number":123} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" Key","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"LSov9CSgH7Ec","output_index":1,"sequence_number":124} +data: {"type":"response.output_text.delta","content_index":0,"delta":".","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"3f8tP3WCkGvX4GQ","output_index":1,"sequence_number":124} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":"tr","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"cYQDRLNP3n2WRJ","output_index":1,"sequence_number":125} +data: {"type":"response.output_text.delta","content_index":0,"delta":" ","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"xOmJCdLbCFr7kPX","output_index":1,"sequence_number":125} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":"uda","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"9PthSVU229N6x","output_index":1,"sequence_number":126} +data: {"type":"response.output_text.delta","content_index":0,"delta":"([theweek.com](https://theweek.com/health/moderna-says-skin-cancer-vaccine-success?utm_source=openai))","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"aRTvUEfDU5","output_index":1,"sequence_number":126} + +event: response.output_text.annotation.added +data: {"type":"response.output_text.annotation.added","annotation":{"type":"url_citation","end_index":744,"start_index":642,"title":"Moderna says skin cancer vaccine trial a success","url":"https://theweek.com/health/moderna-says-skin-cancer-vaccine-success?utm_source=openai"},"annotation_index":0,"content_index":0,"item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","output_index":1,"sequence_number":127} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" alone","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"0Bpp9zIes6","output_index":1,"sequence_number":127} +data: {"type":"response.output_text.delta","content_index":0,"delta":"\n","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"NOSNK0m12KcxAsc","output_index":1,"sequence_number":128} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":".","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"PEyN1GdWHV93T87","output_index":1,"sequence_number":128} +data: {"type":"response.output_text.delta","content_index":0,"delta":"\n**","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"1pH980aQLqEVb","output_index":1,"sequence_number":129} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" ","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"8KFYOuzuq1PDrlN","output_index":1,"sequence_number":129} +data: {"type":"response.output_text.delta","content_index":0,"delta":"Approval","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"cU77y8X4","output_index":1,"sequence_number":130} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":"These","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"uO4ykwvVUxK","output_index":1,"sequence_number":130} +data: {"type":"response.output_text.delta","content_index":0,"delta":" of","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"S073mdTXcBqHa","output_index":1,"sequence_number":131} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" findings","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"l71eGJS","output_index":1,"sequence_number":131} +data: {"type":"response.output_text.delta","content_index":0,"delta":" m","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"ENdQOl91MjWUT0","output_index":1,"sequence_number":132} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" mark","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"pOuLlA6pUve","output_index":1,"sequence_number":132} +data: {"type":"response.output_text.delta","content_index":0,"delta":"RNA","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"jDeSeNUsH9HTe","output_index":1,"sequence_number":133} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" a","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"oJ01zZfIwzd56Q","output_index":1,"sequence_number":133} +data: {"type":"response.output_text.delta","content_index":0,"delta":"-Based","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"hLZN1BE9iO","output_index":1,"sequence_number":134} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" significant","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"Atk7","output_index":1,"sequence_number":134} +data: {"type":"response.output_text.delta","content_index":0,"delta":" Flu","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"LAIbaOJAX7Za","output_index":1,"sequence_number":135} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" advancement","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"JLVk","output_index":1,"sequence_number":135} +data: {"type":"response.output_text.delta","content_index":0,"delta":" Vaccine","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"1czyAwpA","output_index":1,"sequence_number":136} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" in","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"Nnse6NY3rLmnN","output_index":1,"sequence_number":136} +data: {"type":"response.output_text.delta","content_index":0,"delta":"**\n","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"pZjhfYoxi911t","output_index":1,"sequence_number":137} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" personalized","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"Rpp","output_index":1,"sequence_number":137} +data: {"type":"response.output_text.delta","content_index":0,"delta":"\n","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"fZsCIGkSkoMFy9y","output_index":1,"sequence_number":138} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" cancer","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"OzOapAevZ","output_index":1,"sequence_number":138} +data: {"type":"response.output_text.delta","content_index":0,"delta":"The","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"oL1ffLGv6KsSo","output_index":1,"sequence_number":139} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" therapy","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"iPuEuW2q","output_index":1,"sequence_number":139} +data: {"type":"response.output_text.delta","content_index":0,"delta":" U","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"0kgJdqFG7YEGeo","output_index":1,"sequence_number":140} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":".","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"ajP4W8xtK3R4rPI","output_index":1,"sequence_number":140} +data: {"type":"response.output_text.delta","content_index":0,"delta":".S","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"vdrfBqqi1IFRAD","output_index":1,"sequence_number":141} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" ","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"oth4LLmXHdV2QgR","output_index":1,"sequence_number":141} +data: {"type":"response.output_text.delta","content_index":0,"delta":".","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"a1Smvg5iFIvc0Rk","output_index":1,"sequence_number":142} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":"([apnews.com](https://apnews.com/article/2330dce708b0af215b68570b19d025df?utm_source=openai))","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"HNc","output_index":1,"sequence_number":142} +data: {"type":"response.output_text.delta","content_index":0,"delta":" Food","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"GZptPY0o0fo","output_index":1,"sequence_number":143} -event: response.output_text.annotation.added -data: {"type":"response.output_text.annotation.added","annotation":{"type":"url_citation","end_index":808,"start_index":715,"title":"Moderna shares surge after it says its experimental mRNA cancer treatment passed a key test","url":"https://apnews.com/article/2330dce708b0af215b68570b19d025df?utm_source=openai"},"annotation_index":0,"content_index":0,"item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","output_index":1,"sequence_number":143} +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":" and","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"vOwyi3vR91rk","output_index":1,"sequence_number":144} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":"\n","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"VVtJMrukJEyEKwR","output_index":1,"sequence_number":144} +data: {"type":"response.output_text.delta","content_index":0,"delta":" Drug","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"TVtUKKeXk9j","output_index":1,"sequence_number":145} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":"\n**","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"7ZyETMy5pnz7T","output_index":1,"sequence_number":145} +data: {"type":"response.output_text.delta","content_index":0,"delta":" Administration","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"r","output_index":1,"sequence_number":146} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":"FDA","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"mYtXoYLr20r2P","output_index":1,"sequence_number":146} +data: {"type":"response.output_text.delta","content_index":0,"delta":" (","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"ohAg0l8J8pQXLe","output_index":1,"sequence_number":147} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" Approval","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"xWR1d2Q","output_index":1,"sequence_number":147} +data: {"type":"response.output_text.delta","content_index":0,"delta":"FDA","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"D0r8wLLONYL1S","output_index":1,"sequence_number":148} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" of","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"Lpkof6txumNwg","output_index":1,"sequence_number":148} +data: {"type":"response.output_text.delta","content_index":0,"delta":")","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"g7cH3agj01uUXwQ","output_index":1,"sequence_number":149} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" m","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"cgNqREO7iVYHrp","output_index":1,"sequence_number":149} +data: {"type":"response.output_text.delta","content_index":0,"delta":" approved","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"UiKLn4o","output_index":1,"sequence_number":150} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":"RNA","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"t8RYVroHQzRAv","output_index":1,"sequence_number":150} +data: {"type":"response.output_text.delta","content_index":0,"delta":" Moderna","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"K64scZNE","output_index":1,"sequence_number":151} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" Flu","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"9WmBY3iVJ6Od","output_index":1,"sequence_number":151} +data: {"type":"response.output_text.delta","content_index":0,"delta":"'s","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"mAwRGVQWBk3zWo","output_index":1,"sequence_number":152} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" Vaccine","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"cWVhi07s","output_index":1,"sequence_number":152} +data: {"type":"response.output_text.delta","content_index":0,"delta":" m","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"NhyJEQeJFR0URJ","output_index":1,"sequence_number":153} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":"**\n","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"HScv8QilU6Y4I","output_index":1,"sequence_number":153} +data: {"type":"response.output_text.delta","content_index":0,"delta":"RNA","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"oVxtTEabdW573","output_index":1,"sequence_number":154} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":"\n","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"5KY9zDUsD2x9Osw","output_index":1,"sequence_number":154} +data: {"type":"response.output_text.delta","content_index":0,"delta":"-based","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"OsZW1jOtQN","output_index":1,"sequence_number":155} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":"The","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"LbHNZ0vIQOdKk","output_index":1,"sequence_number":155} +data: {"type":"response.output_text.delta","content_index":0,"delta":" seasonal","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"TB6jzMR","output_index":1,"sequence_number":156} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" U","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"d05b2ZKJ62vTiP","output_index":1,"sequence_number":156} +data: {"type":"response.output_text.delta","content_index":0,"delta":" flu","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"fqvNMLrhDEEt","output_index":1,"sequence_number":157} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":".S","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"21zerp3Uur6G4P","output_index":1,"sequence_number":157} +data: {"type":"response.output_text.delta","content_index":0,"delta":" vaccine","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"9xRPwqlA","output_index":1,"sequence_number":158} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":".","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"fZtNSrgc935ZeWh","output_index":1,"sequence_number":158} +data: {"type":"response.output_text.delta","content_index":0,"delta":",","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"PNwxOFdmz3kfzvk","output_index":1,"sequence_number":159} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" Food","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"WcyJLVuM7PN","output_index":1,"sequence_number":159} +data: {"type":"response.output_text.delta","content_index":0,"delta":" m","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"5g5v9HtzoSOVFB","output_index":1,"sequence_number":160} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" and","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"ofeV7g9oeGWO","output_index":1,"sequence_number":160} +data: {"type":"response.output_text.delta","content_index":0,"delta":"Fl","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"jlr3iv2pvRWbbg","output_index":1,"sequence_number":161} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" Drug","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"lcAbS7w4bm4","output_index":1,"sequence_number":161} +data: {"type":"response.output_text.delta","content_index":0,"delta":"us","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"o6yZrwie8D4zAn","output_index":1,"sequence_number":162} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" Administration","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"8","output_index":1,"sequence_number":162} +data: {"type":"response.output_text.delta","content_index":0,"delta":"iva","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"eGzZt3VE4cUUd","output_index":1,"sequence_number":163} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" (","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"ocfH1zkOCVOoEL","output_index":1,"sequence_number":163} +data: {"type":"response.output_text.delta","content_index":0,"delta":" (","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"CaiEPBRPRSNxog","output_index":1,"sequence_number":164} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":"FDA","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"IYLmcNslKQEcy","output_index":1,"sequence_number":164} +data: {"type":"response.output_text.delta","content_index":0,"delta":"m","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"8tCB3fPH2PnhEUu","output_index":1,"sequence_number":165} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":")","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"ss483HqGpCvpFAT","output_index":1,"sequence_number":165} +data: {"type":"response.output_text.delta","content_index":0,"delta":"RNA","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"sryxjhZeLR3ME","output_index":1,"sequence_number":166} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" approved","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"kK4ehZ3","output_index":1,"sequence_number":166} +data: {"type":"response.output_text.delta","content_index":0,"delta":"-","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"XN9D8mTRGW3NSZa","output_index":1,"sequence_number":167} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" Moderna","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"FksUpX3u","output_index":1,"sequence_number":167} +data: {"type":"response.output_text.delta","content_index":0,"delta":"101","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"KGPRW76F7ER9c","output_index":1,"sequence_number":168} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":"'s","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"NpixtyWD4k0xfI","output_index":1,"sequence_number":168} +data: {"type":"response.output_text.delta","content_index":0,"delta":"0","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"0bThJhHK5kSVRyw","output_index":1,"sequence_number":169} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" m","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"TWuCrFrjmbnPLt","output_index":1,"sequence_number":169} +data: {"type":"response.output_text.delta","content_index":0,"delta":"),","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"Ht0Et5XoqNoZpf","output_index":1,"sequence_number":170} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":"RNA","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"rjULAfhTX23f0","output_index":1,"sequence_number":170} +data: {"type":"response.output_text.delta","content_index":0,"delta":" for","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"TdkCMAka0ezX","output_index":1,"sequence_number":171} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":"-based","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"tm9UJE7rVp","output_index":1,"sequence_number":171} +data: {"type":"response.output_text.delta","content_index":0,"delta":" individuals","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"wkli","output_index":1,"sequence_number":172} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" seasonal","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"kLuZuli","output_index":1,"sequence_number":172} +data: {"type":"response.output_text.delta","content_index":0,"delta":" aged","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"Xz9NBDhtd8x","output_index":1,"sequence_number":173} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" flu","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"8ENhef7wmYc2","output_index":1,"sequence_number":173} +data: {"type":"response.output_text.delta","content_index":0,"delta":" ","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"DuAW5MbZlkJth0u","output_index":1,"sequence_number":174} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" vaccine","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"kjoEkqej","output_index":1,"sequence_number":174} +data: {"type":"response.output_text.delta","content_index":0,"delta":"50","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"ZfpczCn5KqtoDB","output_index":1,"sequence_number":175} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":",","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"xdT80UiCFiaI7CT","output_index":1,"sequence_number":175} +data: {"type":"response.output_text.delta","content_index":0,"delta":" and","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"4vf2YN2MPsmW","output_index":1,"sequence_number":176} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" m","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"vaX1qRIILOE8yV","output_index":1,"sequence_number":176} +data: {"type":"response.output_text.delta","content_index":0,"delta":" older","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"ye2Gb5c2SL","output_index":1,"sequence_number":177} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":"Fl","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"TdhMfHcCIJro9u","output_index":1,"sequence_number":177} +data: {"type":"response.output_text.delta","content_index":0,"delta":".","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"DCL2B4Us6106nBy","output_index":1,"sequence_number":178} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":"us","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"GVTNt1SErYrt7F","output_index":1,"sequence_number":178} +data: {"type":"response.output_text.delta","content_index":0,"delta":" ","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"BHGCaOtICSyjJxo","output_index":1,"sequence_number":179} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":"iva","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"klJYYDjl8AeYy","output_index":1,"sequence_number":179} +data: {"type":"response.output_text.delta","content_index":0,"delta":"This","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"hZpqkLnyWk2B","output_index":1,"sequence_number":180} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":",","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"beKy5XhvOlI9L1u","output_index":1,"sequence_number":180} +data: {"type":"response.output_text.delta","content_index":0,"delta":" vaccine","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"laIEG1R5","output_index":1,"sequence_number":181} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" for","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"x50Iyva6mR03","output_index":1,"sequence_number":181} +data: {"type":"response.output_text.delta","content_index":0,"delta":" utilizes","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"4yU3pz8","output_index":1,"sequence_number":182} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" adults","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"wg4WUVd4C","output_index":1,"sequence_number":182} +data: {"type":"response.output_text.delta","content_index":0,"delta":" the","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"FaR3tVL4EmkS","output_index":1,"sequence_number":183} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" aged","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"RW8myBFr8J1","output_index":1,"sequence_number":183} +data: {"type":"response.output_text.delta","content_index":0,"delta":" same","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"sMIwqqH1qBC","output_index":1,"sequence_number":184} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" ","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"7SKZJep9B3B5hE7","output_index":1,"sequence_number":184} +data: {"type":"response.output_text.delta","content_index":0,"delta":" m","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"snWQc1wFg3ReSW","output_index":1,"sequence_number":185} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":"50","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"aj0kC76PT29Srs","output_index":1,"sequence_number":185} +data: {"type":"response.output_text.delta","content_index":0,"delta":"RNA","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"ux2jPnIpIB0AA","output_index":1,"sequence_number":186} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" and","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"eS3Ezl7psZ0Q","output_index":1,"sequence_number":186} +data: {"type":"response.output_text.delta","content_index":0,"delta":" technology","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"LiaOM","output_index":1,"sequence_number":187} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" older","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"vLm4KSd5Ah","output_index":1,"sequence_number":187} +data: {"type":"response.output_text.delta","content_index":0,"delta":" as","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"o9B667DHCc1RK","output_index":1,"sequence_number":188} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":".","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"rBNSQ3kMT0RTp64","output_index":1,"sequence_number":188} +data: {"type":"response.output_text.delta","content_index":0,"delta":" Moderna","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"UiEWDmVz","output_index":1,"sequence_number":189} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" ","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"ny11aY8746QpnK0","output_index":1,"sequence_number":189} +data: {"type":"response.output_text.delta","content_index":0,"delta":"'s","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"Gxaa6VhlPgP2wP","output_index":1,"sequence_number":190} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":"This","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"D74Rl9pNPPlA","output_index":1,"sequence_number":190} +data: {"type":"response.output_text.delta","content_index":0,"delta":" COVID","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"ohTMQfIw3b","output_index":1,"sequence_number":191} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" approval","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"NZS3QHv","output_index":1,"sequence_number":191} +data: {"type":"response.output_text.delta","content_index":0,"delta":"-","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"KYLrTbKGaLFStCQ","output_index":1,"sequence_number":192} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" follows","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"ESkaw8CW","output_index":1,"sequence_number":192} +data: {"type":"response.output_text.delta","content_index":0,"delta":"19","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"R6HmtVeauMNzzq","output_index":1,"sequence_number":193} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" a","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"ICgTm8FEU7MRdZ","output_index":1,"sequence_number":193} +data: {"type":"response.output_text.delta","content_index":0,"delta":" vaccine","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"WMneTI3O","output_index":1,"sequence_number":194} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" previous","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"567oibs","output_index":1,"sequence_number":194} +data: {"type":"response.output_text.delta","content_index":0,"delta":",","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"1fsKWFrAUeu3ExW","output_index":1,"sequence_number":195} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" refusal","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"teU9iWAR","output_index":1,"sequence_number":195} +data: {"type":"response.output_text.delta","content_index":0,"delta":" instruct","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"xn1j6GA","output_index":1,"sequence_number":196} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" by","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"CnxmZ2zITPKb4","output_index":1,"sequence_number":196} +data: {"type":"response.output_text.delta","content_index":0,"delta":"ing","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"bCH7cxj5DFMT3","output_index":1,"sequence_number":197} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" the","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"ZPd3z6OP5Xe8","output_index":1,"sequence_number":197} +data: {"type":"response.output_text.delta","content_index":0,"delta":" cells","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"VKHFZnxKbQ","output_index":1,"sequence_number":198} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" FDA","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"Y4FWTz68G8Ts","output_index":1,"sequence_number":198} +data: {"type":"response.output_text.delta","content_index":0,"delta":" to","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"y9FwbcDkreiyv","output_index":1,"sequence_number":199} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" due","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"UcMCcrvRzfUT","output_index":1,"sequence_number":199} +data: {"type":"response.output_text.delta","content_index":0,"delta":" produce","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"0tIrfIAv","output_index":1,"sequence_number":200} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" to","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"zeWA3LGlXGCW6","output_index":1,"sequence_number":200} +data: {"type":"response.output_text.delta","content_index":0,"delta":" the","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"8BWqBrYERSZX","output_index":1,"sequence_number":201} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" concerns","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"Xk4Sh5Q","output_index":1,"sequence_number":201} +data: {"type":"response.output_text.delta","content_index":0,"delta":" hem","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"jo8G16dw3Avo","output_index":1,"sequence_number":202} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" over","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"E0DOIfTtE3P","output_index":1,"sequence_number":202} +data: {"type":"response.output_text.delta","content_index":0,"delta":"ag","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"wyB3HUfjklhLFi","output_index":1,"sequence_number":203} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" clinical","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"LMrbdrP","output_index":1,"sequence_number":203} +data: {"type":"response.output_text.delta","content_index":0,"delta":"gl","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"oc9HUoDO1fYBr2","output_index":1,"sequence_number":204} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" trial","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"Su9E6gAeNY","output_index":1,"sequence_number":204} +data: {"type":"response.output_text.delta","content_index":0,"delta":"ut","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"XK87ZACTahyoVt","output_index":1,"sequence_number":205} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" methodologies","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"eC","output_index":1,"sequence_number":205} +data: {"type":"response.output_text.delta","content_index":0,"delta":"inin","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"iSNzWZ0lfFy9","output_index":1,"sequence_number":206} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":".","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"aIotS9UaPcgYN3c","output_index":1,"sequence_number":206} +data: {"type":"response.output_text.delta","content_index":0,"delta":" (","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"TEc3dP5r3qJys3","output_index":1,"sequence_number":207} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" ","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"GgLsLB2OzgQmwOm","output_index":1,"sequence_number":207} +data: {"type":"response.output_text.delta","content_index":0,"delta":"HA","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"KH2W9Pu2SYzGAJ","output_index":1,"sequence_number":208} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":"The","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"p3j4hHgeklcfL","output_index":1,"sequence_number":208} +data: {"type":"response.output_text.delta","content_index":0,"delta":")","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"QEZbZr6dtLNp8EE","output_index":1,"sequence_number":209} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" vaccine","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"VeKjCFV5","output_index":1,"sequence_number":209} +data: {"type":"response.output_text.delta","content_index":0,"delta":" protein","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"WfL5lsuP","output_index":1,"sequence_number":210} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" demonstrated","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"6oL","output_index":1,"sequence_number":210} +data: {"type":"response.output_text.delta","content_index":0,"delta":" found","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"I7O6PQzjkc","output_index":1,"sequence_number":211} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" a","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"bg3kzKnR23drBG","output_index":1,"sequence_number":211} +data: {"type":"response.output_text.delta","content_index":0,"delta":" on","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"rFFU5ShHJHkO6","output_index":1,"sequence_number":212} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" ","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"4d1vwaOVQMDyQ6J","output_index":1,"sequence_number":212} +data: {"type":"response.output_text.delta","content_index":0,"delta":" influenza","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"tkwzvD","output_index":1,"sequence_number":213} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":"27","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"OTBwVX2bDm7bOn","output_index":1,"sequence_number":213} +data: {"type":"response.output_text.delta","content_index":0,"delta":" viruses","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"1pGImiu1","output_index":1,"sequence_number":214} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":"%","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"zb5goCjmPET8gGx","output_index":1,"sequence_number":214} +data: {"type":"response.output_text.delta","content_index":0,"delta":",","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"FeW3VWkDlAJerFn","output_index":1,"sequence_number":215} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" reduction","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"VfWYUy","output_index":1,"sequence_number":215} +data: {"type":"response.output_text.delta","content_index":0,"delta":" thereby","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"SApnAks7","output_index":1,"sequence_number":216} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" in","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"ST3Tmjear5IFr","output_index":1,"sequence_number":216} +data: {"type":"response.output_text.delta","content_index":0,"delta":" enhancing","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"w9QP3n","output_index":1,"sequence_number":217} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" flu","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"jLSVmwxu7xnv","output_index":1,"sequence_number":217} +data: {"type":"response.output_text.delta","content_index":0,"delta":" the","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"Gm1uhNIjPbhu","output_index":1,"sequence_number":218} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" cases","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"bfY3kBKAw3","output_index":1,"sequence_number":218} +data: {"type":"response.output_text.delta","content_index":0,"delta":" immune","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"mN2rU5gmd","output_index":1,"sequence_number":219} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" compared","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"AWP3tQ8","output_index":1,"sequence_number":219} +data: {"type":"response.output_text.delta","content_index":0,"delta":" response","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"la2M6Li","output_index":1,"sequence_number":220} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" to","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"BmVR5qGwznASj","output_index":1,"sequence_number":220} +data: {"type":"response.output_text.delta","content_index":0,"delta":".","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"pVoEA4V5xvPXkQ9","output_index":1,"sequence_number":221} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" standard","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"CopsqgU","output_index":1,"sequence_number":221} +data: {"type":"response.output_text.delta","content_index":0,"delta":" ","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"cW7XVwtZuP9wJ00","output_index":1,"sequence_number":222} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" vaccines","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"r3YBEGk","output_index":1,"sequence_number":222} +data: {"type":"response.output_text.delta","content_index":0,"delta":"Clinical","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"khMUgigZ","output_index":1,"sequence_number":223} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" in","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"dIMvtK243RyME","output_index":1,"sequence_number":223} +data: {"type":"response.output_text.delta","content_index":0,"delta":" trials","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"xUeAmzFRR","output_index":1,"sequence_number":224} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" a","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"yijvlLlOIh8pEZ","output_index":1,"sequence_number":224} +data: {"type":"response.output_text.delta","content_index":0,"delta":" demonstrated","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"dGy","output_index":1,"sequence_number":225} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" study","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"pqI8aWUq3T","output_index":1,"sequence_number":225} +data: {"type":"response.output_text.delta","content_index":0,"delta":" that","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"tke3laJme6o","output_index":1,"sequence_number":226} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" involving","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"gmTB9W","output_index":1,"sequence_number":226} +data: {"type":"response.output_text.delta","content_index":0,"delta":" m","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"FAc3Emp9TBGT4g","output_index":1,"sequence_number":227} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" ","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"IQ3wE3DggFUWykG","output_index":1,"sequence_number":227} +data: {"type":"response.output_text.delta","content_index":0,"delta":"Fl","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"RiUAAclGtlib7D","output_index":1,"sequence_number":228} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":"40","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"zYSv8TrudgBDc8","output_index":1,"sequence_number":228} +data: {"type":"response.output_text.delta","content_index":0,"delta":"us","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"uZh3s9M5mqGKJU","output_index":1,"sequence_number":229} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":",","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"YuqPT6chfirwj0L","output_index":1,"sequence_number":229} +data: {"type":"response.output_text.delta","content_index":0,"delta":"iva","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"Zyw0KnukVY6jw","output_index":1,"sequence_number":230} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":"000","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"UfOkESdfcTRr8","output_index":1,"sequence_number":230} +data: {"type":"response.output_text.delta","content_index":0,"delta":" was","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"ZKKGgafKQHDU","output_index":1,"sequence_number":231} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" participants","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"lsr","output_index":1,"sequence_number":231} +data: {"type":"response.output_text.delta","content_index":0,"delta":" ","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"2V8IJOCL060UHk1","output_index":1,"sequence_number":232} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":".","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"5PWgMeR3PjCqc2Z","output_index":1,"sequence_number":232} +data: {"type":"response.output_text.delta","content_index":0,"delta":"26","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"QnvJ5zFy4Q3B37","output_index":1,"sequence_number":233} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" ","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"A3FeoJ00LzdR5Zy","output_index":1,"sequence_number":233} +data: {"type":"response.output_text.delta","content_index":0,"delta":".","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"z0CsSQjhxd2SUof","output_index":1,"sequence_number":234} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":"This","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"8EFFNwSh3Icf","output_index":1,"sequence_number":234} +data: {"type":"response.output_text.delta","content_index":0,"delta":"6","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"t4NFWC7MaPGaKyb","output_index":1,"sequence_number":235} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" approval","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"QAYNxBd","output_index":1,"sequence_number":235} +data: {"type":"response.output_text.delta","content_index":0,"delta":"%","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"Nw4C79sYhZPViXX","output_index":1,"sequence_number":236} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" signifies","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"B0iSPj","output_index":1,"sequence_number":236} +data: {"type":"response.output_text.delta","content_index":0,"delta":" more","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"gXo1PLkzQa1","output_index":1,"sequence_number":237} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" a","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"97k3rxFER52FyR","output_index":1,"sequence_number":237} +data: {"type":"response.output_text.delta","content_index":0,"delta":" effective","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"B708Ll","output_index":1,"sequence_number":238} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" notable","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"Tv1sbfGm","output_index":1,"sequence_number":238} +data: {"type":"response.output_text.delta","content_index":0,"delta":" in","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"iX2VlDYOtxFtQ","output_index":1,"sequence_number":239} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" development","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"9tz2","output_index":1,"sequence_number":239} +data: {"type":"response.output_text.delta","content_index":0,"delta":" preventing","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"jzkQL","output_index":1,"sequence_number":240} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" in","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"y5r59O5S4k45A","output_index":1,"sequence_number":240} +data: {"type":"response.output_text.delta","content_index":0,"delta":" flu","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"Jiwlzqth7db3","output_index":1,"sequence_number":241} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" influenza","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"zbVOtt","output_index":1,"sequence_number":241} +data: {"type":"response.output_text.delta","content_index":0,"delta":" than","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"fdrKjiOZJsN","output_index":1,"sequence_number":242} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" prevention","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"6bVxd","output_index":1,"sequence_number":242} +data: {"type":"response.output_text.delta","content_index":0,"delta":" standard","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"5UMWb3t","output_index":1,"sequence_number":243} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" and","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"mlWDaqgqrxYk","output_index":1,"sequence_number":243} +data: {"type":"response.output_text.delta","content_index":0,"delta":" vaccines","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"5EuHyAg","output_index":1,"sequence_number":244} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" the","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"D8Uo6o1VrwXR","output_index":1,"sequence_number":244} +data: {"type":"response.output_text.delta","content_index":0,"delta":",","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"TtG9FIIO2eggwYS","output_index":1,"sequence_number":245} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" broader","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"Trz0Endz","output_index":1,"sequence_number":245} +data: {"type":"response.output_text.delta","content_index":0,"delta":" with","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"STyyOJ9xE6o","output_index":1,"sequence_number":246} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" application","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"oI2o","output_index":1,"sequence_number":246} +data: {"type":"response.output_text.delta","content_index":0,"delta":" even","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"26YpTKjRtap","output_index":1,"sequence_number":247} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" of","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"AWYr6FQRZcSvb","output_index":1,"sequence_number":247} +data: {"type":"response.output_text.delta","content_index":0,"delta":" better","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"SCj2P9HeF","output_index":1,"sequence_number":248} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" m","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"7xReKwPgPdEjv4","output_index":1,"sequence_number":248} +data: {"type":"response.output_text.delta","content_index":0,"delta":" protection","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"FyTYt","output_index":1,"sequence_number":249} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":"RNA","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"sxll75JN0cXlJ","output_index":1,"sequence_number":249} +data: {"type":"response.output_text.delta","content_index":0,"delta":" for","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"JQl2qDPQO78n","output_index":1,"sequence_number":250} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" vaccine","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"JOduKZub","output_index":1,"sequence_number":250} +data: {"type":"response.output_text.delta","content_index":0,"delta":" those","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"fJZCQZh4JR","output_index":1,"sequence_number":251} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" technology","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"YeNHU","output_index":1,"sequence_number":251} +data: {"type":"response.output_text.delta","content_index":0,"delta":" aged","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"esyonQrs4lH","output_index":1,"sequence_number":252} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":".","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"W2jkyyDEWYpHZlB","output_index":1,"sequence_number":252} +data: {"type":"response.output_text.delta","content_index":0,"delta":" ","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"eBHzJoTDsi5Kp4e","output_index":1,"sequence_number":253} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" ","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"RisZnhzmVTYTR1n","output_index":1,"sequence_number":253} +data: {"type":"response.output_text.delta","content_index":0,"delta":"65","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"3PSkp1NwZtUnKW","output_index":1,"sequence_number":254} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":"([apnews.com](https://apnews.com/article/59d991a6bf70c26e2f0c210cc8ca87f1?utm_source=openai))","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"aDJ","output_index":1,"sequence_number":254} +data: {"type":"response.output_text.delta","content_index":0,"delta":" and","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"SGWWrD8w8CcO","output_index":1,"sequence_number":255} -event: response.output_text.annotation.added -data: {"type":"response.output_text.annotation.added","annotation":{"type":"url_citation","end_index":1432,"start_index":1339,"title":"New kind of flu shot is on the way as the FDA approves Moderna's mRNA-based vaccine","url":"https://apnews.com/article/59d991a6bf70c26e2f0c210cc8ca87f1?utm_source=openai"},"annotation_index":1,"content_index":0,"item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","output_index":1,"sequence_number":255} +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":" older","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"TZaJtQJ0Xa","output_index":1,"sequence_number":256} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":"\n","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"jj3yOw1WdvXxvXu","output_index":1,"sequence_number":256} +data: {"type":"response.output_text.delta","content_index":0,"delta":".","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"c9F1rbYQ4mf1Aat","output_index":1,"sequence_number":257} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":"\n**","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"5fXYNgY2sVc3V","output_index":1,"sequence_number":257} +data: {"type":"response.output_text.delta","content_index":0,"delta":" ","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"GWuczz9wS67l6c4","output_index":1,"sequence_number":258} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":"Financial","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"2XkDa23","output_index":1,"sequence_number":258} +data: {"type":"response.output_text.delta","content_index":0,"delta":"([livescience.com](https://www.livescience.com/health/medicine-drugs/fda-approves-first-mrna-vaccine-for-seasonal-flu?utm_source=openai))","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"hfl9Q2P","output_index":1,"sequence_number":259} + +event: response.output_text.annotation.added +data: {"type":"response.output_text.annotation.added","annotation":{"type":"url_citation","end_index":1448,"start_index":1311,"title":"FDA approves first mRNA vaccine for seasonal flu","url":"https://www.livescience.com/health/medicine-drugs/fda-approves-first-mrna-vaccine-for-seasonal-flu?utm_source=openai"},"annotation_index":1,"content_index":0,"item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","output_index":1,"sequence_number":260} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" Performance","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"b9R9","output_index":1,"sequence_number":259} +data: {"type":"response.output_text.delta","content_index":0,"delta":"\n","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"22qMXDRDdU91rHy","output_index":1,"sequence_number":261} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":"**\n","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"0noM3hwfJ0ba8","output_index":1,"sequence_number":260} +data: {"type":"response.output_text.delta","content_index":0,"delta":"\n**","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"uJQmul1D1tZ2h","output_index":1,"sequence_number":262} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":"\n","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"d6zVsXtSxj8SzuK","output_index":1,"sequence_number":261} +data: {"type":"response.output_text.delta","content_index":0,"delta":"Financial","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"GXSSdki","output_index":1,"sequence_number":263} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":"In","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"NlM0bcEYssKrth","output_index":1,"sequence_number":262} +data: {"type":"response.output_text.delta","content_index":0,"delta":" Performance","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"iOnY","output_index":1,"sequence_number":264} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" the","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"UR5V6Iha5jxh","output_index":1,"sequence_number":263} +data: {"type":"response.output_text.delta","content_index":0,"delta":"**\n","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"m0ViGDVl20G2l","output_index":1,"sequence_number":265} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" second","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"4o7B7X6Ws","output_index":1,"sequence_number":264} +data: {"type":"response.output_text.delta","content_index":0,"delta":"\n","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"b2cLRh3JxbJz6a4","output_index":1,"sequence_number":266} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" quarter","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"AW37SgQV","output_index":1,"sequence_number":265} +data: {"type":"response.output_text.delta","content_index":0,"delta":"In","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"cW6KW5ud3nuteL","output_index":1,"sequence_number":267} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" of","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"AyagtqBJxYKOO","output_index":1,"sequence_number":266} +data: {"type":"response.output_text.delta","content_index":0,"delta":" the","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"wyz8u8z54ksX","output_index":1,"sequence_number":268} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" ","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"8EUj2bRZ6NkMP4Y","output_index":1,"sequence_number":267} +data: {"type":"response.output_text.delta","content_index":0,"delta":" second","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"ItwXNx48y","output_index":1,"sequence_number":269} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":"202","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"sND1nfGV1JmrL","output_index":1,"sequence_number":268} +data: {"type":"response.output_text.delta","content_index":0,"delta":" quarter","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"yHwLewUC","output_index":1,"sequence_number":270} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":"6","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"PoyyqBAwfrrlYGc","output_index":1,"sequence_number":269} +data: {"type":"response.output_text.delta","content_index":0,"delta":" of","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"XBjcWnz0AaUJt","output_index":1,"sequence_number":271} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":",","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"iebLtjHxZw6lCI3","output_index":1,"sequence_number":270} +data: {"type":"response.output_text.delta","content_index":0,"delta":" ","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"71zS1QOEgaYF81R","output_index":1,"sequence_number":272} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" Moderna","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"LhCJ973B","output_index":1,"sequence_number":271} +data: {"type":"response.output_text.delta","content_index":0,"delta":"202","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"TFplMg73fK6Hc","output_index":1,"sequence_number":273} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" reported","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"6JKhT9x","output_index":1,"sequence_number":272} +data: {"type":"response.output_text.delta","content_index":0,"delta":"6","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"1Gb1AyIjRf0jKok","output_index":1,"sequence_number":274} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" total","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"DScddC91NB","output_index":1,"sequence_number":273} +data: {"type":"response.output_text.delta","content_index":0,"delta":",","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"X11bcLD6hL0wqZQ","output_index":1,"sequence_number":275} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" revenue","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"K58wWqJA","output_index":1,"sequence_number":274} +data: {"type":"response.output_text.delta","content_index":0,"delta":" Moderna","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"b5wrifsa","output_index":1,"sequence_number":276} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" of","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"VaD3moacLBfgE","output_index":1,"sequence_number":275} +data: {"type":"response.output_text.delta","content_index":0,"delta":" reported","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"4vlFehZ","output_index":1,"sequence_number":277} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" $","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"BC8Hy1SaqeoBCS","output_index":1,"sequence_number":276} +data: {"type":"response.output_text.delta","content_index":0,"delta":" total","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"S6fikSQ9MS","output_index":1,"sequence_number":278} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":"145","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"z4pzNBjW6R6fu","output_index":1,"sequence_number":277} +data: {"type":"response.output_text.delta","content_index":0,"delta":" revenue","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"HmXh2XpV","output_index":1,"sequence_number":279} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" million","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"l1SFpzlq","output_index":1,"sequence_number":278} +data: {"type":"response.output_text.delta","content_index":0,"delta":" of","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"1HfrcTvvAVwlw","output_index":1,"sequence_number":280} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" and","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"xt7q7pvEJFa7","output_index":1,"sequence_number":279} +data: {"type":"response.output_text.delta","content_index":0,"delta":" $","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"vUdNWhenJyfLjj","output_index":1,"sequence_number":281} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" a","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"C9AW9YfWQtA7Mb","output_index":1,"sequence_number":280} +data: {"type":"response.output_text.delta","content_index":0,"delta":"145","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"GMWI5bOjxMv7v","output_index":1,"sequence_number":282} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" GA","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"XPoQV9MkMMGpH","output_index":1,"sequence_number":281} +data: {"type":"response.output_text.delta","content_index":0,"delta":" million","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"NlXjnPUd","output_index":1,"sequence_number":283} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":"AP","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"Zw7R3OPG8LV21l","output_index":1,"sequence_number":282} +data: {"type":"response.output_text.delta","content_index":0,"delta":" and","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"aC2hiYAEse8O","output_index":1,"sequence_number":284} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" net","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"L0NMDOOyKQgr","output_index":1,"sequence_number":283} +data: {"type":"response.output_text.delta","content_index":0,"delta":" a","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"UTsTq8rqOL10Lc","output_index":1,"sequence_number":285} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" loss","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"htUK7p399IP","output_index":1,"sequence_number":284} +data: {"type":"response.output_text.delta","content_index":0,"delta":" GA","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"texb1QixcCvgT","output_index":1,"sequence_number":286} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" of","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"dxRxFm34hpP2Z","output_index":1,"sequence_number":285} +data: {"type":"response.output_text.delta","content_index":0,"delta":"AP","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"PxiZuVpL50etoS","output_index":1,"sequence_number":287} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" $","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"ORMO70A85HGehn","output_index":1,"sequence_number":286} +data: {"type":"response.output_text.delta","content_index":0,"delta":" net","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"vD3xSwk8YkTU","output_index":1,"sequence_number":288} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":"782","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"EGnPc8JA0diLA","output_index":1,"sequence_number":287} +data: {"type":"response.output_text.delta","content_index":0,"delta":" loss","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"p7ICm1joxQ6","output_index":1,"sequence_number":289} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" million","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"yB1C4TLM","output_index":1,"sequence_number":288} +data: {"type":"response.output_text.delta","content_index":0,"delta":" of","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"F66MWBHEfXKpG","output_index":1,"sequence_number":290} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":".","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"1mJOAa8eso2PgCq","output_index":1,"sequence_number":289} +data: {"type":"response.output_text.delta","content_index":0,"delta":" $","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"E3IFBP2bxFghcL","output_index":1,"sequence_number":291} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" ","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"2FOKmwraHYcEqa7","output_index":1,"sequence_number":290} +data: {"type":"response.output_text.delta","content_index":0,"delta":"782","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"BouX8IJhnNAng","output_index":1,"sequence_number":292} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":"Despite","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"sUSKR6XI1","output_index":1,"sequence_number":291} +data: {"type":"response.output_text.delta","content_index":0,"delta":" million","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"3vWvgElr","output_index":1,"sequence_number":293} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" these","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"jBjCgpwYLn","output_index":1,"sequence_number":292} +data: {"type":"response.output_text.delta","content_index":0,"delta":".","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"t2nbwfGVHrP56Yf","output_index":1,"sequence_number":294} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" figures","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"HRSVozOV","output_index":1,"sequence_number":293} +data: {"type":"response.output_text.delta","content_index":0,"delta":" ","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"cFyPM1kXtWTKNAU","output_index":1,"sequence_number":295} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":",","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"L9Wl5BI8L8xoel2","output_index":1,"sequence_number":294} +data: {"type":"response.output_text.delta","content_index":0,"delta":"Despite","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"eBk8tYAFn","output_index":1,"sequence_number":296} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" the","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"QmnyoV1ITGnh","output_index":1,"sequence_number":295} +data: {"type":"response.output_text.delta","content_index":0,"delta":" the","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"j2qV2nuh8TGI","output_index":1,"sequence_number":297} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" company","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"vGDgLxhy","output_index":1,"sequence_number":296} +data: {"type":"response.output_text.delta","content_index":0,"delta":" loss","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"hXUlU4RMwZq","output_index":1,"sequence_number":298} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" reiterated","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"x4N8m","output_index":1,"sequence_number":297} +data: {"type":"response.output_text.delta","content_index":0,"delta":",","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"hGWIGY8jyGcvPXk","output_index":1,"sequence_number":299} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" its","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"Z36CdE1AnrHU","output_index":1,"sequence_number":298} +data: {"type":"response.output_text.delta","content_index":0,"delta":" the","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"fIMwhQmA68qn","output_index":1,"sequence_number":300} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" plan","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"5L91sJp2P4o","output_index":1,"sequence_number":299} +data: {"type":"response.output_text.delta","content_index":0,"delta":" company","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"LCR3ti9r","output_index":1,"sequence_number":301} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" to","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"jn32Hj3CzeqoU","output_index":1,"sequence_number":300} +data: {"type":"response.output_text.delta","content_index":0,"delta":" reiterated","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"SExdI","output_index":1,"sequence_number":302} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" achieve","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"kLdkzp1R","output_index":1,"sequence_number":301} +data: {"type":"response.output_text.delta","content_index":0,"delta":" its","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"DWtFsv2YEZGx","output_index":1,"sequence_number":303} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" up","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"gU7A7gOdiGhCc","output_index":1,"sequence_number":302} +data: {"type":"response.output_text.delta","content_index":0,"delta":" plan","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"ADmtcORzUII","output_index":1,"sequence_number":304} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" to","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"KN8ha6FVTCgyr","output_index":1,"sequence_number":303} +data: {"type":"response.output_text.delta","content_index":0,"delta":" to","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"RLonCfvMTeEJl","output_index":1,"sequence_number":305} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" ","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"NXbeXo5KZ1XZEUN","output_index":1,"sequence_number":304} +data: {"type":"response.output_text.delta","content_index":0,"delta":" achieve","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"F1JZ7Xj1","output_index":1,"sequence_number":306} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":"10","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"be40WzbyGiGzr1","output_index":1,"sequence_number":305} +data: {"type":"response.output_text.delta","content_index":0,"delta":" up","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"Uv6nuln1Ir9aB","output_index":1,"sequence_number":307} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":"%","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"XZLV6RIijwPwuIH","output_index":1,"sequence_number":306} +data: {"type":"response.output_text.delta","content_index":0,"delta":" to","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"zWA6oE8oRhKpC","output_index":1,"sequence_number":308} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" revenue","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"DL35RI1I","output_index":1,"sequence_number":307} +data: {"type":"response.output_text.delta","content_index":0,"delta":" ","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"qbmUj5D8VQvCBz0","output_index":1,"sequence_number":309} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" growth","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"9XaPJCYgX","output_index":1,"sequence_number":308} +data: {"type":"response.output_text.delta","content_index":0,"delta":"10","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"ufaFPR0aJGDzu3","output_index":1,"sequence_number":310} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" for","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"donHZ7Z2vpRD","output_index":1,"sequence_number":309} +data: {"type":"response.output_text.delta","content_index":0,"delta":"%","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"T58fcTJG69sTWng","output_index":1,"sequence_number":311} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" the","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"5VYTfGK61Wiw","output_index":1,"sequence_number":310} +data: {"type":"response.output_text.delta","content_index":0,"delta":" revenue","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"xs3fIUKg","output_index":1,"sequence_number":312} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" year","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"6sc9Ngubwix","output_index":1,"sequence_number":311} +data: {"type":"response.output_text.delta","content_index":0,"delta":" growth","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"p59X43jSs","output_index":1,"sequence_number":313} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":",","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"eigkQqQW1bHq4Y5","output_index":1,"sequence_number":312} +data: {"type":"response.output_text.delta","content_index":0,"delta":" for","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"ghOMK2uM5WQc","output_index":1,"sequence_number":314} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" highlighting","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"GoR","output_index":1,"sequence_number":313} +data: {"type":"response.output_text.delta","content_index":0,"delta":" the","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"m5PODqoiP69T","output_index":1,"sequence_number":315} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" upcoming","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"9YztB5l","output_index":1,"sequence_number":314} +data: {"type":"response.output_text.delta","content_index":0,"delta":" year","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"4K5IVBqgWoE","output_index":1,"sequence_number":316} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" regulatory","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"YtIMM","output_index":1,"sequence_number":315} +data: {"type":"response.output_text.delta","content_index":0,"delta":" and","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"pFlVNIdoFRvT","output_index":1,"sequence_number":317} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" milestones","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"Wu5hR","output_index":1,"sequence_number":316} +data: {"type":"response.output_text.delta","content_index":0,"delta":" highlighted","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"RSeZ","output_index":1,"sequence_number":318} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" and","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"0OShA4XW5DHj","output_index":1,"sequence_number":317} +data: {"type":"response.output_text.delta","content_index":0,"delta":" upcoming","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"6TjfgVc","output_index":1,"sequence_number":319} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" ongoing","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"vMs61JIA","output_index":1,"sequence_number":318} +data: {"type":"response.output_text.delta","content_index":0,"delta":" regulatory","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"IxzXk","output_index":1,"sequence_number":320} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" late","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"RAKNPf0fMvE","output_index":1,"sequence_number":319} +data: {"type":"response.output_text.delta","content_index":0,"delta":" milestones","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"UxR5w","output_index":1,"sequence_number":321} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":"-stage","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"tVJfJGdQOW","output_index":1,"sequence_number":320} +data: {"type":"response.output_text.delta","content_index":0,"delta":",","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"1iiuLBRwUpPQo6c","output_index":1,"sequence_number":322} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" program","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"9jJbUG1M","output_index":1,"sequence_number":321} +data: {"type":"response.output_text.delta","content_index":0,"delta":" including","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"8nzFqu","output_index":1,"sequence_number":323} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" read","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"jdhDUdyMgHC","output_index":1,"sequence_number":322} +data: {"type":"response.output_text.delta","content_index":0,"delta":" the","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"tGzble0yslWl","output_index":1,"sequence_number":324} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":"outs","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"hp8wbKyc5HOu","output_index":1,"sequence_number":323} +data: {"type":"response.output_text.delta","content_index":0,"delta":" approval","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"mwT6d0d","output_index":1,"sequence_number":325} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":".","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"G7vswEOTal0xsan","output_index":1,"sequence_number":324} +data: {"type":"response.output_text.delta","content_index":0,"delta":" of","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"1noWDwnXuYLlM","output_index":1,"sequence_number":326} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" ","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"v2ou2pcw4ps405W","output_index":1,"sequence_number":325} +data: {"type":"response.output_text.delta","content_index":0,"delta":" its","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"EjchwRynRewM","output_index":1,"sequence_number":327} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":"([tradingview.com](https://www.tradingview.com/news/tradingview%3A51f64edf05d88%3A0-moderna-reports-q2-2026-revenue-145m-gaap-net-loss-0-8b-and-reiterates-up-to-10-2026-revenue-growth/?utm_source=openai))","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"nn2f","output_index":1,"sequence_number":326} +data: {"type":"response.output_text.delta","content_index":0,"delta":" seasonal","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"HCcKUtF","output_index":1,"sequence_number":328} -event: response.output_text.annotation.added -data: {"type":"response.output_text.annotation.added","annotation":{"type":"url_citation","end_index":1970,"start_index":1766,"title":"Moderna reports Q2 2026 revenue $145M, GAAP net loss $0.8B and reiterates up to 10% 2026 revenue growth — TradingView News","url":"https://www.tradingview.com/news/tradingview%3A51f64edf05d88%3A0-moderna-reports-q2-2026-revenue-145m-gaap-net-loss-0-8b-and-reiterates-up-to-10-2026-revenue-growth/?utm_source=openai"},"annotation_index":2,"content_index":0,"item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","output_index":1,"sequence_number":327} +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":" influenza","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"JZK1ob","output_index":1,"sequence_number":329} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":"\n","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"ou2yFlABAJLE7hB","output_index":1,"sequence_number":328} +data: {"type":"response.output_text.delta","content_index":0,"delta":" vaccine","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"YjeOYf8O","output_index":1,"sequence_number":330} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":"\n","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"WsfsYMr8vhmJt47","output_index":1,"sequence_number":329} +data: {"type":"response.output_text.delta","content_index":0,"delta":".","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"TmSe9kYMSfI8ole","output_index":1,"sequence_number":331} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":"These","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"72fbkSBxAQX","output_index":1,"sequence_number":330} +data: {"type":"response.output_text.delta","content_index":0,"delta":" ","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"TP2UJOLTJzpxbUV","output_index":1,"sequence_number":332} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" developments","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"BQt","output_index":1,"sequence_number":331} +data: {"type":"response.output_text.delta","content_index":0,"delta":"([tradingview.com](https://www.tradingview.com/news/tradingview%3A51f64edf05d88%3A0-moderna-reports-q2-2026-revenue-145m-gaap-net-loss-0-8b-and-reiterates-up-to-10-2026-revenue-growth/?utm_source=openai))","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"yUl7","output_index":1,"sequence_number":333} + +event: response.output_text.annotation.added +data: {"type":"response.output_text.annotation.added","annotation":{"type":"url_citation","end_index":2001,"start_index":1797,"title":"Moderna reports Q2 2026 revenue $145M, GAAP net loss $0.8B and reiterates up to 10% 2026 revenue growth — TradingView News","url":"https://www.tradingview.com/news/tradingview%3A51f64edf05d88%3A0-moderna-reports-q2-2026-revenue-145m-gaap-net-loss-0-8b-and-reiterates-up-to-10-2026-revenue-growth/?utm_source=openai"},"annotation_index":2,"content_index":0,"item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","output_index":1,"sequence_number":334} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" underscore","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"O37jh","output_index":1,"sequence_number":332} +data: {"type":"response.output_text.delta","content_index":0,"delta":"\n","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"Njr7hemMWfICUjY","output_index":1,"sequence_number":335} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" Moderna","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"dQOqxCPz","output_index":1,"sequence_number":333} +data: {"type":"response.output_text.delta","content_index":0,"delta":"\n","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"naEX1QVdf6SLv9a","output_index":1,"sequence_number":336} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":"'s","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"yDtVAnfjHQwwmS","output_index":1,"sequence_number":334} +data: {"type":"response.output_text.delta","content_index":0,"delta":"These","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"qwD0rVsF3zB","output_index":1,"sequence_number":337} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" ongoing","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"Z5oXwBYU","output_index":1,"sequence_number":335} +data: {"type":"response.output_text.delta","content_index":0,"delta":" developments","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"9Wh","output_index":1,"sequence_number":338} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" efforts","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"Z3vvzLgx","output_index":1,"sequence_number":336} +data: {"type":"response.output_text.delta","content_index":0,"delta":" underscore","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"d9SwF","output_index":1,"sequence_number":339} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" to","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"VBm2UblBDsfLL","output_index":1,"sequence_number":337} +data: {"type":"response.output_text.delta","content_index":0,"delta":" Moderna","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"JteADTT6","output_index":1,"sequence_number":340} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" expand","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"qmr7D9th6","output_index":1,"sequence_number":338} +data: {"type":"response.output_text.delta","content_index":0,"delta":"'s","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"ZRl7bSRlnFlnxW","output_index":1,"sequence_number":341} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" the","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"rD15g4qmPZrA","output_index":1,"sequence_number":339} +data: {"type":"response.output_text.delta","content_index":0,"delta":" ongoing","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"KaZBObmM","output_index":1,"sequence_number":342} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" applications","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"xwB","output_index":1,"sequence_number":340} +data: {"type":"response.output_text.delta","content_index":0,"delta":" efforts","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"IWQWu6RB","output_index":1,"sequence_number":343} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" of","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"vcsYtEyHTJzE0","output_index":1,"sequence_number":341} +data: {"type":"response.output_text.delta","content_index":0,"delta":" to","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"eDD9P4cc4zMrk","output_index":1,"sequence_number":344} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" its","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"nrpt8GjSjtUa","output_index":1,"sequence_number":342} +data: {"type":"response.output_text.delta","content_index":0,"delta":" expand","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"3naWvroc5","output_index":1,"sequence_number":345} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" m","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"Ft8EcuUOJAy4HI","output_index":1,"sequence_number":343} +data: {"type":"response.output_text.delta","content_index":0,"delta":" its","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"M9pJ0bCu6tE6","output_index":1,"sequence_number":346} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":"RNA","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"IPV529XWpPEYT","output_index":1,"sequence_number":344} +data: {"type":"response.output_text.delta","content_index":0,"delta":" m","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"nXSWIGc943HaKD","output_index":1,"sequence_number":347} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" technology","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"J4XXj","output_index":1,"sequence_number":345} +data: {"type":"response.output_text.delta","content_index":0,"delta":"RNA","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"nfONTWxXwaIz8","output_index":1,"sequence_number":348} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" beyond","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"sLzdeTRQE","output_index":1,"sequence_number":346} +data: {"type":"response.output_text.delta","content_index":0,"delta":" technology","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"igJQk","output_index":1,"sequence_number":349} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" COVID","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"05XyAdgHoz","output_index":1,"sequence_number":347} +data: {"type":"response.output_text.delta","content_index":0,"delta":" applications","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"tVE","output_index":1,"sequence_number":350} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":"-","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"VFd0deV4v3RhGW4","output_index":1,"sequence_number":348} +data: {"type":"response.output_text.delta","content_index":0,"delta":" beyond","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"5o3onSC5N","output_index":1,"sequence_number":351} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":"19","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"1NrCtUg84NFStE","output_index":1,"sequence_number":349} +data: {"type":"response.output_text.delta","content_index":0,"delta":" COVID","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"r6jPf9HfIw","output_index":1,"sequence_number":352} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" vaccines","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"GLh8WwM","output_index":1,"sequence_number":350} +data: {"type":"response.output_text.delta","content_index":0,"delta":"-","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"hupVPFYhQPdioSF","output_index":1,"sequence_number":353} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":",","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"8jFmklDcp0wPXWJ","output_index":1,"sequence_number":351} +data: {"type":"response.output_text.delta","content_index":0,"delta":"19","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"jE7HHUckjkVS4m","output_index":1,"sequence_number":354} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" focusing","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"ciOW4ni","output_index":1,"sequence_number":352} +data: {"type":"response.output_text.delta","content_index":0,"delta":",","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"VGZL0UN6gXeuyyh","output_index":1,"sequence_number":355} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" on","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"h2YKiDsEx5uT3","output_index":1,"sequence_number":353} +data: {"type":"response.output_text.delta","content_index":0,"delta":" focusing","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"LoPTrRh","output_index":1,"sequence_number":356} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" personalized","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"SqR","output_index":1,"sequence_number":354} +data: {"type":"response.output_text.delta","content_index":0,"delta":" on","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"x8BwZWbdf8ulJ","output_index":1,"sequence_number":357} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" cancer","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"uPdH9Wtk6","output_index":1,"sequence_number":355} +data: {"type":"response.output_text.delta","content_index":0,"delta":" personalized","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"sFi","output_index":1,"sequence_number":358} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" treatments","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"TjuZa","output_index":1,"sequence_number":356} +data: {"type":"response.output_text.delta","content_index":0,"delta":" cancer","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"LsKVBrwpP","output_index":1,"sequence_number":359} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" and","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"W5urPNpmCQtO","output_index":1,"sequence_number":357} +data: {"type":"response.output_text.delta","content_index":0,"delta":" treatments","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"h3Mfd","output_index":1,"sequence_number":360} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" seasonal","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"G1MsQTM","output_index":1,"sequence_number":358} +data: {"type":"response.output_text.delta","content_index":0,"delta":" and","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"2LRGUn51OQRl","output_index":1,"sequence_number":361} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" flu","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"wWC0ss0oO48k","output_index":1,"sequence_number":359} +data: {"type":"response.output_text.delta","content_index":0,"delta":" seasonal","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"K039FZK","output_index":1,"sequence_number":362} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" prevention","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"mikIh","output_index":1,"sequence_number":360} +data: {"type":"response.output_text.delta","content_index":0,"delta":" vaccines","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"YI7jfBc","output_index":1,"sequence_number":363} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":".","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"OA1F96kUj69wMNu","output_index":1,"sequence_number":361} +data: {"type":"response.output_text.delta","content_index":0,"delta":".","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"6QIj12B6pigudjs","output_index":1,"sequence_number":364} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":"\n","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"o9PzckeLWNuWd4P","output_index":1,"sequence_number":362} +data: {"type":"response.output_text.delta","content_index":0,"delta":"\n","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"s0ZU9OAPzgSpu4S","output_index":1,"sequence_number":365} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":"\n","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"N6Eox2PGzt5YR2M","output_index":1,"sequence_number":363} +data: {"type":"response.output_text.delta","content_index":0,"delta":"\n","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"aKpZueT2a2Yg1kd","output_index":1,"sequence_number":366} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":"\n## Highlights:\n","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"","output_index":1,"sequence_number":364} +data: {"type":"response.output_text.delta","content_index":0,"delta":"\n## Highlights:\n","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"","output_index":1,"sequence_number":367} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":"- [Moderna shares surge after it says its experimental mRNA cancer treatment passed a key test](https://apnews.com/article/2330dce708b0af215b68570b19d025df?utm_source=openai), Published on Wednesday, August 19","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"sL3W9ZSCAJEWlap","output_index":1,"sequence_number":365} +data: {"type":"response.output_text.delta","content_index":0,"delta":"- [Moderna says skin cancer vaccine trial a success](https://theweek.com/health/moderna-says-skin-cancer-vaccine-success?utm_source=openai), Published on Thursday, August 20","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"cam","output_index":1,"sequence_number":368} event: response.output_text.annotation.added -data: {"type":"response.output_text.annotation.added","annotation":{"type":"url_citation","end_index":2367,"start_index":2195,"title":"Moderna shares surge after it says its experimental mRNA cancer treatment passed a key test","url":"https://apnews.com/article/2330dce708b0af215b68570b19d025df?utm_source=openai"},"annotation_index":3,"content_index":0,"item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","output_index":1,"sequence_number":366} +data: {"type":"response.output_text.annotation.added","annotation":{"type":"url_citation","end_index":2341,"start_index":2204,"title":"Moderna says skin cancer vaccine trial a success","url":"https://theweek.com/health/moderna-says-skin-cancer-vaccine-success?utm_source=openai"},"annotation_index":3,"content_index":0,"item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","output_index":1,"sequence_number":369} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":"\n- [FDA approves first mRNA vaccine for seasonal flu](https://www.livescience.com/health/medicine-drugs/fda-approves-first-mrna-vaccine-for-seasonal-flu?utm_source=openai), Published on Thursday, August 06","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"bRJ","output_index":1,"sequence_number":367} +data: {"type":"response.output_text.delta","content_index":0,"delta":"\n- [FDA approves first mRNA vaccine for seasonal flu](https://www.livescience.com/health/medicine-drugs/fda-approves-first-mrna-vaccine-for-seasonal-flu?utm_source=openai), Published on Thursday, August 06","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"PSn","output_index":1,"sequence_number":370} event: response.output_text.annotation.added -data: {"type":"response.output_text.annotation.added","annotation":{"type":"url_citation","end_index":2573,"start_index":2405,"title":"FDA approves first mRNA vaccine for seasonal flu","url":"https://www.livescience.com/health/medicine-drugs/fda-approves-first-mrna-vaccine-for-seasonal-flu?utm_source=openai"},"annotation_index":4,"content_index":0,"item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","output_index":1,"sequence_number":368} +data: {"type":"response.output_text.annotation.added","annotation":{"type":"url_citation","end_index":2546,"start_index":2378,"title":"FDA approves first mRNA vaccine for seasonal flu","url":"https://www.livescience.com/health/medicine-drugs/fda-approves-first-mrna-vaccine-for-seasonal-flu?utm_source=openai"},"annotation_index":4,"content_index":0,"item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","output_index":1,"sequence_number":371} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":"\n- [New kind of flu shot is on the way as the FDA approves Moderna's mRNA-based vaccine](https://apnews.com/article/59d991a6bf70c26e2f0c210cc8ca87f1?utm_source=openai), Published on Thursday, August 06","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"yGM0zKJ","output_index":1,"sequence_number":369} +data: {"type":"response.output_text.delta","content_index":0,"delta":"\n- [New kind of flu shot is on the way as the FDA approves Moderna's mRNA-based vaccine](https://apnews.com/article/59d991a6bf70c26e2f0c210cc8ca87f1?utm_source=openai), Published on Thursday, August 06","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"Cq0yrJj","output_index":1,"sequence_number":372} event: response.output_text.annotation.added -data: {"type":"response.output_text.annotation.added","annotation":{"type":"url_citation","end_index":2774,"start_index":2610,"title":"New kind of flu shot is on the way as the FDA approves Moderna's mRNA-based vaccine","url":"https://apnews.com/article/59d991a6bf70c26e2f0c210cc8ca87f1?utm_source=openai"},"annotation_index":5,"content_index":0,"item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","output_index":1,"sequence_number":370} +data: {"type":"response.output_text.annotation.added","annotation":{"type":"url_citation","end_index":2747,"start_index":2583,"title":"New kind of flu shot is on the way as the FDA approves Moderna's mRNA-based vaccine","url":"https://apnews.com/article/59d991a6bf70c26e2f0c210cc8ca87f1?utm_source=openai"},"annotation_index":5,"content_index":0,"item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","output_index":1,"sequence_number":373} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" ","item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"obfuscation":"8nw6wLvSqVLK3Sq","output_index":1,"sequence_number":371} +data: {"type":"response.output_text.delta","content_index":0,"delta":" ","item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"obfuscation":"bxwkJFKEAUUoRql","output_index":1,"sequence_number":374} event: response.output_text.done -data: {"type":"response.output_text.done","content_index":0,"item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","logprobs":[],"output_index":1,"sequence_number":372,"text":"Moderna has recently achieved significant milestones in both oncology and infectious disease prevention:\n\n**Breakthrough in mRNA-Based Cancer Treatment**\n\nModerna, in collaboration with Merck, announced promising results from a late-stage clinical trial of their personalized mRNA-based cancer vaccine, intismeran. This vaccine, tailored to individual patients based on specific tumor mutations, was tested alongside Merck's immunotherapy drug, Keytruda, in over 1,100 high-risk melanoma patients. The combination therapy demonstrated a statistically significant reduction in cancer recurrence and metastasis compared to Keytruda alone. These findings mark a significant advancement in personalized cancer therapy. ([apnews.com](https://apnews.com/article/2330dce708b0af215b68570b19d025df?utm_source=openai))\n\n**FDA Approval of mRNA Flu Vaccine**\n\nThe U.S. Food and Drug Administration (FDA) approved Moderna's mRNA-based seasonal flu vaccine, mFlusiva, for adults aged 50 and older. This approval follows a previous refusal by the FDA due to concerns over clinical trial methodologies. The vaccine demonstrated a 27% reduction in flu cases compared to standard vaccines in a study involving 40,000 participants. This approval signifies a notable development in influenza prevention and the broader application of mRNA vaccine technology. ([apnews.com](https://apnews.com/article/59d991a6bf70c26e2f0c210cc8ca87f1?utm_source=openai))\n\n**Financial Performance**\n\nIn the second quarter of 2026, Moderna reported total revenue of $145 million and a GAAP net loss of $782 million. Despite these figures, the company reiterated its plan to achieve up to 10% revenue growth for the year, highlighting upcoming regulatory milestones and ongoing late-stage program readouts. ([tradingview.com](https://www.tradingview.com/news/tradingview%3A51f64edf05d88%3A0-moderna-reports-q2-2026-revenue-145m-gaap-net-loss-0-8b-and-reiterates-up-to-10-2026-revenue-growth/?utm_source=openai))\n\nThese developments underscore Moderna's ongoing efforts to expand the applications of its mRNA technology beyond COVID-19 vaccines, focusing on personalized cancer treatments and seasonal flu prevention.\n\n\n## Highlights:\n- [Moderna shares surge after it says its experimental mRNA cancer treatment passed a key test](https://apnews.com/article/2330dce708b0af215b68570b19d025df?utm_source=openai), Published on Wednesday, August 19\n- [FDA approves first mRNA vaccine for seasonal flu](https://www.livescience.com/health/medicine-drugs/fda-approves-first-mrna-vaccine-for-seasonal-flu?utm_source=openai), Published on Thursday, August 06\n- [New kind of flu shot is on the way as the FDA approves Moderna's mRNA-based vaccine](https://apnews.com/article/59d991a6bf70c26e2f0c210cc8ca87f1?utm_source=openai), Published on Thursday, August 06 "} +data: {"type":"response.output_text.done","content_index":0,"item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","logprobs":[],"output_index":1,"sequence_number":375,"text":"Moderna has recently achieved significant milestones in both oncology and infectious disease treatments:\n\n**Advancements in Cancer Treatment**\n\nModerna, in collaboration with Merck, announced promising results from a late-stage clinical trial of their personalized mRNA-based cancer vaccine, intismeran, combined with Merck's immunotherapy drug Keytruda. This combination significantly reduced the recurrence and spread of high-risk melanoma in patients who had undergone surgery. This marks the first successful late-stage trial of a personalized mRNA cancer therapy, potentially opening new avenues for treating melanoma and other cancers. ([theweek.com](https://theweek.com/health/moderna-says-skin-cancer-vaccine-success?utm_source=openai))\n\n**Approval of mRNA-Based Flu Vaccine**\n\nThe U.S. Food and Drug Administration (FDA) approved Moderna's mRNA-based seasonal flu vaccine, mFlusiva (mRNA-1010), for individuals aged 50 and older. This vaccine utilizes the same mRNA technology as Moderna's COVID-19 vaccine, instructing cells to produce the hemagglutinin (HA) protein found on influenza viruses, thereby enhancing the immune response. Clinical trials demonstrated that mFlusiva was 26.6% more effective in preventing flu than standard vaccines, with even better protection for those aged 65 and older. ([livescience.com](https://www.livescience.com/health/medicine-drugs/fda-approves-first-mrna-vaccine-for-seasonal-flu?utm_source=openai))\n\n**Financial Performance**\n\nIn the second quarter of 2026, Moderna reported total revenue of $145 million and a GAAP net loss of $782 million. Despite the loss, the company reiterated its plan to achieve up to 10% revenue growth for the year and highlighted upcoming regulatory milestones, including the approval of its seasonal influenza vaccine. ([tradingview.com](https://www.tradingview.com/news/tradingview%3A51f64edf05d88%3A0-moderna-reports-q2-2026-revenue-145m-gaap-net-loss-0-8b-and-reiterates-up-to-10-2026-revenue-growth/?utm_source=openai))\n\nThese developments underscore Moderna's ongoing efforts to expand its mRNA technology applications beyond COVID-19, focusing on personalized cancer treatments and seasonal vaccines.\n\n\n## Highlights:\n- [Moderna says skin cancer vaccine trial a success](https://theweek.com/health/moderna-says-skin-cancer-vaccine-success?utm_source=openai), Published on Thursday, August 20\n- [FDA approves first mRNA vaccine for seasonal flu](https://www.livescience.com/health/medicine-drugs/fda-approves-first-mrna-vaccine-for-seasonal-flu?utm_source=openai), Published on Thursday, August 06\n- [New kind of flu shot is on the way as the FDA approves Moderna's mRNA-based vaccine](https://apnews.com/article/59d991a6bf70c26e2f0c210cc8ca87f1?utm_source=openai), Published on Thursday, August 06 "} event: response.content_part.done -data: {"type":"response.content_part.done","content_index":0,"item_id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","output_index":1,"part":{"type":"output_text","annotations":[{"type":"url_citation","end_index":808,"start_index":715,"title":"Moderna shares surge after it says its experimental mRNA cancer treatment passed a key test","url":"https://apnews.com/article/2330dce708b0af215b68570b19d025df?utm_source=openai"},{"type":"url_citation","end_index":1432,"start_index":1339,"title":"New kind of flu shot is on the way as the FDA approves Moderna's mRNA-based vaccine","url":"https://apnews.com/article/59d991a6bf70c26e2f0c210cc8ca87f1?utm_source=openai"},{"type":"url_citation","end_index":1970,"start_index":1766,"title":"Moderna reports Q2 2026 revenue $145M, GAAP net loss $0.8B and reiterates up to 10% 2026 revenue growth — TradingView News","url":"https://www.tradingview.com/news/tradingview%3A51f64edf05d88%3A0-moderna-reports-q2-2026-revenue-145m-gaap-net-loss-0-8b-and-reiterates-up-to-10-2026-revenue-growth/?utm_source=openai"},{"type":"url_citation","end_index":2367,"start_index":2195,"title":"Moderna shares surge after it says its experimental mRNA cancer treatment passed a key test","url":"https://apnews.com/article/2330dce708b0af215b68570b19d025df?utm_source=openai"},{"type":"url_citation","end_index":2573,"start_index":2405,"title":"FDA approves first mRNA vaccine for seasonal flu","url":"https://www.livescience.com/health/medicine-drugs/fda-approves-first-mrna-vaccine-for-seasonal-flu?utm_source=openai"},{"type":"url_citation","end_index":2774,"start_index":2610,"title":"New kind of flu shot is on the way as the FDA approves Moderna's mRNA-based vaccine","url":"https://apnews.com/article/59d991a6bf70c26e2f0c210cc8ca87f1?utm_source=openai"}],"logprobs":[],"text":"Moderna has recently achieved significant milestones in both oncology and infectious disease prevention:\n\n**Breakthrough in mRNA-Based Cancer Treatment**\n\nModerna, in collaboration with Merck, announced promising results from a late-stage clinical trial of their personalized mRNA-based cancer vaccine, intismeran. This vaccine, tailored to individual patients based on specific tumor mutations, was tested alongside Merck's immunotherapy drug, Keytruda, in over 1,100 high-risk melanoma patients. The combination therapy demonstrated a statistically significant reduction in cancer recurrence and metastasis compared to Keytruda alone. These findings mark a significant advancement in personalized cancer therapy. ([apnews.com](https://apnews.com/article/2330dce708b0af215b68570b19d025df?utm_source=openai))\n\n**FDA Approval of mRNA Flu Vaccine**\n\nThe U.S. Food and Drug Administration (FDA) approved Moderna's mRNA-based seasonal flu vaccine, mFlusiva, for adults aged 50 and older. This approval follows a previous refusal by the FDA due to concerns over clinical trial methodologies. The vaccine demonstrated a 27% reduction in flu cases compared to standard vaccines in a study involving 40,000 participants. This approval signifies a notable development in influenza prevention and the broader application of mRNA vaccine technology. ([apnews.com](https://apnews.com/article/59d991a6bf70c26e2f0c210cc8ca87f1?utm_source=openai))\n\n**Financial Performance**\n\nIn the second quarter of 2026, Moderna reported total revenue of $145 million and a GAAP net loss of $782 million. Despite these figures, the company reiterated its plan to achieve up to 10% revenue growth for the year, highlighting upcoming regulatory milestones and ongoing late-stage program readouts. ([tradingview.com](https://www.tradingview.com/news/tradingview%3A51f64edf05d88%3A0-moderna-reports-q2-2026-revenue-145m-gaap-net-loss-0-8b-and-reiterates-up-to-10-2026-revenue-growth/?utm_source=openai))\n\nThese developments underscore Moderna's ongoing efforts to expand the applications of its mRNA technology beyond COVID-19 vaccines, focusing on personalized cancer treatments and seasonal flu prevention.\n\n\n## Highlights:\n- [Moderna shares surge after it says its experimental mRNA cancer treatment passed a key test](https://apnews.com/article/2330dce708b0af215b68570b19d025df?utm_source=openai), Published on Wednesday, August 19\n- [FDA approves first mRNA vaccine for seasonal flu](https://www.livescience.com/health/medicine-drugs/fda-approves-first-mrna-vaccine-for-seasonal-flu?utm_source=openai), Published on Thursday, August 06\n- [New kind of flu shot is on the way as the FDA approves Moderna's mRNA-based vaccine](https://apnews.com/article/59d991a6bf70c26e2f0c210cc8ca87f1?utm_source=openai), Published on Thursday, August 06 "},"sequence_number":373} +data: {"type":"response.content_part.done","content_index":0,"item_id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","output_index":1,"part":{"type":"output_text","annotations":[{"type":"url_citation","end_index":744,"start_index":642,"title":"Moderna says skin cancer vaccine trial a success","url":"https://theweek.com/health/moderna-says-skin-cancer-vaccine-success?utm_source=openai"},{"type":"url_citation","end_index":1448,"start_index":1311,"title":"FDA approves first mRNA vaccine for seasonal flu","url":"https://www.livescience.com/health/medicine-drugs/fda-approves-first-mrna-vaccine-for-seasonal-flu?utm_source=openai"},{"type":"url_citation","end_index":2001,"start_index":1797,"title":"Moderna reports Q2 2026 revenue $145M, GAAP net loss $0.8B and reiterates up to 10% 2026 revenue growth — TradingView News","url":"https://www.tradingview.com/news/tradingview%3A51f64edf05d88%3A0-moderna-reports-q2-2026-revenue-145m-gaap-net-loss-0-8b-and-reiterates-up-to-10-2026-revenue-growth/?utm_source=openai"},{"type":"url_citation","end_index":2341,"start_index":2204,"title":"Moderna says skin cancer vaccine trial a success","url":"https://theweek.com/health/moderna-says-skin-cancer-vaccine-success?utm_source=openai"},{"type":"url_citation","end_index":2546,"start_index":2378,"title":"FDA approves first mRNA vaccine for seasonal flu","url":"https://www.livescience.com/health/medicine-drugs/fda-approves-first-mrna-vaccine-for-seasonal-flu?utm_source=openai"},{"type":"url_citation","end_index":2747,"start_index":2583,"title":"New kind of flu shot is on the way as the FDA approves Moderna's mRNA-based vaccine","url":"https://apnews.com/article/59d991a6bf70c26e2f0c210cc8ca87f1?utm_source=openai"}],"logprobs":[],"text":"Moderna has recently achieved significant milestones in both oncology and infectious disease treatments:\n\n**Advancements in Cancer Treatment**\n\nModerna, in collaboration with Merck, announced promising results from a late-stage clinical trial of their personalized mRNA-based cancer vaccine, intismeran, combined with Merck's immunotherapy drug Keytruda. This combination significantly reduced the recurrence and spread of high-risk melanoma in patients who had undergone surgery. This marks the first successful late-stage trial of a personalized mRNA cancer therapy, potentially opening new avenues for treating melanoma and other cancers. ([theweek.com](https://theweek.com/health/moderna-says-skin-cancer-vaccine-success?utm_source=openai))\n\n**Approval of mRNA-Based Flu Vaccine**\n\nThe U.S. Food and Drug Administration (FDA) approved Moderna's mRNA-based seasonal flu vaccine, mFlusiva (mRNA-1010), for individuals aged 50 and older. This vaccine utilizes the same mRNA technology as Moderna's COVID-19 vaccine, instructing cells to produce the hemagglutinin (HA) protein found on influenza viruses, thereby enhancing the immune response. Clinical trials demonstrated that mFlusiva was 26.6% more effective in preventing flu than standard vaccines, with even better protection for those aged 65 and older. ([livescience.com](https://www.livescience.com/health/medicine-drugs/fda-approves-first-mrna-vaccine-for-seasonal-flu?utm_source=openai))\n\n**Financial Performance**\n\nIn the second quarter of 2026, Moderna reported total revenue of $145 million and a GAAP net loss of $782 million. Despite the loss, the company reiterated its plan to achieve up to 10% revenue growth for the year and highlighted upcoming regulatory milestones, including the approval of its seasonal influenza vaccine. ([tradingview.com](https://www.tradingview.com/news/tradingview%3A51f64edf05d88%3A0-moderna-reports-q2-2026-revenue-145m-gaap-net-loss-0-8b-and-reiterates-up-to-10-2026-revenue-growth/?utm_source=openai))\n\nThese developments underscore Moderna's ongoing efforts to expand its mRNA technology applications beyond COVID-19, focusing on personalized cancer treatments and seasonal vaccines.\n\n\n## Highlights:\n- [Moderna says skin cancer vaccine trial a success](https://theweek.com/health/moderna-says-skin-cancer-vaccine-success?utm_source=openai), Published on Thursday, August 20\n- [FDA approves first mRNA vaccine for seasonal flu](https://www.livescience.com/health/medicine-drugs/fda-approves-first-mrna-vaccine-for-seasonal-flu?utm_source=openai), Published on Thursday, August 06\n- [New kind of flu shot is on the way as the FDA approves Moderna's mRNA-based vaccine](https://apnews.com/article/59d991a6bf70c26e2f0c210cc8ca87f1?utm_source=openai), Published on Thursday, August 06 "},"sequence_number":376} event: response.output_item.done -data: {"type":"response.output_item.done","item":{"id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","type":"message","status":"completed","content":[{"type":"output_text","annotations":[{"type":"url_citation","end_index":808,"start_index":715,"title":"Moderna shares surge after it says its experimental mRNA cancer treatment passed a key test","url":"https://apnews.com/article/2330dce708b0af215b68570b19d025df?utm_source=openai"},{"type":"url_citation","end_index":1432,"start_index":1339,"title":"New kind of flu shot is on the way as the FDA approves Moderna's mRNA-based vaccine","url":"https://apnews.com/article/59d991a6bf70c26e2f0c210cc8ca87f1?utm_source=openai"},{"type":"url_citation","end_index":1970,"start_index":1766,"title":"Moderna reports Q2 2026 revenue $145M, GAAP net loss $0.8B and reiterates up to 10% 2026 revenue growth — TradingView News","url":"https://www.tradingview.com/news/tradingview%3A51f64edf05d88%3A0-moderna-reports-q2-2026-revenue-145m-gaap-net-loss-0-8b-and-reiterates-up-to-10-2026-revenue-growth/?utm_source=openai"},{"type":"url_citation","end_index":2367,"start_index":2195,"title":"Moderna shares surge after it says its experimental mRNA cancer treatment passed a key test","url":"https://apnews.com/article/2330dce708b0af215b68570b19d025df?utm_source=openai"},{"type":"url_citation","end_index":2573,"start_index":2405,"title":"FDA approves first mRNA vaccine for seasonal flu","url":"https://www.livescience.com/health/medicine-drugs/fda-approves-first-mrna-vaccine-for-seasonal-flu?utm_source=openai"},{"type":"url_citation","end_index":2774,"start_index":2610,"title":"New kind of flu shot is on the way as the FDA approves Moderna's mRNA-based vaccine","url":"https://apnews.com/article/59d991a6bf70c26e2f0c210cc8ca87f1?utm_source=openai"}],"logprobs":[],"text":"Moderna has recently achieved significant milestones in both oncology and infectious disease prevention:\n\n**Breakthrough in mRNA-Based Cancer Treatment**\n\nModerna, in collaboration with Merck, announced promising results from a late-stage clinical trial of their personalized mRNA-based cancer vaccine, intismeran. This vaccine, tailored to individual patients based on specific tumor mutations, was tested alongside Merck's immunotherapy drug, Keytruda, in over 1,100 high-risk melanoma patients. The combination therapy demonstrated a statistically significant reduction in cancer recurrence and metastasis compared to Keytruda alone. These findings mark a significant advancement in personalized cancer therapy. ([apnews.com](https://apnews.com/article/2330dce708b0af215b68570b19d025df?utm_source=openai))\n\n**FDA Approval of mRNA Flu Vaccine**\n\nThe U.S. Food and Drug Administration (FDA) approved Moderna's mRNA-based seasonal flu vaccine, mFlusiva, for adults aged 50 and older. This approval follows a previous refusal by the FDA due to concerns over clinical trial methodologies. The vaccine demonstrated a 27% reduction in flu cases compared to standard vaccines in a study involving 40,000 participants. This approval signifies a notable development in influenza prevention and the broader application of mRNA vaccine technology. ([apnews.com](https://apnews.com/article/59d991a6bf70c26e2f0c210cc8ca87f1?utm_source=openai))\n\n**Financial Performance**\n\nIn the second quarter of 2026, Moderna reported total revenue of $145 million and a GAAP net loss of $782 million. Despite these figures, the company reiterated its plan to achieve up to 10% revenue growth for the year, highlighting upcoming regulatory milestones and ongoing late-stage program readouts. ([tradingview.com](https://www.tradingview.com/news/tradingview%3A51f64edf05d88%3A0-moderna-reports-q2-2026-revenue-145m-gaap-net-loss-0-8b-and-reiterates-up-to-10-2026-revenue-growth/?utm_source=openai))\n\nThese developments underscore Moderna's ongoing efforts to expand the applications of its mRNA technology beyond COVID-19 vaccines, focusing on personalized cancer treatments and seasonal flu prevention.\n\n\n## Highlights:\n- [Moderna shares surge after it says its experimental mRNA cancer treatment passed a key test](https://apnews.com/article/2330dce708b0af215b68570b19d025df?utm_source=openai), Published on Wednesday, August 19\n- [FDA approves first mRNA vaccine for seasonal flu](https://www.livescience.com/health/medicine-drugs/fda-approves-first-mrna-vaccine-for-seasonal-flu?utm_source=openai), Published on Thursday, August 06\n- [New kind of flu shot is on the way as the FDA approves Moderna's mRNA-based vaccine](https://apnews.com/article/59d991a6bf70c26e2f0c210cc8ca87f1?utm_source=openai), Published on Thursday, August 06 "}],"role":"assistant"},"output_index":1,"sequence_number":374} +data: {"type":"response.output_item.done","item":{"id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","type":"message","status":"completed","content":[{"type":"output_text","annotations":[{"type":"url_citation","end_index":744,"start_index":642,"title":"Moderna says skin cancer vaccine trial a success","url":"https://theweek.com/health/moderna-says-skin-cancer-vaccine-success?utm_source=openai"},{"type":"url_citation","end_index":1448,"start_index":1311,"title":"FDA approves first mRNA vaccine for seasonal flu","url":"https://www.livescience.com/health/medicine-drugs/fda-approves-first-mrna-vaccine-for-seasonal-flu?utm_source=openai"},{"type":"url_citation","end_index":2001,"start_index":1797,"title":"Moderna reports Q2 2026 revenue $145M, GAAP net loss $0.8B and reiterates up to 10% 2026 revenue growth — TradingView News","url":"https://www.tradingview.com/news/tradingview%3A51f64edf05d88%3A0-moderna-reports-q2-2026-revenue-145m-gaap-net-loss-0-8b-and-reiterates-up-to-10-2026-revenue-growth/?utm_source=openai"},{"type":"url_citation","end_index":2341,"start_index":2204,"title":"Moderna says skin cancer vaccine trial a success","url":"https://theweek.com/health/moderna-says-skin-cancer-vaccine-success?utm_source=openai"},{"type":"url_citation","end_index":2546,"start_index":2378,"title":"FDA approves first mRNA vaccine for seasonal flu","url":"https://www.livescience.com/health/medicine-drugs/fda-approves-first-mrna-vaccine-for-seasonal-flu?utm_source=openai"},{"type":"url_citation","end_index":2747,"start_index":2583,"title":"New kind of flu shot is on the way as the FDA approves Moderna's mRNA-based vaccine","url":"https://apnews.com/article/59d991a6bf70c26e2f0c210cc8ca87f1?utm_source=openai"}],"logprobs":[],"text":"Moderna has recently achieved significant milestones in both oncology and infectious disease treatments:\n\n**Advancements in Cancer Treatment**\n\nModerna, in collaboration with Merck, announced promising results from a late-stage clinical trial of their personalized mRNA-based cancer vaccine, intismeran, combined with Merck's immunotherapy drug Keytruda. This combination significantly reduced the recurrence and spread of high-risk melanoma in patients who had undergone surgery. This marks the first successful late-stage trial of a personalized mRNA cancer therapy, potentially opening new avenues for treating melanoma and other cancers. ([theweek.com](https://theweek.com/health/moderna-says-skin-cancer-vaccine-success?utm_source=openai))\n\n**Approval of mRNA-Based Flu Vaccine**\n\nThe U.S. Food and Drug Administration (FDA) approved Moderna's mRNA-based seasonal flu vaccine, mFlusiva (mRNA-1010), for individuals aged 50 and older. This vaccine utilizes the same mRNA technology as Moderna's COVID-19 vaccine, instructing cells to produce the hemagglutinin (HA) protein found on influenza viruses, thereby enhancing the immune response. Clinical trials demonstrated that mFlusiva was 26.6% more effective in preventing flu than standard vaccines, with even better protection for those aged 65 and older. ([livescience.com](https://www.livescience.com/health/medicine-drugs/fda-approves-first-mrna-vaccine-for-seasonal-flu?utm_source=openai))\n\n**Financial Performance**\n\nIn the second quarter of 2026, Moderna reported total revenue of $145 million and a GAAP net loss of $782 million. Despite the loss, the company reiterated its plan to achieve up to 10% revenue growth for the year and highlighted upcoming regulatory milestones, including the approval of its seasonal influenza vaccine. ([tradingview.com](https://www.tradingview.com/news/tradingview%3A51f64edf05d88%3A0-moderna-reports-q2-2026-revenue-145m-gaap-net-loss-0-8b-and-reiterates-up-to-10-2026-revenue-growth/?utm_source=openai))\n\nThese developments underscore Moderna's ongoing efforts to expand its mRNA technology applications beyond COVID-19, focusing on personalized cancer treatments and seasonal vaccines.\n\n\n## Highlights:\n- [Moderna says skin cancer vaccine trial a success](https://theweek.com/health/moderna-says-skin-cancer-vaccine-success?utm_source=openai), Published on Thursday, August 20\n- [FDA approves first mRNA vaccine for seasonal flu](https://www.livescience.com/health/medicine-drugs/fda-approves-first-mrna-vaccine-for-seasonal-flu?utm_source=openai), Published on Thursday, August 06\n- [New kind of flu shot is on the way as the FDA approves Moderna's mRNA-based vaccine](https://apnews.com/article/59d991a6bf70c26e2f0c210cc8ca87f1?utm_source=openai), Published on Thursday, August 06 "}],"role":"assistant"},"output_index":1,"sequence_number":377} event: response.completed -data: {"type":"response.completed","response":{"id":"resp_04fa46b17a39180a016a888fa20f2c87d0a86633063307bf6a","object":"response","created_at":1787334562,"status":"completed","background":false,"completed_at":1787334566,"error":null,"frequency_penalty":0.0,"incomplete_details":null,"instructions":null,"max_output_tokens":null,"max_tool_calls":null,"model":"gpt-4o-2024-08-06","moderation":null,"output":[{"id":"ws_04fa46b17a39180a016a888fa2a81087d0a961c6a9b9866bb8","type":"web_search_call","status":"completed","action":{"type":"search","queries":["Moderna news October 2023"],"query":"Moderna news October 2023"}},{"id":"msg_04fa46b17a39180a016a888fa40b6887d0bd53ceea9c4cde95","type":"message","status":"completed","content":[{"type":"output_text","annotations":[{"type":"url_citation","end_index":808,"start_index":715,"title":"Moderna shares surge after it says its experimental mRNA cancer treatment passed a key test","url":"https://apnews.com/article/2330dce708b0af215b68570b19d025df?utm_source=openai"},{"type":"url_citation","end_index":1432,"start_index":1339,"title":"New kind of flu shot is on the way as the FDA approves Moderna's mRNA-based vaccine","url":"https://apnews.com/article/59d991a6bf70c26e2f0c210cc8ca87f1?utm_source=openai"},{"type":"url_citation","end_index":1970,"start_index":1766,"title":"Moderna reports Q2 2026 revenue $145M, GAAP net loss $0.8B and reiterates up to 10% 2026 revenue growth — TradingView News","url":"https://www.tradingview.com/news/tradingview%3A51f64edf05d88%3A0-moderna-reports-q2-2026-revenue-145m-gaap-net-loss-0-8b-and-reiterates-up-to-10-2026-revenue-growth/?utm_source=openai"},{"type":"url_citation","end_index":2367,"start_index":2195,"title":"Moderna shares surge after it says its experimental mRNA cancer treatment passed a key test","url":"https://apnews.com/article/2330dce708b0af215b68570b19d025df?utm_source=openai"},{"type":"url_citation","end_index":2573,"start_index":2405,"title":"FDA approves first mRNA vaccine for seasonal flu","url":"https://www.livescience.com/health/medicine-drugs/fda-approves-first-mrna-vaccine-for-seasonal-flu?utm_source=openai"},{"type":"url_citation","end_index":2774,"start_index":2610,"title":"New kind of flu shot is on the way as the FDA approves Moderna's mRNA-based vaccine","url":"https://apnews.com/article/59d991a6bf70c26e2f0c210cc8ca87f1?utm_source=openai"}],"logprobs":[],"text":"Moderna has recently achieved significant milestones in both oncology and infectious disease prevention:\n\n**Breakthrough in mRNA-Based Cancer Treatment**\n\nModerna, in collaboration with Merck, announced promising results from a late-stage clinical trial of their personalized mRNA-based cancer vaccine, intismeran. This vaccine, tailored to individual patients based on specific tumor mutations, was tested alongside Merck's immunotherapy drug, Keytruda, in over 1,100 high-risk melanoma patients. The combination therapy demonstrated a statistically significant reduction in cancer recurrence and metastasis compared to Keytruda alone. These findings mark a significant advancement in personalized cancer therapy. ([apnews.com](https://apnews.com/article/2330dce708b0af215b68570b19d025df?utm_source=openai))\n\n**FDA Approval of mRNA Flu Vaccine**\n\nThe U.S. Food and Drug Administration (FDA) approved Moderna's mRNA-based seasonal flu vaccine, mFlusiva, for adults aged 50 and older. This approval follows a previous refusal by the FDA due to concerns over clinical trial methodologies. The vaccine demonstrated a 27% reduction in flu cases compared to standard vaccines in a study involving 40,000 participants. This approval signifies a notable development in influenza prevention and the broader application of mRNA vaccine technology. ([apnews.com](https://apnews.com/article/59d991a6bf70c26e2f0c210cc8ca87f1?utm_source=openai))\n\n**Financial Performance**\n\nIn the second quarter of 2026, Moderna reported total revenue of $145 million and a GAAP net loss of $782 million. Despite these figures, the company reiterated its plan to achieve up to 10% revenue growth for the year, highlighting upcoming regulatory milestones and ongoing late-stage program readouts. ([tradingview.com](https://www.tradingview.com/news/tradingview%3A51f64edf05d88%3A0-moderna-reports-q2-2026-revenue-145m-gaap-net-loss-0-8b-and-reiterates-up-to-10-2026-revenue-growth/?utm_source=openai))\n\nThese developments underscore Moderna's ongoing efforts to expand the applications of its mRNA technology beyond COVID-19 vaccines, focusing on personalized cancer treatments and seasonal flu prevention.\n\n\n## Highlights:\n- [Moderna shares surge after it says its experimental mRNA cancer treatment passed a key test](https://apnews.com/article/2330dce708b0af215b68570b19d025df?utm_source=openai), Published on Wednesday, August 19\n- [FDA approves first mRNA vaccine for seasonal flu](https://www.livescience.com/health/medicine-drugs/fda-approves-first-mrna-vaccine-for-seasonal-flu?utm_source=openai), Published on Thursday, August 06\n- [New kind of flu shot is on the way as the FDA approves Moderna's mRNA-based vaccine](https://apnews.com/article/59d991a6bf70c26e2f0c210cc8ca87f1?utm_source=openai), Published on Thursday, August 06 "}],"role":"assistant"}],"parallel_tool_calls":true,"presence_penalty":0.0,"previous_response_id":null,"prompt_cache_key":null,"prompt_cache_retention":"in_memory","reasoning":{"context":null,"effort":null,"summary":null},"safety_identifier":null,"service_tier":"default","store":false,"temperature":0.0,"text":{"format":{"type":"text"},"verbosity":"medium"},"tool_choice":"auto","tool_usage":{"image_gen":{"input_tokens":0,"input_tokens_details":{"image_tokens":0,"text_tokens":0},"output_tokens":0,"output_tokens_details":{"image_tokens":0,"text_tokens":0},"total_tokens":0},"web_search":{"num_requests":1}},"tools":[{"type":"web_search_preview","search_content_types":["text"],"search_context_size":"medium","user_location":{"type":"approximate","city":null,"country":"US","region":null,"timezone":null}}],"top_logprobs":0,"top_p":1.0,"truncation":"disabled","usage":{"input_tokens":317,"input_tokens_details":{"cache_write_tokens":0,"cached_tokens":0},"output_tokens":676,"output_tokens_details":{"reasoning_tokens":0},"total_tokens":993},"user":null,"metadata":{}},"sequence_number":375} +data: {"type":"response.completed","response":{"id":"resp_0c8728fafbb9b29a016a95bca39a6487d09ef7b8d2c17010ff","object":"response","created_at":1788198051,"status":"completed","background":false,"completed_at":1788198056,"error":null,"frequency_penalty":0.0,"incomplete_details":null,"instructions":null,"max_output_tokens":null,"max_tool_calls":null,"model":"gpt-4o-2024-08-06","moderation":null,"output":[{"id":"ws_0c8728fafbb9b29a016a95bca4670087d0b492e2fa72d76e7e","type":"web_search_call","status":"completed","action":{"type":"search","queries":["Moderna news October 2023"],"query":"Moderna news October 2023"}},{"id":"msg_0c8728fafbb9b29a016a95bca5cddc87d08b188e481dfc9626","type":"message","status":"completed","content":[{"type":"output_text","annotations":[{"type":"url_citation","end_index":744,"start_index":642,"title":"Moderna says skin cancer vaccine trial a success","url":"https://theweek.com/health/moderna-says-skin-cancer-vaccine-success?utm_source=openai"},{"type":"url_citation","end_index":1448,"start_index":1311,"title":"FDA approves first mRNA vaccine for seasonal flu","url":"https://www.livescience.com/health/medicine-drugs/fda-approves-first-mrna-vaccine-for-seasonal-flu?utm_source=openai"},{"type":"url_citation","end_index":2001,"start_index":1797,"title":"Moderna reports Q2 2026 revenue $145M, GAAP net loss $0.8B and reiterates up to 10% 2026 revenue growth — TradingView News","url":"https://www.tradingview.com/news/tradingview%3A51f64edf05d88%3A0-moderna-reports-q2-2026-revenue-145m-gaap-net-loss-0-8b-and-reiterates-up-to-10-2026-revenue-growth/?utm_source=openai"},{"type":"url_citation","end_index":2341,"start_index":2204,"title":"Moderna says skin cancer vaccine trial a success","url":"https://theweek.com/health/moderna-says-skin-cancer-vaccine-success?utm_source=openai"},{"type":"url_citation","end_index":2546,"start_index":2378,"title":"FDA approves first mRNA vaccine for seasonal flu","url":"https://www.livescience.com/health/medicine-drugs/fda-approves-first-mrna-vaccine-for-seasonal-flu?utm_source=openai"},{"type":"url_citation","end_index":2747,"start_index":2583,"title":"New kind of flu shot is on the way as the FDA approves Moderna's mRNA-based vaccine","url":"https://apnews.com/article/59d991a6bf70c26e2f0c210cc8ca87f1?utm_source=openai"}],"logprobs":[],"text":"Moderna has recently achieved significant milestones in both oncology and infectious disease treatments:\n\n**Advancements in Cancer Treatment**\n\nModerna, in collaboration with Merck, announced promising results from a late-stage clinical trial of their personalized mRNA-based cancer vaccine, intismeran, combined with Merck's immunotherapy drug Keytruda. This combination significantly reduced the recurrence and spread of high-risk melanoma in patients who had undergone surgery. This marks the first successful late-stage trial of a personalized mRNA cancer therapy, potentially opening new avenues for treating melanoma and other cancers. ([theweek.com](https://theweek.com/health/moderna-says-skin-cancer-vaccine-success?utm_source=openai))\n\n**Approval of mRNA-Based Flu Vaccine**\n\nThe U.S. Food and Drug Administration (FDA) approved Moderna's mRNA-based seasonal flu vaccine, mFlusiva (mRNA-1010), for individuals aged 50 and older. This vaccine utilizes the same mRNA technology as Moderna's COVID-19 vaccine, instructing cells to produce the hemagglutinin (HA) protein found on influenza viruses, thereby enhancing the immune response. Clinical trials demonstrated that mFlusiva was 26.6% more effective in preventing flu than standard vaccines, with even better protection for those aged 65 and older. ([livescience.com](https://www.livescience.com/health/medicine-drugs/fda-approves-first-mrna-vaccine-for-seasonal-flu?utm_source=openai))\n\n**Financial Performance**\n\nIn the second quarter of 2026, Moderna reported total revenue of $145 million and a GAAP net loss of $782 million. Despite the loss, the company reiterated its plan to achieve up to 10% revenue growth for the year and highlighted upcoming regulatory milestones, including the approval of its seasonal influenza vaccine. ([tradingview.com](https://www.tradingview.com/news/tradingview%3A51f64edf05d88%3A0-moderna-reports-q2-2026-revenue-145m-gaap-net-loss-0-8b-and-reiterates-up-to-10-2026-revenue-growth/?utm_source=openai))\n\nThese developments underscore Moderna's ongoing efforts to expand its mRNA technology applications beyond COVID-19, focusing on personalized cancer treatments and seasonal vaccines.\n\n\n## Highlights:\n- [Moderna says skin cancer vaccine trial a success](https://theweek.com/health/moderna-says-skin-cancer-vaccine-success?utm_source=openai), Published on Thursday, August 20\n- [FDA approves first mRNA vaccine for seasonal flu](https://www.livescience.com/health/medicine-drugs/fda-approves-first-mrna-vaccine-for-seasonal-flu?utm_source=openai), Published on Thursday, August 06\n- [New kind of flu shot is on the way as the FDA approves Moderna's mRNA-based vaccine](https://apnews.com/article/59d991a6bf70c26e2f0c210cc8ca87f1?utm_source=openai), Published on Thursday, August 06 "}],"role":"assistant"}],"parallel_tool_calls":true,"presence_penalty":0.0,"previous_response_id":null,"prompt_cache_key":null,"prompt_cache_retention":"in_memory","reasoning":{"context":null,"effort":null,"summary":null},"safety_identifier":null,"service_tier":"default","store":false,"temperature":0.0,"text":{"format":{"type":"text"},"verbosity":"medium"},"tool_choice":"auto","tool_usage":{"image_gen":{"input_tokens":0,"input_tokens_details":{"image_tokens":0,"text_tokens":0},"output_tokens":0,"output_tokens_details":{"image_tokens":0,"text_tokens":0},"total_tokens":0},"web_search":{"num_requests":1}},"tools":[{"type":"web_search_preview","search_content_types":["text"],"search_context_size":"medium","user_location":{"type":"approximate","city":null,"country":"US","region":null,"timezone":null}}],"top_logprobs":0,"top_p":1.0,"truncation":"disabled","usage":{"input_tokens":317,"input_tokens_details":{"cache_write_tokens":0,"cached_tokens":0},"output_tokens":662,"output_tokens_details":{"reasoning_tokens":0},"total_tokens":979},"user":null,"metadata":{}},"sequence_number":378} diff --git a/test-harness/src/testFixtures/resources/cassettes/openai/__files/responses-2348ab6c9b2a.json b/test-harness/src/testFixtures/resources/cassettes/openai/__files/responses-2348ab6c9b2a.json index cb0164df..21571fbc 100644 --- a/test-harness/src/testFixtures/resources/cassettes/openai/__files/responses-2348ab6c9b2a.json +++ b/test-harness/src/testFixtures/resources/cassettes/openai/__files/responses-2348ab6c9b2a.json @@ -1,13 +1,13 @@ { - "id": "resp_0c3ea78a41204e80016a888606758487d08aefcf49c7f9c6b3", + "id": "resp_0a1647fbb564f737016a95bcadc86c87d0aff88d4981223752", "object": "response", - "created_at": 1787332102, + "created_at": 1788198061, "status": "completed", "background": false, "billing": { "payer": "developer" }, - "completed_at": 1787332108, + "completed_at": 1788198070, "error": null, "frequency_penalty": 0.0, "incomplete_details": null, @@ -18,7 +18,7 @@ "moderation": null, "output": [ { - "id": "ws_0c3ea78a41204e80016a888607544c87d09a067faaef412ce5", + "id": "ws_0a1647fbb564f737016a95bcaf0a3087d09a35589019d67185", "type": "web_search_call", "status": "completed", "action": { @@ -30,7 +30,7 @@ } }, { - "id": "msg_0c3ea78a41204e80016a88860859e487d0b30f080a7beea399", + "id": "msg_0a1647fbb564f737016a95bcb0976087d09492703d4b6518f0", "type": "message", "status": "completed", "content": [ @@ -39,49 +39,49 @@ "annotations": [ { "type": "url_citation", - "end_index": 643, - "start_index": 550, - "title": "Moderna shares surge after it says its experimental mRNA cancer treatment passed a key test", - "url": "https://apnews.com/article/2330dce708b0af215b68570b19d025df?utm_source=openai" + "end_index": 741, + "start_index": 639, + "title": "Moderna says skin cancer vaccine trial a success", + "url": "https://theweek.com/health/moderna-says-skin-cancer-vaccine-success?utm_source=openai" }, { "type": "url_citation", - "end_index": 1135, - "start_index": 1042, - "title": "New kind of flu shot is on the way as the FDA approves Moderna's mRNA-based vaccine", - "url": "https://apnews.com/article/59d991a6bf70c26e2f0c210cc8ca87f1?utm_source=openai" + "end_index": 1385, + "start_index": 1248, + "title": "FDA approves first mRNA vaccine for seasonal flu", + "url": "https://www.livescience.com/health/medicine-drugs/fda-approves-first-mrna-vaccine-for-seasonal-flu?utm_source=openai" }, { "type": "url_citation", - "end_index": 1650, - "start_index": 1446, + "end_index": 1907, + "start_index": 1703, "title": "Moderna reports Q2 2026 revenue $145M, GAAP net loss $0.8B and reiterates up to 10% 2026 revenue growth \u2014 TradingView News", "url": "https://www.tradingview.com/news/tradingview%3A51f64edf05d88%3A0-moderna-reports-q2-2026-revenue-145m-gaap-net-loss-0-8b-and-reiterates-up-to-10-2026-revenue-growth/?utm_source=openai" }, { "type": "url_citation", - "end_index": 2047, - "start_index": 1875, - "title": "Moderna shares surge after it says its experimental mRNA cancer treatment passed a key test", - "url": "https://apnews.com/article/2330dce708b0af215b68570b19d025df?utm_source=openai" + "end_index": 2247, + "start_index": 2110, + "title": "Moderna says skin cancer vaccine trial a success", + "url": "https://theweek.com/health/moderna-says-skin-cancer-vaccine-success?utm_source=openai" }, { "type": "url_citation", - "end_index": 2253, - "start_index": 2085, + "end_index": 2452, + "start_index": 2284, "title": "FDA approves first mRNA vaccine for seasonal flu", "url": "https://www.livescience.com/health/medicine-drugs/fda-approves-first-mrna-vaccine-for-seasonal-flu?utm_source=openai" }, { "type": "url_citation", - "end_index": 2454, - "start_index": 2290, + "end_index": 2653, + "start_index": 2489, "title": "New kind of flu shot is on the way as the FDA approves Moderna's mRNA-based vaccine", "url": "https://apnews.com/article/59d991a6bf70c26e2f0c210cc8ca87f1?utm_source=openai" } ], "logprobs": [], - "text": "Moderna has recently achieved significant milestones in its mRNA-based therapies:\n\n**1. mRNA-Based Cancer Vaccine Success**\n\nModerna, in collaboration with Merck, announced promising results from a late-stage clinical trial of their personalized mRNA cancer vaccine, intismeran. Tested alongside Merck's immunotherapy drug Keytruda in over 1,100 melanoma patients, the combination therapy significantly reduced the recurrence and spread of high-risk skin cancer post-surgery. This breakthrough led to a substantial increase in Moderna's stock value. ([apnews.com](https://apnews.com/article/2330dce708b0af215b68570b19d025df?utm_source=openai))\n\n**2. FDA Approval of mRNA Flu Vaccine**\n\nThe U.S. Food and Drug Administration (FDA) approved Moderna's mRNA-based seasonal flu vaccine, mFlusiva, for adults aged 50 and older. This marks the first mRNA flu vaccine to receive FDA approval, offering a more adaptable response to flu virus mutations. The approval followed a unanimous advisory committee vote, despite initial regulatory challenges. ([apnews.com](https://apnews.com/article/59d991a6bf70c26e2f0c210cc8ca87f1?utm_source=openai))\n\n**3. Financial Performance**\n\nIn the second quarter of 2026, Moderna reported total revenue of $145 million and a GAAP net loss of $782 million. The company reiterated plans to achieve up to 10% revenue growth for the year, highlighting upcoming regulatory milestones and ongoing late-stage program readouts. ([tradingview.com](https://www.tradingview.com/news/tradingview%3A51f64edf05d88%3A0-moderna-reports-q2-2026-revenue-145m-gaap-net-loss-0-8b-and-reiterates-up-to-10-2026-revenue-growth/?utm_source=openai))\n\nThese developments underscore Moderna's ongoing efforts to expand the applications of its mRNA technology beyond COVID-19 vaccines, focusing on personalized cancer treatments and seasonal flu prevention.\n\n\n## Highlights:\n- [Moderna shares surge after it says its experimental mRNA cancer treatment passed a key test](https://apnews.com/article/2330dce708b0af215b68570b19d025df?utm_source=openai), Published on Wednesday, August 19\n- [FDA approves first mRNA vaccine for seasonal flu](https://www.livescience.com/health/medicine-drugs/fda-approves-first-mrna-vaccine-for-seasonal-flu?utm_source=openai), Published on Thursday, August 06\n- [New kind of flu shot is on the way as the FDA approves Moderna's mRNA-based vaccine](https://apnews.com/article/59d991a6bf70c26e2f0c210cc8ca87f1?utm_source=openai), Published on Thursday, August 06 " + "text": "Moderna has recently achieved significant milestones in both oncology and infectious disease treatments:\n\n**Advancements in Cancer Treatment**\n\nModerna, in collaboration with Merck, announced promising results from a late-stage clinical trial of their personalized mRNA-based cancer vaccine, intismeran. This vaccine, combined with Merck's immunotherapy drug Keytruda, significantly reduced the recurrence and spread of high-risk melanoma in patients who had undergone surgery. This marks the first successful late-stage trial of a personalized mRNA cancer therapy, potentially opening new avenues for treating melanoma and other cancers. ([theweek.com](https://theweek.com/health/moderna-says-skin-cancer-vaccine-success?utm_source=openai))\n\n**Approval of mRNA Flu Vaccine**\n\nThe U.S. Food and Drug Administration (FDA) approved Moderna's mRNA-based seasonal flu vaccine, mFlusiva (mRNA-1010), for individuals aged 50 and older. This vaccine utilizes the same mRNA technology as Moderna's COVID-19 vaccine, offering a faster production process and better adaptability to circulating flu strains. Clinical trials demonstrated that mFlusiva was 26.6% more effective in preventing flu than standard vaccines, particularly in those aged 65 and older. ([livescience.com](https://www.livescience.com/health/medicine-drugs/fda-approves-first-mrna-vaccine-for-seasonal-flu?utm_source=openai))\n\n**Financial Performance**\n\nIn the second quarter of 2026, Moderna reported total revenue of $145 million and a GAAP net loss of $782 million. Despite the loss, the company reiterated its plan to achieve up to 10% revenue growth for the year and projected year-end cash and investments between $4.7 and $5.2 billion. ([tradingview.com](https://www.tradingview.com/news/tradingview%3A51f64edf05d88%3A0-moderna-reports-q2-2026-revenue-145m-gaap-net-loss-0-8b-and-reiterates-up-to-10-2026-revenue-growth/?utm_source=openai))\n\nThese developments underscore Moderna's ongoing efforts to expand its mRNA technology applications beyond COVID-19, focusing on personalized cancer treatments and seasonal vaccines.\n\n\n## Highlights:\n- [Moderna says skin cancer vaccine trial a success](https://theweek.com/health/moderna-says-skin-cancer-vaccine-success?utm_source=openai), Published on Thursday, August 20\n- [FDA approves first mRNA vaccine for seasonal flu](https://www.livescience.com/health/medicine-drugs/fda-approves-first-mrna-vaccine-for-seasonal-flu?utm_source=openai), Published on Thursday, August 06\n- [New kind of flu shot is on the way as the FDA approves Moderna's mRNA-based vaccine](https://apnews.com/article/59d991a6bf70c26e2f0c210cc8ca87f1?utm_source=openai), Published on Thursday, August 06 " } ], "role": "assistant" @@ -193,11 +193,11 @@ "cache_write_tokens": 0, "cached_tokens": 0 }, - "output_tokens": 630, + "output_tokens": 650, "output_tokens_details": { "reasoning_tokens": 0 }, - "total_tokens": 1008 + "total_tokens": 1028 }, "user": null, "metadata": {} diff --git a/test-harness/src/testFixtures/resources/cassettes/openai/__files/responses-31d9a6eee624.txt b/test-harness/src/testFixtures/resources/cassettes/openai/__files/responses-31d9a6eee624.txt index 84aff527..713396de 100644 --- a/test-harness/src/testFixtures/resources/cassettes/openai/__files/responses-31d9a6eee624.txt +++ b/test-harness/src/testFixtures/resources/cassettes/openai/__files/responses-31d9a6eee624.txt @@ -1,315 +1,912 @@ event: response.created -data: {"type":"response.created","response":{"id":"resp_0dddc08e04ed0eef006a7fc272fa6c819a97e0ce827ab581a3","object":"response","created_at":1786757747,"status":"in_progress","background":false,"completed_at":null,"error":null,"frequency_penalty":0.0,"incomplete_details":null,"instructions":null,"max_output_tokens":null,"max_tool_calls":null,"model":"gpt-4o-2024-08-06","moderation":null,"output":[],"parallel_tool_calls":true,"presence_penalty":0.0,"previous_response_id":null,"prompt_cache_key":null,"prompt_cache_retention":"in_memory","reasoning":{"context":null,"effort":null,"summary":null},"safety_identifier":null,"service_tier":"auto","store":true,"temperature":1.0,"text":{"format":{"type":"text"},"verbosity":"medium"},"tool_choice":"auto","tool_usage":{"image_gen":{"input_tokens":0,"input_tokens_details":{"image_tokens":0,"text_tokens":0},"output_tokens":0,"output_tokens_details":{"image_tokens":0,"text_tokens":0},"total_tokens":0},"web_search":{"num_requests":0}},"tools":[{"type":"web_search_preview","search_content_types":["text"],"search_context_size":"medium","user_location":{"type":"approximate","city":null,"country":"US","region":null,"timezone":null}}],"top_logprobs":0,"top_p":1.0,"truncation":"disabled","usage":null,"user":null,"metadata":{}},"sequence_number":0} +data: {"type":"response.created","response":{"id":"resp_0187444db4e8b9d0006a95bcd430d087d0aed5e425af65ccf2","object":"response","created_at":1788198101,"status":"in_progress","background":false,"completed_at":null,"error":null,"frequency_penalty":0.0,"incomplete_details":null,"instructions":null,"max_output_tokens":null,"max_tool_calls":null,"model":"gpt-4o-2024-08-06","moderation":null,"output":[],"parallel_tool_calls":true,"presence_penalty":0.0,"previous_response_id":null,"prompt_cache_key":null,"prompt_cache_retention":"in_memory","reasoning":{"context":null,"effort":null,"summary":null},"safety_identifier":null,"service_tier":"auto","store":true,"temperature":1.0,"text":{"format":{"type":"text"},"verbosity":"medium"},"tool_choice":"auto","tool_usage":{"image_gen":{"input_tokens":0,"input_tokens_details":{"image_tokens":0,"text_tokens":0},"output_tokens":0,"output_tokens_details":{"image_tokens":0,"text_tokens":0},"total_tokens":0},"web_search":{"num_requests":0}},"tools":[{"type":"web_search_preview","search_content_types":["text"],"search_context_size":"medium","user_location":{"type":"approximate","city":null,"country":"US","region":null,"timezone":null}}],"top_logprobs":0,"top_p":1.0,"truncation":"disabled","usage":null,"user":null,"metadata":{}},"sequence_number":0} event: response.in_progress -data: {"type":"response.in_progress","response":{"id":"resp_0dddc08e04ed0eef006a7fc272fa6c819a97e0ce827ab581a3","object":"response","created_at":1786757747,"status":"in_progress","background":false,"completed_at":null,"error":null,"frequency_penalty":0.0,"incomplete_details":null,"instructions":null,"max_output_tokens":null,"max_tool_calls":null,"model":"gpt-4o-2024-08-06","moderation":null,"output":[],"parallel_tool_calls":true,"presence_penalty":0.0,"previous_response_id":null,"prompt_cache_key":null,"prompt_cache_retention":"in_memory","reasoning":{"context":null,"effort":null,"summary":null},"safety_identifier":null,"service_tier":"auto","store":true,"temperature":1.0,"text":{"format":{"type":"text"},"verbosity":"medium"},"tool_choice":"auto","tool_usage":{"image_gen":{"input_tokens":0,"input_tokens_details":{"image_tokens":0,"text_tokens":0},"output_tokens":0,"output_tokens_details":{"image_tokens":0,"text_tokens":0},"total_tokens":0},"web_search":{"num_requests":0}},"tools":[{"type":"web_search_preview","search_content_types":["text"],"search_context_size":"medium","user_location":{"type":"approximate","city":null,"country":"US","region":null,"timezone":null}}],"top_logprobs":0,"top_p":1.0,"truncation":"disabled","usage":null,"user":null,"metadata":{}},"sequence_number":1} +data: {"type":"response.in_progress","response":{"id":"resp_0187444db4e8b9d0006a95bcd430d087d0aed5e425af65ccf2","object":"response","created_at":1788198101,"status":"in_progress","background":false,"completed_at":null,"error":null,"frequency_penalty":0.0,"incomplete_details":null,"instructions":null,"max_output_tokens":null,"max_tool_calls":null,"model":"gpt-4o-2024-08-06","moderation":null,"output":[],"parallel_tool_calls":true,"presence_penalty":0.0,"previous_response_id":null,"prompt_cache_key":null,"prompt_cache_retention":"in_memory","reasoning":{"context":null,"effort":null,"summary":null},"safety_identifier":null,"service_tier":"auto","store":true,"temperature":1.0,"text":{"format":{"type":"text"},"verbosity":"medium"},"tool_choice":"auto","tool_usage":{"image_gen":{"input_tokens":0,"input_tokens_details":{"image_tokens":0,"text_tokens":0},"output_tokens":0,"output_tokens_details":{"image_tokens":0,"text_tokens":0},"total_tokens":0},"web_search":{"num_requests":0}},"tools":[{"type":"web_search_preview","search_content_types":["text"],"search_context_size":"medium","user_location":{"type":"approximate","city":null,"country":"US","region":null,"timezone":null}}],"top_logprobs":0,"top_p":1.0,"truncation":"disabled","usage":null,"user":null,"metadata":{}},"sequence_number":1} event: response.output_item.added -data: {"type":"response.output_item.added","item":{"id":"ws_0dddc08e04ed0eef006a7fc276c298819a835576df99f28ffb","type":"web_search_call","status":"in_progress","action":{"type":"search"}},"output_index":0,"sequence_number":2} +data: {"type":"response.output_item.added","item":{"id":"ws_0187444db4e8b9d0006a95bcd7998087d09acb0c349ecd33f6","type":"web_search_call","status":"in_progress","action":{"type":"search"}},"output_index":0,"sequence_number":2} event: response.web_search_call.in_progress -data: {"type":"response.web_search_call.in_progress","item_id":"ws_0dddc08e04ed0eef006a7fc276c298819a835576df99f28ffb","output_index":0,"sequence_number":3} +data: {"type":"response.web_search_call.in_progress","item_id":"ws_0187444db4e8b9d0006a95bcd7998087d09acb0c349ecd33f6","output_index":0,"sequence_number":3} event: response.web_search_call.searching -data: {"type":"response.web_search_call.searching","item_id":"ws_0dddc08e04ed0eef006a7fc276c298819a835576df99f28ffb","output_index":0,"sequence_number":4} +data: {"type":"response.web_search_call.searching","item_id":"ws_0187444db4e8b9d0006a95bcd7998087d09acb0c349ecd33f6","output_index":0,"sequence_number":4} event: response.web_search_call.completed -data: {"type":"response.web_search_call.completed","item_id":"ws_0dddc08e04ed0eef006a7fc276c298819a835576df99f28ffb","output_index":0,"sequence_number":5} +data: {"type":"response.web_search_call.completed","item_id":"ws_0187444db4e8b9d0006a95bcd7998087d09acb0c349ecd33f6","output_index":0,"sequence_number":5} event: response.output_item.done -data: {"type":"response.output_item.done","item":{"id":"ws_0dddc08e04ed0eef006a7fc276c298819a835576df99f28ffb","type":"web_search_call","status":"completed","action":{"type":"search","queries":["recent headline about artificial intelligence"],"query":"recent headline about artificial intelligence"}},"output_index":0,"sequence_number":6} +data: {"type":"response.output_item.done","item":{"id":"ws_0187444db4e8b9d0006a95bcd7998087d09acb0c349ecd33f6","type":"web_search_call","status":"completed","action":{"type":"search","queries":["recent headlines about artificial intelligence"],"query":"recent headlines about artificial intelligence"}},"output_index":0,"sequence_number":6} event: response.output_item.added -data: {"type":"response.output_item.added","item":{"id":"msg_0dddc08e04ed0eef006a7fc277c2d0819aa2b460e1b35c087b","type":"message","status":"in_progress","content":[],"role":"assistant"},"output_index":1,"sequence_number":7} +data: {"type":"response.output_item.added","item":{"id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","type":"message","status":"in_progress","content":[],"role":"assistant"},"output_index":1,"sequence_number":7} event: response.content_part.added -data: {"type":"response.content_part.added","content_index":0,"item_id":"msg_0dddc08e04ed0eef006a7fc277c2d0819aa2b460e1b35c087b","output_index":1,"part":{"type":"output_text","annotations":[],"logprobs":[],"text":""},"sequence_number":8} +data: {"type":"response.content_part.added","content_index":0,"item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","output_index":1,"part":{"type":"output_text","annotations":[],"logprobs":[],"text":""},"sequence_number":8} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":"As","item_id":"msg_0dddc08e04ed0eef006a7fc277c2d0819aa2b460e1b35c087b","logprobs":[],"obfuscation":"p4iQfM4F2I53x1","output_index":1,"sequence_number":9} +data: {"type":"response.output_text.delta","content_index":0,"delta":"One","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"nMSUTWdX4eI8l","output_index":1,"sequence_number":9} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" of","item_id":"msg_0dddc08e04ed0eef006a7fc277c2d0819aa2b460e1b35c087b","logprobs":[],"obfuscation":"GyPNTZe5a7NDH","output_index":1,"sequence_number":10} +data: {"type":"response.output_text.delta","content_index":0,"delta":" recent","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"1RKdHa2SF","output_index":1,"sequence_number":10} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" August","item_id":"msg_0dddc08e04ed0eef006a7fc277c2d0819aa2b460e1b35c087b","logprobs":[],"obfuscation":"XrzRFgSSO","output_index":1,"sequence_number":11} +data: {"type":"response.output_text.delta","content_index":0,"delta":" headline","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"cvWTZLG","output_index":1,"sequence_number":11} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" ","item_id":"msg_0dddc08e04ed0eef006a7fc277c2d0819aa2b460e1b35c087b","logprobs":[],"obfuscation":"kIqSanYCBDRc86O","output_index":1,"sequence_number":12} +data: {"type":"response.output_text.delta","content_index":0,"delta":" about","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"tlbFZxjWzP","output_index":1,"sequence_number":12} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":"202","item_id":"msg_0dddc08e04ed0eef006a7fc277c2d0819aa2b460e1b35c087b","logprobs":[],"obfuscation":"Ay77x92qZGltt","output_index":1,"sequence_number":13} +data: {"type":"response.output_text.delta","content_index":0,"delta":" artificial","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"7gEW9","output_index":1,"sequence_number":13} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":"6","item_id":"msg_0dddc08e04ed0eef006a7fc277c2d0819aa2b460e1b35c087b","logprobs":[],"obfuscation":"8pvLFQgfF0H9Xld","output_index":1,"sequence_number":14} +data: {"type":"response.output_text.delta","content_index":0,"delta":" intelligence","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"ENv","output_index":1,"sequence_number":14} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":",","item_id":"msg_0dddc08e04ed0eef006a7fc277c2d0819aa2b460e1b35c087b","logprobs":[],"obfuscation":"0YOyEccpeB120pF","output_index":1,"sequence_number":15} +data: {"type":"response.output_text.delta","content_index":0,"delta":" is","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"Jh506D9HVM4if","output_index":1,"sequence_number":15} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" a","item_id":"msg_0dddc08e04ed0eef006a7fc277c2d0819aa2b460e1b35c087b","logprobs":[],"obfuscation":"2HcykqUAcpiNuh","output_index":1,"sequence_number":16} +data: {"type":"response.output_text.delta","content_index":0,"delta":":","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"kGE9yVLRSR29Cum","output_index":1,"sequence_number":16} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" notable","item_id":"msg_0dddc08e04ed0eef006a7fc277c2d0819aa2b460e1b35c087b","logprobs":[],"obfuscation":"utTGr5al","output_index":1,"sequence_number":17} +data: {"type":"response.output_text.delta","content_index":0,"delta":"\n","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"LIG34TNQ5NVqzf4","output_index":1,"sequence_number":17} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" development","item_id":"msg_0dddc08e04ed0eef006a7fc277c2d0819aa2b460e1b35c087b","logprobs":[],"obfuscation":"qb3V","output_index":1,"sequence_number":18} +data: {"type":"response.output_text.delta","content_index":0,"delta":"\n**","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"oErvzbfW71l5u","output_index":1,"sequence_number":18} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" in","item_id":"msg_0dddc08e04ed0eef006a7fc277c2d0819aa2b460e1b35c087b","logprobs":[],"obfuscation":"C1I5IgBCS9t5V","output_index":1,"sequence_number":19} +data: {"type":"response.output_text.delta","content_index":0,"delta":"\"","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"MrH0UkXuTMpzj3h","output_index":1,"sequence_number":19} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" artificial","item_id":"msg_0dddc08e04ed0eef006a7fc277c2d0819aa2b460e1b35c087b","logprobs":[],"obfuscation":"aucNp","output_index":1,"sequence_number":20} +data: {"type":"response.output_text.delta","content_index":0,"delta":"AWS","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"KTo68W56ufOZ6","output_index":1,"sequence_number":20} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" intelligence","item_id":"msg_0dddc08e04ed0eef006a7fc277c2d0819aa2b460e1b35c087b","logprobs":[],"obfuscation":"ZBe","output_index":1,"sequence_number":21} +data: {"type":"response.output_text.delta","content_index":0,"delta":" is","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"GoArlKA1WjDEu","output_index":1,"sequence_number":21} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" is","item_id":"msg_0dddc08e04ed0eef006a7fc277c2d0819aa2b460e1b35c087b","logprobs":[],"obfuscation":"kYcbIbwDnwN9x","output_index":1,"sequence_number":22} +data: {"type":"response.output_text.delta","content_index":0,"delta":" shutting","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"uiL9phk","output_index":1,"sequence_number":22} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" the","item_id":"msg_0dddc08e04ed0eef006a7fc277c2d0819aa2b460e1b35c087b","logprobs":[],"obfuscation":"MLFzNkDDOSdv","output_index":1,"sequence_number":23} +data: {"type":"response.output_text.delta","content_index":0,"delta":" down","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"YFz5L2vsgPD","output_index":1,"sequence_number":23} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" release","item_id":"msg_0dddc08e04ed0eef006a7fc277c2d0819aa2b460e1b35c087b","logprobs":[],"obfuscation":"78OGYLoC","output_index":1,"sequence_number":24} +data: {"type":"response.output_text.delta","content_index":0,"delta":" Mechanical","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"M8KPM","output_index":1,"sequence_number":24} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" of","item_id":"msg_0dddc08e04ed0eef006a7fc277c2d0819aa2b460e1b35c087b","logprobs":[],"obfuscation":"OgYLbuaqsHcF9","output_index":1,"sequence_number":25} +data: {"type":"response.output_text.delta","content_index":0,"delta":" Turk","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"K7X7mChTfCD","output_index":1,"sequence_number":25} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" Open","item_id":"msg_0dddc08e04ed0eef006a7fc277c2d0819aa2b460e1b35c087b","logprobs":[],"obfuscation":"rilvox8JPb8","output_index":1,"sequence_number":26} +data: {"type":"response.output_text.delta","content_index":0,"delta":",","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"kHeso7Ls7Q4CId5","output_index":1,"sequence_number":26} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":"AI","item_id":"msg_0dddc08e04ed0eef006a7fc277c2d0819aa2b460e1b35c087b","logprobs":[],"obfuscation":"oPxb5svp4sAeyw","output_index":1,"sequence_number":27} +data: {"type":"response.output_text.delta","content_index":0,"delta":" which","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"blPTJlqdir","output_index":1,"sequence_number":27} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":"'s","item_id":"msg_0dddc08e04ed0eef006a7fc277c2d0819aa2b460e1b35c087b","logprobs":[],"obfuscation":"ZnF5O64CEgwAiq","output_index":1,"sequence_number":28} +data: {"type":"response.output_text.delta","content_index":0,"delta":" let","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"rsky9XXtGF92","output_index":1,"sequence_number":28} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" GPT","item_id":"msg_0dddc08e04ed0eef006a7fc277c2d0819aa2b460e1b35c087b","logprobs":[],"obfuscation":"8MRKcz8iCYR6","output_index":1,"sequence_number":29} +data: {"type":"response.output_text.delta","content_index":0,"delta":" humans","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"Lm8LiE5Ky","output_index":1,"sequence_number":29} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":"-","item_id":"msg_0dddc08e04ed0eef006a7fc277c2d0819aa2b460e1b35c087b","logprobs":[],"obfuscation":"MXIpsXsT4GIRXQJ","output_index":1,"sequence_number":30} +data: {"type":"response.output_text.delta","content_index":0,"delta":" beat","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"3j30NbUCSfE","output_index":1,"sequence_number":30} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":"5","item_id":"msg_0dddc08e04ed0eef006a7fc277c2d0819aa2b460e1b35c087b","logprobs":[],"obfuscation":"ak22ZoyUw4v3sFk","output_index":1,"sequence_number":31} +data: {"type":"response.output_text.delta","content_index":0,"delta":" AI","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"xsWMvDXcwbXBl","output_index":1,"sequence_number":31} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" on","item_id":"msg_0dddc08e04ed0eef006a7fc277c2d0819aa2b460e1b35c087b","logprobs":[],"obfuscation":"rEyPABRrS0A4z","output_index":1,"sequence_number":32} +data: {"type":"response.output_text.delta","content_index":0,"delta":" at","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"P0ZtRs6syfTTK","output_index":1,"sequence_number":32} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" August","item_id":"msg_0dddc08e04ed0eef006a7fc277c2d0819aa2b460e1b35c087b","logprobs":[],"obfuscation":"mUezIJydq","output_index":1,"sequence_number":33} +data: {"type":"response.output_text.delta","content_index":0,"delta":" certain","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"YCAKcuNL","output_index":1,"sequence_number":33} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" ","item_id":"msg_0dddc08e04ed0eef006a7fc277c2d0819aa2b460e1b35c087b","logprobs":[],"obfuscation":"PTEWWbc7Ngnq8N2","output_index":1,"sequence_number":34} +data: {"type":"response.output_text.delta","content_index":0,"delta":" work","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"jBoYevzwviZ","output_index":1,"sequence_number":34} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":"8","item_id":"msg_0dddc08e04ed0eef006a7fc277c2d0819aa2b460e1b35c087b","logprobs":[],"obfuscation":"bc5nrccDmFZ8Wcw","output_index":1,"sequence_number":35} +data: {"type":"response.output_text.delta","content_index":0,"delta":" tasks","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"UGLcX2WZmD","output_index":1,"sequence_number":35} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":",","item_id":"msg_0dddc08e04ed0eef006a7fc277c2d0819aa2b460e1b35c087b","logprobs":[],"obfuscation":"gtdq2ureC8QOvBu","output_index":1,"sequence_number":36} +data: {"type":"response.output_text.delta","content_index":0,"delta":"\"","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"Hg9wHmVbofLepDO","output_index":1,"sequence_number":36} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" ","item_id":"msg_0dddc08e04ed0eef006a7fc277c2d0819aa2b460e1b35c087b","logprobs":[],"obfuscation":"OS5yEdaf17bmJpS","output_index":1,"sequence_number":37} +data: {"type":"response.output_text.delta","content_index":0,"delta":"**\n","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"JbMefxnPRVpK9","output_index":1,"sequence_number":37} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":"202","item_id":"msg_0dddc08e04ed0eef006a7fc277c2d0819aa2b460e1b35c087b","logprobs":[],"obfuscation":"naDma9Mcp85aA","output_index":1,"sequence_number":38} +data: {"type":"response.output_text.delta","content_index":0,"delta":"\n","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"lnTCjl5urKIED1s","output_index":1,"sequence_number":38} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":"5","item_id":"msg_0dddc08e04ed0eef006a7fc277c2d0819aa2b460e1b35c087b","logprobs":[],"obfuscation":"LXbhAMN4O1myfQV","output_index":1,"sequence_number":39} +data: {"type":"response.output_text.delta","content_index":0,"delta":"Amazon","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"XDaI954k3l","output_index":1,"sequence_number":39} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":".","item_id":"msg_0dddc08e04ed0eef006a7fc277c2d0819aa2b460e1b35c087b","logprobs":[],"obfuscation":"N0nfKYosZKT2mZ0","output_index":1,"sequence_number":40} +data: {"type":"response.output_text.delta","content_index":0,"delta":" has","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"RnKJrqkRSwu7","output_index":1,"sequence_number":40} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" ","item_id":"msg_0dddc08e04ed0eef006a7fc277c2d0819aa2b460e1b35c087b","logprobs":[],"obfuscation":"zcO9rPzUeRuFLwG","output_index":1,"sequence_number":41} +data: {"type":"response.output_text.delta","content_index":0,"delta":" announced","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"jO1HJy","output_index":1,"sequence_number":41} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":"According","item_id":"msg_0dddc08e04ed0eef006a7fc277c2d0819aa2b460e1b35c087b","logprobs":[],"obfuscation":"zkPnirZ","output_index":1,"sequence_number":42} +data: {"type":"response.output_text.delta","content_index":0,"delta":" it","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"vPU05KEURQTG3","output_index":1,"sequence_number":42} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" to","item_id":"msg_0dddc08e04ed0eef006a7fc277c2d0819aa2b460e1b35c087b","logprobs":[],"obfuscation":"ctaPSl5v0AOgW","output_index":1,"sequence_number":43} +data: {"type":"response.output_text.delta","content_index":0,"delta":" will","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"ookgl2tkpPe","output_index":1,"sequence_number":43} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" Open","item_id":"msg_0dddc08e04ed0eef006a7fc277c2d0819aa2b460e1b35c087b","logprobs":[],"obfuscation":"WVWyk93tP0y","output_index":1,"sequence_number":44} +data: {"type":"response.output_text.delta","content_index":0,"delta":" shut","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"e2juKUobvcY","output_index":1,"sequence_number":44} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":"AI","item_id":"msg_0dddc08e04ed0eef006a7fc277c2d0819aa2b460e1b35c087b","logprobs":[],"obfuscation":"bGJMHk3w8ne2fp","output_index":1,"sequence_number":45} +data: {"type":"response.output_text.delta","content_index":0,"delta":" down","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"bFCh9vwXhts","output_index":1,"sequence_number":45} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" CEO","item_id":"msg_0dddc08e04ed0eef006a7fc277c2d0819aa2b460e1b35c087b","logprobs":[],"obfuscation":"kNRuFNc0NTzo","output_index":1,"sequence_number":46} +data: {"type":"response.output_text.delta","content_index":0,"delta":" its","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"3zN026FqeBQA","output_index":1,"sequence_number":46} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" Sam","item_id":"msg_0dddc08e04ed0eef006a7fc277c2d0819aa2b460e1b35c087b","logprobs":[],"obfuscation":"vFtK7W3csUkK","output_index":1,"sequence_number":47} +data: {"type":"response.output_text.delta","content_index":0,"delta":" Mechanical","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"mrGSZ","output_index":1,"sequence_number":47} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" Alt","item_id":"msg_0dddc08e04ed0eef006a7fc277c2d0819aa2b460e1b35c087b","logprobs":[],"obfuscation":"lpn7nr7nstC9","output_index":1,"sequence_number":48} +data: {"type":"response.output_text.delta","content_index":0,"delta":" Turk","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"hnHtXklBjR8","output_index":1,"sequence_number":48} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":"man","item_id":"msg_0dddc08e04ed0eef006a7fc277c2d0819aa2b460e1b35c087b","logprobs":[],"obfuscation":"FruMXyLIaSeys","output_index":1,"sequence_number":49} +data: {"type":"response.output_text.delta","content_index":0,"delta":" (","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"JyX6pyFgx4dmf7","output_index":1,"sequence_number":49} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":",","item_id":"msg_0dddc08e04ed0eef006a7fc277c2d0819aa2b460e1b35c087b","logprobs":[],"obfuscation":"fPIakSosAHxeCz5","output_index":1,"sequence_number":50} +data: {"type":"response.output_text.delta","content_index":0,"delta":"MT","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"uXbexgwGJrjw5y","output_index":1,"sequence_number":50} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" GPT","item_id":"msg_0dddc08e04ed0eef006a7fc277c2d0819aa2b460e1b35c087b","logprobs":[],"obfuscation":"keAIx3PgsfZE","output_index":1,"sequence_number":51} +data: {"type":"response.output_text.delta","content_index":0,"delta":"urk","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"oydXoI6TtUf4z","output_index":1,"sequence_number":51} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":"-","item_id":"msg_0dddc08e04ed0eef006a7fc277c2d0819aa2b460e1b35c087b","logprobs":[],"obfuscation":"J6CTvqT4orCKpca","output_index":1,"sequence_number":52} +data: {"type":"response.output_text.delta","content_index":0,"delta":")","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"xW47YyHIvL1t8pI","output_index":1,"sequence_number":52} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":"5","item_id":"msg_0dddc08e04ed0eef006a7fc277c2d0819aa2b460e1b35c087b","logprobs":[],"obfuscation":"ekNf9KB0d4mGeju","output_index":1,"sequence_number":53} +data: {"type":"response.output_text.delta","content_index":0,"delta":" platform","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"8ePiOnd","output_index":1,"sequence_number":53} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" is","item_id":"msg_0dddc08e04ed0eef006a7fc277c2d0819aa2b460e1b35c087b","logprobs":[],"obfuscation":"AWq3Ybj63KKK1","output_index":1,"sequence_number":54} +data: {"type":"response.output_text.delta","content_index":0,"delta":" on","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"BVxuwbYyfnhDj","output_index":1,"sequence_number":54} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" designed","item_id":"msg_0dddc08e04ed0eef006a7fc277c2d0819aa2b460e1b35c087b","logprobs":[],"obfuscation":"6LMw6f3","output_index":1,"sequence_number":55} +data: {"type":"response.output_text.delta","content_index":0,"delta":" September","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"uMum8y","output_index":1,"sequence_number":55} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" to","item_id":"msg_0dddc08e04ed0eef006a7fc277c2d0819aa2b460e1b35c087b","logprobs":[],"obfuscation":"tw9KPbMWmOG0m","output_index":1,"sequence_number":56} +data: {"type":"response.output_text.delta","content_index":0,"delta":" ","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"RnxGLig2baSB1lV","output_index":1,"sequence_number":56} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" provide","item_id":"msg_0dddc08e04ed0eef006a7fc277c2d0819aa2b460e1b35c087b","logprobs":[],"obfuscation":"hmO3iq4M","output_index":1,"sequence_number":57} +data: {"type":"response.output_text.delta","content_index":0,"delta":"30","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"TymtzasA1KFx5q","output_index":1,"sequence_number":57} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" Ph","item_id":"msg_0dddc08e04ed0eef006a7fc277c2d0819aa2b460e1b35c087b","logprobs":[],"obfuscation":"puGg2CqytCgzE","output_index":1,"sequence_number":58} +data: {"type":"response.output_text.delta","content_index":0,"delta":",","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"ByhGTN6Bq4jlvvQ","output_index":1,"sequence_number":58} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":"D","item_id":"msg_0dddc08e04ed0eef006a7fc277c2d0819aa2b460e1b35c087b","logprobs":[],"obfuscation":"azbfYCVSjwgmPpk","output_index":1,"sequence_number":59} +data: {"type":"response.output_text.delta","content_index":0,"delta":" ","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"T82oZDK69fM7oaP","output_index":1,"sequence_number":59} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":"-level","item_id":"msg_0dddc08e04ed0eef006a7fc277c2d0819aa2b460e1b35c087b","logprobs":[],"obfuscation":"BBPquq7N8W","output_index":1,"sequence_number":60} +data: {"type":"response.output_text.delta","content_index":0,"delta":"202","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"0u1JswJnqxz51","output_index":1,"sequence_number":60} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" expertise","item_id":"msg_0dddc08e04ed0eef006a7fc277c2d0819aa2b460e1b35c087b","logprobs":[],"obfuscation":"4Dm0QN","output_index":1,"sequence_number":61} +data: {"type":"response.output_text.delta","content_index":0,"delta":"6","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"3J2aCsUF6Fdgcdn","output_index":1,"sequence_number":61} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":".","item_id":"msg_0dddc08e04ed0eef006a7fc277c2d0819aa2b460e1b35c087b","logprobs":[],"obfuscation":"cgRkWV85SovW3AI","output_index":1,"sequence_number":62} +data: {"type":"response.output_text.delta","content_index":0,"delta":".","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"kHdwJ7yhwC44R82","output_index":1,"sequence_number":62} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" ","item_id":"msg_0dddc08e04ed0eef006a7fc277c2d0819aa2b460e1b35c087b","logprobs":[],"obfuscation":"B0pppZVMmoKT8LK","output_index":1,"sequence_number":63} +data: {"type":"response.output_text.delta","content_index":0,"delta":" ","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"f62hs4xArhWgV80","output_index":1,"sequence_number":63} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":"However","item_id":"msg_0dddc08e04ed0eef006a7fc277c2d0819aa2b460e1b35c087b","logprobs":[],"obfuscation":"7GJm1DJlo","output_index":1,"sequence_number":64} +data: {"type":"response.output_text.delta","content_index":0,"delta":"La","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"mQtFbE5qEj2Uic","output_index":1,"sequence_number":64} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":",","item_id":"msg_0dddc08e04ed0eef006a7fc277c2d0819aa2b460e1b35c087b","logprobs":[],"obfuscation":"IiaNduaCAgHdPp9","output_index":1,"sequence_number":65} +data: {"type":"response.output_text.delta","content_index":0,"delta":"unched","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"6HB45JzHsT","output_index":1,"sequence_number":65} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" it","item_id":"msg_0dddc08e04ed0eef006a7fc277c2d0819aa2b460e1b35c087b","logprobs":[],"obfuscation":"yWhjIFhnjVOkf","output_index":1,"sequence_number":66} +data: {"type":"response.output_text.delta","content_index":0,"delta":" in","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"9QHnfr9YIqVmp","output_index":1,"sequence_number":66} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" has","item_id":"msg_0dddc08e04ed0eef006a7fc277c2d0819aa2b460e1b35c087b","logprobs":[],"obfuscation":"QgFp1oyP81W1","output_index":1,"sequence_number":67} +data: {"type":"response.output_text.delta","content_index":0,"delta":" ","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"KMKO9BgOvFvSVx2","output_index":1,"sequence_number":67} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" faced","item_id":"msg_0dddc08e04ed0eef006a7fc277c2d0819aa2b460e1b35c087b","logprobs":[],"obfuscation":"7EZ47PxKs5","output_index":1,"sequence_number":68} +data: {"type":"response.output_text.delta","content_index":0,"delta":"200","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"wDGMtIuNWTeAd","output_index":1,"sequence_number":68} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" challenges","item_id":"msg_0dddc08e04ed0eef006a7fc277c2d0819aa2b460e1b35c087b","logprobs":[],"obfuscation":"8Xllj","output_index":1,"sequence_number":69} +data: {"type":"response.output_text.delta","content_index":0,"delta":"5","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"M0SRYLyamJnlHfA","output_index":1,"sequence_number":69} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" with","item_id":"msg_0dddc08e04ed0eef006a7fc277c2d0819aa2b460e1b35c087b","logprobs":[],"obfuscation":"CrqQNaFCNfj","output_index":1,"sequence_number":70} +data: {"type":"response.output_text.delta","content_index":0,"delta":",","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"KT43feyPoz6HGjQ","output_index":1,"sequence_number":70} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" basic","item_id":"msg_0dddc08e04ed0eef006a7fc277c2d0819aa2b460e1b35c087b","logprobs":[],"obfuscation":"LbOMS5CH1a","output_index":1,"sequence_number":71} +data: {"type":"response.output_text.delta","content_index":0,"delta":" MT","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"4t49XEGBvAPev","output_index":1,"sequence_number":71} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" tasks","item_id":"msg_0dddc08e04ed0eef006a7fc277c2d0819aa2b460e1b35c087b","logprobs":[],"obfuscation":"eB7svHO6yR","output_index":1,"sequence_number":72} +data: {"type":"response.output_text.delta","content_index":0,"delta":"urk","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"XBhJR3ImvbJaG","output_index":1,"sequence_number":72} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" such","item_id":"msg_0dddc08e04ed0eef006a7fc277c2d0819aa2b460e1b35c087b","logprobs":[],"obfuscation":"NE3WbfpeThM","output_index":1,"sequence_number":73} +data: {"type":"response.output_text.delta","content_index":0,"delta":" enabled","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"QiUjGNao","output_index":1,"sequence_number":73} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" as","item_id":"msg_0dddc08e04ed0eef006a7fc277c2d0819aa2b460e1b35c087b","logprobs":[],"obfuscation":"E48VJwCEHM38W","output_index":1,"sequence_number":74} +data: {"type":"response.output_text.delta","content_index":0,"delta":" companies","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"V6lVbB","output_index":1,"sequence_number":74} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" spelling","item_id":"msg_0dddc08e04ed0eef006a7fc277c2d0819aa2b460e1b35c087b","logprobs":[],"obfuscation":"nhXx9ij","output_index":1,"sequence_number":75} +data: {"type":"response.output_text.delta","content_index":0,"delta":" to","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"jrH13yJVXFLiA","output_index":1,"sequence_number":75} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" and","item_id":"msg_0dddc08e04ed0eef006a7fc277c2d0819aa2b460e1b35c087b","logprobs":[],"obfuscation":"FinC3Ho9uh1A","output_index":1,"sequence_number":76} +data: {"type":"response.output_text.delta","content_index":0,"delta":" outsource","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"BZqZj8","output_index":1,"sequence_number":76} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" geography","item_id":"msg_0dddc08e04ed0eef006a7fc277c2d0819aa2b460e1b35c087b","logprobs":[],"obfuscation":"8MZR2l","output_index":1,"sequence_number":77} +data: {"type":"response.output_text.delta","content_index":0,"delta":" small","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"jbJFJoC8Ri","output_index":1,"sequence_number":77} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":",","item_id":"msg_0dddc08e04ed0eef006a7fc277c2d0819aa2b460e1b35c087b","logprobs":[],"obfuscation":"0V4WYtRZjhh3q1A","output_index":1,"sequence_number":78} +data: {"type":"response.output_text.delta","content_index":0,"delta":",","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"qf2ULBb5TIW1UQx","output_index":1,"sequence_number":78} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" cannot","item_id":"msg_0dddc08e04ed0eef006a7fc277c2d0819aa2b460e1b35c087b","logprobs":[],"obfuscation":"nn8b1DBij","output_index":1,"sequence_number":79} +data: {"type":"response.output_text.delta","content_index":0,"delta":" routine","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"rvc9cGeB","output_index":1,"sequence_number":79} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" continuously","item_id":"msg_0dddc08e04ed0eef006a7fc277c2d0819aa2b460e1b35c087b","logprobs":[],"obfuscation":"OyE","output_index":1,"sequence_number":80} +data: {"type":"response.output_text.delta","content_index":0,"delta":" digital","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"erKgAikd","output_index":1,"sequence_number":80} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" learn","item_id":"msg_0dddc08e04ed0eef006a7fc277c2d0819aa2b460e1b35c087b","logprobs":[],"obfuscation":"LE5Ncno4vq","output_index":1,"sequence_number":81} +data: {"type":"response.output_text.delta","content_index":0,"delta":" tasks","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"d1a6IixWBh","output_index":1,"sequence_number":81} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":",","item_id":"msg_0dddc08e04ed0eef006a7fc277c2d0819aa2b460e1b35c087b","logprobs":[],"obfuscation":"BY9koCdsY5iql2d","output_index":1,"sequence_number":82} +data: {"type":"response.output_text.delta","content_index":0,"delta":" to","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"gp79ury9y7iXY","output_index":1,"sequence_number":82} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" and","item_id":"msg_0dddc08e04ed0eef006a7fc277c2d0819aa2b460e1b35c087b","logprobs":[],"obfuscation":"uSyW4yXmbgRc","output_index":1,"sequence_number":83} +data: {"type":"response.output_text.delta","content_index":0,"delta":" human","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"U04RNWWH5a","output_index":1,"sequence_number":83} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" scores","item_id":"msg_0dddc08e04ed0eef006a7fc277c2d0819aa2b460e1b35c087b","logprobs":[],"obfuscation":"Y9mSdUoUx","output_index":1,"sequence_number":84} +data: {"type":"response.output_text.delta","content_index":0,"delta":" workers","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"f8lTrDHt","output_index":1,"sequence_number":84} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" lower","item_id":"msg_0dddc08e04ed0eef006a7fc277c2d0819aa2b460e1b35c087b","logprobs":[],"obfuscation":"4ZP7WylMAy","output_index":1,"sequence_number":85} +data: {"type":"response.output_text.delta","content_index":0,"delta":",","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"RiPSJOQJJkAS32L","output_index":1,"sequence_number":85} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" than","item_id":"msg_0dddc08e04ed0eef006a7fc277c2d0819aa2b460e1b35c087b","logprobs":[],"obfuscation":"BjOfLgq8Fej","output_index":1,"sequence_number":86} +data: {"type":"response.output_text.delta","content_index":0,"delta":" particularly","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"q2L","output_index":1,"sequence_number":86} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" Gro","item_id":"msg_0dddc08e04ed0eef006a7fc277c2d0819aa2b460e1b35c087b","logprobs":[],"obfuscation":"pCUaWZohC16Y","output_index":1,"sequence_number":87} +data: {"type":"response.output_text.delta","content_index":0,"delta":" those","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"h6l7X2z2pG","output_index":1,"sequence_number":87} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":"k","item_id":"msg_0dddc08e04ed0eef006a7fc277c2d0819aa2b460e1b35c087b","logprobs":[],"obfuscation":"Xz6Ude073ndfoMo","output_index":1,"sequence_number":88} +data: {"type":"response.output_text.delta","content_index":0,"delta":" tasks","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"M3E44Pdqq4","output_index":1,"sequence_number":88} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":"-","item_id":"msg_0dddc08e04ed0eef006a7fc277c2d0819aa2b460e1b35c087b","logprobs":[],"obfuscation":"rZ4c0naVSCLtF8o","output_index":1,"sequence_number":89} +data: {"type":"response.output_text.delta","content_index":0,"delta":" that","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"9ManyQrNVaK","output_index":1,"sequence_number":89} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":"4","item_id":"msg_0dddc08e04ed0eef006a7fc277c2d0819aa2b460e1b35c087b","logprobs":[],"obfuscation":"Tn8ANS6WLtOjDlx","output_index":1,"sequence_number":90} +data: {"type":"response.output_text.delta","content_index":0,"delta":" computers","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"7xd5s0","output_index":1,"sequence_number":90} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" on","item_id":"msg_0dddc08e04ed0eef006a7fc277c2d0819aa2b460e1b35c087b","logprobs":[],"obfuscation":"GX4nftA8B8sFk","output_index":1,"sequence_number":91} +data: {"type":"response.output_text.delta","content_index":0,"delta":" initially","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"E8fPBD","output_index":1,"sequence_number":91} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" Humanity","item_id":"msg_0dddc08e04ed0eef006a7fc277c2d0819aa2b460e1b35c087b","logprobs":[],"obfuscation":"WCsVI0t","output_index":1,"sequence_number":92} +data: {"type":"response.output_text.delta","content_index":0,"delta":" struggled","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"i44jCd","output_index":1,"sequence_number":92} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":"'s","item_id":"msg_0dddc08e04ed0eef006a7fc277c2d0819aa2b460e1b35c087b","logprobs":[],"obfuscation":"jL4nv4KLTUkgf2","output_index":1,"sequence_number":93} +data: {"type":"response.output_text.delta","content_index":0,"delta":" with","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"D2LTVkCO7u0","output_index":1,"sequence_number":93} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" Last","item_id":"msg_0dddc08e04ed0eef006a7fc277c2d0819aa2b460e1b35c087b","logprobs":[],"obfuscation":"4Upt4GZubsA","output_index":1,"sequence_number":94} +data: {"type":"response.output_text.delta","content_index":0,"delta":",","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"R1xsMoa1ajhafZV","output_index":1,"sequence_number":94} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" Exam","item_id":"msg_0dddc08e04ed0eef006a7fc277c2d0819aa2b460e1b35c087b","logprobs":[],"obfuscation":"QbqrzTrVfbx","output_index":1,"sequence_number":95} +data: {"type":"response.output_text.delta","content_index":0,"delta":" such","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"T3mYuHRes1F","output_index":1,"sequence_number":95} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":".","item_id":"msg_0dddc08e04ed0eef006a7fc277c2d0819aa2b460e1b35c087b","logprobs":[],"obfuscation":"2fUWX8SyOBDFGKl","output_index":1,"sequence_number":96} +data: {"type":"response.output_text.delta","content_index":0,"delta":" as","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"Vj7PZsWPQuRDq","output_index":1,"sequence_number":96} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" ","item_id":"msg_0dddc08e04ed0eef006a7fc277c2d0819aa2b460e1b35c087b","logprobs":[],"obfuscation":"fQ1KKp0qBGeu5np","output_index":1,"sequence_number":97} +data: {"type":"response.output_text.delta","content_index":0,"delta":" labeling","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"h0tnItu","output_index":1,"sequence_number":97} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":"([en.wikipedia.org](https://en.wikipedia.org/wiki/2025_in_artificial_intelligence?utm_source=openai))","item_id":"msg_0dddc08e04ed0eef006a7fc277c2d0819aa2b460e1b35c087b","logprobs":[],"obfuscation":"tn0wd1lHZiq","output_index":1,"sequence_number":98} +data: {"type":"response.output_text.delta","content_index":0,"delta":" data","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"USFdjhWAeam","output_index":1,"sequence_number":98} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":",","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"mLETalRdBDg3GjZ","output_index":1,"sequence_number":99} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":" tagging","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"5C7Zwq57","output_index":1,"sequence_number":100} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":" images","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"G7NvBNmrD","output_index":1,"sequence_number":101} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":",","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"4r9gitIsKb84OUX","output_index":1,"sequence_number":102} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":" and","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"DsRrtRJqQWDf","output_index":1,"sequence_number":103} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":" trans","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"hxeE4ZJfse","output_index":1,"sequence_number":104} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":"cribing","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"6EUsE1YdD","output_index":1,"sequence_number":105} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":" audio","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"7sZJvopns8","output_index":1,"sequence_number":106} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":".","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"ay1h9BokAy9ryzN","output_index":1,"sequence_number":107} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":" ","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"1SBhqT11NJyTWzb","output_index":1,"sequence_number":108} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":"At","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"DIewjxO6NmiT3w","output_index":1,"sequence_number":109} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":" its","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"PUxUxZEpJZwk","output_index":1,"sequence_number":110} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":" peak","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"Y1bNsyvN5te","output_index":1,"sequence_number":111} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":",","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"9m6aNFsFt8cR2Mq","output_index":1,"sequence_number":112} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":" the","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"GTW4dYrF5XIb","output_index":1,"sequence_number":113} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":" platform","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"fmFWoD7","output_index":1,"sequence_number":114} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":" connected","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"lxkdpw","output_index":1,"sequence_number":115} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":" over","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"KLhiIyduSFY","output_index":1,"sequence_number":116} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":" ","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"O7Blh4rY5xqcfLp","output_index":1,"sequence_number":117} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":"500","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"n7Rjv9TLVrd4O","output_index":1,"sequence_number":118} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":",","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"UE0r3kven1H0v8K","output_index":1,"sequence_number":119} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":"000","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"vj6SBcusTpawL","output_index":1,"sequence_number":120} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":" workers","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"GLLEGGl7","output_index":1,"sequence_number":121} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":",","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"jy28ehrEGOqAhQ0","output_index":1,"sequence_number":122} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":" known","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"EnxRWJBOYk","output_index":1,"sequence_number":123} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":" as","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"Vm6vJQwRNRMvc","output_index":1,"sequence_number":124} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":" \"","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"0BLGMhGLU30CN4","output_index":1,"sequence_number":125} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":"tur","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"tngF4jzFh7izz","output_index":1,"sequence_number":126} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":"kers","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"kwNSzPcnL2Z2","output_index":1,"sequence_number":127} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":",\"","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"QEMrKbuG5vAouL","output_index":1,"sequence_number":128} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":" and","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"2KN8VC4DwYbr","output_index":1,"sequence_number":129} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":" played","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"T6lmlVnda","output_index":1,"sequence_number":130} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":" a","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"RR2KtfyXlfvtKY","output_index":1,"sequence_number":131} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":" key","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"2z8MbObwmCZ6","output_index":1,"sequence_number":132} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":" role","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"qePtI2JRa1p","output_index":1,"sequence_number":133} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":" in","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"ZOujtdRHzBrxH","output_index":1,"sequence_number":134} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":" labeling","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"gX2PF8y","output_index":1,"sequence_number":135} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":" data","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"Cd7wh4jBUON","output_index":1,"sequence_number":136} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":" for","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"mAQTxmaisWpd","output_index":1,"sequence_number":137} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":" Amazon","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"tK6AdAZqy","output_index":1,"sequence_number":138} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":"’s","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"UmtBynCx48XPyU","output_index":1,"sequence_number":139} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":" Sage","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"RgARpnlNfhu","output_index":1,"sequence_number":140} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":"Maker","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"r1GvU69Tvf1","output_index":1,"sequence_number":141} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":" AI","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"bzs0Su9CAaLX0","output_index":1,"sequence_number":142} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":" service","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"FvohxUzS","output_index":1,"sequence_number":143} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":".","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"KedrhkX47jqhEey","output_index":1,"sequence_number":144} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":" ","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"jKnYp6MpzLHlZXK","output_index":1,"sequence_number":145} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":"However","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"uRBYslq3d","output_index":1,"sequence_number":146} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":",","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"b3jipV7pDxjauLG","output_index":1,"sequence_number":147} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":" rapid","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"66yvmhGNox","output_index":1,"sequence_number":148} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":" advancements","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"sFG","output_index":1,"sequence_number":149} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":" in","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"KQA0fGo64niQP","output_index":1,"sequence_number":150} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":" artificial","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"L49nJ","output_index":1,"sequence_number":151} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":" intelligence","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"w9c","output_index":1,"sequence_number":152} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":" have","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"uL4huPoOaLf","output_index":1,"sequence_number":153} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":" rendered","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"zjJsl6Y","output_index":1,"sequence_number":154} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":" many","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"uU6jBLnyNZL","output_index":1,"sequence_number":155} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":" of","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"CY15ncpPuWyFZ","output_index":1,"sequence_number":156} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":" these","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"90SKE92TsY","output_index":1,"sequence_number":157} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":" tasks","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"edtgEUUuQz","output_index":1,"sequence_number":158} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":" more","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"gmeE6OrcaLt","output_index":1,"sequence_number":159} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":" efficiently","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"Wnwq","output_index":1,"sequence_number":160} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":" managed","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"tb0PvVpU","output_index":1,"sequence_number":161} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":" by","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"cC7FY0YXgpt0F","output_index":1,"sequence_number":162} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":" machines","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"jtFVL45","output_index":1,"sequence_number":163} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":",","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"ko1oYXnwZ1KeyLi","output_index":1,"sequence_number":164} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":" leading","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"J0XuXWR5","output_index":1,"sequence_number":165} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":" to","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"9buZICKHJ0xKX","output_index":1,"sequence_number":166} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":" a","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"HeNV8dAGup2x4g","output_index":1,"sequence_number":167} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":" steady","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"yqDPl2c4H","output_index":1,"sequence_number":168} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":" decline","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"VCPKQLJr","output_index":1,"sequence_number":169} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":" in","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"P6HB0koVeNmXV","output_index":1,"sequence_number":170} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":" MT","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"IBJskoiX7RUmz","output_index":1,"sequence_number":171} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":"urk","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"872Op8FuEjlPd","output_index":1,"sequence_number":172} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":"’s","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"EA5IJBQBDfu1Uw","output_index":1,"sequence_number":173} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":" relevance","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"9nXlJ4","output_index":1,"sequence_number":174} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":".","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"Pc0o90niqHJMxB4","output_index":1,"sequence_number":175} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":" ","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"BamKhssmz5ZfG1K","output_index":1,"sequence_number":176} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":"Worker","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"SQTjpTER5z","output_index":1,"sequence_number":177} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":" advocates","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"5d4DSs","output_index":1,"sequence_number":178} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":",","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"TgWmK0zHrkbMsSy","output_index":1,"sequence_number":179} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":" including","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"BPFPAE","output_index":1,"sequence_number":180} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":" Turk","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"JgtTr2Fs0DB","output_index":1,"sequence_number":181} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":"opt","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"uTrHJsZOCgVGY","output_index":1,"sequence_number":182} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":"icon","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"LQ0ONnaBtnGG","output_index":1,"sequence_number":183} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":"'s","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"U4YlFB0CwE3dOc","output_index":1,"sequence_number":184} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":" Krist","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"4vwYvmhwFY","output_index":1,"sequence_number":185} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":"a","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"4LYgJr3NwiW7ZfV","output_index":1,"sequence_number":186} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":" Paw","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"n0unVNncCV05","output_index":1,"sequence_number":187} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":"los","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"bDoeGKxOG23J6","output_index":1,"sequence_number":188} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":"ki","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"fa5gOea2gocUCm","output_index":1,"sequence_number":189} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":",","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"6Bkcy5TIK3LT3pL","output_index":1,"sequence_number":190} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":" noted","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"PgiNmu22mN","output_index":1,"sequence_number":191} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":" that","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"RSHnz8at9UT","output_index":1,"sequence_number":192} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":" Amazon","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"Thdr4hQED","output_index":1,"sequence_number":193} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":" had","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"hAZBAxS3K60k","output_index":1,"sequence_number":194} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":" depr","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"mBdylzFBRn5","output_index":1,"sequence_number":195} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":"ior","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"p9zpnuLJN3xdh","output_index":1,"sequence_number":196} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":"itized","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"LFVGxArSNT","output_index":1,"sequence_number":197} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":" the","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"22pzwjiqoK56","output_index":1,"sequence_number":198} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":" platform","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"iDedYOm","output_index":1,"sequence_number":199} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":" in","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"PSFhqp5XtBpqp","output_index":1,"sequence_number":200} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":" recent","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"igHrDW1u7","output_index":1,"sequence_number":201} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":" years","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"AGPrxUTxUM","output_index":1,"sequence_number":202} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":",","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"qPQdwJKt16Yo5rP","output_index":1,"sequence_number":203} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":" even","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"BvXY2GeX215","output_index":1,"sequence_number":204} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":" as","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"DT1Z3HEV5ETT3","output_index":1,"sequence_number":205} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":" competitors","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"X1aa","output_index":1,"sequence_number":206} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":" like","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"sK9VjkSzEB8","output_index":1,"sequence_number":207} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":" Scale","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"QXYCoRhdRs","output_index":1,"sequence_number":208} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":" AI","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"LYImWg3TSujsn","output_index":1,"sequence_number":209} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":" and","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"IYgxFehac220","output_index":1,"sequence_number":210} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":" Pro","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"hronvWNVvUZL","output_index":1,"sequence_number":211} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":"l","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"1POOEWeIVJjhNtd","output_index":1,"sequence_number":212} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":"ific","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"lDiIuFCWneNr","output_index":1,"sequence_number":213} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":" emerged","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"rD1C35uP","output_index":1,"sequence_number":214} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":".","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"XQjqaIlsQaIEmqW","output_index":1,"sequence_number":215} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":" ","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"lxWKegx4zeeflC5","output_index":1,"sequence_number":216} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":"The","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"8LFujxjMhQgRr","output_index":1,"sequence_number":217} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":" closure","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"bE257rX0","output_index":1,"sequence_number":218} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":" signals","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"e7uThuQK","output_index":1,"sequence_number":219} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":" a","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"ptIMz3xSzrXQyM","output_index":1,"sequence_number":220} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":" broader","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"E7fZ0CgF","output_index":1,"sequence_number":221} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":" shift","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"qY23mXj6Dq","output_index":1,"sequence_number":222} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":" in","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"AQkHxyQw54qB0","output_index":1,"sequence_number":223} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":" AI","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"A9CONU9sH6O39","output_index":1,"sequence_number":224} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":" economics","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"0OZPtj","output_index":1,"sequence_number":225} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":",","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"OZXdcLxoaR6obII","output_index":1,"sequence_number":226} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":" where","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"dTdvEhwvOH","output_index":1,"sequence_number":227} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":" automated","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"RLuw48","output_index":1,"sequence_number":228} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":" systems","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"bII4tpbg","output_index":1,"sequence_number":229} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":" are","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"Cylfe69CX3oN","output_index":1,"sequence_number":230} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":" increasingly","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"XpT","output_index":1,"sequence_number":231} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":" surpass","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"8pal5HbS","output_index":1,"sequence_number":232} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":"ing","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"JcqW4usFaSxxS","output_index":1,"sequence_number":233} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":" human","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"kvJTAHK5Ag","output_index":1,"sequence_number":234} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":" capabilities","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"BNU","output_index":1,"sequence_number":235} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":" in","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"k9EEzUQ4E1fsa","output_index":1,"sequence_number":236} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":" data","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"AnrN9rLw1Ks","output_index":1,"sequence_number":237} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":" processing","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"rXjts","output_index":1,"sequence_number":238} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":".","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"jcxc9M6J23aSa0n","output_index":1,"sequence_number":239} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":" ","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"oj75rLfWRrpvCHz","output_index":1,"sequence_number":240} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":"Despite","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"Ym55r29hu","output_index":1,"sequence_number":241} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":" MT","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"6rg0ZAj0HqK3X","output_index":1,"sequence_number":242} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":"urk","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"kbqAARO1nQuFT","output_index":1,"sequence_number":243} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":"’s","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"Iwx1cvADhuDkMr","output_index":1,"sequence_number":244} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":" shutdown","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"xGvyTL8","output_index":1,"sequence_number":245} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":",","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"J9Ojj6gqdM4bK9l","output_index":1,"sequence_number":246} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":" Amazon","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"1uV4hIjgr","output_index":1,"sequence_number":247} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":" aff","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"eFhvx2vzaqzQ","output_index":1,"sequence_number":248} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":"irms","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"WpjtQktXJT4v","output_index":1,"sequence_number":249} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":" its","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"bAjmmqaNasaj","output_index":1,"sequence_number":250} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":" ongoing","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"OYzazi7u","output_index":1,"sequence_number":251} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":" commitment","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"W1hPQ","output_index":1,"sequence_number":252} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":" to","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"dTaKVGxKH5yGT","output_index":1,"sequence_number":253} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":" serving","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"FK6fzN6J","output_index":1,"sequence_number":254} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":" its","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"1jfGdFUjytTP","output_index":1,"sequence_number":255} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":" AWS","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"lHS92KGF0VEa","output_index":1,"sequence_number":256} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":" and","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"M06sJW7I05ht","output_index":1,"sequence_number":257} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":" retail","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"ezN9qZrdk","output_index":1,"sequence_number":258} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":" customers","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"mxojPC","output_index":1,"sequence_number":259} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":".","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"3Ii4z3BYllN0Njh","output_index":1,"sequence_number":260} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":" ","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"UuFYUSX1oYPBNhs","output_index":1,"sequence_number":261} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":"The","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"CvjM25JZwUV8V","output_index":1,"sequence_number":262} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":" move","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"k3G5nHFz5hU","output_index":1,"sequence_number":263} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":" has","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"jDTJwMfbwKtd","output_index":1,"sequence_number":264} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":" left","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"g55xdk5plpl","output_index":1,"sequence_number":265} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":" some","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"X0OqZ7d6ktg","output_index":1,"sequence_number":266} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":" long","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"0G63AuqzNBc","output_index":1,"sequence_number":267} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":"-term","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"nZc6MSN186X","output_index":1,"sequence_number":268} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":" workers","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"KhCZFd2W","output_index":1,"sequence_number":269} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":" scrambling","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"O761u","output_index":1,"sequence_number":270} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":" to","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"XefDI0sTcHL36","output_index":1,"sequence_number":271} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":" find","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"fwJdNrw7e26","output_index":1,"sequence_number":272} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":" alternative","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"9fdp","output_index":1,"sequence_number":273} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":" platforms","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"xX8xDT","output_index":1,"sequence_number":274} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":",","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"jptptU5KqyuRaMD","output_index":1,"sequence_number":275} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":" especially","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"VKPo9","output_index":1,"sequence_number":276} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":" as","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"dw5KBOSYuwLT9","output_index":1,"sequence_number":277} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":" certain","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"ELLjmm3A","output_index":1,"sequence_number":278} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":" businesses","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"5COEZ","output_index":1,"sequence_number":279} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":" still","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"zhnN9DC2k2","output_index":1,"sequence_number":280} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":" depend","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"366ULYVz8","output_index":1,"sequence_number":281} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":" on","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"c2QMcElJ5S8bg","output_index":1,"sequence_number":282} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":" human","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"8vXt2tMvTc","output_index":1,"sequence_number":283} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":" task","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"MfMlwo3p2QU","output_index":1,"sequence_number":284} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":" outsourcing","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"QbWC","output_index":1,"sequence_number":285} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":".","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"ugSO7gwDZNPUJPo","output_index":1,"sequence_number":286} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":" ","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"29Y92H3ZeMDPUMe","output_index":1,"sequence_number":287} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":"([techradar.com](https://www.techradar.com/pro/aws-is-shutting-down-mechanical-turk-which-let-humans-beat-ai-at-certain-work-tasks?utm_source=openai))","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"ngYRm9TFWX","output_index":1,"sequence_number":288} + +event: response.output_text.annotation.added +data: {"type":"response.output_text.annotation.added","annotation":{"type":"url_citation","end_index":1542,"start_index":1392,"title":"AWS is shutting down Mechanical Turk, which let humans beat AI at certain work tasks","url":"https://www.techradar.com/pro/aws-is-shutting-down-mechanical-turk-which-let-humans-beat-ai-at-certain-work-tasks?utm_source=openai"},"annotation_index":0,"content_index":0,"item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","output_index":1,"sequence_number":289} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":"\n","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"IR8qgzNBHXVyjx6","output_index":1,"sequence_number":290} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":"\n","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"XxeAP7iD0mKqO56","output_index":1,"sequence_number":291} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":"\n## Highlights:\n","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"","output_index":1,"sequence_number":292} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":"- [AWS is shutting down Mechanical Turk, which let humans beat AI at certain work tasks](https://www.techradar.com/pro/aws-is-shutting-down-mechanical-turk-which-let-humans-beat-ai-at-certain-work-tasks?utm_source=openai), Published on Saturday, August 29","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"p","output_index":1,"sequence_number":293} + +event: response.output_text.annotation.added +data: {"type":"response.output_text.annotation.added","annotation":{"type":"url_citation","end_index":1781,"start_index":1562,"title":"AWS is shutting down Mechanical Turk, which let humans beat AI at certain work tasks","url":"https://www.techradar.com/pro/aws-is-shutting-down-mechanical-turk-which-let-humans-beat-ai-at-certain-work-tasks?utm_source=openai"},"annotation_index":1,"content_index":0,"item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","output_index":1,"sequence_number":294} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":"\n- [Bill Gates sounds the alarm on an AI transition](https://www.axios.com/2026/08/26/bill-gates-sounds-the-alarm-on-an-ai-transition?utm_source=openai), Published on Wednesday, August 26","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"X3g6E","output_index":1,"sequence_number":295} + +event: response.output_text.annotation.added +data: {"type":"response.output_text.annotation.added","annotation":{"type":"url_citation","end_index":1967,"start_index":1818,"title":"Bill Gates sounds the alarm on an AI transition","url":"https://www.axios.com/2026/08/26/bill-gates-sounds-the-alarm-on-an-ai-transition?utm_source=openai"},"annotation_index":2,"content_index":0,"item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","output_index":1,"sequence_number":296} + +event: response.output_text.delta +data: {"type":"response.output_text.delta","content_index":0,"delta":"\n- [Strong AI chip demand fuels Nvidia's Q2 results well beyond Wall Street's expectations](https://apnews.com/article/dc8d556e709b50915cca9217a60b1991?utm_source=openai), Published on Wednesday, August 26","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"v93","output_index":1,"sequence_number":297} event: response.output_text.annotation.added -data: {"type":"response.output_text.annotation.added","annotation":{"type":"url_citation","end_index":470,"start_index":369,"title":"2025 in artificial intelligence","url":"https://en.wikipedia.org/wiki/2025_in_artificial_intelligence?utm_source=openai"},"annotation_index":0,"content_index":0,"item_id":"msg_0dddc08e04ed0eef006a7fc277c2d0819aa2b460e1b35c087b","output_index":1,"sequence_number":99} +data: {"type":"response.output_text.annotation.added","annotation":{"type":"url_citation","end_index":2172,"start_index":2005,"title":"Strong AI chip demand fuels Nvidia's Q2 results well beyond Wall Street's expectations","url":"https://apnews.com/article/dc8d556e709b50915cca9217a60b1991?utm_source=openai"},"annotation_index":3,"content_index":0,"item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","output_index":1,"sequence_number":298} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" ","item_id":"msg_0dddc08e04ed0eef006a7fc277c2d0819aa2b460e1b35c087b","logprobs":[],"obfuscation":"rccxILlSOtR6D4d","output_index":1,"sequence_number":100} +data: {"type":"response.output_text.delta","content_index":0,"delta":" ","item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"obfuscation":"kyrisQlMxWzVvls","output_index":1,"sequence_number":299} event: response.output_text.done -data: {"type":"response.output_text.done","content_index":0,"item_id":"msg_0dddc08e04ed0eef006a7fc277c2d0819aa2b460e1b35c087b","logprobs":[],"output_index":1,"sequence_number":101,"text":"As of August 2026, a notable development in artificial intelligence is the release of OpenAI's GPT-5 on August 8, 2025. According to OpenAI CEO Sam Altman, GPT-5 is designed to provide PhD-level expertise. However, it has faced challenges with basic tasks such as spelling and geography, cannot continuously learn, and scores lower than Grok-4 on Humanity's Last Exam. ([en.wikipedia.org](https://en.wikipedia.org/wiki/2025_in_artificial_intelligence?utm_source=openai)) "} +data: {"type":"response.output_text.done","content_index":0,"item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","logprobs":[],"output_index":1,"sequence_number":300,"text":"One recent headline about artificial intelligence is:\n\n**\"AWS is shutting down Mechanical Turk, which let humans beat AI at certain work tasks\"**\n\nAmazon has announced it will shut down its Mechanical Turk (MTurk) platform on September 30, 2026. Launched in 2005, MTurk enabled companies to outsource small, routine digital tasks to human workers, particularly those tasks that computers initially struggled with, such as labeling data, tagging images, and transcribing audio. At its peak, the platform connected over 500,000 workers, known as \"turkers,\" and played a key role in labeling data for Amazon’s SageMaker AI service. However, rapid advancements in artificial intelligence have rendered many of these tasks more efficiently managed by machines, leading to a steady decline in MTurk’s relevance. Worker advocates, including Turkopticon's Krista Pawloski, noted that Amazon had deprioritized the platform in recent years, even as competitors like Scale AI and Prolific emerged. The closure signals a broader shift in AI economics, where automated systems are increasingly surpassing human capabilities in data processing. Despite MTurk’s shutdown, Amazon affirms its ongoing commitment to serving its AWS and retail customers. The move has left some long-term workers scrambling to find alternative platforms, especially as certain businesses still depend on human task outsourcing. ([techradar.com](https://www.techradar.com/pro/aws-is-shutting-down-mechanical-turk-which-let-humans-beat-ai-at-certain-work-tasks?utm_source=openai))\n\n\n## Highlights:\n- [AWS is shutting down Mechanical Turk, which let humans beat AI at certain work tasks](https://www.techradar.com/pro/aws-is-shutting-down-mechanical-turk-which-let-humans-beat-ai-at-certain-work-tasks?utm_source=openai), Published on Saturday, August 29\n- [Bill Gates sounds the alarm on an AI transition](https://www.axios.com/2026/08/26/bill-gates-sounds-the-alarm-on-an-ai-transition?utm_source=openai), Published on Wednesday, August 26\n- [Strong AI chip demand fuels Nvidia's Q2 results well beyond Wall Street's expectations](https://apnews.com/article/dc8d556e709b50915cca9217a60b1991?utm_source=openai), Published on Wednesday, August 26 "} event: response.content_part.done -data: {"type":"response.content_part.done","content_index":0,"item_id":"msg_0dddc08e04ed0eef006a7fc277c2d0819aa2b460e1b35c087b","output_index":1,"part":{"type":"output_text","annotations":[{"type":"url_citation","end_index":470,"start_index":369,"title":"2025 in artificial intelligence","url":"https://en.wikipedia.org/wiki/2025_in_artificial_intelligence?utm_source=openai"}],"logprobs":[],"text":"As of August 2026, a notable development in artificial intelligence is the release of OpenAI's GPT-5 on August 8, 2025. According to OpenAI CEO Sam Altman, GPT-5 is designed to provide PhD-level expertise. However, it has faced challenges with basic tasks such as spelling and geography, cannot continuously learn, and scores lower than Grok-4 on Humanity's Last Exam. ([en.wikipedia.org](https://en.wikipedia.org/wiki/2025_in_artificial_intelligence?utm_source=openai)) "},"sequence_number":102} +data: {"type":"response.content_part.done","content_index":0,"item_id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","output_index":1,"part":{"type":"output_text","annotations":[{"type":"url_citation","end_index":1542,"start_index":1392,"title":"AWS is shutting down Mechanical Turk, which let humans beat AI at certain work tasks","url":"https://www.techradar.com/pro/aws-is-shutting-down-mechanical-turk-which-let-humans-beat-ai-at-certain-work-tasks?utm_source=openai"},{"type":"url_citation","end_index":1781,"start_index":1562,"title":"AWS is shutting down Mechanical Turk, which let humans beat AI at certain work tasks","url":"https://www.techradar.com/pro/aws-is-shutting-down-mechanical-turk-which-let-humans-beat-ai-at-certain-work-tasks?utm_source=openai"},{"type":"url_citation","end_index":1967,"start_index":1818,"title":"Bill Gates sounds the alarm on an AI transition","url":"https://www.axios.com/2026/08/26/bill-gates-sounds-the-alarm-on-an-ai-transition?utm_source=openai"},{"type":"url_citation","end_index":2172,"start_index":2005,"title":"Strong AI chip demand fuels Nvidia's Q2 results well beyond Wall Street's expectations","url":"https://apnews.com/article/dc8d556e709b50915cca9217a60b1991?utm_source=openai"}],"logprobs":[],"text":"One recent headline about artificial intelligence is:\n\n**\"AWS is shutting down Mechanical Turk, which let humans beat AI at certain work tasks\"**\n\nAmazon has announced it will shut down its Mechanical Turk (MTurk) platform on September 30, 2026. Launched in 2005, MTurk enabled companies to outsource small, routine digital tasks to human workers, particularly those tasks that computers initially struggled with, such as labeling data, tagging images, and transcribing audio. At its peak, the platform connected over 500,000 workers, known as \"turkers,\" and played a key role in labeling data for Amazon’s SageMaker AI service. However, rapid advancements in artificial intelligence have rendered many of these tasks more efficiently managed by machines, leading to a steady decline in MTurk’s relevance. Worker advocates, including Turkopticon's Krista Pawloski, noted that Amazon had deprioritized the platform in recent years, even as competitors like Scale AI and Prolific emerged. The closure signals a broader shift in AI economics, where automated systems are increasingly surpassing human capabilities in data processing. Despite MTurk’s shutdown, Amazon affirms its ongoing commitment to serving its AWS and retail customers. The move has left some long-term workers scrambling to find alternative platforms, especially as certain businesses still depend on human task outsourcing. ([techradar.com](https://www.techradar.com/pro/aws-is-shutting-down-mechanical-turk-which-let-humans-beat-ai-at-certain-work-tasks?utm_source=openai))\n\n\n## Highlights:\n- [AWS is shutting down Mechanical Turk, which let humans beat AI at certain work tasks](https://www.techradar.com/pro/aws-is-shutting-down-mechanical-turk-which-let-humans-beat-ai-at-certain-work-tasks?utm_source=openai), Published on Saturday, August 29\n- [Bill Gates sounds the alarm on an AI transition](https://www.axios.com/2026/08/26/bill-gates-sounds-the-alarm-on-an-ai-transition?utm_source=openai), Published on Wednesday, August 26\n- [Strong AI chip demand fuels Nvidia's Q2 results well beyond Wall Street's expectations](https://apnews.com/article/dc8d556e709b50915cca9217a60b1991?utm_source=openai), Published on Wednesday, August 26 "},"sequence_number":301} event: response.output_item.done -data: {"type":"response.output_item.done","item":{"id":"msg_0dddc08e04ed0eef006a7fc277c2d0819aa2b460e1b35c087b","type":"message","status":"completed","content":[{"type":"output_text","annotations":[{"type":"url_citation","end_index":470,"start_index":369,"title":"2025 in artificial intelligence","url":"https://en.wikipedia.org/wiki/2025_in_artificial_intelligence?utm_source=openai"}],"logprobs":[],"text":"As of August 2026, a notable development in artificial intelligence is the release of OpenAI's GPT-5 on August 8, 2025. According to OpenAI CEO Sam Altman, GPT-5 is designed to provide PhD-level expertise. However, it has faced challenges with basic tasks such as spelling and geography, cannot continuously learn, and scores lower than Grok-4 on Humanity's Last Exam. ([en.wikipedia.org](https://en.wikipedia.org/wiki/2025_in_artificial_intelligence?utm_source=openai)) "}],"role":"assistant"},"output_index":1,"sequence_number":103} +data: {"type":"response.output_item.done","item":{"id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","type":"message","status":"completed","content":[{"type":"output_text","annotations":[{"type":"url_citation","end_index":1542,"start_index":1392,"title":"AWS is shutting down Mechanical Turk, which let humans beat AI at certain work tasks","url":"https://www.techradar.com/pro/aws-is-shutting-down-mechanical-turk-which-let-humans-beat-ai-at-certain-work-tasks?utm_source=openai"},{"type":"url_citation","end_index":1781,"start_index":1562,"title":"AWS is shutting down Mechanical Turk, which let humans beat AI at certain work tasks","url":"https://www.techradar.com/pro/aws-is-shutting-down-mechanical-turk-which-let-humans-beat-ai-at-certain-work-tasks?utm_source=openai"},{"type":"url_citation","end_index":1967,"start_index":1818,"title":"Bill Gates sounds the alarm on an AI transition","url":"https://www.axios.com/2026/08/26/bill-gates-sounds-the-alarm-on-an-ai-transition?utm_source=openai"},{"type":"url_citation","end_index":2172,"start_index":2005,"title":"Strong AI chip demand fuels Nvidia's Q2 results well beyond Wall Street's expectations","url":"https://apnews.com/article/dc8d556e709b50915cca9217a60b1991?utm_source=openai"}],"logprobs":[],"text":"One recent headline about artificial intelligence is:\n\n**\"AWS is shutting down Mechanical Turk, which let humans beat AI at certain work tasks\"**\n\nAmazon has announced it will shut down its Mechanical Turk (MTurk) platform on September 30, 2026. Launched in 2005, MTurk enabled companies to outsource small, routine digital tasks to human workers, particularly those tasks that computers initially struggled with, such as labeling data, tagging images, and transcribing audio. At its peak, the platform connected over 500,000 workers, known as \"turkers,\" and played a key role in labeling data for Amazon’s SageMaker AI service. However, rapid advancements in artificial intelligence have rendered many of these tasks more efficiently managed by machines, leading to a steady decline in MTurk’s relevance. Worker advocates, including Turkopticon's Krista Pawloski, noted that Amazon had deprioritized the platform in recent years, even as competitors like Scale AI and Prolific emerged. The closure signals a broader shift in AI economics, where automated systems are increasingly surpassing human capabilities in data processing. Despite MTurk’s shutdown, Amazon affirms its ongoing commitment to serving its AWS and retail customers. The move has left some long-term workers scrambling to find alternative platforms, especially as certain businesses still depend on human task outsourcing. ([techradar.com](https://www.techradar.com/pro/aws-is-shutting-down-mechanical-turk-which-let-humans-beat-ai-at-certain-work-tasks?utm_source=openai))\n\n\n## Highlights:\n- [AWS is shutting down Mechanical Turk, which let humans beat AI at certain work tasks](https://www.techradar.com/pro/aws-is-shutting-down-mechanical-turk-which-let-humans-beat-ai-at-certain-work-tasks?utm_source=openai), Published on Saturday, August 29\n- [Bill Gates sounds the alarm on an AI transition](https://www.axios.com/2026/08/26/bill-gates-sounds-the-alarm-on-an-ai-transition?utm_source=openai), Published on Wednesday, August 26\n- [Strong AI chip demand fuels Nvidia's Q2 results well beyond Wall Street's expectations](https://apnews.com/article/dc8d556e709b50915cca9217a60b1991?utm_source=openai), Published on Wednesday, August 26 "}],"role":"assistant"},"output_index":1,"sequence_number":302} event: response.completed -data: {"type":"response.completed","response":{"id":"resp_0dddc08e04ed0eef006a7fc272fa6c819a97e0ce827ab581a3","object":"response","created_at":1786757747,"status":"completed","background":false,"completed_at":1786757753,"error":null,"frequency_penalty":0.0,"incomplete_details":null,"instructions":null,"max_output_tokens":null,"max_tool_calls":null,"model":"gpt-4o-2024-08-06","moderation":null,"output":[{"id":"ws_0dddc08e04ed0eef006a7fc276c298819a835576df99f28ffb","type":"web_search_call","status":"completed","action":{"type":"search","queries":["recent headline about artificial intelligence"],"query":"recent headline about artificial intelligence"}},{"id":"msg_0dddc08e04ed0eef006a7fc277c2d0819aa2b460e1b35c087b","type":"message","status":"completed","content":[{"type":"output_text","annotations":[{"type":"url_citation","end_index":470,"start_index":369,"title":"2025 in artificial intelligence","url":"https://en.wikipedia.org/wiki/2025_in_artificial_intelligence?utm_source=openai"}],"logprobs":[],"text":"As of August 2026, a notable development in artificial intelligence is the release of OpenAI's GPT-5 on August 8, 2025. According to OpenAI CEO Sam Altman, GPT-5 is designed to provide PhD-level expertise. However, it has faced challenges with basic tasks such as spelling and geography, cannot continuously learn, and scores lower than Grok-4 on Humanity's Last Exam. ([en.wikipedia.org](https://en.wikipedia.org/wiki/2025_in_artificial_intelligence?utm_source=openai)) "}],"role":"assistant"}],"parallel_tool_calls":true,"presence_penalty":0.0,"previous_response_id":null,"prompt_cache_key":null,"prompt_cache_retention":"in_memory","reasoning":{"context":null,"effort":null,"summary":null},"safety_identifier":null,"service_tier":"default","store":true,"temperature":1.0,"text":{"format":{"type":"text"},"verbosity":"medium"},"tool_choice":"auto","tool_usage":{"image_gen":{"input_tokens":0,"input_tokens_details":{"image_tokens":0,"text_tokens":0},"output_tokens":0,"output_tokens_details":{"image_tokens":0,"text_tokens":0},"total_tokens":0},"web_search":{"num_requests":1}},"tools":[{"type":"web_search_preview","search_content_types":["text"],"search_context_size":"medium","user_location":{"type":"approximate","city":null,"country":"US","region":null,"timezone":null}}],"top_logprobs":0,"top_p":1.0,"truncation":"disabled","usage":{"input_tokens":314,"input_tokens_details":{"cache_write_tokens":0,"cached_tokens":0},"output_tokens":129,"output_tokens_details":{"reasoning_tokens":0},"total_tokens":443},"user":null,"metadata":{}},"sequence_number":104} +data: {"type":"response.completed","response":{"id":"resp_0187444db4e8b9d0006a95bcd430d087d0aed5e425af65ccf2","object":"response","created_at":1788198101,"status":"completed","background":false,"completed_at":1788198136,"error":null,"frequency_penalty":0.0,"incomplete_details":null,"instructions":null,"max_output_tokens":null,"max_tool_calls":null,"model":"gpt-4o-2024-08-06","moderation":null,"output":[{"id":"ws_0187444db4e8b9d0006a95bcd7998087d09acb0c349ecd33f6","type":"web_search_call","status":"completed","action":{"type":"search","queries":["recent headlines about artificial intelligence"],"query":"recent headlines about artificial intelligence"}},{"id":"msg_0187444db4e8b9d0006a95bcda61ac87d08aaccbb286b61823","type":"message","status":"completed","content":[{"type":"output_text","annotations":[{"type":"url_citation","end_index":1542,"start_index":1392,"title":"AWS is shutting down Mechanical Turk, which let humans beat AI at certain work tasks","url":"https://www.techradar.com/pro/aws-is-shutting-down-mechanical-turk-which-let-humans-beat-ai-at-certain-work-tasks?utm_source=openai"},{"type":"url_citation","end_index":1781,"start_index":1562,"title":"AWS is shutting down Mechanical Turk, which let humans beat AI at certain work tasks","url":"https://www.techradar.com/pro/aws-is-shutting-down-mechanical-turk-which-let-humans-beat-ai-at-certain-work-tasks?utm_source=openai"},{"type":"url_citation","end_index":1967,"start_index":1818,"title":"Bill Gates sounds the alarm on an AI transition","url":"https://www.axios.com/2026/08/26/bill-gates-sounds-the-alarm-on-an-ai-transition?utm_source=openai"},{"type":"url_citation","end_index":2172,"start_index":2005,"title":"Strong AI chip demand fuels Nvidia's Q2 results well beyond Wall Street's expectations","url":"https://apnews.com/article/dc8d556e709b50915cca9217a60b1991?utm_source=openai"}],"logprobs":[],"text":"One recent headline about artificial intelligence is:\n\n**\"AWS is shutting down Mechanical Turk, which let humans beat AI at certain work tasks\"**\n\nAmazon has announced it will shut down its Mechanical Turk (MTurk) platform on September 30, 2026. Launched in 2005, MTurk enabled companies to outsource small, routine digital tasks to human workers, particularly those tasks that computers initially struggled with, such as labeling data, tagging images, and transcribing audio. At its peak, the platform connected over 500,000 workers, known as \"turkers,\" and played a key role in labeling data for Amazon’s SageMaker AI service. However, rapid advancements in artificial intelligence have rendered many of these tasks more efficiently managed by machines, leading to a steady decline in MTurk’s relevance. Worker advocates, including Turkopticon's Krista Pawloski, noted that Amazon had deprioritized the platform in recent years, even as competitors like Scale AI and Prolific emerged. The closure signals a broader shift in AI economics, where automated systems are increasingly surpassing human capabilities in data processing. Despite MTurk’s shutdown, Amazon affirms its ongoing commitment to serving its AWS and retail customers. The move has left some long-term workers scrambling to find alternative platforms, especially as certain businesses still depend on human task outsourcing. ([techradar.com](https://www.techradar.com/pro/aws-is-shutting-down-mechanical-turk-which-let-humans-beat-ai-at-certain-work-tasks?utm_source=openai))\n\n\n## Highlights:\n- [AWS is shutting down Mechanical Turk, which let humans beat AI at certain work tasks](https://www.techradar.com/pro/aws-is-shutting-down-mechanical-turk-which-let-humans-beat-ai-at-certain-work-tasks?utm_source=openai), Published on Saturday, August 29\n- [Bill Gates sounds the alarm on an AI transition](https://www.axios.com/2026/08/26/bill-gates-sounds-the-alarm-on-an-ai-transition?utm_source=openai), Published on Wednesday, August 26\n- [Strong AI chip demand fuels Nvidia's Q2 results well beyond Wall Street's expectations](https://apnews.com/article/dc8d556e709b50915cca9217a60b1991?utm_source=openai), Published on Wednesday, August 26 "}],"role":"assistant"}],"parallel_tool_calls":true,"presence_penalty":0.0,"previous_response_id":null,"prompt_cache_key":null,"prompt_cache_retention":"in_memory","reasoning":{"context":null,"effort":null,"summary":null},"safety_identifier":null,"service_tier":"default","store":true,"temperature":1.0,"text":{"format":{"type":"text"},"verbosity":"medium"},"tool_choice":"auto","tool_usage":{"image_gen":{"input_tokens":0,"input_tokens_details":{"image_tokens":0,"text_tokens":0},"output_tokens":0,"output_tokens_details":{"image_tokens":0,"text_tokens":0},"total_tokens":0},"web_search":{"num_requests":1}},"tools":[{"type":"web_search_preview","search_content_types":["text"],"search_context_size":"medium","user_location":{"type":"approximate","city":null,"country":"US","region":null,"timezone":null}}],"top_logprobs":0,"top_p":1.0,"truncation":"disabled","usage":{"input_tokens":314,"input_tokens_details":{"cache_write_tokens":0,"cached_tokens":0},"output_tokens":507,"output_tokens_details":{"reasoning_tokens":0},"total_tokens":821},"user":null,"metadata":{}},"sequence_number":303} diff --git a/test-harness/src/testFixtures/resources/cassettes/openai/__files/responses-36764bc7833a.json b/test-harness/src/testFixtures/resources/cassettes/openai/__files/responses-36764bc7833a.json index 1caf673a..2e0e43d0 100644 --- a/test-harness/src/testFixtures/resources/cassettes/openai/__files/responses-36764bc7833a.json +++ b/test-harness/src/testFixtures/resources/cassettes/openai/__files/responses-36764bc7833a.json @@ -1,13 +1,13 @@ { - "id": "resp_00c6daa36ade876c006a4d34c00e44819ba57e38cc1e78d16f", + "id": "resp_008ff3f03dd97ebb006a95bd55a09487d08ef03d72ed5f7576", "object": "response", - "created_at": 1783444672, + "created_at": 1788198229, "status": "completed", "background": false, "billing": { "payer": "developer" }, - "completed_at": 1783444673, + "completed_at": 1788198231, "error": null, "frequency_penalty": 0.0, "incomplete_details": null, @@ -18,13 +18,14 @@ "moderation": null, "output": [ { - "id": "rs_00c6daa36ade876c006a4d34c089b4819b82a34feee4170ca5", + "id": "rs_008ff3f03dd97ebb006a95bd564d6087d0972ebf379d77ac22", "type": "reasoning", "content": [], + "encrypted_content": "gAAAAABqlb1XaxgxJme9AAvFBwm7stYtP4P-YU4rzIKXs3F1fAdVn0qYN13hxVz_DpXAYP4AeocMR3m0G0gWGk1gDJfJfo5TvbNxV5uAV28YElC_B587cS9wjP-Jom4UWisuzaW5_1yws7rACtz50tx5b5bTiohb1cPZNcxwGFtSZD9q7W-4x3OtRexwx3341sJJ-tZwCF2LwIZKaFDzhezXWLuEwJKZ9APhfO_J-zchQ823fhCjeCrH5C_ViMszfnPPX0RzXwdIagtp_BcKnDFl7hMC9dpGLXHx4FZ-ZlBgFF3dM0EoMCIYUJObVYXoxLM8xLKW_NZxpCeVmbiJEN5yo31-Ov5lKUFAOld2Y3b6ba-2G97H0O7lxNzDkLSh0509QOE6CImjYIOBr5BDjkU-7VYZNOpbKyYPTsQR4x4tLKvCGon2iSG59C1qaoXYrpcMRoosXV8FZy0x3XIvuxPwoThuR48pyLJMFmSPJQGDhFudxja7xx49OWBs2Z68VkHDVxgs8AAgdtoFSXajlNpvAFsJ-yxqTbt0ckaSwCHmTaTnP4QD2Hoi7C6Yrt38Ikhhf2BaC4Zya-FXI7kG7syjdYDTxg9VAZYTskA1jO59gWz38srKU51nV2V7-XP-lZXDwWy_k3ewvxqwquBzO3ofMv3Qzmy0btB7UefmcIfRBj4LTvlc0g_h7MweHPVNwgOmNxvpUdYWzofB5RX4ycg0dXxE668Qc1XLt6mTxcnbb5cKFjAIpSJRrI9_sbEg2pmP7TqKWUnmSaCY5Xj2a39MI7w0MpWb4edWvHsHojaVikaGZlKmHppkO_quYct7XltaTDdsWQZwqSBevoIlQNjs9z2Los5wQY_xuddZGay2Pg_bbxCZ6zpEj3csJHvuMPmhkDwMTrj7-TC-OcXxBqGuDhZ_4G9rpByPd7Ii45jBV9v9HO-BFsgvRcsmeTCYJ_0qgB9__w73Hlt_Bg3GUpX21jt5Ws7wcqdbGCHpKz--DxEaDGg_EOQH8KhQo2Um0aI3yUeIY4aQr_QgTVLZpCNLs3WZ7b6Y3Zvmvs9UOfx2FADmcyu6laPFK9tWnQXT4YzrnKjq17f01Kwz5R5YD3r_z7017hEAKbtcFshMI8JwRkMTZTlyUcJaHzg0iU0OhEFGOfigOMFisMYWldnOgdr93-1sU_vM-rruaJggaU8fez1iEYyyF68621nbt-c7RHGw4xq4Xe4CVBZYksYN9bDVzIgtvg3nN9EV9I_vvZwAoakrgPffuIri4v6G-9YyifAUpyGBwZYm5wUn2ThVxNdbIeU2idbHXMhIgFoe2idLY-FYmZPHxNY=", "summary": [] }, { - "id": "msg_00c6daa36ade876c006a4d34c111b4819b81c99786dc5b160a", + "id": "msg_008ff3f03dd97ebb006a95bd57020487d0baae3da064d74270", "type": "message", "status": "completed", "content": [ @@ -85,13 +86,14 @@ "usage": { "input_tokens": 18, "input_tokens_details": { + "cache_write_tokens": 0, "cached_tokens": 0 }, - "output_tokens": 28, + "output_tokens": 34, "output_tokens_details": { "reasoning_tokens": 0 }, - "total_tokens": 46 + "total_tokens": 52 }, "user": null, "metadata": {} diff --git a/test-harness/src/testFixtures/resources/cassettes/openai/__files/responses-43e296c0b939.json b/test-harness/src/testFixtures/resources/cassettes/openai/__files/responses-43e296c0b939.json deleted file mode 100644 index 9f2cc8ec..00000000 --- a/test-harness/src/testFixtures/resources/cassettes/openai/__files/responses-43e296c0b939.json +++ /dev/null @@ -1,109 +0,0 @@ -{ - "id": "resp_014bae2a3cae84fb006a8885902b5487d0a47aa785f35d1631", - "object": "response", - "created_at": 1787331984, - "status": "completed", - "background": false, - "billing": { - "payer": "developer" - }, - "completed_at": 1787331992, - "error": null, - "frequency_penalty": 0.0, - "incomplete_details": null, - "instructions": null, - "max_output_tokens": null, - "max_tool_calls": null, - "model": "o4-mini-2025-04-16", - "moderation": null, - "output": [ - { - "id": "rs_014bae2a3cae84fb006a888590aa9087d09855e515d9c567e2", - "type": "reasoning", - "content": [], - "encrypted_content": "gAAAAABqiIWYwscWJF6kalsrY4RN3ugbI9CIH75-Y-Rz0XPs3TaRZX5IfZU0Vv3x_JnICUM1ZraHVJVIk1ou5uNP-EKRKf8SNftML3g__kcQcUSIBFDFtxtVfcg8ZUMZOlNbvCj40Wiw8IdL1gfRh4bwIkNi6BtEeU5MoOnaEUm7ZjiuqZlzguD-GHeZK6FmCwh10b61iZvymq56yLuTeQkZKgCjoqjWgKo9alEqb-u4_kzwLGynkePzaduAIMDp1JBVFFutxiG5KDTY2PTH0AObRAdTSDqZLxeYhbbvmk-WR-3txd6gZSKhBdXRQ_xWcPYWVioiJGZctiaK0B-zPZclOv83gtZ_xV9znOU27p5yd8yrsBkVZhFwEsUivJbdCGP1BaWQXVXYtzht5hHcYp6gjAhCnX7g4Pi-rSyzR7bed1CvovpjszfJXmKQxVT0Hn7KUWU8B9DEMZTZWsNt2fWSahTibxgcGq30HRuCjrR4bKSSim3lkqkfW4Yi0qdasuToGnuuFo5fLe9VaMvfpDky--Z8hYbukQlIFkF7Y_bLM6l1SGwbq7SO_GW_5IhmaxLg4qzYaCCwdgnsaDDqRDd2ikRQF4wO_96Zw_xmVHmRUVvfl5O_BCW-tYF-n-lUtPwMWtsy6SX1c2E8IqQwt7rJwxZjFV1hmrUFAwIjZ0ZdEVa3r0XXB8SHB5OkshuHFa-Cx3cQMWlgq1817S_aBOeyqnxDq8VrOFnGTV_ASq75Xy4O6nzYsOQg0nLMcdi4Jfw92aDvrOZCo0yb3goJNQXcvVM6DYmRzqS5IRK2fU4tMET4crXKF7Mc4KXI7dPCWLhkeMClP3qPBm-VTxYJEyn4Nb92tdl1-L_ftxEDqY9uAbchGStyIZf1OYtkJHQsnvRJi9v5-KcgQmXg8f-jT1Q7R6PBaOlL6ETFSXaydBVbMTOhdmPSv1fd9CFkbJ3ntgSwpVvXgszvfH_D3HQr2csx7DIL3gNv9jnkB3HN3caFsozbeY58r2TF03kY7JZp4Q9XNdXZiuBwSunLx4tr_nc2xysKqkMNmH2aYnyvKgJkmLKk8537Ywz6z-L7W7KD80t06egnYktbFX8PZ-iAFkXcb_bDadnpk51gTL0skYUpAeqS4Wo_Thb3TilGGrqi5wGeVDTClaguMJUo3t9DcfA54D_CvnPkcgMvTtActwX9G6jEAZHGYj_VlWVwefKDc3AD6OkPLv67xTmLImkmW-h6fc-0YY6qbsgt8P3GoTo6JoUY4ALwh6ICDMb23rIl-MnU1b-BBDVS5WqpJ1zbyLtBJnAYP6Hf6yqHVJvohsGUXxYI20KW4YMKldfoWQJC18VAlfKo6MyjstT2m37OPHkwJeZ8nnlBARuR-osXhVi86VYweWU0L_WyQG7E3pQNPifZq3dcear0ZHi57zP0BL_-NrNy1rQ0ckGnNWqAROH0XDxya_J1PM9cO32HK7deIOh_2XGfnrzY9TUL17SOcZS_4CWZ5F_lXAziDyNQgyIFef6ZiamueDi32Mg-xEXXBv2kAzRmhToBWEYmEMj2Gq7NUUPtT6LlWJMD0Uexd9WPtv7GF1lqkyDUXpkBK6K745fdwMtLCXVdVfBR-4aqRKmIwe1_30wOCMtMkrDiAz9gqoniNMvCZVxWFgj-Eyzbzqy73WrovWmuE-LwMONAt9J8B9BiUUgBgVHePuBgnRbgl6E5lJzaHDXfNNRC_K64dOkMIMlCkOlW1cj54xGF5soyVbUUBLMfQjkG-4IdGupGsY_KUGtO9EeGw-5z-kthuJfrdKlcvN_ghOmn4OO1iTxLN8FHXCcd8IzGC5c7PIZhXBHyq3WQKn0HMNplRf8QwseWfrd99Zx1_u8IwAfCFDLEVfzxR-9Nr3GwTLOt2HdEO3_vruBOjVn4iblqv2gzSU5OTmLWt9aNwlBSonDU1aOeR4wH55NuExLPiOq9o8FboiTS66YswtTN_g5AYCKWlCCaErZX08SVzzRGFkETvigPDVQzel9YidRWyQW4lMH9LNmDSx6tkyrWaWk0dVp0qpabGQJnhanD_X9VWxp5MnGP_vC3eed_E3QWyzq2v3U3WU4A_eB5yughnrGNIvvZ2W7WNst6fYHtZFFKj91pcHwDJRQWTGb2JLjhiVGShqJfmUG8PGOwYDY6NBNZsoTH9avAqf15Fs1zvOZD6ofYsZOwz0havhbKbXqV6lQnHoGGvMPcEWIcBHQCehVR1r9TyWnz-cusSr8ESlrXRo9gg-wx5NLZ3AP8f34gPGeD_y3i9ppQvSlM7z1Be8pJYXi0FLv0gA2obhXfn31gBpxWHdYvMZJtTH7nHZ4wzcVUu0AlnW4U-8llR_H0Q43NVX3gtZ8BVG2lIjwK8FfsN5OT8W1YgaCpo4Hs5R_n_wYO8I0pgJ1UpPf_bWWSNMY3vM52fazVIPBl1sbeFzvZyEApqYjkDwcscXcjLuZbuE_-L4aiKv-Wg6fDomluUDjNqQLcH466Yed8xNz0XkG21MA891R66vc0wokRfkCQN8AFJ2qrWhLwVWKb__s1Kk3bz1AvQ7r6prpRJyzq90RB-G4ap7cgw6DScBvt3UNLvLUlowFQqLD2Iu4wc-7FBP8ZUin3qApq_uqVSMgHpXCYCEEwiaTTkieMsB0SvXhZu2BWOqHZ60gbu4xK7-tD9iJPxZP8HCV6ph2U77th9l8BPQGaqHwdITeIPZn-RTqBidOw2LaulOBrkLhc6NEjwTyL6uXsRdyjzD0yluUaFvFlaLg9av6rljXAnZZwWrQFVA83JOvIYnBn4rn_K4615Hz4_-Wp7N10M8dSsTa8", - "summary": [ - { - "type": "summary_text", - "text": "**Summarizing series calculations**\n\nI'm looking at the sequence a_n = n(n+1). For example, a_10 equals 110. The sum of the first ten terms, S_10, can be calculated as the sum of squares and the sum of n values. Using formulae, I find S_10 equals 440. I can derive this from the formula for triangular numbers, noting that a_n relates to these numbers multiplied by 2. So, indeed, the final sum is 440, confirming my calculations." - }, - { - "type": "summary_text", - "text": "**Calculating terms and sums**\n\nThe user wants to know the 10th term and the sum of the first 10 terms. \n\nThe 10th term can be calculated as 10 * 11, which equals 110. The sum of the first 10 terms is calculated to be 440. I should clarify the formula for this sum, which is n(n+1)(n+2)/3. Plugging in n=10 confirms the sum as 440.\n\nTo summarize, the answers are: 10th term: 110, and the sum of the first 10 terms: 440." - } - ] - }, - { - "id": "msg_014bae2a3cae84fb006a8885976a7487d08e618a7e2867b6bf", - "type": "message", - "status": "completed", - "content": [ - { - "type": "output_text", - "annotations": [], - "logprobs": [], - "text": "The 10th term is \n a\u2081\u2080 = 10\u00b7(10 + 1) = 10\u00b711 = 110. \n\nThe sum of the first 10 terms is \n S\u2081\u2080 = \u2211_{k=1}^{10} k(k+1) = \u2211k\u00b2 + \u2211k \n = [10\u00b711\u00b721/6] + [10\u00b711/2] \n = 385 + 55 = 440. \n\n(You can also use the closed\u2010form S\u2099 = n(n+1)(n+2)/3, which for n=10 gives 10\u00b711\u00b712/3 = 440.)" - } - ], - "role": "assistant" - } - ], - "parallel_tool_calls": true, - "presence_penalty": 0.0, - "previous_response_id": null, - "prompt_cache_key": null, - "prompt_cache_retention": "in_memory", - "reasoning": { - "context": "current_turn", - "effort": "high", - "mode": "standard", - "summary": "detailed" - }, - "safety_identifier": null, - "service_tier": "default", - "store": true, - "temperature": 1.0, - "text": { - "format": { - "type": "text" - }, - "verbosity": "medium" - }, - "tool_choice": "auto", - "tool_usage": { - "image_gen": { - "input_tokens": 0, - "input_tokens_details": { - "image_tokens": 0, - "text_tokens": 0 - }, - "output_tokens": 0, - "output_tokens_details": { - "image_tokens": 0, - "text_tokens": 0 - }, - "total_tokens": 0 - }, - "web_search": { - "num_requests": 0 - } - }, - "tools": [], - "top_logprobs": 0, - "top_p": 1.0, - "truncation": "disabled", - "usage": { - "input_tokens": 162, - "input_tokens_details": { - "cache_write_tokens": 0, - "cached_tokens": 0 - }, - "output_tokens": 627, - "output_tokens_details": { - "reasoning_tokens": 448 - }, - "total_tokens": 789 - }, - "user": null, - "metadata": {} -} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/openai/__files/responses-52d34b326f90.json b/test-harness/src/testFixtures/resources/cassettes/openai/__files/responses-52d34b326f90.json deleted file mode 100644 index 915b840d..00000000 --- a/test-harness/src/testFixtures/resources/cassettes/openai/__files/responses-52d34b326f90.json +++ /dev/null @@ -1,109 +0,0 @@ -{ - "id": "resp_012090f5253a42f1016a88858f4b3487d0b1ac22e032241668", - "object": "response", - "created_at": 1787331983, - "status": "completed", - "background": false, - "billing": { - "payer": "developer" - }, - "completed_at": 1787331989, - "error": null, - "frequency_penalty": 0.0, - "incomplete_details": null, - "instructions": null, - "max_output_tokens": null, - "max_tool_calls": null, - "model": "o4-mini-2025-04-16", - "moderation": null, - "output": [ - { - "id": "rs_012090f5253a42f1016a88858fd7b887d0b2b394916984b6d5", - "type": "reasoning", - "content": [], - "encrypted_content": "gAAAAABqiIWVOtMCQGZdKNgrRFErw4F7RiI8cMdtM4eaRkYw4sbFQqrOl7-mhDmJnLgLJ57oCPUOrS8JTtGLVCgeY0XS4nZ5cqVgOttnhXos_p4tdDCvRDQLG_4j9Pg3TN8joQQmi_hTLm9hd0qm2tO_sZoFaOQMEKlN775gxbugkty7pWITVOjHSaym7eXkSp6j8wNLxzoqKZ6OR1oJkiF9UJezEqRMc2HVijKGJK3Ff73svJFrWK2S1BmbRuOuHwBOYCzltKwAhAFvx1ZqkuMV0DGAy-LL9TWTzBh2Tv6799T3Q4Jx6D_lIKqKGnWfcD9OHYjqPi8ChBzraLSfBO3iu1hzSbm5VIr1T1D8DfwaalcaahiApVVBg5PKij085yZvP8pMKARplFfOENWSHgfrArBVXmmODEA7D0l5LFlCIFzzNuWa3ULmfsUantv8Z0AxccTN0VFGn2AaEHvWtI-IcYGJgUWMLg-rIkubMYMuOec_ejaUsYVpRUeak8fCBialPKs8Gbwjjr009SDwNXNxR7x1WoXpX7hRzcvQonaoK3B6sggJTsC72RLpfYeIe5r9Nvs19DorQnKJ7jQ13RD2EXuwfz1j_ZYYqLT4KEraOH7_tpXd-SynkW2riOX4t9NZGk1ZqTjBd2mo_6DcaxfVyiiVCtqPxnqS1X7WENahEJ7Z3CvbjYIAgtQOeuHChvHm53f3QB9TQXlOTxAGcVBcq3sf0K7-bHzDc2bkJgmhveV4CIK3jjdS2iHrcVj8xHEu0uluYSMWcn40BordcWbkWoS4amTyXGedHVMv_7Vc_o4uJ4ysPXGw9k4Mvl5Lm6c03TcPZwvVS1UPpveCUW411aYyrc-DaCPD5az4OkO5hPpR2cBdb-6qPKWP1qFN0N3JP2nAV0xCQARy13CFjZEdY_GnzJGqrs6Tgwmow8DcHcK8uqIk0q-9-lraYHJfbQmzzXSeMwimipX2GpCy5YB5OBBxx-HwYHEwwa7fHnlhqOxG8dTmfc03V8Bgc5JrPr859RTGcPBMyuXNtN5vLQJX2ewdETGtxCVcDQs4-acMLEcHFjlV3KZmhyTaCWprS7AZByEwtrpXKRhpNTqpMVJCoIn-Jgc5CLsdEa_IzMcb8VeHy5JLO-yhdvmxNPgejRvjCggnJlPck5SKJExM8JfBTrQPRRkU6LJurg5FoeY6EkVMn_v7ioilTo2eJMcDIO0zQaJu363WI4VEJ1tFis0vLrNQBbN51YWJuOf59lLNqSUWfTZNrsSWYDS40R9VO_RdG4UQMrMXpf3FhUe5n88cPKVAmulzV4M5B6MG6IOD9zmzj8pzEVPpbft8S4Q92iZlJNVGqT8VFWME-zMeEGRpuqwzM_GmU-oGlrC6nS_qxlKp8VZu_UgvHHWCZeuhBnympdkPb5sPgJa-FCVmW8voZFFlYiZojb7gtFW_NN25CGiM8BLdAVOk_oSTsLLJUeMCfk7u1fEDgntjE3VGzI4ujjMNH5-A8VVu84vd13f3mqM0AZlj9q5K_5b_idGxA5PPj2kxeURWY4hhdv993IloGyWiq_j3S2tifoWbwWqferIS9G63jDLdoHTnMUU7VOnn0cOo8E_mQrg-opjEaNDpc4h_JbgUQat3GSNx4KKABPts-MEsa2QpFoL5p9iqVMuX54XHqbfcTKiihFFWdqiNJx2_rCNah-8lcTrdZHOlmBOV81Oar6e_jlFTO5dLC13vn-Bq1GEQjQLnOkKt_MbcWbzpz8f3EBFxlYC6pybqJ7B6zsR2MddONQwA3mhTOGM6Bb9IdluDm9MywPwnCY3kJcJD4ElwXR2hZWF-YoCOHWb91kwg9t-ArL7QFMO2dLzg6I3EvjeShm3DJuaxqi27s1RrbtbbI9aoulYlWg9nAkNwtn_PbATtSJrvz9COF3ksJqN58ZzC8xLWsMIy3FSHe3GTrGEzdF8roSzuQ5DawEZxMToGGkR_9GGguwJNSrT3y9Taiv2GyZIqAJIbreLYdGFWdl5YjxLbcq96Rr5FFAoZZLId2-zXYgr-XsoFlThZAgo82f_F6RPIPMJV_5JVejUyjjUEuJbpcABTgh9tIRJCMWG3ZDX9iXoAtL5L2phuElXY_v-2afNqYW_qbaItzIhvXANGqrl5shm_TLH5c_o7OMsHd9lREPOx2tEdDmrpFYtATQe7bdFbG6XsWCZZHPCWT4rSSjkUUOy5HAwcpsHDJiTAhiT--AZkM81CsFfq3YyUK5H8YFPd5kJhX_zjL-58OLXq5rGbAbdJBCRJjQfewHX7giT2PbiJth-xhjxn_776xwHrIo_VptlbsBPDy2KhfwMW9qExrGXy0urOwS43UqIgH_HJ9O05XDSxx3L9m-wxVnYgnUUTFzS9rR_RsFp8QXAExJxKnYoOdfqyei1Oin7eD_Y4NKQTFmdlFwvFFqTPISLFnlY7dDkFgPNGdj3uAhEHITfM3LEvaIo7KwglLkOj9ciLNp7J6bYMeFV-8hJtWeJVCnhIsjUV9IzA3I9-5zqwOo7gU-zXEoOSf3btL0OngK4WXGVq1YOUuk3EACqr6Df2", - "summary": [ - { - "type": "summary_text", - "text": "**Calculating pronic numbers**\n\nThe user wants the 10th pronic number, which I calculate as \\(a_{10} = 10 \\times 11 = 110\\). They also asked for the sum of the first 10 terms, which I break down step by step. Using the sum formulas, I find that the total \\(S\\) is 440. So, the 10th term is 110, and the sum of the first 10 terms is 440. I think it\u2019s also helpful to mention the formula for the sum." - }, - { - "type": "summary_text", - "text": "**Summing the first 10 terms**\n\nI want to calculate the sum of the first 10 pronic numbers. The formula involves summing \\(n(n+1)\\) from 1 to 10, giving me a final result of 440. I think it\u2019s nice to show derivation too, like breaking it down into \\( \\text{sum } n^2 + \\text{sum } n\\) for clarity. So, I\u2019ll produce the final answer without heavy formatting, but using a simple bullet list should work well!" - } - ] - }, - { - "id": "msg_012090f5253a42f1016a888595423c87d0bf9fb17dde106072", - "type": "message", - "status": "completed", - "content": [ - { - "type": "output_text", - "annotations": [], - "logprobs": [], - "text": "The 10th term is \n a\u2081\u2080 = 10\u00b7(10 + 1) = 10\u00b711 = 110. \n\nThe sum of the first 10 terms is \n S\u2081\u2080 = \u2211\u2099\u208c\u2081\u00b9\u2070 n(n + 1) \n = \u2211\u2099\u208c\u2081\u00b9\u2070 n\u00b2 + \u2211\u2099\u208c\u2081\u00b9\u2070 n \n = [10\u00b711\u00b721/6] + [10\u00b711/2] \n = 385 + 55 \n = 440. \n\nYou can also use the closed\u2010form \n S\u2099 = n(n + 1)(n + 2)/3, \nso S\u2081\u2080 = 10\u00b711\u00b712/3 = 440." - } - ], - "role": "assistant" - } - ], - "parallel_tool_calls": true, - "presence_penalty": 0.0, - "previous_response_id": null, - "prompt_cache_key": null, - "prompt_cache_retention": "in_memory", - "reasoning": { - "context": "current_turn", - "effort": "high", - "mode": "standard", - "summary": "detailed" - }, - "safety_identifier": null, - "service_tier": "default", - "store": false, - "temperature": 1.0, - "text": { - "format": { - "type": "text" - }, - "verbosity": "medium" - }, - "tool_choice": "auto", - "tool_usage": { - "image_gen": { - "input_tokens": 0, - "input_tokens_details": { - "image_tokens": 0, - "text_tokens": 0 - }, - "output_tokens": 0, - "output_tokens_details": { - "image_tokens": 0, - "text_tokens": 0 - }, - "total_tokens": 0 - }, - "web_search": { - "num_requests": 0 - } - }, - "tools": [], - "top_logprobs": 0, - "top_p": 1.0, - "truncation": "disabled", - "usage": { - "input_tokens": 186, - "input_tokens_details": { - "cache_write_tokens": 0, - "cached_tokens": 0 - }, - "output_tokens": 580, - "output_tokens_details": { - "reasoning_tokens": 384 - }, - "total_tokens": 766 - }, - "user": null, - "metadata": {} -} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/openai/__files/responses-63d9a3745169.json b/test-harness/src/testFixtures/resources/cassettes/openai/__files/responses-63d9a3745169.json deleted file mode 100644 index 33bd887c..00000000 --- a/test-harness/src/testFixtures/resources/cassettes/openai/__files/responses-63d9a3745169.json +++ /dev/null @@ -1,107 +0,0 @@ -{ - "id": "resp_0348cfee672d66ba006a4d3423a6d48199815a94fccaa5d0df", - "object": "response", - "created_at": 1783444515, - "status": "completed", - "background": false, - "billing": { - "payer": "developer" - }, - "completed_at": 1783444523, - "error": null, - "frequency_penalty": 0.0, - "incomplete_details": null, - "instructions": null, - "max_output_tokens": null, - "max_tool_calls": null, - "model": "o4-mini-2025-04-16", - "moderation": null, - "output": [ - { - "id": "rs_0348cfee672d66ba006a4d34242224819998603a2f2c0e3512", - "type": "reasoning", - "content": [], - "summary": [ - { - "type": "summary_text", - "text": "**Calculating pronic numbers**\n\nI'm working through pronic numbers, defined as a_n = n(n+1). For the 10th term, a_{10} is 110 since 10*11 equals 110. To find the sum of the first 10 terms, I break it down: I need the sum of squares and the sum of integers, which adds up to 440. I confirm that summing the pronic numbers directly gives the same total, and I also derive a formula for the partial sum, which checks out. So, the results are the 10th term is 110, and the sum is 440." - }, - { - "type": "summary_text", - "text": "**Finalizing pronic numbers**\n\nTo finalize my calculations, I find that a_{10} is 110, calculated as 10*11. For the sum of the first 10 terms, I break it down into the sum of squares and the sum of integers, which equals 440 (385 + 55). I also have a formula for the partial sum, S_N = N(N+1)(N+2)/3, which confirms this when I calculate S_{10} as 440. So, I've got my answer: 110 for the term and 440 for the sum." - } - ] - }, - { - "id": "msg_0348cfee672d66ba006a4d342b6304819993c7c9771c741f6b", - "type": "message", - "status": "completed", - "content": [ - { - "type": "output_text", - "annotations": [], - "logprobs": [], - "text": "The nth term is a\u2099 = n(n + 1). \nSo the 10th term is \n a\u2081\u2080 = 10\u00b711 = 110. \n\nThe sum of the first 10 terms is \n S\u2081\u2080 = \u2211\u2099\u208c\u2081\u00b9\u2070 n(n + 1) \n = \u2211\u2099\u208c\u2081\u00b9\u2070 n\u00b2 + \u2211\u2099\u208c\u2081\u00b9\u2070 n \n = (10\u00b711\u00b721)/6 + (10\u00b711)/2 \n = 385 + 55 \n = 440. \n\nEquivalently, one can use the closed\u2010form \n S_N = N(N + 1)(N + 2)/3 \nto get S\u2081\u2080 = 10\u00b711\u00b712/3 = 440." - } - ], - "role": "assistant" - } - ], - "parallel_tool_calls": true, - "presence_penalty": 0.0, - "previous_response_id": null, - "prompt_cache_key": null, - "prompt_cache_retention": "in_memory", - "reasoning": { - "context": "current_turn", - "effort": "high", - "mode": "standard", - "summary": "detailed" - }, - "safety_identifier": null, - "service_tier": "default", - "store": true, - "temperature": 1.0, - "text": { - "format": { - "type": "text" - }, - "verbosity": "medium" - }, - "tool_choice": "auto", - "tool_usage": { - "image_gen": { - "input_tokens": 0, - "input_tokens_details": { - "image_tokens": 0, - "text_tokens": 0 - }, - "output_tokens": 0, - "output_tokens_details": { - "image_tokens": 0, - "text_tokens": 0 - }, - "total_tokens": 0 - }, - "web_search": { - "num_requests": 0 - } - }, - "tools": [], - "top_logprobs": 0, - "top_p": 1.0, - "truncation": "disabled", - "usage": { - "input_tokens": 177, - "input_tokens_details": { - "cached_tokens": 0 - }, - "output_tokens": 574, - "output_tokens_details": { - "reasoning_tokens": 320 - }, - "total_tokens": 751 - }, - "user": null, - "metadata": {} -} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/openai/__files/responses-70788f27285d.json b/test-harness/src/testFixtures/resources/cassettes/openai/__files/responses-70788f27285d.json deleted file mode 100644 index 9eafc2c8..00000000 --- a/test-harness/src/testFixtures/resources/cassettes/openai/__files/responses-70788f27285d.json +++ /dev/null @@ -1,111 +0,0 @@ -{ - "id": "resp_0348cfee672d66ba006a4d34155a808199b1dd5ee6b27810d4", - "object": "response", - "created_at": 1783444501, - "status": "completed", - "background": false, - "billing": { - "payer": "developer" - }, - "completed_at": 1783444515, - "error": null, - "frequency_penalty": 0.0, - "incomplete_details": null, - "instructions": null, - "max_output_tokens": null, - "max_tool_calls": null, - "model": "o4-mini-2025-04-16", - "moderation": null, - "output": [ - { - "id": "rs_0348cfee672d66ba006a4d341602f48199af393909c4e1bb43", - "type": "reasoning", - "content": [], - "summary": [ - { - "type": "summary_text", - "text": "**Identifying sequence pattern**\n\nThe user asked about the sequence 2, 6, 12, 20, 30, and I'm noticing that it looks like it\u2019s based on triangular numbers multiplied by 2. Triangular numbers are 1, 3, 6, 10, 15, so when I double those, I get 2, 6, 12, 20, and 30. It turns out the nth term formula is n(n+1). These numbers are products of consecutive integers, so I can express it as 2*T_n, where T_n represents triangular numbers." - }, - { - "type": "summary_text", - "text": "**Identifying the pronic number pattern**\n\nI'm analyzing the differences in the sequence: the first differences are 4, 6, 8, and 10, which increase by 2, indicating a quadratic formula. The general formula is a_n = n^2 + n, representing pronic numbers, or the product of two consecutive integers. If I index from n=1, the formula yields 2 for the first term. Essentially, I can summarise that the pattern is products of n and n+1, or triangular numbers doubled. Therefore, the answer is a_n = n(n+1)." - }, - { - "type": "summary_text", - "text": "**Finalizing the formula**\n\nI want to make sure I include the explicit formula in my answer. The formula for the nth term of the sequence is a_n = n^2 + n. This neatly summarizes the pattern I've identified. It fits well within the context of pronic numbers, where each term represents the product of two consecutive integers. So, to wrap it up, the explicit formula is indeed a_n = n^2 + n. That's my final answer!" - } - ] - }, - { - "id": "msg_0348cfee672d66ba006a4d3422ab8081998a4d5d38ea5fe453", - "type": "message", - "status": "completed", - "content": [ - { - "type": "output_text", - "annotations": [], - "logprobs": [], - "text": "The terms are the \u201cpronic\u201d numbers (each is the product of two consecutive integers):\n\n 2 = 1\u00b72 \n 6 = 2\u00b73 \n12 = 3\u00b74 \n20 = 4\u00b75 \n30 = 5\u00b76 \n\nIf you call the first term n=1, the nth term is\n\n a\u2099 = n\u00b7(n + 1) ,\n\nequivalently\n\n a\u2099 = n\u00b2 + n." - } - ], - "role": "assistant" - } - ], - "parallel_tool_calls": true, - "presence_penalty": 0.0, - "previous_response_id": null, - "prompt_cache_key": null, - "prompt_cache_retention": "in_memory", - "reasoning": { - "context": "current_turn", - "effort": "high", - "mode": "standard", - "summary": "detailed" - }, - "safety_identifier": null, - "service_tier": "default", - "store": true, - "temperature": 1.0, - "text": { - "format": { - "type": "text" - }, - "verbosity": "medium" - }, - "tool_choice": "auto", - "tool_usage": { - "image_gen": { - "input_tokens": 0, - "input_tokens_details": { - "image_tokens": 0, - "text_tokens": 0 - }, - "output_tokens": 0, - "output_tokens_details": { - "image_tokens": 0, - "text_tokens": 0 - }, - "total_tokens": 0 - }, - "web_search": { - "num_requests": 0 - } - }, - "tools": [], - "top_logprobs": 0, - "top_p": 1.0, - "truncation": "disabled", - "usage": { - "input_tokens": 41, - "input_tokens_details": { - "cached_tokens": 0 - }, - "output_tokens": 962, - "output_tokens_details": { - "reasoning_tokens": 832 - }, - "total_tokens": 1003 - }, - "user": null, - "metadata": {} -} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/openai/__files/responses-7fc8497bbe6a.json b/test-harness/src/testFixtures/resources/cassettes/openai/__files/responses-7fc8497bbe6a.json index f4834f46..acae993b 100644 --- a/test-harness/src/testFixtures/resources/cassettes/openai/__files/responses-7fc8497bbe6a.json +++ b/test-harness/src/testFixtures/resources/cassettes/openai/__files/responses-7fc8497bbe6a.json @@ -1,13 +1,13 @@ { - "id": "resp_01d05b55cbe8c4a5016a8885f1433087d0b6ca64613756b6f1", + "id": "resp_0101af2ea84b56a6016a95bbc5316087d0979c70b5e36ed044", "object": "response", - "created_at": 1787332081, + "created_at": 1788197829, "status": "completed", "background": false, "billing": { "payer": "developer" }, - "completed_at": 1787332083, + "completed_at": 1788197836, "error": null, "frequency_penalty": 0.0, "incomplete_details": null, @@ -18,7 +18,7 @@ "moderation": null, "output": [ { - "id": "ws_01d05b55cbe8c4a5016a8885f1ca6487d0b1785ad0fc537caa", + "id": "ws_0101af2ea84b56a6016a95bbc7f0e887d0893eed6df9b97576", "type": "web_search_call", "status": "completed", "action": { @@ -30,7 +30,7 @@ } }, { - "id": "msg_01d05b55cbe8c4a5016a8885f2a49887d0a403dbd3456a0c73", + "id": "msg_0101af2ea84b56a6016a95bbc9b6b087d0a716c1e9db704ba9", "type": "message", "status": "completed", "content": [ @@ -39,14 +39,21 @@ "annotations": [ { "type": "url_citation", - "end_index": 333, - "start_index": 278, - "title": "Blab AI | Artificial Intelligence News, Tools & Research", - "url": "https://ai.blab.com/?utm_source=openai" + "end_index": 277, + "start_index": 162, + "title": "Exclusive: AI advocacy group launches data center push in battleground states", + "url": "https://www.axios.com/2026/08/31/ai-advocacy-group-data-center-battleground-states?utm_source=openai" + }, + { + "type": "url_citation", + "end_index": 478, + "start_index": 297, + "title": "Exclusive: AI advocacy group launches data center push in battleground states", + "url": "https://www.axios.com/2026/08/31/ai-advocacy-group-data-center-battleground-states?utm_source=openai" } ], "logprobs": [], - "text": "On August 12, 2026, Health Secretary Robert F. Kennedy Jr. and CMS Administrator Dr. Mehmet Oz informed a Senate panel that artificial intelligence is being utilized to address healthcare disparities in rural areas, though evidence supporting its effectiveness remains limited. ([ai.blab.com](https://ai.blab.com/?utm_source=openai)) " + "text": "An AI advocacy group has launched a $50 million campaign to support AI data center development in battleground states, starting with Kansas, Ohio, and Wisconsin. ([axios.com](https://www.axios.com/2026/08/31/ai-advocacy-group-data-center-battleground-states?utm_source=openai))\n\n\n## Highlights:\n- [Exclusive: AI advocacy group launches data center push in battleground states](https://www.axios.com/2026/08/31/ai-advocacy-group-data-center-battleground-states?utm_source=openai), Published on Monday, August 31 " } ], "role": "assistant" @@ -116,11 +123,11 @@ "cache_write_tokens": 0, "cached_tokens": 0 }, - "output_tokens": 84, + "output_tokens": 142, "output_tokens_details": { "reasoning_tokens": 0 }, - "total_tokens": 400 + "total_tokens": 458 }, "user": null, "metadata": {} diff --git a/test-harness/src/testFixtures/resources/cassettes/openai/__files/responses-863a18378a48.json b/test-harness/src/testFixtures/resources/cassettes/openai/__files/responses-863a18378a48.json index 8f7dedfb..48100693 100644 --- a/test-harness/src/testFixtures/resources/cassettes/openai/__files/responses-863a18378a48.json +++ b/test-harness/src/testFixtures/resources/cassettes/openai/__files/responses-863a18378a48.json @@ -1,13 +1,13 @@ { - "id": "resp_0fd34b7865f2b4fb016a888580c77487d093ba11e867c0fe71", + "id": "resp_0361c6f6e309f1f8016a95bbd1189087d0b387e3b8d495ef84", "object": "response", - "created_at": 1787331968, + "created_at": 1788197841, "status": "completed", "background": false, "billing": { "payer": "developer" }, - "completed_at": 1787331982, + "completed_at": 1788197848, "error": null, "frequency_penalty": 0.0, "incomplete_details": null, @@ -18,27 +18,23 @@ "moderation": null, "output": [ { - "id": "rs_0fd34b7865f2b4fb016a888581425487d0acd28225666210fa", + "id": "rs_0361c6f6e309f1f8016a95bbd2579487d088adb7c5629d550b", "type": "reasoning", "content": [], - "encrypted_content": "gAAAAABqiIWOHz5M8h5bslZ6IoOp-cVpniJSp-o-Yy0QqwPVslWuroyJpr023KlTiUtvClh2hx4jjhIN-BonTL3w1DkConhfVQEWG1opx8cvsjcDaYYV_B6dsBNpqblR9DMMLgBHNIR18gbafISJWtlJGjECkbVq8p5Q0gWIRMfvZoDIGxDVxxqAB9wtRq-2knAcW7Q0tpoYVA485y83Msfm44WccYB2Y-Oo9LTtj3rn16wKwd6sTfhna5qVsyFNIYisr_VTEl6qsgad5c0HH9LOaxkAyVkRba4YpPi2N0UApv9dNY2t6lQ_q9p6_xeqjOhL8s3Mp11rGU27OWj3Nz6lDqml0nwaNejGYM18PI9bvuFELu90PRV0i5tZA4rcrPygx1n-osa1JWNCcqhVL-laF7qSBsY88JZqfkhqUApx4yvvekyXB-NXzCdR7JnEANPS7GW6z3PUX1rkiiRZ9GL47y7sdD-_AneBy-gZl5ARkrv4coJMpxUodYczfeCuvUbVJVmhWJK2FF_b9NsF3EZzU6CGcYx5O4O6NaWSv_wyycl9LDImHeUThlNbmAYi71awm8pCcjXvI8-BU8ueX0K3FAertEUEEJHzS06xECKgjGNgLros3HxNgPVZJzsHzCnct5TY6rjTMH59lE61siIoGZYSooP8wetZ5l3lijv6UJL5rgOkdCIIz8bqulOoPeWZgrXsNO_JIoV5Il5-caHTmyLj5pQ8bqnKiyq7IHnAWxlWAcfTd9T3z3FzbizFHdDT1XRXCyKOolfZCJgcpPa7fmS7HrDDTPqY2DLsywCXIVLzJRP-SN4bxLHUNdk2fjPcJN_t1kCKNH83HKOYQPbshPhiCEkuAdgPUWTVt3DocNujmOkKcIAmbLROwFSSg-j6oY28e6jMIWy-6KZgFf28l2iyupAhucKuW7VWTvmeWR9vZ1Nr8tCqG6En9VPaqDOCzSOeUPV1gVTg_HCA-TPLM0COTjjyFZi354u-CSAyaeSYyWQ21SMX8WHhhTGEMMAKUH5YPgaXXbhCQMULe5e00Dp9hVjszdmyMWwCGhYlCBUGDX311ygKcDMJA4Fxc89VceukP9Q4O6OFTBcc3mCSpZUBXdJ12XntKJwlgpfJ75_HiX7JyJi0QI799e9n8vxNcE5xr09ulNkb_Yv_nLrPOrJ3_D7dpCGjMSEjpxRpdXCZ5a78NMzzhx9Dwf4ZCyrYVaKb_SXjfndVoCoraRYKvrGNsidXYLrVGrWCA339upM-z34B5-7KitNgEPoKCnRHpjoyElze0N6IXgcI6jHK330NuK1jdfWeZboh0BDt3sP5yuQ8NIO29QrnQQT32fISeNBGNnyvcosADvRlTDEAymRshbx8myu0CgMcIXeLluEvH2jR6g7qLfQ-mctT8t0J6QV0WKCw6NBssAdGiMexvck-C-nipOdyz2coXPDoEcSKK6rf5GD9HS3XIv9I4FOdCZ2D0Yf3xe8Nx1qSdq3Mok3_X-mz3W8SDns3yKtZt9jiMG6qGJTojhhxZQzGR71gVej1V7DJZfDsS4FaPE3V6wANtT6nCMMQaZ91dey3G0drroffM7-4h58m3Pd-eYC_duqz0i1bc3DOBKAmJSWfMoSC0V4cKhVAFVOwmBwABu-QF-f7T5UXAVSbBSzpFXiZdq_7ZjPwW4o3raWxwQp2tJqLkZMDxv0m9epLByCGil2pIxydutNMjciWnQQAul6UlmPrQevo24_WjR55yLF2UTcvxcq2koF64syKGUVvm6daxg6Tyu_jwWTPC3bluKL7_iAFiYRN7bBXudRBo05vfg5LHLhgBNH-xJrnXX6h0QQyozNj-axMljlnVGz8s5FO2x1aFf9tVk_xDSa2_iEGo2pcoj_c_w_n3QZzhMU2vHSGfweLfBXbwoweXbdN6x5zAoatCoV6enaMsauD-4JsHdEORdF4bVx3cijrpyFNxuwhq8rundXgdCjuku2HMUS5d8dprPtkR_5qEwLnZfLd1a6taMOpQSUQeJAO9hycEP5IXsVaY1yrCsRmmeC1s2Uu5pTZANsYWvk-AsBAXBiRrnZbx1909pg0LYMihLphPsunmENm2KSpcVu1P35EW-_eV_sO3nUIiyrdbirk3Boc6Zeqbz5EmjRnZa7rcZJhnrRsCvEzRHiCgYUmQ_YFwXavpccpfZvBNPERa_yIRPAohnsxLWrN_bcAfde3nnWWnYf4g6r3bovU7VHit6PGOybQQaaQw71Rlzsdc_w4Ly5WtIzVx8GUqgXRxCgovt5o-ofncb2xo-na37NmO0uKJ0WrbBavpDTNsMrnoxGAUm4HDV49MVy6QR6Xy3jbuoOb29AE16v1V949O6veUDQODXVqmv3uA4H3VnlgBVeolkmM6zYFeyXbnx7HMwAUi0jnOELgdluE9dEU8ETk6o9T127A2XUVqTH20RDgLmO4cXAsS2dI2z8v-t6luzjdwMDra1KP6J3G6qaUK-c_OspKGn79N0_vpBmdU5OospataO_sxOqxCpwJdRaKFJ5y4op_PeFhPsXlOG3LIq1Lpm_B5Rkd2glEkCe2wJbAQPq9RgkUyddd5b1oLg5wFwnxcxr8hCplsbkkm2kDjDmscoo8i-1Im6EXxXnkq0dIQ_5UdGerHVfxYCoZcbAFQT1maw3-bVaMyi9HuKD1sMOXOxMclgm_1vEQMt_xp0iJapp44MTZOI8hd1KZVwhEx---qJP48BqmFe_mGN1uEv7uzVsOYdiyFGCmudEGDHQ2xBcsEuhLZn3w2yh6keCGVBzl9F0T7329oIZtxPvziEILeSXjt-S4Pld5DDYMjCnOue6wK9IA4eQNxKdXqqnwh608aJUDnFRIefV-mN29Uth9AwOVmEQ5QC59_qZF1Q7w7t9qgYH-9gwt41j2kijxWRVBvDxFaqU6rijChAcwJOIZT6N8BOE0qNQp9qzilVUlU9Eh7QV0tdNB4If6NKKRprGs87b_DQlOSlusTsgDIdPMueyApg_Cr9mlcBfEhI0wWlRZYTrnG44bHZb4I1Tsw4g-lw8vRpAfEWjqzR6Gb3Ikdj03tD5VQfFwemdRzQ81XTOnP2vlSsTY-yiIlDF6eWBw7-mOZNr_eh9LQNEJKCgOiessNqqrlWJ3snXqk3vN1BBDp_rmWt63Qb271JPI9xTwq2GrfA4xf0cN09qhKCvK7zBNUlVYP7nGDSJDg22gdyspzMnTMXGA_1X_UneGnQGgfjM86YfvMqePAevRoSdEqG9MKgSJIEXNGRF8KxCLct0KauQ1XN0Tf4oqpFXIhCWELkKZIB6jPDAX7uGRbbLkvL5t2v42mgpgpU0DeUs32MNynsTB_XeOb1fr_KULKCiJ4ArezWsVB756ITArMbBCn-7oOMqAdKl-SfCTqCLKaWzxuOyGmTmrfRmMmOsDaVgpViz5ZAnvY1BzK-iEnCCrS8gVTzyWT9OrwDGHH_Dqwf2rGuNct1rDBJTQlTcYV6e5vUNBtYLcuPEUX1dK_iG8i7coFfxlgi1wVEdFczmThdof1KKnFeF0OZz5tjlmbukLHAmwpd_mLXlHAm4m0QXdUmToT7KrYAJ8ty3fVsr1oyd20Eeh7NWaGUNQt9-yI9l3A7MVwZ9w5L3a10qRqAdnsjOg-P0OGOOwm96Si4KDa0T3B8jWha99m6rU1hBVMD5ivi9HEYLujAdZpFsf0BqStzf2A2u0TdQVP4sNQSaZF7XVMqe1omzAxLYm2LVHbrM96PzD5i4T4P-t8i7OtSKwzH7vJ0xCG9ubtdcn_UrzYG0gE5GOl918f-ZDwbx2tL0pfkFCRQDzXN94zh1PgoIBsNBxLaFINuHL62UokLmyOW9v5yNbN-CeTC3S2MCgboEiLcOgG-gTwjJu9YFY_Ri_vPiJhEo6Nr3HWtD_PCW2UrRyN58Nh0IQZQPYRk_FFpoMzU7V0jPSUKwlb1B3LPjMHbMEYNQDq0wfRC4DCYM7ymyXD4wNkgfebqt_XmPMnfUIFCvWpFcHJDcxogAqHHSRnDOOhsZ85rDkgoY5KS1y-tYPjokjxZ2cj-BE-f7M-1BSDTpPejCUf1P2U7VPDHyX6o7w-fAyz0hf-LW9O1bnE-FmooB7Uvjwvobin3XQHNG5u9bMpv7lFuPp76KeABJACv3BCBNzxX3EjNiFCI9H3kb0oWrJ0stiPai1tey4qm3iOIE6SqZmgzXV-qrvhUdyxjvopZr2M0N4agZExH7eQU5J2KYIDHqel8dn9Gcd3pDzkCNf--hR7To2jgAd5eJg-WPGj1G13noH1SjMEnsSUnY-ij5IkKXEE4Z0UECiCk524twhc4GUAbOTO0-w2MwRPQxY0sKdLvOonwIolHqOUZech1idkEWSW-11RuG80WaZ6iM92V0e9GyoblW9BjToPeK412o3UdK4ZzuzNMYAlnPnTFiRdhgnZXlLD0XzdNA5RA3NThOU-w3BCCQOzgDzzC-95_KqA7oGajbK9P7jpmeYNvJ73eG8GH0zcE2B9YUdXnb7HG61uMPV2wO0YcTVpGG1Uze8S7L1PPR_kTqgnyC1f2odlyi_xcByxB98eZEHHA0-fJMZ0DaFNt58wpfdoJEVYb3biOV1t1VD9_n7cWQM8kIXIWFEkFmCsEglJX9vpKbkdlYJ7KUv2EIs4cUCaEUUF-UC1YEyacc7goiDtcSKXCnsR97vswEROuACLmG6g_pG-7CEYyfo6T0oeTxuWa9qwwKECYppXJAagHgViYe_ONVhjCsfSgkMbu6Lv2dQgSWIXFwRZds1yc16r60NBC866HsIiEOtUk5l4z6FDbBWaEsFaFN7R7f3sw3OniMDFcldE85iYg7ZMAhnyRrxSF9yohy4H1yEug3wy5qqesLAnxaHCah8WA2yUY6CUQSOam4K7ohXsrhqgus=", + "encrypted_content": "gAAAAABqlbvYExiVEN0PpKufywUbaup2cuEwH0bdepoaoOvuKkJxPF8FeJJOjVnJ5GXeeDWf4f_aKLwh5FuYHTm6tA-obuyqmOPkQjOYzIZhoJFxiPC0jaMR2wo0dDnjyifjoEwtxjubkgESbidVkpiOT1furUoAKw2fvUwkA6-B9d3ontlw4-IPGNl90PxaDR-4DpK9sDTnAg04W6P09xdhvlvNo80JbX6kuJROnVpUlthFEUtbq938i5Qu2OWDWQi_Zf6X02AteH5JjKhHGOKnnquapSe_fUJq-5XMnUZauKcY4HJ3QX7OVcMzd-wNBb8LVEIzH7Sb56-5ufu8tvzZXomqHoE9sMKFoAdPqA3rCTEUJIr0iXbFK34zmb-hZpmoNau1eIiE5SUVUUYqrY1IPSwKxuKWV9gtQeiPB3_Uctj19yohGplOcqWY1itcegVUMX9mdKA6jDQXAywEzgzGAneYapu5GOpyYZnNk_2Z9rZL8uw9Twc5YPowPm5lvtN4FIdqLjhRw7lsdshamzKwXXYcAu73BDDHTV0bxi6WFDQeMAw4KigfCL4kKPTPOEEABR1MFgo9FZ-vG7f4JzZWfibOmuNAe_MVNfXlrRk6fkaf11fBWEwlX24mCRZFtzvBaNawozP6c0NETtP22sOpzqR94Fpnk-v72AocHlDXOaNT6LTN4jOVqZgAU5b7pFKP3ZXVdU3jpjk3pglvjimeRLAM0HJm8li2CpR4NwJbZBZKVuARGJb3LWep7h2EDAUKKO5RQH5-VS9Es4AnEUjVED6j0dANEHCMvJjg0MtTvAf7WfsYSJDhuynm5jBLO023oUASn79HFI_UBt_m6RzlIEqGxggRBqMAZL7r-2giMzWvITGTAVf8r8MDf2JpTdaruTnDQFZwmkROghHNflGeP855i4cB3baAtGIcUFymzmNPRo-oI0GexuLBZilRXADIVtEXdpcK0F-oChIQfcX5jQloD5AIvIX14zmv3ji73rc4EegE1u8UEO9KyLDWMRUr_mrerCsQJ3VIVKjHcRCeJ-_R27msJrAKI6cnnazUt4igcxYAm-qNfN0XeNEL-PllSKDfjSdVS5eHgttK1lXjlh82bWyeN_9IP1foF2_NnxVNtZrWinrQiCBCQ1j-Bzdh3-GyQ0PLLUrNQIzDbndtqYRL4B_DtUw2EbNv5f8ypXM5H9sNyMMvJunHSPlj3hHWoGx5xyKCxBwVuJYG03dsAhfnNSmEZ4qK04c6hvWs7TE0iKWsymihBBCwcvUqQTAn83ACfPPMIGdbS9sWfcOrzqjOmo5GkWEw9Okn6VOZrRhsAbasFEOpVd9lebfu9mDZKUcafIhdxT3cFoUSLi4FhsgBF4E0tZ345asumwPEa5LkcOeYrjEl5MGzLmirxTM9q0BJZDjc5O4aAKpVL9JeTqE6bDty_AgNcTfKVlt8cnPTZkm5-oLxGSQft61pn44NB7h7hWXwY7JQVrhIdRDgY6B4z4FASrV6d1YOj4Yl9GXnk0TYyxxZ7Ih_FQOphXpxqvZNeiTWdVfwqv2dv8QbDOwfuHBIXGLQ-CYEtUfQl9RCZ0-YjzmEzdXF9evJTgdTm_C-x-j2IAQMHgZVeYCJvFGvt-qX2XepXduaaBOQFenPAN5cF7E7ic33eeUdqoHFiuj-1RMs0eYCsNH-Qb1cLvTQ_GbR_O6cm6F-RftLaJohXPjaY-885Fi3SPLhJxbAjpB4t9KrX1JB5MnyVmri9g8f8F6-_6_1ypPXOnoZZJ2hQ1xU8UksX53zwIiKPBWPXvUA4lj_uZzDbsLN3YFawBKg1tbD7ir3ZCLpsSpade_Zqlg3lHFKhLEOJu54mSM5E8r-wL9Se9dsgqKwsC6Fnl9TTS5R3KVS_n8Tf7U3MXjlSEyN3MR_C40kSTRBl5vwrKa2ZkitFRIykBkRhnv9m8SM0FTRjIjtVt7-_tFe_Kt1qgTgA-vdf4-hu6Y7L-Mav2Hr3-3xRt7IW4ZSz7QwQA3Rj1NoQY4cWhEzMWWguRQRSeeWQXF8g0XVGYNbaMUXafdP8p77wfEJIM87Y-opI7xCZMsstGnfk4zCVAsitL_R-6qGuYfVuvF-rrMV8_9qMYbdH1O_KFVn_Vi9jXICK3pFVtJCmDfuUf5QDzT_mtjcRfKYeO3rnat1BiurIVqyfZkA5HaSoySslJ_5gb4lFy2X_vye0fSeZ7cIqFvnF-l7he6SncvUbiZ2Ko0gSb5rCCEX6HAbk0ZTF7h4bpH54FNpV4wy045U_YFNXZ0IbilPcZig_TaF-aP2b74wS3id0mhOHndt2HBSd2ffNQTmj7XxJ4JPkTkL6chiXvTAQEqPnKCy05ZBy9xfn8bL4fCaiYhYv8v7ZFNUDUz6ZNerlyekMp40-eCerlkk39Hju2GE7jBkrzpGpuwGQynI20sXCfew6lWq-7c9dZYxrjsaH7QP_uariE8plG9GS1qEdH-VTC7H0Vcuv81uKu3s1wVf2eOR2Fvkbj7xCQUhNwA5ba-SsBJjSO21RycIcsr43UJzecwV5On51zZ689s7juFH65HtA1M-RqwO0jsC54nlQ2Vbp3fFu6_Dpu49fi0iaJyYfHGk8OxyFykwwUBDe1PRgk1yh2awE3Q6x2OManROmbsjxrxBKR0vuotLl1RcIkbqqr43FxORo3K-R0oCl1tg2RQ8eCVkq5di7gwttanLXAOKEGBQpD_3k4gOdKRM6knT0zuLmT4wOzqID_iKDtvb47vRvDFgIJEXl8jJdnApILoXki-Afw==", "summary": [ { "type": "summary_text", - "text": "**Identifying a pattern**\n\nThe user wants to find the pattern in the sequence: 2, 6, 12, 20, 30. I notice that the numbers can be expressed as products: 2 = 1*2, 6 = 2*3, 12 = 3*4, and so on, leading to the formula for the nth term being n(n+1). This yields terms like 42 for n=6. These numbers are known as pronic, oblong, or rectangular numbers, and can also be derived as a_n = n^2 + n, depending on how the indexing starts." + "text": "**Identifying the sequence pattern**\n\nThe user asked about the sequence: 2, 6, 12, 20, 30. I see that these numbers can be expressed as n(n+1). For example, 2=1*2, 6=2*3, etc. I'm realizing they represent pronic numbers, which are products of consecutive integers. So, the nth term formula is a_n = n(n+1). This sequence\u2019s differences are also revealing a pattern: 4, 6, 8, and 10\u2014interesting how those connect!" }, { "type": "summary_text", - "text": "**Clarifying the formula for pronic numbers**\n\nIf we start indexing at 0, the formula a_n = n(n+1) gives a_1 = 2. I initially thought of triangular numbers, but these aren't quite right. They're actually double triangular numbers because a_n = 2*T_n. Ultimately, the simplest expression is a_n = n(n+1) or n^2 + n. The sequence shows an increasing difference of 2, confirming it's a second-order polynomial. The main takeaway is that these are pronic numbers, with the formula being a_n = n(n+1) when starting at 1." - }, - { - "type": "summary_text", - "text": "**Explaining indexing for pronic numbers**\n\nIf we start from n=0, the formula a_n = n(n+1) gives a_0 = 0, but the sequence begins at 2, which suggests starting from n=1. So, the pattern is that of pronic (or oblong) numbers, with the nth term expressed as a_n = n(n+1) for n starting at 1. If I were to index from 0, the formula would be a_{n}= (n+1)(n+2). Since the user specifically asked for the pattern and formula, this covers the complete answer." + "text": "**Clarifying the formula**\n\nI see this is a second-order linear sequence, where a_n = n^2 + n, starting with a1 = 2 \u2014 that's good! The pattern shows that I'm adding even numbers, beginning at 4 and increasing by 2. Each term corresponds to the product of consecutive integers, confirming the formula as a_n = n(n+1). So for example, 2=1*2, 6=2*3, and so on. I've got it all summed up now\u2014I've reached the end!" } ] }, { - "id": "msg_0fd34b7865f2b4fb016a88858e7ed887d0b9a40d5e6371e072", + "id": "msg_0361c6f6e309f1f8016a95bbd7c57c87d0adcfbcfa7f29dc2e", "type": "message", "status": "completed", "content": [ @@ -46,7 +42,7 @@ "type": "output_text", "annotations": [], "logprobs": [], - "text": "The terms are the \u201cpronic\u201d (or oblong) numbers\u2014each one is the product of two consecutive integers:\n\n1\u00b72 = 2 \n2\u00b73 = 6 \n3\u00b74 = 12 \n4\u00b75 = 20 \n5\u00b76 = 30 \n\nIf you call the first term a\u2081, the second a\u2082, etc., then\n\n\u2003a\u2099 = n\u00b7(n + 1) \n\nEquivalently,\n\n\u2003a\u2099 = n\u00b2 + n." + "text": "Each term is the product of two consecutive integers:\n \u2022 2 = 1\u00b72 \n \u2022 6 = 2\u00b73 \n \u2022 12 = 3\u00b74 \n \u2022 20 = 4\u00b75 \n \u2022 30 = 5\u00b76 \n\nThese are called \u201cpronic\u201d numbers. In general, the nth term is\n\n a\u2099 = n\u00b7(n + 1) = n\u00b2 + n." } ], "role": "assistant" @@ -102,11 +98,11 @@ "cache_write_tokens": 0, "cached_tokens": 0 }, - "output_tokens": 1029, + "output_tokens": 528, "output_tokens_details": { - "reasoning_tokens": 896 + "reasoning_tokens": 384 }, - "total_tokens": 1070 + "total_tokens": 569 }, "user": null, "metadata": {} diff --git a/test-harness/src/testFixtures/resources/cassettes/openai/__files/responses-892784bdb435.json b/test-harness/src/testFixtures/resources/cassettes/openai/__files/responses-892784bdb435.json index 9ba31519..0ac2633f 100644 --- a/test-harness/src/testFixtures/resources/cassettes/openai/__files/responses-892784bdb435.json +++ b/test-harness/src/testFixtures/resources/cassettes/openai/__files/responses-892784bdb435.json @@ -1,13 +1,13 @@ { - "id": "resp_08dde0b6b0d5562a016a88860246cc87d0a0c1b9a9e5dd6ed7", + "id": "resp_0a4b79478d78bab2016a95bc96789087d0b0df7ca653c67156", "object": "response", - "created_at": 1787332098, + "created_at": 1788198038, "status": "completed", "background": false, "billing": { "payer": "developer" }, - "completed_at": 1787332098, + "completed_at": 1788198041, "error": null, "frequency_penalty": 0.0, "incomplete_details": null, @@ -18,7 +18,7 @@ "moderation": null, "output": [ { - "id": "msg_08dde0b6b0d5562a016a888602c22887d0af6540caaa8728de", + "id": "msg_0a4b79478d78bab2016a95bc9921e487d0860494333f647001", "type": "message", "status": "completed", "content": [ diff --git a/test-harness/src/testFixtures/resources/cassettes/openai/__files/responses-96490560b71c.txt b/test-harness/src/testFixtures/resources/cassettes/openai/__files/responses-96490560b71c.txt index 2a332e92..24db0eb1 100644 --- a/test-harness/src/testFixtures/resources/cassettes/openai/__files/responses-96490560b71c.txt +++ b/test-harness/src/testFixtures/resources/cassettes/openai/__files/responses-96490560b71c.txt @@ -1,45 +1,45 @@ event: response.created -data: {"type":"response.created","response":{"id":"resp_0a25ca716d77cd7d006a4d34c580c081999816d52b3cccf5f0","object":"response","created_at":1783444677,"status":"in_progress","background":false,"completed_at":null,"error":null,"frequency_penalty":0.0,"incomplete_details":null,"instructions":"You are a helpful assistant","max_output_tokens":null,"max_tool_calls":null,"model":"gpt-4o-mini-2024-07-18","moderation":null,"output":[],"parallel_tool_calls":true,"presence_penalty":0.0,"previous_response_id":null,"prompt_cache_key":null,"prompt_cache_retention":"in_memory","reasoning":{"context":null,"effort":null,"summary":null},"safety_identifier":null,"service_tier":"auto","store":true,"temperature":1.0,"text":{"format":{"type":"text"},"verbosity":"medium"},"tool_choice":"auto","tool_usage":{"image_gen":{"input_tokens":0,"input_tokens_details":{"image_tokens":0,"text_tokens":0},"output_tokens":0,"output_tokens_details":{"image_tokens":0,"text_tokens":0},"total_tokens":0},"web_search":{"num_requests":0}},"tools":[],"top_logprobs":0,"top_p":1.0,"truncation":"disabled","usage":null,"user":null,"metadata":{}},"sequence_number":0} +data: {"type":"response.created","response":{"id":"resp_0678e2a994c48031006a95bd7020b487d0b46a4ef4b3dcfe5a","object":"response","created_at":1788198256,"status":"in_progress","background":false,"completed_at":null,"error":null,"frequency_penalty":0.0,"incomplete_details":null,"instructions":"You are a helpful assistant","max_output_tokens":null,"max_tool_calls":null,"model":"gpt-4o-mini-2024-07-18","moderation":null,"output":[],"parallel_tool_calls":true,"presence_penalty":0.0,"previous_response_id":null,"prompt_cache_key":null,"prompt_cache_retention":"in_memory","reasoning":{"context":null,"effort":null,"summary":null},"safety_identifier":null,"service_tier":"auto","store":true,"temperature":1.0,"text":{"format":{"type":"text"},"verbosity":"medium"},"tool_choice":"auto","tool_usage":{"image_gen":{"input_tokens":0,"input_tokens_details":{"image_tokens":0,"text_tokens":0},"output_tokens":0,"output_tokens_details":{"image_tokens":0,"text_tokens":0},"total_tokens":0},"web_search":{"num_requests":0}},"tools":[],"top_logprobs":0,"top_p":1.0,"truncation":"disabled","usage":null,"user":null,"metadata":{}},"sequence_number":0} event: response.in_progress -data: {"type":"response.in_progress","response":{"id":"resp_0a25ca716d77cd7d006a4d34c580c081999816d52b3cccf5f0","object":"response","created_at":1783444677,"status":"in_progress","background":false,"completed_at":null,"error":null,"frequency_penalty":0.0,"incomplete_details":null,"instructions":"You are a helpful assistant","max_output_tokens":null,"max_tool_calls":null,"model":"gpt-4o-mini-2024-07-18","moderation":null,"output":[],"parallel_tool_calls":true,"presence_penalty":0.0,"previous_response_id":null,"prompt_cache_key":null,"prompt_cache_retention":"in_memory","reasoning":{"context":null,"effort":null,"summary":null},"safety_identifier":null,"service_tier":"auto","store":true,"temperature":1.0,"text":{"format":{"type":"text"},"verbosity":"medium"},"tool_choice":"auto","tool_usage":{"image_gen":{"input_tokens":0,"input_tokens_details":{"image_tokens":0,"text_tokens":0},"output_tokens":0,"output_tokens_details":{"image_tokens":0,"text_tokens":0},"total_tokens":0},"web_search":{"num_requests":0}},"tools":[],"top_logprobs":0,"top_p":1.0,"truncation":"disabled","usage":null,"user":null,"metadata":{}},"sequence_number":1} +data: {"type":"response.in_progress","response":{"id":"resp_0678e2a994c48031006a95bd7020b487d0b46a4ef4b3dcfe5a","object":"response","created_at":1788198256,"status":"in_progress","background":false,"completed_at":null,"error":null,"frequency_penalty":0.0,"incomplete_details":null,"instructions":"You are a helpful assistant","max_output_tokens":null,"max_tool_calls":null,"model":"gpt-4o-mini-2024-07-18","moderation":null,"output":[],"parallel_tool_calls":true,"presence_penalty":0.0,"previous_response_id":null,"prompt_cache_key":null,"prompt_cache_retention":"in_memory","reasoning":{"context":null,"effort":null,"summary":null},"safety_identifier":null,"service_tier":"auto","store":true,"temperature":1.0,"text":{"format":{"type":"text"},"verbosity":"medium"},"tool_choice":"auto","tool_usage":{"image_gen":{"input_tokens":0,"input_tokens_details":{"image_tokens":0,"text_tokens":0},"output_tokens":0,"output_tokens_details":{"image_tokens":0,"text_tokens":0},"total_tokens":0},"web_search":{"num_requests":0}},"tools":[],"top_logprobs":0,"top_p":1.0,"truncation":"disabled","usage":null,"user":null,"metadata":{}},"sequence_number":1} event: response.output_item.added -data: {"type":"response.output_item.added","item":{"id":"msg_0a25ca716d77cd7d006a4d34c6055881998058eae07426ddf6","type":"message","status":"in_progress","content":[],"role":"assistant"},"output_index":0,"sequence_number":2} +data: {"type":"response.output_item.added","item":{"id":"msg_0678e2a994c48031006a95bd71365087d0858e50466a2f84f6","type":"message","status":"in_progress","content":[],"role":"assistant"},"output_index":0,"sequence_number":2} event: response.content_part.added -data: {"type":"response.content_part.added","content_index":0,"item_id":"msg_0a25ca716d77cd7d006a4d34c6055881998058eae07426ddf6","output_index":0,"part":{"type":"output_text","annotations":[],"logprobs":[],"text":""},"sequence_number":3} +data: {"type":"response.content_part.added","content_index":0,"item_id":"msg_0678e2a994c48031006a95bd71365087d0858e50466a2f84f6","output_index":0,"part":{"type":"output_text","annotations":[],"logprobs":[],"text":""},"sequence_number":3} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":"The","item_id":"msg_0a25ca716d77cd7d006a4d34c6055881998058eae07426ddf6","logprobs":[],"obfuscation":"k94d0f00z6hSv","output_index":0,"sequence_number":4} +data: {"type":"response.output_text.delta","content_index":0,"delta":"The","item_id":"msg_0678e2a994c48031006a95bd71365087d0858e50466a2f84f6","logprobs":[],"obfuscation":"lcnBUd6syFLUo","output_index":0,"sequence_number":4} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" capital","item_id":"msg_0a25ca716d77cd7d006a4d34c6055881998058eae07426ddf6","logprobs":[],"obfuscation":"UptHX7XE","output_index":0,"sequence_number":5} +data: {"type":"response.output_text.delta","content_index":0,"delta":" capital","item_id":"msg_0678e2a994c48031006a95bd71365087d0858e50466a2f84f6","logprobs":[],"obfuscation":"wln1gCN6","output_index":0,"sequence_number":5} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" of","item_id":"msg_0a25ca716d77cd7d006a4d34c6055881998058eae07426ddf6","logprobs":[],"obfuscation":"CkSe4LUQKtPtb","output_index":0,"sequence_number":6} +data: {"type":"response.output_text.delta","content_index":0,"delta":" of","item_id":"msg_0678e2a994c48031006a95bd71365087d0858e50466a2f84f6","logprobs":[],"obfuscation":"VttgbIB93WShc","output_index":0,"sequence_number":6} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" France","item_id":"msg_0a25ca716d77cd7d006a4d34c6055881998058eae07426ddf6","logprobs":[],"obfuscation":"zCTix9gu7","output_index":0,"sequence_number":7} +data: {"type":"response.output_text.delta","content_index":0,"delta":" France","item_id":"msg_0678e2a994c48031006a95bd71365087d0858e50466a2f84f6","logprobs":[],"obfuscation":"iMBbm6RCk","output_index":0,"sequence_number":7} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" is","item_id":"msg_0a25ca716d77cd7d006a4d34c6055881998058eae07426ddf6","logprobs":[],"obfuscation":"jrmxhjZGbaMoq","output_index":0,"sequence_number":8} +data: {"type":"response.output_text.delta","content_index":0,"delta":" is","item_id":"msg_0678e2a994c48031006a95bd71365087d0858e50466a2f84f6","logprobs":[],"obfuscation":"gfBa1uMemjNiJ","output_index":0,"sequence_number":8} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" Paris","item_id":"msg_0a25ca716d77cd7d006a4d34c6055881998058eae07426ddf6","logprobs":[],"obfuscation":"mbs4xdFgOy","output_index":0,"sequence_number":9} +data: {"type":"response.output_text.delta","content_index":0,"delta":" Paris","item_id":"msg_0678e2a994c48031006a95bd71365087d0858e50466a2f84f6","logprobs":[],"obfuscation":"xn4mHBC8LY","output_index":0,"sequence_number":9} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":".","item_id":"msg_0a25ca716d77cd7d006a4d34c6055881998058eae07426ddf6","logprobs":[],"obfuscation":"jy8MI4dH9DGd2ZS","output_index":0,"sequence_number":10} +data: {"type":"response.output_text.delta","content_index":0,"delta":".","item_id":"msg_0678e2a994c48031006a95bd71365087d0858e50466a2f84f6","logprobs":[],"obfuscation":"II6CZVzpzHGyBvN","output_index":0,"sequence_number":10} event: response.output_text.done -data: {"type":"response.output_text.done","content_index":0,"item_id":"msg_0a25ca716d77cd7d006a4d34c6055881998058eae07426ddf6","logprobs":[],"output_index":0,"sequence_number":11,"text":"The capital of France is Paris."} +data: {"type":"response.output_text.done","content_index":0,"item_id":"msg_0678e2a994c48031006a95bd71365087d0858e50466a2f84f6","logprobs":[],"output_index":0,"sequence_number":11,"text":"The capital of France is Paris."} event: response.content_part.done -data: {"type":"response.content_part.done","content_index":0,"item_id":"msg_0a25ca716d77cd7d006a4d34c6055881998058eae07426ddf6","output_index":0,"part":{"type":"output_text","annotations":[],"logprobs":[],"text":"The capital of France is Paris."},"sequence_number":12} +data: {"type":"response.content_part.done","content_index":0,"item_id":"msg_0678e2a994c48031006a95bd71365087d0858e50466a2f84f6","output_index":0,"part":{"type":"output_text","annotations":[],"logprobs":[],"text":"The capital of France is Paris."},"sequence_number":12} event: response.output_item.done -data: {"type":"response.output_item.done","item":{"id":"msg_0a25ca716d77cd7d006a4d34c6055881998058eae07426ddf6","type":"message","status":"completed","content":[{"type":"output_text","annotations":[],"logprobs":[],"text":"The capital of France is Paris."}],"role":"assistant"},"output_index":0,"sequence_number":13} +data: {"type":"response.output_item.done","item":{"id":"msg_0678e2a994c48031006a95bd71365087d0858e50466a2f84f6","type":"message","status":"completed","content":[{"type":"output_text","annotations":[],"logprobs":[],"text":"The capital of France is Paris."}],"role":"assistant"},"output_index":0,"sequence_number":13} event: response.completed -data: {"type":"response.completed","response":{"id":"resp_0a25ca716d77cd7d006a4d34c580c081999816d52b3cccf5f0","object":"response","created_at":1783444677,"status":"completed","background":false,"completed_at":1783444678,"error":null,"frequency_penalty":0.0,"incomplete_details":null,"instructions":"You are a helpful assistant","max_output_tokens":null,"max_tool_calls":null,"model":"gpt-4o-mini-2024-07-18","moderation":null,"output":[{"id":"msg_0a25ca716d77cd7d006a4d34c6055881998058eae07426ddf6","type":"message","status":"completed","content":[{"type":"output_text","annotations":[],"logprobs":[],"text":"The capital of France is Paris."}],"role":"assistant"}],"parallel_tool_calls":true,"presence_penalty":0.0,"previous_response_id":null,"prompt_cache_key":null,"prompt_cache_retention":"in_memory","reasoning":{"context":null,"effort":null,"summary":null},"safety_identifier":null,"service_tier":"default","store":true,"temperature":1.0,"text":{"format":{"type":"text"},"verbosity":"medium"},"tool_choice":"auto","tool_usage":{"image_gen":{"input_tokens":0,"input_tokens_details":{"image_tokens":0,"text_tokens":0},"output_tokens":0,"output_tokens_details":{"image_tokens":0,"text_tokens":0},"total_tokens":0},"web_search":{"num_requests":0}},"tools":[],"top_logprobs":0,"top_p":1.0,"truncation":"disabled","usage":{"input_tokens":23,"input_tokens_details":{"cached_tokens":0},"output_tokens":8,"output_tokens_details":{"reasoning_tokens":0},"total_tokens":31},"user":null,"metadata":{}},"sequence_number":14} +data: {"type":"response.completed","response":{"id":"resp_0678e2a994c48031006a95bd7020b487d0b46a4ef4b3dcfe5a","object":"response","created_at":1788198256,"status":"completed","background":false,"completed_at":1788198257,"error":null,"frequency_penalty":0.0,"incomplete_details":null,"instructions":"You are a helpful assistant","max_output_tokens":null,"max_tool_calls":null,"model":"gpt-4o-mini-2024-07-18","moderation":null,"output":[{"id":"msg_0678e2a994c48031006a95bd71365087d0858e50466a2f84f6","type":"message","status":"completed","content":[{"type":"output_text","annotations":[],"logprobs":[],"text":"The capital of France is Paris."}],"role":"assistant"}],"parallel_tool_calls":true,"presence_penalty":0.0,"previous_response_id":null,"prompt_cache_key":null,"prompt_cache_retention":"in_memory","reasoning":{"context":null,"effort":null,"summary":null},"safety_identifier":null,"service_tier":"default","store":true,"temperature":1.0,"text":{"format":{"type":"text"},"verbosity":"medium"},"tool_choice":"auto","tool_usage":{"image_gen":{"input_tokens":0,"input_tokens_details":{"image_tokens":0,"text_tokens":0},"output_tokens":0,"output_tokens_details":{"image_tokens":0,"text_tokens":0},"total_tokens":0},"web_search":{"num_requests":0}},"tools":[],"top_logprobs":0,"top_p":1.0,"truncation":"disabled","usage":{"input_tokens":23,"input_tokens_details":{"cache_write_tokens":0,"cached_tokens":0},"output_tokens":8,"output_tokens_details":{"reasoning_tokens":0},"total_tokens":31},"user":null,"metadata":{}},"sequence_number":14} diff --git a/test-harness/src/testFixtures/resources/cassettes/openai/__files/responses-9a580e94f540.txt b/test-harness/src/testFixtures/resources/cassettes/openai/__files/responses-9a580e94f540.txt index fb91f3cc..a5411b44 100644 --- a/test-harness/src/testFixtures/resources/cassettes/openai/__files/responses-9a580e94f540.txt +++ b/test-harness/src/testFixtures/resources/cassettes/openai/__files/responses-9a580e94f540.txt @@ -1,39 +1,39 @@ event: response.created -data: {"type":"response.created","response":{"id":"resp_026c45b08e65b9f1006a7d498ce180819aaf91ff17efa5cc3e","object":"response","created_at":1786595724,"status":"in_progress","background":false,"completed_at":null,"error":null,"frequency_penalty":0.0,"incomplete_details":null,"instructions":null,"max_output_tokens":null,"max_tool_calls":null,"model":"gpt-4o-2024-08-06","moderation":null,"output":[],"parallel_tool_calls":true,"presence_penalty":0.0,"previous_response_id":null,"prompt_cache_key":null,"prompt_cache_retention":"in_memory","reasoning":{"context":null,"effort":null,"summary":null},"safety_identifier":null,"service_tier":"auto","store":true,"temperature":1.0,"text":{"format":{"type":"text"},"verbosity":"medium"},"tool_choice":"auto","tool_usage":{"image_gen":{"input_tokens":0,"input_tokens_details":{"image_tokens":0,"text_tokens":0},"output_tokens":0,"output_tokens_details":{"image_tokens":0,"text_tokens":0},"total_tokens":0},"web_search":{"num_requests":0}},"tools":[{"type":"function","description":"Get the current weather for a location","name":"get_weather","output_schema":null,"parameters":{"type":"object","properties":{"location":{"type":"string","description":"The city and state"}},"required":["location"]},"strict":false}],"top_logprobs":0,"top_p":1.0,"truncation":"disabled","usage":null,"user":null,"metadata":{}},"sequence_number":0} +data: {"type":"response.created","response":{"id":"resp_0d94288b66ecba68006a95bd6095c887d0bca30108cfb5e639","object":"response","created_at":1788198240,"status":"in_progress","background":false,"completed_at":null,"error":null,"frequency_penalty":0.0,"incomplete_details":null,"instructions":null,"max_output_tokens":null,"max_tool_calls":null,"model":"gpt-4o-2024-08-06","moderation":null,"output":[],"parallel_tool_calls":true,"presence_penalty":0.0,"previous_response_id":null,"prompt_cache_key":null,"prompt_cache_retention":"in_memory","reasoning":{"context":null,"effort":null,"summary":null},"safety_identifier":null,"service_tier":"auto","store":true,"temperature":1.0,"text":{"format":{"type":"text"},"verbosity":"medium"},"tool_choice":"auto","tool_usage":{"image_gen":{"input_tokens":0,"input_tokens_details":{"image_tokens":0,"text_tokens":0},"output_tokens":0,"output_tokens_details":{"image_tokens":0,"text_tokens":0},"total_tokens":0},"web_search":{"num_requests":0}},"tools":[{"type":"function","description":"Get the current weather for a location","name":"get_weather","output_schema":null,"parameters":{"type":"object","properties":{"location":{"description":"The city and state","type":"string"}},"required":["location"]},"strict":false}],"top_logprobs":0,"top_p":1.0,"truncation":"disabled","usage":null,"user":null,"metadata":{}},"sequence_number":0} event: response.in_progress -data: {"type":"response.in_progress","response":{"id":"resp_026c45b08e65b9f1006a7d498ce180819aaf91ff17efa5cc3e","object":"response","created_at":1786595724,"status":"in_progress","background":false,"completed_at":null,"error":null,"frequency_penalty":0.0,"incomplete_details":null,"instructions":null,"max_output_tokens":null,"max_tool_calls":null,"model":"gpt-4o-2024-08-06","moderation":null,"output":[],"parallel_tool_calls":true,"presence_penalty":0.0,"previous_response_id":null,"prompt_cache_key":null,"prompt_cache_retention":"in_memory","reasoning":{"context":null,"effort":null,"summary":null},"safety_identifier":null,"service_tier":"auto","store":true,"temperature":1.0,"text":{"format":{"type":"text"},"verbosity":"medium"},"tool_choice":"auto","tool_usage":{"image_gen":{"input_tokens":0,"input_tokens_details":{"image_tokens":0,"text_tokens":0},"output_tokens":0,"output_tokens_details":{"image_tokens":0,"text_tokens":0},"total_tokens":0},"web_search":{"num_requests":0}},"tools":[{"type":"function","description":"Get the current weather for a location","name":"get_weather","output_schema":null,"parameters":{"type":"object","properties":{"location":{"type":"string","description":"The city and state"}},"required":["location"]},"strict":false}],"top_logprobs":0,"top_p":1.0,"truncation":"disabled","usage":null,"user":null,"metadata":{}},"sequence_number":1} +data: {"type":"response.in_progress","response":{"id":"resp_0d94288b66ecba68006a95bd6095c887d0bca30108cfb5e639","object":"response","created_at":1788198240,"status":"in_progress","background":false,"completed_at":null,"error":null,"frequency_penalty":0.0,"incomplete_details":null,"instructions":null,"max_output_tokens":null,"max_tool_calls":null,"model":"gpt-4o-2024-08-06","moderation":null,"output":[],"parallel_tool_calls":true,"presence_penalty":0.0,"previous_response_id":null,"prompt_cache_key":null,"prompt_cache_retention":"in_memory","reasoning":{"context":null,"effort":null,"summary":null},"safety_identifier":null,"service_tier":"auto","store":true,"temperature":1.0,"text":{"format":{"type":"text"},"verbosity":"medium"},"tool_choice":"auto","tool_usage":{"image_gen":{"input_tokens":0,"input_tokens_details":{"image_tokens":0,"text_tokens":0},"output_tokens":0,"output_tokens_details":{"image_tokens":0,"text_tokens":0},"total_tokens":0},"web_search":{"num_requests":0}},"tools":[{"type":"function","description":"Get the current weather for a location","name":"get_weather","output_schema":null,"parameters":{"type":"object","properties":{"location":{"description":"The city and state","type":"string"}},"required":["location"]},"strict":false}],"top_logprobs":0,"top_p":1.0,"truncation":"disabled","usage":null,"user":null,"metadata":{}},"sequence_number":1} event: response.output_item.added -data: {"type":"response.output_item.added","item":{"id":"fc_026c45b08e65b9f1006a7d498ddbd8819aaa4874bb04c1e2d7","type":"function_call","status":"in_progress","arguments":"","call_id":"call_42HmCE0PN6HC6lCVKtRRUdU7","name":"get_weather"},"output_index":0,"sequence_number":2} +data: {"type":"response.output_item.added","item":{"id":"fc_0d94288b66ecba68006a95bd61cbb887d084ec956c0be52ebe","type":"function_call","status":"in_progress","arguments":"","call_id":"call_xpqm2J8UJ13kaKoaUlsXWgPF","name":"get_weather"},"output_index":0,"sequence_number":2} event: response.function_call_arguments.delta -data: {"type":"response.function_call_arguments.delta","delta":"{\"","item_id":"fc_026c45b08e65b9f1006a7d498ddbd8819aaa4874bb04c1e2d7","obfuscation":"qJHhtBjqWgwkEj","output_index":0,"sequence_number":3} +data: {"type":"response.function_call_arguments.delta","delta":"{\"","item_id":"fc_0d94288b66ecba68006a95bd61cbb887d084ec956c0be52ebe","obfuscation":"n95BKiJfKG6PWI","output_index":0,"sequence_number":3} event: response.function_call_arguments.delta -data: {"type":"response.function_call_arguments.delta","delta":"location","item_id":"fc_026c45b08e65b9f1006a7d498ddbd8819aaa4874bb04c1e2d7","obfuscation":"uxd3JppC","output_index":0,"sequence_number":4} +data: {"type":"response.function_call_arguments.delta","delta":"location","item_id":"fc_0d94288b66ecba68006a95bd61cbb887d084ec956c0be52ebe","obfuscation":"faEtSi9S","output_index":0,"sequence_number":4} event: response.function_call_arguments.delta -data: {"type":"response.function_call_arguments.delta","delta":"\":\"","item_id":"fc_026c45b08e65b9f1006a7d498ddbd8819aaa4874bb04c1e2d7","obfuscation":"ymfMrvVzWDJHj","output_index":0,"sequence_number":5} +data: {"type":"response.function_call_arguments.delta","delta":"\":\"","item_id":"fc_0d94288b66ecba68006a95bd61cbb887d084ec956c0be52ebe","obfuscation":"waqgWRxnpJVBs","output_index":0,"sequence_number":5} event: response.function_call_arguments.delta -data: {"type":"response.function_call_arguments.delta","delta":"Paris","item_id":"fc_026c45b08e65b9f1006a7d498ddbd8819aaa4874bb04c1e2d7","obfuscation":"0IaHOmRA2No","output_index":0,"sequence_number":6} +data: {"type":"response.function_call_arguments.delta","delta":"Paris","item_id":"fc_0d94288b66ecba68006a95bd61cbb887d084ec956c0be52ebe","obfuscation":"3TjdGxCFvtm","output_index":0,"sequence_number":6} event: response.function_call_arguments.delta -data: {"type":"response.function_call_arguments.delta","delta":",","item_id":"fc_026c45b08e65b9f1006a7d498ddbd8819aaa4874bb04c1e2d7","obfuscation":"veiRGFOE11ADrRd","output_index":0,"sequence_number":7} +data: {"type":"response.function_call_arguments.delta","delta":",","item_id":"fc_0d94288b66ecba68006a95bd61cbb887d084ec956c0be52ebe","obfuscation":"w1klS4y2zYlFBK9","output_index":0,"sequence_number":7} event: response.function_call_arguments.delta -data: {"type":"response.function_call_arguments.delta","delta":" France","item_id":"fc_026c45b08e65b9f1006a7d498ddbd8819aaa4874bb04c1e2d7","obfuscation":"zJF1wnhF1","output_index":0,"sequence_number":8} +data: {"type":"response.function_call_arguments.delta","delta":" France","item_id":"fc_0d94288b66ecba68006a95bd61cbb887d084ec956c0be52ebe","obfuscation":"AWUqteq4p","output_index":0,"sequence_number":8} event: response.function_call_arguments.delta -data: {"type":"response.function_call_arguments.delta","delta":"\"}","item_id":"fc_026c45b08e65b9f1006a7d498ddbd8819aaa4874bb04c1e2d7","obfuscation":"Fz2fYjJ33OVnhC","output_index":0,"sequence_number":9} +data: {"type":"response.function_call_arguments.delta","delta":"\"}","item_id":"fc_0d94288b66ecba68006a95bd61cbb887d084ec956c0be52ebe","obfuscation":"GgybNc4cjJmDNN","output_index":0,"sequence_number":9} event: response.function_call_arguments.done -data: {"type":"response.function_call_arguments.done","arguments":"{\"location\":\"Paris, France\"}","item_id":"fc_026c45b08e65b9f1006a7d498ddbd8819aaa4874bb04c1e2d7","output_index":0,"sequence_number":10} +data: {"type":"response.function_call_arguments.done","arguments":"{\"location\":\"Paris, France\"}","item_id":"fc_0d94288b66ecba68006a95bd61cbb887d084ec956c0be52ebe","output_index":0,"sequence_number":10} event: response.output_item.done -data: {"type":"response.output_item.done","item":{"id":"fc_026c45b08e65b9f1006a7d498ddbd8819aaa4874bb04c1e2d7","type":"function_call","status":"completed","arguments":"{\"location\":\"Paris, France\"}","call_id":"call_42HmCE0PN6HC6lCVKtRRUdU7","name":"get_weather"},"output_index":0,"sequence_number":11} +data: {"type":"response.output_item.done","item":{"id":"fc_0d94288b66ecba68006a95bd61cbb887d084ec956c0be52ebe","type":"function_call","status":"completed","arguments":"{\"location\":\"Paris, France\"}","call_id":"call_xpqm2J8UJ13kaKoaUlsXWgPF","name":"get_weather"},"output_index":0,"sequence_number":11} event: response.completed -data: {"type":"response.completed","response":{"id":"resp_026c45b08e65b9f1006a7d498ce180819aaf91ff17efa5cc3e","object":"response","created_at":1786595724,"status":"completed","background":false,"completed_at":1786595725,"error":null,"frequency_penalty":0.0,"incomplete_details":null,"instructions":null,"max_output_tokens":null,"max_tool_calls":null,"model":"gpt-4o-2024-08-06","moderation":null,"output":[{"id":"fc_026c45b08e65b9f1006a7d498ddbd8819aaa4874bb04c1e2d7","type":"function_call","status":"completed","arguments":"{\"location\":\"Paris, France\"}","call_id":"call_42HmCE0PN6HC6lCVKtRRUdU7","name":"get_weather"}],"parallel_tool_calls":true,"presence_penalty":0.0,"previous_response_id":null,"prompt_cache_key":null,"prompt_cache_retention":"in_memory","reasoning":{"context":null,"effort":null,"summary":null},"safety_identifier":null,"service_tier":"default","store":true,"temperature":1.0,"text":{"format":{"type":"text"},"verbosity":"medium"},"tool_choice":"auto","tool_usage":{"image_gen":{"input_tokens":0,"input_tokens_details":{"image_tokens":0,"text_tokens":0},"output_tokens":0,"output_tokens_details":{"image_tokens":0,"text_tokens":0},"total_tokens":0},"web_search":{"num_requests":0}},"tools":[{"type":"function","description":"Get the current weather for a location","name":"get_weather","output_schema":null,"parameters":{"type":"object","properties":{"location":{"type":"string","description":"The city and state"}},"required":["location"]},"strict":false}],"top_logprobs":0,"top_p":1.0,"truncation":"disabled","usage":{"input_tokens":54,"input_tokens_details":{"cache_write_tokens":0,"cached_tokens":0},"output_tokens":17,"output_tokens_details":{"reasoning_tokens":0},"total_tokens":71},"user":null,"metadata":{}},"sequence_number":12} +data: {"type":"response.completed","response":{"id":"resp_0d94288b66ecba68006a95bd6095c887d0bca30108cfb5e639","object":"response","created_at":1788198240,"status":"completed","background":false,"completed_at":1788198241,"error":null,"frequency_penalty":0.0,"incomplete_details":null,"instructions":null,"max_output_tokens":null,"max_tool_calls":null,"model":"gpt-4o-2024-08-06","moderation":null,"output":[{"id":"fc_0d94288b66ecba68006a95bd61cbb887d084ec956c0be52ebe","type":"function_call","status":"completed","arguments":"{\"location\":\"Paris, France\"}","call_id":"call_xpqm2J8UJ13kaKoaUlsXWgPF","name":"get_weather"}],"parallel_tool_calls":true,"presence_penalty":0.0,"previous_response_id":null,"prompt_cache_key":null,"prompt_cache_retention":"in_memory","reasoning":{"context":null,"effort":null,"summary":null},"safety_identifier":null,"service_tier":"default","store":true,"temperature":1.0,"text":{"format":{"type":"text"},"verbosity":"medium"},"tool_choice":"auto","tool_usage":{"image_gen":{"input_tokens":0,"input_tokens_details":{"image_tokens":0,"text_tokens":0},"output_tokens":0,"output_tokens_details":{"image_tokens":0,"text_tokens":0},"total_tokens":0},"web_search":{"num_requests":0}},"tools":[{"type":"function","description":"Get the current weather for a location","name":"get_weather","output_schema":null,"parameters":{"type":"object","properties":{"location":{"description":"The city and state","type":"string"}},"required":["location"]},"strict":false}],"top_logprobs":0,"top_p":1.0,"truncation":"disabled","usage":{"input_tokens":54,"input_tokens_details":{"cache_write_tokens":0,"cached_tokens":0},"output_tokens":17,"output_tokens_details":{"reasoning_tokens":0},"total_tokens":71},"user":null,"metadata":{}},"sequence_number":12} diff --git a/test-harness/src/testFixtures/resources/cassettes/openai/__files/responses-9ec1c9b92ff9.json b/test-harness/src/testFixtures/resources/cassettes/openai/__files/responses-9ec1c9b92ff9.json index 949fa432..7971090d 100644 --- a/test-harness/src/testFixtures/resources/cassettes/openai/__files/responses-9ec1c9b92ff9.json +++ b/test-harness/src/testFixtures/resources/cassettes/openai/__files/responses-9ec1c9b92ff9.json @@ -1,13 +1,13 @@ { - "id": "resp_09c031fc6e4a4e14016a8886039cdc87d0bbc2d0ca8c59d1eb", + "id": "resp_0d40e777d0428c5f016a95bca9f36487d09dc1a3505bea2575", "object": "response", - "created_at": 1787332099, + "created_at": 1788198057, "status": "completed", "background": false, "billing": { "payer": "developer" }, - "completed_at": 1787332101, + "completed_at": 1788198059, "error": null, "frequency_penalty": 0.0, "incomplete_details": null, @@ -18,19 +18,19 @@ "moderation": null, "output": [ { - "id": "fc_09c031fc6e4a4e14016a88860516cc87d0950dfd08dbbc162e", + "id": "fc_0d40e777d0428c5f016a95bcab8cf487d0811bb6ccedbf1ac6", "type": "function_call", "status": "completed", "arguments": "{\"arg0\":\"Paris\"}", - "call_id": "call_bSgzx73lJpOic45Tz17TF5Zo", + "call_id": "call_dlJJaeYbZqiLTojthEVSuD5f", "name": "getWeather" }, { - "id": "fc_09c031fc6e4a4e14016a88860516e487d09299471312720fc5", + "id": "fc_0d40e777d0428c5f016a95bcab8d0c87d0adde747ded153af1", "type": "function_call", "status": "completed", "arguments": "{\"arg0\":\"New York\"}", - "call_id": "call_IESRKUeQQSqSxxh2op9jKdrL", + "call_id": "call_kLgnom9OZNcToRYj0vDlqYyN", "name": "getWeather" } ], diff --git a/test-harness/src/testFixtures/resources/cassettes/openai/__files/responses-a2ceaa8491c7.json b/test-harness/src/testFixtures/resources/cassettes/openai/__files/responses-a2ceaa8491c7.json deleted file mode 100644 index b6380c85..00000000 --- a/test-harness/src/testFixtures/resources/cassettes/openai/__files/responses-a2ceaa8491c7.json +++ /dev/null @@ -1,111 +0,0 @@ -{ - "id": "resp_08a462d4f86dbfbb006a4d341164208199892cde168dd5a9a8", - "object": "response", - "created_at": 1783444497, - "status": "completed", - "background": false, - "billing": { - "payer": "developer" - }, - "completed_at": 1783444522, - "error": null, - "frequency_penalty": 0.0, - "incomplete_details": null, - "instructions": null, - "max_output_tokens": null, - "max_tool_calls": null, - "model": "o4-mini-2025-04-16", - "moderation": null, - "output": [ - { - "id": "rs_08a462d4f86dbfbb006a4d3411dce08199bfea223c8f6868be", - "type": "reasoning", - "content": [], - "summary": [ - { - "type": "summary_text", - "text": "**Analyzing the sequence**\n\nThe user is asking about the sequence 2, 6, 12, 20, 30, and I'm thinking this resembles pronic numbers, which are defined as n(n+1). So, I can see that each term fits this pattern: for example, 2=1*2, 6=2*3, and so on. I realize that if I consider indexing from n=1, the formula is a_n = n(n+1). It turns out the pattern involves multiplying two consecutive integers, confirming this quadratic relationship!" - }, - { - "type": "summary_text", - "text": "**Explaining pronic numbers**\n\nI'm solving for the formula a_n = n^2 + n, which indicates we're dealing with pronic numbers, as this represents the pattern a_n = n(n+1). The differences between the terms are increasing by 2, starting from 4. So, if n starts at 1, the nth term is simply a_n = n(n+1). \n\nAlternatively, for zero indexing, I could say a_n = n(n-1) for n\u22652. Additionally, each term is the sum of the first n even numbers. So overall, the final answer is that the pattern is pronic numbers, with the formula a_n = n(n+1) or equivalently n^2 + n." - }, - { - "type": "summary_text", - "text": "**Summarizing pronic numbers**\n\nI'm working with the formula a_n = n^2 + n, identifying this as representing pronic numbers. The pattern involves multiplying consecutive integers, so a_n = n(n+1). For example, T_1 gives us 2, T_2 gives us 6, and so on.\n\nIf the user wants more detail, I can mention that the first differences between terms are 4, 6, 8, and 10, which increase by 2 each time. Overall, I\u2019ll present both the pattern and the formula as: pronic numbers, a_n = n(n+1) or n^2 + n." - } - ] - }, - { - "id": "msg_08a462d4f86dbfbb006a4d342a0b208199ac6daf4cb9b9363a", - "type": "message", - "status": "completed", - "content": [ - { - "type": "output_text", - "annotations": [], - "logprobs": [], - "text": "Each term is the product of two consecutive integers:\n\n1\u00b72 = 2 \n2\u00b73 = 6 \n3\u00b74 = 12 \n4\u00b75 = 20 \n5\u00b76 = 30 \n\nHence the n-th term (with n starting at 1) is \na\u2099 = n\u00b7(n + 1) = n\u00b2 + n." - } - ], - "role": "assistant" - } - ], - "parallel_tool_calls": true, - "presence_penalty": 0.0, - "previous_response_id": null, - "prompt_cache_key": null, - "prompt_cache_retention": "in_memory", - "reasoning": { - "context": "current_turn", - "effort": "high", - "mode": "standard", - "summary": "detailed" - }, - "safety_identifier": null, - "service_tier": "default", - "store": true, - "temperature": 1.0, - "text": { - "format": { - "type": "text" - }, - "verbosity": "medium" - }, - "tool_choice": "auto", - "tool_usage": { - "image_gen": { - "input_tokens": 0, - "input_tokens_details": { - "image_tokens": 0, - "text_tokens": 0 - }, - "output_tokens": 0, - "output_tokens_details": { - "image_tokens": 0, - "text_tokens": 0 - }, - "total_tokens": 0 - }, - "web_search": { - "num_requests": 0 - } - }, - "tools": [], - "top_logprobs": 0, - "top_p": 1.0, - "truncation": "disabled", - "usage": { - "input_tokens": 974, - "input_tokens_details": { - "cached_tokens": 0 - }, - "output_tokens": 326, - "output_tokens_details": { - "reasoning_tokens": 326 - }, - "total_tokens": 1300 - }, - "user": null, - "metadata": {} -} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/openai/__files/responses-1f06cb88e828.json b/test-harness/src/testFixtures/resources/cassettes/openai/__files/responses-b6038b78fc83.json similarity index 93% rename from test-harness/src/testFixtures/resources/cassettes/openai/__files/responses-1f06cb88e828.json rename to test-harness/src/testFixtures/resources/cassettes/openai/__files/responses-b6038b78fc83.json index 6c2f39c8..5d3dcca4 100644 --- a/test-harness/src/testFixtures/resources/cassettes/openai/__files/responses-1f06cb88e828.json +++ b/test-harness/src/testFixtures/resources/cassettes/openai/__files/responses-b6038b78fc83.json @@ -1,13 +1,13 @@ { - "id": "resp_0c1f1c94cc5718ce016a8886057a2887d0a77ac05635b112c4", + "id": "resp_0fcf70de70a27938016a95bcacb0e887d09b2bd35eaf8f3529", "object": "response", - "created_at": 1787332101, + "created_at": 1788198060, "status": "completed", "background": false, "billing": { "payer": "developer" }, - "completed_at": 1787332102, + "completed_at": 1788198061, "error": null, "frequency_penalty": 0.0, "incomplete_details": null, @@ -18,7 +18,7 @@ "moderation": null, "output": [ { - "id": "msg_0c1f1c94cc5718ce016a8886060f5887d08c16276ccb7f7724", + "id": "msg_0fcf70de70a27938016a95bcad37dc87d09e67a37d6d9007e4", "type": "message", "status": "completed", "content": [ diff --git a/test-harness/src/testFixtures/resources/cassettes/openai/__files/responses-b7d2fa3f8bc3.json b/test-harness/src/testFixtures/resources/cassettes/openai/__files/responses-b7d2fa3f8bc3.json deleted file mode 100644 index bf98a659..00000000 --- a/test-harness/src/testFixtures/resources/cassettes/openai/__files/responses-b7d2fa3f8bc3.json +++ /dev/null @@ -1,107 +0,0 @@ -{ - "id": "resp_0ff02e989ebfcde4006a4d342c555c8199bace09090f0f7561", - "object": "response", - "created_at": 1783444524, - "status": "completed", - "background": false, - "billing": { - "payer": "developer" - }, - "completed_at": 1783444533, - "error": null, - "frequency_penalty": 0.0, - "incomplete_details": null, - "instructions": null, - "max_output_tokens": null, - "max_tool_calls": null, - "model": "o4-mini-2025-04-16", - "moderation": null, - "output": [ - { - "id": "rs_0ff02e989ebfcde4006a4d342cbddc8199a202842893922128", - "type": "reasoning", - "content": [], - "summary": [ - { - "type": "summary_text", - "text": "**Exploring the sequence of pronic numbers**\n\nThe user is asking about the pattern in the sequence: 2, 6, 12, 20, 30. These numbers represent the first five pronic or oblong numbers, calculated with the formula n(n+1). For instance, 2 is from 1*2, 6 is from 2*3, and so on. The general formula reflects this, and I also recognize that the differences between terms form an even sequence, leading me to confirm it as a quadratic pattern." - }, - { - "type": "summary_text", - "text": "**Establishing the pronic numbers pattern**\n\nThe pattern in the sequence is pronic numbers, where the formula is a_n = n(n+1). I can express it differently as n^2 + n, starting from n = 1. The first term is 2, and if indexing begins at 0, it shifts slightly. However, most commonly we index from 1, so the general term remains n(n+1). The differences between terms increase by 2, confirming it's indeed the pronic numbers\u2014also known as oblong numbers." - } - ] - }, - { - "id": "msg_0ff02e989ebfcde4006a4d3433942481999a50df50f13e8985", - "type": "message", - "status": "completed", - "content": [ - { - "type": "output_text", - "annotations": [], - "logprobs": [], - "text": "The easiest way to see the pattern is to look at the successive differences:\n\n 6\u20132 = 4, \n 12\u20136 = 6, \n 20\u201312 = 8, \n 30\u201320 = 10, \n\nso you\u2019re adding 4, then 6, then 8, then 10, \u2026 i.e. successive even numbers. Equivalently each term is the product of two consecutive integers:\n\n 2 = 1\u00b72 \n 6 = 2\u00b73 \n 12 = 3\u00b74 \n 20 = 4\u00b75 \n 30 = 5\u00b76 \n\nIf we call the first term \u201cn = 1,\u201d the nth term is\n\n a\u2099 = n\u00b7(n + 1) = n\u00b2 + n.\n\nHence the general formula is \n\n a\u2099 = n(n+1)." - } - ], - "role": "assistant" - } - ], - "parallel_tool_calls": true, - "presence_penalty": 0.0, - "previous_response_id": null, - "prompt_cache_key": null, - "prompt_cache_retention": "in_memory", - "reasoning": { - "context": "current_turn", - "effort": "high", - "mode": "standard", - "summary": "detailed" - }, - "safety_identifier": null, - "service_tier": "default", - "store": true, - "temperature": 1.0, - "text": { - "format": { - "type": "text" - }, - "verbosity": "medium" - }, - "tool_choice": "auto", - "tool_usage": { - "image_gen": { - "input_tokens": 0, - "input_tokens_details": { - "image_tokens": 0, - "text_tokens": 0 - }, - "output_tokens": 0, - "output_tokens_details": { - "image_tokens": 0, - "text_tokens": 0 - }, - "total_tokens": 0 - }, - "web_search": { - "num_requests": 0 - } - }, - "tools": [], - "top_logprobs": 0, - "top_p": 1.0, - "truncation": "disabled", - "usage": { - "input_tokens": 41, - "input_tokens_details": { - "cached_tokens": 0 - }, - "output_tokens": 771, - "output_tokens_details": { - "reasoning_tokens": 512 - }, - "total_tokens": 812 - }, - "user": null, - "metadata": {} -} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/openai/__files/responses-b9d1173a9de6.json b/test-harness/src/testFixtures/resources/cassettes/openai/__files/responses-b9d1173a9de6.json index 1d4f5976..97f783c8 100644 --- a/test-harness/src/testFixtures/resources/cassettes/openai/__files/responses-b9d1173a9de6.json +++ b/test-harness/src/testFixtures/resources/cassettes/openai/__files/responses-b9d1173a9de6.json @@ -1,13 +1,13 @@ { - "id": "resp_05afa406b7f02a5e006a4d34c25d908198bfe6801446863ace", + "id": "resp_02cc98ad06273a74006a95bd5b1eb087d099df8027a7abb301", "object": "response", - "created_at": 1783444674, + "created_at": 1788198235, "status": "completed", "background": false, "billing": { "payer": "developer" }, - "completed_at": 1783444675, + "completed_at": 1788198235, "error": null, "frequency_penalty": 0.0, "incomplete_details": null, @@ -18,7 +18,7 @@ "moderation": null, "output": [ { - "id": "msg_05afa406b7f02a5e006a4d34c30aac8198af64903498cde21c", + "id": "msg_02cc98ad06273a74006a95bd5bd08887d0ac535b427d306305", "type": "message", "status": "completed", "content": [ @@ -26,7 +26,7 @@ "type": "output_text", "annotations": [], "logprobs": [], - "text": "Paris" + "text": "Paris." } ], "role": "assistant" @@ -78,13 +78,14 @@ "usage": { "input_tokens": 28, "input_tokens_details": { + "cache_write_tokens": 0, "cached_tokens": 0 }, - "output_tokens": 2, + "output_tokens": 3, "output_tokens_details": { "reasoning_tokens": 0 }, - "total_tokens": 30 + "total_tokens": 31 }, "user": null, "metadata": {} diff --git a/test-harness/src/testFixtures/resources/cassettes/openai/__files/responses-bdae47d54959.json b/test-harness/src/testFixtures/resources/cassettes/openai/__files/responses-bdae47d54959.json index abe2251e..0764b072 100644 --- a/test-harness/src/testFixtures/resources/cassettes/openai/__files/responses-bdae47d54959.json +++ b/test-harness/src/testFixtures/resources/cassettes/openai/__files/responses-bdae47d54959.json @@ -1,13 +1,13 @@ { - "id": "resp_014bae2a3cae84fb006a888587054887d09cb90e54e098e2bb", + "id": "resp_0cdcf22d3808a85f006a95bbd61bbc87d0a4b3ddd0c8f4e33a", "object": "response", - "created_at": 1787331975, + "created_at": 1788197846, "status": "completed", "background": false, "billing": { "payer": "developer" }, - "completed_at": 1787331983, + "completed_at": 1788197876, "error": null, "frequency_penalty": 0.0, "incomplete_details": null, @@ -18,23 +18,27 @@ "moderation": null, "output": [ { - "id": "rs_014bae2a3cae84fb006a888587770487d089dae96990e2685f", + "id": "rs_0cdcf22d3808a85f006a95bbd7218887d09fb602e6a1419ef0", "type": "reasoning", "content": [], - "encrypted_content": "gAAAAABqiIWP_je4YqhxM-Co1J2sq_Cb9Zhpv6INr_Q1SPsOwKP9H7s2q72Yt1u23mCI3F7GOpAh2PT79JFzhfEFIav1dKNWs3-dJoNmZBbHL6JQYKLIl9dPkwKWwod0eOk6cLEHxDIT-lCgTj_ILIzJNj8vHJiR7v-vwuTYifn75OPB1AuMMvNSBGxfhY88_XDaPBo_H0t8z3gew3WHJGvOqPxgew9zIks6yeomlJ6Gb73Fvo_-uxTItdaXW18lTWVqSlzwZ9MZEbaHGvXHdU78LSkwX77MJgjeoGOPQynhiLSyDff0dPfMv4p7DRCfUfu3fbm8FfqgBz5RiSwPGVb5kx1thmNt6NG-9s-DCpDMySHtJ0sZVKcK1PgDQf8Pp-4_ap_xxVY5dYN4IKGqZguMox-D2jEQvZhMP8fcUXJ7Kl_y2Eq0s73cVLEyOHM1m6fiMPVkHs5gNScMkBbYGPIXKeAP9SrqiszzVQfat6zG5S2Qs-en0kL11xW1DIiEt_FL_7a9YE0IpawfSNjj8pRgc3DKelx4EwPeOkZakACY8WeAZmTxfGgPzs1ni8Jaczc5vyyFff06n3vLPjF6APdEZsaxcw-1APn2e-SkHJE4R2B186Mh-nWCyBQ5_81wpdWqZGi_UVddKuyTrPpIs0RJC0eiEKbRzOZsTvdhQ4Co3zJuIqpcZA9ZKbSIPtnw55qQCJn2SUdh19blJwP2QAlmAXFhDQRF8h0vJvqdJws0BSenkRxVPZXJC_xYWD95Lo9qvwZb5vs7TaXMDrvgaVpw1jqD0VA0TakTzYWG8gy8bbIR_5HxkSqsRL7jByDeNPSa1gN2PqUYYCmlP_jQzbbs_307JsBO1KQjs4USw6lK1yzws-aUcJ72aTJQ8PJZcpv41U1yKHMMdFSLiYK_EeaLVAxTGIy2gxBj5ax-S0I3pCJZ6KSqhmKsAaoThHpw1YOYbnH056dLwp41ktLS1B2KVBhteJJAaEsvwLD7edJSXeSoHM8Wc-GIN_sCrKj3_rDcsHMhc30-8d6UAY0JFr_RwsQ_KUx2_YPqFLPQBR6p5zkpdncJJYbgKUhd5kaVL-FdFN49ycntgXAzt3iUil50r2iRxCJzbl9jBU1cRH8hN2X855ZxcEC2d5B-fLnQmjrEK0yXJ0dce7yTZsw2dxKJ3JFonZX1rDrGW6iGA6tRhZy2RnW6qlFIqKuXdLItpgRp06Nxarg7Cw99QEvlQojxz-fOXtt5BsUnyXzenhfjh0G7i-56cm31BhpQGvseekgdn6BkteDbGG1zZ2mqtfnze0Bx1c1BaDDkcLNlbuNXtjHNSU9wQX0B6OWZOgqjpCCxHTr_pLw-ZJmEJZOkhyibhdjexDr4ytlo8JIPTNbRl2Hu1ICrkE7oiPyUajDACP6jn3UyE75y1NeDqh1IT04CLNxiMtNmwQhqaAkK9d8SdeCGYX6hYSp0KQm1i_7mifXwwA0zVF98UTLE7FGMHDw_x5c_IiVjMQ0Ocw4QDIkViw44d2m6iqQqMFqNSb5vET-wMSsYwJ2OPEzxhQn2ZtxQkniW7Vb85ZMoeSHICApitrswUSjP9RRb7X6UR9PMSHTkH0zpdOJqq48BLNe0Hujh_jtXMCm1QhVuhTYESs1b13ktJAnFmdoPArXwLYJ8znq36CMdY0fzWAUHiOEarZ_6ZPFT6vlwGaYBM-xEM1uWiGYOtSkFv91FOcr2U6AxC_B5QcCfZCL2DUcprsUyBVb6ucm1QghaYgAfhsUJx6yBodOxVnBd9ghJdAxgDEFA0QQbHx415wuUSVChG15IP-OTxzk5Se2M5F6AR-ccwnD1SlprHsJqsl0cZuQfM9y4xrpFdMsICI9xJzJolluqm6ULdba8MXugLZheh2GxE9nqT3JutRWghupz1R1VqIaHqI9B04rZ-OstZwNmMXSDkgfutUgp-7im6PV_wVHAhEzfom7J6okzEDWgo0HMeEDGfncr5JB_4swAEd7FX-Dl77DYToh3ter3PVLsA2aFW48KdJ1vNOdqSb9h0X6NEOgyi-aNOytMMb1Yra58YqMSsbTgbAblgD6ELvNMTn1MKVhnlpwx7llI8bIyk7ZXxbeh7rjQilzoJ1SfSKwhLZZiGNK3XZyB2qbH6NuOop23Cc7d81PgwLkXCYlP0gPGzKwurtPPgqSkJYV-4C38nkCFiiYr09WgfmCAu8mCfuqTSZ5L9ziTBOY7BsojPX_lvGhHOQOIXYmqlvA9hfJzzSLZP2HwM1ZTSsWbkl44ixlMhvDsNrzY_KD85fttdeEK_CbXdpo2Dl36GCoQU6Kp-IDVp12mbYqO0OSNklv0Ae01cUvkG4ckRZwEuiGUypvc2jaqE_HBcC5QpfTbLvvqIKlkvfYRCVqLpMb8NPoTj9i-zIBiUuBk833XV0bIkZ6REryBwL3-NWX-v3tXoUOKpOzXaZStfKJVwv_SIXf4XBQJb8kreRR38uQbCZamMdtWWbTOJwQhHhKsqZmknxbsrO8WwO6KTdFZbOtBh3iM9KCK8bg72fH3zpUdGE3hJ5pUVzxfgD3CkGKlRBNmYNpH9gN2ppkd_yl1ZbWj4iIIQpt2XtGhR0P1GSOJTVu7Aul91UFqoPGTuf_uRKkgsyK7vrvwQUZZahKjzHZ6ojOw--h1SEeGAefQBUhsND_olTeWrjdKl7tfPH-uE9WG2ZvFoKNXYfUoNL_pI4S0gXBH_liPCUNML2LV9hMeHZnkMO6XR4SN7bXIcvv8vcHjSYU1IK21dwfLmhjI3Ac8Y-n6kA6KtWm4G27hJM4LvqYHZVBB7Thf0f8OCKt_lT3GwB38mmZpAOMxegcFSJcHNHQme4XI6z_eH0wpPNyE-KILuVDIvBiIDJZ9ZRs2Afy9aveF7FsKuifcsztMGWBvtaeklPSc6j7VueuQXVDML8V3ZkS6zvHqvqsgR5T_K_LeNsySeH1z7SnyrvvqhQ4ejEvNW-awsbjYwE5yLSBhXmnryKTUNduIY2VctrZUI1E6mnlUVhuJf9LeebwI2_aYVRmWKq4BZKNuu5y7PWMUElJr_Vl2jRQJ1pB3fqG1C-uR_JNE-QvAYCFF22zkwN3cjGdYQ-II8S_v2jSLlkCoex7wU50fV_0glidNxASWurjrw2HK4_sdhDpIoI1b0I9C8Su3NY-cqlHGoApeKWOPq39rASi5T2Wp982tlVu9BT7aBz8hLC3gghVliPaUZI3fXQnpui_faCuHCb4oUMVCsFWLyM6-Tls9AumwBIEvIRWXeBTCgyn6zTAbjnUDs6MiKX4I9WSTak5u8Cc4p8kT8hGw0mH1LOfGmHflRecbopIi28hUzr0mhYLX2GzSUSS_JrvsiBWT_rv-ApFbTEQFIwaD-jpPuL7SQGscxU9GrZejSHU8x41UXsLrdyXg_STevIydG-RFdlzC_cY7Ga1G3WtjIgb3T3hvWkyE9iQE1Zgc1J-NKeaCkwCro0b2baiGQFJ1sVmys8ZGcNYAualOZEjUPSvi-qwXfUjGhixm4BRDZdL98t6DRlREpPp-LbsCvcQqb9mCnMEA4xjDFbPoDbFa1utnTbTV9EZlWZqFPJdmcJTE4_DuwpfK_DC6OgJWbEmTV-vmKdlSJ50Ml93B86BW_HiXvwG8DuQfDOFIAiU8VDJ70re-BJPMvJMlCQLiK9O3_Mk9iNNDOGSQ0NvgkxfBmwW42S82uRQIRae9sCX9KFuSG8y5MonUhtXTCQZ2onxbZlzAtAXKfzu6L_YOgR97lVW6EebU0RVP1pff892nZOpbgJ3wWvWdLBUND3mnis7vFVIdilR14CazdpZssGQVWW3CxrGwP8R4k3rWLgAXvPHHHYd3sSNPP2wV-4tmaOxn9EQ7HIpLStoCJjkbMlQHSjN1maDN1NwPJU-ZN4pfJUqYvPaahQd1tOv32N9Xb6EJS4QzxEGtuYrvG43ZtArLgQmytvecT4R05-i5_a3BXDQh6v65DQb9kCnCBsPLKmUa8Xs9bmAXsXv5ck7BwDnYCSpAeJsxUlOyK1nhgZdJZJiqSsvSnjgqbWXwUKpiFhUm41ejqMI0XvBRexFyywwP5YHaGtRzgkiMi5zD-ikTDb0siXEW9kjU86-JLcw1E3yx-msFBoMcYHJZI6CEE2CB8LNaaZRkx7potQ5Pm-4iPtNSljxBhjJFmbPKq59fCNs1_FlA94Y1d_73gL9FFN-DD-yAUqiRyiQLnbw_KaIgV0dtDAWMiqOSkJVgbIbb2T9ZvOn7s-7o8QA_YzLWAH0gm__IZXLlBEcx2hYsAPgArUmb-7Q_Hwl7cG9Srz5aAdsGVOimH04BA_1nRa8wmBC_vxK2OH1hHmiMNdwq9PJwrvBPO8gNL7R5LuO69kWVW80o9e56hDmei1pF6m1TncxjDlAa88wXbN78PknYY1Dxui9HRaKuBA-UTkgyVXd71B3jHy1Md6DHHYZh7mn8V1XNJ09AvjRPyct9YS28G_67L8jiFJF-ArKA4bNHhM1jWTfr5ouuS8oSVHa1Da0rSnI1NQNbS7heH8c9J2FvmwIaJpcV8ew8R5A7KSeIfM1QTRy2avko9abhTc2Usst2jkaFeDWu6JUl1Y3CvJsk1XkcnhL5Xjsi6rXOp0weJt0udtKEJ9CQOn0uRHgzrjthcSFmNixhfuyn_tErb6QDX9gYnt5I0rXvuHTiIRuLPLlFQfrRi_aVOfFAojWQ-o9fVKTDRckylSbuXdca9UGePq0j", + "encrypted_content": "gAAAAABqlbv0R1eufJtJbpIkOfSDwwyF5lQNyx50eyNFEAQYx630DXHxgoY9Jq3Tr-55UnSd6tmfLMfB-J6kUQ8cC4ou18k1bNH5wWN2tr8R6qRHS5_7b9ars4VkbJ9VOo4vEghADLo3XSZLVDqAxJPv17iLQXxfkTXgO-3SlFFYdFt-P8qQsW6eGGzQvZBSrN4E14vZPfPUleTkWwttsdlyA8Ma7Yio2rhmQOyflOhQfU2QVZ7s2JwvAPAbjF8_e5MHsD5jvhzvGWhHOKlNJrQ2Jd9tMQjkzWciwEzy1wjxP52x0m-in6cEHr2zhh_rKwHtOUSeC8DvqjeY76hOH4vLuuGe6GWxvQnhRZvu4MUdnPh0V9DiYiNwcaf2oawPKGQ81Ym3qwXRM2LC-qvYDJ2NHDkCNHZW7FSoJt8w-T7KhT-Bs-VaV4biMqs0sPHkJQ2Fs9yBSu8SqauxboASnx5ivXIsO4tI860xy4cW1B9-aWyqdFXSvi4QKYf7FuGU_aWbNr8-atpgj8Z_NITWh9z7XUXTgPHQ8I9wBoA4ThK1gicMnyG6HalA7lmeUeMhiSnfUMdOCAhp2_orJf4l0EZ3PMCxneIiFIXeoMIPq3YVQm6kswbEROUTFG3JlKchrTJ6Fed5sbtAGlN4vektll9l6U1iWgL8ZjAI995qSe6zcf0UhE75sR_KZNSS5W-jWFO1k-FzfrBouMzTYegfBmllfZ2DbA_iQz8chQoDQyb2-_9ALHs9Gq6F8ar5KY1jbnh1RV1jlRsXlAfjG9-4ibqyRHsHv7bMLe0M4SngpnEhpK-G-RCLk3L5ij4Jh3Vp_amD3o6LpLzcpANbLac-geQFzxUzImDO_Ior0CAGLyiMemXE0mBY5auEtsDny6SRKwZH98bluWH-U9PFB_nONLq07klJZuygho9BJ7Uc51jwXL279U74DjTaH0yfZhFckXfeIsEfOHRkJUVtXeiqUtKksgnzrZ-WHyg-2VLIvoLMEqcK1o3b9aHNi7nJvPoFd1rZRdEtjrnNF9Yr_qTq_Vl-qbPm7ufNt9ZKuD0pCpnY4XGwvoJdetmL5HQJDcrqBpPvuM4FfyPc8Fi_SUikd5cAdlXtB9bysGzSIgVQyxIHUVOnGUxSOHqnb644NPze_mGP1uI02ZhwK55FbCOQTbX30ltwzEJxt3KRIjLOiJIO5rU2ogodcY4kPqg-HgB7NupgzL_Q9JyQZIp1uD063kMOvWB6vldjVw3kDsMVNFtlUIO6oafPwxNf1zaK4RUan718ephxQA6iS-9S2RBfYRnuuNrGUaunRmg37_1ttH_qAOc4zxIC3HobJoAvEi64b9VMu30jF7P17nctX5p_B98fN_dJE_rrbALg9LzHFD8QjomJGiseBoumw4D2X73Bb1ocyAxt3MmUvbYzw4aYPWKl4-TRIOKK176SN24aQ9vF3V3_rcfvghjsyiGCiIoTXy1ubghm9oMRv2gorYMmywxfLv1sQ9mjkDUJYoarmzRzzJLCyBhi4Qdd4KpOGdBwe9_ONm-whwTTDU8yzrwoOQNnjNBDDwaRQA3xowTg_Qx1QjSTZ2sF0nqPYvU0V6co0Wpd_8rJIAhalAGmLDDxx-U2Cy7VSg6fc2pXLBkfaOU_34apCygjec0Ne2Wn6SOfhSYDb8w7ChD6fUow7Vt5dA8hT6NBpIcQhwLb5TNYdBbKznBH_UULjCu5m0qmoSND-YAe2j2SLLTuXs3QZ3eOTeKGaFt6A9xTiXDdGnqmTweP-UYP2q4H2UJVX3f2nJ6xn7quRekZVylpl-PgMA4Zq_sVe1ir1gKCgXttnQM_bQ1OG5FIquWogHWuU42iM2nOfzXnD7tl_ugmdtO3qfcOPcypMKl8t87fROLKkBHeuhnscyehdFIl0DUkpgJZy6Uw6K0pF_UmYrv5c7pQfcS04C_R1XpsjOQVo2r9otSQYN_MqRgAIp_zu6orJp1gCWEte7t81a6KdAjIc8ryqV9mW0Xru6UAENxgfH3CrZkSVvryZ7tC9uURDZCd1jAfyoOuqJHwN2sTOF5-JdXevibb4Thy9UQftBy1vjP1KDHHUqoea9NHZdLDZgwq_kA0qtKNiw5lYj9SWp1UaqNYKOSWiC4EzXQGJ9d5S296e4H4QFqe0x_a1cWLO3-lOQ84hiZeSGmXl_JlLnUe4J53EaEzglKLsQ9EhTgQIL9dtHSVeQQfCeUspWpj_SjlRKFUoc5Hr81xLSXoX-pyYDvTdvE6GY9Un5UvjtNbRAXqjAqSg6gObhogzGU0eVWjNCUW_JqXLlvbcGBxLaFoACjrQOUnW3Jrqmn2_zzp8hrBxV5a1xzlyXM8-gu82qDckyJo74KiXT-z85Vbs2QKWmX_j-NubamctY_mSqQYpn1ihSYM1vMDBKPKxiUV8iHr006ALqoW3gmJwHWeaNgexE8X4bb_pAdRqHCEmou1AqUHDvA7bnqE8V6zM09DEDCei0FKPScse73slv5KBgmxJd-m3DHVsV9iRzHgE5678nffXor0DDkbMb0KeZMOk-Op_rCvlQbeWnvjkCDuQqfa4G4rCwEdOoEfj8-D16znJe2NiZKgGkZyRBd7-zGfY1ktxxft9bjot9bsGFkAeMsrL2fWFB4uAyRJUDnsXjHxTQZZa7htnTUOuQyLsgBA514h4AFPqVVUSyilQiRUyRt8ew3fpNuJMEm1C9nX1HAmiBqYkLA7YRtbwym-MMKPyIOA1fdi5_aUNXA6ilyUUytG3Cqn1J36nD_05XdJT15_MOjtwKwMTLIlL_Zxr0GeMXreYPb71tMZmbm7nKjttWDgd6tdQ9xKr9H4RSHdhPGBZ4z_36brBzQPZmC5MwqHL5B4e1igeApdanOlM2WJGdYYvhzgy0NonSbuFirLCy-TivmI7Qj0et06oStbEX8C7LjMEpiGjiMjT3m0VYVRggZgYizsTUxoSFBMN0tpbbQvCyQsthM-UbToje7uDppG9yfQH9rw1__AmGa7S02kVOju4wwSy_CNwPaHmtLEnCpWoGKVWxPE9eGtvJPaPOG3kJ0K4KLTbSM50JRezjY59pw630JeZLes8E7m_3f0XRaxP4gQSXaM83HM001Ae0zYjZLtFeRTygw9kIXPms1sUtP7qtPDimAw4HG008e6CCEvZ7OdcLP80uhc16afDLyXJH7B4bpTI44WRvtunScyNgaKVTzPfCGqpeF-q-8IjokZbgaymFVuNcDRLyvwTq1b6L_m3TiScvrJpd1YtQmJXbipfpTDdDbbcgunMBX8mmfWcO8atngnOwek490LnBJH1y3088DGAfN8lfi7pABZno3P1ctdhZqMw15EoRkZCC48UZxWtAWmqIigDmZOyOVbPEjA-8v9aWQ9ys5ofC-7ecnx-RAUh9TsFHpCnk53Asl20QdyYdFA2ZmlREx2Q0POGQgjGbTT3zS7TDiMvCs98SipQoHh_bYBKLG3qCOWrsOk87k1rErBM-caf6GIZeRtn-TfYIbnb8sRto8micDjh7riRgUHs9X8VPqwnR3B3eKHyVrS_gLt9dkKQRLXDS-qFzKdUP80AOnR5V9tlNKBdsR2Y1fMaVRk0SV-UPlxEB3aGbUdfBhxzknQxnc0cd0HaNTe1Eak4Bm5uHNnP7oNdxoIJ2o9haMpXyLmnVbKxXFnZbq7om319NGkbYO6yYeLw-XquQvJ03Up-EKQN0OT70OR6CWfKgL2kQcXWp7kwQa8OTis-5ueWeE1pSea3WTT37NSvILEch3CvBJzavZAo-6YM0Avd4mV5EyenDn0kQbShpwc6Ep_s2TJPErn73EdcNqLWRXGN812HHV89yvkx5ikXG7aMGOkk8LZ77bVkJ6tanVteeL6e6ob0-_Tiolv_bNKdzcHGuX-2m_mjrkpF60TDlp95Cgq-6z6MEai8iVGmOekPNdk2zNqXQGdUocOg5XhHYbtgmhmFLpJoE0ZykyMPZ4YyPkn01juVQtH0UvULwO7cQpJEm21lkt9DB3nEtEqnuAT8JxetIvk3FZhSXpuSwi8UqEgiRind2U_4BCHTbx6PDtwuVC5DXjvxWg90v5vQihn5jRIi8-VpU7HgfYftg9gxmZxQXHcc7RQFUw18L_EktGmbIqb3HWrjBaZ8wgRL7iCKefKVved-dJhofx3u7N-yUZHK0Ko7GEc_aF4x-4CkxmSuSgjjzYQPwdCZ_EXYNtNngAeWCaUcrKi_qP11K4NEkbG5_QX5-5tJFxlsrOwUftNNOYGjZc_E8RcSjlJJz11tY27nwDy2-5N5TJPNPKJNsYsVZSgyqhRtls1bRN8UqGxdxntGbprGQVyLdtRRfifF24wTHHfkZlZ0LwBSupapvViaq6UwcXYL-ke05gM-Tp-g94qcP29ikhRc1-sHmtBu3cd90GE3zklc03rBG13P-DtNVaAG_N_kQyKeSVYAUYXj4LOpn79BrJusj5QCXlvQWLXq8xzdvqb4Yp7nAQRphCUMg9xiFbUs0EfmgFhipxX8Rw_9fb2N2QsCctaDlqLrE28msB93S3lLhPJfl22Wjqt9for2Poz8Tz8TcGs3yZ-qBfHFrbD8J2mTRWD1iaGktJqZ5MIEnK0CilO-zwPRHDkgBMUpdQEdytTHHge3dyxhtOYgipdnausN0H83XzhK266FrVgNHzBkyKdibsUrI_WiGpE62pO6QHvvcHhXxcVBuTEZGfiDIJpnZZ_QOf--DazVvMK4H3Jdt5LNYwHx_nm5ZtMye8isQUKOh5-LFUNFlXRSeVe0xTl_Ozj2knoYd2z5iXuWoeZjd-T_sa9n0CX_naFtxwKR3KiLe_Z4bwWTHR2yy15l0DKhK-wIDslG2qvyCBdf3D47tOTW6-Ffln4XYe5L9EudzzUJ2Qb_d3S8WnngUmkTZmeVy78t-QFqO_dQf8YY4TF3l0AL2QHMhT4VU9bvXtx6Zghx2Eb8mGXQ-cChufQSw252JyS1_l0VZmQvqGvTUm8pFkg0kz9JQ_WJiHDn5qM-q_FzEb5QLWjAVTzEG1aP6p7CufWDK6HJwzzkp3khLeRcLLvfbAHvU9C0A0rIrimhP94p_3MHv_v8gl-pa0VOX5CT8N7bKlDjfiya9q7_OWICcC_JPYaBCNgCZ1SKWfi4XaivfeRRuez7IvLOUSLyUAeN72dIECBKI5I6jth-c-LlTLadL-2jTXDVLRyo0gWnUfrnoz9l5tchixXwP9Kf0CRe7AaCz_qLG_1b-BAhjV2LDvSQfkOFh1mL_cI4bQTspUMizLkVy6UJOeqBCKvH-f9ElEPqQIfpVQeSHZjmzzDkT3bag667KPPsKJnmHKWGqNrk-nMAULOVrsvtD4O156wo_UpCuKN7-nNYhOexTaneNcobnCEnWlid-9ibJS7Bk9UyvA_Zu_SVh6iM3elesaQ4lK1MJrZ5yTSGuVcnVdZKTPfQxqVPC9_2L86XJivB7Odc_abxnTRM8LsoODSl_0FQWfnbU1-jIFggxFQiPfFP7u-KzFE1qmKOWtbIvcQH-eZ1AZ11Cbmy0RgeRkIXTCF7YIcoag277N1GXSspM_GU3uB7nTQ2p63GO_SDGSRh92c-6PM3gmJOdPffP0fcHlGDL-Lhzn-VPagk1Ib4iQZHMVAD2HQIZ1WBJC2cORqHRwjvcgYs2-xx9iu7AMQG1UlLho=", "summary": [ { "type": "summary_text", - "text": "**Identifying sequence patterns**\n\nI\u2019m looking at the sequence: 2, 6, 12, 20, 30, and trying to identify a pattern. The differences between terms are increasing: 4, 6, 8, 10, which suggests that the n-th term can be expressed as n(n+1). Testing this works perfectly for n=1 to n=5. So, the pattern consists of pronic numbers (or oblong numbers), and I could also express it as a_n = n^2 + n. This reflects a triangular number pattern multiplied by 2." + "text": "**Identifying the Sequence**\n\nThe user wants to explore the pattern in the sequence: 2, 6, 12, 20, 30. I see that it looks like these are double the triangular numbers, which are defined as T_n = n(n+1)/2. When I double these values, I indeed get the sequence: 2, 6, 12, 20, 30. So, the nth term is given by the formula a_n = n(n+1). This highlights that these numbers are pronic numbers, being products of consecutive integers." }, { "type": "summary_text", - "text": "**Explaining the sequence pattern**\n\nI\u2019m reconsidering the sequence and thinking about indexing from 1 instead. If I do that, the formula would be a_n = n(n+1), revealing that this sequence represents pronic numbers, which are products of consecutive integers. The differences between terms increase by 2, leading to each term being 2 plus the sum of successive even numbers. \n\nThe final answer here is that the pattern illustrates pronic numbers, represented by the formula a_n = n(n+1)." + "text": "**Deriving the Formula**\n\nI can express the nth term as a_n = 2 times the triangular number or as a_n = 2*C(n+1, 2), but the simplest form is a_n = n(n+1). The sequence shows constant second differences, confirming it's quadratic. The differences between terms are even numbers: 4, 6, 8, and 10, with differences increasing by 2. After solving the equations formed, I found a_n = n^2 + n, identifying it as pronic numbers\u2014products of consecutive integers starting from 1." + }, + { + "type": "summary_text", + "text": "**Finalizing the Answer**\n\nThe pattern I've identified consists of numbers in the form n(n+1). Therefore, I can express the nth term as a_n = n(n+1) or a_n = n^2 + n. These numbers are also twice the triangular numbers, since T_n = n(n+1)/2 leads to a_n = 2T_n. Notably, the first differences form an arithmetic progression: 4, 6, 8, 10. Given that the second difference is constant at 2, the general term simplifies to a quadratic equation: a_n = n^2 + n." } ] }, { - "id": "msg_014bae2a3cae84fb006a88858f5fec87d0b297014b2cba52ff", + "id": "msg_0cdcf22d3808a85f006a95bbf0c93087d0a6bcf30b13f4e166", "type": "message", "status": "completed", "content": [ @@ -42,7 +46,7 @@ "type": "output_text", "annotations": [], "logprobs": [], - "text": "Each term is the product of two consecutive integers:\n\n2 = 1\u00b72 \n6 = 2\u00b73 \n12 = 3\u00b74 \n20 = 4\u00b75 \n30 = 5\u00b76 \n\nSo the nth term (with n starting at 1) is\n\n\u2003a\u2099 = n(n + 1)\n\nEquivalently, a\u2099 = n\u00b2 + n." + "text": "The terms are the \u201cpronic\u201d (or oblong) numbers, i.e. products of two consecutive integers:\n\n 1\u00b72 = 2,\u20032\u00b73 = 6,\u20033\u00b74 = 12,\u20034\u00b75 = 20,\u20035\u00b76 = 30, \u2026\n\nHence if you start counting at n=1 the nth term is\n\n a\u2099 = n\u00b7(n + 1)\n\nor equivalently\n\n a\u2099 = n\u00b2 + n." } ], "role": "assistant" @@ -98,11 +102,11 @@ "cache_write_tokens": 0, "cached_tokens": 0 }, - "output_tokens": 880, + "output_tokens": 1293, "output_tokens_details": { - "reasoning_tokens": 768 + "reasoning_tokens": 1152 }, - "total_tokens": 921 + "total_tokens": 1334 }, "user": null, "metadata": {} diff --git a/test-harness/src/testFixtures/resources/cassettes/openai/__files/responses-c1b40cd66fd7.txt b/test-harness/src/testFixtures/resources/cassettes/openai/__files/responses-c1b40cd66fd7.txt index eb74c53b..0ac60f18 100644 --- a/test-harness/src/testFixtures/resources/cassettes/openai/__files/responses-c1b40cd66fd7.txt +++ b/test-harness/src/testFixtures/resources/cassettes/openai/__files/responses-c1b40cd66fd7.txt @@ -1,45 +1,45 @@ event: response.created -data: {"type":"response.created","response":{"id":"resp_0b4c0738f971600e016a888fa11b8487d08cbf34ac2c1aa968","object":"response","created_at":1787334561,"status":"in_progress","background":false,"completed_at":null,"error":null,"frequency_penalty":0.0,"incomplete_details":null,"instructions":null,"max_output_tokens":null,"max_tool_calls":null,"model":"gpt-4o-mini-2024-07-18","moderation":null,"output":[],"parallel_tool_calls":true,"presence_penalty":0.0,"previous_response_id":null,"prompt_cache_key":null,"prompt_cache_retention":"in_memory","reasoning":{"context":null,"effort":null,"summary":null},"safety_identifier":null,"service_tier":"auto","store":false,"temperature":0.0,"text":{"format":{"type":"text"},"verbosity":"medium"},"tool_choice":"auto","tool_usage":{"image_gen":{"input_tokens":0,"input_tokens_details":{"image_tokens":0,"text_tokens":0},"output_tokens":0,"output_tokens_details":{"image_tokens":0,"text_tokens":0},"total_tokens":0},"web_search":{"num_requests":0}},"tools":[],"top_logprobs":0,"top_p":1.0,"truncation":"disabled","usage":null,"user":null,"metadata":{}},"sequence_number":0} +data: {"type":"response.created","response":{"id":"resp_0b2b14c65b5b4c96016a95bc9d6bd087d0abf63d525b603fec","object":"response","created_at":1788198046,"status":"in_progress","background":false,"completed_at":null,"error":null,"frequency_penalty":0.0,"incomplete_details":null,"instructions":null,"max_output_tokens":null,"max_tool_calls":null,"model":"gpt-4o-mini-2024-07-18","moderation":null,"output":[],"parallel_tool_calls":true,"presence_penalty":0.0,"previous_response_id":null,"prompt_cache_key":null,"prompt_cache_retention":"in_memory","reasoning":{"context":null,"effort":null,"summary":null},"safety_identifier":null,"service_tier":"auto","store":false,"temperature":0.0,"text":{"format":{"type":"text"},"verbosity":"medium"},"tool_choice":"auto","tool_usage":{"image_gen":{"input_tokens":0,"input_tokens_details":{"image_tokens":0,"text_tokens":0},"output_tokens":0,"output_tokens_details":{"image_tokens":0,"text_tokens":0},"total_tokens":0},"web_search":{"num_requests":0}},"tools":[],"top_logprobs":0,"top_p":1.0,"truncation":"disabled","usage":null,"user":null,"metadata":{}},"sequence_number":0} event: response.in_progress -data: {"type":"response.in_progress","response":{"id":"resp_0b4c0738f971600e016a888fa11b8487d08cbf34ac2c1aa968","object":"response","created_at":1787334561,"status":"in_progress","background":false,"completed_at":null,"error":null,"frequency_penalty":0.0,"incomplete_details":null,"instructions":null,"max_output_tokens":null,"max_tool_calls":null,"model":"gpt-4o-mini-2024-07-18","moderation":null,"output":[],"parallel_tool_calls":true,"presence_penalty":0.0,"previous_response_id":null,"prompt_cache_key":null,"prompt_cache_retention":"in_memory","reasoning":{"context":null,"effort":null,"summary":null},"safety_identifier":null,"service_tier":"auto","store":false,"temperature":0.0,"text":{"format":{"type":"text"},"verbosity":"medium"},"tool_choice":"auto","tool_usage":{"image_gen":{"input_tokens":0,"input_tokens_details":{"image_tokens":0,"text_tokens":0},"output_tokens":0,"output_tokens_details":{"image_tokens":0,"text_tokens":0},"total_tokens":0},"web_search":{"num_requests":0}},"tools":[],"top_logprobs":0,"top_p":1.0,"truncation":"disabled","usage":null,"user":null,"metadata":{}},"sequence_number":1} +data: {"type":"response.in_progress","response":{"id":"resp_0b2b14c65b5b4c96016a95bc9d6bd087d0abf63d525b603fec","object":"response","created_at":1788198046,"status":"in_progress","background":false,"completed_at":null,"error":null,"frequency_penalty":0.0,"incomplete_details":null,"instructions":null,"max_output_tokens":null,"max_tool_calls":null,"model":"gpt-4o-mini-2024-07-18","moderation":null,"output":[],"parallel_tool_calls":true,"presence_penalty":0.0,"previous_response_id":null,"prompt_cache_key":null,"prompt_cache_retention":"in_memory","reasoning":{"context":null,"effort":null,"summary":null},"safety_identifier":null,"service_tier":"auto","store":false,"temperature":0.0,"text":{"format":{"type":"text"},"verbosity":"medium"},"tool_choice":"auto","tool_usage":{"image_gen":{"input_tokens":0,"input_tokens_details":{"image_tokens":0,"text_tokens":0},"output_tokens":0,"output_tokens_details":{"image_tokens":0,"text_tokens":0},"total_tokens":0},"web_search":{"num_requests":0}},"tools":[],"top_logprobs":0,"top_p":1.0,"truncation":"disabled","usage":null,"user":null,"metadata":{}},"sequence_number":1} event: response.output_item.added -data: {"type":"response.output_item.added","item":{"id":"msg_0b4c0738f971600e016a888fa18e2c87d0be82c2425add4412","type":"message","status":"in_progress","content":[],"role":"assistant"},"output_index":0,"sequence_number":2} +data: {"type":"response.output_item.added","item":{"id":"msg_0b2b14c65b5b4c96016a95bc9fe02887d0a32713961cb31027","type":"message","status":"in_progress","content":[],"role":"assistant"},"output_index":0,"sequence_number":2} event: response.content_part.added -data: {"type":"response.content_part.added","content_index":0,"item_id":"msg_0b4c0738f971600e016a888fa18e2c87d0be82c2425add4412","output_index":0,"part":{"type":"output_text","annotations":[],"logprobs":[],"text":""},"sequence_number":3} +data: {"type":"response.content_part.added","content_index":0,"item_id":"msg_0b2b14c65b5b4c96016a95bc9fe02887d0a32713961cb31027","output_index":0,"part":{"type":"output_text","annotations":[],"logprobs":[],"text":""},"sequence_number":3} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":"The","item_id":"msg_0b4c0738f971600e016a888fa18e2c87d0be82c2425add4412","logprobs":[],"obfuscation":"QTPeqSnGSxMmF","output_index":0,"sequence_number":4} +data: {"type":"response.output_text.delta","content_index":0,"delta":"The","item_id":"msg_0b2b14c65b5b4c96016a95bc9fe02887d0a32713961cb31027","logprobs":[],"obfuscation":"z9PcNyc4JmwBg","output_index":0,"sequence_number":4} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" capital","item_id":"msg_0b4c0738f971600e016a888fa18e2c87d0be82c2425add4412","logprobs":[],"obfuscation":"ji3naZnM","output_index":0,"sequence_number":5} +data: {"type":"response.output_text.delta","content_index":0,"delta":" capital","item_id":"msg_0b2b14c65b5b4c96016a95bc9fe02887d0a32713961cb31027","logprobs":[],"obfuscation":"ex0Iia5S","output_index":0,"sequence_number":5} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" of","item_id":"msg_0b4c0738f971600e016a888fa18e2c87d0be82c2425add4412","logprobs":[],"obfuscation":"mFObcEp2AbtpM","output_index":0,"sequence_number":6} +data: {"type":"response.output_text.delta","content_index":0,"delta":" of","item_id":"msg_0b2b14c65b5b4c96016a95bc9fe02887d0a32713961cb31027","logprobs":[],"obfuscation":"vXbwTOSCMWZxM","output_index":0,"sequence_number":6} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" France","item_id":"msg_0b4c0738f971600e016a888fa18e2c87d0be82c2425add4412","logprobs":[],"obfuscation":"hzXyWIy01","output_index":0,"sequence_number":7} +data: {"type":"response.output_text.delta","content_index":0,"delta":" France","item_id":"msg_0b2b14c65b5b4c96016a95bc9fe02887d0a32713961cb31027","logprobs":[],"obfuscation":"K0N2g3DLj","output_index":0,"sequence_number":7} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" is","item_id":"msg_0b4c0738f971600e016a888fa18e2c87d0be82c2425add4412","logprobs":[],"obfuscation":"IyHYQdKn5LKk8","output_index":0,"sequence_number":8} +data: {"type":"response.output_text.delta","content_index":0,"delta":" is","item_id":"msg_0b2b14c65b5b4c96016a95bc9fe02887d0a32713961cb31027","logprobs":[],"obfuscation":"s3CfRZHvK8xNE","output_index":0,"sequence_number":8} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" Paris","item_id":"msg_0b4c0738f971600e016a888fa18e2c87d0be82c2425add4412","logprobs":[],"obfuscation":"gsfydoNfwN","output_index":0,"sequence_number":9} +data: {"type":"response.output_text.delta","content_index":0,"delta":" Paris","item_id":"msg_0b2b14c65b5b4c96016a95bc9fe02887d0a32713961cb31027","logprobs":[],"obfuscation":"WGtGF1B5wG","output_index":0,"sequence_number":9} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":".","item_id":"msg_0b4c0738f971600e016a888fa18e2c87d0be82c2425add4412","logprobs":[],"obfuscation":"Z2s4f9eccKR3Swv","output_index":0,"sequence_number":10} +data: {"type":"response.output_text.delta","content_index":0,"delta":".","item_id":"msg_0b2b14c65b5b4c96016a95bc9fe02887d0a32713961cb31027","logprobs":[],"obfuscation":"YR2FEn7v94S5kAJ","output_index":0,"sequence_number":10} event: response.output_text.done -data: {"type":"response.output_text.done","content_index":0,"item_id":"msg_0b4c0738f971600e016a888fa18e2c87d0be82c2425add4412","logprobs":[],"output_index":0,"sequence_number":11,"text":"The capital of France is Paris."} +data: {"type":"response.output_text.done","content_index":0,"item_id":"msg_0b2b14c65b5b4c96016a95bc9fe02887d0a32713961cb31027","logprobs":[],"output_index":0,"sequence_number":11,"text":"The capital of France is Paris."} event: response.content_part.done -data: {"type":"response.content_part.done","content_index":0,"item_id":"msg_0b4c0738f971600e016a888fa18e2c87d0be82c2425add4412","output_index":0,"part":{"type":"output_text","annotations":[],"logprobs":[],"text":"The capital of France is Paris."},"sequence_number":12} +data: {"type":"response.content_part.done","content_index":0,"item_id":"msg_0b2b14c65b5b4c96016a95bc9fe02887d0a32713961cb31027","output_index":0,"part":{"type":"output_text","annotations":[],"logprobs":[],"text":"The capital of France is Paris."},"sequence_number":12} event: response.output_item.done -data: {"type":"response.output_item.done","item":{"id":"msg_0b4c0738f971600e016a888fa18e2c87d0be82c2425add4412","type":"message","status":"completed","content":[{"type":"output_text","annotations":[],"logprobs":[],"text":"The capital of France is Paris."}],"role":"assistant"},"output_index":0,"sequence_number":13} +data: {"type":"response.output_item.done","item":{"id":"msg_0b2b14c65b5b4c96016a95bc9fe02887d0a32713961cb31027","type":"message","status":"completed","content":[{"type":"output_text","annotations":[],"logprobs":[],"text":"The capital of France is Paris."}],"role":"assistant"},"output_index":0,"sequence_number":13} event: response.completed -data: {"type":"response.completed","response":{"id":"resp_0b4c0738f971600e016a888fa11b8487d08cbf34ac2c1aa968","object":"response","created_at":1787334561,"status":"completed","background":false,"completed_at":1787334561,"error":null,"frequency_penalty":0.0,"incomplete_details":null,"instructions":null,"max_output_tokens":null,"max_tool_calls":null,"model":"gpt-4o-mini-2024-07-18","moderation":null,"output":[{"id":"msg_0b4c0738f971600e016a888fa18e2c87d0be82c2425add4412","type":"message","status":"completed","content":[{"type":"output_text","annotations":[],"logprobs":[],"text":"The capital of France is Paris."}],"role":"assistant"}],"parallel_tool_calls":true,"presence_penalty":0.0,"previous_response_id":null,"prompt_cache_key":null,"prompt_cache_retention":"in_memory","reasoning":{"context":null,"effort":null,"summary":null},"safety_identifier":null,"service_tier":"default","store":false,"temperature":0.0,"text":{"format":{"type":"text"},"verbosity":"medium"},"tool_choice":"auto","tool_usage":{"image_gen":{"input_tokens":0,"input_tokens_details":{"image_tokens":0,"text_tokens":0},"output_tokens":0,"output_tokens_details":{"image_tokens":0,"text_tokens":0},"total_tokens":0},"web_search":{"num_requests":0}},"tools":[],"top_logprobs":0,"top_p":1.0,"truncation":"disabled","usage":{"input_tokens":14,"input_tokens_details":{"cache_write_tokens":0,"cached_tokens":0},"output_tokens":8,"output_tokens_details":{"reasoning_tokens":0},"total_tokens":22},"user":null,"metadata":{}},"sequence_number":14} +data: {"type":"response.completed","response":{"id":"resp_0b2b14c65b5b4c96016a95bc9d6bd087d0abf63d525b603fec","object":"response","created_at":1788198046,"status":"completed","background":false,"completed_at":1788198048,"error":null,"frequency_penalty":0.0,"incomplete_details":null,"instructions":null,"max_output_tokens":null,"max_tool_calls":null,"model":"gpt-4o-mini-2024-07-18","moderation":null,"output":[{"id":"msg_0b2b14c65b5b4c96016a95bc9fe02887d0a32713961cb31027","type":"message","status":"completed","content":[{"type":"output_text","annotations":[],"logprobs":[],"text":"The capital of France is Paris."}],"role":"assistant"}],"parallel_tool_calls":true,"presence_penalty":0.0,"previous_response_id":null,"prompt_cache_key":null,"prompt_cache_retention":"in_memory","reasoning":{"context":null,"effort":null,"summary":null},"safety_identifier":null,"service_tier":"default","store":false,"temperature":0.0,"text":{"format":{"type":"text"},"verbosity":"medium"},"tool_choice":"auto","tool_usage":{"image_gen":{"input_tokens":0,"input_tokens_details":{"image_tokens":0,"text_tokens":0},"output_tokens":0,"output_tokens_details":{"image_tokens":0,"text_tokens":0},"total_tokens":0},"web_search":{"num_requests":0}},"tools":[],"top_logprobs":0,"top_p":1.0,"truncation":"disabled","usage":{"input_tokens":14,"input_tokens_details":{"cache_write_tokens":0,"cached_tokens":0},"output_tokens":8,"output_tokens_details":{"reasoning_tokens":0},"total_tokens":22},"user":null,"metadata":{}},"sequence_number":14} diff --git a/test-harness/src/testFixtures/resources/cassettes/openai/__files/responses-c30758f61e8f.json b/test-harness/src/testFixtures/resources/cassettes/openai/__files/responses-c30758f61e8f.json deleted file mode 100644 index bc86755b..00000000 --- a/test-harness/src/testFixtures/resources/cassettes/openai/__files/responses-c30758f61e8f.json +++ /dev/null @@ -1,98 +0,0 @@ -{ - "id": "resp_08a462d4f86dbfbb006a4d342afb388199bebdac65387c1e5e", - "object": "response", - "created_at": 1783444523, - "status": "completed", - "background": false, - "billing": { - "payer": "developer" - }, - "completed_at": 1783444532, - "error": null, - "frequency_penalty": 0.0, - "incomplete_details": null, - "instructions": null, - "max_output_tokens": null, - "max_tool_calls": null, - "model": "o4-mini-2025-04-16", - "moderation": null, - "output": [ - { - "id": "rs_08a462d4f86dbfbb006a4d342b78d88199bbd214fd1c332352", - "type": "reasoning", - "content": [], - "summary": [] - }, - { - "id": "msg_08a462d4f86dbfbb006a4d3433036c8199b4975c912b6a4c39", - "type": "message", - "status": "completed", - "content": [ - { - "type": "output_text", - "annotations": [], - "logprobs": [], - "text": "The 10th term is \na\u2081\u2080 = 10\u00b7(10 + 1) = 10\u00b711 = 110. \n\nThe sum of the first 10 terms is \n\u2211_{n=1}^{10} a\u2099 = \u2211_{n=1}^{10} [n(n+1)] \n = \u2211_{n=1}^{10} (n\u00b2 + n) \n = (\u2211 n\u00b2) + (\u2211 n) \n = [10\u00b711\u00b721/6] + [10\u00b711/2] \n = 385 + 55 \n = 440." - } - ], - "role": "assistant" - } - ], - "parallel_tool_calls": true, - "presence_penalty": 0.0, - "previous_response_id": null, - "prompt_cache_key": null, - "prompt_cache_retention": "in_memory", - "reasoning": { - "context": "current_turn", - "effort": "high", - "mode": "standard", - "summary": "detailed" - }, - "safety_identifier": null, - "service_tier": "default", - "store": true, - "temperature": 1.0, - "text": { - "format": { - "type": "text" - }, - "verbosity": "medium" - }, - "tool_choice": "auto", - "tool_usage": { - "image_gen": { - "input_tokens": 0, - "input_tokens_details": { - "image_tokens": 0, - "text_tokens": 0 - }, - "output_tokens": 0, - "output_tokens_details": { - "image_tokens": 0, - "text_tokens": 0 - }, - "total_tokens": 0 - }, - "web_search": { - "num_requests": 0 - } - }, - "tools": [], - "top_logprobs": 0, - "top_p": 1.0, - "truncation": "disabled", - "usage": { - "input_tokens": 157, - "input_tokens_details": { - "cached_tokens": 0 - }, - "output_tokens": 582, - "output_tokens_details": { - "reasoning_tokens": 384 - }, - "total_tokens": 739 - }, - "user": null, - "metadata": {} -} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/openai/__files/responses-d93cfca55488.json b/test-harness/src/testFixtures/resources/cassettes/openai/__files/responses-d93cfca55488.json index 82959c48..d70c8d72 100644 --- a/test-harness/src/testFixtures/resources/cassettes/openai/__files/responses-d93cfca55488.json +++ b/test-harness/src/testFixtures/resources/cassettes/openai/__files/responses-d93cfca55488.json @@ -1,13 +1,13 @@ { - "id": "resp_0911b2daf2cc626d006a837099849887d0a840ba688fbe7808", + "id": "resp_0fb0a24f56a49be2006a95bbb54a0887d0814ebf4a4d649dbb", "object": "response", - "created_at": 1786998937, + "created_at": 1788197815, "status": "completed", "background": false, "billing": { "payer": "developer" }, - "completed_at": 1786998939, + "completed_at": 1788197826, "error": null, "frequency_penalty": 0.0, "incomplete_details": null, @@ -18,7 +18,7 @@ "moderation": null, "output": [ { - "id": "ws_0911b2daf2cc626d006a837099b31887d08d2d0269a6cd23de", + "id": "ws_0fb0a24f56a49be2006a95bbb8003487d0b3d898811b6168e3", "type": "web_search_call", "status": "completed", "action": { @@ -30,7 +30,7 @@ } }, { - "id": "msg_0911b2daf2cc626d006a83709ad25c87d0a02c9444c591bbb4", + "id": "msg_0fb0a24f56a49be2006a95bbb9ff9087d0ad5b435d46b8e072", "type": "message", "status": "completed", "content": [ @@ -39,14 +39,35 @@ "annotations": [ { "type": "url_citation", - "end_index": 332, - "start_index": 233, - "title": "New York Post launches \"Hamilton\" AI chatbot", - "url": "https://www.axios.com/2026/08/11/new-york-post-hamilton-ai-chatbot?utm_source=openai" + "end_index": 393, + "start_index": 278, + "title": "Exclusive: AI advocacy group launches data center push in battleground states", + "url": "https://www.axios.com/2026/08/31/ai-advocacy-group-data-center-battleground-states?utm_source=openai" + }, + { + "type": "url_citation", + "end_index": 594, + "start_index": 413, + "title": "Exclusive: AI advocacy group launches data center push in battleground states", + "url": "https://www.axios.com/2026/08/31/ai-advocacy-group-data-center-battleground-states?utm_source=openai" + }, + { + "type": "url_citation", + "end_index": 793, + "start_index": 629, + "title": "Exclusive: AI startup TrustedRouter raises $1.25 million", + "url": "https://www.axios.com/2026/08/31/exclusive-ai-startup-trustedrouter-raises-125-million?utm_source=openai" + }, + { + "type": "url_citation", + "end_index": 969, + "start_index": 828, + "title": "AI turns to health care for an image fix", + "url": "https://www.axios.com/2026/08/31/ai-health-care-cures-disease-anthropic-open-ai?utm_source=openai" } ], "logprobs": [], - "text": "The New York Post Media Group has launched \"Hamilton,\" an AI chatbot designed to enhance personalized news experiences, marking the first collaboration between Google Cloud and a North American news outlet to support such a feature. ([axios.com](https://www.axios.com/2026/08/11/new-york-post-hamilton-ai-chatbot?utm_source=openai)) " + "text": "An AI advocacy group has launched a $50 million campaign to support AI data center development in battleground states, aiming to address political backlash and emphasize the need for infrastructure that supports AI leadership while safeguarding communities and the environment. ([axios.com](https://www.axios.com/2026/08/31/ai-advocacy-group-data-center-battleground-states?utm_source=openai))\n\n\n## Highlights:\n- [Exclusive: AI advocacy group launches data center push in battleground states](https://www.axios.com/2026/08/31/ai-advocacy-group-data-center-battleground-states?utm_source=openai), Published on Monday, August 31\n- [Exclusive: AI startup TrustedRouter raises $1.25 million](https://www.axios.com/2026/08/31/exclusive-ai-startup-trustedrouter-raises-125-million?utm_source=openai), Published on Monday, August 31\n- [AI turns to health care for an image fix](https://www.axios.com/2026/08/31/ai-health-care-cures-disease-anthropic-open-ai?utm_source=openai), Published on Monday, August 31 " } ], "role": "assistant" @@ -118,11 +139,11 @@ "cache_write_tokens": 0, "cached_tokens": 0 }, - "output_tokens": 73, + "output_tokens": 248, "output_tokens_details": { "reasoning_tokens": 0 }, - "total_tokens": 396 + "total_tokens": 571 }, "user": null, "metadata": {} diff --git a/test-harness/src/testFixtures/resources/cassettes/openai/__files/responses-dade10fddc15.txt b/test-harness/src/testFixtures/resources/cassettes/openai/__files/responses-dade10fddc15.txt index 71fe2d96..9d15eb3f 100644 --- a/test-harness/src/testFixtures/resources/cassettes/openai/__files/responses-dade10fddc15.txt +++ b/test-harness/src/testFixtures/resources/cassettes/openai/__files/responses-dade10fddc15.txt @@ -1,45 +1,45 @@ event: response.created -data: {"type":"response.created","response":{"id":"resp_04e9a1b049d4d8ff006a4d34c72928819bbf25f4903b93e890","object":"response","created_at":1783444679,"status":"in_progress","background":false,"completed_at":null,"error":null,"frequency_penalty":0.0,"incomplete_details":null,"instructions":"You are a helpful assistant","max_output_tokens":null,"max_tool_calls":null,"model":"gpt-4o-mini-2024-07-18","moderation":null,"output":[],"parallel_tool_calls":true,"presence_penalty":0.0,"previous_response_id":null,"prompt_cache_key":null,"prompt_cache_retention":"in_memory","reasoning":{"context":null,"effort":null,"summary":null},"safety_identifier":null,"service_tier":"auto","store":true,"temperature":1.0,"text":{"format":{"type":"text"},"verbosity":"medium"},"tool_choice":"auto","tool_usage":{"image_gen":{"input_tokens":0,"input_tokens_details":{"image_tokens":0,"text_tokens":0},"output_tokens":0,"output_tokens_details":{"image_tokens":0,"text_tokens":0},"total_tokens":0},"web_search":{"num_requests":0}},"tools":[],"top_logprobs":0,"top_p":1.0,"truncation":"disabled","usage":null,"user":null,"metadata":{}},"sequence_number":0} +data: {"type":"response.created","response":{"id":"resp_0d43604da32cf791006a95bd73544487d0bf272600221a9033","object":"response","created_at":1788198259,"status":"in_progress","background":false,"completed_at":null,"error":null,"frequency_penalty":0.0,"incomplete_details":null,"instructions":"You are a helpful assistant","max_output_tokens":null,"max_tool_calls":null,"model":"gpt-4o-mini-2024-07-18","moderation":null,"output":[],"parallel_tool_calls":true,"presence_penalty":0.0,"previous_response_id":null,"prompt_cache_key":null,"prompt_cache_retention":"in_memory","reasoning":{"context":null,"effort":null,"summary":null},"safety_identifier":null,"service_tier":"auto","store":true,"temperature":1.0,"text":{"format":{"type":"text"},"verbosity":"medium"},"tool_choice":"auto","tool_usage":{"image_gen":{"input_tokens":0,"input_tokens_details":{"image_tokens":0,"text_tokens":0},"output_tokens":0,"output_tokens_details":{"image_tokens":0,"text_tokens":0},"total_tokens":0},"web_search":{"num_requests":0}},"tools":[],"top_logprobs":0,"top_p":1.0,"truncation":"disabled","usage":null,"user":null,"metadata":{}},"sequence_number":0} event: response.in_progress -data: {"type":"response.in_progress","response":{"id":"resp_04e9a1b049d4d8ff006a4d34c72928819bbf25f4903b93e890","object":"response","created_at":1783444679,"status":"in_progress","background":false,"completed_at":null,"error":null,"frequency_penalty":0.0,"incomplete_details":null,"instructions":"You are a helpful assistant","max_output_tokens":null,"max_tool_calls":null,"model":"gpt-4o-mini-2024-07-18","moderation":null,"output":[],"parallel_tool_calls":true,"presence_penalty":0.0,"previous_response_id":null,"prompt_cache_key":null,"prompt_cache_retention":"in_memory","reasoning":{"context":null,"effort":null,"summary":null},"safety_identifier":null,"service_tier":"auto","store":true,"temperature":1.0,"text":{"format":{"type":"text"},"verbosity":"medium"},"tool_choice":"auto","tool_usage":{"image_gen":{"input_tokens":0,"input_tokens_details":{"image_tokens":0,"text_tokens":0},"output_tokens":0,"output_tokens_details":{"image_tokens":0,"text_tokens":0},"total_tokens":0},"web_search":{"num_requests":0}},"tools":[],"top_logprobs":0,"top_p":1.0,"truncation":"disabled","usage":null,"user":null,"metadata":{}},"sequence_number":1} +data: {"type":"response.in_progress","response":{"id":"resp_0d43604da32cf791006a95bd73544487d0bf272600221a9033","object":"response","created_at":1788198259,"status":"in_progress","background":false,"completed_at":null,"error":null,"frequency_penalty":0.0,"incomplete_details":null,"instructions":"You are a helpful assistant","max_output_tokens":null,"max_tool_calls":null,"model":"gpt-4o-mini-2024-07-18","moderation":null,"output":[],"parallel_tool_calls":true,"presence_penalty":0.0,"previous_response_id":null,"prompt_cache_key":null,"prompt_cache_retention":"in_memory","reasoning":{"context":null,"effort":null,"summary":null},"safety_identifier":null,"service_tier":"auto","store":true,"temperature":1.0,"text":{"format":{"type":"text"},"verbosity":"medium"},"tool_choice":"auto","tool_usage":{"image_gen":{"input_tokens":0,"input_tokens_details":{"image_tokens":0,"text_tokens":0},"output_tokens":0,"output_tokens_details":{"image_tokens":0,"text_tokens":0},"total_tokens":0},"web_search":{"num_requests":0}},"tools":[],"top_logprobs":0,"top_p":1.0,"truncation":"disabled","usage":null,"user":null,"metadata":{}},"sequence_number":1} event: response.output_item.added -data: {"type":"response.output_item.added","item":{"id":"msg_04e9a1b049d4d8ff006a4d34c7e880819ba84d7e05ed710312","type":"message","status":"in_progress","content":[],"role":"assistant"},"output_index":0,"sequence_number":2} +data: {"type":"response.output_item.added","item":{"id":"msg_0d43604da32cf791006a95bd74615c87d0b8e3c1740fece3b8","type":"message","status":"in_progress","content":[],"role":"assistant"},"output_index":0,"sequence_number":2} event: response.content_part.added -data: {"type":"response.content_part.added","content_index":0,"item_id":"msg_04e9a1b049d4d8ff006a4d34c7e880819ba84d7e05ed710312","output_index":0,"part":{"type":"output_text","annotations":[],"logprobs":[],"text":""},"sequence_number":3} +data: {"type":"response.content_part.added","content_index":0,"item_id":"msg_0d43604da32cf791006a95bd74615c87d0b8e3c1740fece3b8","output_index":0,"part":{"type":"output_text","annotations":[],"logprobs":[],"text":""},"sequence_number":3} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":"The","item_id":"msg_04e9a1b049d4d8ff006a4d34c7e880819ba84d7e05ed710312","logprobs":[],"obfuscation":"azYMyCJYSM3re","output_index":0,"sequence_number":4} +data: {"type":"response.output_text.delta","content_index":0,"delta":"The","item_id":"msg_0d43604da32cf791006a95bd74615c87d0b8e3c1740fece3b8","logprobs":[],"obfuscation":"sfTQDs0HQX70i","output_index":0,"sequence_number":4} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" capital","item_id":"msg_04e9a1b049d4d8ff006a4d34c7e880819ba84d7e05ed710312","logprobs":[],"obfuscation":"Y2NzF94j","output_index":0,"sequence_number":5} +data: {"type":"response.output_text.delta","content_index":0,"delta":" capital","item_id":"msg_0d43604da32cf791006a95bd74615c87d0b8e3c1740fece3b8","logprobs":[],"obfuscation":"hp0N88pf","output_index":0,"sequence_number":5} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" of","item_id":"msg_04e9a1b049d4d8ff006a4d34c7e880819ba84d7e05ed710312","logprobs":[],"obfuscation":"3qGchnva6Sixj","output_index":0,"sequence_number":6} +data: {"type":"response.output_text.delta","content_index":0,"delta":" of","item_id":"msg_0d43604da32cf791006a95bd74615c87d0b8e3c1740fece3b8","logprobs":[],"obfuscation":"jFIxCjzcXC7D9","output_index":0,"sequence_number":6} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" France","item_id":"msg_04e9a1b049d4d8ff006a4d34c7e880819ba84d7e05ed710312","logprobs":[],"obfuscation":"tYWUDQ01G","output_index":0,"sequence_number":7} +data: {"type":"response.output_text.delta","content_index":0,"delta":" France","item_id":"msg_0d43604da32cf791006a95bd74615c87d0b8e3c1740fece3b8","logprobs":[],"obfuscation":"Agibdgwra","output_index":0,"sequence_number":7} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" is","item_id":"msg_04e9a1b049d4d8ff006a4d34c7e880819ba84d7e05ed710312","logprobs":[],"obfuscation":"Xl7czhh38uctR","output_index":0,"sequence_number":8} +data: {"type":"response.output_text.delta","content_index":0,"delta":" is","item_id":"msg_0d43604da32cf791006a95bd74615c87d0b8e3c1740fece3b8","logprobs":[],"obfuscation":"jGGSEMkqmL170","output_index":0,"sequence_number":8} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":" Paris","item_id":"msg_04e9a1b049d4d8ff006a4d34c7e880819ba84d7e05ed710312","logprobs":[],"obfuscation":"LZa9RvQbp1","output_index":0,"sequence_number":9} +data: {"type":"response.output_text.delta","content_index":0,"delta":" Paris","item_id":"msg_0d43604da32cf791006a95bd74615c87d0b8e3c1740fece3b8","logprobs":[],"obfuscation":"i67HxmI3Ts","output_index":0,"sequence_number":9} event: response.output_text.delta -data: {"type":"response.output_text.delta","content_index":0,"delta":".","item_id":"msg_04e9a1b049d4d8ff006a4d34c7e880819ba84d7e05ed710312","logprobs":[],"obfuscation":"CSyhEOHQY73i1qp","output_index":0,"sequence_number":10} +data: {"type":"response.output_text.delta","content_index":0,"delta":".","item_id":"msg_0d43604da32cf791006a95bd74615c87d0b8e3c1740fece3b8","logprobs":[],"obfuscation":"ROP05xdR2ABYMzB","output_index":0,"sequence_number":10} event: response.output_text.done -data: {"type":"response.output_text.done","content_index":0,"item_id":"msg_04e9a1b049d4d8ff006a4d34c7e880819ba84d7e05ed710312","logprobs":[],"output_index":0,"sequence_number":11,"text":"The capital of France is Paris."} +data: {"type":"response.output_text.done","content_index":0,"item_id":"msg_0d43604da32cf791006a95bd74615c87d0b8e3c1740fece3b8","logprobs":[],"output_index":0,"sequence_number":11,"text":"The capital of France is Paris."} event: response.content_part.done -data: {"type":"response.content_part.done","content_index":0,"item_id":"msg_04e9a1b049d4d8ff006a4d34c7e880819ba84d7e05ed710312","output_index":0,"part":{"type":"output_text","annotations":[],"logprobs":[],"text":"The capital of France is Paris."},"sequence_number":12} +data: {"type":"response.content_part.done","content_index":0,"item_id":"msg_0d43604da32cf791006a95bd74615c87d0b8e3c1740fece3b8","output_index":0,"part":{"type":"output_text","annotations":[],"logprobs":[],"text":"The capital of France is Paris."},"sequence_number":12} event: response.output_item.done -data: {"type":"response.output_item.done","item":{"id":"msg_04e9a1b049d4d8ff006a4d34c7e880819ba84d7e05ed710312","type":"message","status":"completed","content":[{"type":"output_text","annotations":[],"logprobs":[],"text":"The capital of France is Paris."}],"role":"assistant"},"output_index":0,"sequence_number":13} +data: {"type":"response.output_item.done","item":{"id":"msg_0d43604da32cf791006a95bd74615c87d0b8e3c1740fece3b8","type":"message","status":"completed","content":[{"type":"output_text","annotations":[],"logprobs":[],"text":"The capital of France is Paris."}],"role":"assistant"},"output_index":0,"sequence_number":13} event: response.completed -data: {"type":"response.completed","response":{"id":"resp_04e9a1b049d4d8ff006a4d34c72928819bbf25f4903b93e890","object":"response","created_at":1783444679,"status":"completed","background":false,"completed_at":1783444680,"error":null,"frequency_penalty":0.0,"incomplete_details":null,"instructions":"You are a helpful assistant","max_output_tokens":null,"max_tool_calls":null,"model":"gpt-4o-mini-2024-07-18","moderation":null,"output":[{"id":"msg_04e9a1b049d4d8ff006a4d34c7e880819ba84d7e05ed710312","type":"message","status":"completed","content":[{"type":"output_text","annotations":[],"logprobs":[],"text":"The capital of France is Paris."}],"role":"assistant"}],"parallel_tool_calls":true,"presence_penalty":0.0,"previous_response_id":null,"prompt_cache_key":null,"prompt_cache_retention":"in_memory","reasoning":{"context":null,"effort":null,"summary":null},"safety_identifier":null,"service_tier":"default","store":true,"temperature":1.0,"text":{"format":{"type":"text"},"verbosity":"medium"},"tool_choice":"auto","tool_usage":{"image_gen":{"input_tokens":0,"input_tokens_details":{"image_tokens":0,"text_tokens":0},"output_tokens":0,"output_tokens_details":{"image_tokens":0,"text_tokens":0},"total_tokens":0},"web_search":{"num_requests":0}},"tools":[],"top_logprobs":0,"top_p":1.0,"truncation":"disabled","usage":{"input_tokens":23,"input_tokens_details":{"cached_tokens":0},"output_tokens":8,"output_tokens_details":{"reasoning_tokens":0},"total_tokens":31},"user":null,"metadata":{}},"sequence_number":14} +data: {"type":"response.completed","response":{"id":"resp_0d43604da32cf791006a95bd73544487d0bf272600221a9033","object":"response","created_at":1788198259,"status":"completed","background":false,"completed_at":1788198260,"error":null,"frequency_penalty":0.0,"incomplete_details":null,"instructions":"You are a helpful assistant","max_output_tokens":null,"max_tool_calls":null,"model":"gpt-4o-mini-2024-07-18","moderation":null,"output":[{"id":"msg_0d43604da32cf791006a95bd74615c87d0b8e3c1740fece3b8","type":"message","status":"completed","content":[{"type":"output_text","annotations":[],"logprobs":[],"text":"The capital of France is Paris."}],"role":"assistant"}],"parallel_tool_calls":true,"presence_penalty":0.0,"previous_response_id":null,"prompt_cache_key":null,"prompt_cache_retention":"in_memory","reasoning":{"context":null,"effort":null,"summary":null},"safety_identifier":null,"service_tier":"default","store":true,"temperature":1.0,"text":{"format":{"type":"text"},"verbosity":"medium"},"tool_choice":"auto","tool_usage":{"image_gen":{"input_tokens":0,"input_tokens_details":{"image_tokens":0,"text_tokens":0},"output_tokens":0,"output_tokens_details":{"image_tokens":0,"text_tokens":0},"total_tokens":0},"web_search":{"num_requests":0}},"tools":[],"top_logprobs":0,"top_p":1.0,"truncation":"disabled","usage":{"input_tokens":23,"input_tokens_details":{"cache_write_tokens":0,"cached_tokens":0},"output_tokens":8,"output_tokens_details":{"reasoning_tokens":0},"total_tokens":31},"user":null,"metadata":{}},"sequence_number":14} diff --git a/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-03b1b9901179.json b/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-03b1b9901179.json index 03df62d9..0861fba1 100644 --- a/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-03b1b9901179.json +++ b/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-03b1b9901179.json @@ -19,25 +19,25 @@ "status" : 200, "bodyFileName" : "chat_completions-03b1b9901179.txt", "headers" : { - "x-request-id" : "req_d9d0f59e1cc846f2a67fa885500e18b3", + "x-request-id" : "req_c5ec73f4f8a64a179828b00c401db31b", "x-ratelimit-limit-tokens" : "150000000", "openai-organization" : "braintrust-data", "Server" : "cloudflare", - "CF-Ray" : "a17881d5fb806814-SEA", + "CF-Ray" : "a33dd83d3bf4c74a-SEA", "X-Content-Type-Options" : "nosniff", "x-ratelimit-reset-requests" : "2ms", "x-ratelimit-remaining-tokens" : "149999990", "x-openai-proxy-wasm" : "v0.1", "x-ratelimit-remaining-requests" : "29999", - "Date" : "Tue, 07 Jul 2026 17:18:13 GMT", + "Date" : "Mon, 31 Aug 2026 17:44:42 GMT", "x-ratelimit-reset-tokens" : "0s", "access-control-expose-headers" : [ "X-Request-ID", "CF-Ray", "CF-Ray" ], - "set-cookie" : "__cf_bm=ci9X5405iun9d8nt6UsMuhcDh5tQ5Z5y6WwSpze6CXg-1783444693.4372985-1.0.1.1-VDDaCiZ6NBAolHcl77aFswq9P58aFqJxCzDbDWKt2JlnOvT72CHgR6qWFzbIv3bm3CuBj_.J9SO6V8bZW0b1n2Gjnjn8XFfw0f6PeXsXWMy26hOoeA3Z2n1w4wP.4yX6; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.openai.com; Expires=Tue, 07 Jul 2026 17:48:13 GMT", + "set-cookie" : "__cf_bm=D0Tl.K4dmrYT6GnAIDv5VzGqEcltMLuWe0XO.WiBnxE-1788198281.8039925-1.0.1.1-N6Gn2CJzA4BoXCTF872gX4BRJmch.g0V4QxL3RlCMtEqoZsDj8Dz4gDYCExNecgyCYP1RjzhlOjExMtiV8WmoAZqXJapmagASCmiCdZw5TQLG7Cf4wI2jXAiuZNyXTGC; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 31 Aug 2026 18:14:42 GMT", "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", "CF-Cache-Status" : "DYNAMIC", "x-ratelimit-limit-requests" : "30000", "openai-version" : "2020-10-01", - "openai-processing-ms" : "350", + "openai-processing-ms" : "487", "alt-svc" : "h3=\":443\"; ma=86400", "openai-project" : "proj_vsCSXafhhByzWOThMrJcZiw9", "Content-Type" : "text/event-stream; charset=utf-8" @@ -45,5 +45,5 @@ }, "uuid" : "9978eedb-87b6-33aa-8e01-1b5c7444e736", "persistent" : true, - "insertionIndex" : 23 + "insertionIndex" : 58 } \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-0639fddc10f8.json b/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-0639fddc10f8.json index 427460d4..8e091af7 100644 --- a/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-0639fddc10f8.json +++ b/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-0639fddc10f8.json @@ -21,25 +21,25 @@ "headers" : { "Server" : "cloudflare", "x-ratelimit-reset-tokens" : "0s", - "set-cookie" : "__cf_bm=ozc2gUnynyH8L4tv9YvDaNMjIS7TjG.C08wv1nFUSK4-1783444668.4550447-1.0.1.1-QvsIlcnkQL5tOvqYSDfW0M_lDJhE_ThLepnyoDHtVsUg.Q377g4__UT0RTGRpIHZOGI1JTKFm8JNgpPCC3DCciUdoAXTfsCGRG7d4P7BFIJhpii689XgvAlUruWNjI31; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.openai.com; Expires=Tue, 07 Jul 2026 17:47:49 GMT", + "set-cookie" : "__cf_bm=nTqEQqbhVVzoII0lobZQ78SbBmsmbyXrsi0PrjK5C4E-1788198221.0610769-1.0.1.1-Ezel9D1jFGh3whmK6lvBFla1wUpW04e6UMZsqWQ25S3NBl.PphvZ9fI8f1GAYhf0F11Rgnr6.ubADxe3Yj6tLc6Oiu03e8u_YFYZKBh9SMF6R.JAvXauWo8LIabwKS4W; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 31 Aug 2026 18:13:41 GMT", "Access-Control-Expose-Headers" : [ "CF-Ray", "X-Request-ID", "CF-Ray" ], "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", "openai-project" : "proj_vsCSXafhhByzWOThMrJcZiw9", "Content-Type" : "application/json", - "x-request-id" : "req_f88bc6bea16b453d969991420c68e913", + "x-request-id" : "req_98fda29f69d347f89026b0ec1fbb0e97", "x-ratelimit-limit-tokens" : "150000000", "openai-organization" : "braintrust-data", - "CF-Ray" : "a1788139d983f16e-SEA", + "CF-Ray" : "a33dd6c1994531b0-SEA", "X-Content-Type-Options" : "nosniff", "x-ratelimit-reset-requests" : "2ms", "x-ratelimit-remaining-tokens" : "149999982", "x-openai-proxy-wasm" : "v0.1", "x-ratelimit-remaining-requests" : "29999", - "Date" : "Tue, 07 Jul 2026 17:17:49 GMT", + "Date" : "Mon, 31 Aug 2026 17:43:41 GMT", "CF-Cache-Status" : "DYNAMIC", "x-ratelimit-limit-requests" : "30000", "openai-version" : "2020-10-01", - "openai-processing-ms" : "482", + "openai-processing-ms" : "448", "alt-svc" : "h3=\":443\"; ma=86400" } }, @@ -48,5 +48,5 @@ "scenarioName" : "scenario-3-chat-completions", "requiredScenarioState" : "Started", "newScenarioState" : "scenario-3-chat-completions-2", - "insertionIndex" : 22 + "insertionIndex" : 55 } \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-077545f3c696.json b/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-077545f3c696.json new file mode 100644 index 00000000..5e81ebb1 --- /dev/null +++ b/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-077545f3c696.json @@ -0,0 +1,55 @@ +{ + "id" : "e5972138-a270-3bde-8713-91da16fbe492", + "name" : "chat_completions", + "request" : { + "url" : "/chat/completions", + "method" : "POST", + "headers" : { + "Content-Type" : { + "equalTo" : "application/json" + } + }, + "bodyPatterns" : [ { + "equalToJson" : "{\n \"model\" : \"gpt-4o\",\n \"messages\" : [ {\n \"role\" : \"system\",\n \"content\" : \"you are a helpful assistant\"\n }, {\n \"role\" : \"user\",\n \"content\" : [ {\n \"type\" : \"text\",\n \"text\" : \"Briefly describe these attachments\"\n }, {\n \"type\" : \"image_url\",\n \"image_url\" : {\n \"url\" : \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mP8z8DwHwAFBQIAX8jx0gAAAABJRU5ErkJggg==\"\n }\n }, {\n \"type\" : \"file\",\n \"file\" : {\n \"file_data\" : \"data:application/pdf;base64,JVBERi0xLjAKMSAwIG9iago8PCAvVHlwZSAvQ2F0YWxvZyAvUGFnZXMgMiAwIFIgPj4KZW5kb2JqCjIgMCBvYmoKPDwgL1R5cGUgL1BhZ2VzIC9LaWRzIFszIDAgUl0gL0NvdW50IDEgPj4KZW5kb2JqCjMgMCBvYmoKPDwgL1R5cGUgL1BhZ2UgL1BhcmVudCAyIDAgUiAvTWVkaWFCb3ggWzAgMCA2MTIgNzkyXSA+PgplbmRvYmoKeHJlZgowIDQKMDAwMDAwMDAwMCA2NTUzNSBmIAowMDAwMDAwMDA5IDAwMDAwIG4gCjAwMDAwMDAwNTggMDAwMDAgbiAKMDAwMDAwMDExNSAwMDAwMCBuIAp0cmFpbGVyCjw8IC9TaXplIDQgL1Jvb3QgMSAwIFIgPj4Kc3RhcnR4cmVmCjE5MAolJUVPRgo=\",\n \"filename\" : \"blank.pdf\"\n }\n } ]\n } ],\n \"temperature\" : 0.0,\n \"stream\" : false\n}", + "ignoreArrayOrder" : true, + "ignoreExtraElements" : false + } ] + }, + "response" : { + "status" : 200, + "bodyFileName" : "chat_completions-077545f3c696.json", + "headers" : { + "Server" : "cloudflare", + "x-ratelimit-reset-input-images" : "0s", + "x-ratelimit-reset-tokens" : "3ms", + "x-ratelimit-limit-input-images" : "250000", + "set-cookie" : "__cf_bm=tP8J8Z5BK2HN9.GoevLBAeLRZTK.C2QIuZsTsa1zFPo-1788197807.4215758-1.0.1.1-t.PUVTSO1Cp4ZneaDGrGY47hiaeOjNcIKD1ujMkO3qqDZ5HBrcS5ZGJdCh56C9ZeoMNVWMm8WLslptctoMc110.XlqRJ5A6WjX3c3kyahnIjOLuca3MLGLBg9Sd0xWoS; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 31 Aug 2026 18:06:49 GMT", + "Access-Control-Expose-Headers" : [ "CF-Ray", "X-Request-ID", "CF-Ray" ], + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-ratelimit-remaining-input-images" : "249999", + "openai-project" : "proj_vsCSXafhhByzWOThMrJcZiw9", + "Content-Type" : "application/json", + "x-request-id" : "req_6bdd751602834bd5a64e463db22778f6", + "x-ratelimit-limit-tokens" : "30000000", + "openai-organization" : "braintrust-data", + "CF-Ray" : "a33dcca85b75252d-SEA", + "X-Content-Type-Options" : "nosniff", + "x-ratelimit-reset-requests" : "6ms", + "x-ratelimit-remaining-tokens" : "29998451", + "x-openai-proxy-wasm" : "v0.1", + "x-ratelimit-remaining-requests" : "9999", + "Date" : "Mon, 31 Aug 2026 17:36:49 GMT", + "CF-Cache-Status" : "DYNAMIC", + "x-ratelimit-limit-requests" : "10000", + "openai-version" : "2020-10-01", + "openai-processing-ms" : "1110", + "alt-svc" : "h3=\":443\"; ma=86400" + } + }, + "uuid" : "e5972138-a270-3bde-8713-91da16fbe492", + "persistent" : true, + "scenarioName" : "scenario-5-chat-completions", + "requiredScenarioState" : "Started", + "newScenarioState" : "scenario-5-chat-completions-2", + "insertionIndex" : 34 +} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-0cc26297bcc1.json b/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-0cc26297bcc1.json new file mode 100644 index 00000000..a414b039 --- /dev/null +++ b/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-0cc26297bcc1.json @@ -0,0 +1,51 @@ +{ + "id" : "e788905c-b9c7-385a-9bcf-df76876ff42d", + "name" : "chat_completions", + "request" : { + "url" : "/chat/completions", + "method" : "POST", + "headers" : { + "Content-Type" : { + "equalTo" : "application/json" + } + }, + "bodyPatterns" : [ { + "equalToJson" : "{\n \"model\" : \"gpt-4o\",\n \"messages\" : [ {\n \"role\" : \"user\",\n \"content\" : \"What is the weather like in Paris, France?\"\n } ],\n \"temperature\" : 0.0,\n \"stream\" : false,\n \"max_tokens\" : 500,\n \"tools\" : [ {\n \"type\" : \"function\",\n \"function\" : {\n \"name\" : \"get_weather\",\n \"description\" : \"Get the current weather for a location\",\n \"parameters\" : {\n \"type\" : \"object\",\n \"properties\" : {\n \"location\" : {\n \"type\" : \"string\",\n \"description\" : \"The city and state, e.g. San Francisco, CA\"\n },\n \"unit\" : {\n \"type\" : \"string\",\n \"enum\" : [ \"celsius\", \"fahrenheit\" ],\n \"description\" : \"The unit of temperature\"\n }\n },\n \"required\" : [ \"location\" ]\n }\n }\n } ]\n}", + "ignoreArrayOrder" : true, + "ignoreExtraElements" : false + } ] + }, + "response" : { + "status" : 200, + "bodyFileName" : "chat_completions-0cc26297bcc1.json", + "headers" : { + "x-request-id" : "req_24068c5c109041cda4489a2e3cf96034", + "x-ratelimit-limit-tokens" : "30000000", + "openai-organization" : "braintrust-data", + "Server" : "cloudflare", + "CF-Ray" : "a33dcd671ddaa3b3-SEA", + "X-Content-Type-Options" : "nosniff", + "x-ratelimit-reset-requests" : "6ms", + "x-ratelimit-remaining-tokens" : "29999987", + "x-openai-proxy-wasm" : "v0.1", + "x-ratelimit-remaining-requests" : "9999", + "Date" : "Mon, 31 Aug 2026 17:37:18 GMT", + "x-ratelimit-reset-tokens" : "0s", + "access-control-expose-headers" : [ "X-Request-ID", "CF-Ray", "CF-Ray" ], + "set-cookie" : "__cf_bm=wkWhuYTB1u5arKPJKhpjtGMzwdZiaI9KwlkSPrL7Y3E-1788197837.939905-1.0.1.1-qkF6CtiD8_KJq.N3MvoRzKHT1yqxZiroS3FaU_2iIGBZR_RSu22Un6_mWMTApYowVOx.SbL0e8QdS955JAJir2zBQgry25P3D1JgfuMK1XwaVSQcLlRNnVszFb5sTcaX; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 31 Aug 2026 18:07:18 GMT", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "CF-Cache-Status" : "DYNAMIC", + "x-ratelimit-limit-requests" : "10000", + "openai-version" : "2020-10-01", + "openai-processing-ms" : "514", + "alt-svc" : "h3=\":443\"; ma=86400", + "openai-project" : "proj_vsCSXafhhByzWOThMrJcZiw9", + "Content-Type" : "application/json" + } + }, + "uuid" : "e788905c-b9c7-385a-9bcf-df76876ff42d", + "persistent" : true, + "scenarioName" : "scenario-4-chat-completions", + "requiredScenarioState" : "scenario-4-chat-completions-2", + "insertionIndex" : 17 +} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-114a3fe592b5.json b/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-114a3fe592b5.json index b5abf7a5..ccd1df18 100644 --- a/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-114a3fe592b5.json +++ b/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-114a3fe592b5.json @@ -19,25 +19,25 @@ "status" : 200, "bodyFileName" : "chat_completions-114a3fe592b5.txt", "headers" : { - "x-request-id" : "req_7cf68331fedd433ab9b6010d37ca06fd", + "x-request-id" : "req_49bda8f5c15e4397a63dd76bd76e4d0e", "x-ratelimit-limit-tokens" : "150000000", "openai-organization" : "braintrust-data", "Server" : "cloudflare", - "CF-Ray" : "a2eb3c5b0d31a33a-SEA", + "CF-Ray" : "a33dcd70c88f9304-SEA", "X-Content-Type-Options" : "nosniff", "x-ratelimit-reset-requests" : "2ms", "x-ratelimit-remaining-tokens" : "149999982", "x-openai-proxy-wasm" : "v0.1", "x-ratelimit-remaining-requests" : "29999", - "Date" : "Fri, 21 Aug 2026 17:07:44 GMT", + "Date" : "Mon, 31 Aug 2026 17:37:19 GMT", "x-ratelimit-reset-tokens" : "0s", "access-control-expose-headers" : [ "X-Request-ID", "CF-Ray", "CF-Ray" ], - "set-cookie" : "__cf_bm=rxe5UIgls0f5Y3f5kWAxcZP7xXWDpHQJn7Feekg2ToI-1787332064.4858804-1.0.1.1-A8.eiqur4vBmUSbdyfPh9pUtcQRLJGphzQKSMQJrKGZvXB3JNCAX1sbjP4PlLziGk4dn_4_jggQJmPdeymR1hsmkq2vJEkyAmsespHSAUE97GlPxvciI8XsIyzjBcWkm; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.openai.com; Expires=Fri, 21 Aug 2026 17:37:44 GMT", + "set-cookie" : "__cf_bm=zxJrkumm460Rs7yhreIZ1YAabtR8nb8TiBWwBYh2tlY-1788197839.4902549-1.0.1.1-l3oW6w40rSQ4muwL8tHLebWUyodp14mv_gFZNPKkbO_KFu0GAEaQ0fYcrBagmlllGURgj9TjGP4fJRlagB7GVD4akIfYQUQzzP39tRh6zlD92TxUL07sB356.4fTE2qV; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 31 Aug 2026 18:07:19 GMT", "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", "CF-Cache-Status" : "DYNAMIC", "x-ratelimit-limit-requests" : "30000", "openai-version" : "2020-10-01", - "openai-processing-ms" : "247", + "openai-processing-ms" : "334", "alt-svc" : "h3=\":443\"; ma=86400", "openai-project" : "proj_vsCSXafhhByzWOThMrJcZiw9", "Content-Type" : "text/event-stream; charset=utf-8" @@ -45,5 +45,5 @@ }, "uuid" : "50c9943b-632e-3dff-8453-f59bd1273f29", "persistent" : true, - "insertionIndex" : 56 + "insertionIndex" : 15 } \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-1396042660a1.json b/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-1396042660a1.json index 89392a1e..cca287b0 100644 --- a/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-1396042660a1.json +++ b/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-1396042660a1.json @@ -19,25 +19,25 @@ "status" : 200, "bodyFileName" : "chat_completions-1396042660a1.txt", "headers" : { - "x-request-id" : "req_db5e36cdfe8843f88bb7cdfefac85571", + "x-request-id" : "req_06708ed9a9074502872f64efd7c2f1bf", "x-ratelimit-limit-tokens" : "150000000", "openai-organization" : "braintrust-data", "Server" : "cloudflare", - "CF-Ray" : "a2a514a898693295-SEA", + "CF-Ray" : "a33dd8386e399304-SEA", "X-Content-Type-Options" : "nosniff", "x-ratelimit-reset-requests" : "2ms", "x-ratelimit-remaining-tokens" : "149999987", "x-openai-proxy-wasm" : "v0.1", "x-ratelimit-remaining-requests" : "29999", - "Date" : "Thu, 13 Aug 2026 04:47:16 GMT", + "Date" : "Mon, 31 Aug 2026 17:44:41 GMT", "x-ratelimit-reset-tokens" : "0s", "access-control-expose-headers" : [ "X-Request-ID", "CF-Ray", "CF-Ray" ], - "set-cookie" : "__cf_bm=T6xnzzsEEIsgU4dO39AMuSME3vsE4DxJdP2FpWMPz88-1786596435.2965999-1.0.1.1-ruWJF7ZKD1_jsgt72ebauZR9RTzTOSM6XPzwRP6AOFwzBS2DCLrpVdb3nh1ehixaAAUiRcmfQiFq8mU8QCbvjF5X5V4YtRpV_yKlAktbpyFvctNs51wzXG77GCi.oQTu; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.openai.com; Expires=Thu, 13 Aug 2026 05:17:16 GMT", + "set-cookie" : "__cf_bm=M3XUTEyJlrTWf.x_QFu8Vi9syU84WTA2hvrusdCJU1s-1788198281.0224748-1.0.1.1-1oHEXqbSWoK_VaDzq1qI0n8bKPQcoTANcuMa2kHUhucMJkpmqYE2H.IYl9T9VbeT80fNFkuD7Ef2Qz2OZB13Yx60X2HfwVIiuN2uIIu8P2JaD3WAL8yU1UGDd2xFWnb1; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 31 Aug 2026 18:14:41 GMT", "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", "CF-Cache-Status" : "DYNAMIC", "x-ratelimit-limit-requests" : "30000", "openai-version" : "2020-10-01", - "openai-processing-ms" : "482", + "openai-processing-ms" : "492", "alt-svc" : "h3=\":443\"; ma=86400", "openai-project" : "proj_vsCSXafhhByzWOThMrJcZiw9", "Content-Type" : "text/event-stream; charset=utf-8" @@ -45,5 +45,5 @@ }, "uuid" : "53345a74-6b35-38d0-a840-77a7ee136e13", "persistent" : true, - "insertionIndex" : 35 + "insertionIndex" : 59 } \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-147f1d6ed0ae.json b/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-147f1d6ed0ae.json index 75dcd54f..b49c8486 100644 --- a/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-147f1d6ed0ae.json +++ b/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-147f1d6ed0ae.json @@ -21,29 +21,29 @@ "headers" : { "Server" : "cloudflare", "x-ratelimit-reset-tokens" : "0s", - "set-cookie" : "__cf_bm=zlJ1LHGlDBaxOgjRYxKIYDwmLG7.SafA.w1SV.QFkAU-1784232233.1988738-1.0.1.1-LJe_P.URwS7kVGXBQXUdZBbIiIbGS9G2xW3FP9pdn6UdmQ4InsMfUw14rxTCk0LLvgzweBWRlioBmwgZiv_uSj_QWpOA85nQjsLLz1EoMwMeFuR1EwKtlFYtmfMb3dPu; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.openai.com; Expires=Thu, 16 Jul 2026 20:33:53 GMT", + "set-cookie" : "__cf_bm=3EgOv_Rungc8XSoAR99SQJ6UmTw9H1sEjn1RG6KexeQ-1788198297.8077881-1.0.1.1-hkhy0dhcFyMkcbLV172dZL7IYDHFBbkZsGo3MqEg8erzT7LRKyisx1IOoRUQk0sz6CMHTJ8iBQr4iyUdpihY0h2Xa9_WuWRyJ31BJf1rnZveYWRmYM3Gy9KGNsl4YAMu; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 31 Aug 2026 18:14:58 GMT", "Access-Control-Expose-Headers" : [ "CF-Ray", "X-Request-ID", "CF-Ray" ], "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", "openai-project" : "proj_vsCSXafhhByzWOThMrJcZiw9", "Content-Type" : "application/json", - "x-request-id" : "req_ffed640ef1ee4b74ad7ca4365f3c7d42", + "x-request-id" : "req_342e9fb88efe40cbba913147cb971b39", "x-ratelimit-limit-tokens" : "150000000", "openai-organization" : "braintrust-data", - "CF-Ray" : "a1c39ce17c3d7642-SEA", + "CF-Ray" : "a33dd8a14cfcb9f1-SEA", "X-Content-Type-Options" : "nosniff", "x-ratelimit-reset-requests" : "2ms", - "x-ratelimit-remaining-tokens" : "149999992", + "x-ratelimit-remaining-tokens" : "149999990", "x-openai-proxy-wasm" : "v0.1", "x-ratelimit-remaining-requests" : "29999", - "Date" : "Thu, 16 Jul 2026 20:03:53 GMT", + "Date" : "Mon, 31 Aug 2026 17:44:58 GMT", "CF-Cache-Status" : "DYNAMIC", "x-ratelimit-limit-requests" : "30000", "openai-version" : "2020-10-01", - "openai-processing-ms" : "535", + "openai-processing-ms" : "486", "alt-svc" : "h3=\":443\"; ma=86400" } }, "uuid" : "f41a9001-a38a-3d9b-b546-38d4751ec1ce", "persistent" : true, - "insertionIndex" : 27 + "insertionIndex" : 63 } \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-1c381de89b6c.json b/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-1c381de89b6c.json deleted file mode 100644 index 86f51890..00000000 --- a/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-1c381de89b6c.json +++ /dev/null @@ -1,52 +0,0 @@ -{ - "id" : "7dee2bb4-9cd4-3f7a-8b3c-7a1a7d94fcd0", - "name" : "chat_completions", - "request" : { - "url" : "/chat/completions", - "method" : "POST", - "headers" : { - "Content-Type" : { - "equalTo" : "application/json" - } - }, - "bodyPatterns" : [ { - "equalToJson" : "{\n \"model\" : \"gpt-4o-mini\",\n \"messages\" : [ {\n \"role\" : \"system\",\n \"content\" : \"you are a concise assistant\"\n }, {\n \"role\" : \"user\",\n \"content\" : \"Say hello in one word.\"\n } ],\n \"temperature\" : 0.0,\n \"n\" : 2,\n \"stream\" : true,\n \"stream_options\" : {\n \"include_usage\" : true\n },\n \"max_tokens\" : 100\n}", - "ignoreArrayOrder" : true, - "ignoreExtraElements" : false - } ] - }, - "response" : { - "status" : 200, - "bodyFileName" : "chat_completions-1c381de89b6c.txt", - "headers" : { - "x-request-id" : "req_8da8dccdb6db44a19b849774c1eb7f7d", - "x-ratelimit-limit-tokens" : "150000000", - "openai-organization" : "braintrust-data", - "Server" : "cloudflare", - "CF-Ray" : "a2eb3c588ca35396-SEA", - "X-Content-Type-Options" : "nosniff", - "x-ratelimit-reset-requests" : "2ms", - "x-ratelimit-remaining-tokens" : "149999985", - "x-openai-proxy-wasm" : "v0.1", - "x-ratelimit-remaining-requests" : "29999", - "Date" : "Fri, 21 Aug 2026 17:07:44 GMT", - "x-ratelimit-reset-tokens" : "0s", - "access-control-expose-headers" : [ "X-Request-ID", "CF-Ray", "CF-Ray" ], - "set-cookie" : "__cf_bm=0vBp7ZZlkSDqlfN969JDXilBXtwgWCAqAwWamOcqHsM-1787332064.086166-1.0.1.1-KcPEp3KTdLaq1OvPQGSR.sL35KUXpl0ubqKk1Q22BW3vQo35Q3ERA1M8n5ROb0DyIvBgMg0zIxG47UZNj_UE29nxpkZnFXp.sM7l_h4vMORS.iAzJYrZBwM1NbzaxKA3; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.openai.com; Expires=Fri, 21 Aug 2026 17:37:44 GMT", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "CF-Cache-Status" : "DYNAMIC", - "x-ratelimit-limit-requests" : "30000", - "openai-version" : "2020-10-01", - "openai-processing-ms" : "250", - "alt-svc" : "h3=\":443\"; ma=86400", - "openai-project" : "proj_vsCSXafhhByzWOThMrJcZiw9", - "Content-Type" : "text/event-stream; charset=utf-8" - } - }, - "uuid" : "7dee2bb4-9cd4-3f7a-8b3c-7a1a7d94fcd0", - "persistent" : true, - "scenarioName" : "scenario-1-chat-completions", - "requiredScenarioState" : "Started", - "newScenarioState" : "scenario-1-chat-completions-2", - "insertionIndex" : 58 -} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-1f42b61b411c.json b/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-1f42b61b411c.json new file mode 100644 index 00000000..66ec8b4b --- /dev/null +++ b/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-1f42b61b411c.json @@ -0,0 +1,52 @@ +{ + "id" : "b2dae1e1-27bf-3d95-b11b-677909eb9cea", + "name" : "chat_completions", + "request" : { + "url" : "/chat/completions", + "method" : "POST", + "headers" : { + "Content-Type" : { + "equalTo" : "application/json" + } + }, + "bodyPatterns" : [ { + "equalToJson" : "{\"messages\":[{\"content\":\"You are a helpful assistant\",\"role\":\"system\"},{\"content\":\"What is the capital of France?\",\"role\":\"user\"}],\"model\":\"gpt-4o-mini\",\"temperature\":0.0}", + "ignoreArrayOrder" : true, + "ignoreExtraElements" : false + } ] + }, + "response" : { + "status" : 200, + "bodyFileName" : "chat_completions-1f42b61b411c.json", + "headers" : { + "Server" : "cloudflare", + "x-ratelimit-reset-tokens" : "0s", + "set-cookie" : "__cf_bm=Jqvy6CslhQ67XXp54chqJ7b3naDHhqyczmDd_yo21us-1788198251.5365825-1.0.1.1-sApWpD7mUhqB4yzaPYVyUTyltMNPq_ujoTMLDBZaBEoAaIBIshaCucApkmm7ouB3gII04KwQRo6y6f_8P8Qujjh.Ar5GbhsRDuT7OBtVnJmIvDSqSMH1uwT2ECkbFeTP; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 31 Aug 2026 18:14:12 GMT", + "Access-Control-Expose-Headers" : [ "CF-Ray", "X-Request-ID", "CF-Ray" ], + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "openai-project" : "proj_vsCSXafhhByzWOThMrJcZiw9", + "Content-Type" : "application/json", + "x-request-id" : "req_0f5e8cd1dd794a3eb001c4faef341fbf", + "x-ratelimit-limit-tokens" : "150000000", + "openai-organization" : "braintrust-data", + "CF-Ray" : "a33dd7801aaa7609-SEA", + "X-Content-Type-Options" : "nosniff", + "x-ratelimit-reset-requests" : "2ms", + "x-ratelimit-remaining-tokens" : "149999982", + "x-openai-proxy-wasm" : "v0.1", + "x-ratelimit-remaining-requests" : "29999", + "Date" : "Mon, 31 Aug 2026 17:44:12 GMT", + "CF-Cache-Status" : "DYNAMIC", + "x-ratelimit-limit-requests" : "30000", + "openai-version" : "2020-10-01", + "openai-processing-ms" : "457", + "alt-svc" : "h3=\":443\"; ma=86400" + } + }, + "uuid" : "b2dae1e1-27bf-3d95-b11b-677909eb9cea", + "persistent" : true, + "scenarioName" : "scenario-3-chat-completions", + "requiredScenarioState" : "scenario-3-chat-completions-4", + "newScenarioState" : "scenario-3-chat-completions-5", + "insertionIndex" : 46 +} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-2bc496b1900f.json b/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-2bc496b1900f.json index 926c51fc..341455b3 100644 --- a/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-2bc496b1900f.json +++ b/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-2bc496b1900f.json @@ -21,29 +21,29 @@ "headers" : { "Server" : "cloudflare", "x-ratelimit-reset-tokens" : "0s", - "set-cookie" : "__cf_bm=rcuXpW5WbtXBLjnaxL8xsn2wqgFMe7BIDrxmE74NxT0-1784232229.121729-1.0.1.1-LTc7pdJnNmqiJOMu5NnISUbNOBpo049mh8XnSjO.qobf74irs4URogRrXmG5SPqux_gvNezLS55TW88hj4KqUqwLzHRVK2cNJvEMpHJog9PCICCZrm9Fsv4Jp5mZNpPj; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.openai.com; Expires=Thu, 16 Jul 2026 20:33:50 GMT", + "set-cookie" : "__cf_bm=uYYpcwgytka7kypw5YHQ_v3l1qOW5aJvQHQ1S_oA66o-1788198293.4247925-1.0.1.1-eh6EC2OZytzkJuSky0s.mvbjK4PSfFeETTWkCYvoduS20zZ6RiwYtWn61lhuR_968ofH1wfOtmRu2rRboGAMEyxZbsB3B4un9JgXugnlm7hxLkHlA96t5FdljUsng._5; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 31 Aug 2026 18:14:54 GMT", "Access-Control-Expose-Headers" : [ "CF-Ray", "X-Request-ID", "CF-Ray" ], "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", "openai-project" : "proj_vsCSXafhhByzWOThMrJcZiw9", "Content-Type" : "application/json", - "x-request-id" : "req_4d85729276484a3fa5c856c9d123e419", + "x-request-id" : "req_96881f75a7a54c5db937ea02602b043f", "x-ratelimit-limit-tokens" : "150000000", "openai-organization" : "braintrust-data", - "CF-Ray" : "a1c39cc7fe4fba12-SEA", + "CF-Ray" : "a33dd885eaab76ec-SEA", "X-Content-Type-Options" : "nosniff", "x-ratelimit-reset-requests" : "2ms", "x-ratelimit-remaining-tokens" : "149999980", "x-openai-proxy-wasm" : "v0.1", "x-ratelimit-remaining-requests" : "29999", - "Date" : "Thu, 16 Jul 2026 20:03:50 GMT", + "Date" : "Mon, 31 Aug 2026 17:44:54 GMT", "CF-Cache-Status" : "DYNAMIC", "x-ratelimit-limit-requests" : "30000", "openai-version" : "2020-10-01", - "openai-processing-ms" : "506", + "openai-processing-ms" : "448", "alt-svc" : "h3=\":443\"; ma=86400" } }, "uuid" : "2b4a7629-7448-3991-95e7-a41b235eb4b5", "persistent" : true, - "insertionIndex" : 28 + "insertionIndex" : 64 } \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-39f585d9410d.json b/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-39f585d9410d.json index 117483df..82cf2446 100644 --- a/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-39f585d9410d.json +++ b/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-39f585d9410d.json @@ -21,29 +21,29 @@ "headers" : { "Server" : "cloudflare", "x-ratelimit-reset-tokens" : "0s", - "set-cookie" : "__cf_bm=0biCxyA28jAu20VnZFCQ2o_dSTn1dT.aap9nOim4U68-1783444498.3982368-1.0.1.1-wbTPTO0Iwif1x6W2S9lPU1QnIRNrbs6wOkx8F76ZQNb6Wpq_EXbebJvj63GzGBkBdaUF7KLfBqR2lSO9WWsnXVZHI6jHhfDA4q5w37ivDjVLoUAY8Hc0jDMIeEfwUFQH; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.openai.com; Expires=Tue, 07 Jul 2026 17:44:58 GMT", + "set-cookie" : "__cf_bm=OVmp4iHp7gaMaxR8h0Tf5DaPZGYI36_yWYxnS2d03Y4-1788197836.9038897-1.0.1.1-VrwR3O.5eiwpoGSfXfCMOO9y7I1TvsciYFTaC9HftDWfz_aNO9PBjn9u4IfGHKxUM.lkh7IIbP2CSo4.SJGSiSrA2o6OZ3VUqs_2MKKbMmUYbkrqh2EQcn8X1VLT.Zb5; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 31 Aug 2026 18:07:17 GMT", "Access-Control-Expose-Headers" : [ "CF-Ray", "X-Request-ID", "CF-Ray" ], "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", "openai-project" : "proj_vsCSXafhhByzWOThMrJcZiw9", "Content-Type" : "application/json", - "x-request-id" : "req_551d0da2fd204a25addeb99ce3ad18d9", + "x-request-id" : "req_47225fc805db4fc387554b6ba3295839", "x-ratelimit-limit-tokens" : "30000000", "openai-organization" : "braintrust-data", - "CF-Ray" : "a1787d12fb320923-SEA", + "CF-Ray" : "a33dcd60ab8a12d4-SEA", "X-Content-Type-Options" : "nosniff", "x-ratelimit-reset-requests" : "6ms", - "x-ratelimit-remaining-tokens" : "29999987", + "x-ratelimit-remaining-tokens" : "29999986", "x-openai-proxy-wasm" : "v0.1", "x-ratelimit-remaining-requests" : "9999", - "Date" : "Tue, 07 Jul 2026 17:14:58 GMT", + "Date" : "Mon, 31 Aug 2026 17:37:17 GMT", "CF-Cache-Status" : "DYNAMIC", "x-ratelimit-limit-requests" : "10000", "openai-version" : "2020-10-01", - "openai-processing-ms" : "502", + "openai-processing-ms" : "605", "alt-svc" : "h3=\":443\"; ma=86400" } }, "uuid" : "cf14de64-7771-3442-ab57-f2643f3e2dfc", "persistent" : true, - "insertionIndex" : 14 + "insertionIndex" : 18 } \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-7c0db28da6b8.json b/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-3a0e595e4db7.json similarity index 51% rename from test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-7c0db28da6b8.json rename to test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-3a0e595e4db7.json index 10c57661..8ec33cef 100644 --- a/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-7c0db28da6b8.json +++ b/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-3a0e595e4db7.json @@ -1,5 +1,5 @@ { - "id" : "a17f0a08-90cf-3039-a216-15f16dbeedf0", + "id" : "21779005-89b9-3297-8f67-72ac3ec469e7", "name" : "chat_completions", "request" : { "url" : "/chat/completions", @@ -10,40 +10,42 @@ } }, "bodyPatterns" : [ { - "equalToJson" : "{\"messages\":[{\"content\":\"Look at this sequence: 2, 6, 12, 20, 30. What is the pattern and what would be the formula for the nth term?\\n\",\"role\":\"user\"}],\"model\":\"o4-mini\"}", + "equalToJson" : "{\"messages\":[{\"content\":\"You are a helpful assistant\",\"role\":\"system\"},{\"content\":\"What is the capital of France?\",\"role\":\"user\"}],\"model\":\"gpt-4o-mini\",\"temperature\":0.0}", "ignoreArrayOrder" : true, "ignoreExtraElements" : false } ] }, "response" : { "status" : 200, - "bodyFileName" : "chat_completions-7c0db28da6b8.json", + "bodyFileName" : "chat_completions-3a0e595e4db7.json", "headers" : { "Server" : "cloudflare", "x-ratelimit-reset-tokens" : "0s", - "set-cookie" : "__cf_bm=Wky4DpVpTg7LMCTKr3ZOE9ZrY3w_.7Zx_.tQJ_dwUkI-1786682651.1902754-1.0.1.1-_5dU7Ifp7l3K1Eg1dXMsO63q0vFVHk2LQSqJZkQrbml3gWFkrwA7TGO6kZkUNJJIOq1U0axg3NrBUO3YO3w_ZWDP0Uy.LNbn9TcHHkC0gbI8jpuhRxDt_rJ5aJQRQy2y; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.openai.com; Expires=Fri, 14 Aug 2026 05:14:18 GMT", + "set-cookie" : "__cf_bm=hZOvDXqCpnyNQVScSMReiRyWmwOU3JUafTyy7LbwGmE-1788198253.8808696-1.0.1.1-YvnDFauxz_L1q7SL7cwADk_NZfQurx1bweGjmtAknl3j6ftAlwxz.ZR.PfCsr7BqAS6aM3Wabol9bl23ze.ozHXdVGQSa1M.Ht4nVCBZpXE_rf59rCQ1CSfv.Vmy1iMm; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 31 Aug 2026 18:14:14 GMT", "Access-Control-Expose-Headers" : [ "CF-Ray", "X-Request-ID", "CF-Ray" ], "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", "openai-project" : "proj_vsCSXafhhByzWOThMrJcZiw9", "Content-Type" : "application/json", - "x-request-id" : "req_3dc11519d9c8408abd0cb1c195d19d19", + "x-request-id" : "req_6e3fdd3791cc4e60b8bf3a219f40f5e0", "x-ratelimit-limit-tokens" : "150000000", "openai-organization" : "braintrust-data", - "CF-Ray" : "a2ad4d89ee3f1f9a-SEA", + "CF-Ray" : "a33dd78ebc535705-SEA", "X-Content-Type-Options" : "nosniff", "x-ratelimit-reset-requests" : "2ms", - "x-ratelimit-remaining-tokens" : "149999970", + "x-ratelimit-remaining-tokens" : "149999982", "x-openai-proxy-wasm" : "v0.1", "x-ratelimit-remaining-requests" : "29999", - "Date" : "Fri, 14 Aug 2026 04:44:18 GMT", + "Date" : "Mon, 31 Aug 2026 17:44:14 GMT", "CF-Cache-Status" : "DYNAMIC", "x-ratelimit-limit-requests" : "30000", "openai-version" : "2020-10-01", - "openai-processing-ms" : "6333", + "openai-processing-ms" : "627", "alt-svc" : "h3=\":443\"; ma=86400" } }, - "uuid" : "a17f0a08-90cf-3039-a216-15f16dbeedf0", + "uuid" : "21779005-89b9-3297-8f67-72ac3ec469e7", "persistent" : true, - "insertionIndex" : 37 + "scenarioName" : "scenario-3-chat-completions", + "requiredScenarioState" : "scenario-3-chat-completions-5", + "insertionIndex" : 45 } \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-7eca37e75602.json b/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-41fec2dc517f.json similarity index 67% rename from test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-7eca37e75602.json rename to test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-41fec2dc517f.json index 10d6b9fd..b9a77995 100644 --- a/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-7eca37e75602.json +++ b/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-41fec2dc517f.json @@ -1,5 +1,5 @@ { - "id" : "a87ed34a-23ed-318c-bb38-228e0f0a781c", + "id" : "1353e449-1d1c-39d0-b1c8-f2536c0940ef", "name" : "chat_completions", "request" : { "url" : "/chat/completions", @@ -17,36 +17,36 @@ }, "response" : { "status" : 200, - "bodyFileName" : "chat_completions-7eca37e75602.txt", + "bodyFileName" : "chat_completions-41fec2dc517f.txt", "headers" : { - "x-request-id" : "req_f2d229b6e6c240c293557a6129b1b576", + "x-request-id" : "req_0af097fcf9a144c18a1ff58d85b1916a", "x-ratelimit-limit-tokens" : "150000000", "openai-organization" : "braintrust-data", "Server" : "cloudflare", - "CF-Ray" : "a2eb3bdfaf1ae9ec-SEA", + "CF-Ray" : "a33dccb74842a328-SEA", "X-Content-Type-Options" : "nosniff", "x-ratelimit-reset-requests" : "2ms", "x-ratelimit-remaining-tokens" : "149999985", "x-openai-proxy-wasm" : "v0.1", "x-ratelimit-remaining-requests" : "29999", - "Date" : "Fri, 21 Aug 2026 17:07:25 GMT", + "Date" : "Mon, 31 Aug 2026 17:36:50 GMT", "x-ratelimit-reset-tokens" : "0s", "access-control-expose-headers" : [ "X-Request-ID", "CF-Ray", "CF-Ray" ], - "set-cookie" : "__cf_bm=hhRHBP_yThcejuqdma2Kwxn6ULWAgGIHLoclFf_O9nY-1787332044.7441347-1.0.1.1-DyomIcloY7paym9pVJt_S2ldMV2giC0mx_bAbN3FM6ceutxad6MWjWfkZn3FMS4Zgw5vW3Gxm5Om0_pAGq0JGqmEYy7.TuVk1wpDiLEIb0YS8IEZ_C0DZ5DbPRPZfhKe; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.openai.com; Expires=Fri, 21 Aug 2026 17:37:25 GMT", + "set-cookie" : "__cf_bm=wowfqTPdgSVzUQspQfvbQAZ0UtNSPoRZIjmhGNETQxw-1788197809.810948-1.0.1.1-G9Vy..eiWlPfelaaRL8oXsYPO63lVFzBzbCQ0OPxg_aXGWRUYbNR5IGfZFOY_8cT4oydm4woqPmxdjvslrC43A.YplAB_rI51.vkSrWwfM8ADh1clLyQoOisTJ.erBMV; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 31 Aug 2026 18:06:50 GMT", "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", "CF-Cache-Status" : "DYNAMIC", "x-ratelimit-limit-requests" : "30000", "openai-version" : "2020-10-01", - "openai-processing-ms" : "429", + "openai-processing-ms" : "433", "alt-svc" : "h3=\":443\"; ma=86400", "openai-project" : "proj_vsCSXafhhByzWOThMrJcZiw9", "Content-Type" : "text/event-stream; charset=utf-8" } }, - "uuid" : "a87ed34a-23ed-318c-bb38-228e0f0a781c", + "uuid" : "1353e449-1d1c-39d0-b1c8-f2536c0940ef", "persistent" : true, - "scenarioName" : "scenario-1-chat-completions", + "scenarioName" : "scenario-6-chat-completions", "requiredScenarioState" : "Started", - "newScenarioState" : "scenario-1-chat-completions-2", - "insertionIndex" : 51 + "newScenarioState" : "scenario-6-chat-completions-2", + "insertionIndex" : 30 } \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-dafccec799b8.json b/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-4d01f33ddf1d.json similarity index 53% rename from test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-dafccec799b8.json rename to test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-4d01f33ddf1d.json index 12c72b80..9653e92e 100644 --- a/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-dafccec799b8.json +++ b/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-4d01f33ddf1d.json @@ -1,5 +1,5 @@ { - "id" : "af5058cb-a056-36a5-b8fb-01adaf085e3f", + "id" : "bd4ed7df-eaba-3cc6-bb88-0e14835711e2", "name" : "chat_completions", "request" : { "url" : "/chat/completions", @@ -10,42 +10,43 @@ } }, "bodyPatterns" : [ { - "equalToJson" : "{\n \"model\" : \"gpt-4o-mini\",\n \"messages\" : [ {\n \"role\" : \"system\",\n \"content\" : \"you are a concise assistant\"\n }, {\n \"role\" : \"user\",\n \"content\" : \"Say hello in one word.\"\n } ],\n \"temperature\" : 0.0,\n \"n\" : 2,\n \"stream\" : true,\n \"stream_options\" : {\n \"include_usage\" : true\n },\n \"max_tokens\" : 100\n}", + "equalToJson" : "{\n \"model\" : \"gpt-4o-mini\",\n \"messages\" : [ {\n \"role\" : \"system\",\n \"content\" : \"you are a helpful assistant\"\n }, {\n \"role\" : \"user\",\n \"content\" : \"What is the capital of France?\"\n } ],\n \"temperature\" : 0.0,\n \"stream\" : false\n}", "ignoreArrayOrder" : true, "ignoreExtraElements" : false } ] }, "response" : { "status" : 200, - "bodyFileName" : "chat_completions-dafccec799b8.txt", + "bodyFileName" : "chat_completions-4d01f33ddf1d.json", "headers" : { - "x-request-id" : "req_4a1c3ed528394fd2b217a0338326105c", + "x-request-id" : "req_5a9d76eb59aa40c0a0761509297770e7", "x-ratelimit-limit-tokens" : "150000000", "openai-organization" : "braintrust-data", "Server" : "cloudflare", - "CF-Ray" : "a2eb3c5efff0bd66-SEA", + "CF-Ray" : "a33dccbbcb22ec80-SEA", "X-Content-Type-Options" : "nosniff", "x-ratelimit-reset-requests" : "2ms", "x-ratelimit-remaining-tokens" : "149999982", "x-openai-proxy-wasm" : "v0.1", "x-ratelimit-remaining-requests" : "29999", - "Date" : "Fri, 21 Aug 2026 17:07:45 GMT", + "Date" : "Mon, 31 Aug 2026 17:36:51 GMT", "x-ratelimit-reset-tokens" : "0s", "access-control-expose-headers" : [ "X-Request-ID", "CF-Ray", "CF-Ray" ], - "set-cookie" : "__cf_bm=9bCwlNG0cnwXo.3jy618ztjjSu5q8q8Nc00.XEhJL9U-1787332065.1225748-1.0.1.1-IkhA9HESVMJkx6bFha_hGD.LDJka.eT1iKaa.xZNPqv3zHsSJVKdsQduX7zVc55355ewDtV2QJsdzU3eTKFf0aDeFr6GvTK6GME6I6rsQnHpxpCEn1pilEg5jLcl03jQ; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.openai.com; Expires=Fri, 21 Aug 2026 17:37:45 GMT", + "set-cookie" : "__cf_bm=1w0eBjDbEr8F4HekfbpJpnF070qamLvn_1qgeo8Di8E-1788197810.529692-1.0.1.1-ytxfKG11TG53ScKnVuVLqPscaUsh3nukU3UaNFsnOlp71bNE1ZAIjgRjSWU.XGNErG0rXCNhqFZ3mwDJi_wPa8gmhh_.T7RSYPSbcPaoDPnVRdsnmqhuGMr_LG3np8Aq; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 31 Aug 2026 18:06:51 GMT", "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", "CF-Cache-Status" : "DYNAMIC", "x-ratelimit-limit-requests" : "30000", "openai-version" : "2020-10-01", - "openai-processing-ms" : "282", + "openai-processing-ms" : "709", "alt-svc" : "h3=\":443\"; ma=86400", "openai-project" : "proj_vsCSXafhhByzWOThMrJcZiw9", - "Content-Type" : "text/event-stream; charset=utf-8" + "Content-Type" : "application/json" } }, - "uuid" : "af5058cb-a056-36a5-b8fb-01adaf085e3f", + "uuid" : "bd4ed7df-eaba-3cc6-bb88-0e14835711e2", "persistent" : true, - "scenarioName" : "scenario-1-chat-completions", - "requiredScenarioState" : "scenario-1-chat-completions-2", - "insertionIndex" : 54 + "scenarioName" : "scenario-2-chat-completions", + "requiredScenarioState" : "Started", + "newScenarioState" : "scenario-2-chat-completions-2", + "insertionIndex" : 29 } \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-538b5ad9c2fe.json b/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-538b5ad9c2fe.json index bf4ca918..b4a09c88 100644 --- a/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-538b5ad9c2fe.json +++ b/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-538b5ad9c2fe.json @@ -10,7 +10,7 @@ } }, "bodyPatterns" : [ { - "equalToJson" : "{\"messages\":[{\"content\":\"What is the weather in Paris, France?\",\"role\":\"user\"}],\"model\":\"gpt-4o\",\"stream_options\":{\"include_usage\":true},\"temperature\":0.0,\"tools\":[{\"function\":{\"name\":\"get_weather\",\"description\":\"Get the current weather for a location\",\"parameters\":{\"type\":\"object\",\"properties\":{\"location\":{\"type\":\"string\",\"description\":\"The city and state\"}},\"required\":[\"location\"]}},\"type\":\"function\"}],\"stream\":true}", + "equalToJson" : "{\"messages\":[{\"content\":\"What is the weather in Paris, France?\",\"role\":\"user\"}],\"model\":\"gpt-4o\",\"stream_options\":{\"include_usage\":true},\"temperature\":0.0,\"tools\":[{\"function\":{\"name\":\"get_weather\",\"description\":\"Get the current weather for a location\",\"parameters\":{\"type\":\"object\",\"properties\":{\"location\":{\"description\":\"The city and state\",\"type\":\"string\"}},\"required\":[\"location\"]}},\"type\":\"function\"}],\"stream\":true}", "ignoreArrayOrder" : true, "ignoreExtraElements" : false } ] @@ -19,25 +19,25 @@ "status" : 200, "bodyFileName" : "chat_completions-538b5ad9c2fe.txt", "headers" : { - "x-request-id" : "req_13f4a217fdd241549b5fbe80a1ca5a91", + "x-request-id" : "req_49751af677f545c8a83994cb2d3d20e2", "x-ratelimit-limit-tokens" : "30000000", "openai-organization" : "braintrust-data", "Server" : "cloudflare", - "CF-Ray" : "a2a50341f8c5ec58-SEA", + "CF-Ray" : "a33dd6e7de4bc3ca-SEA", "X-Content-Type-Options" : "nosniff", "x-ratelimit-reset-requests" : "6ms", "x-ratelimit-remaining-tokens" : "29999988", "x-openai-proxy-wasm" : "v0.1", "x-ratelimit-remaining-requests" : "9999", - "Date" : "Thu, 13 Aug 2026 04:35:23 GMT", + "Date" : "Mon, 31 Aug 2026 17:43:47 GMT", "x-ratelimit-reset-tokens" : "0s", "access-control-expose-headers" : [ "X-Request-ID", "CF-Ray", "CF-Ray" ], - "set-cookie" : "__cf_bm=Mj8SAhrr9xv2LQBicpHe_QH_si4Kknu50jwS0PnVLCo-1786595722.5553038-1.0.1.1-8xrLz77gnB8Djvjs3t1_BfqTUx1Z7v4cuC2_1jlIURCSXRm6rPWpQynT6sfdmQLidraqbT6OcACWit951BRdPNys9AJ_8gFcwfppzoA.tJ0mAo17rJCalOolGThS7BwS; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.openai.com; Expires=Thu, 13 Aug 2026 05:05:23 GMT", + "set-cookie" : "__cf_bm=7STpxAjOdGcGPD9yOcXp_Pus..vAE0UCFvC5NHKG2yw-1788198227.174276-1.0.1.1-5PeWbKAMmfsqAYRlNM5Qbf5iAV2ULl7JxynE6xOMVZfwwQRZtxWiRaCMC6biOpOZ4McP_MW6quxgmydJpxahLERUsImLhy71uXVaNHGkauwCkY4MZ6zfNYOjo7GPaDTZ; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 31 Aug 2026 18:13:47 GMT", "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", "CF-Cache-Status" : "DYNAMIC", "x-ratelimit-limit-requests" : "10000", "openai-version" : "2020-10-01", - "openai-processing-ms" : "442", + "openai-processing-ms" : "357", "alt-svc" : "h3=\":443\"; ma=86400", "openai-project" : "proj_vsCSXafhhByzWOThMrJcZiw9", "Content-Type" : "text/event-stream; charset=utf-8" @@ -45,5 +45,5 @@ }, "uuid" : "0b3f949e-8eed-3c3a-ba30-2d5a34244a85", "persistent" : true, - "insertionIndex" : 34 + "insertionIndex" : 53 } \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-6d5f19c8f2ab.json b/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-6d5f19c8f2ab.json index 0b4f9aac..21f28bd7 100644 --- a/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-6d5f19c8f2ab.json +++ b/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-6d5f19c8f2ab.json @@ -21,29 +21,29 @@ "headers" : { "Server" : "cloudflare", "x-ratelimit-reset-tokens" : "0s", - "set-cookie" : "__cf_bm=KLQSTWRF3HNXaHeDU7UauPeVYcHYQCkf464xlyxJPps-1783444690.4639108-1.0.1.1-LgRLmpWBhwgkM6Wfbc3JjoO5z182NXqO9XH3G3QF_x.ScZdxwlSJKTU18SZipbLgN2.PRf4wTI1KoQq5s.nLBo7mO.HssRIRVkXVhjyCa6y2fZpdDtoKkJz6LgbkKLkj; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.openai.com; Expires=Tue, 07 Jul 2026 17:48:11 GMT", + "set-cookie" : "__cf_bm=zeSS5J6rCYoPBPmI_ADfYlsccthwXRyaX0Zxhx2ccsU-1788198275.9974582-1.0.1.1-A7ayZwmtZ4Dydfj5wJjXcNwfcMdn1uWe8jLcaod3vzpmZfrqEF_4VgwkfRL2z2EyLLdYndOXgOV8_zEavhDiJZdVEpvwk072bvK_3dut8XLFKo0KEf2Hvb_S11zs.mS9; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 31 Aug 2026 18:14:36 GMT", "Access-Control-Expose-Headers" : [ "CF-Ray", "X-Request-ID", "CF-Ray" ], "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", "openai-project" : "proj_vsCSXafhhByzWOThMrJcZiw9", "Content-Type" : "application/json", - "x-request-id" : "ff7f7fe4-d440-4da0-93e0-224d7aa38472", + "x-request-id" : "req_ae2582e5665e44b5aa54d2410a0b1e92", "x-ratelimit-limit-tokens" : "150000000", "openai-organization" : "braintrust-data", - "CF-Ray" : "a17881c36f57df1f-SEA", + "CF-Ray" : "a33dd818fa904f60-SEA", "X-Content-Type-Options" : "nosniff", "x-ratelimit-reset-requests" : "2ms", "x-ratelimit-remaining-tokens" : "149999990", "x-openai-proxy-wasm" : "v0.1", "x-ratelimit-remaining-requests" : "29999", - "Date" : "Tue, 07 Jul 2026 17:18:11 GMT", + "Date" : "Mon, 31 Aug 2026 17:44:36 GMT", "CF-Cache-Status" : "DYNAMIC", "x-ratelimit-limit-requests" : "30000", "openai-version" : "2020-10-01", - "openai-processing-ms" : "623", + "openai-processing-ms" : "535", "alt-svc" : "h3=\":443\"; ma=86400" } }, "uuid" : "742e3656-deb5-341a-a21b-9b64c8bdb40b", "persistent" : true, - "insertionIndex" : 24 + "insertionIndex" : 60 } \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-6f74c5653e73.json b/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-6f74c5653e73.json index 688a7045..a16b35a7 100644 --- a/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-6f74c5653e73.json +++ b/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-6f74c5653e73.json @@ -19,13 +19,13 @@ "status" : 404, "bodyFileName" : "chat_completions-6f74c5653e73.json", "headers" : { - "x-request-id" : "req_0b1561af84e7450b9cd1d6ef27b7d390", + "x-request-id" : "req_030fafbd842f46f9ba160b07afe258bd", "Server" : "cloudflare", - "CF-Ray" : "a30f1ec42fb7cc88-SEA", + "CF-Ray" : "a33dd70e1bea9917-SEA", "X-Content-Type-Options" : "nosniff", "x-openai-proxy-wasm" : "v0.1", - "Date" : "Wed, 26 Aug 2026 01:39:01 GMT", - "set-cookie" : "__cf_bm=mHSfCIGgGG8_gp599rnyPmGl0VaCpsimYqNgbF_d9ag-1787708339.8657904-1.0.1.1-iF3F7PUuAiv8CJm_Yz75CJx8Op47zSr3OLJjs8nmGQHQkgE7ntZg9tOhLcCOVpvr01ltGLo3ka01qoycRLso4skn.L6rCAvhAVxxiV2TB.U6H1wkOhLgKmKKsFx.bX2P; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.openai.com; Expires=Wed, 26 Aug 2026 02:09:01 GMT", + "Date" : "Mon, 31 Aug 2026 17:43:53 GMT", + "set-cookie" : "__cf_bm=TJB9Gkry_6PQo8uNVS.tS8cxSowY0036H8ixtootQwA-1788198233.2963843-1.0.1.1-mKZ45vwZZ9IGbK3OEscJtNkQWO3nloZQT6r6_7lAdDzy1pyJFKgCJstgFRwsOY5iqhYqJht07.vpMxGqs93_wwsIzEPQCc.FxvTJH0iJCFh9IRupwUxRJbmlGz4xssBG; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 31 Aug 2026 18:13:53 GMT", "Access-Control-Expose-Headers" : [ "CF-Ray", "CF-Ray" ], "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", "CF-Cache-Status" : "DYNAMIC", @@ -36,5 +36,5 @@ }, "uuid" : "8644d738-98a1-3e0d-a6a1-a4be31ef694b", "persistent" : true, - "insertionIndex" : 63 + "insertionIndex" : 51 } \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-70e93b55b322.json b/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-70e93b55b322.json index 52f14af4..0d95c8a6 100644 --- a/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-70e93b55b322.json +++ b/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-70e93b55b322.json @@ -21,25 +21,25 @@ "headers" : { "Server" : "cloudflare", "x-ratelimit-reset-tokens" : "0s", - "set-cookie" : "__cf_bm=QPQN5k_i7pp74_KsMmwU8qThVr1kgAi5jeg2IANK3ec-1783444676.2297256-1.0.1.1-18Sm74alDEBxR5zmAwPM5iT3y47FWrCbhSkEDy1CSXIHxnXw2o78K2ZZxP95PvKmucpLRWHt8.WMK8IECDrq_F.4Zr2LKOFsmd9_o9ruNPK2B3XcfMACGH4YN5zruXMi; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.openai.com; Expires=Tue, 07 Jul 2026 17:47:56 GMT", + "set-cookie" : "__cf_bm=XR11KCF0UDJeYH5uG3j23imK.teWW9s0TKITvTV3dDE-1788198234.1338768-1.0.1.1-nydLeYfVXEsP0aoSfoqV7jcbTszD40bWUl5pVRnZnrRfcixeBENqjfPdVjtn8MONf7oNW5BnCwMiFuXKyq3vCOIpO5U19qy20Jspsk5Kh9Z_hqA8Q16TOESu6hvSukfl; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 31 Aug 2026 18:13:54 GMT", "Access-Control-Expose-Headers" : [ "CF-Ray", "X-Request-ID", "CF-Ray" ], "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", "openai-project" : "proj_vsCSXafhhByzWOThMrJcZiw9", "Content-Type" : "application/json", - "x-request-id" : "req_212e4c317e7f412a80235a4c6dcc16a5", + "x-request-id" : "req_57cf8d888e6a484b82281e336013536a", "x-ratelimit-limit-tokens" : "150000000", "openai-organization" : "braintrust-data", - "CF-Ray" : "a178816a6d7617fe-SEA", + "CF-Ray" : "a33dd7135cbc1846-SEA", "X-Content-Type-Options" : "nosniff", "x-ratelimit-reset-requests" : "2ms", "x-ratelimit-remaining-tokens" : "149999982", "x-openai-proxy-wasm" : "v0.1", "x-ratelimit-remaining-requests" : "29999", - "Date" : "Tue, 07 Jul 2026 17:17:56 GMT", + "Date" : "Mon, 31 Aug 2026 17:43:54 GMT", "CF-Cache-Status" : "DYNAMIC", "x-ratelimit-limit-requests" : "30000", "openai-version" : "2020-10-01", - "openai-processing-ms" : "461", + "openai-processing-ms" : "494", "alt-svc" : "h3=\":443\"; ma=86400" } }, @@ -47,5 +47,6 @@ "persistent" : true, "scenarioName" : "scenario-3-chat-completions", "requiredScenarioState" : "scenario-3-chat-completions-2", - "insertionIndex" : 18 + "newScenarioState" : "scenario-3-chat-completions-3", + "insertionIndex" : 50 } \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-72d686936d43.json b/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-72d686936d43.json index 6d40a7a0..f6e74c26 100644 --- a/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-72d686936d43.json +++ b/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-72d686936d43.json @@ -19,25 +19,25 @@ "status" : 200, "bodyFileName" : "chat_completions-72d686936d43.txt", "headers" : { - "x-request-id" : "req_3ede92070509431d99f3073d83bf0b99", + "x-request-id" : "req_c0b86a9ef441438b90d7040378ade9ae", "x-ratelimit-limit-tokens" : "150000000", "openai-organization" : "braintrust-data", "Server" : "cloudflare", - "CF-Ray" : "a17881881850a114-SEA", + "CF-Ray" : "a33dd7c3ec49767c-SEA", "X-Content-Type-Options" : "nosniff", "x-ratelimit-reset-requests" : "2ms", "x-ratelimit-remaining-tokens" : "149999982", "x-openai-proxy-wasm" : "v0.1", "x-ratelimit-remaining-requests" : "29999", - "Date" : "Tue, 07 Jul 2026 17:18:01 GMT", + "Date" : "Mon, 31 Aug 2026 17:44:22 GMT", "x-ratelimit-reset-tokens" : "0s", "access-control-expose-headers" : [ "X-Request-ID", "CF-Ray", "CF-Ray" ], - "set-cookie" : "__cf_bm=7ZmWVNYac7HmpFfbj3XNasu9Zd6CJzeECIRaR__6HRU-1783444680.9739676-1.0.1.1-QFe5YyL7TrxyQlywoC_AVZCWR4N_Y10Ij.wLMZcrjyx_sMMSzcf0l.wHIoLk1nz.C4W_2k26dsqKdltUigE4qB1oi0JB.Fkgoh1lr9Lks24DCXW6aQErWkC5yCeca1.C; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.openai.com; Expires=Tue, 07 Jul 2026 17:48:01 GMT", + "set-cookie" : "__cf_bm=VJGYhwuvQAq1cuiMaex5uulFSiF5H_mpyThmGRfV1UA-1788198262.3875618-1.0.1.1-yJ6OFRLx4iYtUd10xQFR_yigyDvk.MMd2V0siAI2vzE.9H2rHQzEBj1COAJyAv_UWMj11NuvcLj2p2QmsZTFPO5OKTTimFC3lEiz_bvA4mQGWYErhZtwSQt_bJuwcyt5; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 31 Aug 2026 18:14:22 GMT", "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", "CF-Cache-Status" : "DYNAMIC", "x-ratelimit-limit-requests" : "30000", "openai-version" : "2020-10-01", - "openai-processing-ms" : "336", + "openai-processing-ms" : "400", "alt-svc" : "h3=\":443\"; ma=86400", "openai-project" : "proj_vsCSXafhhByzWOThMrJcZiw9", "Content-Type" : "text/event-stream; charset=utf-8" @@ -47,5 +47,5 @@ "persistent" : true, "scenarioName" : "scenario-1-chat-completions", "requiredScenarioState" : "scenario-1-chat-completions-2", - "insertionIndex" : 15 + "insertionIndex" : 42 } \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-7665ccbaa3f2.json b/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-7665ccbaa3f2.json index 195f3be0..d431ccaa 100644 --- a/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-7665ccbaa3f2.json +++ b/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-7665ccbaa3f2.json @@ -19,25 +19,25 @@ "status" : 200, "bodyFileName" : "chat_completions-7665ccbaa3f2.txt", "headers" : { - "x-request-id" : "req_3fff210b47014707a65ac127a3242f69", + "x-request-id" : "req_03a737778e434ac799fad07b27cefebb", "x-ratelimit-limit-tokens" : "150000000", "openai-organization" : "braintrust-data", "Server" : "cloudflare", - "CF-Ray" : "a17881476cb2b99d-SEA", + "CF-Ray" : "a33dd6db3c0c252d-SEA", "X-Content-Type-Options" : "nosniff", "x-ratelimit-reset-requests" : "2ms", "x-ratelimit-remaining-tokens" : "149999982", "x-openai-proxy-wasm" : "v0.1", "x-ratelimit-remaining-requests" : "29999", - "Date" : "Tue, 07 Jul 2026 17:17:51 GMT", + "Date" : "Mon, 31 Aug 2026 17:43:45 GMT", "x-ratelimit-reset-tokens" : "0s", "access-control-expose-headers" : [ "X-Request-ID", "CF-Ray", "CF-Ray" ], - "set-cookie" : "__cf_bm=7ZL3nAR0tx.5sr1eSCqMAtcYRYAKK0vdbN239vkZtxQ-1783444670.6272366-1.0.1.1-CXA6pu7.VGf4RLlfTOIE3OXiKMMNapIqgyxMpSO2Lvv5T.JDkkj6zOgfNDL3hlRgoHaPy_yeb0097L9r_lmQdmHAGhUuOhUi8Cr_.rWmFrYPpPY43BLFqb2zxYvDCZTJ; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.openai.com; Expires=Tue, 07 Jul 2026 17:47:51 GMT", + "set-cookie" : "__cf_bm=0fBZkwU8W5BpaptWf8.uzLIGddr3p3cpLVUyzQ6KVgc-1788198225.1590908-1.0.1.1-VctkQu.dmwsmys8fKDGnNhjyglgIjMwiK_A3HRDwkhF0idLSMC9Ea6DxBoII8UNbzvC2xplOZhXCSAbH.tJGq5LFR0_rxN6qEHPBd36aukD6aDv0FpsEr9LmKbKndNrG; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 31 Aug 2026 18:13:45 GMT", "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", "CF-Cache-Status" : "DYNAMIC", "x-ratelimit-limit-requests" : "30000", "openai-version" : "2020-10-01", - "openai-processing-ms" : "345", + "openai-processing-ms" : "440", "alt-svc" : "h3=\":443\"; ma=86400", "openai-project" : "proj_vsCSXafhhByzWOThMrJcZiw9", "Content-Type" : "text/event-stream; charset=utf-8" @@ -48,5 +48,5 @@ "scenarioName" : "scenario-1-chat-completions", "requiredScenarioState" : "Started", "newScenarioState" : "scenario-1-chat-completions-2", - "insertionIndex" : 21 + "insertionIndex" : 54 } \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-7694b539a33b.json b/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-7694b539a33b.json new file mode 100644 index 00000000..9ad0ff3d --- /dev/null +++ b/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-7694b539a33b.json @@ -0,0 +1,52 @@ +{ + "id" : "1729b5e9-44c1-316e-a138-511271bf4cad", + "name" : "chat_completions", + "request" : { + "url" : "/chat/completions", + "method" : "POST", + "headers" : { + "Content-Type" : { + "equalTo" : "application/json" + } + }, + "bodyPatterns" : [ { + "equalToJson" : "{\"messages\":[{\"content\":\"You are a helpful assistant\",\"role\":\"system\"},{\"content\":\"What is the capital of France?\",\"role\":\"user\"}],\"model\":\"gpt-4o-mini\",\"temperature\":0.0}", + "ignoreArrayOrder" : true, + "ignoreExtraElements" : false + } ] + }, + "response" : { + "status" : 200, + "bodyFileName" : "chat_completions-7694b539a33b.json", + "headers" : { + "Server" : "cloudflare", + "x-ratelimit-reset-tokens" : "0s", + "set-cookie" : "__cf_bm=.JP1NIeQGdlHl__F8xOx5T2AO.TDl1BHdnGD3eaQSzs-1788198237.632514-1.0.1.1-6vwTieZDTG4waUIX1N0UX3ydXMInqlqRitlCCiedq_nfQ0.OExaZQwdsSNER3RGxo.D4V9nctxC9QMg2fYxpM42yd9LVBNNniPTiimdV9ZqORLib7ibVJc2RvMrI73in; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 31 Aug 2026 18:13:58 GMT", + "Access-Control-Expose-Headers" : [ "CF-Ray", "X-Request-ID", "CF-Ray" ], + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "openai-project" : "proj_vsCSXafhhByzWOThMrJcZiw9", + "Content-Type" : "application/json", + "x-request-id" : "req_b771fdf188994fcbbd4e91ff7911b1c3", + "x-ratelimit-limit-tokens" : "150000000", + "openai-organization" : "braintrust-data", + "CF-Ray" : "a33dd72938c1b9bb-SEA", + "X-Content-Type-Options" : "nosniff", + "x-ratelimit-reset-requests" : "2ms", + "x-ratelimit-remaining-tokens" : "149999982", + "x-openai-proxy-wasm" : "v0.1", + "x-ratelimit-remaining-requests" : "29999", + "Date" : "Mon, 31 Aug 2026 17:43:58 GMT", + "CF-Cache-Status" : "DYNAMIC", + "x-ratelimit-limit-requests" : "30000", + "openai-version" : "2020-10-01", + "openai-processing-ms" : "493", + "alt-svc" : "h3=\":443\"; ma=86400" + } + }, + "uuid" : "1729b5e9-44c1-316e-a138-511271bf4cad", + "persistent" : true, + "scenarioName" : "scenario-3-chat-completions", + "requiredScenarioState" : "scenario-3-chat-completions-3", + "newScenarioState" : "scenario-3-chat-completions-4", + "insertionIndex" : 48 +} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-7aec0dd2e530.json b/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-7aec0dd2e530.json index 2f15080e..ab29c822 100644 --- a/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-7aec0dd2e530.json +++ b/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-7aec0dd2e530.json @@ -19,25 +19,25 @@ "status" : 200, "bodyFileName" : "chat_completions-7aec0dd2e530.json", "headers" : { - "x-request-id" : "req_01755dd2f1aa455fbfdf40557e0fe642", + "x-request-id" : "req_85ae7fc5c2414e7b9553e77e81f69eb9", "x-ratelimit-limit-tokens" : "150000000", "openai-organization" : "braintrust-data", "Server" : "cloudflare", - "CF-Ray" : "a2eb3b3a1f3d6834-SEA", + "CF-Ray" : "a33dce1fecf84224-SEA", "X-Content-Type-Options" : "nosniff", "x-ratelimit-reset-requests" : "2ms", "x-ratelimit-remaining-tokens" : "149999970", "x-openai-proxy-wasm" : "v0.1", "x-ratelimit-remaining-requests" : "29999", - "Date" : "Fri, 21 Aug 2026 17:07:08 GMT", + "Date" : "Mon, 31 Aug 2026 17:37:54 GMT", "x-ratelimit-reset-tokens" : "0s", "access-control-expose-headers" : [ "X-Request-ID", "CF-Ray", "CF-Ray" ], - "set-cookie" : "__cf_bm=MCuTTZlILsNmy6AABDDM4ieJ0x11CM7_haXdDHuNI9s-1787332018.2557828-1.0.1.1-Dk1S8QHftQgUx586QAmO.4TpvjWg1U26nv085R316OjKKx7Ss3R68HVC2Y5AtsMxah2FYVhC748OyRCr2JhboP0SWQ8LuVhsqhHVLqgVSAnpYsYlMq8s4W4uRgXU1PNh; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.openai.com; Expires=Fri, 21 Aug 2026 17:37:08 GMT", + "set-cookie" : "__cf_bm=2.SCzQK3hzrmx0Nec_7BE1ENrUzcj6tT4QKroOcOdMg-1788197867.5061102-1.0.1.1-Ef9ZdUSY.UlW7v0eQtWzSJU1qj0Rx3VGkj7TfY1rlYitdvUndLG8Gb7aFqMPBcXhUaseajYETB0tM7e5I6siRGCru0YEaM__Bd4KK3GbbSUhIaMfAWLKHP2D_BGJSebM; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 31 Aug 2026 18:07:54 GMT", "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", "CF-Cache-Status" : "DYNAMIC", "x-ratelimit-limit-requests" : "30000", "openai-version" : "2020-10-01", - "openai-processing-ms" : "9918", + "openai-processing-ms" : "6871", "alt-svc" : "h3=\":443\"; ma=86400", "openai-project" : "proj_vsCSXafhhByzWOThMrJcZiw9", "Content-Type" : "application/json" @@ -47,5 +47,5 @@ "persistent" : true, "scenarioName" : "scenario-1-chat-completions", "requiredScenarioState" : "scenario-1-chat-completions-2", - "insertionIndex" : 48 + "insertionIndex" : 3 } \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-834f2f4789ae.json b/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-834f2f4789ae.json index 45da63c9..3ca96bdc 100644 --- a/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-834f2f4789ae.json +++ b/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-834f2f4789ae.json @@ -21,29 +21,29 @@ "headers" : { "Server" : "cloudflare", "x-ratelimit-reset-tokens" : "0s", - "set-cookie" : "__cf_bm=FJRcQ8E58CT_zxLqTilL_i0ykrMjfzqmfS2WyCWd6xI-1783444495.4855378-1.0.1.1-cpdLnXagw_H4jhSyPc8.gGJYIfFl.rbyHq4_l3juUsTJzU4Q52IJNwW__pgK1O4dXFd9E5.BQYRx6RYHaI43ZD8UKhwO4icLf4wwunmuIWb4QeK2g8I7b890L9DOwOH5; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.openai.com; Expires=Tue, 07 Jul 2026 17:44:56 GMT", + "set-cookie" : "__cf_bm=NmXUpabYOiqLYAyb9Nroh3vzTyO2s9li6_er3ICRUTE-1788197811.6605844-1.0.1.1-t8_X1MaQsy8Hzv0B.K8mjDMhAMZ4FPQOLM7q4JZmtjoBKnUs6yvvrH.Ow7Fwon0xAkadVF2R0vPtxBx5XN3tYMJv3msogpf_PEl_GxZUUbmT4DxUTzY2VX_nbRHORj1e; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 31 Aug 2026 18:06:52 GMT", "Access-Control-Expose-Headers" : [ "CF-Ray", "X-Request-ID", "CF-Ray" ], "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", "openai-project" : "proj_vsCSXafhhByzWOThMrJcZiw9", "Content-Type" : "application/json", - "x-request-id" : "req_8ec71f506f304932b30bcd5d67579228", + "x-request-id" : "req_5299c921a6a44fde8da42bd5ed3eb18c", "x-ratelimit-limit-tokens" : "150000000", "openai-organization" : "braintrust-data", - "CF-Ray" : "a1787d00cef030b7-SEA", + "CF-Ray" : "a33dccc2d81c758c-SEA", "X-Content-Type-Options" : "nosniff", "x-ratelimit-reset-requests" : "2ms", - "x-ratelimit-remaining-tokens" : "149999982", + "x-ratelimit-remaining-tokens" : "149999980", "x-openai-proxy-wasm" : "v0.1", "x-ratelimit-remaining-requests" : "29999", - "Date" : "Tue, 07 Jul 2026 17:14:56 GMT", + "Date" : "Mon, 31 Aug 2026 17:36:52 GMT", "CF-Cache-Status" : "DYNAMIC", "x-ratelimit-limit-requests" : "30000", "openai-version" : "2020-10-01", - "openai-processing-ms" : "484", + "openai-processing-ms" : "565", "alt-svc" : "h3=\":443\"; ma=86400" } }, "uuid" : "d62ea05d-48c0-36af-a773-6cf92596ddb1", "persistent" : true, - "insertionIndex" : 17 + "insertionIndex" : 27 } \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-84ab36b6457e.json b/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-84ab36b6457e.json index 23799de1..c4be28a6 100644 --- a/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-84ab36b6457e.json +++ b/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-84ab36b6457e.json @@ -19,25 +19,25 @@ "status" : 200, "bodyFileName" : "chat_completions-84ab36b6457e.txt", "headers" : { - "x-request-id" : "req_8a48872220ee4f57817ceb67949eb341", + "x-request-id" : "req_61004a0f071e4a3cb2861cdebdf50c2a", "x-ratelimit-limit-tokens" : "150000000", "openai-organization" : "braintrust-data", "Server" : "cloudflare", - "CF-Ray" : "a2eb3c5a9d5e346b-SEA", + "CF-Ray" : "a33dcd79fc547573-SEA", "X-Content-Type-Options" : "nosniff", "x-ratelimit-reset-requests" : "2ms", "x-ratelimit-remaining-tokens" : "149999982", "x-openai-proxy-wasm" : "v0.1", "x-ratelimit-remaining-requests" : "29999", - "Date" : "Fri, 21 Aug 2026 17:07:44 GMT", + "Date" : "Mon, 31 Aug 2026 17:37:21 GMT", "x-ratelimit-reset-tokens" : "0s", "access-control-expose-headers" : [ "X-Request-ID", "CF-Ray", "CF-Ray" ], - "set-cookie" : "__cf_bm=hVZUsygh9ciHf8iPyie6YB9IFh5zdaJyoSQbpAhie_k-1787332064.4178524-1.0.1.1-u9GMdaU2KiopAQHVvnlnL6T2K3xHHw85.LWacDGzB4mtoph0bN32DsDD.xZRGB9wpB595QKKkM0jVkkY6fAL0RqGb241N_BM7zLG1CCJZTvRhv89.xakXAJ1jxXjohqk; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.openai.com; Expires=Fri, 21 Aug 2026 17:37:44 GMT", + "set-cookie" : "__cf_bm=wThe8gm6GINBe5H308A6hrXsTboSSrlsj2D2kSdEc.I-1788197840.9583812-1.0.1.1-YEGUQ8135tg95y.PDxm0iKfTmDmCxFuIH0uh4hGccGBQvU.Fk2Zs3oqSFCq.xlDfCYUKE42xF4GWGcpiXfmkxzh0siaFqLGgeFS326cns.sIMyRXoUezNQczdSx3bE1i; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 31 Aug 2026 18:07:21 GMT", "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", "CF-Cache-Status" : "DYNAMIC", "x-ratelimit-limit-requests" : "30000", "openai-version" : "2020-10-01", - "openai-processing-ms" : "287", + "openai-processing-ms" : "283", "alt-svc" : "h3=\":443\"; ma=86400", "openai-project" : "proj_vsCSXafhhByzWOThMrJcZiw9", "Content-Type" : "text/event-stream; charset=utf-8" @@ -45,5 +45,5 @@ }, "uuid" : "c1cfdd78-d78d-3a85-8d69-c3d20a303758", "persistent" : true, - "insertionIndex" : 57 + "insertionIndex" : 12 } \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-90442b2c483a.json b/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-90442b2c483a.json index 39d343c2..0c310c32 100644 --- a/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-90442b2c483a.json +++ b/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-90442b2c483a.json @@ -21,29 +21,29 @@ "headers" : { "Server" : "cloudflare", "x-ratelimit-reset-tokens" : "0s", - "set-cookie" : "__cf_bm=Fy80QoCtVMJ4XqePd.nJ4_avWZmUu654sGXDGAgyUO4-1784332881.1619766-1.0.1.1-ObiHcGkNIAM93r7Wgxu5UuQqecyf7FyU5H4IM5JfwRjxXULvTfAXYeTs1xhrUQyb4AwBE_9O1LXor1PSXQdWZFxSSvnacbCkX_j3FjebPG2REiw7gpELn0NeCR9Yk0cV; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.openai.com; Expires=Sat, 18 Jul 2026 00:31:21 GMT", + "set-cookie" : "__cf_bm=QG9lcMGDrLPYDCDwdVoWmUhwYhQYIKct8edB3k_LAM8-1788197845.0621397-1.0.1.1-rPJvNGjANo4dMPh1LY_QTqmm52hd_ACU2NXnfVTN1EnGy0X29I0HdR1vo00.wXso25jG_odYL4Bv8_SKq7c.CQdhSd4BJqI7D4Z367RdbM1U8FUMzxpdwnt2oVFRV2Vb; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 31 Aug 2026 18:07:25 GMT", "Access-Control-Expose-Headers" : [ "CF-Ray", "X-Request-ID", "CF-Ray" ], "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", "openai-project" : "proj_vsCSXafhhByzWOThMrJcZiw9", "Content-Type" : "application/json", - "x-request-id" : "req_08e091605b894708abf442b2377fc1ca", + "x-request-id" : "req_cb8763dddd2c46e39adbf391b52e4a52", "x-ratelimit-limit-tokens" : "150000000", "openai-organization" : "braintrust-data", - "CF-Ray" : "a1cd361b4898d301-SEA", + "CF-Ray" : "a33dcd939df6758c-SEA", "X-Content-Type-Options" : "nosniff", "x-ratelimit-reset-requests" : "2ms", "x-ratelimit-remaining-tokens" : "149999982", "x-openai-proxy-wasm" : "v0.1", "x-ratelimit-remaining-requests" : "29999", - "Date" : "Sat, 18 Jul 2026 00:01:21 GMT", + "Date" : "Mon, 31 Aug 2026 17:37:25 GMT", "CF-Cache-Status" : "DYNAMIC", "x-ratelimit-limit-requests" : "30000", "openai-version" : "2020-10-01", - "openai-processing-ms" : "501", + "openai-processing-ms" : "554", "alt-svc" : "h3=\":443\"; ma=86400" } }, "uuid" : "ff55e1d4-4ea9-3e7b-bda0-baf5fdf29949", "persistent" : true, - "insertionIndex" : 34 + "insertionIndex" : 7 } \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-90ff0ffd3a89.json b/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-90ff0ffd3a89.json index 0b903055..69e38377 100644 --- a/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-90ff0ffd3a89.json +++ b/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-90ff0ffd3a89.json @@ -10,7 +10,7 @@ } }, "bodyPatterns" : [ { - "equalToJson" : "{\n \"model\" : \"gpt-4o-mini\",\n \"messages\" : [ {\n \"role\" : \"system\",\n \"content\" : \"you are a thoughtful assistant\"\n }, {\n \"role\" : \"user\",\n \"content\" : \"Count from 1 to 10 slowly.\"\n } ],\n \"temperature\" : 0.0,\n \"stream\" : true,\n \"stream_options\" : {\n \"include_usage\" : true\n },\n \"max_tokens\" : 800\n}", + "equalToJson" : "{\"messages\":[{\"content\":\"you are a thoughtful assistant\",\"role\":\"system\"},{\"content\":\"Count from 1 to 10 slowly.\",\"role\":\"user\"}],\"model\":\"gpt-4o-mini\",\"max_tokens\":800,\"stream\":true,\"stream_options\":{\"include_usage\":true},\"temperature\":0.0}", "ignoreArrayOrder" : true, "ignoreExtraElements" : false } ] @@ -19,25 +19,25 @@ "status" : 200, "bodyFileName" : "chat_completions-90ff0ffd3a89.txt", "headers" : { - "x-request-id" : "req_b59b9e0a0b7a4008a68b1d36d7182f9f", + "x-request-id" : "req_9c29c6dfa9904ffe82d16f9d90c261bf", "x-ratelimit-limit-tokens" : "150000000", "openai-organization" : "braintrust-data", "Server" : "cloudflare", - "CF-Ray" : "a1787d1e8f4fdc1e-SEA", + "CF-Ray" : "a33dccc06e49fc2f-SEA", "X-Content-Type-Options" : "nosniff", "x-ratelimit-reset-requests" : "2ms", "x-ratelimit-remaining-tokens" : "149999982", "x-openai-proxy-wasm" : "v0.1", "x-ratelimit-remaining-requests" : "29999", - "Date" : "Tue, 07 Jul 2026 17:15:00 GMT", + "Date" : "Mon, 31 Aug 2026 17:36:51 GMT", "x-ratelimit-reset-tokens" : "0s", "access-control-expose-headers" : [ "X-Request-ID", "CF-Ray", "CF-Ray" ], - "set-cookie" : "__cf_bm=6vXbeGC2p116QDBEP.54Vl_7fKVCeO7UJ1I71kPDZ4g-1783444500.2449899-1.0.1.1-BvfaS_eOPceEsxF3RGIT2GvLoTv9b_xzqhjh.UfUmxJocTWVUs_a8PAmximst1pLIrM_pwV9x1SdFBeQXV6rWe.KeE.cz02c3iVW2qi9dvd3ON5xLWTymDM9HPgaDzeB; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.openai.com; Expires=Tue, 07 Jul 2026 17:45:00 GMT", + "set-cookie" : "__cf_bm=4RhDB2QpPSAy.uK9akInziespTms9_bNt5Yf7XEdho8-1788197811.2618935-1.0.1.1-Fh5UF9PtP9bcaUEZ.V4rRmdKdt28rDHHq3LHfssKplvaCgFGih7lM8AM.SU4S1e.zBexv0A9cUshGsDTPIoFnVySKa3.SsiKD4lSK21s_23mNjr7z3Asv8aRWdeq75ZJ; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 31 Aug 2026 18:06:51 GMT", "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", "CF-Cache-Status" : "DYNAMIC", "x-ratelimit-limit-requests" : "30000", "openai-version" : "2020-10-01", - "openai-processing-ms" : "314", + "openai-processing-ms" : "368", "alt-svc" : "h3=\":443\"; ma=86400", "openai-project" : "proj_vsCSXafhhByzWOThMrJcZiw9", "Content-Type" : "text/event-stream; charset=utf-8" @@ -45,5 +45,5 @@ }, "uuid" : "c8119f3d-b288-3279-b313-4f39dbe08aa9", "persistent" : true, - "insertionIndex" : 12 + "insertionIndex" : 28 } \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-94957db25a8e.json b/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-94957db25a8e.json index 3ed21475..4c49fcce 100644 --- a/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-94957db25a8e.json +++ b/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-94957db25a8e.json @@ -21,29 +21,29 @@ "headers" : { "Server" : "cloudflare", "x-ratelimit-reset-tokens" : "0s", - "set-cookie" : "__cf_bm=C2AezTtbZZ3sWpk4sNdqTA2BeDam0VZ0RP4.pU5lkKI-1787332013.0744734-1.0.1.1-WOg7uUbJdxHzUbreW0PuEFQk88q3qp2ES0adBVkUZqvcPpRI44L9TbYrgtItc3a1uygyNkAqhUbpFPyRsk7Mun4GSxBRNVL.vWonfjlWIoHiJFuYP5Z.ZfdmezRa9UNX; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.openai.com; Expires=Fri, 21 Aug 2026 17:36:57 GMT", + "set-cookie" : "__cf_bm=UjTbMUkoXXztYxVPuWZbWB9bqGxmLws25My.HtuIAtE-1788197830.8961456-1.0.1.1-mtDl2NkD2jbtcXx2iOIav6bCSia9EkYA8vYxuOfY76OyoPCYzDcCms9SA8EEgr0W8LXmYAj4cLh1o7vTgy0VTwbrVxWCcRuXEMSm511EB54o1ESffhywKgrrhe02nac0; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 31 Aug 2026 18:07:20 GMT", "Access-Control-Expose-Headers" : [ "CF-Ray", "X-Request-ID", "CF-Ray" ], "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", "openai-project" : "proj_vsCSXafhhByzWOThMrJcZiw9", "Content-Type" : "application/json", - "x-request-id" : "req_a87ca4ec010b4f6995341cb2c004a45a", + "x-request-id" : "req_98b5c7942be64564b02bea7c7eb7bb47", "x-ratelimit-limit-tokens" : "150000000", "openai-organization" : "braintrust-data", - "CF-Ray" : "a2eb3b19bd87b9bc-SEA", + "CF-Ray" : "a33dcd3b1b62df15-SEA", "X-Content-Type-Options" : "nosniff", "x-ratelimit-reset-requests" : "2ms", "x-ratelimit-remaining-tokens" : "149999970", "x-openai-proxy-wasm" : "v0.1", "x-ratelimit-remaining-requests" : "29999", - "Date" : "Fri, 21 Aug 2026 17:06:57 GMT", + "Date" : "Mon, 31 Aug 2026 17:37:20 GMT", "CF-Cache-Status" : "DYNAMIC", "x-ratelimit-limit-requests" : "30000", "openai-version" : "2020-10-01", - "openai-processing-ms" : "4817", + "openai-processing-ms" : "9733", "alt-svc" : "h3=\":443\"; ma=86400" } }, "uuid" : "b4437717-d973-3833-bb0d-87425a0426e4", "persistent" : true, - "insertionIndex" : 52 + "insertionIndex" : 14 } \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-96cfd62fa134.json b/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-96cfd62fa134.json new file mode 100644 index 00000000..d178d6bf --- /dev/null +++ b/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-96cfd62fa134.json @@ -0,0 +1,52 @@ +{ + "id" : "22185e76-9e66-3800-b7f6-7dfd6f097ea8", + "name" : "chat_completions", + "request" : { + "url" : "/chat/completions", + "method" : "POST", + "headers" : { + "Content-Type" : { + "equalTo" : "application/json" + } + }, + "bodyPatterns" : [ { + "equalToJson" : "{\n \"model\" : \"gpt-4o\",\n \"messages\" : [ {\n \"role\" : \"user\",\n \"content\" : \"What is the weather like in Paris, France?\"\n } ],\n \"temperature\" : 0.0,\n \"stream\" : false,\n \"max_tokens\" : 500,\n \"tools\" : [ {\n \"type\" : \"function\",\n \"function\" : {\n \"name\" : \"get_weather\",\n \"description\" : \"Get the current weather for a location\",\n \"parameters\" : {\n \"type\" : \"object\",\n \"properties\" : {\n \"location\" : {\n \"type\" : \"string\",\n \"description\" : \"The city and state, e.g. San Francisco, CA\"\n },\n \"unit\" : {\n \"type\" : \"string\",\n \"enum\" : [ \"celsius\", \"fahrenheit\" ],\n \"description\" : \"The unit of temperature\"\n }\n },\n \"required\" : [ \"location\" ]\n }\n }\n } ]\n}", + "ignoreArrayOrder" : true, + "ignoreExtraElements" : false + } ] + }, + "response" : { + "status" : 200, + "bodyFileName" : "chat_completions-96cfd62fa134.json", + "headers" : { + "x-request-id" : "req_22a4699c26ba47ef8d7123f2a4f50603", + "x-ratelimit-limit-tokens" : "30000000", + "openai-organization" : "braintrust-data", + "Server" : "cloudflare", + "CF-Ray" : "a33dcca85b8468f2-SEA", + "X-Content-Type-Options" : "nosniff", + "x-ratelimit-reset-requests" : "6ms", + "x-ratelimit-remaining-tokens" : "29999987", + "x-openai-proxy-wasm" : "v0.1", + "x-ratelimit-remaining-requests" : "9999", + "Date" : "Mon, 31 Aug 2026 17:36:48 GMT", + "x-ratelimit-reset-tokens" : "0s", + "access-control-expose-headers" : [ "X-Request-ID", "CF-Ray", "CF-Ray" ], + "set-cookie" : "__cf_bm=mTC18XcPy0BLW1YCQ2ZRzxjSZiWRcX6.Lw.whQ3Sv7k-1788197807.411899-1.0.1.1-xOivG5SyjnThJM3UW3eWexw_4HC5R3UVyXvN2tJb7xrhaoKYc7Hd36Cct2QsH6nWQQqrEkSgjXZufcYyzbT23xSwpmqFjRXeiIhZiIoVAjBlyKLNOWZ0QzeIZd2C7BIw; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 31 Aug 2026 18:06:48 GMT", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "CF-Cache-Status" : "DYNAMIC", + "x-ratelimit-limit-requests" : "10000", + "openai-version" : "2020-10-01", + "openai-processing-ms" : "496", + "alt-svc" : "h3=\":443\"; ma=86400", + "openai-project" : "proj_vsCSXafhhByzWOThMrJcZiw9", + "Content-Type" : "application/json" + } + }, + "uuid" : "22185e76-9e66-3800-b7f6-7dfd6f097ea8", + "persistent" : true, + "scenarioName" : "scenario-4-chat-completions", + "requiredScenarioState" : "Started", + "newScenarioState" : "scenario-4-chat-completions-2", + "insertionIndex" : 35 +} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-a2986e43bb25.json b/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-a2986e43bb25.json index 85b3789d..1afd4b3e 100644 --- a/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-a2986e43bb25.json +++ b/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-a2986e43bb25.json @@ -10,7 +10,7 @@ } }, "bodyPatterns" : [ { - "equalToJson" : "{\"messages\":[{\"content\":\"you are a thoughtful assistant\",\"role\":\"system\"},{\"content\":\"Count from 1 to 10 slowly.\",\"role\":\"user\"}],\"model\":\"gpt-4o-mini\",\"max_tokens\":800,\"stream_options\":{\"include_obfuscation\":false,\"include_usage\":true},\"temperature\":0.0,\"stream\":true}", + "equalToJson" : "{\"messages\":[{\"content\":\"you are a thoughtful assistant\",\"role\":\"system\"},{\"content\":\"Count from 1 to 10 slowly.\",\"role\":\"user\"}],\"model\":\"gpt-4o-mini\",\"stream_options\":{\"include_obfuscation\":false,\"include_usage\":true},\"max_tokens\":800,\"temperature\":0.0,\"stream\":true}", "ignoreArrayOrder" : true, "ignoreExtraElements" : false } ] @@ -19,25 +19,25 @@ "status" : 200, "bodyFileName" : "chat_completions-a2986e43bb25.txt", "headers" : { - "x-request-id" : "req_96e27347ffe24e6db3327d0d3cfddf7e", + "x-request-id" : "req_857fd1fb280e4286be76f1506aa791c3", "x-ratelimit-limit-tokens" : "150000000", "openai-organization" : "braintrust-data", "Server" : "cloudflare", - "CF-Ray" : "a1cd36200fbc9692-SEA", + "CF-Ray" : "a33dcd7e6c21ad8d-SEA", "X-Content-Type-Options" : "nosniff", "x-ratelimit-reset-requests" : "2ms", - "x-ratelimit-remaining-tokens" : "149999985", + "x-ratelimit-remaining-tokens" : "149999982", "x-openai-proxy-wasm" : "v0.1", "x-ratelimit-remaining-requests" : "29999", - "Date" : "Sat, 18 Jul 2026 00:01:22 GMT", + "Date" : "Mon, 31 Aug 2026 17:37:22 GMT", "x-ratelimit-reset-tokens" : "0s", "access-control-expose-headers" : [ "X-Request-ID", "CF-Ray", "CF-Ray" ], - "set-cookie" : "__cf_bm=gMZ9Dury51hrgGHR9joJFXNzHKunexgw8fuoxRBYUXk-1784332881.92754-1.0.1.1-bc3bqv.81xU2M5VWnjCm6ctLRmTAZj7xIN7hx3FyhsjwIKb70ny52jphspMjEy54j9nkY6DiTxsp2LG.bOzH5TXiqM3nX.jmuP51SIsHzjD10K1g1YxTGT_QUDT.tBLB; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.openai.com; Expires=Sat, 18 Jul 2026 00:31:22 GMT", + "set-cookie" : "__cf_bm=l5ZB7BFJRN4BegGuRIcmz25HubFMpAmje24JaLUFC1c-1788197841.6684675-1.0.1.1-jhybPYi1kg2gdnSzIuUITFUpBEv9xaskRH.rOEquDUWUOglDePT9e.kqdmpZ3vn7H0QP66yn32npGDZd.Tsko5w3R54GtA0tCKjR.fKVEiVo5sAqexz68FzapQfvxxm0; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 31 Aug 2026 18:07:22 GMT", "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", "CF-Cache-Status" : "DYNAMIC", "x-ratelimit-limit-requests" : "30000", "openai-version" : "2020-10-01", - "openai-processing-ms" : "405", + "openai-processing-ms" : "304", "alt-svc" : "h3=\":443\"; ma=86400", "openai-project" : "proj_vsCSXafhhByzWOThMrJcZiw9", "Content-Type" : "text/event-stream; charset=utf-8" @@ -45,5 +45,5 @@ }, "uuid" : "7c1f0a33-265c-3052-ac2a-d4bf2c19279b", "persistent" : true, - "insertionIndex" : 32 + "insertionIndex" : 11 } \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-acc477a295ad.json b/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-acc477a295ad.json index 86bf7af8..11e1f39f 100644 --- a/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-acc477a295ad.json +++ b/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-acc477a295ad.json @@ -19,25 +19,25 @@ "status" : 200, "bodyFileName" : "chat_completions-acc477a295ad.txt", "headers" : { - "x-request-id" : "req_86452c065dc04d92acb7736fd94dea30", + "x-request-id" : "req_6ed871ed029b4f1d84004e496d197962", "x-ratelimit-limit-tokens" : "30000000", "openai-organization" : "braintrust-data", "Server" : "cloudflare", - "CF-Ray" : "a2a4f19e59cf76a8-SEA", + "CF-Ray" : "a33dd36c58a826b5-SEA", "X-Content-Type-Options" : "nosniff", "x-ratelimit-reset-requests" : "6ms", "x-ratelimit-remaining-tokens" : "29999988", "x-openai-proxy-wasm" : "v0.1", "x-ratelimit-remaining-requests" : "9999", - "Date" : "Thu, 13 Aug 2026 04:23:21 GMT", + "Date" : "Mon, 31 Aug 2026 17:41:25 GMT", "x-ratelimit-reset-tokens" : "0s", "access-control-expose-headers" : [ "X-Request-ID", "CF-Ray", "CF-Ray" ], - "set-cookie" : "__cf_bm=iKlivIn4kPvGXz5ZvduibLCZ_B.xcNxDXE05J.Qyn0I-1786595000.0603495-1.0.1.1-eldXPa9Oseu2hVMGvC87huKrVDaMXnFa9a6znT3sf8EnxIr2Z.HhFtnzmYXmw9ach0XPDw6Wr4MojCaAJPQ0iYfDIVIwOpUwzQUC.pzYCwUeJtat9S3.Vcj83gozyX6u; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.openai.com; Expires=Thu, 13 Aug 2026 04:53:21 GMT", + "set-cookie" : "__cf_bm=jZPds2ABCvBsvcTN3O8QBPc1Kwpo16AsZ2nZFXRo2Es-1788198084.5365098-1.0.1.1-fEZg_PKkg8n5vkXtBvn.Iz9ATu0sKoCQvdD3zFbKwr0s69XWhZEUv62rwim72m8XWdpZ2iPPKmNilk4QgaqnI7O2o36lBCf2ZAySmA6MpE4PPDf9ZiXdZloNmnippoBy; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 31 Aug 2026 18:11:25 GMT", "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", "CF-Cache-Status" : "DYNAMIC", "x-ratelimit-limit-requests" : "10000", "openai-version" : "2020-10-01", - "openai-processing-ms" : "510", + "openai-processing-ms" : "430", "alt-svc" : "h3=\":443\"; ma=86400", "openai-project" : "proj_vsCSXafhhByzWOThMrJcZiw9", "Content-Type" : "text/event-stream; charset=utf-8" @@ -45,5 +45,5 @@ }, "uuid" : "b401ee59-4b78-3f00-aaf8-7bed0d52cbad", "persistent" : true, - "insertionIndex" : 32 + "insertionIndex" : 44 } \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-57dcb1d10cc1.json b/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-b37b5b6a1b4d.json similarity index 66% rename from test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-57dcb1d10cc1.json rename to test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-b37b5b6a1b4d.json index 292d8bc8..484c9aed 100644 --- a/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-57dcb1d10cc1.json +++ b/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-b37b5b6a1b4d.json @@ -1,5 +1,5 @@ { - "id" : "5619722d-38c2-3d5a-a578-e072160b8f6b", + "id" : "5950b630-e52c-3a15-b90e-b89e1d5336d2", "name" : "chat_completions", "request" : { "url" : "/chat/completions", @@ -17,35 +17,35 @@ }, "response" : { "status" : 200, - "bodyFileName" : "chat_completions-57dcb1d10cc1.txt", + "bodyFileName" : "chat_completions-b37b5b6a1b4d.txt", "headers" : { - "x-request-id" : "req_8c358c014ea8430b9e2298e2c2e69403", + "x-request-id" : "req_ac0d515775de496284417089fb47fe11", "x-ratelimit-limit-tokens" : "150000000", "openai-organization" : "braintrust-data", "Server" : "cloudflare", - "CF-Ray" : "a2eb3bdba89675b4-SEA", + "CF-Ray" : "a33dcd89a8f0535a-SEA", "X-Content-Type-Options" : "nosniff", "x-ratelimit-reset-requests" : "2ms", "x-ratelimit-remaining-tokens" : "149999982", "x-openai-proxy-wasm" : "v0.1", "x-ratelimit-remaining-requests" : "29999", - "Date" : "Fri, 21 Aug 2026 17:07:24 GMT", + "Date" : "Mon, 31 Aug 2026 17:37:23 GMT", "x-ratelimit-reset-tokens" : "0s", "access-control-expose-headers" : [ "X-Request-ID", "CF-Ray", "CF-Ray" ], - "set-cookie" : "__cf_bm=WlLYy4qEpQpMqYUkJ5dagpoIFv2rhQVuV6r8JGJB4Go-1787332044.1072881-1.0.1.1-L1hS9LeH6Mx_C28jqwbfrQ7hTF1A_RlH2690cpn9oXLuYNm.XiXpmk8LOylj14nz3HKcEvn.ggKREa.56YYW7ASzNg_..Uxc7It4eANYQOJuuQM3EkWScnY68V2yZrUx; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.openai.com; Expires=Fri, 21 Aug 2026 17:37:24 GMT", + "set-cookie" : "__cf_bm=Gry4GyHS1u.RGj56zVd.MHiHMwmhWHS5fr34Tdz3MVc-1788197843.4640207-1.0.1.1-wtAEd0CfGUcIZKUEPmFRtIwMYFXX01FCySJee9dV8iYUJhfA4PjelaHhmFhLFeYMpyyXrVjMEw.51uv9xuzsQ5JXnOM.MRN4Q7J9wGhU2nb1AAKivG1trbU6fBbJ6e7P; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 31 Aug 2026 18:07:23 GMT", "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", "CF-Cache-Status" : "DYNAMIC", "x-ratelimit-limit-requests" : "30000", "openai-version" : "2020-10-01", - "openai-processing-ms" : "291", + "openai-processing-ms" : "376", "alt-svc" : "h3=\":443\"; ma=86400", "openai-project" : "proj_vsCSXafhhByzWOThMrJcZiw9", "Content-Type" : "text/event-stream; charset=utf-8" } }, - "uuid" : "5619722d-38c2-3d5a-a578-e072160b8f6b", + "uuid" : "5950b630-e52c-3a15-b90e-b89e1d5336d2", "persistent" : true, - "scenarioName" : "scenario-2-chat-completions", - "requiredScenarioState" : "scenario-2-chat-completions-2", - "insertionIndex" : 53 + "scenarioName" : "scenario-3-chat-completions", + "requiredScenarioState" : "scenario-3-chat-completions-2", + "insertionIndex" : 9 } \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-b5bcb38ce8df.json b/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-b5bcb38ce8df.json index 84459ff3..2c0f9327 100644 --- a/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-b5bcb38ce8df.json +++ b/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-b5bcb38ce8df.json @@ -10,7 +10,7 @@ } }, "bodyPatterns" : [ { - "equalToJson" : "{\n \"model\" : \"o4-mini\",\n \"messages\" : [ {\n \"role\" : \"user\",\n \"content\" : \"Look at this sequence: 2, 6, 12, 20, 30. What is the pattern and what would be the formula for the nth term?\\n\"\n } ],\n \"stream\" : false,\n \"reasoning_effort\" : \"medium\"\n}", + "equalToJson" : "{\"messages\":[{\"content\":\"Look at this sequence: 2, 6, 12, 20, 30. What is the pattern and what would be the formula for the nth term?\\n\",\"role\":\"user\"}],\"model\":\"o4-mini\",\"reasoning_effort\":\"medium\",\"stream\":false}", "ignoreArrayOrder" : true, "ignoreExtraElements" : false } ] @@ -19,31 +19,31 @@ "status" : 200, "bodyFileName" : "chat_completions-b5bcb38ce8df.json", "headers" : { - "x-request-id" : "req_08731d3c4d734f9dbec8937ff43f6b9a", + "Server" : "cloudflare", + "x-ratelimit-reset-tokens" : "0s", + "set-cookie" : "__cf_bm=JEdWw9VzOADEo_Eq54Kle4NiD5wr0DC0IkA1hzb9MXs-1788197855.2737541-1.0.1.1-FRoVeAoOUfZSPMWdHzVmZp.rtN8hPs.bN88BeQH0sMHz7BdbioQjRG8ofUDZduCMXmjGteUYSIhnc8NwAAQQHgDrIpeZnIVQElhWG.yIg7E.cBvWxrm7IxySXvC.ZK_V; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 31 Aug 2026 18:07:47 GMT", + "Access-Control-Expose-Headers" : [ "CF-Ray", "X-Request-ID", "CF-Ray" ], + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "openai-project" : "proj_vsCSXafhhByzWOThMrJcZiw9", + "Content-Type" : "application/json", + "x-request-id" : "req_94f766c967aa41a7b8b6c5fa0b60d629", "x-ratelimit-limit-tokens" : "150000000", "openai-organization" : "braintrust-data", - "Server" : "cloudflare", - "CF-Ray" : "a2ad4d87c8531421-SEA", + "CF-Ray" : "a33dcdd37c0a76ce-SEA", "X-Content-Type-Options" : "nosniff", "x-ratelimit-reset-requests" : "2ms", "x-ratelimit-remaining-tokens" : "149999970", "x-openai-proxy-wasm" : "v0.1", "x-ratelimit-remaining-requests" : "29999", - "Date" : "Fri, 14 Aug 2026 04:44:16 GMT", - "x-ratelimit-reset-tokens" : "0s", - "access-control-expose-headers" : [ "X-Request-ID", "CF-Ray", "CF-Ray" ], - "set-cookie" : "__cf_bm=a2csL43EaTjPoUL5rKW8RS3vqRVUbFvwoLqGuFUXFj8-1786682650.844532-1.0.1.1-yVMQBonLnMHpTtOz6AqSFb2krLVftOtfFEkpd2nsZoy7sHK04YLiL3rt7Bp1epw8TNp0HKYG3M4IRs4EADUzn5YO01gAdjaqU2MMGRZX7WXZLBHjvCpfe4_OzAqJZ.Vh; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.openai.com; Expires=Fri, 14 Aug 2026 05:14:16 GMT", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "Date" : "Mon, 31 Aug 2026 17:37:47 GMT", "CF-Cache-Status" : "DYNAMIC", "x-ratelimit-limit-requests" : "30000", "openai-version" : "2020-10-01", - "openai-processing-ms" : "4468", - "alt-svc" : "h3=\":443\"; ma=86400", - "openai-project" : "proj_vsCSXafhhByzWOThMrJcZiw9", - "Content-Type" : "application/json" + "openai-processing-ms" : "11966", + "alt-svc" : "h3=\":443\"; ma=86400" } }, "uuid" : "2c18cacf-35a1-374b-9f56-93255fa2c5ec", "persistent" : true, - "insertionIndex" : 38 + "insertionIndex" : 4 } \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-b9ecbd8616dd.json b/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-b9ecbd8616dd.json index 76415b6b..2c0e2fd5 100644 --- a/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-b9ecbd8616dd.json +++ b/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-b9ecbd8616dd.json @@ -19,25 +19,25 @@ "status" : 200, "bodyFileName" : "chat_completions-b9ecbd8616dd.json", "headers" : { - "x-request-id" : "req_cffaffad39ff46faad7700f24c0066a9", + "x-request-id" : "req_bcb15a79086a45bb98a3a1309955f80e", "x-ratelimit-limit-tokens" : "150000000", "openai-organization" : "braintrust-data", "Server" : "cloudflare", - "CF-Ray" : "a2eb3b17db4fba4e-SEA", + "CF-Ray" : "a33dccfb4bcc08e7-SEA", "X-Content-Type-Options" : "nosniff", "x-ratelimit-reset-requests" : "2ms", "x-ratelimit-remaining-tokens" : "149999970", "x-openai-proxy-wasm" : "v0.1", "x-ratelimit-remaining-requests" : "29999", - "Date" : "Fri, 21 Aug 2026 17:06:59 GMT", + "Date" : "Mon, 31 Aug 2026 17:37:10 GMT", "x-ratelimit-reset-tokens" : "0s", "access-control-expose-headers" : [ "X-Request-ID", "CF-Ray", "CF-Ray" ], - "set-cookie" : "__cf_bm=BYWvegRI04Ge35faJVSZdaSlkxgykn266MCPOMQbhOc-1787332012.7728784-1.0.1.1-DguGRjvGYKpQHpNtzV_ndU9ajqoHn3g.qF3luZ4cPXN0N24Ip24w4k95zI4FsrX2Qb7L2nbjP9Ws962DDcMEABBNk27rtJlylYXtUrQk_sg4byQbarRT.pU6R7z7Sbxd; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.openai.com; Expires=Fri, 21 Aug 2026 17:36:59 GMT", + "set-cookie" : "__cf_bm=FvnRlJyqFtydbw1TE4s9Jeyd7.28z6hp9MY2EbtU5Z0-1788197820.68665-1.0.1.1-VUQpZ11p8P4B4np3dwK3Dk5gM5xEuxUYFDmTysTKUi4ThG6rkrmMIeRKp5EVESADbONU0Z6D4ObW_kyRrGKmuSvLVUwEvd_U8qV6Cpt6N2BkQBDu.lMSbyJs.ZLCJqZ3; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 31 Aug 2026 18:07:10 GMT", "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", "CF-Cache-Status" : "DYNAMIC", "x-ratelimit-limit-requests" : "30000", "openai-version" : "2020-10-01", - "openai-processing-ms" : "6375", + "openai-processing-ms" : "9368", "alt-svc" : "h3=\":443\"; ma=86400", "openai-project" : "proj_vsCSXafhhByzWOThMrJcZiw9", "Content-Type" : "application/json" @@ -48,5 +48,5 @@ "scenarioName" : "scenario-1-chat-completions", "requiredScenarioState" : "Started", "newScenarioState" : "scenario-1-chat-completions-2", - "insertionIndex" : 50 + "insertionIndex" : 20 } \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-60642de92108.json b/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-d105cf12ad90.json similarity index 66% rename from test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-60642de92108.json rename to test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-d105cf12ad90.json index 19289226..e4727f1d 100644 --- a/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-60642de92108.json +++ b/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-d105cf12ad90.json @@ -1,5 +1,5 @@ { - "id" : "8e8e5ad2-d01b-32f7-b793-9f8cb6ba9c83", + "id" : "e8077a43-a9b3-3a41-839d-e7b742bc08bf", "name" : "chat_completions", "request" : { "url" : "/chat/completions", @@ -17,35 +17,35 @@ }, "response" : { "status" : 200, - "bodyFileName" : "chat_completions-60642de92108.txt", + "bodyFileName" : "chat_completions-d105cf12ad90.txt", "headers" : { - "x-request-id" : "req_70adfec673004ee2b9023a412ebe591e", + "x-request-id" : "req_c3793ec2f761492a9f70b209a0cc9d8c", "x-ratelimit-limit-tokens" : "150000000", "openai-organization" : "braintrust-data", "Server" : "cloudflare", - "CF-Ray" : "a2eb3bdd78c977cd-SEA", + "CF-Ray" : "a33dccc77d4a6818-SEA", "X-Content-Type-Options" : "nosniff", "x-ratelimit-reset-requests" : "2ms", "x-ratelimit-remaining-tokens" : "149999982", "x-openai-proxy-wasm" : "v0.1", "x-ratelimit-remaining-requests" : "29999", - "Date" : "Fri, 21 Aug 2026 17:07:25 GMT", + "Date" : "Mon, 31 Aug 2026 17:36:52 GMT", "x-ratelimit-reset-tokens" : "0s", "access-control-expose-headers" : [ "X-Request-ID", "CF-Ray", "CF-Ray" ], - "set-cookie" : "__cf_bm=lko1.Aj33_j28oaXcMa.tFysWbQq44odX3CSih6XcNI-1787332044.401712-1.0.1.1-rIbhCDnqsWDmqSuM_6GTy.y2G1pllXUU0c.fI4NF.ktPsMWwgsMeObojFpjKxU0EwmfPCaYM9lbR9XKR_MNuOLzCum82OR58VxSB.uxNrjTVXfPTmkFzc89WLVzMGHMw; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.openai.com; Expires=Fri, 21 Aug 2026 17:37:25 GMT", + "set-cookie" : "__cf_bm=8nP2kJ3K_jdY1qyrDDDIFU8UfVXEEl4gWeDep282IN0-1788197812.397107-1.0.1.1-lSb9e3X8JQrRi1DKM_n8fMQ.D759dC48D3csvvDQgYTGq64VI7no86LnzbdMihKWsSZr6FqXKYq3eEdqlTXynSJSt_D29a6zzgFs8P4Hf6V3J7KKOsNghlYteU0aT_4y; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 31 Aug 2026 18:06:52 GMT", "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", "CF-Cache-Status" : "DYNAMIC", "x-ratelimit-limit-requests" : "30000", "openai-version" : "2020-10-01", - "openai-processing-ms" : "305", + "openai-processing-ms" : "357", "alt-svc" : "h3=\":443\"; ma=86400", "openai-project" : "proj_vsCSXafhhByzWOThMrJcZiw9", "Content-Type" : "text/event-stream; charset=utf-8" } }, - "uuid" : "8e8e5ad2-d01b-32f7-b793-9f8cb6ba9c83", + "uuid" : "e8077a43-a9b3-3a41-839d-e7b742bc08bf", "persistent" : true, - "scenarioName" : "scenario-1-chat-completions", - "requiredScenarioState" : "scenario-1-chat-completions-2", - "insertionIndex" : 50 + "scenarioName" : "scenario-6-chat-completions", + "requiredScenarioState" : "scenario-6-chat-completions-2", + "insertionIndex" : 26 } \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-d46fc8497cd8.json b/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-d46fc8497cd8.json new file mode 100644 index 00000000..2c5e0301 --- /dev/null +++ b/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-d46fc8497cd8.json @@ -0,0 +1,54 @@ +{ + "id" : "d73a7f8c-a663-3d59-a108-bbe741621321", + "name" : "chat_completions", + "request" : { + "url" : "/chat/completions", + "method" : "POST", + "headers" : { + "Content-Type" : { + "equalTo" : "application/json" + } + }, + "bodyPatterns" : [ { + "equalToJson" : "{\n \"model\" : \"gpt-4o\",\n \"messages\" : [ {\n \"role\" : \"system\",\n \"content\" : \"you are a helpful assistant\"\n }, {\n \"role\" : \"user\",\n \"content\" : [ {\n \"type\" : \"text\",\n \"text\" : \"Briefly describe these attachments\"\n }, {\n \"type\" : \"image_url\",\n \"image_url\" : {\n \"url\" : \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mP8z8DwHwAFBQIAX8jx0gAAAABJRU5ErkJggg==\"\n }\n }, {\n \"type\" : \"file\",\n \"file\" : {\n \"file_data\" : \"data:application/pdf;base64,JVBERi0xLjAKMSAwIG9iago8PCAvVHlwZSAvQ2F0YWxvZyAvUGFnZXMgMiAwIFIgPj4KZW5kb2JqCjIgMCBvYmoKPDwgL1R5cGUgL1BhZ2VzIC9LaWRzIFszIDAgUl0gL0NvdW50IDEgPj4KZW5kb2JqCjMgMCBvYmoKPDwgL1R5cGUgL1BhZ2UgL1BhcmVudCAyIDAgUiAvTWVkaWFCb3ggWzAgMCA2MTIgNzkyXSA+PgplbmRvYmoKeHJlZgowIDQKMDAwMDAwMDAwMCA2NTUzNSBmIAowMDAwMDAwMDA5IDAwMDAwIG4gCjAwMDAwMDAwNTggMDAwMDAgbiAKMDAwMDAwMDExNSAwMDAwMCBuIAp0cmFpbGVyCjw8IC9TaXplIDQgL1Jvb3QgMSAwIFIgPj4Kc3RhcnR4cmVmCjE5MAolJUVPRgo=\",\n \"filename\" : \"blank.pdf\"\n }\n } ]\n } ],\n \"temperature\" : 0.0,\n \"stream\" : false\n}", + "ignoreArrayOrder" : true, + "ignoreExtraElements" : false + } ] + }, + "response" : { + "status" : 200, + "bodyFileName" : "chat_completions-d46fc8497cd8.json", + "headers" : { + "Server" : "cloudflare", + "x-ratelimit-reset-input-images" : "0s", + "x-ratelimit-reset-tokens" : "3ms", + "x-ratelimit-limit-input-images" : "250000", + "set-cookie" : "__cf_bm=ootX.0Ee88VGOs9CNdHUvYWOOvVEyVRBFM4x12yMa_U-1788197813.9728928-1.0.1.1-V9evxqRnQGjk37JFBUfD8EHMTZp9B4zS40UbOYMRNaNjauvNKLr_e62QHC_6WGWlyfWHiDXBo_7MRJW4wwtGVSa9XTgOFLn9KqAHElP4UAhk4efU9CGqEvt8eAARyPgx; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 31 Aug 2026 18:06:55 GMT", + "Access-Control-Expose-Headers" : [ "CF-Ray", "X-Request-ID", "CF-Ray" ], + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "x-ratelimit-remaining-input-images" : "249999", + "openai-project" : "proj_vsCSXafhhByzWOThMrJcZiw9", + "Content-Type" : "application/json", + "x-request-id" : "req_08fe8dae55224bfea6474e9cd3e1f12d", + "x-ratelimit-limit-tokens" : "30000000", + "openai-organization" : "braintrust-data", + "CF-Ray" : "a33dccd15a66766c-SEA", + "X-Content-Type-Options" : "nosniff", + "x-ratelimit-reset-requests" : "6ms", + "x-ratelimit-remaining-tokens" : "29998451", + "x-openai-proxy-wasm" : "v0.1", + "x-ratelimit-remaining-requests" : "9999", + "Date" : "Mon, 31 Aug 2026 17:36:55 GMT", + "CF-Cache-Status" : "DYNAMIC", + "x-ratelimit-limit-requests" : "10000", + "openai-version" : "2020-10-01", + "openai-processing-ms" : "985", + "alt-svc" : "h3=\":443\"; ma=86400" + } + }, + "uuid" : "d73a7f8c-a663-3d59-a108-bbe741621321", + "persistent" : true, + "scenarioName" : "scenario-5-chat-completions", + "requiredScenarioState" : "scenario-5-chat-completions-2", + "insertionIndex" : 24 +} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-d5e020458f20.json b/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-d5e020458f20.json index 9b618642..c4896980 100644 --- a/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-d5e020458f20.json +++ b/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-d5e020458f20.json @@ -19,25 +19,25 @@ "status" : 200, "bodyFileName" : "chat_completions-d5e020458f20.json", "headers" : { - "x-request-id" : "req_9b437872fd2a4ba1856b0fece5069817", + "x-request-id" : "req_6cc2b99605504a1cb02c3606d9ce5dcf", "x-ratelimit-limit-tokens" : "150000000", "openai-organization" : "braintrust-data", "Server" : "cloudflare", - "CF-Ray" : "a1788119cf30b9cd-SEA", + "CF-Ray" : "a33dd37e1f37f3ea-SEA", "X-Content-Type-Options" : "nosniff", "x-ratelimit-reset-requests" : "2ms", - "x-ratelimit-remaining-tokens" : "149999987", + "x-ratelimit-remaining-tokens" : "149999990", "x-openai-proxy-wasm" : "v0.1", "x-ratelimit-remaining-requests" : "29999", - "Date" : "Tue, 07 Jul 2026 17:17:44 GMT", + "Date" : "Mon, 31 Aug 2026 17:41:28 GMT", "x-ratelimit-reset-tokens" : "0s", "access-control-expose-headers" : [ "X-Request-ID", "CF-Ray", "CF-Ray" ], - "set-cookie" : "__cf_bm=AqJ9pqX9Vyr4oDwlDvLRFFr_9YTYBPSRWLFdIUtA8Gc-1783444663.3271396-1.0.1.1-6qbP4fZMkgPVJydQfmsqI5eeHqt3yuiMxFGBA5sTBV8KSJWcBlcETuSOW.468CanAjyjkFWbEO3DLSuMWdoscC5sPFfD24ehQj3O2XDzE_ea__o0UdNbM1fF_PgioCzm; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.openai.com; Expires=Tue, 07 Jul 2026 17:47:44 GMT", + "set-cookie" : "__cf_bm=7wWJNlt4FNZSJo2ZORqfrj8kDQhZmwxAkLkNicyGkGc-1788198087.3726146-1.0.1.1-8LCPvStXvuiVufkgVTLuNABBn9mMe3irDdxyH1Gujg5Re7tn03rPcfpkPOXlYbMdrMDcEa_lS5Z0Sryfxjj.CiZNf5u0q39TfQ8X153fJiijAEYnaY_hnui9sTZLMFKZ; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 31 Aug 2026 18:11:28 GMT", "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", "CF-Cache-Status" : "DYNAMIC", "x-ratelimit-limit-requests" : "30000", "openai-version" : "2020-10-01", - "openai-processing-ms" : "588", + "openai-processing-ms" : "599", "alt-svc" : "h3=\":443\"; ma=86400", "openai-project" : "proj_vsCSXafhhByzWOThMrJcZiw9", "Content-Type" : "application/json" @@ -45,5 +45,5 @@ }, "uuid" : "52b394af-90b1-3b73-aeca-4f5f26a4d505", "persistent" : true, - "insertionIndex" : 11 + "insertionIndex" : 41 } \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-640d051c9592.json b/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-d99c904d7981.json similarity index 67% rename from test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-640d051c9592.json rename to test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-d99c904d7981.json index 10d3bb29..a6801b8d 100644 --- a/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-640d051c9592.json +++ b/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-d99c904d7981.json @@ -1,5 +1,5 @@ { - "id" : "d39744ed-aec2-3381-9cf0-7ec78ed20c0d", + "id" : "23fa042a-04b0-3791-bb79-003b00173c69", "name" : "chat_completions", "request" : { "url" : "/chat/completions", @@ -17,36 +17,36 @@ }, "response" : { "status" : 200, - "bodyFileName" : "chat_completions-640d051c9592.txt", + "bodyFileName" : "chat_completions-d99c904d7981.txt", "headers" : { - "x-request-id" : "req_20f183f3be8c4f87a182d3114c5647db", + "x-request-id" : "req_8044e637af404ae9b421762bc74bbcc4", "x-ratelimit-limit-tokens" : "150000000", "openai-organization" : "braintrust-data", "Server" : "cloudflare", - "CF-Ray" : "a2eb3bd4ffb47530-SEA", + "CF-Ray" : "a33dcd753c2257bc-SEA", "X-Content-Type-Options" : "nosniff", "x-ratelimit-reset-requests" : "2ms", "x-ratelimit-remaining-tokens" : "149999982", "x-openai-proxy-wasm" : "v0.1", "x-ratelimit-remaining-requests" : "29999", - "Date" : "Fri, 21 Aug 2026 17:07:23 GMT", + "Date" : "Mon, 31 Aug 2026 17:37:20 GMT", "x-ratelimit-reset-tokens" : "0s", "access-control-expose-headers" : [ "X-Request-ID", "CF-Ray", "CF-Ray" ], - "set-cookie" : "__cf_bm=yGcKFKmEWR8dDb7QKJ0ObqHoeAjH8gawYbEa4WN2VDM-1787332043.0396404-1.0.1.1-N67t4QdJbi87hbIdbi_pS51ny9.kwNqBmks4ZdB_O4HeCmiJnUO_2V70xainjxaUXfUWQXuzHxquYY6SMmygWsTcDG9biRoMT74IMHa_LHM5KbRmSkDQR4wTwrLBGRjD; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.openai.com; Expires=Fri, 21 Aug 2026 17:37:23 GMT", + "set-cookie" : "__cf_bm=tDzkyDOpLktV2OHULxaNP4R4fphjC3nuGv9ry8.6jIY-1788197840.1950989-1.0.1.1-WcA.THIIH0p6.Yd88Tnr5PwNHfbFxO1kyFCcewJmp02UT_1dyQnIb6wnQ8BO.utqzDiXgtoCCHiENIVLU9hvuj7J__8nznCvh6EDL.YT2H0r3tvEBGZS69ImsL_zx4t_; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 31 Aug 2026 18:07:20 GMT", "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", "CF-Cache-Status" : "DYNAMIC", "x-ratelimit-limit-requests" : "30000", "openai-version" : "2020-10-01", - "openai-processing-ms" : "250", + "openai-processing-ms" : "380", "alt-svc" : "h3=\":443\"; ma=86400", "openai-project" : "proj_vsCSXafhhByzWOThMrJcZiw9", "Content-Type" : "text/event-stream; charset=utf-8" } }, - "uuid" : "d39744ed-aec2-3381-9cf0-7ec78ed20c0d", + "uuid" : "23fa042a-04b0-3791-bb79-003b00173c69", "persistent" : true, - "scenarioName" : "scenario-2-chat-completions", + "scenarioName" : "scenario-3-chat-completions", "requiredScenarioState" : "Started", - "newScenarioState" : "scenario-2-chat-completions-2", - "insertionIndex" : 57 + "newScenarioState" : "scenario-3-chat-completions-2", + "insertionIndex" : 13 } \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-da9f72e19a5c.json b/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-da9f72e19a5c.json index ee6fd68b..783ffdf2 100644 --- a/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-da9f72e19a5c.json +++ b/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-da9f72e19a5c.json @@ -21,29 +21,29 @@ "headers" : { "Server" : "cloudflare", "x-ratelimit-reset-tokens" : "0s", - "set-cookie" : "__cf_bm=lT2C9PI5oTWQB9phzLZSzZNrjIpD4QdqzWo3giDLfUg-1783444685.5146697-1.0.1.1-iARveTJX6WsJyU3JyUbArzpSjIZ43uP7ew.KgdaNez0kQhcvQXY5mzUQ_FJjJztsXfxn2tanFdhcez.UOL2CQa.0uGrTMIVyZ_ut50obQdXiRgRo2fw5xZ3UMywAq153; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.openai.com; Expires=Tue, 07 Jul 2026 17:48:06 GMT", + "set-cookie" : "__cf_bm=IUo4nrWlxoLG6_7Wqeg.al8TbbpOxFagTzm_KlMxXD8-1788198270.6457648-1.0.1.1-I19_7Zqej6lpQ39eRtCS8JApqLtf2HX6nngt6V16WvXLP3BNjVTVtoXeRoyZYCu_rOBcfsQX7E4dBwwchykr0f1iY2BmvQCrlAfcx1OfwljJQ9CVcD2Kor9XJE1CRG1U; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 31 Aug 2026 18:14:31 GMT", "Access-Control-Expose-Headers" : [ "CF-Ray", "X-Request-ID", "CF-Ray" ], "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", "openai-project" : "proj_vsCSXafhhByzWOThMrJcZiw9", "Content-Type" : "application/json", - "x-request-id" : "req_bd7c70b05e91482bbb2d8cbf180252c5", + "x-request-id" : "req_1a77220fd83c4c6aba0a728a23ae9631", "x-ratelimit-limit-tokens" : "150000000", "openai-organization" : "braintrust-data", - "CF-Ray" : "a17881a478e9d7dd-SEA", + "CF-Ray" : "a33dd7f78f4a76b6-SEA", "X-Content-Type-Options" : "nosniff", "x-ratelimit-reset-requests" : "2ms", "x-ratelimit-remaining-tokens" : "149999980", "x-openai-proxy-wasm" : "v0.1", "x-ratelimit-remaining-requests" : "29999", - "Date" : "Tue, 07 Jul 2026 17:18:06 GMT", + "Date" : "Mon, 31 Aug 2026 17:44:31 GMT", "CF-Cache-Status" : "DYNAMIC", "x-ratelimit-limit-requests" : "30000", "openai-version" : "2020-10-01", - "openai-processing-ms" : "471", + "openai-processing-ms" : "984", "alt-svc" : "h3=\":443\"; ma=86400" } }, "uuid" : "77761a50-8676-326e-b094-73543f3813e4", "persistent" : true, - "insertionIndex" : 25 + "insertionIndex" : 61 } \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-e2aaee62ff13.json b/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-e2aaee62ff13.json index 3b6f38b6..66e95038 100644 --- a/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-e2aaee62ff13.json +++ b/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-e2aaee62ff13.json @@ -19,25 +19,25 @@ "status" : 200, "bodyFileName" : "chat_completions-e2aaee62ff13.txt", "headers" : { - "x-request-id" : "req_0bab579a54174071877ab57a5f78a4b0", + "x-request-id" : "req_27b0d235b46e4131bfc5ec642a199ca8", "x-ratelimit-limit-tokens" : "150000000", "openai-organization" : "braintrust-data", "Server" : "cloudflare", - "CF-Ray" : "a1c39cf2cc013208-SEA", + "CF-Ray" : "a33dd8c30f93ba34-SEA", "X-Content-Type-Options" : "nosniff", "x-ratelimit-reset-requests" : "2ms", "x-ratelimit-remaining-tokens" : "149999990", "x-openai-proxy-wasm" : "v0.1", "x-ratelimit-remaining-requests" : "29999", - "Date" : "Thu, 16 Jul 2026 20:03:56 GMT", + "Date" : "Mon, 31 Aug 2026 17:45:03 GMT", "x-ratelimit-reset-tokens" : "0s", "access-control-expose-headers" : [ "X-Request-ID", "CF-Ray", "CF-Ray" ], - "set-cookie" : "__cf_bm=yLCVoQmQQ3H6QiZfMFE_EbvZ3aOWTtHFZCaHEcuLm8U-1784232235.962727-1.0.1.1-7XlGAbeVgD86_1JqZf5u4Lah4A3XSXlIcqVBi3uTGjYd0E2S1ouP_TIjK41X9aPycjIoa5vzt5dZiVh1kZGIsbQrB1bh8oxoyMXpAqiCtGZVDpwmMdtY3lJN4ROxIgDm; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.openai.com; Expires=Thu, 16 Jul 2026 20:33:56 GMT", + "set-cookie" : "__cf_bm=dOxPPhmC5Ys9qkZfRtOGfy0k0U38zZjRunFNC85iuEc-1788198303.2098625-1.0.1.1-7gRsMdL.B.r.3rUCXsHrPRf9V3xB.3hKrxNfIgU.IG.emaZm21goM9VfHa6P_9_4GQU9W_lRh18Xe4fH6J8JdgAsNIp1dC1jwb1nubsXD3p0Oh3CHQfI12S5Qlnemx3s; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 31 Aug 2026 18:15:03 GMT", "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", "CF-Cache-Status" : "DYNAMIC", "x-ratelimit-limit-requests" : "30000", "openai-version" : "2020-10-01", - "openai-processing-ms" : "381", + "openai-processing-ms" : "437", "alt-svc" : "h3=\":443\"; ma=86400", "openai-project" : "proj_vsCSXafhhByzWOThMrJcZiw9", "Content-Type" : "text/event-stream; charset=utf-8" @@ -45,5 +45,5 @@ }, "uuid" : "7e7a159b-863b-3748-b044-3682811962e5", "persistent" : true, - "insertionIndex" : 26 + "insertionIndex" : 62 } \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-e377d6681642.json b/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-e377d6681642.json index c31b8662..65cf806f 100644 --- a/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-e377d6681642.json +++ b/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-e377d6681642.json @@ -19,25 +19,25 @@ "status" : 200, "bodyFileName" : "chat_completions-e377d6681642.txt", "headers" : { - "x-request-id" : "req_8ee7da03c3534d77ab6818fbeaf67aee", + "x-request-id" : "req_25777fd91b464a858aa8025f3f4924d4", "x-ratelimit-limit-tokens" : "150000000", "openai-organization" : "braintrust-data", "Server" : "cloudflare", - "CF-Ray" : "a1788104f84bdf18-SEA", + "CF-Ray" : "a33dd3675a740903-SEA", "X-Content-Type-Options" : "nosniff", "x-ratelimit-reset-requests" : "2ms", - "x-ratelimit-remaining-tokens" : "149999990", + "x-ratelimit-remaining-tokens" : "149999987", "x-openai-proxy-wasm" : "v0.1", "x-ratelimit-remaining-requests" : "29999", - "Date" : "Tue, 07 Jul 2026 17:17:40 GMT", + "Date" : "Mon, 31 Aug 2026 17:41:24 GMT", "x-ratelimit-reset-tokens" : "0s", "access-control-expose-headers" : [ "X-Request-ID", "CF-Ray", "CF-Ray" ], - "set-cookie" : "__cf_bm=9OFPbcqCm1aj6jSkPEZX9k6tGrDrSnvYaRJWH.LZi4o-1783444659.9986064-1.0.1.1-dVdRQxF4l.VkIthZZu8AA1Pm9KERW.w4Qth3CvhexNuVe4vD57ZTyZWsIL97jIxEcqTrWT1hzUjXlmvKZMey3SQQ2MD_XCh2S6Bct.LAJ7Zk0LV_hCdZT6JDswfLzD6P; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.openai.com; Expires=Tue, 07 Jul 2026 17:47:40 GMT", + "set-cookie" : "__cf_bm=HrsaqqJIQ1r8e1FaQ3s7suYii112L3GIICNt0VL9jR0-1788198083.7319853-1.0.1.1-TDQDe_LBUGLXP.mhXOvTY6Wwc9vlHjGuTg8PnPsHOCutuuQwHdxM5hSlFeq6RTyQg2dqRBG8AOE9Z0wistIFRzq0YAIk_a6UBAeYsI988z9s25b3vhd5VDsw2hY7.Nxb; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 31 Aug 2026 18:11:24 GMT", "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", "CF-Cache-Status" : "DYNAMIC", "x-ratelimit-limit-requests" : "30000", "openai-version" : "2020-10-01", - "openai-processing-ms" : "376", + "openai-processing-ms" : "334", "alt-svc" : "h3=\":443\"; ma=86400", "openai-project" : "proj_vsCSXafhhByzWOThMrJcZiw9", "Content-Type" : "text/event-stream; charset=utf-8" @@ -45,5 +45,5 @@ }, "uuid" : "d5772e73-ca9d-3382-84e3-e2a19405bf94", "persistent" : true, - "insertionIndex" : 14 + "insertionIndex" : 45 } \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-627aafbf4ba9.json b/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-e6c815d5be16.json similarity index 51% rename from test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-627aafbf4ba9.json rename to test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-e6c815d5be16.json index 1ecc003b..2aa0b35d 100644 --- a/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-627aafbf4ba9.json +++ b/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-e6c815d5be16.json @@ -1,5 +1,5 @@ { - "id" : "04440e81-6f7e-330d-900a-d327a8d47b5f", + "id" : "e8074629-00de-3926-9d37-43fdeb53ede2", "name" : "chat_completions", "request" : { "url" : "/chat/completions", @@ -10,40 +10,40 @@ } }, "bodyPatterns" : [ { - "equalToJson" : "{\n \"model\" : \"gpt-4o-mini\",\n \"messages\" : [ {\n \"role\" : \"user\",\n \"content\" : \"is it hotter in Paris or New York right now?\"\n } ],\n \"temperature\" : 0.0,\n \"stream\" : false,\n \"tools\" : [ {\n \"type\" : \"function\",\n \"function\" : {\n \"name\" : \"getForecast\",\n \"description\" : \"Get weather forecast for next N days\",\n \"parameters\" : {\n \"type\" : \"object\",\n \"properties\" : {\n \"arg0\" : {\n \"type\" : \"string\"\n },\n \"arg1\" : {\n \"type\" : \"integer\"\n }\n },\n \"required\" : [ \"arg0\", \"arg1\" ]\n }\n }\n }, {\n \"type\" : \"function\",\n \"function\" : {\n \"name\" : \"getWeather\",\n \"description\" : \"Get current weather for a location\",\n \"parameters\" : {\n \"type\" : \"object\",\n \"properties\" : {\n \"arg0\" : {\n \"type\" : \"string\"\n }\n },\n \"required\" : [ \"arg0\" ]\n }\n }\n } ]\n}", + "equalToJson" : "{\n \"model\" : \"gpt-4o-mini\",\n \"messages\" : [ {\n \"role\" : \"user\",\n \"content\" : \"is it hotter in Paris or New York right now?\"\n } ],\n \"temperature\" : 0.0,\n \"stream\" : false,\n \"tools\" : [ {\n \"type\" : \"function\",\n \"function\" : {\n \"name\" : \"getWeather\",\n \"description\" : \"Get current weather for a location\",\n \"parameters\" : {\n \"type\" : \"object\",\n \"properties\" : {\n \"arg0\" : {\n \"type\" : \"string\"\n }\n },\n \"required\" : [ \"arg0\" ]\n }\n }\n }, {\n \"type\" : \"function\",\n \"function\" : {\n \"name\" : \"getForecast\",\n \"description\" : \"Get weather forecast for next N days\",\n \"parameters\" : {\n \"type\" : \"object\",\n \"properties\" : {\n \"arg0\" : {\n \"type\" : \"string\"\n },\n \"arg1\" : {\n \"type\" : \"integer\"\n }\n },\n \"required\" : [ \"arg0\", \"arg1\" ]\n }\n }\n } ]\n}", "ignoreArrayOrder" : true, "ignoreExtraElements" : false } ] }, "response" : { "status" : 200, - "bodyFileName" : "chat_completions-627aafbf4ba9.json", + "bodyFileName" : "chat_completions-e6c815d5be16.json", "headers" : { - "x-request-id" : "req_5e60bb125b3f405086ac95c408fd3902", + "x-request-id" : "req_ab7771f38f784b66b5a47fce823ea171", "x-ratelimit-limit-tokens" : "150000000", "openai-organization" : "braintrust-data", "Server" : "cloudflare", - "CF-Ray" : "a178810abf2d76bb-SEA", + "CF-Ray" : "a33dd3719a2a7598-SEA", "X-Content-Type-Options" : "nosniff", "x-ratelimit-reset-requests" : "2ms", "x-ratelimit-remaining-tokens" : "149999987", "x-openai-proxy-wasm" : "v0.1", "x-ratelimit-remaining-requests" : "29999", - "Date" : "Tue, 07 Jul 2026 17:17:42 GMT", + "Date" : "Mon, 31 Aug 2026 17:41:26 GMT", "x-ratelimit-reset-tokens" : "0s", "access-control-expose-headers" : [ "X-Request-ID", "CF-Ray", "CF-Ray" ], - "set-cookie" : "__cf_bm=MwYNdr_TJ6kuThltxjsKpiBorcRUCCgCDeaQWdzFgYw-1783444660.9198034-1.0.1.1-sv93CHCIEbzuc_f3xz5dJrL0qJpw6mpoiU.o3TbG4V3rpljTYA_IS1JeT2EGNfM9tflx0JyzyNcia.fndxJrE.eJDqhdarHRUE72RPG2xv_QhnPdqfYQzr6iv8YMSu4M; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.openai.com; Expires=Tue, 07 Jul 2026 17:47:42 GMT", + "set-cookie" : "__cf_bm=1YnuYiJkyh8D2VAl7YHHRymUs0.jIjd0xtexSCT07mE-1788198085.3736076-1.0.1.1-U4nFfobiQjWyt1x0m6pFGgLj2gAhAhZ8l__NV0DMWhB2jXJy8DVwpZQmDAc8R5uSbtm5Tx4NqPKiD_ZAWqgaRkmAgeOvZ7zi.Euq1xc_Fejhh.BnR.qHKsn3OK9.U74b; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 31 Aug 2026 18:11:26 GMT", "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", "CF-Cache-Status" : "DYNAMIC", "x-ratelimit-limit-requests" : "30000", "openai-version" : "2020-10-01", - "openai-processing-ms" : "1019", + "openai-processing-ms" : "823", "alt-svc" : "h3=\":443\"; ma=86400", "openai-project" : "proj_vsCSXafhhByzWOThMrJcZiw9", "Content-Type" : "application/json" } }, - "uuid" : "04440e81-6f7e-330d-900a-d327a8d47b5f", + "uuid" : "e8074629-00de-3926-9d37-43fdeb53ede2", "persistent" : true, - "insertionIndex" : 13 + "insertionIndex" : 43 } \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-104ee7304ba6.json b/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-e7e0dbcb72a1.json similarity index 51% rename from test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-104ee7304ba6.json rename to test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-e7e0dbcb72a1.json index d9c85960..afcc5b94 100644 --- a/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-104ee7304ba6.json +++ b/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-e7e0dbcb72a1.json @@ -1,5 +1,5 @@ { - "id" : "babd43bb-08e4-3af9-96cd-9180ad6ba9e5", + "id" : "fc6faf38-a5ea-3624-8f28-e4ed0b3f698f", "name" : "chat_completions", "request" : { "url" : "/chat/completions", @@ -10,40 +10,40 @@ } }, "bodyPatterns" : [ { - "equalToJson" : "{\n \"model\" : \"gpt-4o-mini\",\n \"messages\" : [ {\n \"role\" : \"user\",\n \"content\" : \"is it hotter in Paris or New York right now?\"\n }, {\n \"role\" : \"assistant\",\n \"tool_calls\" : [ {\n \"id\" : \"call_98ldPIkcCpmBfBmlDcE8eyGc\",\n \"type\" : \"function\",\n \"function\" : {\n \"name\" : \"getWeather\",\n \"arguments\" : \"{\\\"arg0\\\": \\\"Paris\\\"}\"\n }\n }, {\n \"id\" : \"call_4zaqPEiMyli90JuM2ScfSg9Z\",\n \"type\" : \"function\",\n \"function\" : {\n \"name\" : \"getWeather\",\n \"arguments\" : \"{\\\"arg0\\\": \\\"New York\\\"}\"\n }\n } ]\n }, {\n \"role\" : \"tool\",\n \"tool_call_id\" : \"call_98ldPIkcCpmBfBmlDcE8eyGc\",\n \"content\" : \"The weather in Paris is sunny with 72°F temperature.\"\n }, {\n \"role\" : \"tool\",\n \"tool_call_id\" : \"call_4zaqPEiMyli90JuM2ScfSg9Z\",\n \"content\" : \"The weather in New York is sunny with 72°F temperature.\"\n } ],\n \"temperature\" : 0.0,\n \"stream\" : false,\n \"tools\" : [ {\n \"type\" : \"function\",\n \"function\" : {\n \"name\" : \"getForecast\",\n \"description\" : \"Get weather forecast for next N days\",\n \"parameters\" : {\n \"type\" : \"object\",\n \"properties\" : {\n \"arg0\" : {\n \"type\" : \"string\"\n },\n \"arg1\" : {\n \"type\" : \"integer\"\n }\n },\n \"required\" : [ \"arg0\", \"arg1\" ]\n }\n }\n }, {\n \"type\" : \"function\",\n \"function\" : {\n \"name\" : \"getWeather\",\n \"description\" : \"Get current weather for a location\",\n \"parameters\" : {\n \"type\" : \"object\",\n \"properties\" : {\n \"arg0\" : {\n \"type\" : \"string\"\n }\n },\n \"required\" : [ \"arg0\" ]\n }\n }\n } ]\n}", + "equalToJson" : "{\n \"model\" : \"gpt-4o-mini\",\n \"messages\" : [ {\n \"role\" : \"user\",\n \"content\" : \"is it hotter in Paris or New York right now?\"\n }, {\n \"role\" : \"assistant\",\n \"tool_calls\" : [ {\n \"id\" : \"call_5SUiRIS3GwSZRIPRkMvzKcmP\",\n \"type\" : \"function\",\n \"function\" : {\n \"name\" : \"getWeather\",\n \"arguments\" : \"{\\\"arg0\\\": \\\"Paris\\\"}\"\n }\n }, {\n \"id\" : \"call_XkjP4msnu33a72XsUOBg2Lts\",\n \"type\" : \"function\",\n \"function\" : {\n \"name\" : \"getWeather\",\n \"arguments\" : \"{\\\"arg0\\\": \\\"New York\\\"}\"\n }\n } ]\n }, {\n \"role\" : \"tool\",\n \"tool_call_id\" : \"call_5SUiRIS3GwSZRIPRkMvzKcmP\",\n \"content\" : \"The weather in Paris is sunny with 72°F temperature.\"\n }, {\n \"role\" : \"tool\",\n \"tool_call_id\" : \"call_XkjP4msnu33a72XsUOBg2Lts\",\n \"content\" : \"The weather in New York is sunny with 72°F temperature.\"\n } ],\n \"temperature\" : 0.0,\n \"stream\" : false,\n \"tools\" : [ {\n \"type\" : \"function\",\n \"function\" : {\n \"name\" : \"getWeather\",\n \"description\" : \"Get current weather for a location\",\n \"parameters\" : {\n \"type\" : \"object\",\n \"properties\" : {\n \"arg0\" : {\n \"type\" : \"string\"\n }\n },\n \"required\" : [ \"arg0\" ]\n }\n }\n }, {\n \"type\" : \"function\",\n \"function\" : {\n \"name\" : \"getForecast\",\n \"description\" : \"Get weather forecast for next N days\",\n \"parameters\" : {\n \"type\" : \"object\",\n \"properties\" : {\n \"arg0\" : {\n \"type\" : \"string\"\n },\n \"arg1\" : {\n \"type\" : \"integer\"\n }\n },\n \"required\" : [ \"arg0\", \"arg1\" ]\n }\n }\n } ]\n}", "ignoreArrayOrder" : true, "ignoreExtraElements" : false } ] }, "response" : { "status" : 200, - "bodyFileName" : "chat_completions-104ee7304ba6.json", + "bodyFileName" : "chat_completions-e7e0dbcb72a1.json", "headers" : { - "x-request-id" : "req_8adcb9ba22ce474abaa6610dad77473d", + "x-request-id" : "req_c46b02b3f78b46108aa0726673f5affb", "x-ratelimit-limit-tokens" : "150000000", "openai-organization" : "braintrust-data", "Server" : "cloudflare", - "CF-Ray" : "a17881137b13d7ae-SEA", + "CF-Ray" : "a33dd3233e3675e5-SEA", "X-Content-Type-Options" : "nosniff", "x-ratelimit-reset-requests" : "2ms", - "x-ratelimit-remaining-tokens" : "149999955", + "x-ratelimit-remaining-tokens" : "149999957", "x-openai-proxy-wasm" : "v0.1", "x-ratelimit-remaining-requests" : "29999", - "Date" : "Tue, 07 Jul 2026 17:17:43 GMT", + "Date" : "Mon, 31 Aug 2026 17:41:13 GMT", "x-ratelimit-reset-tokens" : "0s", "access-control-expose-headers" : [ "X-Request-ID", "CF-Ray", "CF-Ray" ], - "set-cookie" : "__cf_bm=RYMyUpm2_ry1uYDH.Z0al7On58pPAtET5JArxnT2UUI-1783444662.3114154-1.0.1.1-SdwO0FqzXWpySXTKOfC.4R1309B8k4qhTf8KcFmPwlBrQoUAzIh18Pevs8KKDSQ7LHXmeqxzra7rqNzSoNEjDTHBthKRQexK0pKY6u41eE.aKIy6J.o2SkEmv8avYlE8; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.openai.com; Expires=Tue, 07 Jul 2026 17:47:43 GMT", + "set-cookie" : "__cf_bm=7jPJ86GBfDu19URPU_JRk3vaDn4uAsQU1.LSNthpUkM-1788198072.832617-1.0.1.1-_FZwawczb5M7ROr7UosE5qw.zWMpbsWQlkdeVhs.vKGv91o1b2LIuQXSaAdME9SDLo6Expl6ba8XwHLjy5gajJj.UgaZ1fWnrZ3BXn1amLU5bNyPDLus6BK56_DrtB0z; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 31 Aug 2026 18:11:13 GMT", "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", "CF-Cache-Status" : "DYNAMIC", "x-ratelimit-limit-requests" : "30000", "openai-version" : "2020-10-01", - "openai-processing-ms" : "636", + "openai-processing-ms" : "818", "alt-svc" : "h3=\":443\"; ma=86400", "openai-project" : "proj_vsCSXafhhByzWOThMrJcZiw9", "Content-Type" : "application/json" } }, - "uuid" : "babd43bb-08e4-3af9-96cd-9180ad6ba9e5", + "uuid" : "fc6faf38-a5ea-3624-8f28-e4ed0b3f698f", "persistent" : true, - "insertionIndex" : 12 + "insertionIndex" : 31 } \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-f65c86f95add.json b/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-f65c86f95add.json new file mode 100644 index 00000000..ad31e757 --- /dev/null +++ b/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-f65c86f95add.json @@ -0,0 +1,49 @@ +{ + "id" : "60af42bb-e1c7-3b67-baa0-606b742395b5", + "name" : "chat_completions", + "request" : { + "url" : "/chat/completions", + "method" : "POST", + "headers" : { + "Content-Type" : { + "equalTo" : "application/json" + } + }, + "bodyPatterns" : [ { + "equalToJson" : "{\n \"model\" : \"gpt-4o-mini\",\n \"messages\" : [ {\n \"role\" : \"user\",\n \"content\" : \"is it hotter in Paris or New York right now?\"\n }, {\n \"role\" : \"assistant\",\n \"tool_calls\" : [ {\n \"id\" : \"call_WnDl0negHmyHoZ0pBbLSqOj1\",\n \"type\" : \"function\",\n \"function\" : {\n \"name\" : \"getWeather\",\n \"arguments\" : \"{\\\"arg0\\\": \\\"Paris\\\"}\"\n }\n }, {\n \"id\" : \"call_xKlHa4SOx8MfJ6OSbsAo7uI9\",\n \"type\" : \"function\",\n \"function\" : {\n \"name\" : \"getWeather\",\n \"arguments\" : \"{\\\"arg0\\\": \\\"New York\\\"}\"\n }\n } ]\n }, {\n \"role\" : \"tool\",\n \"tool_call_id\" : \"call_WnDl0negHmyHoZ0pBbLSqOj1\",\n \"content\" : \"The weather in Paris is sunny with 72°F temperature.\"\n }, {\n \"role\" : \"tool\",\n \"tool_call_id\" : \"call_xKlHa4SOx8MfJ6OSbsAo7uI9\",\n \"content\" : \"The weather in New York is sunny with 72°F temperature.\"\n } ],\n \"temperature\" : 0.0,\n \"stream\" : false,\n \"tools\" : [ {\n \"type\" : \"function\",\n \"function\" : {\n \"name\" : \"getWeather\",\n \"description\" : \"Get current weather for a location\",\n \"parameters\" : {\n \"type\" : \"object\",\n \"properties\" : {\n \"arg0\" : {\n \"type\" : \"string\"\n }\n },\n \"required\" : [ \"arg0\" ]\n }\n }\n }, {\n \"type\" : \"function\",\n \"function\" : {\n \"name\" : \"getForecast\",\n \"description\" : \"Get weather forecast for next N days\",\n \"parameters\" : {\n \"type\" : \"object\",\n \"properties\" : {\n \"arg0\" : {\n \"type\" : \"string\"\n },\n \"arg1\" : {\n \"type\" : \"integer\"\n }\n },\n \"required\" : [ \"arg0\", \"arg1\" ]\n }\n }\n } ]\n}", + "ignoreArrayOrder" : true, + "ignoreExtraElements" : false + } ] + }, + "response" : { + "status" : 200, + "bodyFileName" : "chat_completions-f65c86f95add.json", + "headers" : { + "x-request-id" : "req_9d900820eb0c4c8cba9f818e90e4a655", + "x-ratelimit-limit-tokens" : "150000000", + "openai-organization" : "braintrust-data", + "Server" : "cloudflare", + "CF-Ray" : "a33dd3781e5bb455-SEA", + "X-Content-Type-Options" : "nosniff", + "x-ratelimit-reset-requests" : "2ms", + "x-ratelimit-remaining-tokens" : "149999957", + "x-openai-proxy-wasm" : "v0.1", + "x-ratelimit-remaining-requests" : "29999", + "Date" : "Mon, 31 Aug 2026 17:41:27 GMT", + "x-ratelimit-reset-tokens" : "0s", + "access-control-expose-headers" : [ "X-Request-ID", "CF-Ray", "CF-Ray" ], + "set-cookie" : "__cf_bm=cFGHyeERaz1fnWA3Y8_siSZTyr0LqPGNOHCXea3D0cA-1788198086.4181957-1.0.1.1-nBG1BaUCSGq_muHiCemw34jKRTW4cqhlna3sWKX0Kpx3IlMvbyvZiY6C1VWxHN.UenpW4t48jOvQisrW9oZFPUFJISXKQwp9vM002UcTzVri038b32KGHLS0_tmwJI2s; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 31 Aug 2026 18:11:27 GMT", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "CF-Cache-Status" : "DYNAMIC", + "x-ratelimit-limit-requests" : "30000", + "openai-version" : "2020-10-01", + "openai-processing-ms" : "686", + "alt-svc" : "h3=\":443\"; ma=86400", + "openai-project" : "proj_vsCSXafhhByzWOThMrJcZiw9", + "Content-Type" : "application/json" + } + }, + "uuid" : "60af42bb-e1c7-3b67-baa0-606b742395b5", + "persistent" : true, + "insertionIndex" : 42 +} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-f76ff3cb2426.json b/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-f76ff3cb2426.json index ad7f35a4..3cdca4c9 100644 --- a/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-f76ff3cb2426.json +++ b/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-f76ff3cb2426.json @@ -10,7 +10,7 @@ } }, "bodyPatterns" : [ { - "equalToJson" : "{\"messages\":[{\"content\":\"What is the weather like in Paris, France?\",\"role\":\"user\"}],\"model\":\"gpt-4o\",\"max_tokens\":500,\"temperature\":0.0,\"tools\":[{\"function\":{\"name\":\"get_weather\",\"description\":\"Get the current weather for a location\",\"parameters\":{\"type\":\"object\",\"properties\":{\"location\":{\"type\":\"string\",\"description\":\"The city and state, e.g. San Francisco, CA\"},\"unit\":{\"type\":\"string\",\"enum\":[\"celsius\",\"fahrenheit\"],\"description\":\"The unit of temperature\"}},\"required\":[\"location\"],\"strict\":true}},\"type\":\"function\"}]}", + "equalToJson" : "{\"messages\":[{\"content\":\"What is the weather like in Paris, France?\",\"role\":\"user\"}],\"model\":\"gpt-4o\",\"tools\":[{\"function\":{\"name\":\"get_weather\",\"description\":\"Get the current weather for a location\",\"parameters\":{\"type\":\"object\",\"properties\":{\"location\":{\"type\":\"string\",\"description\":\"The city and state, e.g. San Francisco, CA\"},\"unit\":{\"type\":\"string\",\"enum\":[\"celsius\",\"fahrenheit\"],\"description\":\"The unit of temperature\"}},\"required\":[\"location\"],\"strict\":true}},\"type\":\"function\"}],\"max_tokens\":500,\"temperature\":0.0}", "ignoreArrayOrder" : true, "ignoreExtraElements" : false } ] @@ -21,29 +21,29 @@ "headers" : { "Server" : "cloudflare", "x-ratelimit-reset-tokens" : "0s", - "set-cookie" : "__cf_bm=r7iyc_jfay.x7SLpzqrWIODSDwzW1J3.5dWrVtnpFdE-1784332881.1628323-1.0.1.1-9c2mH_XoCzF3xqE8q7_3ePgSmQJjafUUKKtXeSqoWb3g3q_4kNgCWeVlHBqBKv5trSKeIZ2UWLBItZaFbicjgCmcxYO5hqw2n0owB6ubFL7rTnC6pN7__fmSI_sRNxhN; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.openai.com; Expires=Sat, 18 Jul 2026 00:31:21 GMT", + "set-cookie" : "__cf_bm=Ztcksfqtm9QHDT.jY_vrQJatz.E8UFjWAI1eiObmF8Q-1788197809.3642948-1.0.1.1-SI.h190rF5DwmsB0v3Cn9fK.j1y5ZpL8p4LFsm98vWIc1nBpRHCoOBa9xHXKKIouH5sSyS..c9YqyOGb_EGAVjMpf0Fk7JtiqxiPsYG9DjjJpW.2WwTGSQs.cXayRHje; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 31 Aug 2026 18:06:49 GMT", "Access-Control-Expose-Headers" : [ "CF-Ray", "X-Request-ID", "CF-Ray" ], "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", "openai-project" : "proj_vsCSXafhhByzWOThMrJcZiw9", "Content-Type" : "application/json", - "x-request-id" : "req_bc824dd35c8e4aebafc2fd771b9ecf90", + "x-request-id" : "req_dc7d1850ffcf4ef7ba4513038767e73e", "x-ratelimit-limit-tokens" : "30000000", "openai-organization" : "braintrust-data", - "CF-Ray" : "a1cd361b48ceb9c7-SEA", + "CF-Ray" : "a33dccb48a2275b4-SEA", "X-Content-Type-Options" : "nosniff", "x-ratelimit-reset-requests" : "6ms", - "x-ratelimit-remaining-tokens" : "29999987", + "x-ratelimit-remaining-tokens" : "29999986", "x-openai-proxy-wasm" : "v0.1", "x-ratelimit-remaining-requests" : "9999", - "Date" : "Sat, 18 Jul 2026 00:01:21 GMT", + "Date" : "Mon, 31 Aug 2026 17:36:49 GMT", "CF-Cache-Status" : "DYNAMIC", "x-ratelimit-limit-requests" : "10000", "openai-version" : "2020-10-01", - "openai-processing-ms" : "529", + "openai-processing-ms" : "494", "alt-svc" : "h3=\":443\"; ma=86400" } }, "uuid" : "d773bef0-e01d-3031-a380-4067d3738030", "persistent" : true, - "insertionIndex" : 33 + "insertionIndex" : 32 } \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-f8a5ac27188a.json b/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-f8a5ac27188a.json index 8a855d6d..dd662931 100644 --- a/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-f8a5ac27188a.json +++ b/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-f8a5ac27188a.json @@ -10,7 +10,7 @@ } }, "bodyPatterns" : [ { - "equalToJson" : "{\n \"model\" : \"gpt-4o\",\n \"messages\" : [ {\n \"role\" : \"system\",\n \"content\" : \"you are a helpful assistant\"\n }, {\n \"role\" : \"user\",\n \"content\" : [ {\n \"type\" : \"text\",\n \"text\" : \"Briefly describe these attachments\"\n }, {\n \"type\" : \"image_url\",\n \"image_url\" : {\n \"url\" : \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mP8z8DwHwAFBQIAX8jx0gAAAABJRU5ErkJggg==\"\n }\n }, {\n \"type\" : \"file\",\n \"file\" : {\n \"file_data\" : \"data:application/pdf;base64,JVBERi0xLjAKMSAwIG9iago8PCAvVHlwZSAvQ2F0YWxvZyAvUGFnZXMgMiAwIFIgPj4KZW5kb2JqCjIgMCBvYmoKPDwgL1R5cGUgL1BhZ2VzIC9LaWRzIFszIDAgUl0gL0NvdW50IDEgPj4KZW5kb2JqCjMgMCBvYmoKPDwgL1R5cGUgL1BhZ2UgL1BhcmVudCAyIDAgUiAvTWVkaWFCb3ggWzAgMCA2MTIgNzkyXSA+PgplbmRvYmoKeHJlZgowIDQKMDAwMDAwMDAwMCA2NTUzNSBmIAowMDAwMDAwMDA5IDAwMDAwIG4gCjAwMDAwMDAwNTggMDAwMDAgbiAKMDAwMDAwMDExNSAwMDAwMCBuIAp0cmFpbGVyCjw8IC9TaXplIDQgL1Jvb3QgMSAwIFIgPj4Kc3RhcnR4cmVmCjE5MAolJUVPRgo=\",\n \"filename\" : \"blank.pdf\"\n }\n } ]\n } ],\n \"temperature\" : 0.0,\n \"stream\" : false\n}", + "equalToJson" : "{\"messages\":[{\"content\":\"you are a helpful assistant\",\"role\":\"system\"},{\"content\":[{\"type\":\"text\",\"text\":\"Briefly describe these attachments\"},{\"type\":\"image_url\",\"image_url\":{\"url\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mP8z8DwHwAFBQIAX8jx0gAAAABJRU5ErkJggg==\"}},{\"type\":\"file\",\"file\":{\"filename\":\"blank.pdf\",\"file_data\":\"data:application/pdf;base64,JVBERi0xLjAKMSAwIG9iago8PCAvVHlwZSAvQ2F0YWxvZyAvUGFnZXMgMiAwIFIgPj4KZW5kb2JqCjIgMCBvYmoKPDwgL1R5cGUgL1BhZ2VzIC9LaWRzIFszIDAgUl0gL0NvdW50IDEgPj4KZW5kb2JqCjMgMCBvYmoKPDwgL1R5cGUgL1BhZ2UgL1BhcmVudCAyIDAgUiAvTWVkaWFCb3ggWzAgMCA2MTIgNzkyXSA+PgplbmRvYmoKeHJlZgowIDQKMDAwMDAwMDAwMCA2NTUzNSBmIAowMDAwMDAwMDA5IDAwMDAwIG4gCjAwMDAwMDAwNTggMDAwMDAgbiAKMDAwMDAwMDExNSAwMDAwMCBuIAp0cmFpbGVyCjw8IC9TaXplIDQgL1Jvb3QgMSAwIFIgPj4Kc3RhcnR4cmVmCjE5MAolJUVPRgo=\"}}],\"role\":\"user\"}],\"model\":\"gpt-4o\",\"stream\":false,\"temperature\":0.0}", "ignoreArrayOrder" : true, "ignoreExtraElements" : false } ] @@ -23,30 +23,30 @@ "x-ratelimit-reset-input-images" : "0s", "x-ratelimit-reset-tokens" : "3ms", "x-ratelimit-limit-input-images" : "250000", - "set-cookie" : "__cf_bm=QjNv8AQRQJ4kDsF8Jw67wX4.s638rCD._C2UhKuup8g-1783444519.953587-1.0.1.1-wcAANWVjKysMkkMXv0rOfq2Qjj_FX_BOpyAbphpoJWupoau_a.EF9_yB3FQod8t5a20qRa3HAxjtNW47uL3N9YNvjJ4kY6XIpAz20hd5HDqcmJOGswzmFLn9IZKOMVSl; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.openai.com; Expires=Tue, 07 Jul 2026 17:45:21 GMT", + "set-cookie" : "__cf_bm=lPTIewDHl7nmTaprV7OzOzFtLlxS.vpQ5cO60ZwPLs8-1788197815.1760187-1.0.1.1-eXKeYX3Tm5YvJKBnvXNV6NYwvhdgG30IYRFERzKAzPbNSu_PF7U9VwXPjAHBhY8QOxhJ.xhGvbgXq6HuAABrHy4PD6p7CenbryfTrIv_PmM2Z_Acu3BSp.QPBScazyPg; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 31 Aug 2026 18:06:56 GMT", "Access-Control-Expose-Headers" : [ "CF-Ray", "X-Request-ID", "CF-Ray" ], "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", "x-ratelimit-remaining-input-images" : "249999", "openai-project" : "proj_vsCSXafhhByzWOThMrJcZiw9", "Content-Type" : "application/json", - "x-request-id" : "af9818de-e122-471a-bf64-e3441e154a17", + "x-request-id" : "req_4e8a50f4083e4496845523e891d525fc", "x-ratelimit-limit-tokens" : "30000000", "openai-organization" : "braintrust-data", - "CF-Ray" : "a1787d99be9deb8f-SEA", + "CF-Ray" : "a33dccd8d98fbd66-SEA", "X-Content-Type-Options" : "nosniff", "x-ratelimit-reset-requests" : "6ms", "x-ratelimit-remaining-tokens" : "29998451", "x-openai-proxy-wasm" : "v0.1", "x-ratelimit-remaining-requests" : "9999", - "Date" : "Tue, 07 Jul 2026 17:15:21 GMT", + "Date" : "Mon, 31 Aug 2026 17:36:56 GMT", "CF-Cache-Status" : "DYNAMIC", "x-ratelimit-limit-requests" : "10000", "openai-version" : "2020-10-01", - "openai-processing-ms" : "998", + "openai-processing-ms" : "1609", "alt-svc" : "h3=\":443\"; ma=86400" } }, "uuid" : "59a604a9-a1d1-3dab-9f06-20e3d67d1d44", "persistent" : true, - "insertionIndex" : 10 + "insertionIndex" : 23 } \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-f9231c22ca2c.json b/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-f9231c22ca2c.json new file mode 100644 index 00000000..9450a84d --- /dev/null +++ b/test-harness/src/testFixtures/resources/cassettes/openai/mappings/chat_completions-f9231c22ca2c.json @@ -0,0 +1,51 @@ +{ + "id" : "5934fea7-30d8-33bf-8e17-6f35eeb1b1fb", + "name" : "chat_completions", + "request" : { + "url" : "/chat/completions", + "method" : "POST", + "headers" : { + "Content-Type" : { + "equalTo" : "application/json" + } + }, + "bodyPatterns" : [ { + "equalToJson" : "{\n \"model\" : \"gpt-4o-mini\",\n \"messages\" : [ {\n \"role\" : \"system\",\n \"content\" : \"you are a helpful assistant\"\n }, {\n \"role\" : \"user\",\n \"content\" : \"What is the capital of France?\"\n } ],\n \"temperature\" : 0.0,\n \"stream\" : false\n}", + "ignoreArrayOrder" : true, + "ignoreExtraElements" : false + } ] + }, + "response" : { + "status" : 200, + "bodyFileName" : "chat_completions-f9231c22ca2c.json", + "headers" : { + "x-request-id" : "req_aa66b81af82a47b5bf875b9b5cc87190", + "x-ratelimit-limit-tokens" : "150000000", + "openai-organization" : "braintrust-data", + "Server" : "cloudflare", + "CF-Ray" : "a33dcd8e1dad75d6-SEA", + "X-Content-Type-Options" : "nosniff", + "x-ratelimit-reset-requests" : "2ms", + "x-ratelimit-remaining-tokens" : "149999980", + "x-openai-proxy-wasm" : "v0.1", + "x-ratelimit-remaining-requests" : "29999", + "Date" : "Mon, 31 Aug 2026 17:37:24 GMT", + "x-ratelimit-reset-tokens" : "0s", + "access-control-expose-headers" : [ "X-Request-ID", "CF-Ray", "CF-Ray" ], + "set-cookie" : "__cf_bm=BV2WDJflD99HRVKJRG8PtUpa9Emz8o7KvO2xflwDxwU-1788197844.1720397-1.0.1.1-Pmql5ICoIYZswqcvgPhW7_mN.ZPAhWsMGhSzwaNrxw30663g5zeKJt8OA5miBPUxCa_NQpAz712MWtB7JEp5J4E1jJfGex0XUAGKcPQlB94yhnJS1VSzTk1Sb9JM9coi; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 31 Aug 2026 18:07:24 GMT", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "CF-Cache-Status" : "DYNAMIC", + "x-ratelimit-limit-requests" : "30000", + "openai-version" : "2020-10-01", + "openai-processing-ms" : "692", + "alt-svc" : "h3=\":443\"; ma=86400", + "openai-project" : "proj_vsCSXafhhByzWOThMrJcZiw9", + "Content-Type" : "application/json" + } + }, + "uuid" : "5934fea7-30d8-33bf-8e17-6f35eeb1b1fb", + "persistent" : true, + "scenarioName" : "scenario-2-chat-completions", + "requiredScenarioState" : "scenario-2-chat-completions-2", + "insertionIndex" : 8 +} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/openai/mappings/responses-042a0738564d.json b/test-harness/src/testFixtures/resources/cassettes/openai/mappings/responses-042a0738564d.json new file mode 100644 index 00000000..035a26ee --- /dev/null +++ b/test-harness/src/testFixtures/resources/cassettes/openai/mappings/responses-042a0738564d.json @@ -0,0 +1,48 @@ +{ + "id" : "84ae5d6a-5cda-35bf-8bd6-18724c3f189b", + "name" : "responses", + "request" : { + "url" : "/responses", + "method" : "POST", + "headers" : { + "Content-Type" : { + "equalTo" : "application/json" + } + }, + "bodyPatterns" : [ { + "equalToJson" : "{\n \"model\" : \"o4-mini\",\n \"input\" : [ {\n \"type\" : \"message\",\n \"role\" : \"user\",\n \"content\" : [ {\n \"type\" : \"input_text\",\n \"text\" : \"Look at this sequence: 2, 6, 12, 20, 30. What is the pattern and what would be the formula for the nth term?\\n\"\n } ]\n }, {\n \"type\" : \"reasoning\",\n \"encrypted_content\" : \"gAAAAABqlbvYExiVEN0PpKufywUbaup2cuEwH0bdepoaoOvuKkJxPF8FeJJOjVnJ5GXeeDWf4f_aKLwh5FuYHTm6tA-obuyqmOPkQjOYzIZhoJFxiPC0jaMR2wo0dDnjyifjoEwtxjubkgESbidVkpiOT1furUoAKw2fvUwkA6-B9d3ontlw4-IPGNl90PxaDR-4DpK9sDTnAg04W6P09xdhvlvNo80JbX6kuJROnVpUlthFEUtbq938i5Qu2OWDWQi_Zf6X02AteH5JjKhHGOKnnquapSe_fUJq-5XMnUZauKcY4HJ3QX7OVcMzd-wNBb8LVEIzH7Sb56-5ufu8tvzZXomqHoE9sMKFoAdPqA3rCTEUJIr0iXbFK34zmb-hZpmoNau1eIiE5SUVUUYqrY1IPSwKxuKWV9gtQeiPB3_Uctj19yohGplOcqWY1itcegVUMX9mdKA6jDQXAywEzgzGAneYapu5GOpyYZnNk_2Z9rZL8uw9Twc5YPowPm5lvtN4FIdqLjhRw7lsdshamzKwXXYcAu73BDDHTV0bxi6WFDQeMAw4KigfCL4kKPTPOEEABR1MFgo9FZ-vG7f4JzZWfibOmuNAe_MVNfXlrRk6fkaf11fBWEwlX24mCRZFtzvBaNawozP6c0NETtP22sOpzqR94Fpnk-v72AocHlDXOaNT6LTN4jOVqZgAU5b7pFKP3ZXVdU3jpjk3pglvjimeRLAM0HJm8li2CpR4NwJbZBZKVuARGJb3LWep7h2EDAUKKO5RQH5-VS9Es4AnEUjVED6j0dANEHCMvJjg0MtTvAf7WfsYSJDhuynm5jBLO023oUASn79HFI_UBt_m6RzlIEqGxggRBqMAZL7r-2giMzWvITGTAVf8r8MDf2JpTdaruTnDQFZwmkROghHNflGeP855i4cB3baAtGIcUFymzmNPRo-oI0GexuLBZilRXADIVtEXdpcK0F-oChIQfcX5jQloD5AIvIX14zmv3ji73rc4EegE1u8UEO9KyLDWMRUr_mrerCsQJ3VIVKjHcRCeJ-_R27msJrAKI6cnnazUt4igcxYAm-qNfN0XeNEL-PllSKDfjSdVS5eHgttK1lXjlh82bWyeN_9IP1foF2_NnxVNtZrWinrQiCBCQ1j-Bzdh3-GyQ0PLLUrNQIzDbndtqYRL4B_DtUw2EbNv5f8ypXM5H9sNyMMvJunHSPlj3hHWoGx5xyKCxBwVuJYG03dsAhfnNSmEZ4qK04c6hvWs7TE0iKWsymihBBCwcvUqQTAn83ACfPPMIGdbS9sWfcOrzqjOmo5GkWEw9Okn6VOZrRhsAbasFEOpVd9lebfu9mDZKUcafIhdxT3cFoUSLi4FhsgBF4E0tZ345asumwPEa5LkcOeYrjEl5MGzLmirxTM9q0BJZDjc5O4aAKpVL9JeTqE6bDty_AgNcTfKVlt8cnPTZkm5-oLxGSQft61pn44NB7h7hWXwY7JQVrhIdRDgY6B4z4FASrV6d1YOj4Yl9GXnk0TYyxxZ7Ih_FQOphXpxqvZNeiTWdVfwqv2dv8QbDOwfuHBIXGLQ-CYEtUfQl9RCZ0-YjzmEzdXF9evJTgdTm_C-x-j2IAQMHgZVeYCJvFGvt-qX2XepXduaaBOQFenPAN5cF7E7ic33eeUdqoHFiuj-1RMs0eYCsNH-Qb1cLvTQ_GbR_O6cm6F-RftLaJohXPjaY-885Fi3SPLhJxbAjpB4t9KrX1JB5MnyVmri9g8f8F6-_6_1ypPXOnoZZJ2hQ1xU8UksX53zwIiKPBWPXvUA4lj_uZzDbsLN3YFawBKg1tbD7ir3ZCLpsSpade_Zqlg3lHFKhLEOJu54mSM5E8r-wL9Se9dsgqKwsC6Fnl9TTS5R3KVS_n8Tf7U3MXjlSEyN3MR_C40kSTRBl5vwrKa2ZkitFRIykBkRhnv9m8SM0FTRjIjtVt7-_tFe_Kt1qgTgA-vdf4-hu6Y7L-Mav2Hr3-3xRt7IW4ZSz7QwQA3Rj1NoQY4cWhEzMWWguRQRSeeWQXF8g0XVGYNbaMUXafdP8p77wfEJIM87Y-opI7xCZMsstGnfk4zCVAsitL_R-6qGuYfVuvF-rrMV8_9qMYbdH1O_KFVn_Vi9jXICK3pFVtJCmDfuUf5QDzT_mtjcRfKYeO3rnat1BiurIVqyfZkA5HaSoySslJ_5gb4lFy2X_vye0fSeZ7cIqFvnF-l7he6SncvUbiZ2Ko0gSb5rCCEX6HAbk0ZTF7h4bpH54FNpV4wy045U_YFNXZ0IbilPcZig_TaF-aP2b74wS3id0mhOHndt2HBSd2ffNQTmj7XxJ4JPkTkL6chiXvTAQEqPnKCy05ZBy9xfn8bL4fCaiYhYv8v7ZFNUDUz6ZNerlyekMp40-eCerlkk39Hju2GE7jBkrzpGpuwGQynI20sXCfew6lWq-7c9dZYxrjsaH7QP_uariE8plG9GS1qEdH-VTC7H0Vcuv81uKu3s1wVf2eOR2Fvkbj7xCQUhNwA5ba-SsBJjSO21RycIcsr43UJzecwV5On51zZ689s7juFH65HtA1M-RqwO0jsC54nlQ2Vbp3fFu6_Dpu49fi0iaJyYfHGk8OxyFykwwUBDe1PRgk1yh2awE3Q6x2OManROmbsjxrxBKR0vuotLl1RcIkbqqr43FxORo3K-R0oCl1tg2RQ8eCVkq5di7gwttanLXAOKEGBQpD_3k4gOdKRM6knT0zuLmT4wOzqID_iKDtvb47vRvDFgIJEXl8jJdnApILoXki-Afw==\",\n \"summary\" : [ {\n \"type\" : \"summary_text\",\n \"text\" : \"**Identifying the sequence pattern**\\n\\nThe user asked about the sequence: 2, 6, 12, 20, 30. I see that these numbers can be expressed as n(n+1). For example, 2=1*2, 6=2*3, etc. I'm realizing they represent pronic numbers, which are products of consecutive integers. So, the nth term formula is a_n = n(n+1). This sequence’s differences are also revealing a pattern: 4, 6, 8, and 10—interesting how those connect!**Clarifying the formula**\\n\\nI see this is a second-order linear sequence, where a_n = n^2 + n, starting with a1 = 2 — that's good! The pattern shows that I'm adding even numbers, beginning at 4 and increasing by 2. Each term corresponds to the product of consecutive integers, confirming the formula as a_n = n(n+1). So for example, 2=1*2, 6=2*3, and so on. I've got it all summed up now—I've reached the end!\"\n } ]\n }, {\n \"type\" : \"message\",\n \"role\" : \"assistant\",\n \"content\" : [ {\n \"type\" : \"output_text\",\n \"text\" : \"Each term is the product of two consecutive integers:\\n • 2 = 1·2 \\n • 6 = 2·3 \\n • 12 = 3·4 \\n • 20 = 4·5 \\n • 30 = 5·6 \\n\\nThese are called “pronic” numbers. In general, the nth term is\\n\\n aₙ = n·(n + 1) = n² + n.\"\n } ]\n }, {\n \"type\" : \"message\",\n \"role\" : \"user\",\n \"content\" : [ {\n \"type\" : \"input_text\",\n \"text\" : \"Using the pattern you discovered, what would be the 10th term? And can you find the sum of the first 10 terms?\"\n } ]\n } ],\n \"stream\" : false,\n \"store\" : false,\n \"include\" : [ \"reasoning.encrypted_content\" ],\n \"reasoning\" : {\n \"effort\" : \"high\",\n \"summary\" : \"detailed\"\n }\n}", + "ignoreArrayOrder" : true, + "ignoreExtraElements" : false + } ] + }, + "response" : { + "status" : 200, + "bodyFileName" : "responses-042a0738564d.json", + "headers" : { + "x-request-id" : "req_54775536912247dd82c8d9e71863888d", + "x-ratelimit-limit-tokens" : "150000000", + "openai-organization" : "braintrust-data", + "Server" : "cloudflare", + "CF-Ray" : "a33dcda7a8fa7606-SEA", + "X-Content-Type-Options" : "nosniff", + "x-ratelimit-reset-requests" : "2ms", + "x-ratelimit-remaining-tokens" : "149999617", + "x-ratelimit-remaining-requests" : "29999", + "Date" : "Mon, 31 Aug 2026 17:37:35 GMT", + "x-ratelimit-reset-tokens" : "0s", + "access-control-expose-headers" : [ "X-Request-ID", "CF-Ray", "CF-Ray" ], + "set-cookie" : "__cf_bm=mtMl54rYh6BF2G.nUGryJahmX1zjgpdMY.p9ol4NTWg-1788197848.2674417-1.0.1.1-L8yVJR3V8qTX6TvYFnPtrh3V8Tq.6z.9PENnX2UVvv5M895bvhv8AT4hgVPczy5LTy_quJy.qIBYnlXQkoJA.mmbX4ssSf8S2zcauj3fy.jVkiaTPhWiNltJ4mZJbd2w; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 31 Aug 2026 18:07:35 GMT", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "CF-Cache-Status" : "DYNAMIC", + "x-ratelimit-limit-requests" : "30000", + "openai-version" : "2020-10-01", + "openai-processing-ms" : "6761", + "alt-svc" : "h3=\":443\"; ma=86400", + "openai-project" : "proj_vsCSXafhhByzWOThMrJcZiw9", + "Content-Type" : "application/json" + } + }, + "uuid" : "84ae5d6a-5cda-35bf-8bd6-18724c3f189b", + "persistent" : true, + "insertionIndex" : 5 +} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/openai/mappings/responses-0c37df81d2cf.json b/test-harness/src/testFixtures/resources/cassettes/openai/mappings/responses-0c37df81d2cf.json index 4cf01a06..20942bd4 100644 --- a/test-harness/src/testFixtures/resources/cassettes/openai/mappings/responses-0c37df81d2cf.json +++ b/test-harness/src/testFixtures/resources/cassettes/openai/mappings/responses-0c37df81d2cf.json @@ -19,24 +19,24 @@ "status" : 200, "bodyFileName" : "responses-0c37df81d2cf.json", "headers" : { - "x-request-id" : "req_caffbff4fcfa4447b1f0f244b349c260", + "x-request-id" : "req_1d318236def3478983e87916819ca60e", "x-ratelimit-limit-tokens" : "30000000", "openai-organization" : "braintrust-data", "Server" : "cloudflare", - "CF-Ray" : "a2b477186f387696-SEA", + "CF-Ray" : "a33dd5a1ac612672-SEA", "X-Content-Type-Options" : "nosniff", "x-ratelimit-reset-requests" : "6ms", "x-ratelimit-remaining-tokens" : "29999667", "x-ratelimit-remaining-requests" : "9999", - "Date" : "Sat, 15 Aug 2026 01:36:00 GMT", + "Date" : "Mon, 31 Aug 2026 17:43:40 GMT", "x-ratelimit-reset-tokens" : "0s", "access-control-expose-headers" : [ "X-Request-ID", "CF-Ray", "CF-Ray" ], - "set-cookie" : "__cf_bm=fKB9N5Strq0k5Ze6sBfi4jGPWxkXhYwFN8qyUXdPsIM-1786757753.6642315-1.0.1.1-wyZZ9kuB_61Xx6odgjT2OxPYQpP8j3xce70cTL5rB304kOCWgffE6Fj.BtDgeYCAyjCkI7SOuZ4KDifin5OZNXNfsEcE5OgeU7w.lKUK9iMdxo4FO.1aWZFgahNgnkqF; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.openai.com; Expires=Sat, 15 Aug 2026 02:06:00 GMT", + "set-cookie" : "__cf_bm=2M0GqUYqBC0JSmC4rCPKFF2OnKbeT5RbSsryzRYj6uE-1788198174.9836721-1.0.1.1-iE17FNyl4.Ify5.RS8lNIQOtVa1MEQQOEYey1..9kAQj0yNSId_SulqDMs.TDJV65SPjgX3eVf5YepnIcSjgYYJME6ZN0ZzIsa4kxswJs8v34JOSg6uj5UQSTpf5eLkE; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 31 Aug 2026 18:13:40 GMT", "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", "CF-Cache-Status" : "DYNAMIC", "x-ratelimit-limit-requests" : "10000", "openai-version" : "2020-10-01", - "openai-processing-ms" : "6801", + "openai-processing-ms" : "45284", "alt-svc" : "h3=\":443\"; ma=86400", "openai-project" : "proj_vsCSXafhhByzWOThMrJcZiw9", "Content-Type" : "application/json" @@ -44,5 +44,5 @@ }, "uuid" : "281f816f-d189-3cf5-88f9-fd4fdc9fe66d", "persistent" : true, - "insertionIndex" : 38 + "insertionIndex" : 56 } \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/openai/mappings/responses-10f9231b8f69.json b/test-harness/src/testFixtures/resources/cassettes/openai/mappings/responses-10f9231b8f69.json new file mode 100644 index 00000000..7fa33931 --- /dev/null +++ b/test-harness/src/testFixtures/resources/cassettes/openai/mappings/responses-10f9231b8f69.json @@ -0,0 +1,48 @@ +{ + "id" : "ec29ab00-2e62-3b18-89bc-81bc5de4272f", + "name" : "responses", + "request" : { + "url" : "/responses", + "method" : "POST", + "headers" : { + "Content-Type" : { + "equalTo" : "application/json" + } + }, + "bodyPatterns" : [ { + "equalToJson" : "{\"input\":[{\"role\":\"user\",\"content\":\"Look at this sequence: 2, 6, 12, 20, 30. What is the pattern and what would be the formula for the nth term?\\n\"},{\"id\":\"rs_0cdcf22d3808a85f006a95bbd7218887d09fb602e6a1419ef0\",\"summary\":[{\"text\":\"**Identifying the Sequence**\\n\\nThe user wants to explore the pattern in the sequence: 2, 6, 12, 20, 30. I see that it looks like these are double the triangular numbers, which are defined as T_n = n(n+1)/2. When I double these values, I indeed get the sequence: 2, 6, 12, 20, 30. So, the nth term is given by the formula a_n = n(n+1). This highlights that these numbers are pronic numbers, being products of consecutive integers.\",\"type\":\"summary_text\"},{\"text\":\"**Deriving the Formula**\\n\\nI can express the nth term as a_n = 2 times the triangular number or as a_n = 2*C(n+1, 2), but the simplest form is a_n = n(n+1). The sequence shows constant second differences, confirming it's quadratic. The differences between terms are even numbers: 4, 6, 8, and 10, with differences increasing by 2. After solving the equations formed, I found a_n = n^2 + n, identifying it as pronic numbers—products of consecutive integers starting from 1.\",\"type\":\"summary_text\"},{\"text\":\"**Finalizing the Answer**\\n\\nThe pattern I've identified consists of numbers in the form n(n+1). Therefore, I can express the nth term as a_n = n(n+1) or a_n = n^2 + n. These numbers are also twice the triangular numbers, since T_n = n(n+1)/2 leads to a_n = 2T_n. Notably, the first differences form an arithmetic progression: 4, 6, 8, 10. Given that the second difference is constant at 2, the general term simplifies to a quadratic equation: a_n = n^2 + n.\",\"type\":\"summary_text\"}],\"type\":\"reasoning\",\"encrypted_content\":\"gAAAAABqlbv0R1eufJtJbpIkOfSDwwyF5lQNyx50eyNFEAQYx630DXHxgoY9Jq3Tr-55UnSd6tmfLMfB-J6kUQ8cC4ou18k1bNH5wWN2tr8R6qRHS5_7b9ars4VkbJ9VOo4vEghADLo3XSZLVDqAxJPv17iLQXxfkTXgO-3SlFFYdFt-P8qQsW6eGGzQvZBSrN4E14vZPfPUleTkWwttsdlyA8Ma7Yio2rhmQOyflOhQfU2QVZ7s2JwvAPAbjF8_e5MHsD5jvhzvGWhHOKlNJrQ2Jd9tMQjkzWciwEzy1wjxP52x0m-in6cEHr2zhh_rKwHtOUSeC8DvqjeY76hOH4vLuuGe6GWxvQnhRZvu4MUdnPh0V9DiYiNwcaf2oawPKGQ81Ym3qwXRM2LC-qvYDJ2NHDkCNHZW7FSoJt8w-T7KhT-Bs-VaV4biMqs0sPHkJQ2Fs9yBSu8SqauxboASnx5ivXIsO4tI860xy4cW1B9-aWyqdFXSvi4QKYf7FuGU_aWbNr8-atpgj8Z_NITWh9z7XUXTgPHQ8I9wBoA4ThK1gicMnyG6HalA7lmeUeMhiSnfUMdOCAhp2_orJf4l0EZ3PMCxneIiFIXeoMIPq3YVQm6kswbEROUTFG3JlKchrTJ6Fed5sbtAGlN4vektll9l6U1iWgL8ZjAI995qSe6zcf0UhE75sR_KZNSS5W-jWFO1k-FzfrBouMzTYegfBmllfZ2DbA_iQz8chQoDQyb2-_9ALHs9Gq6F8ar5KY1jbnh1RV1jlRsXlAfjG9-4ibqyRHsHv7bMLe0M4SngpnEhpK-G-RCLk3L5ij4Jh3Vp_amD3o6LpLzcpANbLac-geQFzxUzImDO_Ior0CAGLyiMemXE0mBY5auEtsDny6SRKwZH98bluWH-U9PFB_nONLq07klJZuygho9BJ7Uc51jwXL279U74DjTaH0yfZhFckXfeIsEfOHRkJUVtXeiqUtKksgnzrZ-WHyg-2VLIvoLMEqcK1o3b9aHNi7nJvPoFd1rZRdEtjrnNF9Yr_qTq_Vl-qbPm7ufNt9ZKuD0pCpnY4XGwvoJdetmL5HQJDcrqBpPvuM4FfyPc8Fi_SUikd5cAdlXtB9bysGzSIgVQyxIHUVOnGUxSOHqnb644NPze_mGP1uI02ZhwK55FbCOQTbX30ltwzEJxt3KRIjLOiJIO5rU2ogodcY4kPqg-HgB7NupgzL_Q9JyQZIp1uD063kMOvWB6vldjVw3kDsMVNFtlUIO6oafPwxNf1zaK4RUan718ephxQA6iS-9S2RBfYRnuuNrGUaunRmg37_1ttH_qAOc4zxIC3HobJoAvEi64b9VMu30jF7P17nctX5p_B98fN_dJE_rrbALg9LzHFD8QjomJGiseBoumw4D2X73Bb1ocyAxt3MmUvbYzw4aYPWKl4-TRIOKK176SN24aQ9vF3V3_rcfvghjsyiGCiIoTXy1ubghm9oMRv2gorYMmywxfLv1sQ9mjkDUJYoarmzRzzJLCyBhi4Qdd4KpOGdBwe9_ONm-whwTTDU8yzrwoOQNnjNBDDwaRQA3xowTg_Qx1QjSTZ2sF0nqPYvU0V6co0Wpd_8rJIAhalAGmLDDxx-U2Cy7VSg6fc2pXLBkfaOU_34apCygjec0Ne2Wn6SOfhSYDb8w7ChD6fUow7Vt5dA8hT6NBpIcQhwLb5TNYdBbKznBH_UULjCu5m0qmoSND-YAe2j2SLLTuXs3QZ3eOTeKGaFt6A9xTiXDdGnqmTweP-UYP2q4H2UJVX3f2nJ6xn7quRekZVylpl-PgMA4Zq_sVe1ir1gKCgXttnQM_bQ1OG5FIquWogHWuU42iM2nOfzXnD7tl_ugmdtO3qfcOPcypMKl8t87fROLKkBHeuhnscyehdFIl0DUkpgJZy6Uw6K0pF_UmYrv5c7pQfcS04C_R1XpsjOQVo2r9otSQYN_MqRgAIp_zu6orJp1gCWEte7t81a6KdAjIc8ryqV9mW0Xru6UAENxgfH3CrZkSVvryZ7tC9uURDZCd1jAfyoOuqJHwN2sTOF5-JdXevibb4Thy9UQftBy1vjP1KDHHUqoea9NHZdLDZgwq_kA0qtKNiw5lYj9SWp1UaqNYKOSWiC4EzXQGJ9d5S296e4H4QFqe0x_a1cWLO3-lOQ84hiZeSGmXl_JlLnUe4J53EaEzglKLsQ9EhTgQIL9dtHSVeQQfCeUspWpj_SjlRKFUoc5Hr81xLSXoX-pyYDvTdvE6GY9Un5UvjtNbRAXqjAqSg6gObhogzGU0eVWjNCUW_JqXLlvbcGBxLaFoACjrQOUnW3Jrqmn2_zzp8hrBxV5a1xzlyXM8-gu82qDckyJo74KiXT-z85Vbs2QKWmX_j-NubamctY_mSqQYpn1ihSYM1vMDBKPKxiUV8iHr006ALqoW3gmJwHWeaNgexE8X4bb_pAdRqHCEmou1AqUHDvA7bnqE8V6zM09DEDCei0FKPScse73slv5KBgmxJd-m3DHVsV9iRzHgE5678nffXor0DDkbMb0KeZMOk-Op_rCvlQbeWnvjkCDuQqfa4G4rCwEdOoEfj8-D16znJe2NiZKgGkZyRBd7-zGfY1ktxxft9bjot9bsGFkAeMsrL2fWFB4uAyRJUDnsXjHxTQZZa7htnTUOuQyLsgBA514h4AFPqVVUSyilQiRUyRt8ew3fpNuJMEm1C9nX1HAmiBqYkLA7YRtbwym-MMKPyIOA1fdi5_aUNXA6ilyUUytG3Cqn1J36nD_05XdJT15_MOjtwKwMTLIlL_Zxr0GeMXreYPb71tMZmbm7nKjttWDgd6tdQ9xKr9H4RSHdhPGBZ4z_36brBzQPZmC5MwqHL5B4e1igeApdanOlM2WJGdYYvhzgy0NonSbuFirLCy-TivmI7Qj0et06oStbEX8C7LjMEpiGjiMjT3m0VYVRggZgYizsTUxoSFBMN0tpbbQvCyQsthM-UbToje7uDppG9yfQH9rw1__AmGa7S02kVOju4wwSy_CNwPaHmtLEnCpWoGKVWxPE9eGtvJPaPOG3kJ0K4KLTbSM50JRezjY59pw630JeZLes8E7m_3f0XRaxP4gQSXaM83HM001Ae0zYjZLtFeRTygw9kIXPms1sUtP7qtPDimAw4HG008e6CCEvZ7OdcLP80uhc16afDLyXJH7B4bpTI44WRvtunScyNgaKVTzPfCGqpeF-q-8IjokZbgaymFVuNcDRLyvwTq1b6L_m3TiScvrJpd1YtQmJXbipfpTDdDbbcgunMBX8mmfWcO8atngnOwek490LnBJH1y3088DGAfN8lfi7pABZno3P1ctdhZqMw15EoRkZCC48UZxWtAWmqIigDmZOyOVbPEjA-8v9aWQ9ys5ofC-7ecnx-RAUh9TsFHpCnk53Asl20QdyYdFA2ZmlREx2Q0POGQgjGbTT3zS7TDiMvCs98SipQoHh_bYBKLG3qCOWrsOk87k1rErBM-caf6GIZeRtn-TfYIbnb8sRto8micDjh7riRgUHs9X8VPqwnR3B3eKHyVrS_gLt9dkKQRLXDS-qFzKdUP80AOnR5V9tlNKBdsR2Y1fMaVRk0SV-UPlxEB3aGbUdfBhxzknQxnc0cd0HaNTe1Eak4Bm5uHNnP7oNdxoIJ2o9haMpXyLmnVbKxXFnZbq7om319NGkbYO6yYeLw-XquQvJ03Up-EKQN0OT70OR6CWfKgL2kQcXWp7kwQa8OTis-5ueWeE1pSea3WTT37NSvILEch3CvBJzavZAo-6YM0Avd4mV5EyenDn0kQbShpwc6Ep_s2TJPErn73EdcNqLWRXGN812HHV89yvkx5ikXG7aMGOkk8LZ77bVkJ6tanVteeL6e6ob0-_Tiolv_bNKdzcHGuX-2m_mjrkpF60TDlp95Cgq-6z6MEai8iVGmOekPNdk2zNqXQGdUocOg5XhHYbtgmhmFLpJoE0ZykyMPZ4YyPkn01juVQtH0UvULwO7cQpJEm21lkt9DB3nEtEqnuAT8JxetIvk3FZhSXpuSwi8UqEgiRind2U_4BCHTbx6PDtwuVC5DXjvxWg90v5vQihn5jRIi8-VpU7HgfYftg9gxmZxQXHcc7RQFUw18L_EktGmbIqb3HWrjBaZ8wgRL7iCKefKVved-dJhofx3u7N-yUZHK0Ko7GEc_aF4x-4CkxmSuSgjjzYQPwdCZ_EXYNtNngAeWCaUcrKi_qP11K4NEkbG5_QX5-5tJFxlsrOwUftNNOYGjZc_E8RcSjlJJz11tY27nwDy2-5N5TJPNPKJNsYsVZSgyqhRtls1bRN8UqGxdxntGbprGQVyLdtRRfifF24wTHHfkZlZ0LwBSupapvViaq6UwcXYL-ke05gM-Tp-g94qcP29ikhRc1-sHmtBu3cd90GE3zklc03rBG13P-DtNVaAG_N_kQyKeSVYAUYXj4LOpn79BrJusj5QCXlvQWLXq8xzdvqb4Yp7nAQRphCUMg9xiFbUs0EfmgFhipxX8Rw_9fb2N2QsCctaDlqLrE28msB93S3lLhPJfl22Wjqt9for2Poz8Tz8TcGs3yZ-qBfHFrbD8J2mTRWD1iaGktJqZ5MIEnK0CilO-zwPRHDkgBMUpdQEdytTHHge3dyxhtOYgipdnausN0H83XzhK266FrVgNHzBkyKdibsUrI_WiGpE62pO6QHvvcHhXxcVBuTEZGfiDIJpnZZ_QOf--DazVvMK4H3Jdt5LNYwHx_nm5ZtMye8isQUKOh5-LFUNFlXRSeVe0xTl_Ozj2knoYd2z5iXuWoeZjd-T_sa9n0CX_naFtxwKR3KiLe_Z4bwWTHR2yy15l0DKhK-wIDslG2qvyCBdf3D47tOTW6-Ffln4XYe5L9EudzzUJ2Qb_d3S8WnngUmkTZmeVy78t-QFqO_dQf8YY4TF3l0AL2QHMhT4VU9bvXtx6Zghx2Eb8mGXQ-cChufQSw252JyS1_l0VZmQvqGvTUm8pFkg0kz9JQ_WJiHDn5qM-q_FzEb5QLWjAVTzEG1aP6p7CufWDK6HJwzzkp3khLeRcLLvfbAHvU9C0A0rIrimhP94p_3MHv_v8gl-pa0VOX5CT8N7bKlDjfiya9q7_OWICcC_JPYaBCNgCZ1SKWfi4XaivfeRRuez7IvLOUSLyUAeN72dIECBKI5I6jth-c-LlTLadL-2jTXDVLRyo0gWnUfrnoz9l5tchixXwP9Kf0CRe7AaCz_qLG_1b-BAhjV2LDvSQfkOFh1mL_cI4bQTspUMizLkVy6UJOeqBCKvH-f9ElEPqQIfpVQeSHZjmzzDkT3bag667KPPsKJnmHKWGqNrk-nMAULOVrsvtD4O156wo_UpCuKN7-nNYhOexTaneNcobnCEnWlid-9ibJS7Bk9UyvA_Zu_SVh6iM3elesaQ4lK1MJrZ5yTSGuVcnVdZKTPfQxqVPC9_2L86XJivB7Odc_abxnTRM8LsoODSl_0FQWfnbU1-jIFggxFQiPfFP7u-KzFE1qmKOWtbIvcQH-eZ1AZ11Cbmy0RgeRkIXTCF7YIcoag277N1GXSspM_GU3uB7nTQ2p63GO_SDGSRh92c-6PM3gmJOdPffP0fcHlGDL-Lhzn-VPagk1Ib4iQZHMVAD2HQIZ1WBJC2cORqHRwjvcgYs2-xx9iu7AMQG1UlLho=\",\"content\":[]},{\"id\":\"msg_0cdcf22d3808a85f006a95bbf0c93087d0a6bcf30b13f4e166\",\"content\":[{\"annotations\":[],\"text\":\"The terms are the “pronic” (or oblong) numbers, i.e. products of two consecutive integers:\\n\\n 1·2 = 2, 2·3 = 6, 3·4 = 12, 4·5 = 20, 5·6 = 30, …\\n\\nHence if you start counting at n=1 the nth term is\\n\\n aₙ = n·(n + 1)\\n\\nor equivalently\\n\\n aₙ = n² + n.\",\"type\":\"output_text\",\"logprobs\":[]}],\"role\":\"assistant\",\"status\":\"completed\",\"type\":\"message\"},{\"role\":\"user\",\"content\":\"Using the pattern you discovered, what would be the 10th term? And can you find the sum of the first 10 terms?\"}],\"model\":\"o4-mini\",\"reasoning\":{\"effort\":\"high\",\"summary\":\"detailed\"}}", + "ignoreArrayOrder" : true, + "ignoreExtraElements" : false + } ] + }, + "response" : { + "status" : 200, + "bodyFileName" : "responses-10f9231b8f69.json", + "headers" : { + "x-request-id" : "req_2543d397adc14b24978a0324f8def161", + "x-ratelimit-limit-tokens" : "150000000", + "openai-organization" : "braintrust-data", + "Server" : "cloudflare", + "CF-Ray" : "a33dce5dde937594-SEA", + "X-Content-Type-Options" : "nosniff", + "x-ratelimit-reset-requests" : "2ms", + "x-ratelimit-remaining-tokens" : "149999605", + "x-ratelimit-remaining-requests" : "29999", + "Date" : "Mon, 31 Aug 2026 17:38:05 GMT", + "x-ratelimit-reset-tokens" : "0s", + "access-control-expose-headers" : [ "X-Request-ID", "CF-Ray", "CF-Ray" ], + "set-cookie" : "__cf_bm=gi29rSdRz79qiDbr7Irrv.a2HE7xChRN.2iuqhEEK2M-1788197877.4162433-1.0.1.1-uOH3o5LxyEzNlw31vSxfecDXuaL4bFV9gJxPpN0.nK8amH7dgq1Mb1BsXPyOkcwftzUXCTGpjr795xdKX_daUkx8TilyEIw9Niq5YiiWb5kb0nm5ErbmxWzrBszZElS.; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 31 Aug 2026 18:08:05 GMT", + "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", + "CF-Cache-Status" : "DYNAMIC", + "x-ratelimit-limit-requests" : "30000", + "openai-version" : "2020-10-01", + "openai-processing-ms" : "7694", + "alt-svc" : "h3=\":443\"; ma=86400", + "openai-project" : "proj_vsCSXafhhByzWOThMrJcZiw9", + "Content-Type" : "application/json" + } + }, + "uuid" : "ec29ab00-2e62-3b18-89bc-81bc5de4272f", + "persistent" : true, + "insertionIndex" : 1 +} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/openai/mappings/responses-137508546e6c.json b/test-harness/src/testFixtures/resources/cassettes/openai/mappings/responses-137508546e6c.json deleted file mode 100644 index 473d1272..00000000 --- a/test-harness/src/testFixtures/resources/cassettes/openai/mappings/responses-137508546e6c.json +++ /dev/null @@ -1,48 +0,0 @@ -{ - "id" : "bd843a3c-5719-321d-b2f7-3e2063611ca7", - "name" : "responses", - "request" : { - "url" : "/responses", - "method" : "POST", - "headers" : { - "Content-Type" : { - "equalTo" : "application/json" - } - }, - "bodyPatterns" : [ { - "equalToJson" : "{\"input\":[{\"role\":\"user\",\"content\":\"Look at this sequence: 2, 6, 12, 20, 30. What is the pattern and what would be the formula for the nth term?\\n\"},{\"id\":\"rs_0ff02e989ebfcde4006a4d342cbddc8199a202842893922128\",\"summary\":[{\"text\":\"**Exploring the sequence of pronic numbers**\\n\\nThe user is asking about the pattern in the sequence: 2, 6, 12, 20, 30. These numbers represent the first five pronic or oblong numbers, calculated with the formula n(n+1). For instance, 2 is from 1*2, 6 is from 2*3, and so on. The general formula reflects this, and I also recognize that the differences between terms form an even sequence, leading me to confirm it as a quadratic pattern.\",\"type\":\"summary_text\"},{\"text\":\"**Establishing the pronic numbers pattern**\\n\\nThe pattern in the sequence is pronic numbers, where the formula is a_n = n(n+1). I can express it differently as n^2 + n, starting from n = 1. The first term is 2, and if indexing begins at 0, it shifts slightly. However, most commonly we index from 1, so the general term remains n(n+1). The differences between terms increase by 2, confirming it's indeed the pronic numbers—also known as oblong numbers.\",\"type\":\"summary_text\"}],\"type\":\"reasoning\",\"content\":[]},{\"id\":\"msg_0ff02e989ebfcde4006a4d3433942481999a50df50f13e8985\",\"content\":[{\"annotations\":[],\"text\":\"The easiest way to see the pattern is to look at the successive differences:\\n\\n 6–2 = 4, \\n 12–6 = 6, \\n 20–12 = 8, \\n 30–20 = 10, \\n\\nso you’re adding 4, then 6, then 8, then 10, … i.e. successive even numbers. Equivalently each term is the product of two consecutive integers:\\n\\n 2 = 1·2 \\n 6 = 2·3 \\n 12 = 3·4 \\n 20 = 4·5 \\n 30 = 5·6 \\n\\nIf we call the first term “n = 1,” the nth term is\\n\\n aₙ = n·(n + 1) = n² + n.\\n\\nHence the general formula is \\n\\n aₙ = n(n+1).\",\"type\":\"output_text\",\"logprobs\":[]}],\"role\":\"assistant\",\"status\":\"completed\",\"type\":\"message\"},{\"role\":\"user\",\"content\":\"Using the pattern you discovered, what would be the 10th term? And can you find the sum of the first 10 terms?\"}],\"model\":\"o4-mini\",\"reasoning\":{\"effort\":\"high\",\"summary\":\"detailed\"}}", - "ignoreArrayOrder" : true, - "ignoreExtraElements" : false - } ] - }, - "response" : { - "status" : 200, - "bodyFileName" : "responses-137508546e6c.json", - "headers" : { - "x-request-id" : "b4e0d475-66fa-4d9f-aeda-82496edb2ac7", - "x-ratelimit-limit-tokens" : "150000000", - "openai-organization" : "braintrust-data", - "Server" : "cloudflare", - "CF-Ray" : "a1787dee3cda756b-SEA", - "X-Content-Type-Options" : "nosniff", - "x-ratelimit-reset-requests" : "2ms", - "x-ratelimit-remaining-tokens" : "149999517", - "x-ratelimit-remaining-requests" : "29999", - "Date" : "Tue, 07 Jul 2026 17:15:40 GMT", - "x-ratelimit-reset-tokens" : "0s", - "access-control-expose-headers" : [ "X-Request-ID", "CF-Ray", "CF-Ray" ], - "set-cookie" : "__cf_bm=CoghTuQo3AE4UIox1VL.t8reAf3IEeHzWk1j6EtPiwQ-1783444533.480722-1.0.1.1-ttbC2Jm7pqqMxGswIg_r4qv.75EybL319l3yDbDWe5hcwnQhue3ZFakRfNBPFAnz7Hzr6.mcbj8ncgqqGI73BHnyH3y_ZDDO8ngMKf3ETC12gygUCh.nL0TnRLOTub4.; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.openai.com; Expires=Tue, 07 Jul 2026 17:45:40 GMT", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "CF-Cache-Status" : "DYNAMIC", - "x-ratelimit-limit-requests" : "30000", - "openai-version" : "2020-10-01", - "openai-processing-ms" : "7146", - "alt-svc" : "h3=\":443\"; ma=86400", - "openai-project" : "proj_vsCSXafhhByzWOThMrJcZiw9", - "Content-Type" : "application/json" - } - }, - "uuid" : "bd843a3c-5719-321d-b2f7-3e2063611ca7", - "persistent" : true, - "insertionIndex" : 1 -} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/openai/mappings/responses-1967c8c76482.json b/test-harness/src/testFixtures/resources/cassettes/openai/mappings/responses-1967c8c76482.json index 743855f2..afd6d08b 100644 --- a/test-harness/src/testFixtures/resources/cassettes/openai/mappings/responses-1967c8c76482.json +++ b/test-harness/src/testFixtures/resources/cassettes/openai/mappings/responses-1967c8c76482.json @@ -19,18 +19,18 @@ "status" : 200, "bodyFileName" : "responses-1967c8c76482.txt", "headers" : { - "x-request-id" : "req_d184a4289ecd4b57b7046cbb3b18d606", + "x-request-id" : "req_7e041de13cae4d3a9b5c495a44cd3bd6", "openai-organization" : "braintrust-data", "Server" : "cloudflare", - "CF-Ray" : "a2eb7954095a1e0b-SEA", + "CF-Ray" : "a33dd29dbbd3fbea-SEA", "X-Content-Type-Options" : "nosniff", - "Date" : "Fri, 21 Aug 2026 17:49:22 GMT", + "Date" : "Mon, 31 Aug 2026 17:40:51 GMT", "access-control-expose-headers" : [ "X-Request-ID", "CF-Ray", "CF-Ray" ], - "set-cookie" : "__cf_bm=CvIt0i5vFgNjaxNzeUOwBOyP1JlK0EpMl2zGBOpSJI4-1787334561.9305537-1.0.1.1-RHAypL0fW_Kn7t3IyddwQNW8gJovnNW2K4O4Z0B4sy_Ys1I58dp5R4gPk.LBUFO5Fqg00nuInuUwGNGugK03mpTa1M_YeTkbG144XWgNPOaFn3RG..KNkWTO.UZOPq6x; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.openai.com; Expires=Fri, 21 Aug 2026 18:19:22 GMT", + "set-cookie" : "__cf_bm=e29idjq7pG4WsIc.AImnl2hd9hyw8rwME4cRJpqyn20-1788198051.4739542-1.0.1.1-0VRsTT1l.dqo30w3bsPj.sFDLdnQ6gdIhxAh66spBHYt4J1vE2ml2.YqXn5IKsHB8YPF818NiZRupoSY07Fj8PVe2RtNgPQgE_wP1SADRllEC6qkC8GMvZBXtYp8XTKO; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 31 Aug 2026 18:10:51 GMT", "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", "CF-Cache-Status" : "DYNAMIC", "openai-version" : "2020-10-01", - "openai-processing-ms" : "130", + "openai-processing-ms" : "348", "alt-svc" : "h3=\":443\"; ma=86400", "openai-project" : "proj_vsCSXafhhByzWOThMrJcZiw9", "Content-Type" : "text/event-stream; charset=utf-8" @@ -38,5 +38,5 @@ }, "uuid" : "1976c326-bdcd-31e2-950f-6eb1f62a39e8", "persistent" : true, - "insertionIndex" : 61 + "insertionIndex" : 37 } \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/openai/mappings/responses-2348ab6c9b2a.json b/test-harness/src/testFixtures/resources/cassettes/openai/mappings/responses-2348ab6c9b2a.json index f5aa6461..2d93c45c 100644 --- a/test-harness/src/testFixtures/resources/cassettes/openai/mappings/responses-2348ab6c9b2a.json +++ b/test-harness/src/testFixtures/resources/cassettes/openai/mappings/responses-2348ab6c9b2a.json @@ -19,24 +19,24 @@ "status" : 200, "bodyFileName" : "responses-2348ab6c9b2a.json", "headers" : { - "x-request-id" : "req_1620703f102c4aa38b3d98365a09355f", + "x-request-id" : "req_d6f5470a3a86477cb85e1e629fc02e77", "x-ratelimit-limit-tokens" : "30000000", "openai-organization" : "braintrust-data", "Server" : "cloudflare", - "CF-Ray" : "a2eb3d47ec8c57bc-SEA", + "CF-Ray" : "a33dd2dd4bd0a3b3-SEA", "X-Content-Type-Options" : "nosniff", "x-ratelimit-reset-requests" : "6ms", - "x-ratelimit-remaining-tokens" : "29998938", + "x-ratelimit-remaining-tokens" : "29998918", "x-ratelimit-remaining-requests" : "9999", - "Date" : "Fri, 21 Aug 2026 17:08:28 GMT", + "Date" : "Mon, 31 Aug 2026 17:41:11 GMT", "x-ratelimit-reset-tokens" : "2ms", "access-control-expose-headers" : [ "X-Request-ID", "CF-Ray", "CF-Ray" ], - "set-cookie" : "__cf_bm=2vmsJeWAJSr8AD7KaFCpNgG4_peHcGM8nqHZGTQb79U-1787332102.3905027-1.0.1.1-5H4umw73.SZszIcaxWBYMGHZ0zIdDMS_ToL8wl.REA8hlTg4czEEVliuAqLgBEm_SCzNTprC_zDpg6yC0DUSOhCORlMBgYw.SsRqWDUGlfeMmZeKZVcOVfbg1.appijX; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.openai.com; Expires=Fri, 21 Aug 2026 17:38:28 GMT", + "set-cookie" : "__cf_bm=OTIeYzgQTk16nI6eW893wHarI2jm5rMfwzmwLZ3Uiu4-1788198061.6501687-1.0.1.1-34r_jv6fGnj5.PoeLjsq3XPFqe2ygVLPBGFiKcWVI4uQw.rF.wm4B2CS2j7fNRbvZHQ0N8xXn_kZqEbOSnTdy1dYNUmXIVr2nBFviQO3pLBtyQ2CAymvjnu3QUCLNdTY; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 31 Aug 2026 18:11:11 GMT", "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", "CF-Cache-Status" : "DYNAMIC", "x-ratelimit-limit-requests" : "10000", "openai-version" : "2020-10-01", - "openai-processing-ms" : "6093", + "openai-processing-ms" : "9339", "alt-svc" : "h3=\":443\"; ma=86400", "openai-project" : "proj_vsCSXafhhByzWOThMrJcZiw9", "Content-Type" : "application/json" @@ -44,5 +44,5 @@ }, "uuid" : "91f1b96e-0ad5-3ea0-b353-0594e11384ca", "persistent" : true, - "insertionIndex" : 57 + "insertionIndex" : 33 } \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/openai/mappings/responses-31d9a6eee624.json b/test-harness/src/testFixtures/resources/cassettes/openai/mappings/responses-31d9a6eee624.json index 5718205d..145403e9 100644 --- a/test-harness/src/testFixtures/resources/cassettes/openai/mappings/responses-31d9a6eee624.json +++ b/test-harness/src/testFixtures/resources/cassettes/openai/mappings/responses-31d9a6eee624.json @@ -19,18 +19,18 @@ "status" : 200, "bodyFileName" : "responses-31d9a6eee624.txt", "headers" : { - "x-request-id" : "req_2f1291ac8203453fb7476805c8eb5c01", + "x-request-id" : "req_decfce8cbd6f4d4082c2bae655649935", "openai-organization" : "braintrust-data", "Server" : "cloudflare", - "CF-Ray" : "a2b476dad9132537-SEA", + "CF-Ray" : "a33dd3bb3efc3167-SEA", "X-Content-Type-Options" : "nosniff", - "Date" : "Sat, 15 Aug 2026 01:35:47 GMT", + "Date" : "Mon, 31 Aug 2026 17:41:42 GMT", "access-control-expose-headers" : [ "X-Request-ID", "CF-Ray", "CF-Ray" ], - "set-cookie" : "__cf_bm=q6tyEpyrXqDMtWwq2JvbVBjmkxbDf7l2v1_lo5R3X98-1786757743.8158913-1.0.1.1-WFRbjAqwnEOAf4BovtQaPxjU47q0SMcLUlfBkd949mJ48TGnhQ4BTdgbCvT.aHYoHKwo4FBtK.gTmhGWs3Mtaca2Iq2TajrUg.ffrJwJR9cPWwHXRpjj9IVj1f7eEZIA; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.openai.com; Expires=Sat, 15 Aug 2026 02:05:47 GMT", + "set-cookie" : "__cf_bm=VCWCC7NLTn67CJtRGxKTbG8DUlEWigQSAvb29xCTnqE-1788198097.162654-1.0.1.1-fiaU48sRavwASpCc2j3FzlbccpHbbUUOfs1Ek6xpsM8JbzXcciwm02e1YCYEVZVCCVa75C5TeTqdI99F2EPdyulq0j2QR1wROHlbY53ukBI15H09BLf6oCHp589VWXGq; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 31 Aug 2026 18:11:42 GMT", "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", "CF-Cache-Status" : "DYNAMIC", "openai-version" : "2020-10-01", - "openai-processing-ms" : "198", + "openai-processing-ms" : "5079", "alt-svc" : "h3=\":443\"; ma=86400", "openai-project" : "proj_vsCSXafhhByzWOThMrJcZiw9", "Content-Type" : "text/event-stream; charset=utf-8" @@ -38,5 +38,5 @@ }, "uuid" : "4ecd239c-fa2c-3a94-9038-bb602a460baa", "persistent" : true, - "insertionIndex" : 39 + "insertionIndex" : 57 } \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/openai/mappings/responses-36764bc7833a.json b/test-harness/src/testFixtures/resources/cassettes/openai/mappings/responses-36764bc7833a.json index eb518399..4b6358b4 100644 --- a/test-harness/src/testFixtures/resources/cassettes/openai/mappings/responses-36764bc7833a.json +++ b/test-harness/src/testFixtures/resources/cassettes/openai/mappings/responses-36764bc7833a.json @@ -19,24 +19,24 @@ "status" : 200, "bodyFileName" : "responses-36764bc7833a.json", "headers" : { - "x-request-id" : "f63b59b9-6d88-4387-90a0-67283d3bc3fe", + "x-request-id" : "req_bf504dd9af8245e692971f1e9b642870", "x-ratelimit-limit-tokens" : "150000000", "openai-organization" : "braintrust-data", "Server" : "cloudflare", - "CF-Ray" : "a178814f2ace252d-SEA", + "CF-Ray" : "a33dd6f66e49762a-SEA", "X-Content-Type-Options" : "nosniff", "x-ratelimit-reset-requests" : "2ms", "x-ratelimit-remaining-tokens" : "149999775", "x-ratelimit-remaining-requests" : "29999", - "Date" : "Tue, 07 Jul 2026 17:17:53 GMT", + "Date" : "Mon, 31 Aug 2026 17:43:51 GMT", "x-ratelimit-reset-tokens" : "0s", "access-control-expose-headers" : [ "X-Request-ID", "CF-Ray", "CF-Ray" ], - "set-cookie" : "__cf_bm=RR6g2nzotTI..beABICygHNd_UWuQFL2tg.2FqKVHGI-1783444671.8637135-1.0.1.1-ZFSLukLWubs3XK9tCTkJxdex6xMLXqI1d9FSypZgImZbaCKwGAEfPbkzF2p1YDPmCUZzUUdsm0WpRJtMC.PBetZFLyygvhI0bJXnDtY1lOoTST2tf5jXkDvO5BXKufZs; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.openai.com; Expires=Tue, 07 Jul 2026 17:47:53 GMT", + "set-cookie" : "__cf_bm=lDhgorQrJY9ouRnSPUuBU6wjtAqZJow1JDHaEod_OjA-1788198229.5072768-1.0.1.1-AUGrjbYIWllvtng9jUt4Dn5Yg9_6LKc94o_ZRpi8Nksad4ogV06HJLMLCJINamVtuXY2XJCRjCHdSZbgC7134jTVW3w.eDrjf.GQaReliT.vT_hdeSmSopx699uxPVYB; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 31 Aug 2026 18:13:51 GMT", "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", "CF-Cache-Status" : "DYNAMIC", "x-ratelimit-limit-requests" : "30000", "openai-version" : "2020-10-01", - "openai-processing-ms" : "1453", + "openai-processing-ms" : "1810", "alt-svc" : "h3=\":443\"; ma=86400", "openai-project" : "proj_vsCSXafhhByzWOThMrJcZiw9", "Content-Type" : "application/json" @@ -44,5 +44,5 @@ }, "uuid" : "df78db27-1293-3b56-be87-0cac4675363d", "persistent" : true, - "insertionIndex" : 20 + "insertionIndex" : 52 } \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/openai/mappings/responses-43e296c0b939.json b/test-harness/src/testFixtures/resources/cassettes/openai/mappings/responses-43e296c0b939.json deleted file mode 100644 index a8bedc7f..00000000 --- a/test-harness/src/testFixtures/resources/cassettes/openai/mappings/responses-43e296c0b939.json +++ /dev/null @@ -1,48 +0,0 @@ -{ - "id" : "d7702574-3efa-3b62-a743-1faf32c6f340", - "name" : "responses", - "request" : { - "url" : "/responses", - "method" : "POST", - "headers" : { - "Content-Type" : { - "equalTo" : "application/json" - } - }, - "bodyPatterns" : [ { - "equalToJson" : "{\"input\":[{\"role\":\"user\",\"content\":\"Look at this sequence: 2, 6, 12, 20, 30. What is the pattern and what would be the formula for the nth term?\\n\"},{\"id\":\"rs_014bae2a3cae84fb006a888587770487d089dae96990e2685f\",\"summary\":[{\"text\":\"**Identifying sequence patterns**\\n\\nI’m looking at the sequence: 2, 6, 12, 20, 30, and trying to identify a pattern. The differences between terms are increasing: 4, 6, 8, 10, which suggests that the n-th term can be expressed as n(n+1). Testing this works perfectly for n=1 to n=5. So, the pattern consists of pronic numbers (or oblong numbers), and I could also express it as a_n = n^2 + n. This reflects a triangular number pattern multiplied by 2.\",\"type\":\"summary_text\"},{\"text\":\"**Explaining the sequence pattern**\\n\\nI’m reconsidering the sequence and thinking about indexing from 1 instead. If I do that, the formula would be a_n = n(n+1), revealing that this sequence represents pronic numbers, which are products of consecutive integers. The differences between terms increase by 2, leading to each term being 2 plus the sum of successive even numbers. \\n\\nThe final answer here is that the pattern illustrates pronic numbers, represented by the formula a_n = n(n+1).\",\"type\":\"summary_text\"}],\"type\":\"reasoning\",\"encrypted_content\":\"gAAAAABqiIWP_je4YqhxM-Co1J2sq_Cb9Zhpv6INr_Q1SPsOwKP9H7s2q72Yt1u23mCI3F7GOpAh2PT79JFzhfEFIav1dKNWs3-dJoNmZBbHL6JQYKLIl9dPkwKWwod0eOk6cLEHxDIT-lCgTj_ILIzJNj8vHJiR7v-vwuTYifn75OPB1AuMMvNSBGxfhY88_XDaPBo_H0t8z3gew3WHJGvOqPxgew9zIks6yeomlJ6Gb73Fvo_-uxTItdaXW18lTWVqSlzwZ9MZEbaHGvXHdU78LSkwX77MJgjeoGOPQynhiLSyDff0dPfMv4p7DRCfUfu3fbm8FfqgBz5RiSwPGVb5kx1thmNt6NG-9s-DCpDMySHtJ0sZVKcK1PgDQf8Pp-4_ap_xxVY5dYN4IKGqZguMox-D2jEQvZhMP8fcUXJ7Kl_y2Eq0s73cVLEyOHM1m6fiMPVkHs5gNScMkBbYGPIXKeAP9SrqiszzVQfat6zG5S2Qs-en0kL11xW1DIiEt_FL_7a9YE0IpawfSNjj8pRgc3DKelx4EwPeOkZakACY8WeAZmTxfGgPzs1ni8Jaczc5vyyFff06n3vLPjF6APdEZsaxcw-1APn2e-SkHJE4R2B186Mh-nWCyBQ5_81wpdWqZGi_UVddKuyTrPpIs0RJC0eiEKbRzOZsTvdhQ4Co3zJuIqpcZA9ZKbSIPtnw55qQCJn2SUdh19blJwP2QAlmAXFhDQRF8h0vJvqdJws0BSenkRxVPZXJC_xYWD95Lo9qvwZb5vs7TaXMDrvgaVpw1jqD0VA0TakTzYWG8gy8bbIR_5HxkSqsRL7jByDeNPSa1gN2PqUYYCmlP_jQzbbs_307JsBO1KQjs4USw6lK1yzws-aUcJ72aTJQ8PJZcpv41U1yKHMMdFSLiYK_EeaLVAxTGIy2gxBj5ax-S0I3pCJZ6KSqhmKsAaoThHpw1YOYbnH056dLwp41ktLS1B2KVBhteJJAaEsvwLD7edJSXeSoHM8Wc-GIN_sCrKj3_rDcsHMhc30-8d6UAY0JFr_RwsQ_KUx2_YPqFLPQBR6p5zkpdncJJYbgKUhd5kaVL-FdFN49ycntgXAzt3iUil50r2iRxCJzbl9jBU1cRH8hN2X855ZxcEC2d5B-fLnQmjrEK0yXJ0dce7yTZsw2dxKJ3JFonZX1rDrGW6iGA6tRhZy2RnW6qlFIqKuXdLItpgRp06Nxarg7Cw99QEvlQojxz-fOXtt5BsUnyXzenhfjh0G7i-56cm31BhpQGvseekgdn6BkteDbGG1zZ2mqtfnze0Bx1c1BaDDkcLNlbuNXtjHNSU9wQX0B6OWZOgqjpCCxHTr_pLw-ZJmEJZOkhyibhdjexDr4ytlo8JIPTNbRl2Hu1ICrkE7oiPyUajDACP6jn3UyE75y1NeDqh1IT04CLNxiMtNmwQhqaAkK9d8SdeCGYX6hYSp0KQm1i_7mifXwwA0zVF98UTLE7FGMHDw_x5c_IiVjMQ0Ocw4QDIkViw44d2m6iqQqMFqNSb5vET-wMSsYwJ2OPEzxhQn2ZtxQkniW7Vb85ZMoeSHICApitrswUSjP9RRb7X6UR9PMSHTkH0zpdOJqq48BLNe0Hujh_jtXMCm1QhVuhTYESs1b13ktJAnFmdoPArXwLYJ8znq36CMdY0fzWAUHiOEarZ_6ZPFT6vlwGaYBM-xEM1uWiGYOtSkFv91FOcr2U6AxC_B5QcCfZCL2DUcprsUyBVb6ucm1QghaYgAfhsUJx6yBodOxVnBd9ghJdAxgDEFA0QQbHx415wuUSVChG15IP-OTxzk5Se2M5F6AR-ccwnD1SlprHsJqsl0cZuQfM9y4xrpFdMsICI9xJzJolluqm6ULdba8MXugLZheh2GxE9nqT3JutRWghupz1R1VqIaHqI9B04rZ-OstZwNmMXSDkgfutUgp-7im6PV_wVHAhEzfom7J6okzEDWgo0HMeEDGfncr5JB_4swAEd7FX-Dl77DYToh3ter3PVLsA2aFW48KdJ1vNOdqSb9h0X6NEOgyi-aNOytMMb1Yra58YqMSsbTgbAblgD6ELvNMTn1MKVhnlpwx7llI8bIyk7ZXxbeh7rjQilzoJ1SfSKwhLZZiGNK3XZyB2qbH6NuOop23Cc7d81PgwLkXCYlP0gPGzKwurtPPgqSkJYV-4C38nkCFiiYr09WgfmCAu8mCfuqTSZ5L9ziTBOY7BsojPX_lvGhHOQOIXYmqlvA9hfJzzSLZP2HwM1ZTSsWbkl44ixlMhvDsNrzY_KD85fttdeEK_CbXdpo2Dl36GCoQU6Kp-IDVp12mbYqO0OSNklv0Ae01cUvkG4ckRZwEuiGUypvc2jaqE_HBcC5QpfTbLvvqIKlkvfYRCVqLpMb8NPoTj9i-zIBiUuBk833XV0bIkZ6REryBwL3-NWX-v3tXoUOKpOzXaZStfKJVwv_SIXf4XBQJb8kreRR38uQbCZamMdtWWbTOJwQhHhKsqZmknxbsrO8WwO6KTdFZbOtBh3iM9KCK8bg72fH3zpUdGE3hJ5pUVzxfgD3CkGKlRBNmYNpH9gN2ppkd_yl1ZbWj4iIIQpt2XtGhR0P1GSOJTVu7Aul91UFqoPGTuf_uRKkgsyK7vrvwQUZZahKjzHZ6ojOw--h1SEeGAefQBUhsND_olTeWrjdKl7tfPH-uE9WG2ZvFoKNXYfUoNL_pI4S0gXBH_liPCUNML2LV9hMeHZnkMO6XR4SN7bXIcvv8vcHjSYU1IK21dwfLmhjI3Ac8Y-n6kA6KtWm4G27hJM4LvqYHZVBB7Thf0f8OCKt_lT3GwB38mmZpAOMxegcFSJcHNHQme4XI6z_eH0wpPNyE-KILuVDIvBiIDJZ9ZRs2Afy9aveF7FsKuifcsztMGWBvtaeklPSc6j7VueuQXVDML8V3ZkS6zvHqvqsgR5T_K_LeNsySeH1z7SnyrvvqhQ4ejEvNW-awsbjYwE5yLSBhXmnryKTUNduIY2VctrZUI1E6mnlUVhuJf9LeebwI2_aYVRmWKq4BZKNuu5y7PWMUElJr_Vl2jRQJ1pB3fqG1C-uR_JNE-QvAYCFF22zkwN3cjGdYQ-II8S_v2jSLlkCoex7wU50fV_0glidNxASWurjrw2HK4_sdhDpIoI1b0I9C8Su3NY-cqlHGoApeKWOPq39rASi5T2Wp982tlVu9BT7aBz8hLC3gghVliPaUZI3fXQnpui_faCuHCb4oUMVCsFWLyM6-Tls9AumwBIEvIRWXeBTCgyn6zTAbjnUDs6MiKX4I9WSTak5u8Cc4p8kT8hGw0mH1LOfGmHflRecbopIi28hUzr0mhYLX2GzSUSS_JrvsiBWT_rv-ApFbTEQFIwaD-jpPuL7SQGscxU9GrZejSHU8x41UXsLrdyXg_STevIydG-RFdlzC_cY7Ga1G3WtjIgb3T3hvWkyE9iQE1Zgc1J-NKeaCkwCro0b2baiGQFJ1sVmys8ZGcNYAualOZEjUPSvi-qwXfUjGhixm4BRDZdL98t6DRlREpPp-LbsCvcQqb9mCnMEA4xjDFbPoDbFa1utnTbTV9EZlWZqFPJdmcJTE4_DuwpfK_DC6OgJWbEmTV-vmKdlSJ50Ml93B86BW_HiXvwG8DuQfDOFIAiU8VDJ70re-BJPMvJMlCQLiK9O3_Mk9iNNDOGSQ0NvgkxfBmwW42S82uRQIRae9sCX9KFuSG8y5MonUhtXTCQZ2onxbZlzAtAXKfzu6L_YOgR97lVW6EebU0RVP1pff892nZOpbgJ3wWvWdLBUND3mnis7vFVIdilR14CazdpZssGQVWW3CxrGwP8R4k3rWLgAXvPHHHYd3sSNPP2wV-4tmaOxn9EQ7HIpLStoCJjkbMlQHSjN1maDN1NwPJU-ZN4pfJUqYvPaahQd1tOv32N9Xb6EJS4QzxEGtuYrvG43ZtArLgQmytvecT4R05-i5_a3BXDQh6v65DQb9kCnCBsPLKmUa8Xs9bmAXsXv5ck7BwDnYCSpAeJsxUlOyK1nhgZdJZJiqSsvSnjgqbWXwUKpiFhUm41ejqMI0XvBRexFyywwP5YHaGtRzgkiMi5zD-ikTDb0siXEW9kjU86-JLcw1E3yx-msFBoMcYHJZI6CEE2CB8LNaaZRkx7potQ5Pm-4iPtNSljxBhjJFmbPKq59fCNs1_FlA94Y1d_73gL9FFN-DD-yAUqiRyiQLnbw_KaIgV0dtDAWMiqOSkJVgbIbb2T9ZvOn7s-7o8QA_YzLWAH0gm__IZXLlBEcx2hYsAPgArUmb-7Q_Hwl7cG9Srz5aAdsGVOimH04BA_1nRa8wmBC_vxK2OH1hHmiMNdwq9PJwrvBPO8gNL7R5LuO69kWVW80o9e56hDmei1pF6m1TncxjDlAa88wXbN78PknYY1Dxui9HRaKuBA-UTkgyVXd71B3jHy1Md6DHHYZh7mn8V1XNJ09AvjRPyct9YS28G_67L8jiFJF-ArKA4bNHhM1jWTfr5ouuS8oSVHa1Da0rSnI1NQNbS7heH8c9J2FvmwIaJpcV8ew8R5A7KSeIfM1QTRy2avko9abhTc2Usst2jkaFeDWu6JUl1Y3CvJsk1XkcnhL5Xjsi6rXOp0weJt0udtKEJ9CQOn0uRHgzrjthcSFmNixhfuyn_tErb6QDX9gYnt5I0rXvuHTiIRuLPLlFQfrRi_aVOfFAojWQ-o9fVKTDRckylSbuXdca9UGePq0j\",\"content\":[]},{\"id\":\"msg_014bae2a3cae84fb006a88858f5fec87d0b297014b2cba52ff\",\"content\":[{\"annotations\":[],\"text\":\"Each term is the product of two consecutive integers:\\n\\n2 = 1·2 \\n6 = 2·3 \\n12 = 3·4 \\n20 = 4·5 \\n30 = 5·6 \\n\\nSo the nth term (with n starting at 1) is\\n\\n aₙ = n(n + 1)\\n\\nEquivalently, aₙ = n² + n.\",\"type\":\"output_text\",\"logprobs\":[]}],\"role\":\"assistant\",\"status\":\"completed\",\"type\":\"message\"},{\"role\":\"user\",\"content\":\"Using the pattern you discovered, what would be the 10th term? And can you find the sum of the first 10 terms?\"}],\"model\":\"o4-mini\",\"reasoning\":{\"effort\":\"high\",\"summary\":\"detailed\"}}", - "ignoreArrayOrder" : true, - "ignoreExtraElements" : false - } ] - }, - "response" : { - "status" : 200, - "bodyFileName" : "responses-43e296c0b939.json", - "headers" : { - "x-request-id" : "req_b6547cd685774c6ead2649dfd5bca99b", - "x-ratelimit-limit-tokens" : "150000000", - "openai-organization" : "braintrust-data", - "Server" : "cloudflare", - "CF-Ray" : "a2eb3a64697231b0-SEA", - "X-Content-Type-Options" : "nosniff", - "x-ratelimit-reset-requests" : "2ms", - "x-ratelimit-remaining-tokens" : "149999630", - "x-ratelimit-remaining-requests" : "29999", - "Date" : "Fri, 21 Aug 2026 17:06:32 GMT", - "x-ratelimit-reset-tokens" : "0s", - "access-control-expose-headers" : [ "X-Request-ID", "CF-Ray", "CF-Ray" ], - "set-cookie" : "__cf_bm=.jbOB5k1A6LrastfbWipm4Cxf3qit84l0xxnDU.smjs-1787331984.0691485-1.0.1.1-u5IIp4G5S_BJxOpEmhOiXLurSTGaRwqSjYvkQXmI86p.6nM7DdpQ2PUIxSKWqHE7s9Zwq8Hf63hEP2O3oYQSeMJDrEMFezP3FhIn.md7Fz1FGTpupLWhkPjIUQ5eOxvY; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.openai.com; Expires=Fri, 21 Aug 2026 17:36:32 GMT", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "CF-Cache-Status" : "DYNAMIC", - "x-ratelimit-limit-requests" : "30000", - "openai-version" : "2020-10-01", - "openai-processing-ms" : "8233", - "alt-svc" : "h3=\":443\"; ma=86400", - "openai-project" : "proj_vsCSXafhhByzWOThMrJcZiw9", - "Content-Type" : "application/json" - } - }, - "uuid" : "d7702574-3efa-3b62-a743-1faf32c6f340", - "persistent" : true, - "insertionIndex" : 41 -} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/openai/mappings/responses-52d34b326f90.json b/test-harness/src/testFixtures/resources/cassettes/openai/mappings/responses-52d34b326f90.json deleted file mode 100644 index 96e8e103..00000000 --- a/test-harness/src/testFixtures/resources/cassettes/openai/mappings/responses-52d34b326f90.json +++ /dev/null @@ -1,48 +0,0 @@ -{ - "id" : "f11d491d-e30e-3b9c-99a0-7689398730fc", - "name" : "responses", - "request" : { - "url" : "/responses", - "method" : "POST", - "headers" : { - "Content-Type" : { - "equalTo" : "application/json" - } - }, - "bodyPatterns" : [ { - "equalToJson" : "{\n \"model\" : \"o4-mini\",\n \"input\" : [ {\n \"type\" : \"message\",\n \"role\" : \"user\",\n \"content\" : [ {\n \"type\" : \"input_text\",\n \"text\" : \"Look at this sequence: 2, 6, 12, 20, 30. What is the pattern and what would be the formula for the nth term?\\n\"\n } ]\n }, {\n \"type\" : \"reasoning\",\n \"encrypted_content\" : \"gAAAAABqiIWOHz5M8h5bslZ6IoOp-cVpniJSp-o-Yy0QqwPVslWuroyJpr023KlTiUtvClh2hx4jjhIN-BonTL3w1DkConhfVQEWG1opx8cvsjcDaYYV_B6dsBNpqblR9DMMLgBHNIR18gbafISJWtlJGjECkbVq8p5Q0gWIRMfvZoDIGxDVxxqAB9wtRq-2knAcW7Q0tpoYVA485y83Msfm44WccYB2Y-Oo9LTtj3rn16wKwd6sTfhna5qVsyFNIYisr_VTEl6qsgad5c0HH9LOaxkAyVkRba4YpPi2N0UApv9dNY2t6lQ_q9p6_xeqjOhL8s3Mp11rGU27OWj3Nz6lDqml0nwaNejGYM18PI9bvuFELu90PRV0i5tZA4rcrPygx1n-osa1JWNCcqhVL-laF7qSBsY88JZqfkhqUApx4yvvekyXB-NXzCdR7JnEANPS7GW6z3PUX1rkiiRZ9GL47y7sdD-_AneBy-gZl5ARkrv4coJMpxUodYczfeCuvUbVJVmhWJK2FF_b9NsF3EZzU6CGcYx5O4O6NaWSv_wyycl9LDImHeUThlNbmAYi71awm8pCcjXvI8-BU8ueX0K3FAertEUEEJHzS06xECKgjGNgLros3HxNgPVZJzsHzCnct5TY6rjTMH59lE61siIoGZYSooP8wetZ5l3lijv6UJL5rgOkdCIIz8bqulOoPeWZgrXsNO_JIoV5Il5-caHTmyLj5pQ8bqnKiyq7IHnAWxlWAcfTd9T3z3FzbizFHdDT1XRXCyKOolfZCJgcpPa7fmS7HrDDTPqY2DLsywCXIVLzJRP-SN4bxLHUNdk2fjPcJN_t1kCKNH83HKOYQPbshPhiCEkuAdgPUWTVt3DocNujmOkKcIAmbLROwFSSg-j6oY28e6jMIWy-6KZgFf28l2iyupAhucKuW7VWTvmeWR9vZ1Nr8tCqG6En9VPaqDOCzSOeUPV1gVTg_HCA-TPLM0COTjjyFZi354u-CSAyaeSYyWQ21SMX8WHhhTGEMMAKUH5YPgaXXbhCQMULe5e00Dp9hVjszdmyMWwCGhYlCBUGDX311ygKcDMJA4Fxc89VceukP9Q4O6OFTBcc3mCSpZUBXdJ12XntKJwlgpfJ75_HiX7JyJi0QI799e9n8vxNcE5xr09ulNkb_Yv_nLrPOrJ3_D7dpCGjMSEjpxRpdXCZ5a78NMzzhx9Dwf4ZCyrYVaKb_SXjfndVoCoraRYKvrGNsidXYLrVGrWCA339upM-z34B5-7KitNgEPoKCnRHpjoyElze0N6IXgcI6jHK330NuK1jdfWeZboh0BDt3sP5yuQ8NIO29QrnQQT32fISeNBGNnyvcosADvRlTDEAymRshbx8myu0CgMcIXeLluEvH2jR6g7qLfQ-mctT8t0J6QV0WKCw6NBssAdGiMexvck-C-nipOdyz2coXPDoEcSKK6rf5GD9HS3XIv9I4FOdCZ2D0Yf3xe8Nx1qSdq3Mok3_X-mz3W8SDns3yKtZt9jiMG6qGJTojhhxZQzGR71gVej1V7DJZfDsS4FaPE3V6wANtT6nCMMQaZ91dey3G0drroffM7-4h58m3Pd-eYC_duqz0i1bc3DOBKAmJSWfMoSC0V4cKhVAFVOwmBwABu-QF-f7T5UXAVSbBSzpFXiZdq_7ZjPwW4o3raWxwQp2tJqLkZMDxv0m9epLByCGil2pIxydutNMjciWnQQAul6UlmPrQevo24_WjR55yLF2UTcvxcq2koF64syKGUVvm6daxg6Tyu_jwWTPC3bluKL7_iAFiYRN7bBXudRBo05vfg5LHLhgBNH-xJrnXX6h0QQyozNj-axMljlnVGz8s5FO2x1aFf9tVk_xDSa2_iEGo2pcoj_c_w_n3QZzhMU2vHSGfweLfBXbwoweXbdN6x5zAoatCoV6enaMsauD-4JsHdEORdF4bVx3cijrpyFNxuwhq8rundXgdCjuku2HMUS5d8dprPtkR_5qEwLnZfLd1a6taMOpQSUQeJAO9hycEP5IXsVaY1yrCsRmmeC1s2Uu5pTZANsYWvk-AsBAXBiRrnZbx1909pg0LYMihLphPsunmENm2KSpcVu1P35EW-_eV_sO3nUIiyrdbirk3Boc6Zeqbz5EmjRnZa7rcZJhnrRsCvEzRHiCgYUmQ_YFwXavpccpfZvBNPERa_yIRPAohnsxLWrN_bcAfde3nnWWnYf4g6r3bovU7VHit6PGOybQQaaQw71Rlzsdc_w4Ly5WtIzVx8GUqgXRxCgovt5o-ofncb2xo-na37NmO0uKJ0WrbBavpDTNsMrnoxGAUm4HDV49MVy6QR6Xy3jbuoOb29AE16v1V949O6veUDQODXVqmv3uA4H3VnlgBVeolkmM6zYFeyXbnx7HMwAUi0jnOELgdluE9dEU8ETk6o9T127A2XUVqTH20RDgLmO4cXAsS2dI2z8v-t6luzjdwMDra1KP6J3G6qaUK-c_OspKGn79N0_vpBmdU5OospataO_sxOqxCpwJdRaKFJ5y4op_PeFhPsXlOG3LIq1Lpm_B5Rkd2glEkCe2wJbAQPq9RgkUyddd5b1oLg5wFwnxcxr8hCplsbkkm2kDjDmscoo8i-1Im6EXxXnkq0dIQ_5UdGerHVfxYCoZcbAFQT1maw3-bVaMyi9HuKD1sMOXOxMclgm_1vEQMt_xp0iJapp44MTZOI8hd1KZVwhEx---qJP48BqmFe_mGN1uEv7uzVsOYdiyFGCmudEGDHQ2xBcsEuhLZn3w2yh6keCGVBzl9F0T7329oIZtxPvziEILeSXjt-S4Pld5DDYMjCnOue6wK9IA4eQNxKdXqqnwh608aJUDnFRIefV-mN29Uth9AwOVmEQ5QC59_qZF1Q7w7t9qgYH-9gwt41j2kijxWRVBvDxFaqU6rijChAcwJOIZT6N8BOE0qNQp9qzilVUlU9Eh7QV0tdNB4If6NKKRprGs87b_DQlOSlusTsgDIdPMueyApg_Cr9mlcBfEhI0wWlRZYTrnG44bHZb4I1Tsw4g-lw8vRpAfEWjqzR6Gb3Ikdj03tD5VQfFwemdRzQ81XTOnP2vlSsTY-yiIlDF6eWBw7-mOZNr_eh9LQNEJKCgOiessNqqrlWJ3snXqk3vN1BBDp_rmWt63Qb271JPI9xTwq2GrfA4xf0cN09qhKCvK7zBNUlVYP7nGDSJDg22gdyspzMnTMXGA_1X_UneGnQGgfjM86YfvMqePAevRoSdEqG9MKgSJIEXNGRF8KxCLct0KauQ1XN0Tf4oqpFXIhCWELkKZIB6jPDAX7uGRbbLkvL5t2v42mgpgpU0DeUs32MNynsTB_XeOb1fr_KULKCiJ4ArezWsVB756ITArMbBCn-7oOMqAdKl-SfCTqCLKaWzxuOyGmTmrfRmMmOsDaVgpViz5ZAnvY1BzK-iEnCCrS8gVTzyWT9OrwDGHH_Dqwf2rGuNct1rDBJTQlTcYV6e5vUNBtYLcuPEUX1dK_iG8i7coFfxlgi1wVEdFczmThdof1KKnFeF0OZz5tjlmbukLHAmwpd_mLXlHAm4m0QXdUmToT7KrYAJ8ty3fVsr1oyd20Eeh7NWaGUNQt9-yI9l3A7MVwZ9w5L3a10qRqAdnsjOg-P0OGOOwm96Si4KDa0T3B8jWha99m6rU1hBVMD5ivi9HEYLujAdZpFsf0BqStzf2A2u0TdQVP4sNQSaZF7XVMqe1omzAxLYm2LVHbrM96PzD5i4T4P-t8i7OtSKwzH7vJ0xCG9ubtdcn_UrzYG0gE5GOl918f-ZDwbx2tL0pfkFCRQDzXN94zh1PgoIBsNBxLaFINuHL62UokLmyOW9v5yNbN-CeTC3S2MCgboEiLcOgG-gTwjJu9YFY_Ri_vPiJhEo6Nr3HWtD_PCW2UrRyN58Nh0IQZQPYRk_FFpoMzU7V0jPSUKwlb1B3LPjMHbMEYNQDq0wfRC4DCYM7ymyXD4wNkgfebqt_XmPMnfUIFCvWpFcHJDcxogAqHHSRnDOOhsZ85rDkgoY5KS1y-tYPjokjxZ2cj-BE-f7M-1BSDTpPejCUf1P2U7VPDHyX6o7w-fAyz0hf-LW9O1bnE-FmooB7Uvjwvobin3XQHNG5u9bMpv7lFuPp76KeABJACv3BCBNzxX3EjNiFCI9H3kb0oWrJ0stiPai1tey4qm3iOIE6SqZmgzXV-qrvhUdyxjvopZr2M0N4agZExH7eQU5J2KYIDHqel8dn9Gcd3pDzkCNf--hR7To2jgAd5eJg-WPGj1G13noH1SjMEnsSUnY-ij5IkKXEE4Z0UECiCk524twhc4GUAbOTO0-w2MwRPQxY0sKdLvOonwIolHqOUZech1idkEWSW-11RuG80WaZ6iM92V0e9GyoblW9BjToPeK412o3UdK4ZzuzNMYAlnPnTFiRdhgnZXlLD0XzdNA5RA3NThOU-w3BCCQOzgDzzC-95_KqA7oGajbK9P7jpmeYNvJ73eG8GH0zcE2B9YUdXnb7HG61uMPV2wO0YcTVpGG1Uze8S7L1PPR_kTqgnyC1f2odlyi_xcByxB98eZEHHA0-fJMZ0DaFNt58wpfdoJEVYb3biOV1t1VD9_n7cWQM8kIXIWFEkFmCsEglJX9vpKbkdlYJ7KUv2EIs4cUCaEUUF-UC1YEyacc7goiDtcSKXCnsR97vswEROuACLmG6g_pG-7CEYyfo6T0oeTxuWa9qwwKECYppXJAagHgViYe_ONVhjCsfSgkMbu6Lv2dQgSWIXFwRZds1yc16r60NBC866HsIiEOtUk5l4z6FDbBWaEsFaFN7R7f3sw3OniMDFcldE85iYg7ZMAhnyRrxSF9yohy4H1yEug3wy5qqesLAnxaHCah8WA2yUY6CUQSOam4K7ohXsrhqgus=\",\n \"summary\" : [ {\n \"type\" : \"summary_text\",\n \"text\" : \"**Identifying a pattern**\\n\\nThe user wants to find the pattern in the sequence: 2, 6, 12, 20, 30. I notice that the numbers can be expressed as products: 2 = 1*2, 6 = 2*3, 12 = 3*4, and so on, leading to the formula for the nth term being n(n+1). This yields terms like 42 for n=6. These numbers are known as pronic, oblong, or rectangular numbers, and can also be derived as a_n = n^2 + n, depending on how the indexing starts.**Clarifying the formula for pronic numbers**\\n\\nIf we start indexing at 0, the formula a_n = n(n+1) gives a_1 = 2. I initially thought of triangular numbers, but these aren't quite right. They're actually double triangular numbers because a_n = 2*T_n. Ultimately, the simplest expression is a_n = n(n+1) or n^2 + n. The sequence shows an increasing difference of 2, confirming it's a second-order polynomial. The main takeaway is that these are pronic numbers, with the formula being a_n = n(n+1) when starting at 1.**Explaining indexing for pronic numbers**\\n\\nIf we start from n=0, the formula a_n = n(n+1) gives a_0 = 0, but the sequence begins at 2, which suggests starting from n=1. So, the pattern is that of pronic (or oblong) numbers, with the nth term expressed as a_n = n(n+1) for n starting at 1. If I were to index from 0, the formula would be a_{n}= (n+1)(n+2). Since the user specifically asked for the pattern and formula, this covers the complete answer.\"\n } ]\n }, {\n \"type\" : \"message\",\n \"role\" : \"assistant\",\n \"content\" : [ {\n \"type\" : \"output_text\",\n \"text\" : \"The terms are the “pronic” (or oblong) numbers—each one is the product of two consecutive integers:\\n\\n1·2 = 2 \\n2·3 = 6 \\n3·4 = 12 \\n4·5 = 20 \\n5·6 = 30 \\n\\nIf you call the first term a₁, the second a₂, etc., then\\n\\n aₙ = n·(n + 1) \\n\\nEquivalently,\\n\\n aₙ = n² + n.\"\n } ]\n }, {\n \"type\" : \"message\",\n \"role\" : \"user\",\n \"content\" : [ {\n \"type\" : \"input_text\",\n \"text\" : \"Using the pattern you discovered, what would be the 10th term? And can you find the sum of the first 10 terms?\"\n } ]\n } ],\n \"stream\" : false,\n \"store\" : false,\n \"include\" : [ \"reasoning.encrypted_content\" ],\n \"reasoning\" : {\n \"effort\" : \"high\",\n \"summary\" : \"detailed\"\n }\n}", - "ignoreArrayOrder" : true, - "ignoreExtraElements" : false - } ] - }, - "response" : { - "status" : 200, - "bodyFileName" : "responses-52d34b326f90.json", - "headers" : { - "x-request-id" : "req_22d03547aca54af09ea9f1e73156bcdf", - "x-ratelimit-limit-tokens" : "150000000", - "openai-organization" : "braintrust-data", - "Server" : "cloudflare", - "CF-Ray" : "a2eb3a5f0afc761e-SEA", - "X-Content-Type-Options" : "nosniff", - "x-ratelimit-reset-requests" : "2ms", - "x-ratelimit-remaining-tokens" : "149999607", - "x-ratelimit-remaining-requests" : "29999", - "Date" : "Fri, 21 Aug 2026 17:06:29 GMT", - "x-ratelimit-reset-tokens" : "0s", - "access-control-expose-headers" : [ "X-Request-ID", "CF-Ray", "CF-Ray" ], - "set-cookie" : "__cf_bm=gs065sHKQqIS2tc33H.vPP9k3bcX6M2Xre0_HHooHEo-1787331983.2069604-1.0.1.1-nlgybKK6JYBLdVsFGckmVZkRhQ9IpYtm7tVBpwjY1hauMkc3FxUHggyum1LNVYwYMOATvNQyemEXcclyNzf8WjaP.JAKHI5PEbp_1DOib.t.CdKYj8uNt_bN8I_CnGtL; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.openai.com; Expires=Fri, 21 Aug 2026 17:36:29 GMT", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "CF-Cache-Status" : "DYNAMIC", - "x-ratelimit-limit-requests" : "30000", - "openai-version" : "2020-10-01", - "openai-processing-ms" : "6381", - "alt-svc" : "h3=\":443\"; ma=86400", - "openai-project" : "proj_vsCSXafhhByzWOThMrJcZiw9", - "Content-Type" : "application/json" - } - }, - "uuid" : "f11d491d-e30e-3b9c-99a0-7689398730fc", - "persistent" : true, - "insertionIndex" : 42 -} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/openai/mappings/responses-63d9a3745169.json b/test-harness/src/testFixtures/resources/cassettes/openai/mappings/responses-63d9a3745169.json deleted file mode 100644 index 40ecd832..00000000 --- a/test-harness/src/testFixtures/resources/cassettes/openai/mappings/responses-63d9a3745169.json +++ /dev/null @@ -1,48 +0,0 @@ -{ - "id" : "76be9b24-f981-32d2-b60d-e053e639761d", - "name" : "responses", - "request" : { - "url" : "/responses", - "method" : "POST", - "headers" : { - "Content-Type" : { - "equalTo" : "application/json" - } - }, - "bodyPatterns" : [ { - "equalToJson" : "{\"input\":[{\"role\":\"user\",\"content\":\"Look at this sequence: 2, 6, 12, 20, 30. What is the pattern and what would be the formula for the nth term?\\n\"},{\"id\":\"rs_0348cfee672d66ba006a4d341602f48199af393909c4e1bb43\",\"summary\":[{\"text\":\"**Identifying sequence pattern**\\n\\nThe user asked about the sequence 2, 6, 12, 20, 30, and I'm noticing that it looks like it’s based on triangular numbers multiplied by 2. Triangular numbers are 1, 3, 6, 10, 15, so when I double those, I get 2, 6, 12, 20, and 30. It turns out the nth term formula is n(n+1). These numbers are products of consecutive integers, so I can express it as 2*T_n, where T_n represents triangular numbers.\",\"type\":\"summary_text\"},{\"text\":\"**Identifying the pronic number pattern**\\n\\nI'm analyzing the differences in the sequence: the first differences are 4, 6, 8, and 10, which increase by 2, indicating a quadratic formula. The general formula is a_n = n^2 + n, representing pronic numbers, or the product of two consecutive integers. If I index from n=1, the formula yields 2 for the first term. Essentially, I can summarise that the pattern is products of n and n+1, or triangular numbers doubled. Therefore, the answer is a_n = n(n+1).\",\"type\":\"summary_text\"},{\"text\":\"**Finalizing the formula**\\n\\nI want to make sure I include the explicit formula in my answer. The formula for the nth term of the sequence is a_n = n^2 + n. This neatly summarizes the pattern I've identified. It fits well within the context of pronic numbers, where each term represents the product of two consecutive integers. So, to wrap it up, the explicit formula is indeed a_n = n^2 + n. That's my final answer!\",\"type\":\"summary_text\"}],\"type\":\"reasoning\",\"content\":[]},{\"id\":\"msg_0348cfee672d66ba006a4d3422ab8081998a4d5d38ea5fe453\",\"content\":[{\"annotations\":[],\"text\":\"The terms are the “pronic” numbers (each is the product of two consecutive integers):\\n\\n 2 = 1·2 \\n 6 = 2·3 \\n12 = 3·4 \\n20 = 4·5 \\n30 = 5·6 \\n\\nIf you call the first term n=1, the nth term is\\n\\n aₙ = n·(n + 1) ,\\n\\nequivalently\\n\\n aₙ = n² + n.\",\"type\":\"output_text\",\"logprobs\":[]}],\"role\":\"assistant\",\"status\":\"completed\",\"type\":\"message\"},{\"role\":\"user\",\"content\":\"Using the pattern you discovered, what would be the 10th term? And can you find the sum of the first 10 terms?\"}],\"model\":\"o4-mini\",\"reasoning\":{\"effort\":\"high\",\"summary\":\"detailed\"}}", - "ignoreArrayOrder" : true, - "ignoreExtraElements" : false - } ] - }, - "response" : { - "status" : 200, - "bodyFileName" : "responses-63d9a3745169.json", - "headers" : { - "x-request-id" : "7ca9e8a6-a676-4b1a-8155-f8b73adc7749", - "x-ratelimit-limit-tokens" : "150000000", - "openai-organization" : "braintrust-data", - "Server" : "cloudflare", - "CF-Ray" : "a1787d7cca83d465-SEA", - "X-Content-Type-Options" : "nosniff", - "x-ratelimit-reset-requests" : "2ms", - "x-ratelimit-remaining-tokens" : "149999615", - "x-ratelimit-remaining-requests" : "29999", - "Date" : "Tue, 07 Jul 2026 17:15:24 GMT", - "x-ratelimit-reset-tokens" : "0s", - "access-control-expose-headers" : [ "X-Request-ID", "CF-Ray", "CF-Ray" ], - "set-cookie" : "__cf_bm=by411_m51IKT7HMOJP.mqPURrHOitR9nNPy.Cw7EiTw-1783444515.3278594-1.0.1.1-86TXYlyRbrvjMy4pqL3BEtcgSuv8IoqtVcxLUUbtROeEI9SaImrrO4T1mqGcoimIw5UgBvaHtpW51EZKMFDZkBlCYxWGq3AH2Bg3Z4HUg3ZYxpvWYX33FN7B6XWWMaU8; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.openai.com; Expires=Tue, 07 Jul 2026 17:45:24 GMT", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "CF-Cache-Status" : "DYNAMIC", - "x-ratelimit-limit-requests" : "30000", - "openai-version" : "2020-10-01", - "openai-processing-ms" : "8716", - "alt-svc" : "h3=\":443\"; ma=86400", - "openai-project" : "proj_vsCSXafhhByzWOThMrJcZiw9", - "Content-Type" : "application/json" - } - }, - "uuid" : "76be9b24-f981-32d2-b60d-e053e639761d", - "persistent" : true, - "insertionIndex" : 6 -} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/openai/mappings/responses-70788f27285d.json b/test-harness/src/testFixtures/resources/cassettes/openai/mappings/responses-70788f27285d.json deleted file mode 100644 index 083bb014..00000000 --- a/test-harness/src/testFixtures/resources/cassettes/openai/mappings/responses-70788f27285d.json +++ /dev/null @@ -1,51 +0,0 @@ -{ - "id" : "f96ff453-2a18-3a6e-8ebc-5c6323dee4fc", - "name" : "responses", - "request" : { - "url" : "/responses", - "method" : "POST", - "headers" : { - "Content-Type" : { - "equalTo" : "application/json" - } - }, - "bodyPatterns" : [ { - "equalToJson" : "{\"input\":[{\"role\":\"user\",\"content\":\"Look at this sequence: 2, 6, 12, 20, 30. What is the pattern and what would be the formula for the nth term?\\n\"}],\"model\":\"o4-mini\",\"reasoning\":{\"effort\":\"high\",\"summary\":\"detailed\"}}", - "ignoreArrayOrder" : true, - "ignoreExtraElements" : false - } ] - }, - "response" : { - "status" : 200, - "bodyFileName" : "responses-70788f27285d.json", - "headers" : { - "x-request-id" : "5bf279e2-303d-404d-ba7d-6339f8107f2e", - "x-ratelimit-limit-tokens" : "150000000", - "openai-organization" : "braintrust-data", - "Server" : "cloudflare", - "CF-Ray" : "a1787d251c96297d-SEA", - "X-Content-Type-Options" : "nosniff", - "x-ratelimit-reset-requests" : "2ms", - "x-ratelimit-remaining-tokens" : "149999750", - "x-ratelimit-remaining-requests" : "29999", - "Date" : "Tue, 07 Jul 2026 17:15:15 GMT", - "x-ratelimit-reset-tokens" : "0s", - "access-control-expose-headers" : [ "X-Request-ID", "CF-Ray", "CF-Ray" ], - "set-cookie" : "__cf_bm=31yf315.YGgAiBj3LN4avOVaSFzEhCMjXUNgNVdjkOs-1783444501.2993498-1.0.1.1-fKb8oCq.XgIO2j.nNzJW1wHar_WDTGyaNrAwUdXwtN7nZ8YkZLAfvc4sHZbqrE9phIhFJhswAEiRCejPPfGO5verEegKjor_r.NbEIULdENPbmoMg1CI0X.JZUhsY3Uy; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.openai.com; Expires=Tue, 07 Jul 2026 17:45:15 GMT", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "CF-Cache-Status" : "DYNAMIC", - "x-ratelimit-limit-requests" : "30000", - "openai-version" : "2020-10-01", - "openai-processing-ms" : "13811", - "alt-svc" : "h3=\":443\"; ma=86400", - "openai-project" : "proj_vsCSXafhhByzWOThMrJcZiw9", - "Content-Type" : "application/json" - } - }, - "uuid" : "f96ff453-2a18-3a6e-8ebc-5c6323dee4fc", - "persistent" : true, - "scenarioName" : "scenario-1-responses", - "requiredScenarioState" : "Started", - "newScenarioState" : "scenario-1-responses-2", - "insertionIndex" : 11 -} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/openai/mappings/responses-7fc8497bbe6a.json b/test-harness/src/testFixtures/resources/cassettes/openai/mappings/responses-7fc8497bbe6a.json index aad377a9..8a781de8 100644 --- a/test-harness/src/testFixtures/resources/cassettes/openai/mappings/responses-7fc8497bbe6a.json +++ b/test-harness/src/testFixtures/resources/cassettes/openai/mappings/responses-7fc8497bbe6a.json @@ -19,24 +19,24 @@ "status" : 200, "bodyFileName" : "responses-7fc8497bbe6a.json", "headers" : { - "x-request-id" : "req_9595963a9fb74e60990e288f703b2fd6", + "x-request-id" : "req_40d0e21087b54dbf8c6e98b781d5e8c1", "x-ratelimit-limit-tokens" : "30000000", "openai-organization" : "braintrust-data", "Server" : "cloudflare", - "CF-Ray" : "a2eb3cc25c13a3bf-SEA", + "CF-Ray" : "a33dcd298fef4759-SEA", "X-Content-Type-Options" : "nosniff", "x-ratelimit-reset-requests" : "6ms", "x-ratelimit-remaining-tokens" : "29999665", "x-ratelimit-remaining-requests" : "9999", - "Date" : "Fri, 21 Aug 2026 17:08:03 GMT", + "Date" : "Mon, 31 Aug 2026 17:37:16 GMT", "x-ratelimit-reset-tokens" : "0s", "access-control-expose-headers" : [ "X-Request-ID", "CF-Ray", "CF-Ray" ], - "set-cookie" : "__cf_bm=Q__zsiQeDjcC0IjDoxmI2_VngyH1hVU1GYz4MHfMOnc-1787332081.0170724-1.0.1.1-.e7MlhExq7OQrSLHg5W.exlft4DcjNfqDyBP1VIhfaiqCdNNPde9bJ7QvyzxuhEehRHCfbSJxziWqx12qH4P9Uj9T9tOMCt4OxGAHHk3fySpzAzIU74fI3y.tbFFLDko; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.openai.com; Expires=Fri, 21 Aug 2026 17:38:03 GMT", + "set-cookie" : "__cf_bm=sUDZRSo.G_hhekUoe_sct1yVELmHlXSGyqC35ZLjYYM-1788197828.0930302-1.0.1.1-3hYfRtlPeHjhRz9ugR_C7OtEWFjw2wDrZUbXNIINmrQ78Qhk3pcT_46RzrpQMoSyHp1..UcNZjeXNKD9M3XWP0W43mi7QkmhZRNwVXESxMP7GVjWBYWmq5vpApKJrrp8; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 31 Aug 2026 18:07:16 GMT", "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", "CF-Cache-Status" : "DYNAMIC", "x-ratelimit-limit-requests" : "10000", "openai-version" : "2020-10-01", - "openai-processing-ms" : "2057", + "openai-processing-ms" : "8280", "alt-svc" : "h3=\":443\"; ma=86400", "openai-project" : "proj_vsCSXafhhByzWOThMrJcZiw9", "Content-Type" : "application/json" @@ -44,5 +44,5 @@ }, "uuid" : "a609787f-ace8-3110-a131-eae3f56c8c70", "persistent" : true, - "insertionIndex" : 57 + "insertionIndex" : 19 } \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/openai/mappings/responses-863a18378a48.json b/test-harness/src/testFixtures/resources/cassettes/openai/mappings/responses-863a18378a48.json index 014804ad..cc78fb01 100644 --- a/test-harness/src/testFixtures/resources/cassettes/openai/mappings/responses-863a18378a48.json +++ b/test-harness/src/testFixtures/resources/cassettes/openai/mappings/responses-863a18378a48.json @@ -19,24 +19,24 @@ "status" : 200, "bodyFileName" : "responses-863a18378a48.json", "headers" : { - "x-request-id" : "req_e62cffde097243c584bdeedcf64f6b1a", + "x-request-id" : "req_b4d47d736e65471da4adc1e27e6018a1", "x-ratelimit-limit-tokens" : "150000000", "openai-organization" : "braintrust-data", "Server" : "cloudflare", - "CF-Ray" : "a2eb3a037c98ba34-SEA", + "CF-Ray" : "a33dcd79687b9173-SEA", "X-Content-Type-Options" : "nosniff", "x-ratelimit-reset-requests" : "2ms", "x-ratelimit-remaining-tokens" : "149999752", "x-ratelimit-remaining-requests" : "29999", - "Date" : "Fri, 21 Aug 2026 17:06:23 GMT", + "Date" : "Mon, 31 Aug 2026 17:37:28 GMT", "x-ratelimit-reset-tokens" : "0s", "access-control-expose-headers" : [ "X-Request-ID", "CF-Ray", "CF-Ray" ], - "set-cookie" : "__cf_bm=K6F1Hg4nly2WUJMH2A0RJKj9Rl1jKUJKGfh0tfTy6YE-1787331968.5613189-1.0.1.1-XtC3jfyYFQG9Its2Z9LIPk3RqdOTNJK70fGc8TVLfWtYKSbF9dnabCOnmGFaH0apZerr2ShZ6ltcLtnkBKPQwx6ipFQ9VWkN9BduK3V5.u6IGOsbq0ClwJF9p5gnjsBT; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.openai.com; Expires=Fri, 21 Aug 2026 17:36:23 GMT", + "set-cookie" : "__cf_bm=qf570L75dUDiG.u9T2pDZr.y3_WGfAzQJEBSD9I8Ues-1788197840.8691869-1.0.1.1-XyPyE1qMP_6_RurJqSaHUOYNTHn4YEwrgLi9qH4Am6y2Vw2f0tP5hQxjKJJ9mP_AEjPUoEUZNCV3QM2OHqntxa._.7keM3WKDQFbAly3BDeBaC4qSotjh7lozT_DwRmR; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 31 Aug 2026 18:07:28 GMT", "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", "CF-Cache-Status" : "DYNAMIC", "x-ratelimit-limit-requests" : "30000", "openai-version" : "2020-10-01", - "openai-processing-ms" : "14223", + "openai-processing-ms" : "7129", "alt-svc" : "h3=\":443\"; ma=86400", "openai-project" : "proj_vsCSXafhhByzWOThMrJcZiw9", "Content-Type" : "application/json" @@ -44,5 +44,5 @@ }, "uuid" : "a5fb65e6-7334-3418-9d94-15a9941968b7", "persistent" : true, - "insertionIndex" : 45 + "insertionIndex" : 6 } \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/openai/mappings/responses-892784bdb435.json b/test-harness/src/testFixtures/resources/cassettes/openai/mappings/responses-892784bdb435.json index e9e22401..6b3f2ca4 100644 --- a/test-harness/src/testFixtures/resources/cassettes/openai/mappings/responses-892784bdb435.json +++ b/test-harness/src/testFixtures/resources/cassettes/openai/mappings/responses-892784bdb435.json @@ -19,24 +19,24 @@ "status" : 200, "bodyFileName" : "responses-892784bdb435.json", "headers" : { - "x-request-id" : "req_a01a14159d574d1d8b5dd863978f5f03", + "x-request-id" : "req_91d9931929ca488eb2b81c48860be6cd", "x-ratelimit-limit-tokens" : "150000000", "openai-organization" : "braintrust-data", "Server" : "cloudflare", - "CF-Ray" : "a2eb3d2d9f97b9dc-SEA", + "CF-Ray" : "a33dd24b4d978389-SEA", "X-Content-Type-Options" : "nosniff", "x-ratelimit-reset-requests" : "2ms", "x-ratelimit-remaining-tokens" : "149999967", "x-ratelimit-remaining-requests" : "29999", - "Date" : "Fri, 21 Aug 2026 17:08:18 GMT", + "Date" : "Mon, 31 Aug 2026 17:40:41 GMT", "x-ratelimit-reset-tokens" : "0s", "access-control-expose-headers" : [ "X-Request-ID", "CF-Ray", "CF-Ray" ], - "set-cookie" : "__cf_bm=3nKsGMZTYQq1qrUgzqEgvgCJ0oHk2VuADm8vrDUXqj4-1787332098.1738515-1.0.1.1-fXFxh9DJ1l9MCXqXkuMGQp5BB82kFB7vKcitdJT_ycigcplzSRhZHv.DbJIaIX0fe7PQZbxGsZcXa8e06cC1jGLGNOx6ODBruwsTUYdjLvRX3CQbrrH3IWwID5PKFR9X; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.openai.com; Expires=Fri, 21 Aug 2026 17:38:18 GMT", + "set-cookie" : "__cf_bm=s1XnRq7JapoKJ3LxnBGHad7icphhA1tOJsS2SnZb.jQ-1788198038.2886968-1.0.1.1-AWfJStDhFP2iZZv.lONZYyoaJLZ6XuLJgFEqPfBYX8JJk2Pz2FN_TXYGJuhSCh.p1ok8vKyyvLQgxbNifWIE9hWd9OVz4dt0W430.x9OW9nhPfiCEIyaOtmk9f35wSje; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 31 Aug 2026 18:10:41 GMT", "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", "CF-Cache-Status" : "DYNAMIC", "x-ratelimit-limit-requests" : "30000", "openai-version" : "2020-10-01", - "openai-processing-ms" : "599", + "openai-processing-ms" : "2826", "alt-svc" : "h3=\":443\"; ma=86400", "openai-project" : "proj_vsCSXafhhByzWOThMrJcZiw9", "Content-Type" : "application/json" @@ -44,5 +44,5 @@ }, "uuid" : "bbd3d5ab-69e7-3a37-9c5b-ff00f3acd4f5", "persistent" : true, - "insertionIndex" : 60 + "insertionIndex" : 40 } \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/openai/mappings/responses-96490560b71c.json b/test-harness/src/testFixtures/resources/cassettes/openai/mappings/responses-96490560b71c.json index ae36f9d4..fd170a35 100644 --- a/test-harness/src/testFixtures/resources/cassettes/openai/mappings/responses-96490560b71c.json +++ b/test-harness/src/testFixtures/resources/cassettes/openai/mappings/responses-96490560b71c.json @@ -19,18 +19,18 @@ "status" : 200, "bodyFileName" : "responses-96490560b71c.txt", "headers" : { - "x-request-id" : "8092c78d-a556-4b5f-b837-6754dfde20f1", + "x-request-id" : "req_e71160f5a23d479f9faa3a7c81612e31", "openai-organization" : "braintrust-data", "Server" : "cloudflare", - "CF-Ray" : "a1788171f90cd451-SEA", + "CF-Ray" : "a33dd79c2af96e7d-SEA", "X-Content-Type-Options" : "nosniff", - "Date" : "Tue, 07 Jul 2026 17:17:57 GMT", + "Date" : "Mon, 31 Aug 2026 17:44:16 GMT", "access-control-expose-headers" : [ "X-Request-ID", "CF-Ray", "CF-Ray" ], - "set-cookie" : "__cf_bm=5Hf34KjWK_r5XIq9UZt48cVn7w4mwkAYvS8rDI1IMuI-1783444677.434944-1.0.1.1-zP5II5ZyqBzKIwH5m4GWQYLI5CNah9Xfu6eouJzVCKq5V51j52rRi4D5O6ua5gAkE14mC_mXx2XfHkJ.PcqJjaIGut_MG5XN1gUVzRiQ347WnDndEGsXWgdZ9m5ehE7_; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.openai.com; Expires=Tue, 07 Jul 2026 17:47:57 GMT", + "set-cookie" : "__cf_bm=yxmg0IKGGsE1swq0VVowbr2wq.0hID_3W5_daiGaMp8-1788198256.0301173-1.0.1.1-VQxgWiJpsPFqy78pkel57kSQP5DsAYVYKjl4ww6OFJVpG4ja0wUXG3eFMNOQcljE_uwvWWezqrpgHNA0E4ofytfLj9M_BgUybQV0CYQSeNE1paO0ZS6_RIrZsm5JkSz5; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 31 Aug 2026 18:14:16 GMT", "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", "CF-Cache-Status" : "DYNAMIC", "openai-version" : "2020-10-01", - "openai-processing-ms" : "175", + "openai-processing-ms" : "166", "alt-svc" : "h3=\":443\"; ma=86400", "openai-project" : "proj_vsCSXafhhByzWOThMrJcZiw9", "Content-Type" : "text/event-stream; charset=utf-8" @@ -41,5 +41,5 @@ "scenarioName" : "scenario-2-responses", "requiredScenarioState" : "Started", "newScenarioState" : "scenario-2-responses-2", - "insertionIndex" : 17 + "insertionIndex" : 44 } \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/openai/mappings/responses-9a580e94f540.json b/test-harness/src/testFixtures/resources/cassettes/openai/mappings/responses-9a580e94f540.json index f33df5ab..080f4aa2 100644 --- a/test-harness/src/testFixtures/resources/cassettes/openai/mappings/responses-9a580e94f540.json +++ b/test-harness/src/testFixtures/resources/cassettes/openai/mappings/responses-9a580e94f540.json @@ -10,7 +10,7 @@ } }, "bodyPatterns" : [ { - "equalToJson" : "{\"input\":[{\"content\":\"What is the weather in Paris, France?\",\"role\":\"user\"}],\"model\":\"gpt-4o\",\"tools\":[{\"name\":\"get_weather\",\"parameters\":{\"type\":\"object\",\"properties\":{\"location\":{\"type\":\"string\",\"description\":\"The city and state\"}},\"required\":[\"location\"]},\"strict\":false,\"type\":\"function\",\"description\":\"Get the current weather for a location\"}],\"stream\":true}", + "equalToJson" : "{\"input\":[{\"content\":\"What is the weather in Paris, France?\",\"role\":\"user\"}],\"model\":\"gpt-4o\",\"tools\":[{\"name\":\"get_weather\",\"parameters\":{\"type\":\"object\",\"properties\":{\"location\":{\"description\":\"The city and state\",\"type\":\"string\"}},\"required\":[\"location\"]},\"strict\":false,\"type\":\"function\",\"description\":\"Get the current weather for a location\"}],\"stream\":true}", "ignoreArrayOrder" : true, "ignoreExtraElements" : false } ] @@ -19,18 +19,18 @@ "status" : 200, "bodyFileName" : "responses-9a580e94f540.txt", "headers" : { - "x-request-id" : "req_3d3be76684d840438a78d39d1d84d46f", + "x-request-id" : "req_6ed617e520434a09aaef75e5aa7a0730", "openai-organization" : "braintrust-data", "Server" : "cloudflare", - "CF-Ray" : "a2a5034bedaaed00-SEA", + "CF-Ray" : "a33dd73aff85b9c7-SEA", "X-Content-Type-Options" : "nosniff", - "Date" : "Thu, 13 Aug 2026 04:35:25 GMT", + "Date" : "Mon, 31 Aug 2026 17:44:00 GMT", "access-control-expose-headers" : [ "X-Request-ID", "CF-Ray", "CF-Ray" ], - "set-cookie" : "__cf_bm=63SwArwxiYRdhAVqzmJPPxf.qx3GXWGTr6wl7TSDKfU-1786595724.1437151-1.0.1.1-awf4xLyqWuD_Nws.iOBD_85ygIt5LhVDrg7rkK8Gic0S_Oz1TvMHIlmVHVlPCcBhoEJ32QmfCixzDZYVvYsHFtfjTEgBqCdsTfz1VvRMk9sdPJsAC4YP.30qzWXbyHfq; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.openai.com; Expires=Thu, 13 Aug 2026 05:05:25 GMT", + "set-cookie" : "__cf_bm=P7L.5J41Pwq_zj.Dhy0Zlq5nbdBEB_P7KC06DrZgX7Y-1788198240.4748967-1.0.1.1-i0n1kHFxcCVWpmTIMffCoPDXriYZFlqtSeSY75dxBLf.ILUANU2XyLhjYZJOuxrveZMUJGMTP1TNm1ozvEFBsQPB_Evdij4IljBdf9gWx79K2cpJ6xYqi2xkg_gx3DxC; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 31 Aug 2026 18:14:00 GMT", "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", "CF-Cache-Status" : "DYNAMIC", "openai-version" : "2020-10-01", - "openai-processing-ms" : "203", + "openai-processing-ms" : "276", "alt-svc" : "h3=\":443\"; ma=86400", "openai-project" : "proj_vsCSXafhhByzWOThMrJcZiw9", "Content-Type" : "text/event-stream; charset=utf-8" @@ -38,5 +38,5 @@ }, "uuid" : "229a99a3-e268-3598-8770-2734af5feb68", "persistent" : true, - "insertionIndex" : 33 + "insertionIndex" : 47 } \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/openai/mappings/responses-9ec1c9b92ff9.json b/test-harness/src/testFixtures/resources/cassettes/openai/mappings/responses-9ec1c9b92ff9.json index ec02e8ac..e2e93da6 100644 --- a/test-harness/src/testFixtures/resources/cassettes/openai/mappings/responses-9ec1c9b92ff9.json +++ b/test-harness/src/testFixtures/resources/cassettes/openai/mappings/responses-9ec1c9b92ff9.json @@ -19,24 +19,24 @@ "status" : 200, "bodyFileName" : "responses-9ec1c9b92ff9.json", "headers" : { - "x-request-id" : "req_3d0356d233a746fe809040b0d865a54e", + "x-request-id" : "req_a848a68a3fdc4e79b7b311eb11318796", "x-ratelimit-limit-tokens" : "150000000", "openai-organization" : "braintrust-data", "Server" : "cloudflare", - "CF-Ray" : "a2eb3d360d1f75ca-SEA", + "CF-Ray" : "a33dd2c5c9595050-SEA", "X-Content-Type-Options" : "nosniff", "x-ratelimit-reset-requests" : "2ms", "x-ratelimit-remaining-tokens" : "149999705", "x-ratelimit-remaining-requests" : "29999", - "Date" : "Fri, 21 Aug 2026 17:08:21 GMT", + "Date" : "Mon, 31 Aug 2026 17:41:00 GMT", "x-ratelimit-reset-tokens" : "0s", "access-control-expose-headers" : [ "X-Request-ID", "CF-Ray", "CF-Ray" ], - "set-cookie" : "__cf_bm=pz_2ZHtKln5kmQYXQrXjRFjxpHkrFNur.hXk0X6OSh0-1787332099.528624-1.0.1.1-hyDAGM9r6UVwm2CQW2jAr76dpw1CQrsRS_Hw9tEIzpqKkKF9QNjru3fMmwJ8aK1MR8NQwzGVKL.eDWc9QAvt96TWH2bVQqaA0A0dGU9AKx7uuNxkaya7sI5OjNzevQiv; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.openai.com; Expires=Fri, 21 Aug 2026 17:38:21 GMT", + "set-cookie" : "__cf_bm=zVc8dyalU_4rNFh0oPVh2EMc.uUbKlCZJqYpHeHk3jI-1788198057.8819919-1.0.1.1-P3KvsLdKF4rjsyS_XhTmPQnc6kp8BBb6gyLA9QGBNYEWX8aR7VOR39wdd2xZthtKodm_Dc.pkNdFi8DqX1UT1d3WHTL3QC4DJuDPk7YKeE272.CLbfPEvbs214JJLfYo; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 31 Aug 2026 18:11:00 GMT", "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", "CF-Cache-Status" : "DYNAMIC", "x-ratelimit-limit-requests" : "30000", "openai-version" : "2020-10-01", - "openai-processing-ms" : "1522", + "openai-processing-ms" : "1654", "alt-svc" : "h3=\":443\"; ma=86400", "openai-project" : "proj_vsCSXafhhByzWOThMrJcZiw9", "Content-Type" : "application/json" @@ -44,5 +44,5 @@ }, "uuid" : "39f0d87b-178c-33a6-831e-c551fb849139", "persistent" : true, - "insertionIndex" : 59 + "insertionIndex" : 35 } \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/openai/mappings/responses-a2ceaa8491c7.json b/test-harness/src/testFixtures/resources/cassettes/openai/mappings/responses-a2ceaa8491c7.json deleted file mode 100644 index ef31783f..00000000 --- a/test-harness/src/testFixtures/resources/cassettes/openai/mappings/responses-a2ceaa8491c7.json +++ /dev/null @@ -1,51 +0,0 @@ -{ - "id" : "1af798ea-2b1a-3d55-823f-5f523cb2a75b", - "name" : "responses", - "request" : { - "url" : "/responses", - "method" : "POST", - "headers" : { - "Content-Type" : { - "equalTo" : "application/json" - } - }, - "bodyPatterns" : [ { - "equalToJson" : "{\"input\":[{\"role\":\"user\",\"content\":\"Look at this sequence: 2, 6, 12, 20, 30. What is the pattern and what would be the formula for the nth term?\\n\"}],\"model\":\"o4-mini\",\"reasoning\":{\"effort\":\"high\",\"summary\":\"detailed\"}}", - "ignoreArrayOrder" : true, - "ignoreExtraElements" : false - } ] - }, - "response" : { - "status" : 200, - "bodyFileName" : "responses-a2ceaa8491c7.json", - "headers" : { - "x-request-id" : "ece7fbf1-3e45-45fb-9a65-144cbcff8051", - "x-ratelimit-limit-tokens" : "150000000", - "openai-organization" : "braintrust-data", - "Server" : "cloudflare", - "CF-Ray" : "a1787d058836dee5-SEA", - "X-Content-Type-Options" : "nosniff", - "x-ratelimit-reset-requests" : "2ms", - "x-ratelimit-remaining-tokens" : "149999750", - "x-ratelimit-remaining-requests" : "29999", - "Date" : "Tue, 07 Jul 2026 17:15:22 GMT", - "x-ratelimit-reset-tokens" : "0s", - "access-control-expose-headers" : [ "X-Request-ID", "CF-Ray", "CF-Ray" ], - "set-cookie" : "__cf_bm=BQ9N71IWWcxhmXaEopz8yqmhggGoLfx8j4bldtJ_t3o-1783444496.2428062-1.0.1.1-8pZeWcXZ0sfpcBOWOOwYJZnodMsJkmHAysHs21i5F0MOUwdlYOs5jux8QexHOew9dib4LaVMagGFeN3e.oFbQOzZ2jqgdgn7bniU.tXzRcMeaQ9tR4koIcdEkbfvyxg4; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.openai.com; Expires=Tue, 07 Jul 2026 17:45:22 GMT", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "CF-Cache-Status" : "DYNAMIC", - "x-ratelimit-limit-requests" : "30000", - "openai-version" : "2020-10-01", - "openai-processing-ms" : "26077", - "alt-svc" : "h3=\":443\"; ma=86400", - "openai-project" : "proj_vsCSXafhhByzWOThMrJcZiw9", - "Content-Type" : "application/json" - } - }, - "uuid" : "1af798ea-2b1a-3d55-823f-5f523cb2a75b", - "persistent" : true, - "scenarioName" : "scenario-1-responses", - "requiredScenarioState" : "scenario-1-responses-2", - "newScenarioState" : "scenario-1-responses-3", - "insertionIndex" : 8 -} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/openai/mappings/responses-1f06cb88e828.json b/test-harness/src/testFixtures/resources/cassettes/openai/mappings/responses-b6038b78fc83.json similarity index 71% rename from test-harness/src/testFixtures/resources/cassettes/openai/mappings/responses-1f06cb88e828.json rename to test-harness/src/testFixtures/resources/cassettes/openai/mappings/responses-b6038b78fc83.json index 4998ea74..1947e85b 100644 --- a/test-harness/src/testFixtures/resources/cassettes/openai/mappings/responses-1f06cb88e828.json +++ b/test-harness/src/testFixtures/resources/cassettes/openai/mappings/responses-b6038b78fc83.json @@ -1,5 +1,5 @@ { - "id" : "b41a194d-ab51-3fb4-8fae-39c2fefab25a", + "id" : "99350180-1411-3f51-b920-ea6d1aa6d65d", "name" : "responses", "request" : { "url" : "/responses", @@ -10,39 +10,39 @@ } }, "bodyPatterns" : [ { - "equalToJson" : "{\n \"model\" : \"gpt-4o-mini\",\n \"input\" : [ {\n \"type\" : \"message\",\n \"role\" : \"user\",\n \"content\" : [ {\n \"type\" : \"input_text\",\n \"text\" : \"is it hotter in Paris or New York right now?\"\n } ]\n }, {\n \"type\" : \"function_call\",\n \"call_id\" : \"call_bSgzx73lJpOic45Tz17TF5Zo\",\n \"name\" : \"getWeather\",\n \"arguments\" : \"{\\\"arg0\\\":\\\"Paris\\\"}\"\n }, {\n \"type\" : \"function_call\",\n \"call_id\" : \"call_IESRKUeQQSqSxxh2op9jKdrL\",\n \"name\" : \"getWeather\",\n \"arguments\" : \"{\\\"arg0\\\":\\\"New York\\\"}\"\n }, {\n \"type\" : \"function_call_output\",\n \"call_id\" : \"call_bSgzx73lJpOic45Tz17TF5Zo\",\n \"output\" : \"The weather in Paris is sunny with 72°F temperature.\"\n }, {\n \"type\" : \"function_call_output\",\n \"call_id\" : \"call_IESRKUeQQSqSxxh2op9jKdrL\",\n \"output\" : \"The weather in New York is sunny with 72°F temperature.\"\n } ],\n \"stream\" : false,\n \"store\" : false,\n \"temperature\" : 0.0,\n \"tools\" : [ {\n \"type\" : \"function\",\n \"name\" : \"getWeather\",\n \"description\" : \"Get current weather for a location\",\n \"parameters\" : {\n \"type\" : \"object\",\n \"properties\" : {\n \"arg0\" : {\n \"type\" : \"string\"\n }\n },\n \"required\" : [ \"arg0\" ]\n }\n }, {\n \"type\" : \"function\",\n \"name\" : \"getForecast\",\n \"description\" : \"Get weather forecast for next N days\",\n \"parameters\" : {\n \"type\" : \"object\",\n \"properties\" : {\n \"arg0\" : {\n \"type\" : \"string\"\n },\n \"arg1\" : {\n \"type\" : \"integer\"\n }\n },\n \"required\" : [ \"arg0\", \"arg1\" ]\n }\n } ]\n}", + "equalToJson" : "{\n \"model\" : \"gpt-4o-mini\",\n \"input\" : [ {\n \"type\" : \"message\",\n \"role\" : \"user\",\n \"content\" : [ {\n \"type\" : \"input_text\",\n \"text\" : \"is it hotter in Paris or New York right now?\"\n } ]\n }, {\n \"type\" : \"function_call\",\n \"call_id\" : \"call_dlJJaeYbZqiLTojthEVSuD5f\",\n \"name\" : \"getWeather\",\n \"arguments\" : \"{\\\"arg0\\\":\\\"Paris\\\"}\"\n }, {\n \"type\" : \"function_call\",\n \"call_id\" : \"call_kLgnom9OZNcToRYj0vDlqYyN\",\n \"name\" : \"getWeather\",\n \"arguments\" : \"{\\\"arg0\\\":\\\"New York\\\"}\"\n }, {\n \"type\" : \"function_call_output\",\n \"call_id\" : \"call_dlJJaeYbZqiLTojthEVSuD5f\",\n \"output\" : \"The weather in Paris is sunny with 72°F temperature.\"\n }, {\n \"type\" : \"function_call_output\",\n \"call_id\" : \"call_kLgnom9OZNcToRYj0vDlqYyN\",\n \"output\" : \"The weather in New York is sunny with 72°F temperature.\"\n } ],\n \"stream\" : false,\n \"store\" : false,\n \"temperature\" : 0.0,\n \"tools\" : [ {\n \"type\" : \"function\",\n \"name\" : \"getWeather\",\n \"description\" : \"Get current weather for a location\",\n \"parameters\" : {\n \"type\" : \"object\",\n \"properties\" : {\n \"arg0\" : {\n \"type\" : \"string\"\n }\n },\n \"required\" : [ \"arg0\" ]\n }\n }, {\n \"type\" : \"function\",\n \"name\" : \"getForecast\",\n \"description\" : \"Get weather forecast for next N days\",\n \"parameters\" : {\n \"type\" : \"object\",\n \"properties\" : {\n \"arg0\" : {\n \"type\" : \"string\"\n },\n \"arg1\" : {\n \"type\" : \"integer\"\n }\n },\n \"required\" : [ \"arg0\", \"arg1\" ]\n }\n } ]\n}", "ignoreArrayOrder" : true, "ignoreExtraElements" : false } ] }, "response" : { "status" : 200, - "bodyFileName" : "responses-1f06cb88e828.json", + "bodyFileName" : "responses-b6038b78fc83.json", "headers" : { - "x-request-id" : "req_235e4983164f4e2184091d6479700842", + "x-request-id" : "req_1fe7d28cdda0467eaa1971476ce0491b", "x-ratelimit-limit-tokens" : "150000000", "openai-organization" : "braintrust-data", "Server" : "cloudflare", - "CF-Ray" : "a2eb3d418f107cc8-SEA", + "CF-Ray" : "a33dd2d66848d43d-SEA", "X-Content-Type-Options" : "nosniff", "x-ratelimit-reset-requests" : "2ms", - "x-ratelimit-remaining-tokens" : "149999637", + "x-ratelimit-remaining-tokens" : "149999635", "x-ratelimit-remaining-requests" : "29999", - "Date" : "Fri, 21 Aug 2026 17:08:22 GMT", + "Date" : "Mon, 31 Aug 2026 17:41:01 GMT", "x-ratelimit-reset-tokens" : "0s", "access-control-expose-headers" : [ "X-Request-ID", "CF-Ray", "CF-Ray" ], - "set-cookie" : "__cf_bm=oUnial5es5EvtUZruWZqtaX.Wgtyb53nTasrScYTQ.k-1787332101.3694963-1.0.1.1-0RlQFZxKCnMrcTW0tkr8HsYB1So7eqLfzTXkBkaFOHXb.QNeJ10xOat3exdqbuDchPWugwZgddWix_O_nHlcyKrhFaIvcQmeJt7FWxl5wlTuKh.eKszi7HbHVis8cTaC; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.openai.com; Expires=Fri, 21 Aug 2026 17:38:22 GMT", + "set-cookie" : "__cf_bm=tR453vmhAqrhwGrt8jd83gUD09beUwvtSpZjVgoQArs-1788198060.5542707-1.0.1.1-T0L2UqxULDzqXhELhA.BSQDPHZNlnuZttxSiD_sSDetSbS8RWYUv8Nvzq4lo9nfN37B97aYJV9RWhl55jp45e31OAufaLVFmRvWEXTcG1541OUxDzDZpFUIUGoOTDdMf; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 31 Aug 2026 18:11:01 GMT", "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", "CF-Cache-Status" : "DYNAMIC", "x-ratelimit-limit-requests" : "30000", "openai-version" : "2020-10-01", - "openai-processing-ms" : "788", + "openai-processing-ms" : "870", "alt-svc" : "h3=\":443\"; ma=86400", "openai-project" : "proj_vsCSXafhhByzWOThMrJcZiw9", "Content-Type" : "application/json" } }, - "uuid" : "b41a194d-ab51-3fb4-8fae-39c2fefab25a", + "uuid" : "99350180-1411-3f51-b920-ea6d1aa6d65d", "persistent" : true, - "insertionIndex" : 58 + "insertionIndex" : 34 } \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/openai/mappings/responses-b7d2fa3f8bc3.json b/test-harness/src/testFixtures/resources/cassettes/openai/mappings/responses-b7d2fa3f8bc3.json deleted file mode 100644 index e5bae85c..00000000 --- a/test-harness/src/testFixtures/resources/cassettes/openai/mappings/responses-b7d2fa3f8bc3.json +++ /dev/null @@ -1,50 +0,0 @@ -{ - "id" : "93c41b2e-1c9b-310d-abcc-08fcdb26334e", - "name" : "responses", - "request" : { - "url" : "/responses", - "method" : "POST", - "headers" : { - "Content-Type" : { - "equalTo" : "application/json" - } - }, - "bodyPatterns" : [ { - "equalToJson" : "{\"input\":[{\"role\":\"user\",\"content\":\"Look at this sequence: 2, 6, 12, 20, 30. What is the pattern and what would be the formula for the nth term?\\n\"}],\"model\":\"o4-mini\",\"reasoning\":{\"effort\":\"high\",\"summary\":\"detailed\"}}", - "ignoreArrayOrder" : true, - "ignoreExtraElements" : false - } ] - }, - "response" : { - "status" : 200, - "bodyFileName" : "responses-b7d2fa3f8bc3.json", - "headers" : { - "x-request-id" : "16f5a7e5-bb99-4533-80cb-597ae87ad630", - "x-ratelimit-limit-tokens" : "150000000", - "openai-organization" : "braintrust-data", - "Server" : "cloudflare", - "CF-Ray" : "a1787db4b803a381-SEA", - "X-Content-Type-Options" : "nosniff", - "x-ratelimit-reset-requests" : "2ms", - "x-ratelimit-remaining-tokens" : "149999752", - "x-ratelimit-remaining-requests" : "29999", - "Date" : "Tue, 07 Jul 2026 17:15:33 GMT", - "x-ratelimit-reset-tokens" : "0s", - "access-control-expose-headers" : [ "X-Request-ID", "CF-Ray", "CF-Ray" ], - "set-cookie" : "__cf_bm=_KXMOvFj0k.K48EZgzQnp3WHAJys_QmlH7GFXUSRNdo-1783444524.2779481-1.0.1.1-e49A6SvEW7KDSe5JUFyxi95O7svUs.eEGiLQU9gNGaj3_y9fj8lLrFsMXbjXbqY6mvDYjWEgmz7Bn_aQ2BDC7LtNh8rzppQU8X4qfvnA82Hu0IkbgDvfcjipdH7moRVJ; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.openai.com; Expires=Tue, 07 Jul 2026 17:45:33 GMT", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "CF-Cache-Status" : "DYNAMIC", - "x-ratelimit-limit-requests" : "30000", - "openai-version" : "2020-10-01", - "openai-processing-ms" : "8897", - "alt-svc" : "h3=\":443\"; ma=86400", - "openai-project" : "proj_vsCSXafhhByzWOThMrJcZiw9", - "Content-Type" : "application/json" - } - }, - "uuid" : "93c41b2e-1c9b-310d-abcc-08fcdb26334e", - "persistent" : true, - "scenarioName" : "scenario-1-responses", - "requiredScenarioState" : "scenario-1-responses-3", - "insertionIndex" : 2 -} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/openai/mappings/responses-b9d1173a9de6.json b/test-harness/src/testFixtures/resources/cassettes/openai/mappings/responses-b9d1173a9de6.json index 2c04a58e..7e6730fa 100644 --- a/test-harness/src/testFixtures/resources/cassettes/openai/mappings/responses-b9d1173a9de6.json +++ b/test-harness/src/testFixtures/resources/cassettes/openai/mappings/responses-b9d1173a9de6.json @@ -19,24 +19,24 @@ "status" : 200, "bodyFileName" : "responses-b9d1173a9de6.json", "headers" : { - "x-request-id" : "cf5f01e2-f19b-410c-a966-867c416cc630", + "x-request-id" : "req_d787c66bb86343339264efa18ac55eb6", "x-ratelimit-limit-tokens" : "150000000", "openai-organization" : "braintrust-data", "Server" : "cloudflare", - "CF-Ray" : "a178815e5bce2672-SEA", + "CF-Ray" : "a33dd718a801091f-SEA", "X-Content-Type-Options" : "nosniff", "x-ratelimit-reset-requests" : "2ms", - "x-ratelimit-remaining-tokens" : "149999952", + "x-ratelimit-remaining-tokens" : "149999955", "x-ratelimit-remaining-requests" : "29999", - "Date" : "Tue, 07 Jul 2026 17:17:55 GMT", + "Date" : "Mon, 31 Aug 2026 17:43:56 GMT", "x-ratelimit-reset-tokens" : "0s", "access-control-expose-headers" : [ "X-Request-ID", "CF-Ray", "CF-Ray" ], - "set-cookie" : "__cf_bm=sosrqGiOUf.vH85oyoVZ7LdPdLli60.2nz1jngLK918-1783444674.2926736-1.0.1.1-ljPjOi2TpOV30gHSNsiGUxLQucJcdoARfl0JL.hKg012owk0gqAVzdK1F80N0K0wIpFs26MuG5A2PMeeoo0j6VgVkOzMO9BwTYalRIxkDm5LnPwmNcfo082uYmE98A8t; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.openai.com; Expires=Tue, 07 Jul 2026 17:47:55 GMT", + "set-cookie" : "__cf_bm=d7nEQ8_oGwMqNrIVTpRzd_4z52Q_NDnPDrsJwuZ4aOI-1788198234.9879103-1.0.1.1-x7PD8RgmD6PI6rF2wgvBoau_BRkDMy6YFo6UOcx0r7q.R5JRUn3te_vqDedTBmcJ1_LAlQ8te1D3NMvy6cpFbk.jq.RlqdhIUYmqqhlm.3mz7yEs15LsUo.J7QmABr.f; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 31 Aug 2026 18:13:56 GMT", "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", "CF-Cache-Status" : "DYNAMIC", "x-ratelimit-limit-requests" : "30000", "openai-version" : "2020-10-01", - "openai-processing-ms" : "985", + "openai-processing-ms" : "1159", "alt-svc" : "h3=\":443\"; ma=86400", "openai-project" : "proj_vsCSXafhhByzWOThMrJcZiw9", "Content-Type" : "application/json" @@ -44,5 +44,5 @@ }, "uuid" : "f8a5744d-b1b5-3a07-af58-9d924d3e424b", "persistent" : true, - "insertionIndex" : 19 + "insertionIndex" : 49 } \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/openai/mappings/responses-bdae47d54959.json b/test-harness/src/testFixtures/resources/cassettes/openai/mappings/responses-bdae47d54959.json index f692571b..1f74c5c5 100644 --- a/test-harness/src/testFixtures/resources/cassettes/openai/mappings/responses-bdae47d54959.json +++ b/test-harness/src/testFixtures/resources/cassettes/openai/mappings/responses-bdae47d54959.json @@ -19,24 +19,24 @@ "status" : 200, "bodyFileName" : "responses-bdae47d54959.json", "headers" : { - "x-request-id" : "req_726fd390ed4b4fc586b365582ce73c3e", + "x-request-id" : "req_6675dcd1377a4e809468d792789229ca", "x-ratelimit-limit-tokens" : "150000000", "openai-organization" : "braintrust-data", "Server" : "cloudflare", - "CF-Ray" : "a2eb3a2b6c3eba00-SEA", + "CF-Ray" : "a33dcd985bfc756b-SEA", "X-Content-Type-Options" : "nosniff", "x-ratelimit-reset-requests" : "2ms", "x-ratelimit-remaining-tokens" : "149999752", "x-ratelimit-remaining-requests" : "29999", - "Date" : "Fri, 21 Aug 2026 17:06:23 GMT", + "Date" : "Mon, 31 Aug 2026 17:37:57 GMT", "x-ratelimit-reset-tokens" : "0s", "access-control-expose-headers" : [ "X-Request-ID", "CF-Ray", "CF-Ray" ], - "set-cookie" : "__cf_bm=LXuB65HamlnEpDTA.J31LBHa8vIB_fo1ycAciwuyO2E-1787331974.94298-1.0.1.1-udeZVWacugoznQj4Ipmgr4EJNwBbNK3KlqCgHJRqMNhpauxh.qYundOH1AupBhH8XVM4ukexhWWFfvXU6y6mRxfHdl_DG8RHpyk8.go7C0k3uZxlUGHhMoUyriBD7l_d; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.openai.com; Expires=Fri, 21 Aug 2026 17:36:23 GMT", + "set-cookie" : "__cf_bm=xW7H.V_80dDMQnoXQmuGkpARI9WcnfDIB1m2ZM6JovM-1788197845.8148537-1.0.1.1-bcUdqT.GsAI4nW6vI0lMPTlN7Mao_rHGMncXDTGLn5pYhzCUqQXqeQN2N8YTIpUPLI8GP7H4crriI4ty6csX8vHR9eLAJCL9vEzoUlAj0LNmbNdtWXguxT1gV76gjoTl; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 31 Aug 2026 18:07:57 GMT", "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", "CF-Cache-Status" : "DYNAMIC", "x-ratelimit-limit-requests" : "30000", "openai-version" : "2020-10-01", - "openai-processing-ms" : "8820", + "openai-processing-ms" : "31096", "alt-svc" : "h3=\":443\"; ma=86400", "openai-project" : "proj_vsCSXafhhByzWOThMrJcZiw9", "Content-Type" : "application/json" @@ -44,5 +44,5 @@ }, "uuid" : "3ec1669f-6378-3bd4-b5cd-dc7acc2f8acd", "persistent" : true, - "insertionIndex" : 43 + "insertionIndex" : 2 } \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/openai/mappings/responses-c1b40cd66fd7.json b/test-harness/src/testFixtures/resources/cassettes/openai/mappings/responses-c1b40cd66fd7.json index 22dd86e7..5869916e 100644 --- a/test-harness/src/testFixtures/resources/cassettes/openai/mappings/responses-c1b40cd66fd7.json +++ b/test-harness/src/testFixtures/resources/cassettes/openai/mappings/responses-c1b40cd66fd7.json @@ -19,18 +19,18 @@ "status" : 200, "bodyFileName" : "responses-c1b40cd66fd7.txt", "headers" : { - "x-request-id" : "req_e2731e417197412cad96fb0d8bda980f", + "x-request-id" : "req_a02df17e2ea748409cd237762152d091", "openai-organization" : "braintrust-data", "Server" : "cloudflare", - "CF-Ray" : "a2eb794dc812a3c2-SEA", + "CF-Ray" : "a33dd2694e6ddf2d-SEA", "X-Content-Type-Options" : "nosniff", - "Date" : "Fri, 21 Aug 2026 17:49:21 GMT", + "Date" : "Mon, 31 Aug 2026 17:40:47 GMT", "access-control-expose-headers" : [ "X-Request-ID", "CF-Ray", "CF-Ray" ], - "set-cookie" : "__cf_bm=i11f1Ogoz2tN0wZuIdzr6h9_ArHFIcwAZbjWQXXE0pw-1787334560.9299479-1.0.1.1-9JtmG_DDSejlvn37UEnOB.aVJXsRdL.9BmhDnCQ8O_w5ILYGg50VKUj48xqG3fRWw8.keh1Pw9XkEKnxiPCtdaGrElLG53XESpJefLa5kS44PHAf9_Q_Lhx.OJUNVnVy; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.openai.com; Expires=Fri, 21 Aug 2026 18:19:21 GMT", + "set-cookie" : "__cf_bm=Rsy2cwthsNjI0aKAwTdgD5CrSzg.K.NSPdbJOoX1e1g-1788198043.08776-1.0.1.1-_0RrUKKj76ZeKltzapghOAPsqKlwFc.mGWq2hDrHJnxDOqEsB9EQl9zPJjnybCUxobVOME43IMbaKb8532B_MaDDAFUcgSLA5tOBdTW0VR6PH1izbO66TOX0Dgp16pSt; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 31 Aug 2026 18:10:47 GMT", "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", "CF-Cache-Status" : "DYNAMIC", "openai-version" : "2020-10-01", - "openai-processing-ms" : "119", + "openai-processing-ms" : "3472", "alt-svc" : "h3=\":443\"; ma=86400", "openai-project" : "proj_vsCSXafhhByzWOThMrJcZiw9", "Content-Type" : "text/event-stream; charset=utf-8" @@ -38,5 +38,5 @@ }, "uuid" : "c2474bf5-50bc-3bbb-8eb0-7ce0526dc342", "persistent" : true, - "insertionIndex" : 62 + "insertionIndex" : 39 } \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/openai/mappings/responses-c30758f61e8f.json b/test-harness/src/testFixtures/resources/cassettes/openai/mappings/responses-c30758f61e8f.json deleted file mode 100644 index f47120d4..00000000 --- a/test-harness/src/testFixtures/resources/cassettes/openai/mappings/responses-c30758f61e8f.json +++ /dev/null @@ -1,48 +0,0 @@ -{ - "id" : "32cd4b25-7905-3129-a15b-fa08038a9c3c", - "name" : "responses", - "request" : { - "url" : "/responses", - "method" : "POST", - "headers" : { - "Content-Type" : { - "equalTo" : "application/json" - } - }, - "bodyPatterns" : [ { - "equalToJson" : "{\"input\":[{\"role\":\"user\",\"content\":\"Look at this sequence: 2, 6, 12, 20, 30. What is the pattern and what would be the formula for the nth term?\\n\"},{\"id\":\"rs_08a462d4f86dbfbb006a4d3411dce08199bfea223c8f6868be\",\"summary\":[{\"text\":\"**Analyzing the sequence**\\n\\nThe user is asking about the sequence 2, 6, 12, 20, 30, and I'm thinking this resembles pronic numbers, which are defined as n(n+1). So, I can see that each term fits this pattern: for example, 2=1*2, 6=2*3, and so on. I realize that if I consider indexing from n=1, the formula is a_n = n(n+1). It turns out the pattern involves multiplying two consecutive integers, confirming this quadratic relationship!\",\"type\":\"summary_text\"},{\"text\":\"**Explaining pronic numbers**\\n\\nI'm solving for the formula a_n = n^2 + n, which indicates we're dealing with pronic numbers, as this represents the pattern a_n = n(n+1). The differences between the terms are increasing by 2, starting from 4. So, if n starts at 1, the nth term is simply a_n = n(n+1). \\n\\nAlternatively, for zero indexing, I could say a_n = n(n-1) for n≥2. Additionally, each term is the sum of the first n even numbers. So overall, the final answer is that the pattern is pronic numbers, with the formula a_n = n(n+1) or equivalently n^2 + n.\",\"type\":\"summary_text\"},{\"text\":\"**Summarizing pronic numbers**\\n\\nI'm working with the formula a_n = n^2 + n, identifying this as representing pronic numbers. The pattern involves multiplying consecutive integers, so a_n = n(n+1). For example, T_1 gives us 2, T_2 gives us 6, and so on.\\n\\nIf the user wants more detail, I can mention that the first differences between terms are 4, 6, 8, and 10, which increase by 2 each time. Overall, I’ll present both the pattern and the formula as: pronic numbers, a_n = n(n+1) or n^2 + n.\",\"type\":\"summary_text\"}],\"type\":\"reasoning\",\"content\":[]},{\"id\":\"msg_08a462d4f86dbfbb006a4d342a0b208199ac6daf4cb9b9363a\",\"content\":[{\"annotations\":[],\"text\":\"Each term is the product of two consecutive integers:\\n\\n1·2 = 2 \\n2·3 = 6 \\n3·4 = 12 \\n4·5 = 20 \\n5·6 = 30 \\n\\nHence the n-th term (with n starting at 1) is \\naₙ = n·(n + 1) = n² + n.\",\"type\":\"output_text\",\"logprobs\":[]}],\"role\":\"assistant\",\"status\":\"completed\",\"type\":\"message\"},{\"role\":\"user\",\"content\":\"Using the pattern you discovered, what would be the 10th term? And can you find the sum of the first 10 terms?\"}],\"model\":\"o4-mini\",\"reasoning\":{\"effort\":\"high\",\"summary\":\"detailed\"}}", - "ignoreArrayOrder" : true, - "ignoreExtraElements" : false - } ] - }, - "response" : { - "status" : 200, - "bodyFileName" : "responses-c30758f61e8f.json", - "headers" : { - "x-request-id" : "2faa0104-4990-4d60-aae6-3a649fcf3917", - "x-ratelimit-limit-tokens" : "150000000", - "openai-organization" : "braintrust-data", - "Server" : "cloudflare", - "CF-Ray" : "a1787dac5ff4dc73-SEA", - "X-Content-Type-Options" : "nosniff", - "x-ratelimit-reset-requests" : "2ms", - "x-ratelimit-remaining-tokens" : "149999637", - "x-ratelimit-remaining-requests" : "29999", - "Date" : "Tue, 07 Jul 2026 17:15:32 GMT", - "x-ratelimit-reset-tokens" : "0s", - "access-control-expose-headers" : [ "X-Request-ID", "CF-Ray", "CF-Ray" ], - "set-cookie" : "__cf_bm=8eLLTZaCfQtgSL3NLvP3JzdjsPHMUlRrBntru6C0EwM-1783444522.9331417-1.0.1.1-lv4eh2OlljSO6GNnTdg6DFDVotwGYat4NHeOjLUPMp93X88SqnKOGtgykSQ.0zHZNyaBVhHjYcCrs4pz1pmCYWvJra2qhhxF7GuDhlAopH5MEDxUX.eeB10.7v62bkew; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.openai.com; Expires=Tue, 07 Jul 2026 17:45:32 GMT", - "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", - "CF-Cache-Status" : "DYNAMIC", - "x-ratelimit-limit-requests" : "30000", - "openai-version" : "2020-10-01", - "openai-processing-ms" : "9996", - "alt-svc" : "h3=\":443\"; ma=86400", - "openai-project" : "proj_vsCSXafhhByzWOThMrJcZiw9", - "Content-Type" : "application/json" - } - }, - "uuid" : "32cd4b25-7905-3129-a15b-fa08038a9c3c", - "persistent" : true, - "insertionIndex" : 3 -} \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/openai/mappings/responses-d93cfca55488.json b/test-harness/src/testFixtures/resources/cassettes/openai/mappings/responses-d93cfca55488.json index 1a772a82..ee8ebaa6 100644 --- a/test-harness/src/testFixtures/resources/cassettes/openai/mappings/responses-d93cfca55488.json +++ b/test-harness/src/testFixtures/resources/cassettes/openai/mappings/responses-d93cfca55488.json @@ -19,18 +19,18 @@ "status" : 200, "bodyFileName" : "responses-d93cfca55488.json", "headers" : { - "x-request-id" : "req_a0817c80ef1844f4b77229d486899cb5", + "x-request-id" : "req_7938016ece674ca1bbe3a6ea5b51b7fe", "openai-organization" : "braintrust-data", "Server" : "cloudflare", - "CF-Ray" : "a2cb775ae8a975ca-SEA", + "CF-Ray" : "a33dccb9bda08157-SEA", "X-Content-Type-Options" : "nosniff", - "Date" : "Mon, 17 Aug 2026 20:35:39 GMT", + "Date" : "Mon, 31 Aug 2026 17:37:07 GMT", "access-control-expose-headers" : [ "X-Request-ID", "CF-Ray", "CF-Ray" ], - "set-cookie" : "__cf_bm=33AYcaWB.a8ohqFcwrCgFS2TtFNhkYwBy4_P18.Oces-1786998936.7849169-1.0.1.1-oEAPKODxPG.LP_o_x5lDnW7s2f8Amuhl75lBSXL0ZVyhijgnvbhfyO_.Lt9NCLeVmx8H25cjFRPLMWcz9yqaQwrIaDeHhANJqhjol3kRJxKCs62jj2A7UcwH2eeNZl.T; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 17 Aug 2026 21:05:39 GMT", + "set-cookie" : "__cf_bm=rUqwUFk178QEE_3ep17aEbhIagAZB30tweiMfsARcHU-1788197810.198201-1.0.1.1-GEJS0kSSM56IsCSd07oQdsYgvXwoU7qJjzsuYQ1XVoeWv3dbPC5ISPbtwOM6NnbZlfdxQdcZ17KDXu1coDiR6PcZlDVrE40HG1.CbcnHdbwJgcKZSjiidCv3K7XyuSof; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 31 Aug 2026 18:07:07 GMT", "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", "CF-Cache-Status" : "DYNAMIC", "openai-version" : "2020-10-01", - "openai-processing-ms" : "2398", + "openai-processing-ms" : "16828", "alt-svc" : "h3=\":443\"; ma=86400", "openai-project" : "proj_vsCSXafhhByzWOThMrJcZiw9", "Content-Type" : "application/json" @@ -38,5 +38,5 @@ }, "uuid" : "dde6da21-001f-3f62-a4e7-39705cf9371a", "persistent" : true, - "insertionIndex" : 40 + "insertionIndex" : 21 } \ No newline at end of file diff --git a/test-harness/src/testFixtures/resources/cassettes/openai/mappings/responses-dade10fddc15.json b/test-harness/src/testFixtures/resources/cassettes/openai/mappings/responses-dade10fddc15.json index 5e1515e1..d907a0b4 100644 --- a/test-harness/src/testFixtures/resources/cassettes/openai/mappings/responses-dade10fddc15.json +++ b/test-harness/src/testFixtures/resources/cassettes/openai/mappings/responses-dade10fddc15.json @@ -19,18 +19,18 @@ "status" : 200, "bodyFileName" : "responses-dade10fddc15.txt", "headers" : { - "x-request-id" : "da5a6990-5cd5-4af1-ba00-2fd954b9a04e", + "x-request-id" : "req_9ce71d4f888644a3a3b4bb3db9a6e6c3", "openai-organization" : "braintrust-data", "Server" : "cloudflare", - "CF-Ray" : "a178817c6cf5752f-SEA", + "CF-Ray" : "a33dd7b00f27ec7c-SEA", "X-Content-Type-Options" : "nosniff", - "Date" : "Tue, 07 Jul 2026 17:17:59 GMT", + "Date" : "Mon, 31 Aug 2026 17:44:19 GMT", "access-control-expose-headers" : [ "X-Request-ID", "CF-Ray", "CF-Ray" ], - "set-cookie" : "__cf_bm=UupJTyM6SJi3NiX8ae80gni1pK0t3BeJoFRKZKFUXj4-1783444679.102809-1.0.1.1-lk2ccELMW3Lm5gzm_xCPtjTANPEy2wopn8rxDvB1Nl92bpez.QJoW0xn3uAjFXK3nGU3gqmrRRCPzZBPpdLmdH9n58Fd.hj92eUGttwbSur6j_7_QxXhKjxUYj1aD7.q; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.openai.com; Expires=Tue, 07 Jul 2026 17:47:59 GMT", + "set-cookie" : "__cf_bm=on4ezSN4OpsqqON3jGF.5k_6oG5PA30qdpYZkg2jFno-1788198259.2028723-1.0.1.1-jJr4HwKDfdfPxGPBVOGF1iCQ5eKJrNu_sLJgpMFCFjnqcBITpId5trQcHcKhrVC.iWKfNHuAZphlFSBjv_80QTdsVxegHvcJxpTGlvdiIHRfHtA4UbJjqVZS4OHWOBb6; HttpOnly; SameSite=None; Secure; Path=/; Domain=api.openai.com; Expires=Mon, 31 Aug 2026 18:14:19 GMT", "Strict-Transport-Security" : "max-age=31536000; includeSubDomains; preload", "CF-Cache-Status" : "DYNAMIC", "openai-version" : "2020-10-01", - "openai-processing-ms" : "141", + "openai-processing-ms" : "184", "alt-svc" : "h3=\":443\"; ma=86400", "openai-project" : "proj_vsCSXafhhByzWOThMrJcZiw9", "Content-Type" : "text/event-stream; charset=utf-8" @@ -40,5 +40,5 @@ "persistent" : true, "scenarioName" : "scenario-2-responses", "requiredScenarioState" : "scenario-2-responses-2", - "insertionIndex" : 16 + "insertionIndex" : 43 } \ No newline at end of file