From 143871bccc5a8f55c5f0a482e793fbaa88f9f208 Mon Sep 17 00:00:00 2001 From: lforst <8118419+lforst@users.noreply.github.com> Date: Fri, 11 Sep 2026 13:38:15 +0000 Subject: [PATCH 1/5] feat(bedrock): Capture embedding calls --- .../bedrock-runtime-v3-latest.cassette.json | 265 +++++++++++++++++- .../bedrock-runtime-v3.cassette.json | 257 ++++++++++++++++- .../bedrock-runtime-v3-auto.span-tree.json | 37 +++ .../bedrock-runtime-v3-auto.span-tree.txt | 29 ++ ...rock-runtime-v3-latest-auto.span-tree.json | 49 +++- ...drock-runtime-v3-latest-auto.span-tree.txt | 41 ++- ...k-runtime-v3-latest-wrapped.span-tree.json | 49 +++- ...ck-runtime-v3-latest-wrapped.span-tree.txt | 41 ++- .../bedrock-runtime-v3-wrapped.span-tree.json | 37 +++ .../bedrock-runtime-v3-wrapped.span-tree.txt | 29 ++ .../assertions.ts | 29 +- .../constants.mjs | 1 + .../scenario.impl.mjs | 20 ++ .../scenario.test.ts | 6 +- .../plugins/bedrock-runtime-plugin.test.ts | 165 +++++++++++ .../plugins/bedrock-runtime-plugin.ts | 163 ++++++++++- js/src/vendor-sdk-types/bedrock-runtime.ts | 1 + 17 files changed, 1167 insertions(+), 52 deletions(-) diff --git a/e2e/scenarios/bedrock-runtime-instrumentation/__cassettes__/bedrock-runtime-v3-latest.cassette.json b/e2e/scenarios/bedrock-runtime-instrumentation/__cassettes__/bedrock-runtime-v3-latest.cassette.json index c4cdf7a5c..1af1bd500 100644 --- a/e2e/scenarios/bedrock-runtime-instrumentation/__cassettes__/bedrock-runtime-v3-latest.cassette.json +++ b/e2e/scenarios/bedrock-runtime-instrumentation/__cassettes__/bedrock-runtime-v3-latest.cassette.json @@ -4,7 +4,7 @@ "callIndex": 0, "id": "167baa531c51f0bf", "matchKey": "POST bedrock-runtime.aws-region.amazonaws.com/model/us.amazon.nova-lite-v1%3A0/converse", - "recordedAt": "2026-09-03T04:29:52.164Z", + "recordedAt": "2026-09-11T12:57:57.001Z", "request": { "body": { "kind": "json", @@ -43,7 +43,7 @@ "kind": "json", "value": { "metrics": { - "latencyMs": 770 + "latencyMs": 551 }, "output": { "message": { @@ -57,10 +57,10 @@ }, "stopReason": "end_turn", "usage": { - "cacheReadInputTokenCount": 0, - "cacheReadInputTokens": 0, - "cacheWriteInputTokenCount": 14921, - "cacheWriteInputTokens": 14921, + "cacheReadInputTokenCount": 14921, + "cacheReadInputTokens": 14921, + "cacheWriteInputTokenCount": 0, + "cacheWriteInputTokens": 0, "inputTokens": 6, "outputTokens": 2, "serverToolUsage": {}, @@ -83,7 +83,7 @@ "callIndex": 0, "id": "5f6e11e6074e64db", "matchKey": "POST bedrock-runtime.aws-region.amazonaws.com/model/us.amazon.nova-lite-v1%3A0/converse-stream", - "recordedAt": "2026-09-03T04:29:52.707Z", + "recordedAt": "2026-09-11T12:57:57.586Z", "request": { "body": { "kind": "json", @@ -121,7 +121,7 @@ "body": { "contentType": "application/vnd.amazon.eventstream", "kind": "base64", - "value": "AAAAmgAAAFJ78dAACzpldmVudC10eXBlBwAMbWVzc2FnZVN0YXJ0DTpjb250ZW50LXR5cGUHABBhcHBsaWNhdGlvbi9qc29uDTptZXNzYWdlLXR5cGUHAAVldmVudHsicCI6ImFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6QUJDIiwicm9sZSI6ImFzc2lzdGFudCJ92EeA9QAAALMAAABXx0pp+gs6ZXZlbnQtdHlwZQcAEWNvbnRlbnRCbG9ja0RlbHRhDTpjb250ZW50LXR5cGUHABBhcHBsaWNhdGlvbi9qc29uDTptZXNzYWdlLXR5cGUHAAVldmVudHsiY29udGVudEJsb2NrSW5kZXgiOjAsImRlbHRhIjp7InRleHQiOiIifSwicCI6ImFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6In3rkVCrAAAA2wAAAFduCFV2CzpldmVudC10eXBlBwARY29udGVudEJsb2NrRGVsdGENOmNvbnRlbnQtdHlwZQcAEGFwcGxpY2F0aW9uL2pzb24NOm1lc3NhZ2UtdHlwZQcABWV2ZW50eyJjb250ZW50QmxvY2tJbmRleCI6MCwiZGVsdGEiOnsidGV4dCI6IlNUUkVBTSJ9LCJwIjoiYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWjAxMjM0NTY3In1cbHI9AAAAnAAAAFeE29EvCzpldmVudC10eXBlBwARY29udGVudEJsb2NrRGVsdGENOmNvbnRlbnQtdHlwZQcAEGFwcGxpY2F0aW9uL2pzb24NOm1lc3NhZ2UtdHlwZQcABWV2ZW50eyJjb250ZW50QmxvY2tJbmRleCI6MCwiZGVsdGEiOnsidGV4dCI6IiJ9LCJwIjoiYWJjIn0CsgalAAAArAAAAFZS/Vk/CzpldmVudC10eXBlBwAQY29udGVudEJsb2NrU3RvcA06Y29udGVudC10eXBlBwAQYXBwbGljYXRpb24vanNvbg06bWVzc2FnZS10eXBlBwAFZXZlbnR7ImNvbnRlbnRCbG9ja0luZGV4IjowLCJwIjoiYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNERUZHSElKS0xNTiJ9MZDPXQAAAIwAAABRDVjjmAs6ZXZlbnQtdHlwZQcAC21lc3NhZ2VTdG9wDTpjb250ZW50LXR5cGUHABBhcHBsaWNhdGlvbi9qc29uDTptZXNzYWdlLXR5cGUHAAVldmVudHsicCI6ImFiY2RlZmdoaWprIiwic3RvcFJlYXNvbiI6ImVuZF90dXJuIn2GB4QBAAABVgAAAE6ISVowCzpldmVudC10eXBlBwAIbWV0YWRhdGENOmNvbnRlbnQtdHlwZQcAEGFwcGxpY2F0aW9uL2pzb24NOm1lc3NhZ2UtdHlwZQcABWV2ZW50eyJtZXRyaWNzIjp7ImxhdGVuY3lNcyI6NTA3fSwicCI6ImFiY2RlZmdoaWoiLCJ1c2FnZSI6eyJjYWNoZVJlYWRJbnB1dFRva2VuQ291bnQiOjE0OTIyLCJjYWNoZVJlYWRJbnB1dFRva2VucyI6MTQ5MjIsImNhY2hlV3JpdGVJbnB1dFRva2VuQ291bnQiOjAsImNhY2hlV3JpdGVJbnB1dFRva2VucyI6MCwiaW5wdXRUb2tlbnMiOjYsIm91dHB1dFRva2VucyI6Mywic2VydmVyVG9vbFVzYWdlIjp7fSwidG90YWxUb2tlbnMiOjE0OTMxfX3f3E6/" + "value": "AAAAmgAAAFJ78dAACzpldmVudC10eXBlBwAMbWVzc2FnZVN0YXJ0DTpjb250ZW50LXR5cGUHABBhcHBsaWNhdGlvbi9qc29uDTptZXNzYWdlLXR5cGUHAAVldmVudHsicCI6ImFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6QUJDIiwicm9sZSI6ImFzc2lzdGFudCJ92EeA9QAAAMIAAABXA/ighQs6ZXZlbnQtdHlwZQcAEWNvbnRlbnRCbG9ja0RlbHRhDTpjb250ZW50LXR5cGUHABBhcHBsaWNhdGlvbi9qc29uDTptZXNzYWdlLXR5cGUHAAVldmVudHsiY29udGVudEJsb2NrSW5kZXgiOjAsImRlbHRhIjp7InRleHQiOiIifSwicCI6ImFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6QUJDREVGR0hJSktMTU5PIn2vzwFiAAAAvwAAAFcCuoT7CzpldmVudC10eXBlBwARY29udGVudEJsb2NrRGVsdGENOmNvbnRlbnQtdHlwZQcAEGFwcGxpY2F0aW9uL2pzb24NOm1lc3NhZ2UtdHlwZQcABWV2ZW50eyJjb250ZW50QmxvY2tJbmRleCI6MCwiZGVsdGEiOnsidGV4dCI6IlNUUkVBTSJ9LCJwIjoiYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNERUYifSb/SVUAAADWAAAAV5aYkccLOmV2ZW50LXR5cGUHABFjb250ZW50QmxvY2tEZWx0YQ06Y29udGVudC10eXBlBwAQYXBwbGljYXRpb24vanNvbg06bWVzc2FnZS10eXBlBwAFZXZlbnR7ImNvbnRlbnRCbG9ja0luZGV4IjowLCJkZWx0YSI6eyJ0ZXh0IjoiIn0sInAiOiJhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ekFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaMDEyMzQ1Njc4In2oFQFAAAAAuAAAAFbHnWh9CzpldmVudC10eXBlBwAQY29udGVudEJsb2NrU3RvcA06Y29udGVudC10eXBlBwAQYXBwbGljYXRpb24vanNvbg06bWVzc2FnZS10eXBlBwAFZXZlbnR7ImNvbnRlbnRCbG9ja0luZGV4IjowLCJwIjoiYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWiJ9i57JpAAAAIMAAABRjwh0SQs6ZXZlbnQtdHlwZQcAC21lc3NhZ2VTdG9wDTpjb250ZW50LXR5cGUHABBhcHBsaWNhdGlvbi9qc29uDTptZXNzYWdlLXR5cGUHAAVldmVudHsicCI6ImFiIiwic3RvcFJlYXNvbiI6ImVuZF90dXJuIn2QVumkAAABUgAAAE59yfzwCzpldmVudC10eXBlBwAIbWV0YWRhdGENOmNvbnRlbnQtdHlwZQcAEGFwcGxpY2F0aW9uL2pzb24NOm1lc3NhZ2UtdHlwZQcABWV2ZW50eyJtZXRyaWNzIjp7ImxhdGVuY3lNcyI6NTQ1fSwicCI6ImFiY2RlZiIsInVzYWdlIjp7ImNhY2hlUmVhZElucHV0VG9rZW5Db3VudCI6MTQ5MjIsImNhY2hlUmVhZElucHV0VG9rZW5zIjoxNDkyMiwiY2FjaGVXcml0ZUlucHV0VG9rZW5Db3VudCI6MCwiY2FjaGVXcml0ZUlucHV0VG9rZW5zIjowLCJpbnB1dFRva2VucyI6Niwib3V0cHV0VG9rZW5zIjozLCJzZXJ2ZXJUb29sVXNhZ2UiOnt9LCJ0b3RhbFRva2VucyI6MTQ5MzF9fegnRzQ=" }, "headers": { "connection": "keep-alive", @@ -138,7 +138,7 @@ "callIndex": 0, "id": "3e9c682f68d2d756", "matchKey": "POST bedrock-runtime.aws-region.amazonaws.com/model/us.amazon.nova-lite-v1%3A0/invoke", - "recordedAt": "2026-09-03T04:29:53.308Z", + "recordedAt": "2026-09-11T12:57:58.196Z", "request": { "body": { "kind": "json", @@ -203,7 +203,7 @@ "x-amzn-bedrock-cache-read-input-token-count": "14921", "x-amzn-bedrock-cache-write-input-token-count": "0", "x-amzn-bedrock-input-token-count": "6", - "x-amzn-bedrock-invocation-latency": "560", + "x-amzn-bedrock-invocation-latency": "567", "x-amzn-bedrock-output-token-count": "2", "x-amzn-requestid": "[REDACTED]" }, @@ -211,11 +211,252 @@ "statusText": "OK" } }, + { + "callIndex": 0, + "id": "0d28290b31e60524", + "matchKey": "POST bedrock-runtime.aws-region.amazonaws.com/model/amazon.titan-embed-text-v2%3A0/invoke", + "recordedAt": "2026-09-11T12:57:58.473Z", + "request": { + "body": { + "kind": "json", + "value": { + "dimensions": 256, + "inputText": "Embed this short Braintrust test sentence.", + "normalize": true + } + }, + "headers": {}, + "method": "POST", + "url": "https://bedrock-runtime.us-east-2.amazonaws.com/model/amazon.titan-embed-text-v2%3A0/invoke" + }, + "response": { + "body": { + "kind": "json", + "value": { + "embedding": [ + -0.12292258441448212, -0.07959577441215515, 0.08431042730808258, + -0.10088402777910233, 0.05975078046321869, 0.04403328150510788, + 0.024066895246505737, -0.04080509766936302, 0.02489643730223179, + -0.0795687884092331, 0.02351302281022072, 0.07398539036512375, + 0.04453573003411293, 0.08846784383058548, -0.10815097391605377, + 0.05521947890520096, -0.16448578238487244, 0.004347097594290972, + 0.07222197949886322, 0.0463339164853096, -0.07095752656459808, + 0.059447288513183594, 0.09525425732135773, 0.022096727043390274, + -0.017248446121811867, 0.048663217574357986, 0.023638635873794556, + -0.1004452258348465, 0.0075063626281917095, + -0.0059416936710476875, 0.027133848518133163, 0.06913647055625916, + -0.03559283912181854, -0.02739856019616127, 0.038251765072345734, + 0.06140438839793205, 0.1045832559466362, 0.014584042131900787, + -0.06437397003173828, -0.047034475952386856, 0.11060492694377899, + -0.038175467401742935, -0.0009408244513906538, 0.0793125107884407, + 0.007091590669006109, 0.018523111939430237, -0.06668557226657867, + 0.006105242297053337, 0.13666148483753204, -0.05786997452378273, + 0.014439462684094906, -0.044528983533382416, 0.024444574490189552, + -0.005831677932292223, 0.017307458445429802, 0.04847774654626846, + -0.02452550269663334, 0.06572577357292175, 0.0029202650766819715, + 0.007529967464506626, -0.1039273738861084, -0.03952137008309364, + -0.004398839082568884, 0.07740472257137299, 0.04621167480945587, + -0.17100746929645538, -0.04082975909113884, -0.0588807687163353, + -0.04599248990416527, -0.020512986928224564, -0.09188719093799591, + 0.00426911748945713, -0.000692129775416106, 0.004748803097754717, + 0.13025866448879242, 0.01573941856622696, 0.17338144779205322, + 0.003193407552316785, -0.029229626059532166, 0.024968940764665604, + -0.04834539070725441, -0.15418729186058044, -0.03690817579627037, + -0.06842221319675446, -0.10160229355096817, -0.09653398394584656, + 0.03875800594687462, 0.05118556693196297, 0.07510367035865784, + 0.03143162652850151, 0.02311595529317856, -0.015048659406602383, + 0.01710296981036663, -0.11315520852804184, 0.018481381237506866, + -0.0338292121887207, -0.058479487895965576, -0.036149658262729645, + -0.09464769810438156, 0.12142283469438553, 0.029261663556098938, + -0.004921624902635813, -0.04159269854426384, 0.08198323100805283, + 0.03196780011057854, 0.07600276172161102, -0.019774172455072403, + 0.02676628716289997, 0.007893314585089684, -0.08676154911518097, + 0.0862523540854454, 0.07928552478551865, -0.00991069059818983, + -0.14990806579589844, -0.023241829127073288, + -0.041857410222291946, 0.0588386170566082, -0.0015747849829494953, + -0.0013943759258836508, 0.057771336287260056, + -0.030339965596795082, -0.11415335536003113, 0.10198081284761429, + 0.0721922516822815, -0.05151677504181862, -0.023935591802001, + 0.08501140773296356, -0.19109611213207245, 0.018602358177304268, + 0.008469948545098305, 0.08628860116004944, -0.04712215065956116, + -0.12366276979446411, -0.056274112313985825, + -0.006444351747632027, -0.09390708804130554, 0.010054955258965492, + -0.025729354470968246, 0.032284777611494064, 0.020303597673773766, + 0.10665374249219894, 0.03838158771395683, 0.006953333038836718, + -0.0051728482358157635, 0.001733275013975799, + -0.09658793359994888, 0.10766538977622986, -0.022696124389767647, + -0.05594448745250702, 0.046537090092897415, -0.018275262787938118, + -0.018421949818730354, 0.08769562840461731, 0.052673522382974625, + -0.08586961776018143, -0.0235922671854496, -0.0772588774561882, + -0.014924732968211174, -0.05366745963692665, -0.05541253462433815, + 0.045496780425310135, 0.002971057780086994, -0.03147293999791145, + 0.002948084846138954, -0.021311864256858826, + -0.039724960923194885, 0.010902097448706627, 0.06243161857128143, + -0.026628030464053154, 0.11030576378107071, -0.1452612727880478, + 0.005462851375341415, 0.02862938679754734, -0.06087370216846466, + 0.010403022170066833, 0.10341817885637283, -0.033940497785806656, + 0.020730171352624893, 0.028514735400676727, 0.008983355015516281, + -0.10639071464538574, -0.00584490317851305, 0.0036663489881902933, + 0.020740289241075516, -0.044970735907554626, 0.04415973275899887, + 0.028332114219665527, 0.0067518483847379684, + -0.054336823523044586, 0.03544783592224121, 0.0672975555062294, + 0.01806703209877014, 0.04297527298331261, 0.05716772750020027, + -0.09931936860084534, 0.034363698214292526, 0.09905970841646194, + 0.02531627006828785, 0.0007899216143414378, -0.034105729311704636, + 0.11593195050954819, -0.04631452634930611, -0.015666916966438293, + 0.07577851414680481, 0.05583911016583443, -0.07117555290460587, + -0.01634724624454975, -0.02705981954932213, 0.10862980782985687, + -0.04369606822729111, -0.05634155496954918, -0.03384438529610634, + -0.02436027117073536, -0.01253589428961277, + -0.0010310289217159152, -0.03024463914334774, + -0.01715908572077751, 0.0645122304558754, 0.030614729970693588, + 0.08481582999229431, -0.0016961815999820828, 0.024990860372781754, + 0.03251070901751518, 0.08395930379629135, 0.10277410596609116, + -0.0586211159825325, 0.021863209083676338, -0.006060561165213585, + 0.08362884074449539, -0.0015376914525404572, 0.05520851910114288, + 0.007351244799792767, 0.009044053964316845, 0.05301115661859512, + -0.14014236629009247, -0.07494518160820007, -0.03454863652586937, + 0.005095289088785648, -0.011873271316289902, -0.06659957021474838, + -0.003867833875119686, -0.04873403161764145, -0.03669552505016327, + -0.10232392698526382, -0.027862651273608208, + -0.023979220539331436, -0.03040650114417076, 0.003351897466927767, + -0.08534693717956543, -0.044603168964385986, + -0.009662418626248837, -0.042438264936208725, 0.0830184817314148, + 0.013444683514535427, 0.06837331503629684, 0.0042699603363871574 + ], + "embeddingsByType": { + "float": [ + -0.12292258441448212, -0.07959577441215515, 0.08431042730808258, + -0.10088402777910233, 0.05975078046321869, 0.04403328150510788, + 0.024066895246505737, -0.04080509766936302, 0.02489643730223179, + -0.0795687884092331, 0.02351302281022072, 0.07398539036512375, + 0.04453573003411293, 0.08846784383058548, -0.10815097391605377, + 0.05521947890520096, -0.16448578238487244, 0.004347097594290972, + 0.07222197949886322, 0.0463339164853096, -0.07095752656459808, + 0.059447288513183594, 0.09525425732135773, 0.022096727043390274, + -0.017248446121811867, 0.048663217574357986, + 0.023638635873794556, -0.1004452258348465, + 0.0075063626281917095, -0.0059416936710476875, + 0.027133848518133163, 0.06913647055625916, -0.03559283912181854, + -0.02739856019616127, 0.038251765072345734, 0.06140438839793205, + 0.1045832559466362, 0.014584042131900787, -0.06437397003173828, + -0.047034475952386856, 0.11060492694377899, + -0.038175467401742935, -0.0009408244513906538, + 0.0793125107884407, 0.007091590669006109, 0.018523111939430237, + -0.06668557226657867, 0.006105242297053337, 0.13666148483753204, + -0.05786997452378273, 0.014439462684094906, + -0.044528983533382416, 0.024444574490189552, + -0.005831677932292223, 0.017307458445429802, + 0.04847774654626846, -0.02452550269663334, 0.06572577357292175, + 0.0029202650766819715, 0.007529967464506626, + -0.1039273738861084, -0.03952137008309364, + -0.004398839082568884, 0.07740472257137299, 0.04621167480945587, + -0.17100746929645538, -0.04082975909113884, -0.0588807687163353, + -0.04599248990416527, -0.020512986928224564, + -0.09188719093799591, 0.00426911748945713, + -0.000692129775416106, 0.004748803097754717, + 0.13025866448879242, 0.01573941856622696, 0.17338144779205322, + 0.003193407552316785, -0.029229626059532166, + 0.024968940764665604, -0.04834539070725441, + -0.15418729186058044, -0.03690817579627037, + -0.06842221319675446, -0.10160229355096817, + -0.09653398394584656, 0.03875800594687462, 0.05118556693196297, + 0.07510367035865784, 0.03143162652850151, 0.02311595529317856, + -0.015048659406602383, 0.01710296981036663, + -0.11315520852804184, 0.018481381237506866, -0.0338292121887207, + -0.058479487895965576, -0.036149658262729645, + -0.09464769810438156, 0.12142283469438553, 0.029261663556098938, + -0.004921624902635813, -0.04159269854426384, + 0.08198323100805283, 0.03196780011057854, 0.07600276172161102, + -0.019774172455072403, 0.02676628716289997, + 0.007893314585089684, -0.08676154911518097, 0.0862523540854454, + 0.07928552478551865, -0.00991069059818983, -0.14990806579589844, + -0.023241829127073288, -0.041857410222291946, + 0.0588386170566082, -0.0015747849829494953, + -0.0013943759258836508, 0.057771336287260056, + -0.030339965596795082, -0.11415335536003113, + 0.10198081284761429, 0.0721922516822815, -0.05151677504181862, + -0.023935591802001, 0.08501140773296356, -0.19109611213207245, + 0.018602358177304268, 0.008469948545098305, 0.08628860116004944, + -0.04712215065956116, -0.12366276979446411, + -0.056274112313985825, -0.006444351747632027, + -0.09390708804130554, 0.010054955258965492, + -0.025729354470968246, 0.032284777611494064, + 0.020303597673773766, 0.10665374249219894, 0.03838158771395683, + 0.006953333038836718, -0.0051728482358157635, + 0.001733275013975799, -0.09658793359994888, 0.10766538977622986, + -0.022696124389767647, -0.05594448745250702, + 0.046537090092897415, -0.018275262787938118, + -0.018421949818730354, 0.08769562840461731, + 0.052673522382974625, -0.08586961776018143, -0.0235922671854496, + -0.0772588774561882, -0.014924732968211174, + -0.05366745963692665, -0.05541253462433815, + 0.045496780425310135, 0.002971057780086994, + -0.03147293999791145, 0.002948084846138954, + -0.021311864256858826, -0.039724960923194885, + 0.010902097448706627, 0.06243161857128143, + -0.026628030464053154, 0.11030576378107071, -0.1452612727880478, + 0.005462851375341415, 0.02862938679754734, -0.06087370216846466, + 0.010403022170066833, 0.10341817885637283, + -0.033940497785806656, 0.020730171352624893, + 0.028514735400676727, 0.008983355015516281, + -0.10639071464538574, -0.00584490317851305, + 0.0036663489881902933, 0.020740289241075516, + -0.044970735907554626, 0.04415973275899887, + 0.028332114219665527, 0.0067518483847379684, + -0.054336823523044586, 0.03544783592224121, 0.0672975555062294, + 0.01806703209877014, 0.04297527298331261, 0.05716772750020027, + -0.09931936860084534, 0.034363698214292526, 0.09905970841646194, + 0.02531627006828785, 0.0007899216143414378, + -0.034105729311704636, 0.11593195050954819, + -0.04631452634930611, -0.015666916966438293, + 0.07577851414680481, 0.05583911016583443, -0.07117555290460587, + -0.01634724624454975, -0.02705981954932213, 0.10862980782985687, + -0.04369606822729111, -0.05634155496954918, + -0.03384438529610634, -0.02436027117073536, + -0.01253589428961277, -0.0010310289217159152, + -0.03024463914334774, -0.01715908572077751, 0.0645122304558754, + 0.030614729970693588, 0.08481582999229431, + -0.0016961815999820828, 0.024990860372781754, + 0.03251070901751518, 0.08395930379629135, 0.10277410596609116, + -0.0586211159825325, 0.021863209083676338, + -0.006060561165213585, 0.08362884074449539, + -0.0015376914525404572, 0.05520851910114288, + 0.007351244799792767, 0.009044053964316845, 0.05301115661859512, + -0.14014236629009247, -0.07494518160820007, + -0.03454863652586937, 0.005095289088785648, + -0.011873271316289902, -0.06659957021474838, + -0.003867833875119686, -0.04873403161764145, + -0.03669552505016327, -0.10232392698526382, + -0.027862651273608208, -0.023979220539331436, + -0.03040650114417076, 0.003351897466927767, + -0.08534693717956543, -0.044603168964385986, + -0.009662418626248837, -0.042438264936208725, + 0.0830184817314148, 0.013444683514535427, 0.06837331503629684, + 0.0042699603363871574 + ] + }, + "inputTextTokenCount": 9 + } + }, + "headers": { + "connection": "keep-alive", + "content-length": "10752", + "content-type": "application/json", + "date": "[REDACTED]", + "x-amzn-bedrock-input-token-count": "9", + "x-amzn-bedrock-invocation-latency": "252", + "x-amzn-requestid": "[REDACTED]" + }, + "status": 200, + "statusText": "OK" + } + }, { "callIndex": 0, "id": "6b97f66ee2a0ebd7", "matchKey": "POST bedrock-runtime.aws-region.amazonaws.com/model/us.amazon.nova-lite-v1%3A0/invoke-with-response-stream", - "recordedAt": "2026-09-03T04:29:53.975Z", + "recordedAt": "2026-09-11T12:57:59.231Z", "request": { "body": { "kind": "json", @@ -252,7 +493,7 @@ "body": { "contentType": "application/vnd.amazon.eventstream", "kind": "base64", - "value": "AAAApwAAAEtGKwT3CzpldmVudC10eXBlBwAFY2h1bmsNOmNvbnRlbnQtdHlwZQcAEGFwcGxpY2F0aW9uL2pzb24NOm1lc3NhZ2UtdHlwZQcABWV2ZW50eyJieXRlcyI6ImV5SnRaWE56WVdkbFUzUmhjblFpT25zaWNtOXNaU0k2SW1GemMybHpkR0Z1ZENKOWZRPT0iLCJwIjoiYWJjZGUifZ0S/N0AAAEAAAAAS09wlNQLOmV2ZW50LXR5cGUHAAVjaHVuaw06Y29udGVudC10eXBlBwAQYXBwbGljYXRpb24vanNvbg06bWVzc2FnZS10eXBlBwAFZXZlbnR7ImJ5dGVzIjoiZXlKamIyNTBaVzUwUW14dlkydEVaV3gwWVNJNmV5SmtaV3gwWVNJNmV5SjBaWGgwSWpvaVVrRlhJbjBzSW1OdmJuUmxiblJDYkc5amEwbHVaR1Y0SWpvd2ZYMD0iLCJwIjoiYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWjAxIn3eemuTAAAA4gAAAEvWONPOCzpldmVudC10eXBlBwAFY2h1bmsNOmNvbnRlbnQtdHlwZQcAEGFwcGxpY2F0aW9uL2pzb24NOm1lc3NhZ2UtdHlwZQcABWV2ZW50eyJieXRlcyI6ImV5SmpiMjUwWlc1MFFteHZZMnRUZEc5d0lqcDdJbU52Ym5SbGJuUkNiRzlqYTBsdVpHVjRJam93ZlgwPSIsInAiOiJhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ekFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaMDEyMyJ9cDMuGwAAAPoAAABLhqgPjQs6ZXZlbnQtdHlwZQcABWNodW5rDTpjb250ZW50LXR5cGUHABBhcHBsaWNhdGlvbi9qc29uDTptZXNzYWdlLXR5cGUHAAVldmVudHsiYnl0ZXMiOiJleUpqYjI1MFpXNTBRbXh2WTJ0RVpXeDBZU0k2ZXlKa1pXeDBZU0k2ZXlKMFpYaDBJam9pVTFSU1JVRk5JbjBzSW1OdmJuUmxiblJDYkc5amEwbHVaR1Y0SWpveGZYMD0iLCJwIjoiYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNERUZHSElKS0xNTk9QUVIifZZg/3kAAADFAAAAS6XZINoLOmV2ZW50LXR5cGUHAAVjaHVuaw06Y29udGVudC10eXBlBwAQYXBwbGljYXRpb24vanNvbg06bWVzc2FnZS10eXBlBwAFZXZlbnR7ImJ5dGVzIjoiZXlKamIyNTBaVzUwUW14dlkydFRkRzl3SWpwN0ltTnZiblJsYm5SQ2JHOWphMGx1WkdWNElqb3hmWDA9IiwicCI6ImFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6QSJ9mhWMGwAAANoAAABLR2kgiQs6ZXZlbnQtdHlwZQcABWNodW5rDTpjb250ZW50LXR5cGUHABBhcHBsaWNhdGlvbi9qc29uDTptZXNzYWdlLXR5cGUHAAVldmVudHsiYnl0ZXMiOiJleUpqYjI1MFpXNTBRbXh2WTJ0RVpXeDBZU0k2ZXlKa1pXeDBZU0k2ZXlKMFpYaDBJam9pSW4wc0ltTnZiblJsYm5SQ2JHOWphMGx1WkdWNElqb3lmWDA9IiwicCI6ImFiY2RlZmdoaWprbG1ub3BxcnN0In11bwjBAAAA4QAAAEuRmKkeCzpldmVudC10eXBlBwAFY2h1bmsNOmNvbnRlbnQtdHlwZQcAEGFwcGxpY2F0aW9uL2pzb24NOm1lc3NhZ2UtdHlwZQcABWV2ZW50eyJieXRlcyI6ImV5SmpiMjUwWlc1MFFteHZZMnRUZEc5d0lqcDdJbU52Ym5SbGJuUkNiRzlqYTBsdVpHVjRJam95ZlgwPSIsInAiOiJhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ekFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaMDEyIn2C1bquAAAAqAAAAEvEe5MmCzpldmVudC10eXBlBwAFY2h1bmsNOmNvbnRlbnQtdHlwZQcAEGFwcGxpY2F0aW9uL2pzb24NOm1lc3NhZ2UtdHlwZQcABWV2ZW50eyJieXRlcyI6ImV5SnRaWE56WVdkbFUzUnZjQ0k2ZXlKemRHOXdVbVZoYzI5dUlqb2laVzVrWDNSMWNtNGlmWDA9IiwicCI6ImFiIn0qaxypAAACQAAAAEuRF74zCzpldmVudC10eXBlBwAFY2h1bmsNOmNvbnRlbnQtdHlwZQcAEGFwcGxpY2F0aW9uL2pzb24NOm1lc3NhZ2UtdHlwZQcABWV2ZW50eyJieXRlcyI6ImV5SnRaWFJoWkdGMFlTSTZleUoxYzJGblpTSTZleUpwYm5CMWRGUnZhMlZ1Y3lJNk5pd2liM1YwY0hWMFZHOXJaVzV6SWpvekxDSmpZV05vWlZKbFlXUkpibkIxZEZSdmEyVnVRMjkxYm5RaU9qRTBPVEl5TENKallXTm9aVmR5YVhSbFNXNXdkWFJVYjJ0bGJrTnZkVzUwSWpvd2ZTd2liV1YwY21samN5STZlMzBzSW5SeVlXTmxJanA3Zlgwc0ltRnRZWHB2YmkxaVpXUnliMk5yTFdsdWRtOWpZWFJwYjI1TlpYUnlhV056SWpwN0ltbHVjSFYwVkc5clpXNURiM1Z1ZENJNk5pd2liM1YwY0hWMFZHOXJaVzVEYjNWdWRDSTZNeXdpYVc1MmIyTmhkR2x2Ymt4aGRHVnVZM2tpT2pZek1pd2labWx5YzNSQ2VYUmxUR0YwWlc1amVTSTZOVGMzTENKallXTm9aVkpsWVdSSmJuQjFkRlJ2YTJWdVEyOTFiblFpT2pFME9USXlMQ0pqWVdOb1pWZHlhWFJsU1c1d2RYUlViMnRsYmtOdmRXNTBJam93ZlgwPSIsInAiOiJhYmNkZWZnaGlqa2xtbm9wcXJzdHV2In0bVo2U" + "value": "AAAAvgAAAEsr2/EECzpldmVudC10eXBlBwAFY2h1bmsNOmNvbnRlbnQtdHlwZQcAEGFwcGxpY2F0aW9uL2pzb24NOm1lc3NhZ2UtdHlwZQcABWV2ZW50eyJieXRlcyI6ImV5SnRaWE56WVdkbFUzUmhjblFpT25zaWNtOXNaU0k2SW1GemMybHpkR0Z1ZENKOWZRPT0iLCJwIjoiYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQiJ9NOrvXwAAAQIAAABLNbDHtAs6ZXZlbnQtdHlwZQcABWNodW5rDTpjb250ZW50LXR5cGUHABBhcHBsaWNhdGlvbi9qc29uDTptZXNzYWdlLXR5cGUHAAVldmVudHsiYnl0ZXMiOiJleUpqYjI1MFpXNTBRbXh2WTJ0RVpXeDBZU0k2ZXlKa1pXeDBZU0k2ZXlKMFpYaDBJam9pVWtGWEluMHNJbU52Ym5SbGJuUkNiRzlqYTBsdVpHVjRJam93ZlgwPSIsInAiOiJhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ekFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaMDEyMyJ9Q9XCZwAAANAAAABLDdk4KAs6ZXZlbnQtdHlwZQcABWNodW5rDTpjb250ZW50LXR5cGUHABBhcHBsaWNhdGlvbi9qc29uDTptZXNzYWdlLXR5cGUHAAVldmVudHsiYnl0ZXMiOiJleUpqYjI1MFpXNTBRbXh2WTJ0VGRHOXdJanA3SW1OdmJuUmxiblJDYkc5amEwbHVaR1Y0SWpvd2ZYMD0iLCJwIjoiYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNERUZHSElKS0wifWn+3P4AAADdAAAAS/VJ/JkLOmV2ZW50LXR5cGUHAAVjaHVuaw06Y29udGVudC10eXBlBwAQYXBwbGljYXRpb24vanNvbg06bWVzc2FnZS10eXBlBwAFZXZlbnR7ImJ5dGVzIjoiZXlKamIyNTBaVzUwUW14dlkydEVaV3gwWVNJNmV5SmtaV3gwWVNJNmV5SjBaWGgwSWpvaVUxUlNSVUZOSW4wc0ltTnZiblJsYm5SQ2JHOWphMGx1WkdWNElqb3hmWDA9IiwicCI6ImFiY2RlZmdoaWprbG1ubyJ9421YdgAAALEAAABLqYtm1Qs6ZXZlbnQtdHlwZQcABWNodW5rDTpjb250ZW50LXR5cGUHABBhcHBsaWNhdGlvbi9qc29uDTptZXNzYWdlLXR5cGUHAAVldmVudHsiYnl0ZXMiOiJleUpqYjI1MFpXNTBRbXh2WTJ0VGRHOXdJanA3SW1OdmJuUmxiblJDYkc5amEwbHVaR1Y0SWpveGZYMD0iLCJwIjoiYWJjZGVmZyJ9z/gnGgAAAOQAAABLWXgmbgs6ZXZlbnQtdHlwZQcABWNodW5rDTpjb250ZW50LXR5cGUHABBhcHBsaWNhdGlvbi9qc29uDTptZXNzYWdlLXR5cGUHAAVldmVudHsiYnl0ZXMiOiJleUpqYjI1MFpXNTBRbXh2WTJ0RVpXeDBZU0k2ZXlKa1pXeDBZU0k2ZXlKMFpYaDBJam9pSW4wc0ltTnZiblJsYm5SQ2JHOWphMGx1WkdWNElqb3lmWDA9IiwicCI6ImFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6QUJDRCJ9PCuwJwAAANMAAABLSnlC+As6ZXZlbnQtdHlwZQcABWNodW5rDTpjb250ZW50LXR5cGUHABBhcHBsaWNhdGlvbi9qc29uDTptZXNzYWdlLXR5cGUHAAVldmVudHsiYnl0ZXMiOiJleUpqYjI1MFpXNTBRbXh2WTJ0VGRHOXdJanA3SW1OdmJuUmxiblJDYkc5amEwbHVaR1Y0SWpveWZYMD0iLCJwIjoiYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNERUZHSElKS0xNTk8ifXBEvIMAAADTAAAAS0p5QvgLOmV2ZW50LXR5cGUHAAVjaHVuaw06Y29udGVudC10eXBlBwAQYXBwbGljYXRpb24vanNvbg06bWVzc2FnZS10eXBlBwAFZXZlbnR7ImJ5dGVzIjoiZXlKdFpYTnpZV2RsVTNSdmNDSTZleUp6ZEc5d1VtVmhjMjl1SWpvaVpXNWtYM1IxY200aWZYMD0iLCJwIjoiYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNERUZHSElKS0xNTk9QUVJTIn0h7xHBAAACYAAAAEtQ1pE3CzpldmVudC10eXBlBwAFY2h1bmsNOmNvbnRlbnQtdHlwZQcAEGFwcGxpY2F0aW9uL2pzb24NOm1lc3NhZ2UtdHlwZQcABWV2ZW50eyJieXRlcyI6ImV5SnRaWFJoWkdGMFlTSTZleUoxYzJGblpTSTZleUpwYm5CMWRGUnZhMlZ1Y3lJNk5pd2liM1YwY0hWMFZHOXJaVzV6SWpvekxDSmpZV05vWlZKbFlXUkpibkIxZEZSdmEyVnVRMjkxYm5RaU9qQXNJbU5oWTJobFYzSnBkR1ZKYm5CMWRGUnZhMlZ1UTI5MWJuUWlPakUwT1RJeWZTd2liV1YwY21samN5STZlMzBzSW5SeVlXTmxJanA3Zlgwc0ltRnRZWHB2YmkxaVpXUnliMk5yTFdsdWRtOWpZWFJwYjI1TlpYUnlhV056SWpwN0ltbHVjSFYwVkc5clpXNURiM1Z1ZENJNk5pd2liM1YwY0hWMFZHOXJaVzVEYjNWdWRDSTZNeXdpYVc1MmIyTmhkR2x2Ymt4aGRHVnVZM2tpT2pjeU15d2labWx5YzNSQ2VYUmxUR0YwWlc1amVTSTZOalUzTENKallXTm9aVkpsWVdSSmJuQjFkRlJ2YTJWdVEyOTFiblFpT2pBc0ltTmhZMmhsVjNKcGRHVkpibkIxZEZSdmEyVnVRMjkxYm5RaU9qRTBPVEl5ZlgwPSIsInAiOiJhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ekFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaMDEifW1I4EI=" }, "headers": { "connection": "keep-alive", diff --git a/e2e/scenarios/bedrock-runtime-instrumentation/__cassettes__/bedrock-runtime-v3.cassette.json b/e2e/scenarios/bedrock-runtime-instrumentation/__cassettes__/bedrock-runtime-v3.cassette.json index 0b53b4af4..338b36fe4 100644 --- a/e2e/scenarios/bedrock-runtime-instrumentation/__cassettes__/bedrock-runtime-v3.cassette.json +++ b/e2e/scenarios/bedrock-runtime-instrumentation/__cassettes__/bedrock-runtime-v3.cassette.json @@ -4,7 +4,7 @@ "callIndex": 0, "id": "167baa531c51f0bf", "matchKey": "POST bedrock-runtime.aws-region.amazonaws.com/model/us.amazon.nova-lite-v1%3A0/converse", - "recordedAt": "2026-09-03T04:29:45.476Z", + "recordedAt": "2026-09-11T12:57:49.978Z", "request": { "body": { "kind": "json", @@ -43,7 +43,7 @@ "kind": "json", "value": { "metrics": { - "latencyMs": 504 + "latencyMs": 510 }, "output": { "message": { @@ -83,7 +83,7 @@ "callIndex": 0, "id": "5f6e11e6074e64db", "matchKey": "POST bedrock-runtime.aws-region.amazonaws.com/model/us.amazon.nova-lite-v1%3A0/converse-stream", - "recordedAt": "2026-09-03T04:29:46.080Z", + "recordedAt": "2026-09-11T12:57:50.653Z", "request": { "body": { "kind": "json", @@ -121,7 +121,7 @@ "body": { "contentType": "application/vnd.amazon.eventstream", "kind": "base64", - "value": "AAAAugAAAFK6MP8ECzpldmVudC10eXBlBwAMbWVzc2FnZVN0YXJ0DTpjb250ZW50LXR5cGUHABBhcHBsaWNhdGlvbi9qc29uDTptZXNzYWdlLXR5cGUHAAVldmVudHsicCI6ImFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6QUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVowMTIzNDU2NzgiLCJyb2xlIjoiYXNzaXN0YW50In00xKBOAAAAoQAAAFfdaq0YCzpldmVudC10eXBlBwARY29udGVudEJsb2NrRGVsdGENOmNvbnRlbnQtdHlwZQcAEGFwcGxpY2F0aW9uL2pzb24NOm1lc3NhZ2UtdHlwZQcABWV2ZW50eyJjb250ZW50QmxvY2tJbmRleCI6MCwiZGVsdGEiOnsidGV4dCI6IiJ9LCJwIjoiYWJjZGVmZ2gifeuV2vEAAACrAAAAV5fatbkLOmV2ZW50LXR5cGUHABFjb250ZW50QmxvY2tEZWx0YQ06Y29udGVudC10eXBlBwAQYXBwbGljYXRpb24vanNvbg06bWVzc2FnZS10eXBlBwAFZXZlbnR7ImNvbnRlbnRCbG9ja0luZGV4IjowLCJkZWx0YSI6eyJ0ZXh0IjoiU1RSRUFNIn0sInAiOiJhYmNkZWZnaGlqa2wifdlQ8xMAAADNAAAAV4GoN1QLOmV2ZW50LXR5cGUHABFjb250ZW50QmxvY2tEZWx0YQ06Y29udGVudC10eXBlBwAQYXBwbGljYXRpb24vanNvbg06bWVzc2FnZS10eXBlBwAFZXZlbnR7ImNvbnRlbnRCbG9ja0luZGV4IjowLCJkZWx0YSI6eyJ0ZXh0IjoiIn0sInAiOiJhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ekFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaIn2Hkb5OAAAAmAAAAFYGXEd5CzpldmVudC10eXBlBwAQY29udGVudEJsb2NrU3RvcA06Y29udGVudC10eXBlBwAQYXBwbGljYXRpb24vanNvbg06bWVzc2FnZS10eXBlBwAFZXZlbnR7ImNvbnRlbnRCbG9ja0luZGV4IjowLCJwIjoiYWJjZGVmZ2hpamtsbW5vcHFyc3QifRIDkV4AAAClAAAAUcGJru0LOmV2ZW50LXR5cGUHAAttZXNzYWdlU3RvcA06Y29udGVudC10eXBlBwAQYXBwbGljYXRpb24vanNvbg06bWVzc2FnZS10eXBlBwAFZXZlbnR7InAiOiJhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ekFCQ0RFRkdISUoiLCJzdG9wUmVhc29uIjoiZW5kX3R1cm4ifUn7n6cAAAFoAAAATpZYXNcLOmV2ZW50LXR5cGUHAAhtZXRhZGF0YQ06Y29udGVudC10eXBlBwAQYXBwbGljYXRpb24vanNvbg06bWVzc2FnZS10eXBlBwAFZXZlbnR7Im1ldHJpY3MiOnsibGF0ZW5jeU1zIjo1Njd9LCJwIjoiYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQiIsInVzYWdlIjp7ImNhY2hlUmVhZElucHV0VG9rZW5Db3VudCI6MTQ5MjIsImNhY2hlUmVhZElucHV0VG9rZW5zIjoxNDkyMiwiY2FjaGVXcml0ZUlucHV0VG9rZW5Db3VudCI6MCwiY2FjaGVXcml0ZUlucHV0VG9rZW5zIjowLCJpbnB1dFRva2VucyI6Niwib3V0cHV0VG9rZW5zIjozLCJzZXJ2ZXJUb29sVXNhZ2UiOnt9LCJ0b3RhbFRva2VucyI6MTQ5MzF9fdR5bz4=" + "value": "AAAAlwAAAFKDYRSxCzpldmVudC10eXBlBwAMbWVzc2FnZVN0YXJ0DTpjb250ZW50LXR5cGUHABBhcHBsaWNhdGlvbi9qc29uDTptZXNzYWdlLXR5cGUHAAVldmVudHsicCI6ImFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6Iiwicm9sZSI6ImFzc2lzdGFudCJ9G/AFrwAAAKIAAABXmsrXyAs6ZXZlbnQtdHlwZQcAEWNvbnRlbnRCbG9ja0RlbHRhDTpjb250ZW50LXR5cGUHABBhcHBsaWNhdGlvbi9qc29uDTptZXNzYWdlLXR5cGUHAAVldmVudHsiY29udGVudEJsb2NrSW5kZXgiOjAsImRlbHRhIjp7InRleHQiOiIifSwicCI6ImFiY2RlZmdoaSJ9NTLrNAAAANgAAABXKagvpgs6ZXZlbnQtdHlwZQcAEWNvbnRlbnRCbG9ja0RlbHRhDTpjb250ZW50LXR5cGUHABBhcHBsaWNhdGlvbi9qc29uDTptZXNzYWdlLXR5cGUHAAVldmVudHsiY29udGVudEJsb2NrSW5kZXgiOjAsImRlbHRhIjp7InRleHQiOiJTVFJFQU0ifSwicCI6ImFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6QUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVowMTIzNCJ9FcansAAAAL8AAABXArqE+ws6ZXZlbnQtdHlwZQcAEWNvbnRlbnRCbG9ja0RlbHRhDTpjb250ZW50LXR5cGUHABBhcHBsaWNhdGlvbi9qc29uDTptZXNzYWdlLXR5cGUHAAVldmVudHsiY29udGVudEJsb2NrSW5kZXgiOjAsImRlbHRhIjp7InRleHQiOiIifSwicCI6ImFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6QUJDREVGR0hJSktMIn3CiVpEAAAAigAAAFYcfIObCzpldmVudC10eXBlBwAQY29udGVudEJsb2NrU3RvcA06Y29udGVudC10eXBlBwAQYXBwbGljYXRpb24vanNvbg06bWVzc2FnZS10eXBlBwAFZXZlbnR7ImNvbnRlbnRCbG9ja0luZGV4IjowLCJwIjoiYWJjZGVmIn1263kMAAAAhQAAAFEASIHpCzpldmVudC10eXBlBwALbWVzc2FnZVN0b3ANOmNvbnRlbnQtdHlwZQcAEGFwcGxpY2F0aW9uL2pzb24NOm1lc3NhZ2UtdHlwZQcABWV2ZW50eyJwIjoiYWJjZCIsInN0b3BSZWFzb24iOiJlbmRfdHVybiJ9HPrdBQAAAU4AAABO2NmGcws6ZXZlbnQtdHlwZQcACG1ldGFkYXRhDTpjb250ZW50LXR5cGUHABBhcHBsaWNhdGlvbi9qc29uDTptZXNzYWdlLXR5cGUHAAVldmVudHsibWV0cmljcyI6eyJsYXRlbmN5TXMiOjYzN30sInAiOiJhYiIsInVzYWdlIjp7ImNhY2hlUmVhZElucHV0VG9rZW5Db3VudCI6MTQ5MjIsImNhY2hlUmVhZElucHV0VG9rZW5zIjoxNDkyMiwiY2FjaGVXcml0ZUlucHV0VG9rZW5Db3VudCI6MCwiY2FjaGVXcml0ZUlucHV0VG9rZW5zIjowLCJpbnB1dFRva2VucyI6Niwib3V0cHV0VG9rZW5zIjozLCJzZXJ2ZXJUb29sVXNhZ2UiOnt9LCJ0b3RhbFRva2VucyI6MTQ5MzF9ffEXrP0=" }, "headers": { "connection": "keep-alive", @@ -138,7 +138,7 @@ "callIndex": 0, "id": "3e9c682f68d2d756", "matchKey": "POST bedrock-runtime.aws-region.amazonaws.com/model/us.amazon.nova-lite-v1%3A0/invoke", - "recordedAt": "2026-09-03T04:29:46.985Z", + "recordedAt": "2026-09-11T12:57:51.208Z", "request": { "body": { "kind": "json", @@ -203,7 +203,7 @@ "x-amzn-bedrock-cache-read-input-token-count": "14921", "x-amzn-bedrock-cache-write-input-token-count": "0", "x-amzn-bedrock-input-token-count": "6", - "x-amzn-bedrock-invocation-latency": "866", + "x-amzn-bedrock-invocation-latency": "514", "x-amzn-bedrock-output-token-count": "2", "x-amzn-requestid": "[REDACTED]" }, @@ -211,11 +211,252 @@ "statusText": "OK" } }, + { + "callIndex": 0, + "id": "0d28290b31e60524", + "matchKey": "POST bedrock-runtime.aws-region.amazonaws.com/model/amazon.titan-embed-text-v2%3A0/invoke", + "recordedAt": "2026-09-11T12:57:51.491Z", + "request": { + "body": { + "kind": "json", + "value": { + "dimensions": 256, + "inputText": "Embed this short Braintrust test sentence.", + "normalize": true + } + }, + "headers": {}, + "method": "POST", + "url": "https://bedrock-runtime.us-east-2.amazonaws.com/model/amazon.titan-embed-text-v2%3A0/invoke" + }, + "response": { + "body": { + "kind": "json", + "value": { + "embedding": [ + -0.12292258441448212, -0.07959577441215515, 0.08431042730808258, + -0.10088402777910233, 0.05975078046321869, 0.04403328150510788, + 0.024066895246505737, -0.04080509766936302, 0.02489643730223179, + -0.0795687884092331, 0.02351302281022072, 0.07398539036512375, + 0.04453573003411293, 0.08846784383058548, -0.10815097391605377, + 0.05521947890520096, -0.16448578238487244, 0.004347097594290972, + 0.07222197949886322, 0.0463339164853096, -0.07095752656459808, + 0.059447288513183594, 0.09525425732135773, 0.022096727043390274, + -0.017248446121811867, 0.048663217574357986, 0.023638635873794556, + -0.1004452258348465, 0.0075063626281917095, + -0.0059416936710476875, 0.027133848518133163, 0.06913647055625916, + -0.03559283912181854, -0.02739856019616127, 0.038251765072345734, + 0.06140438839793205, 0.1045832559466362, 0.014584042131900787, + -0.06437397003173828, -0.047034475952386856, 0.11060492694377899, + -0.038175467401742935, -0.0009408244513906538, 0.0793125107884407, + 0.007091590669006109, 0.018523111939430237, -0.06668557226657867, + 0.006105242297053337, 0.13666148483753204, -0.05786997452378273, + 0.014439462684094906, -0.044528983533382416, 0.024444574490189552, + -0.005831677932292223, 0.017307458445429802, 0.04847774654626846, + -0.02452550269663334, 0.06572577357292175, 0.0029202650766819715, + 0.007529967464506626, -0.1039273738861084, -0.03952137008309364, + -0.004398839082568884, 0.07740472257137299, 0.04621167480945587, + -0.17100746929645538, -0.04082975909113884, -0.0588807687163353, + -0.04599248990416527, -0.020512986928224564, -0.09188719093799591, + 0.00426911748945713, -0.000692129775416106, 0.004748803097754717, + 0.13025866448879242, 0.01573941856622696, 0.17338144779205322, + 0.003193407552316785, -0.029229626059532166, 0.024968940764665604, + -0.04834539070725441, -0.15418729186058044, -0.03690817579627037, + -0.06842221319675446, -0.10160229355096817, -0.09653398394584656, + 0.03875800594687462, 0.05118556693196297, 0.07510367035865784, + 0.03143162652850151, 0.02311595529317856, -0.015048659406602383, + 0.01710296981036663, -0.11315520852804184, 0.018481381237506866, + -0.0338292121887207, -0.058479487895965576, -0.036149658262729645, + -0.09464769810438156, 0.12142283469438553, 0.029261663556098938, + -0.004921624902635813, -0.04159269854426384, 0.08198323100805283, + 0.03196780011057854, 0.07600276172161102, -0.019774172455072403, + 0.02676628716289997, 0.007893314585089684, -0.08676154911518097, + 0.0862523540854454, 0.07928552478551865, -0.00991069059818983, + -0.14990806579589844, -0.023241829127073288, + -0.041857410222291946, 0.0588386170566082, -0.0015747849829494953, + -0.0013943759258836508, 0.057771336287260056, + -0.030339965596795082, -0.11415335536003113, 0.10198081284761429, + 0.0721922516822815, -0.05151677504181862, -0.023935591802001, + 0.08501140773296356, -0.19109611213207245, 0.018602358177304268, + 0.008469948545098305, 0.08628860116004944, -0.04712215065956116, + -0.12366276979446411, -0.056274112313985825, + -0.006444351747632027, -0.09390708804130554, 0.010054955258965492, + -0.025729354470968246, 0.032284777611494064, 0.020303597673773766, + 0.10665374249219894, 0.03838158771395683, 0.006953333038836718, + -0.0051728482358157635, 0.001733275013975799, + -0.09658793359994888, 0.10766538977622986, -0.022696124389767647, + -0.05594448745250702, 0.046537090092897415, -0.018275262787938118, + -0.018421949818730354, 0.08769562840461731, 0.052673522382974625, + -0.08586961776018143, -0.0235922671854496, -0.0772588774561882, + -0.014924732968211174, -0.05366745963692665, -0.05541253462433815, + 0.045496780425310135, 0.002971057780086994, -0.03147293999791145, + 0.002948084846138954, -0.021311864256858826, + -0.039724960923194885, 0.010902097448706627, 0.06243161857128143, + -0.026628030464053154, 0.11030576378107071, -0.1452612727880478, + 0.005462851375341415, 0.02862938679754734, -0.06087370216846466, + 0.010403022170066833, 0.10341817885637283, -0.033940497785806656, + 0.020730171352624893, 0.028514735400676727, 0.008983355015516281, + -0.10639071464538574, -0.00584490317851305, 0.0036663489881902933, + 0.020740289241075516, -0.044970735907554626, 0.04415973275899887, + 0.028332114219665527, 0.0067518483847379684, + -0.054336823523044586, 0.03544783592224121, 0.0672975555062294, + 0.01806703209877014, 0.04297527298331261, 0.05716772750020027, + -0.09931936860084534, 0.034363698214292526, 0.09905970841646194, + 0.02531627006828785, 0.0007899216143414378, -0.034105729311704636, + 0.11593195050954819, -0.04631452634930611, -0.015666916966438293, + 0.07577851414680481, 0.05583911016583443, -0.07117555290460587, + -0.01634724624454975, -0.02705981954932213, 0.10862980782985687, + -0.04369606822729111, -0.05634155496954918, -0.03384438529610634, + -0.02436027117073536, -0.01253589428961277, + -0.0010310289217159152, -0.03024463914334774, + -0.01715908572077751, 0.0645122304558754, 0.030614729970693588, + 0.08481582999229431, -0.0016961815999820828, 0.024990860372781754, + 0.03251070901751518, 0.08395930379629135, 0.10277410596609116, + -0.0586211159825325, 0.021863209083676338, -0.006060561165213585, + 0.08362884074449539, -0.0015376914525404572, 0.05520851910114288, + 0.007351244799792767, 0.009044053964316845, 0.05301115661859512, + -0.14014236629009247, -0.07494518160820007, -0.03454863652586937, + 0.005095289088785648, -0.011873271316289902, -0.06659957021474838, + -0.003867833875119686, -0.04873403161764145, -0.03669552505016327, + -0.10232392698526382, -0.027862651273608208, + -0.023979220539331436, -0.03040650114417076, 0.003351897466927767, + -0.08534693717956543, -0.044603168964385986, + -0.009662418626248837, -0.042438264936208725, 0.0830184817314148, + 0.013444683514535427, 0.06837331503629684, 0.0042699603363871574 + ], + "embeddingsByType": { + "float": [ + -0.12292258441448212, -0.07959577441215515, 0.08431042730808258, + -0.10088402777910233, 0.05975078046321869, 0.04403328150510788, + 0.024066895246505737, -0.04080509766936302, 0.02489643730223179, + -0.0795687884092331, 0.02351302281022072, 0.07398539036512375, + 0.04453573003411293, 0.08846784383058548, -0.10815097391605377, + 0.05521947890520096, -0.16448578238487244, 0.004347097594290972, + 0.07222197949886322, 0.0463339164853096, -0.07095752656459808, + 0.059447288513183594, 0.09525425732135773, 0.022096727043390274, + -0.017248446121811867, 0.048663217574357986, + 0.023638635873794556, -0.1004452258348465, + 0.0075063626281917095, -0.0059416936710476875, + 0.027133848518133163, 0.06913647055625916, -0.03559283912181854, + -0.02739856019616127, 0.038251765072345734, 0.06140438839793205, + 0.1045832559466362, 0.014584042131900787, -0.06437397003173828, + -0.047034475952386856, 0.11060492694377899, + -0.038175467401742935, -0.0009408244513906538, + 0.0793125107884407, 0.007091590669006109, 0.018523111939430237, + -0.06668557226657867, 0.006105242297053337, 0.13666148483753204, + -0.05786997452378273, 0.014439462684094906, + -0.044528983533382416, 0.024444574490189552, + -0.005831677932292223, 0.017307458445429802, + 0.04847774654626846, -0.02452550269663334, 0.06572577357292175, + 0.0029202650766819715, 0.007529967464506626, + -0.1039273738861084, -0.03952137008309364, + -0.004398839082568884, 0.07740472257137299, 0.04621167480945587, + -0.17100746929645538, -0.04082975909113884, -0.0588807687163353, + -0.04599248990416527, -0.020512986928224564, + -0.09188719093799591, 0.00426911748945713, + -0.000692129775416106, 0.004748803097754717, + 0.13025866448879242, 0.01573941856622696, 0.17338144779205322, + 0.003193407552316785, -0.029229626059532166, + 0.024968940764665604, -0.04834539070725441, + -0.15418729186058044, -0.03690817579627037, + -0.06842221319675446, -0.10160229355096817, + -0.09653398394584656, 0.03875800594687462, 0.05118556693196297, + 0.07510367035865784, 0.03143162652850151, 0.02311595529317856, + -0.015048659406602383, 0.01710296981036663, + -0.11315520852804184, 0.018481381237506866, -0.0338292121887207, + -0.058479487895965576, -0.036149658262729645, + -0.09464769810438156, 0.12142283469438553, 0.029261663556098938, + -0.004921624902635813, -0.04159269854426384, + 0.08198323100805283, 0.03196780011057854, 0.07600276172161102, + -0.019774172455072403, 0.02676628716289997, + 0.007893314585089684, -0.08676154911518097, 0.0862523540854454, + 0.07928552478551865, -0.00991069059818983, -0.14990806579589844, + -0.023241829127073288, -0.041857410222291946, + 0.0588386170566082, -0.0015747849829494953, + -0.0013943759258836508, 0.057771336287260056, + -0.030339965596795082, -0.11415335536003113, + 0.10198081284761429, 0.0721922516822815, -0.05151677504181862, + -0.023935591802001, 0.08501140773296356, -0.19109611213207245, + 0.018602358177304268, 0.008469948545098305, 0.08628860116004944, + -0.04712215065956116, -0.12366276979446411, + -0.056274112313985825, -0.006444351747632027, + -0.09390708804130554, 0.010054955258965492, + -0.025729354470968246, 0.032284777611494064, + 0.020303597673773766, 0.10665374249219894, 0.03838158771395683, + 0.006953333038836718, -0.0051728482358157635, + 0.001733275013975799, -0.09658793359994888, 0.10766538977622986, + -0.022696124389767647, -0.05594448745250702, + 0.046537090092897415, -0.018275262787938118, + -0.018421949818730354, 0.08769562840461731, + 0.052673522382974625, -0.08586961776018143, -0.0235922671854496, + -0.0772588774561882, -0.014924732968211174, + -0.05366745963692665, -0.05541253462433815, + 0.045496780425310135, 0.002971057780086994, + -0.03147293999791145, 0.002948084846138954, + -0.021311864256858826, -0.039724960923194885, + 0.010902097448706627, 0.06243161857128143, + -0.026628030464053154, 0.11030576378107071, -0.1452612727880478, + 0.005462851375341415, 0.02862938679754734, -0.06087370216846466, + 0.010403022170066833, 0.10341817885637283, + -0.033940497785806656, 0.020730171352624893, + 0.028514735400676727, 0.008983355015516281, + -0.10639071464538574, -0.00584490317851305, + 0.0036663489881902933, 0.020740289241075516, + -0.044970735907554626, 0.04415973275899887, + 0.028332114219665527, 0.0067518483847379684, + -0.054336823523044586, 0.03544783592224121, 0.0672975555062294, + 0.01806703209877014, 0.04297527298331261, 0.05716772750020027, + -0.09931936860084534, 0.034363698214292526, 0.09905970841646194, + 0.02531627006828785, 0.0007899216143414378, + -0.034105729311704636, 0.11593195050954819, + -0.04631452634930611, -0.015666916966438293, + 0.07577851414680481, 0.05583911016583443, -0.07117555290460587, + -0.01634724624454975, -0.02705981954932213, 0.10862980782985687, + -0.04369606822729111, -0.05634155496954918, + -0.03384438529610634, -0.02436027117073536, + -0.01253589428961277, -0.0010310289217159152, + -0.03024463914334774, -0.01715908572077751, 0.0645122304558754, + 0.030614729970693588, 0.08481582999229431, + -0.0016961815999820828, 0.024990860372781754, + 0.03251070901751518, 0.08395930379629135, 0.10277410596609116, + -0.0586211159825325, 0.021863209083676338, + -0.006060561165213585, 0.08362884074449539, + -0.0015376914525404572, 0.05520851910114288, + 0.007351244799792767, 0.009044053964316845, 0.05301115661859512, + -0.14014236629009247, -0.07494518160820007, + -0.03454863652586937, 0.005095289088785648, + -0.011873271316289902, -0.06659957021474838, + -0.003867833875119686, -0.04873403161764145, + -0.03669552505016327, -0.10232392698526382, + -0.027862651273608208, -0.023979220539331436, + -0.03040650114417076, 0.003351897466927767, + -0.08534693717956543, -0.044603168964385986, + -0.009662418626248837, -0.042438264936208725, + 0.0830184817314148, 0.013444683514535427, 0.06837331503629684, + 0.0042699603363871574 + ] + }, + "inputTextTokenCount": 9 + } + }, + "headers": { + "connection": "keep-alive", + "content-length": "10752", + "content-type": "application/json", + "date": "[REDACTED]", + "x-amzn-bedrock-input-token-count": "9", + "x-amzn-bedrock-invocation-latency": "257", + "x-amzn-requestid": "[REDACTED]" + }, + "status": 200, + "statusText": "OK" + } + }, { "callIndex": 0, "id": "6b97f66ee2a0ebd7", "matchKey": "POST bedrock-runtime.aws-region.amazonaws.com/model/us.amazon.nova-lite-v1%3A0/invoke-with-response-stream", - "recordedAt": "2026-09-03T04:29:47.624Z", + "recordedAt": "2026-09-11T12:57:52.117Z", "request": { "body": { "kind": "json", @@ -252,7 +493,7 @@ "body": { "contentType": "application/vnd.amazon.eventstream", "kind": "base64", - "value": "AAAArQAAAEsMmxxWCzpldmVudC10eXBlBwAFY2h1bmsNOmNvbnRlbnQtdHlwZQcAEGFwcGxpY2F0aW9uL2pzb24NOm1lc3NhZ2UtdHlwZQcABWV2ZW50eyJieXRlcyI6ImV5SnRaWE56WVdkbFUzUmhjblFpT25zaWNtOXNaU0k2SW1GemMybHpkR0Z1ZENKOWZRPT0iLCJwIjoiYWJjZGVmZ2hpamsifYa70P8AAAD5AAAAS8EIdV0LOmV2ZW50LXR5cGUHAAVjaHVuaw06Y29udGVudC10eXBlBwAQYXBwbGljYXRpb24vanNvbg06bWVzc2FnZS10eXBlBwAFZXZlbnR7ImJ5dGVzIjoiZXlKamIyNTBaVzUwUW14dlkydEVaV3gwWVNJNmV5SmtaV3gwWVNJNmV5SjBaWGgwSWpvaVVrRlhJbjBzSW1OdmJuUmxiblJDYkc5amEwbHVaR1Y0SWpvd2ZYMD0iLCJwIjoiYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNERUZHSElKS0xNTk9QUVJTVFUifaaaBRoAAAC0AAAAS2Fr6aULOmV2ZW50LXR5cGUHAAVjaHVuaw06Y29udGVudC10eXBlBwAQYXBwbGljYXRpb24vanNvbg06bWVzc2FnZS10eXBlBwAFZXZlbnR7ImJ5dGVzIjoiZXlKamIyNTBaVzUwUW14dlkydFRkRzl3SWpwN0ltTnZiblJsYm5SQ2JHOWphMGx1WkdWNElqb3dmWDA9IiwicCI6ImFiY2RlZmdoaWoifaX9LCwAAADtAAAAS1RoRB8LOmV2ZW50LXR5cGUHAAVjaHVuaw06Y29udGVudC10eXBlBwAQYXBwbGljYXRpb24vanNvbg06bWVzc2FnZS10eXBlBwAFZXZlbnR7ImJ5dGVzIjoiZXlKamIyNTBaVzUwUW14dlkydEVaV3gwWVNJNmV5SmtaV3gwWVNJNmV5SjBaWGgwSWpvaVUxUlNSVUZOSW4wc0ltTnZiblJsYm5SQ2JHOWphMGx1WkdWNElqb3hmWDA9IiwicCI6ImFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6QUJDREUifZFmLQQAAADbAAAAS3oJCTkLOmV2ZW50LXR5cGUHAAVjaHVuaw06Y29udGVudC10eXBlBwAQYXBwbGljYXRpb24vanNvbg06bWVzc2FnZS10eXBlBwAFZXZlbnR7ImJ5dGVzIjoiZXlKamIyNTBaVzUwUW14dlkydFRkRzl3SWpwN0ltTnZiblJsYm5SQ2JHOWphMGx1WkdWNElqb3hmWDA9IiwicCI6ImFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6QUJDREVGR0hJSktMTU5PUFFSU1RVVlcifTkXwsUAAAD3AAAAS344yzwLOmV2ZW50LXR5cGUHAAVjaHVuaw06Y29udGVudC10eXBlBwAQYXBwbGljYXRpb24vanNvbg06bWVzc2FnZS10eXBlBwAFZXZlbnR7ImJ5dGVzIjoiZXlKamIyNTBaVzUwUW14dlkydEVaV3gwWVNJNmV5SmtaV3gwWVNJNmV5SjBaWGgwSWpvaUluMHNJbU52Ym5SbGJuUkNiRzlqYTBsdVpHVjRJam95ZlgwPSIsInAiOiJhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ekFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXIn1byIHKAAAArgAAAEtLO2aGCzpldmVudC10eXBlBwAFY2h1bmsNOmNvbnRlbnQtdHlwZQcAEGFwcGxpY2F0aW9uL2pzb24NOm1lc3NhZ2UtdHlwZQcABWV2ZW50eyJieXRlcyI6ImV5SmpiMjUwWlc1MFFteHZZMnRUZEc5d0lqcDdJbU52Ym5SbGJuUkNiRzlqYTBsdVpHVjRJam95ZlgwPSIsInAiOiJhYmNkIn0R0rymAAAA1gAAAEuCmc2ICzpldmVudC10eXBlBwAFY2h1bmsNOmNvbnRlbnQtdHlwZQcAEGFwcGxpY2F0aW9uL2pzb24NOm1lc3NhZ2UtdHlwZQcABWV2ZW50eyJieXRlcyI6ImV5SnRaWE56WVdkbFUzUnZjQ0k2ZXlKemRHOXdVbVZoYzI5dUlqb2laVzVrWDNSMWNtNGlmWDA9IiwicCI6ImFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6QUJDREVGR0hJSktMTU5PUFFSU1RVViJ9SAJgoQAAAl8AAABLc6e+YAs6ZXZlbnQtdHlwZQcABWNodW5rDTpjb250ZW50LXR5cGUHABBhcHBsaWNhdGlvbi9qc29uDTptZXNzYWdlLXR5cGUHAAVldmVudHsiYnl0ZXMiOiJleUp0WlhSaFpHRjBZU0k2ZXlKMWMyRm5aU0k2ZXlKcGJuQjFkRlJ2YTJWdWN5STZOaXdpYjNWMGNIVjBWRzlyWlc1eklqb3pMQ0pqWVdOb1pWSmxZV1JKYm5CMWRGUnZhMlZ1UTI5MWJuUWlPakUwT1RJeUxDSmpZV05vWlZkeWFYUmxTVzV3ZFhSVWIydGxia052ZFc1MElqb3dmU3dpYldWMGNtbGpjeUk2ZTMwc0luUnlZV05sSWpwN2ZYMHNJbUZ0WVhwdmJpMWlaV1J5YjJOckxXbHVkbTlqWVhScGIyNU5aWFJ5YVdOeklqcDdJbWx1Y0hWMFZHOXJaVzVEYjNWdWRDSTZOaXdpYjNWMGNIVjBWRzlyWlc1RGIzVnVkQ0k2TXl3aWFXNTJiMk5oZEdsdmJreGhkR1Z1WTNraU9qWXdOU3dpWm1seWMzUkNlWFJsVEdGMFpXNWplU0k2TlRVekxDSmpZV05vWlZKbFlXUkpibkIxZEZSdmEyVnVRMjkxYm5RaU9qRTBPVEl5TENKallXTm9aVmR5YVhSbFNXNXdkWFJVYjJ0bGJrTnZkVzUwSWpvd2ZYMD0iLCJwIjoiYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWjAifUsLbco=" + "value": "AAAAvwAAAEsWu9i0CzpldmVudC10eXBlBwAFY2h1bmsNOmNvbnRlbnQtdHlwZQcAEGFwcGxpY2F0aW9uL2pzb24NOm1lc3NhZ2UtdHlwZQcABWV2ZW50eyJieXRlcyI6ImV5SnRaWE56WVdkbFUzUmhjblFpT25zaWNtOXNaU0k2SW1GemMybHpkR0Z1ZENKOWZRPT0iLCJwIjoiYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkMifcbWGmMAAADZAAAASwDJWlkLOmV2ZW50LXR5cGUHAAVjaHVuaw06Y29udGVudC10eXBlBwAQYXBwbGljYXRpb24vanNvbg06bWVzc2FnZS10eXBlBwAFZXZlbnR7ImJ5dGVzIjoiZXlKamIyNTBaVzUwUW14dlkydEVaV3gwWVNJNmV5SmtaV3gwWVNJNmV5SjBaWGgwSWpvaVVrRlhJbjBzSW1OdmJuUmxiblJDYkc5amEwbHVaR1Y0SWpvd2ZYMD0iLCJwIjoiYWJjZGVmZ2hpamtsbW5vIn3GKXdiAAAAxAAAAEuYuQlqCzpldmVudC10eXBlBwAFY2h1bmsNOmNvbnRlbnQtdHlwZQcAEGFwcGxpY2F0aW9uL2pzb24NOm1lc3NhZ2UtdHlwZQcABWV2ZW50eyJieXRlcyI6ImV5SmpiMjUwWlc1MFFteHZZMnRUZEc5d0lqcDdJbU52Ym5SbGJuUkNiRzlqYTBsdVpHVjRJam93ZlgwPSIsInAiOiJhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5eiJ9ofEvuQAAAPMAAABLi7ht/As6ZXZlbnQtdHlwZQcABWNodW5rDTpjb250ZW50LXR5cGUHABBhcHBsaWNhdGlvbi9qc29uDTptZXNzYWdlLXR5cGUHAAVldmVudHsiYnl0ZXMiOiJleUpqYjI1MFpXNTBRbXh2WTJ0RVpXeDBZU0k2ZXlKa1pXeDBZU0k2ZXlKMFpYaDBJam9pVTFSU1JVRk5JbjBzSW1OdmJuUmxiblJDYkc5amEwbHVaR1Y0SWpveGZYMD0iLCJwIjoiYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNERUZHSElKSyJ9k2H1XAAAAK0AAABLDJscVgs6ZXZlbnQtdHlwZQcABWNodW5rDTpjb250ZW50LXR5cGUHABBhcHBsaWNhdGlvbi9qc29uDTptZXNzYWdlLXR5cGUHAAVldmVudHsiYnl0ZXMiOiJleUpqYjI1MFpXNTBRbXh2WTJ0VGRHOXdJanA3SW1OdmJuUmxiblJDYkc5amEwbHVaR1Y0SWpveGZYMD0iLCJwIjoiYWJjIn27IgluAAAAywAAAEsa6Z67CzpldmVudC10eXBlBwAFY2h1bmsNOmNvbnRlbnQtdHlwZQcAEGFwcGxpY2F0aW9uL2pzb24NOm1lc3NhZ2UtdHlwZQcABWV2ZW50eyJieXRlcyI6ImV5SmpiMjUwWlc1MFFteHZZMnRFWld4MFlTSTZleUprWld4MFlTSTZleUowWlhoMElqb2lJbjBzSW1OdmJuUmxiblJDYkc5amEwbHVaR1Y0SWpveWZYMD0iLCJwIjoiYWJjZGUifS/bTEwAAAC4AAAAS6SbBKQLOmV2ZW50LXR5cGUHAAVjaHVuaw06Y29udGVudC10eXBlBwAQYXBwbGljYXRpb24vanNvbg06bWVzc2FnZS10eXBlBwAFZXZlbnR7ImJ5dGVzIjoiZXlKamIyNTBaVzUwUW14dlkydFRkRzl3SWpwN0ltTnZiblJsYm5SQ2JHOWphMGx1WkdWNElqb3lmWDA9IiwicCI6ImFiY2RlZmdoaWprbG1uIn2sEZFtAAAAqQAAAEv5G7qWCzpldmVudC10eXBlBwAFY2h1bmsNOmNvbnRlbnQtdHlwZQcAEGFwcGxpY2F0aW9uL2pzb24NOm1lc3NhZ2UtdHlwZQcABWV2ZW50eyJieXRlcyI6ImV5SnRaWE56WVdkbFUzUnZjQ0k2ZXlKemRHOXdVbVZoYzI5dUlqb2laVzVrWDNSMWNtNGlmWDA9IiwicCI6ImFiYyJ9lp53VAAAAlwAAABLNAfEsAs6ZXZlbnQtdHlwZQcABWNodW5rDTpjb250ZW50LXR5cGUHABBhcHBsaWNhdGlvbi9qc29uDTptZXNzYWdlLXR5cGUHAAVldmVudHsiYnl0ZXMiOiJleUp0WlhSaFpHRjBZU0k2ZXlKMWMyRm5aU0k2ZXlKcGJuQjFkRlJ2YTJWdWN5STZOaXdpYjNWMGNIVjBWRzlyWlc1eklqb3pMQ0pqWVdOb1pWSmxZV1JKYm5CMWRGUnZhMlZ1UTI5MWJuUWlPakUwT1RJeUxDSmpZV05vWlZkeWFYUmxTVzV3ZFhSVWIydGxia052ZFc1MElqb3dmU3dpYldWMGNtbGpjeUk2ZTMwc0luUnlZV05sSWpwN2ZYMHNJbUZ0WVhwdmJpMWlaV1J5YjJOckxXbHVkbTlqWVhScGIyNU5aWFJ5YVdOeklqcDdJbWx1Y0hWMFZHOXJaVzVEYjNWdWRDSTZOaXdpYjNWMGNIVjBWRzlyWlc1RGIzVnVkQ0k2TXl3aWFXNTJiMk5oZEdsdmJreGhkR1Z1WTNraU9qVTVNU3dpWm1seWMzUkNlWFJsVEdGMFpXNWplU0k2TlRJMExDSmpZV05vWlZKbFlXUkpibkIxZEZSdmEyVnVRMjkxYm5RaU9qRTBPVEl5TENKallXTm9aVmR5YVhSbFNXNXdkWFJVYjJ0bGJrTnZkVzUwSWpvd2ZYMD0iLCJwIjoiYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNERUZHSElKS0xNTk9QUVJTVFVWV1gifS27Y54=" }, "headers": { "connection": "keep-alive", diff --git a/e2e/scenarios/bedrock-runtime-instrumentation/__snapshots__/bedrock-runtime-v3-auto.span-tree.json b/e2e/scenarios/bedrock-runtime-instrumentation/__snapshots__/bedrock-runtime-v3-auto.span-tree.json index 2559d106c..a98284ac8 100644 --- a/e2e/scenarios/bedrock-runtime-instrumentation/__snapshots__/bedrock-runtime-v3-auto.span-tree.json +++ b/e2e/scenarios/bedrock-runtime-instrumentation/__snapshots__/bedrock-runtime-v3-auto.span-tree.json @@ -125,6 +125,43 @@ "testRunId": "" } }, + { + "name": "bedrock-embedding-operation", + "children": [ + { + "name": "bedrock.invokeModel", + "type": "llm", + "children": [], + "input": { + "inputs": [ + { + "content": "Embed this short Braintrust test sentence." + } + ], + "output_dimensions": 256 + }, + "output": { + "count": 1 + }, + "metadata": { + "accept": "application/json", + "command": "InvokeModelCommand", + "contentType": "application/json", + "model": "amazon.titan-embed-text-v2:0", + "operation": "invokeModel", + "provider": "aws-bedrock" + }, + "metrics": { + "prompt_tokens": 9, + "tokens": 9 + } + } + ], + "metadata": { + "operation": "embedding", + "testRunId": "" + } + }, { "name": "bedrock-invoke-model-operation", "children": [ diff --git a/e2e/scenarios/bedrock-runtime-instrumentation/__snapshots__/bedrock-runtime-v3-auto.span-tree.txt b/e2e/scenarios/bedrock-runtime-instrumentation/__snapshots__/bedrock-runtime-v3-auto.span-tree.txt index 716d4fe5e..4cacfd581 100644 --- a/e2e/scenarios/bedrock-runtime-instrumentation/__snapshots__/bedrock-runtime-v3-auto.span-tree.txt +++ b/e2e/scenarios/bedrock-runtime-instrumentation/__snapshots__/bedrock-runtime-v3-auto.span-tree.txt @@ -109,6 +109,35 @@ span_tree: │ "time_to_first_token": 0, │ "tokens": 14931 │ } + ├── bedrock-embedding-operation + │ metadata: { + │ "operation": "embedding", + │ "testRunId": "" + │ } + │ └── bedrock.invokeModel [llm] + │ input: { + │ "inputs": [ + │ { + │ "content": "Embed this short Braintrust test sentence." + │ } + │ ], + │ "output_dimensions": 256 + │ } + │ output: { + │ "count": 1 + │ } + │ metadata: { + │ "accept": "application/json", + │ "command": "InvokeModelCommand", + │ "contentType": "application/json", + │ "model": "amazon.titan-embed-text-v2:0", + │ "operation": "invokeModel", + │ "provider": "aws-bedrock" + │ } + │ metrics: { + │ "prompt_tokens": 9, + │ "tokens": 9 + │ } ├── bedrock-invoke-model-operation │ metadata: { │ "operation": "invoke-model", diff --git a/e2e/scenarios/bedrock-runtime-instrumentation/__snapshots__/bedrock-runtime-v3-latest-auto.span-tree.json b/e2e/scenarios/bedrock-runtime-instrumentation/__snapshots__/bedrock-runtime-v3-latest-auto.span-tree.json index 8d2e9ff57..a4dfcb321 100644 --- a/e2e/scenarios/bedrock-runtime-instrumentation/__snapshots__/bedrock-runtime-v3-latest-auto.span-tree.json +++ b/e2e/scenarios/bedrock-runtime-instrumentation/__snapshots__/bedrock-runtime-v3-latest-auto.span-tree.json @@ -52,8 +52,8 @@ "metrics": { "completion_tokens": 2, "latency_ms": 0, - "prompt_cache_creation_tokens": 14921, - "prompt_cached_tokens": 0, + "prompt_cache_creation_tokens": 0, + "prompt_cached_tokens": 14921, "prompt_tokens": 6, "tokens": 14929 } @@ -125,6 +125,43 @@ "testRunId": "" } }, + { + "name": "bedrock-embedding-operation", + "children": [ + { + "name": "bedrock.invokeModel", + "type": "llm", + "children": [], + "input": { + "inputs": [ + { + "content": "Embed this short Braintrust test sentence." + } + ], + "output_dimensions": 256 + }, + "output": { + "count": 1 + }, + "metadata": { + "accept": "application/json", + "command": "InvokeModelCommand", + "contentType": "application/json", + "model": "amazon.titan-embed-text-v2:0", + "operation": "invokeModel", + "provider": "aws-bedrock" + }, + "metrics": { + "prompt_tokens": 9, + "tokens": 9 + } + } + ], + "metadata": { + "operation": "embedding", + "testRunId": "" + } + }, { "name": "bedrock-invoke-model-operation", "children": [ @@ -242,16 +279,16 @@ "provider": "aws-bedrock", "trace": {}, "usage": { - "cacheReadInputTokenCount": 14922, - "cacheWriteInputTokenCount": 0, + "cacheReadInputTokenCount": 0, + "cacheWriteInputTokenCount": 14922, "inputTokens": 6, "outputTokens": 3 } }, "metrics": { "completion_tokens": 3, - "prompt_cache_creation_tokens": 0, - "prompt_cached_tokens": 14922, + "prompt_cache_creation_tokens": 14922, + "prompt_cached_tokens": 0, "prompt_tokens": 6, "time_to_first_token": 0, "tokens": 14931 diff --git a/e2e/scenarios/bedrock-runtime-instrumentation/__snapshots__/bedrock-runtime-v3-latest-auto.span-tree.txt b/e2e/scenarios/bedrock-runtime-instrumentation/__snapshots__/bedrock-runtime-v3-latest-auto.span-tree.txt index c52aea7aa..d49b2d46e 100644 --- a/e2e/scenarios/bedrock-runtime-instrumentation/__snapshots__/bedrock-runtime-v3-latest-auto.span-tree.txt +++ b/e2e/scenarios/bedrock-runtime-instrumentation/__snapshots__/bedrock-runtime-v3-latest-auto.span-tree.txt @@ -51,8 +51,8 @@ span_tree: │ metrics: { │ "completion_tokens": 2, │ "latency_ms": 0, - │ "prompt_cache_creation_tokens": 14921, - │ "prompt_cached_tokens": 0, + │ "prompt_cache_creation_tokens": 0, + │ "prompt_cached_tokens": 14921, │ "prompt_tokens": 6, │ "tokens": 14929 │ } @@ -109,6 +109,35 @@ span_tree: │ "time_to_first_token": 0, │ "tokens": 14931 │ } + ├── bedrock-embedding-operation + │ metadata: { + │ "operation": "embedding", + │ "testRunId": "" + │ } + │ └── bedrock.invokeModel [llm] + │ input: { + │ "inputs": [ + │ { + │ "content": "Embed this short Braintrust test sentence." + │ } + │ ], + │ "output_dimensions": 256 + │ } + │ output: { + │ "count": 1 + │ } + │ metadata: { + │ "accept": "application/json", + │ "command": "InvokeModelCommand", + │ "contentType": "application/json", + │ "model": "amazon.titan-embed-text-v2:0", + │ "operation": "invokeModel", + │ "provider": "aws-bedrock" + │ } + │ metrics: { + │ "prompt_tokens": 9, + │ "tokens": 9 + │ } ├── bedrock-invoke-model-operation │ metadata: { │ "operation": "invoke-model", @@ -217,16 +246,16 @@ span_tree: "provider": "aws-bedrock", "trace": {}, "usage": { - "cacheReadInputTokenCount": 14922, - "cacheWriteInputTokenCount": 0, + "cacheReadInputTokenCount": 0, + "cacheWriteInputTokenCount": 14922, "inputTokens": 6, "outputTokens": 3 } } metrics: { "completion_tokens": 3, - "prompt_cache_creation_tokens": 0, - "prompt_cached_tokens": 14922, + "prompt_cache_creation_tokens": 14922, + "prompt_cached_tokens": 0, "prompt_tokens": 6, "time_to_first_token": 0, "tokens": 14931 diff --git a/e2e/scenarios/bedrock-runtime-instrumentation/__snapshots__/bedrock-runtime-v3-latest-wrapped.span-tree.json b/e2e/scenarios/bedrock-runtime-instrumentation/__snapshots__/bedrock-runtime-v3-latest-wrapped.span-tree.json index 8d2e9ff57..a4dfcb321 100644 --- a/e2e/scenarios/bedrock-runtime-instrumentation/__snapshots__/bedrock-runtime-v3-latest-wrapped.span-tree.json +++ b/e2e/scenarios/bedrock-runtime-instrumentation/__snapshots__/bedrock-runtime-v3-latest-wrapped.span-tree.json @@ -52,8 +52,8 @@ "metrics": { "completion_tokens": 2, "latency_ms": 0, - "prompt_cache_creation_tokens": 14921, - "prompt_cached_tokens": 0, + "prompt_cache_creation_tokens": 0, + "prompt_cached_tokens": 14921, "prompt_tokens": 6, "tokens": 14929 } @@ -125,6 +125,43 @@ "testRunId": "" } }, + { + "name": "bedrock-embedding-operation", + "children": [ + { + "name": "bedrock.invokeModel", + "type": "llm", + "children": [], + "input": { + "inputs": [ + { + "content": "Embed this short Braintrust test sentence." + } + ], + "output_dimensions": 256 + }, + "output": { + "count": 1 + }, + "metadata": { + "accept": "application/json", + "command": "InvokeModelCommand", + "contentType": "application/json", + "model": "amazon.titan-embed-text-v2:0", + "operation": "invokeModel", + "provider": "aws-bedrock" + }, + "metrics": { + "prompt_tokens": 9, + "tokens": 9 + } + } + ], + "metadata": { + "operation": "embedding", + "testRunId": "" + } + }, { "name": "bedrock-invoke-model-operation", "children": [ @@ -242,16 +279,16 @@ "provider": "aws-bedrock", "trace": {}, "usage": { - "cacheReadInputTokenCount": 14922, - "cacheWriteInputTokenCount": 0, + "cacheReadInputTokenCount": 0, + "cacheWriteInputTokenCount": 14922, "inputTokens": 6, "outputTokens": 3 } }, "metrics": { "completion_tokens": 3, - "prompt_cache_creation_tokens": 0, - "prompt_cached_tokens": 14922, + "prompt_cache_creation_tokens": 14922, + "prompt_cached_tokens": 0, "prompt_tokens": 6, "time_to_first_token": 0, "tokens": 14931 diff --git a/e2e/scenarios/bedrock-runtime-instrumentation/__snapshots__/bedrock-runtime-v3-latest-wrapped.span-tree.txt b/e2e/scenarios/bedrock-runtime-instrumentation/__snapshots__/bedrock-runtime-v3-latest-wrapped.span-tree.txt index c52aea7aa..d49b2d46e 100644 --- a/e2e/scenarios/bedrock-runtime-instrumentation/__snapshots__/bedrock-runtime-v3-latest-wrapped.span-tree.txt +++ b/e2e/scenarios/bedrock-runtime-instrumentation/__snapshots__/bedrock-runtime-v3-latest-wrapped.span-tree.txt @@ -51,8 +51,8 @@ span_tree: │ metrics: { │ "completion_tokens": 2, │ "latency_ms": 0, - │ "prompt_cache_creation_tokens": 14921, - │ "prompt_cached_tokens": 0, + │ "prompt_cache_creation_tokens": 0, + │ "prompt_cached_tokens": 14921, │ "prompt_tokens": 6, │ "tokens": 14929 │ } @@ -109,6 +109,35 @@ span_tree: │ "time_to_first_token": 0, │ "tokens": 14931 │ } + ├── bedrock-embedding-operation + │ metadata: { + │ "operation": "embedding", + │ "testRunId": "" + │ } + │ └── bedrock.invokeModel [llm] + │ input: { + │ "inputs": [ + │ { + │ "content": "Embed this short Braintrust test sentence." + │ } + │ ], + │ "output_dimensions": 256 + │ } + │ output: { + │ "count": 1 + │ } + │ metadata: { + │ "accept": "application/json", + │ "command": "InvokeModelCommand", + │ "contentType": "application/json", + │ "model": "amazon.titan-embed-text-v2:0", + │ "operation": "invokeModel", + │ "provider": "aws-bedrock" + │ } + │ metrics: { + │ "prompt_tokens": 9, + │ "tokens": 9 + │ } ├── bedrock-invoke-model-operation │ metadata: { │ "operation": "invoke-model", @@ -217,16 +246,16 @@ span_tree: "provider": "aws-bedrock", "trace": {}, "usage": { - "cacheReadInputTokenCount": 14922, - "cacheWriteInputTokenCount": 0, + "cacheReadInputTokenCount": 0, + "cacheWriteInputTokenCount": 14922, "inputTokens": 6, "outputTokens": 3 } } metrics: { "completion_tokens": 3, - "prompt_cache_creation_tokens": 0, - "prompt_cached_tokens": 14922, + "prompt_cache_creation_tokens": 14922, + "prompt_cached_tokens": 0, "prompt_tokens": 6, "time_to_first_token": 0, "tokens": 14931 diff --git a/e2e/scenarios/bedrock-runtime-instrumentation/__snapshots__/bedrock-runtime-v3-wrapped.span-tree.json b/e2e/scenarios/bedrock-runtime-instrumentation/__snapshots__/bedrock-runtime-v3-wrapped.span-tree.json index 2559d106c..a98284ac8 100644 --- a/e2e/scenarios/bedrock-runtime-instrumentation/__snapshots__/bedrock-runtime-v3-wrapped.span-tree.json +++ b/e2e/scenarios/bedrock-runtime-instrumentation/__snapshots__/bedrock-runtime-v3-wrapped.span-tree.json @@ -125,6 +125,43 @@ "testRunId": "" } }, + { + "name": "bedrock-embedding-operation", + "children": [ + { + "name": "bedrock.invokeModel", + "type": "llm", + "children": [], + "input": { + "inputs": [ + { + "content": "Embed this short Braintrust test sentence." + } + ], + "output_dimensions": 256 + }, + "output": { + "count": 1 + }, + "metadata": { + "accept": "application/json", + "command": "InvokeModelCommand", + "contentType": "application/json", + "model": "amazon.titan-embed-text-v2:0", + "operation": "invokeModel", + "provider": "aws-bedrock" + }, + "metrics": { + "prompt_tokens": 9, + "tokens": 9 + } + } + ], + "metadata": { + "operation": "embedding", + "testRunId": "" + } + }, { "name": "bedrock-invoke-model-operation", "children": [ diff --git a/e2e/scenarios/bedrock-runtime-instrumentation/__snapshots__/bedrock-runtime-v3-wrapped.span-tree.txt b/e2e/scenarios/bedrock-runtime-instrumentation/__snapshots__/bedrock-runtime-v3-wrapped.span-tree.txt index 716d4fe5e..4cacfd581 100644 --- a/e2e/scenarios/bedrock-runtime-instrumentation/__snapshots__/bedrock-runtime-v3-wrapped.span-tree.txt +++ b/e2e/scenarios/bedrock-runtime-instrumentation/__snapshots__/bedrock-runtime-v3-wrapped.span-tree.txt @@ -109,6 +109,35 @@ span_tree: │ "time_to_first_token": 0, │ "tokens": 14931 │ } + ├── bedrock-embedding-operation + │ metadata: { + │ "operation": "embedding", + │ "testRunId": "" + │ } + │ └── bedrock.invokeModel [llm] + │ input: { + │ "inputs": [ + │ { + │ "content": "Embed this short Braintrust test sentence." + │ } + │ ], + │ "output_dimensions": 256 + │ } + │ output: { + │ "count": 1 + │ } + │ metadata: { + │ "accept": "application/json", + │ "command": "InvokeModelCommand", + │ "contentType": "application/json", + │ "model": "amazon.titan-embed-text-v2:0", + │ "operation": "invokeModel", + │ "provider": "aws-bedrock" + │ } + │ metrics: { + │ "prompt_tokens": 9, + │ "tokens": 9 + │ } ├── bedrock-invoke-model-operation │ metadata: { │ "operation": "invoke-model", diff --git a/e2e/scenarios/bedrock-runtime-instrumentation/assertions.ts b/e2e/scenarios/bedrock-runtime-instrumentation/assertions.ts index 406113a5b..1f760ca89 100644 --- a/e2e/scenarios/bedrock-runtime-instrumentation/assertions.ts +++ b/e2e/scenarios/bedrock-runtime-instrumentation/assertions.ts @@ -13,6 +13,7 @@ import { import { findChildSpans, findLatestSpan } from "../../helpers/trace-selectors"; import { CACHE_PROMPT_MARKER, + EMBEDDING_MODEL, MODEL, ROOT_NAME, SCENARIO_NAME, @@ -37,6 +38,7 @@ type RunBedrockRuntimeScenario = (harness: { const OPERATION_TO_SPAN_NAME = { "bedrock-converse-operation": "bedrock.converse", "bedrock-converse-stream-operation": "bedrock.converseStream", + "bedrock-embedding-operation": "bedrock.invokeModel", "bedrock-invoke-model-operation": "bedrock.invokeModel", "bedrock-invoke-model-stream-operation": "bedrock.invokeModelWithResponseStream", @@ -150,7 +152,10 @@ export function defineBedrockRuntimeInstrumentationAssertions(options: { const span = findBedrockSpan(events, operationName); expect(span, operationName).toBeDefined(); expect(span?.row.metadata).toMatchObject({ - model: MODEL, + model: + operationName === "bedrock-embedding-operation" + ? EMBEDDING_MODEL + : MODEL, provider: "aws-bedrock", }); expect(span?.output).toBeDefined(); @@ -180,6 +185,28 @@ export function defineBedrockRuntimeInstrumentationAssertions(options: { }); }); + test("captures canonical Bedrock embedding data", testConfig, () => { + const embeddingSpan = findBedrockSpan( + events, + "bedrock-embedding-operation", + ); + + expect(embeddingSpan?.input).toEqual({ + inputs: [ + { + content: "Embed this short Braintrust test sentence.", + }, + ], + output_dimensions: 256, + }); + expect(embeddingSpan?.output).toEqual({ count: 1 }); + expect(embeddingSpan?.metrics).toMatchObject({ + prompt_tokens: expect.any(Number), + tokens: expect.any(Number), + }); + expect(embeddingSpan?.metrics).not.toHaveProperty("completion_tokens"); + }); + test("captures Bedrock prompt cache metrics", testConfig, () => { const metrics = Object.keys(OPERATION_TO_SPAN_NAME) .map((operationName) => diff --git a/e2e/scenarios/bedrock-runtime-instrumentation/constants.mjs b/e2e/scenarios/bedrock-runtime-instrumentation/constants.mjs index 33dac5d19..805df652a 100644 --- a/e2e/scenarios/bedrock-runtime-instrumentation/constants.mjs +++ b/e2e/scenarios/bedrock-runtime-instrumentation/constants.mjs @@ -15,6 +15,7 @@ function getModel() { } export const MODEL = getModel(); +export const EMBEDDING_MODEL = "amazon.titan-embed-text-v2:0"; export const REGION = process.env.AWS_REGION ?? process.env.AWS_DEFAULT_REGION ?? "us-east-1"; export const CACHE_PROMPT_MARKER = "BRAINTRUST_BEDROCK_CACHE_CONTEXT"; diff --git a/e2e/scenarios/bedrock-runtime-instrumentation/scenario.impl.mjs b/e2e/scenarios/bedrock-runtime-instrumentation/scenario.impl.mjs index 55af87dbc..0dca692f5 100644 --- a/e2e/scenarios/bedrock-runtime-instrumentation/scenario.impl.mjs +++ b/e2e/scenarios/bedrock-runtime-instrumentation/scenario.impl.mjs @@ -6,6 +6,7 @@ import { } from "../../helpers/provider-runtime.mjs"; import { CACHE_PROMPT_MARKER, + EMBEDDING_MODEL, MODEL, REGION, ROOT_NAME, @@ -156,6 +157,25 @@ export async function runBedrockRuntimeInstrumentationScenario(options) { }, ); + await runOperation( + "bedrock-embedding-operation", + "embedding", + async () => { + await client.send( + new options.InvokeModelCommand({ + accept: "application/json", + body: JSON.stringify({ + dimensions: 256, + inputText: "Embed this short Braintrust test sentence.", + normalize: true, + }), + contentType: "application/json", + modelId: EMBEDDING_MODEL, + }), + ); + }, + ); + await runOperation( "bedrock-invoke-model-stream-operation", "invoke-model-stream", diff --git a/e2e/scenarios/bedrock-runtime-instrumentation/scenario.test.ts b/e2e/scenarios/bedrock-runtime-instrumentation/scenario.test.ts index 6fc954e8b..ec533c955 100644 --- a/e2e/scenarios/bedrock-runtime-instrumentation/scenario.test.ts +++ b/e2e/scenarios/bedrock-runtime-instrumentation/scenario.test.ts @@ -40,8 +40,9 @@ describe.concurrent("variants", () => { entry: "scenario.ts", env: { BEDROCK_RUNTIME_PACKAGE_NAME: scenario.dependencyName }, runContext: { - variantKey: scenario.snapshotName, + cassette: { variantKey: scenario.snapshotName }, originalScenarioDir, + variantKey: `${scenario.snapshotName}-wrapped`, }, scenarioDir, timeoutMs: BEDROCK_RUNTIME_SCENARIO_TIMEOUT_MS, @@ -60,8 +61,9 @@ describe.concurrent("variants", () => { env: { BEDROCK_RUNTIME_PACKAGE_NAME: scenario.dependencyName }, nodeArgs: ["--import", "braintrust/hook.mjs"], runContext: { - variantKey: scenario.snapshotName, + cassette: { variantKey: scenario.snapshotName }, originalScenarioDir, + variantKey: `${scenario.snapshotName}-auto`, }, scenarioDir, timeoutMs: BEDROCK_RUNTIME_SCENARIO_TIMEOUT_MS, diff --git a/js/src/instrumentation/plugins/bedrock-runtime-plugin.test.ts b/js/src/instrumentation/plugins/bedrock-runtime-plugin.test.ts index fc74a9068..020832b86 100644 --- a/js/src/instrumentation/plugins/bedrock-runtime-plugin.test.ts +++ b/js/src/instrumentation/plugins/bedrock-runtime-plugin.test.ts @@ -25,6 +25,10 @@ class InvokeModelWithBidirectionalStreamCommand { constructor(public input: Record) {} } +class InvokeModelCommand { + constructor(public input: Record) {} +} + class GetObjectCommand { constructor(public input: Record) {} } @@ -232,6 +236,167 @@ describe("BedrockRuntimePlugin", () => { ]), ); }); + + it("captures canonical Titan embedding data and token metrics", async () => { + await smithyCoreChannels.clientSend.tracePromise( + async () => ({ + body: new TextEncoder().encode( + JSON.stringify({ + embedding: [0.1, 0.2, 0.3], + embeddingsByType: { + float: [0.1, 0.2, 0.3], + }, + inputTextTokenCount: 4, + }), + ), + }), + { + arguments: [ + new InvokeModelCommand({ + body: JSON.stringify({ + dimensions: 3, + inputText: "Embed this sentence.", + normalize: true, + }), + modelId: "amazon.titan-embed-text-v2:0", + }) as any, + ], + }, + ); + + const spans = await backgroundLogger.drain(); + expect(spans).toEqual( + expect.arrayContaining([ + expect.objectContaining({ + input: { + inputs: [{ content: "Embed this sentence." }], + output_dimensions: 3, + }, + metadata: expect.objectContaining({ + model: "amazon.titan-embed-text-v2:0", + provider: "aws-bedrock", + }), + metrics: expect.objectContaining({ + prompt_tokens: 4, + tokens: 4, + }), + output: { count: 1 }, + }), + ]), + ); + expect(spans[0]?.metrics).not.toHaveProperty("completion_tokens"); + }); + + it("captures canonical Cohere batch embedding data without vectors", async () => { + await smithyCoreChannels.clientSend.tracePromise( + async () => ({ + body: new TextEncoder().encode( + JSON.stringify({ + embeddings: [ + [0.1, 0.2, 0.3], + [0.4, 0.5, 0.6], + ], + id: "response-id", + response_type: "embeddings_floats", + texts: ["First", "Second"], + }), + ), + }), + { + arguments: [ + new InvokeModelCommand({ + body: JSON.stringify({ + input_type: "search_document", + texts: ["First", "Second"], + }), + modelId: "cohere.embed-english-v3", + }) as any, + ], + }, + ); + + const spans = await backgroundLogger.drain(); + expect(spans).toEqual( + expect.arrayContaining([ + expect.objectContaining({ + input: { + inputs: [{ content: "First" }, { content: "Second" }], + }, + output: { count: 2 }, + }), + ]), + ); + }); + + it("counts Cohere v4 multi-type embeddings once per input", async () => { + await smithyCoreChannels.clientSend.tracePromise( + async () => ({ + body: JSON.stringify({ + embeddings: { + float: [ + [0.1, 0.2], + [0.3, 0.4], + ], + int8: [ + [1, 2], + [3, 4], + ], + }, + response_type: "embeddings_by_type", + }), + }), + { + arguments: [ + new InvokeModelCommand({ + body: JSON.stringify({ + input_type: "search_document", + output_dimension: 2, + texts: ["First", "Second"], + }), + modelId: "us.cohere.embed-v4:0", + }) as any, + ], + }, + ); + + const spans = await backgroundLogger.drain(); + expect(spans).toEqual( + expect.arrayContaining([ + expect.objectContaining({ + input: { + inputs: [{ content: "First" }, { content: "Second" }], + output_dimensions: 2, + }, + output: { count: 2 }, + }), + ]), + ); + }); + + it("never logs provider-native output for malformed embedding responses", async () => { + await smithyCoreChannels.clientSend.tracePromise( + async () => ({ + body: JSON.stringify({ unexpected: "response" }), + }), + { + arguments: [ + new InvokeModelCommand({ + body: JSON.stringify({ inputText: "Embed this." }), + modelId: "amazon.titan-embed-text-v2:0", + }) as any, + ], + }, + ); + + const spans = await backgroundLogger.drain(); + expect(spans).toEqual( + expect.arrayContaining([ + expect.objectContaining({ + output: { count: 0 }, + }), + ]), + ); + }); }); describe("parseBedrockRuntimeMetrics", () => { diff --git a/js/src/instrumentation/plugins/bedrock-runtime-plugin.ts b/js/src/instrumentation/plugins/bedrock-runtime-plugin.ts index a759d1ffe..857f90e80 100644 --- a/js/src/instrumentation/plugins/bedrock-runtime-plugin.ts +++ b/js/src/instrumentation/plugins/bedrock-runtime-plugin.ts @@ -4,6 +4,7 @@ import { isAsyncIterable, patchStreamIfNeeded } from "../core/stream-patcher"; import { SpanTypeAttribute, isObject } from "../../../util/index"; import { getCurrentUnixTimestamp } from "../../util"; import type { Span } from "../../logger"; +import { processInputAttachments } from "../../wrappers/attachment-utils"; import type { AnyAsyncChannel } from "../core/channel-definitions"; import type { BedrockRuntimeConverseRequest, @@ -25,6 +26,9 @@ import { getBedrockRuntimeOperation, } from "./bedrock-runtime-common"; +const BEDROCK_EMBEDDING_MODEL_PATTERN = + /(?:^|[./])(?:amazon\.titan-embed-text|cohere\.embed-)/; + export class BedrockRuntimePlugin extends BasePlugin { protected onEnable(): void { this.unsubscribers.push( @@ -102,10 +106,11 @@ function extractBedrockRuntimeInput(command: unknown): { const invokeRequest = isObject(request) ? (request as BedrockRuntimeInvokeModelRequest) : undefined; + const parsedBody = parseJsonBody(invokeRequest?.body); return { - input: - parseJsonBody(invokeRequest?.body) ?? - summarizeBody(invokeRequest?.body), + input: isBedrockEmbeddingModel(invokeRequest?.modelId) + ? extractBedrockEmbeddingInput(parsedBody) + : (parsedBody ?? summarizeBody(invokeRequest?.body)), metadata, }; } @@ -161,7 +166,16 @@ function extractBedrockRuntimeOutput( if (operation === "invokeModel") { const response = isObject(result) ? result : undefined; - return parseJsonBody(response?.body) ?? summarizeBody(response?.body); + const parsedBody = parseJsonBody(response?.body); + const request = getBedrockRuntimeCommandInput(command); + const modelId = isObject(request) ? request.modelId : undefined; + if ( + isBedrockEmbeddingModel(modelId) || + isBedrockEmbeddingResponse(parsedBody) + ) { + return summarizeBedrockEmbeddingOutput(parsedBody); + } + return parsedBody ?? summarizeBody(response?.body); } return sanitizeBedrockValue(result); @@ -215,7 +229,9 @@ function extractBedrockRuntimeResponseMetrics( ? parsedBody.metadata : undefined; const metrics = parseBedrockRuntimeMetrics( - parsedBody.usage ?? metadata?.usage, + parsedBody.usage ?? + metadata?.usage ?? + (parsedBody.inputTextTokenCount !== undefined ? parsedBody : undefined), parsedBody.metrics ?? metadata?.metrics, ); if (Object.keys(metrics).length > 0) { @@ -238,6 +254,7 @@ export function parseBedrockRuntimeMetrics( const promptTokens = firstNumber( usageRecord.inputTokens, usageRecord.inputTokenCount, + usageRecord.inputTextTokenCount, usageRecord.input_tokens, usageRecord.prompt_tokens, ); @@ -308,6 +325,142 @@ export function parseBedrockRuntimeMetrics( return metrics; } +type BedrockEmbeddingContentPart = + | { type: "text"; text: string } + | { type: "image_url"; image_url: { url: unknown } }; + +type BedrockEmbeddingInput = { + inputs: Array<{ + content: string | BedrockEmbeddingContentPart[]; + }>; + output_dimensions?: number; +}; + +function isBedrockEmbeddingModel(modelId: unknown): boolean { + return ( + typeof modelId === "string" && BEDROCK_EMBEDDING_MODEL_PATTERN.test(modelId) + ); +} + +function extractBedrockEmbeddingInput(body: unknown): BedrockEmbeddingInput { + const request = isObject(body) ? body : undefined; + let inputs: BedrockEmbeddingInput["inputs"] = []; + + if (typeof request?.inputText === "string") { + inputs = [{ content: request.inputText }]; + } else if (Array.isArray(request?.inputs)) { + inputs = request.inputs.flatMap((input) => { + const content = isObject(input) ? input.content : undefined; + if (!Array.isArray(content)) { + return []; + } + + const parts = content.flatMap((part): BedrockEmbeddingContentPart[] => { + if (!isObject(part)) { + return []; + } + if (part.type === "text" && typeof part.text === "string") { + return [{ type: "text", text: part.text }]; + } + if ( + part.type === "image_url" && + isObject(part.image_url) && + typeof part.image_url.url === "string" + ) { + return [ + { + type: "image_url", + image_url: { url: part.image_url.url }, + }, + ]; + } + return []; + }); + return parts.length > 0 ? [{ content: parts }] : []; + }); + } else { + if (Array.isArray(request?.texts)) { + inputs.push( + ...request.texts.flatMap((text) => + typeof text === "string" ? [{ content: text }] : [], + ), + ); + } + if (Array.isArray(request?.images)) { + for (const image of request.images) { + if (typeof image === "string") { + inputs.push({ + content: [ + { + type: "image_url", + image_url: { url: image }, + }, + ], + }); + } + } + } + } + + const outputDimensions = request?.dimensions ?? request?.output_dimension; + return processInputAttachments({ + inputs, + ...(typeof outputDimensions === "number" && + Number.isFinite(outputDimensions) + ? { output_dimensions: outputDimensions } + : {}), + }); +} + +function isBedrockEmbeddingResponse(body: unknown): boolean { + return ( + isObject(body) && + (Array.isArray(body.embedding) || + Array.isArray(body.embeddings) || + isObject(body.embeddings) || + isObject(body.embeddingsByType)) + ); +} + +function summarizeBedrockEmbeddingOutput(body: unknown): { count: number } { + if (!isObject(body)) { + return { count: 0 }; + } + + if (Array.isArray(body.embedding)) { + return { count: body.embedding.length > 0 ? 1 : 0 }; + } + + if (Array.isArray(body.embeddings)) { + return { + count: + body.embeddings.length > 0 && !Array.isArray(body.embeddings[0]) + ? 1 + : body.embeddings.length, + }; + } + + for (const embeddingGroup of [body.embeddings, body.embeddingsByType]) { + if (!isObject(embeddingGroup)) { + continue; + } + const counts = Object.values(embeddingGroup).flatMap((embeddings) => + Array.isArray(embeddings) + ? [ + embeddings.length > 0 && !Array.isArray(embeddings[0]) + ? 1 + : embeddings.length, + ] + : [], + ); + if (counts.length > 0) { + return { count: Math.max(...counts) }; + } + } + + return { count: 0 }; +} + function firstNumber(...values: unknown[]): number | undefined { return values.find((value): value is number => typeof value === "number"); } diff --git a/js/src/vendor-sdk-types/bedrock-runtime.ts b/js/src/vendor-sdk-types/bedrock-runtime.ts index 158355f97..f4d2e3030 100644 --- a/js/src/vendor-sdk-types/bedrock-runtime.ts +++ b/js/src/vendor-sdk-types/bedrock-runtime.ts @@ -62,6 +62,7 @@ export interface BedrockRuntimeConverseRequest { export interface BedrockRuntimeTokenUsage { inputTokens?: number; + inputTextTokenCount?: number; outputTokens?: number; totalTokens?: number; cacheReadInputTokens?: number; From 87df12388a07cff482310f3062d4f60af66f22ba Mon Sep 17 00:00:00 2001 From: lforst <8118419+lforst@users.noreply.github.com> Date: Fri, 11 Sep 2026 13:49:45 +0000 Subject: [PATCH 2/5] Update PR #2475 --- .changeset/bedrock-embedding-calls.md | 5 +++++ .../plugins/bedrock-runtime-plugin.test.ts | 11 ++++++++++- 2 files changed, 15 insertions(+), 1 deletion(-) create mode 100644 .changeset/bedrock-embedding-calls.md diff --git a/.changeset/bedrock-embedding-calls.md b/.changeset/bedrock-embedding-calls.md new file mode 100644 index 000000000..20c75b53d --- /dev/null +++ b/.changeset/bedrock-embedding-calls.md @@ -0,0 +1,5 @@ +--- +"braintrust": minor +--- + +feat(bedrock): Capture embedding calls diff --git a/js/src/instrumentation/plugins/bedrock-runtime-plugin.test.ts b/js/src/instrumentation/plugins/bedrock-runtime-plugin.test.ts index 020832b86..9b14e4b06 100644 --- a/js/src/instrumentation/plugins/bedrock-runtime-plugin.test.ts +++ b/js/src/instrumentation/plugins/bedrock-runtime-plugin.test.ts @@ -284,7 +284,16 @@ describe("BedrockRuntimePlugin", () => { }), ]), ); - expect(spans[0]?.metrics).not.toHaveProperty("completion_tokens"); + expect(spans).not.toEqual( + expect.arrayContaining([ + expect.objectContaining({ + metrics: expect.objectContaining({ + completion_tokens: expect.anything(), + }), + output: { count: 1 }, + }), + ]), + ); }); it("captures canonical Cohere batch embedding data without vectors", async () => { From e67f68df35cc78e3a552d92744319d16a1782fcd Mon Sep 17 00:00:00 2001 From: lforst <8118419+lforst@users.noreply.github.com> Date: Mon, 14 Sep 2026 10:27:14 +0000 Subject: [PATCH 3/5] Update PR #2475 --- ... => bedrock-runtime-v3-auto.cassette.json} | 166 ++++- ...drock-runtime-v3-latest-auto.cassette.json | 658 ++++++++++++++++++ ...k-runtime-v3-latest-wrapped.cassette.json} | 166 ++++- .../bedrock-runtime-v3-wrapped.cassette.json | 658 ++++++++++++++++++ .../bedrock-runtime-v3-auto.span-tree.json | 49 ++ .../bedrock-runtime-v3-auto.span-tree.txt | 41 ++ ...rock-runtime-v3-latest-auto.span-tree.json | 57 +- ...drock-runtime-v3-latest-auto.span-tree.txt | 49 +- ...k-runtime-v3-latest-wrapped.span-tree.json | 57 +- ...ck-runtime-v3-latest-wrapped.span-tree.txt | 49 +- .../bedrock-runtime-v3-wrapped.span-tree.json | 49 ++ .../bedrock-runtime-v3-wrapped.span-tree.txt | 41 ++ .../assertions.ts | 42 +- .../cassette-filter.mjs | 4 + .../constants.mjs | 1 + .../scenario.impl.mjs | 40 ++ .../scenario.test.ts | 2 - .../test-image.png | Bin 0 -> 588 bytes 18 files changed, 2088 insertions(+), 41 deletions(-) rename e2e/scenarios/bedrock-runtime-instrumentation/__cassettes__/{bedrock-runtime-v3.cassette.json => bedrock-runtime-v3-auto.cassette.json} (93%) create mode 100644 e2e/scenarios/bedrock-runtime-instrumentation/__cassettes__/bedrock-runtime-v3-latest-auto.cassette.json rename e2e/scenarios/bedrock-runtime-instrumentation/__cassettes__/{bedrock-runtime-v3-latest.cassette.json => bedrock-runtime-v3-latest-wrapped.cassette.json} (93%) create mode 100644 e2e/scenarios/bedrock-runtime-instrumentation/__cassettes__/bedrock-runtime-v3-wrapped.cassette.json create mode 100644 e2e/scenarios/bedrock-runtime-instrumentation/test-image.png diff --git a/e2e/scenarios/bedrock-runtime-instrumentation/__cassettes__/bedrock-runtime-v3.cassette.json b/e2e/scenarios/bedrock-runtime-instrumentation/__cassettes__/bedrock-runtime-v3-auto.cassette.json similarity index 93% rename from e2e/scenarios/bedrock-runtime-instrumentation/__cassettes__/bedrock-runtime-v3.cassette.json rename to e2e/scenarios/bedrock-runtime-instrumentation/__cassettes__/bedrock-runtime-v3-auto.cassette.json index 338b36fe4..45bd41a50 100644 --- a/e2e/scenarios/bedrock-runtime-instrumentation/__cassettes__/bedrock-runtime-v3.cassette.json +++ b/e2e/scenarios/bedrock-runtime-instrumentation/__cassettes__/bedrock-runtime-v3-auto.cassette.json @@ -4,7 +4,7 @@ "callIndex": 0, "id": "167baa531c51f0bf", "matchKey": "POST bedrock-runtime.aws-region.amazonaws.com/model/us.amazon.nova-lite-v1%3A0/converse", - "recordedAt": "2026-09-11T12:57:49.978Z", + "recordedAt": "2026-09-14T10:22:53.547Z", "request": { "body": { "kind": "json", @@ -43,7 +43,7 @@ "kind": "json", "value": { "metrics": { - "latencyMs": 510 + "latencyMs": 665 }, "output": { "message": { @@ -83,7 +83,7 @@ "callIndex": 0, "id": "5f6e11e6074e64db", "matchKey": "POST bedrock-runtime.aws-region.amazonaws.com/model/us.amazon.nova-lite-v1%3A0/converse-stream", - "recordedAt": "2026-09-11T12:57:50.653Z", + "recordedAt": "2026-09-14T10:22:54.185Z", "request": { "body": { "kind": "json", @@ -121,7 +121,7 @@ "body": { "contentType": "application/vnd.amazon.eventstream", "kind": "base64", - "value": "AAAAlwAAAFKDYRSxCzpldmVudC10eXBlBwAMbWVzc2FnZVN0YXJ0DTpjb250ZW50LXR5cGUHABBhcHBsaWNhdGlvbi9qc29uDTptZXNzYWdlLXR5cGUHAAVldmVudHsicCI6ImFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6Iiwicm9sZSI6ImFzc2lzdGFudCJ9G/AFrwAAAKIAAABXmsrXyAs6ZXZlbnQtdHlwZQcAEWNvbnRlbnRCbG9ja0RlbHRhDTpjb250ZW50LXR5cGUHABBhcHBsaWNhdGlvbi9qc29uDTptZXNzYWdlLXR5cGUHAAVldmVudHsiY29udGVudEJsb2NrSW5kZXgiOjAsImRlbHRhIjp7InRleHQiOiIifSwicCI6ImFiY2RlZmdoaSJ9NTLrNAAAANgAAABXKagvpgs6ZXZlbnQtdHlwZQcAEWNvbnRlbnRCbG9ja0RlbHRhDTpjb250ZW50LXR5cGUHABBhcHBsaWNhdGlvbi9qc29uDTptZXNzYWdlLXR5cGUHAAVldmVudHsiY29udGVudEJsb2NrSW5kZXgiOjAsImRlbHRhIjp7InRleHQiOiJTVFJFQU0ifSwicCI6ImFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6QUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVowMTIzNCJ9FcansAAAAL8AAABXArqE+ws6ZXZlbnQtdHlwZQcAEWNvbnRlbnRCbG9ja0RlbHRhDTpjb250ZW50LXR5cGUHABBhcHBsaWNhdGlvbi9qc29uDTptZXNzYWdlLXR5cGUHAAVldmVudHsiY29udGVudEJsb2NrSW5kZXgiOjAsImRlbHRhIjp7InRleHQiOiIifSwicCI6ImFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6QUJDREVGR0hJSktMIn3CiVpEAAAAigAAAFYcfIObCzpldmVudC10eXBlBwAQY29udGVudEJsb2NrU3RvcA06Y29udGVudC10eXBlBwAQYXBwbGljYXRpb24vanNvbg06bWVzc2FnZS10eXBlBwAFZXZlbnR7ImNvbnRlbnRCbG9ja0luZGV4IjowLCJwIjoiYWJjZGVmIn1263kMAAAAhQAAAFEASIHpCzpldmVudC10eXBlBwALbWVzc2FnZVN0b3ANOmNvbnRlbnQtdHlwZQcAEGFwcGxpY2F0aW9uL2pzb24NOm1lc3NhZ2UtdHlwZQcABWV2ZW50eyJwIjoiYWJjZCIsInN0b3BSZWFzb24iOiJlbmRfdHVybiJ9HPrdBQAAAU4AAABO2NmGcws6ZXZlbnQtdHlwZQcACG1ldGFkYXRhDTpjb250ZW50LXR5cGUHABBhcHBsaWNhdGlvbi9qc29uDTptZXNzYWdlLXR5cGUHAAVldmVudHsibWV0cmljcyI6eyJsYXRlbmN5TXMiOjYzN30sInAiOiJhYiIsInVzYWdlIjp7ImNhY2hlUmVhZElucHV0VG9rZW5Db3VudCI6MTQ5MjIsImNhY2hlUmVhZElucHV0VG9rZW5zIjoxNDkyMiwiY2FjaGVXcml0ZUlucHV0VG9rZW5Db3VudCI6MCwiY2FjaGVXcml0ZUlucHV0VG9rZW5zIjowLCJpbnB1dFRva2VucyI6Niwib3V0cHV0VG9rZW5zIjozLCJzZXJ2ZXJUb29sVXNhZ2UiOnt9LCJ0b3RhbFRva2VucyI6MTQ5MzF9ffEXrP0=" + "value": "AAAAhgAAAFLe4aqDCzpldmVudC10eXBlBwAMbWVzc2FnZVN0YXJ0DTpjb250ZW50LXR5cGUHABBhcHBsaWNhdGlvbi9qc29uDTptZXNzYWdlLXR5cGUHAAVldmVudHsicCI6ImFiY2RlZmdoaSIsInJvbGUiOiJhc3Npc3RhbnQifTptJB8AAACnAAAAV1IqWLgLOmV2ZW50LXR5cGUHABFjb250ZW50QmxvY2tEZWx0YQ06Y29udGVudC10eXBlBwAQYXBwbGljYXRpb24vanNvbg06bWVzc2FnZS10eXBlBwAFZXZlbnR7ImNvbnRlbnRCbG9ja0luZGV4IjowLCJkZWx0YSI6eyJ0ZXh0IjoiIn0sInAiOiJhYmNkZWZnaGlqa2xtbiJ9xlDw1QAAANMAAABXXngetws6ZXZlbnQtdHlwZQcAEWNvbnRlbnRCbG9ja0RlbHRhDTpjb250ZW50LXR5cGUHABBhcHBsaWNhdGlvbi9qc29uDTptZXNzYWdlLXR5cGUHAAVldmVudHsiY29udGVudEJsb2NrSW5kZXgiOjAsImRlbHRhIjp7InRleHQiOiJTVFJFQU0ifSwicCI6ImFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6QUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVoifbCov8kAAAC9AAAAV3h615sLOmV2ZW50LXR5cGUHABFjb250ZW50QmxvY2tEZWx0YQ06Y29udGVudC10eXBlBwAQYXBwbGljYXRpb24vanNvbg06bWVzc2FnZS10eXBlBwAFZXZlbnR7ImNvbnRlbnRCbG9ja0luZGV4IjowLCJkZWx0YSI6eyJ0ZXh0IjoiIn0sInAiOiJhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ekFCQ0RFRkdISUoifdQhoTwAAAC3AAAAVkXN/6wLOmV2ZW50LXR5cGUHABBjb250ZW50QmxvY2tTdG9wDTpjb250ZW50LXR5cGUHABBhcHBsaWNhdGlvbi9qc29uDTptZXNzYWdlLXR5cGUHAAVldmVudHsiY29udGVudEJsb2NrSW5kZXgiOjAsInAiOiJhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ekFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFkifUyx1JEAAAC7AAAAUR5Zhw4LOmV2ZW50LXR5cGUHAAttZXNzYWdlU3RvcA06Y29udGVudC10eXBlBwAQYXBwbGljYXRpb24vanNvbg06bWVzc2FnZS10eXBlBwAFZXZlbnR7InAiOiJhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ekFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaMDEyMzQ1Iiwic3RvcFJlYXNvbiI6ImVuZF90dXJuIn0J648XAAABYAAAAE6mKBcWCzpldmVudC10eXBlBwAIbWV0YWRhdGENOmNvbnRlbnQtdHlwZQcAEGFwcGxpY2F0aW9uL2pzb24NOm1lc3NhZ2UtdHlwZQcABWV2ZW50eyJtZXRyaWNzIjp7ImxhdGVuY3lNcyI6NjAwfSwicCI6ImFiY2RlZmdoaWprbG1ub3BxcnN0IiwidXNhZ2UiOnsiY2FjaGVSZWFkSW5wdXRUb2tlbkNvdW50IjoxNDkyMiwiY2FjaGVSZWFkSW5wdXRUb2tlbnMiOjE0OTIyLCJjYWNoZVdyaXRlSW5wdXRUb2tlbkNvdW50IjowLCJjYWNoZVdyaXRlSW5wdXRUb2tlbnMiOjAsImlucHV0VG9rZW5zIjo2LCJvdXRwdXRUb2tlbnMiOjMsInNlcnZlclRvb2xVc2FnZSI6e30sInRvdGFsVG9rZW5zIjoxNDkzMX19WYiHqg==" }, "headers": { "connection": "keep-alive", @@ -138,7 +138,7 @@ "callIndex": 0, "id": "3e9c682f68d2d756", "matchKey": "POST bedrock-runtime.aws-region.amazonaws.com/model/us.amazon.nova-lite-v1%3A0/invoke", - "recordedAt": "2026-09-11T12:57:51.208Z", + "recordedAt": "2026-09-14T10:22:54.787Z", "request": { "body": { "kind": "json", @@ -203,7 +203,7 @@ "x-amzn-bedrock-cache-read-input-token-count": "14921", "x-amzn-bedrock-cache-write-input-token-count": "0", "x-amzn-bedrock-input-token-count": "6", - "x-amzn-bedrock-invocation-latency": "514", + "x-amzn-bedrock-invocation-latency": "562", "x-amzn-bedrock-output-token-count": "2", "x-amzn-requestid": "[REDACTED]" }, @@ -215,7 +215,7 @@ "callIndex": 0, "id": "0d28290b31e60524", "matchKey": "POST bedrock-runtime.aws-region.amazonaws.com/model/amazon.titan-embed-text-v2%3A0/invoke", - "recordedAt": "2026-09-11T12:57:51.491Z", + "recordedAt": "2026-09-14T10:22:54.998Z", "request": { "body": { "kind": "json", @@ -445,7 +445,151 @@ "content-type": "application/json", "date": "[REDACTED]", "x-amzn-bedrock-input-token-count": "9", - "x-amzn-bedrock-invocation-latency": "257", + "x-amzn-bedrock-invocation-latency": "187", + "x-amzn-requestid": "[REDACTED]" + }, + "status": 200, + "statusText": "OK" + } + }, + { + "callIndex": 0, + "id": "8ff069ff4c3fa2d6", + "matchKey": "POST bedrock-runtime.aws-region.amazonaws.com/model/us.cohere.embed-v4%3A0/invoke", + "recordedAt": "2026-09-14T10:22:55.370Z", + "request": { + "body": { + "kind": "json", + "value": { + "embedding_types": ["float"], + "input_type": "search_document", + "inputs": [ + { + "content": [ + { + "text": "A sailing ship in a storm", + "type": "text" + }, + { + "image_url": { + "url": "[REDACTED]" + }, + "type": "image_url" + } + ] + } + ], + "output_dimension": 256 + } + }, + "headers": {}, + "method": "POST", + "url": "https://bedrock-runtime.us-east-2.amazonaws.com/model/us.cohere.embed-v4%3A0/invoke" + }, + "response": { + "body": { + "kind": "json", + "value": { + "embeddings": { + "float": [ + [ + -0.056131896, 0.017211715, -0.048999116, -0.034578487, + 0.02868619, 0.033338007, -0.05985335, 0.09241605, + -0.017056653, 0.014188034, -0.090555325, 0.016901594, + 0.010544113, -0.035663914, -0.004496754, 0.0103115225, + 0.006318715, -0.055201534, 0.046208024, -0.00786932, + -0.06264444, 0.06264444, -0.0098075755, -0.046828266, + 0.036439214, 0.10171968, 0.037524637, 0.0034694783, + 0.093036294, -0.07597964, -0.10171968, -0.09799823, + -0.019615151, 0.023414133, 0.0061636544, 0.093036294, + 0.014188034, 0.014653216, 0.14203541, -0.03488861, + 0.046518147, -0.035663914, -0.057682503, -0.010233992, + 0.050239597, 0.081871934, 0.019537622, 0.05644202, + -0.09861847, -0.019770212, 0.049929477, 0.11722573, + 0.008605857, -0.0035470086, -0.05985335, -0.08621363, + -0.09923871, 0.13521275, -0.058612864, -0.010233992, + -0.022638831, 0.06822661, 0.11288404, -0.011241885, + 0.10047919, 0.069156975, 0.014808277, 0.005039466, + 0.0015796787, -0.012327309, -0.03147728, -0.08683387, + -0.05396105, -0.037214518, 0.049929477, 0.020157864, + -0.07380879, -0.05737238, -0.06791649, -0.00635748, + -0.05116996, 0.13397226, 0.03535379, -0.16250339, 0.08001121, + -0.05830274, 0.1079221, -0.069156975, 0.04155621, + -0.0025003504, -0.1079221, -0.05085984, -0.028065948, + 0.0005378661, -0.015350988, 0.013257672, -0.083732665, + 0.05396105, 0.015428519, 0.071017705, -0.078460604, + -0.011009295, 0.024964739, 0.09675775, 0.15692121, + -0.049309235, -0.10233992, -0.0036439213, 0.026980525, + -0.05830274, 0.008450797, -0.05148008, 0.14389613, + -0.14575686, 0.01612629, 0.02248377, -0.009768811, + -0.01938256, -0.081871934, -0.0044386066, -0.05085984, + 0.052410446, 0.0052720564, -0.0002652988, 0.004419224, + 0.0103115225, -0.02527486, -0.06667601, -0.06698613, + -0.05985335, -0.043106817, 0.08001121, 0.056131896, + -0.023104012, 0.0029073842, -0.030236796, 0.1197067, + 0.10358041, 0.04403718, -0.07287843, 0.036594275, + -0.010931765, 0.06481528, -0.11846621, 0.012172248, + 0.06388492, 0.09365653, 0.0014440008, -0.07815049, + 0.065125406, -0.042796694, 0.0042447806, -0.008644622, + 0.124668635, 0.02232871, 0.016746532, 0.021243287, 0.05737238, + 0.05085984, 0.083732665, 0.12342815, 0.033493064, 0.09117556, + -0.043416936, -0.14265566, -0.0062411847, 0.0056984727, + -0.03504367, -0.05489141, 0.033338007, 0.010776704, + -0.08745412, -0.018064547, 0.00012598664, 0.07380879, + 0.0032562702, -0.0006105507, -0.10482089, 0.018219607, + -0.20343935, -0.14141516, -0.004632432, -0.010001401, + 0.023104012, 0.122807905, 0.054581292, 0.04031573, 0.03814488, + -0.0753594, 0.045277663, -0.09179581, 0.008877213, + 0.054581292, 0.023879316, -0.05644202, 0.07597964, + -0.06450516, -0.008877213, -0.09799823, 0.00050879223, + -0.06388492, -0.001899491, -0.07597964, -0.0443473, + -0.04713839, -0.042486575, -0.013180141, -0.052100323, + 0.109162584, 0.030236796, 0.013722853, -0.016979123, + -0.035508852, -0.020467984, 0.01279249, -0.10606138, + 0.07070758, -0.052100323, 0.043106817, -0.06450516, + 0.0014536921, -0.036129095, -0.0035082435, -0.07225819, + -0.0041091028, -0.030857038, 0.048999116, 0.050239597, + 0.020467984, -0.007830555, -0.011009295, -0.090555325, + -0.09365653, -0.01287002, -0.018064547, -0.002694176, + -0.0148858065, -0.008722153, 0.020157864, -0.013955444, + -0.01620382, -0.0158937, -0.029616553, 0.07628976, + -0.024654618, -0.09117556, -0.13149129, -0.099858955, + -0.13149129, -0.006745131, -0.09551726, 0.02232871, + 0.043416936, 0.00969128, -0.010233992, -0.036594275 + ] + ] + }, + "id": "07732163-869d-4e32-b42a-26c269c89516", + "inputs": [ + { + "content": [ + { + "text": "A sailing ship in a storm", + "type": "text" + }, + { + "image": { + "bit_depth": 32, + "format": "image/png", + "height": 140, + "width": 140 + }, + "type": "image_url" + } + ] + } + ], + "response_type": "embeddings_by_type", + "texts": [] + } + }, + "headers": { + "connection": "keep-alive", + "content-length": "3408", + "content-type": "application/json", + "date": "[REDACTED]", + "x-amzn-bedrock-input-token-count": "112", + "x-amzn-bedrock-invocation-latency": "350", "x-amzn-requestid": "[REDACTED]" }, "status": 200, @@ -456,7 +600,7 @@ "callIndex": 0, "id": "6b97f66ee2a0ebd7", "matchKey": "POST bedrock-runtime.aws-region.amazonaws.com/model/us.amazon.nova-lite-v1%3A0/invoke-with-response-stream", - "recordedAt": "2026-09-11T12:57:52.117Z", + "recordedAt": "2026-09-14T10:22:55.991Z", "request": { "body": { "kind": "json", @@ -493,7 +637,7 @@ "body": { "contentType": "application/vnd.amazon.eventstream", "kind": "base64", - "value": "AAAAvwAAAEsWu9i0CzpldmVudC10eXBlBwAFY2h1bmsNOmNvbnRlbnQtdHlwZQcAEGFwcGxpY2F0aW9uL2pzb24NOm1lc3NhZ2UtdHlwZQcABWV2ZW50eyJieXRlcyI6ImV5SnRaWE56WVdkbFUzUmhjblFpT25zaWNtOXNaU0k2SW1GemMybHpkR0Z1ZENKOWZRPT0iLCJwIjoiYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkMifcbWGmMAAADZAAAASwDJWlkLOmV2ZW50LXR5cGUHAAVjaHVuaw06Y29udGVudC10eXBlBwAQYXBwbGljYXRpb24vanNvbg06bWVzc2FnZS10eXBlBwAFZXZlbnR7ImJ5dGVzIjoiZXlKamIyNTBaVzUwUW14dlkydEVaV3gwWVNJNmV5SmtaV3gwWVNJNmV5SjBaWGgwSWpvaVVrRlhJbjBzSW1OdmJuUmxiblJDYkc5amEwbHVaR1Y0SWpvd2ZYMD0iLCJwIjoiYWJjZGVmZ2hpamtsbW5vIn3GKXdiAAAAxAAAAEuYuQlqCzpldmVudC10eXBlBwAFY2h1bmsNOmNvbnRlbnQtdHlwZQcAEGFwcGxpY2F0aW9uL2pzb24NOm1lc3NhZ2UtdHlwZQcABWV2ZW50eyJieXRlcyI6ImV5SmpiMjUwWlc1MFFteHZZMnRUZEc5d0lqcDdJbU52Ym5SbGJuUkNiRzlqYTBsdVpHVjRJam93ZlgwPSIsInAiOiJhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5eiJ9ofEvuQAAAPMAAABLi7ht/As6ZXZlbnQtdHlwZQcABWNodW5rDTpjb250ZW50LXR5cGUHABBhcHBsaWNhdGlvbi9qc29uDTptZXNzYWdlLXR5cGUHAAVldmVudHsiYnl0ZXMiOiJleUpqYjI1MFpXNTBRbXh2WTJ0RVpXeDBZU0k2ZXlKa1pXeDBZU0k2ZXlKMFpYaDBJam9pVTFSU1JVRk5JbjBzSW1OdmJuUmxiblJDYkc5amEwbHVaR1Y0SWpveGZYMD0iLCJwIjoiYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNERUZHSElKSyJ9k2H1XAAAAK0AAABLDJscVgs6ZXZlbnQtdHlwZQcABWNodW5rDTpjb250ZW50LXR5cGUHABBhcHBsaWNhdGlvbi9qc29uDTptZXNzYWdlLXR5cGUHAAVldmVudHsiYnl0ZXMiOiJleUpqYjI1MFpXNTBRbXh2WTJ0VGRHOXdJanA3SW1OdmJuUmxiblJDYkc5amEwbHVaR1Y0SWpveGZYMD0iLCJwIjoiYWJjIn27IgluAAAAywAAAEsa6Z67CzpldmVudC10eXBlBwAFY2h1bmsNOmNvbnRlbnQtdHlwZQcAEGFwcGxpY2F0aW9uL2pzb24NOm1lc3NhZ2UtdHlwZQcABWV2ZW50eyJieXRlcyI6ImV5SmpiMjUwWlc1MFFteHZZMnRFWld4MFlTSTZleUprWld4MFlTSTZleUowWlhoMElqb2lJbjBzSW1OdmJuUmxiblJDYkc5amEwbHVaR1Y0SWpveWZYMD0iLCJwIjoiYWJjZGUifS/bTEwAAAC4AAAAS6SbBKQLOmV2ZW50LXR5cGUHAAVjaHVuaw06Y29udGVudC10eXBlBwAQYXBwbGljYXRpb24vanNvbg06bWVzc2FnZS10eXBlBwAFZXZlbnR7ImJ5dGVzIjoiZXlKamIyNTBaVzUwUW14dlkydFRkRzl3SWpwN0ltTnZiblJsYm5SQ2JHOWphMGx1WkdWNElqb3lmWDA9IiwicCI6ImFiY2RlZmdoaWprbG1uIn2sEZFtAAAAqQAAAEv5G7qWCzpldmVudC10eXBlBwAFY2h1bmsNOmNvbnRlbnQtdHlwZQcAEGFwcGxpY2F0aW9uL2pzb24NOm1lc3NhZ2UtdHlwZQcABWV2ZW50eyJieXRlcyI6ImV5SnRaWE56WVdkbFUzUnZjQ0k2ZXlKemRHOXdVbVZoYzI5dUlqb2laVzVrWDNSMWNtNGlmWDA9IiwicCI6ImFiYyJ9lp53VAAAAlwAAABLNAfEsAs6ZXZlbnQtdHlwZQcABWNodW5rDTpjb250ZW50LXR5cGUHABBhcHBsaWNhdGlvbi9qc29uDTptZXNzYWdlLXR5cGUHAAVldmVudHsiYnl0ZXMiOiJleUp0WlhSaFpHRjBZU0k2ZXlKMWMyRm5aU0k2ZXlKcGJuQjFkRlJ2YTJWdWN5STZOaXdpYjNWMGNIVjBWRzlyWlc1eklqb3pMQ0pqWVdOb1pWSmxZV1JKYm5CMWRGUnZhMlZ1UTI5MWJuUWlPakUwT1RJeUxDSmpZV05vWlZkeWFYUmxTVzV3ZFhSVWIydGxia052ZFc1MElqb3dmU3dpYldWMGNtbGpjeUk2ZTMwc0luUnlZV05sSWpwN2ZYMHNJbUZ0WVhwdmJpMWlaV1J5YjJOckxXbHVkbTlqWVhScGIyNU5aWFJ5YVdOeklqcDdJbWx1Y0hWMFZHOXJaVzVEYjNWdWRDSTZOaXdpYjNWMGNIVjBWRzlyWlc1RGIzVnVkQ0k2TXl3aWFXNTJiMk5oZEdsdmJreGhkR1Z1WTNraU9qVTVNU3dpWm1seWMzUkNlWFJsVEdGMFpXNWplU0k2TlRJMExDSmpZV05vWlZKbFlXUkpibkIxZEZSdmEyVnVRMjkxYm5RaU9qRTBPVEl5TENKallXTm9aVmR5YVhSbFNXNXdkWFJVYjJ0bGJrTnZkVzUwSWpvd2ZYMD0iLCJwIjoiYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNERUZHSElKS0xNTk9QUVJTVFVWV1gifS27Y54=" + "value": "AAAApgAAAEt7Sy1HCzpldmVudC10eXBlBwAFY2h1bmsNOmNvbnRlbnQtdHlwZQcAEGFwcGxpY2F0aW9uL2pzb24NOm1lc3NhZ2UtdHlwZQcABWV2ZW50eyJieXRlcyI6ImV5SnRaWE56WVdkbFUzUmhjblFpT25zaWNtOXNaU0k2SW1GemMybHpkR0Z1ZENKOWZRPT0iLCJwIjoiYWJjZCJ9MPGoJQAAAOYAAABLI7h1Dgs6ZXZlbnQtdHlwZQcABWNodW5rDTpjb250ZW50LXR5cGUHABBhcHBsaWNhdGlvbi9qc29uDTptZXNzYWdlLXR5cGUHAAVldmVudHsiYnl0ZXMiOiJleUpqYjI1MFpXNTBRbXh2WTJ0RVpXeDBZU0k2ZXlKa1pXeDBZU0k2ZXlKMFpYaDBJam9pVWtGWEluMHNJbU52Ym5SbGJuUkNiRzlqYTBsdVpHVjRJam93ZlgwPSIsInAiOiJhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ekFCIn15mBuYAAAA1wAAAEu/+eQ4CzpldmVudC10eXBlBwAFY2h1bmsNOmNvbnRlbnQtdHlwZQcAEGFwcGxpY2F0aW9uL2pzb24NOm1lc3NhZ2UtdHlwZQcABWV2ZW50eyJieXRlcyI6ImV5SmpiMjUwWlc1MFFteHZZMnRUZEc5d0lqcDdJbU52Ym5SbGJuUkNiRzlqYTBsdVpHVjRJam93ZlgwPSIsInAiOiJhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ekFCQ0RFRkdISUpLTE1OT1BRUlMifSSvGgYAAADTAAAAS0p5QvgLOmV2ZW50LXR5cGUHAAVjaHVuaw06Y29udGVudC10eXBlBwAQYXBwbGljYXRpb24vanNvbg06bWVzc2FnZS10eXBlBwAFZXZlbnR7ImJ5dGVzIjoiZXlKamIyNTBaVzUwUW14dlkydEVaV3gwWVNJNmV5SmtaV3gwWVNJNmV5SjBaWGgwSWpvaVUxUlNSVUZOSW4wc0ltTnZiblJsYm5SQ2JHOWphMGx1WkdWNElqb3hmWDA9IiwicCI6ImFiY2RlIn3XSnJTAAAAwgAAAEsX+fzKCzpldmVudC10eXBlBwAFY2h1bmsNOmNvbnRlbnQtdHlwZQcAEGFwcGxpY2F0aW9uL2pzb24NOm1lc3NhZ2UtdHlwZQcABWV2ZW50eyJieXRlcyI6ImV5SmpiMjUwWlc1MFFteHZZMnRUZEc5d0lqcDdJbU52Ym5SbGJuUkNiRzlqYTBsdVpHVjRJam94ZlgwPSIsInAiOiJhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3gifSQlxakAAADqAAAAS+ZImA8LOmV2ZW50LXR5cGUHAAVjaHVuaw06Y29udGVudC10eXBlBwAQYXBwbGljYXRpb24vanNvbg06bWVzc2FnZS10eXBlBwAFZXZlbnR7ImJ5dGVzIjoiZXlKamIyNTBaVzUwUW14dlkydEVaV3gwWVNJNmV5SmtaV3gwWVNJNmV5SjBaWGgwSWpvaUluMHNJbU52Ym5SbGJuUkNiRzlqYTBsdVpHVjRJam95ZlgwPSIsInAiOiJhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ekFCQ0RFRkdISUoifTksRSEAAAC9AAAAS2x7i9QLOmV2ZW50LXR5cGUHAAVjaHVuaw06Y29udGVudC10eXBlBwAQYXBwbGljYXRpb24vanNvbg06bWVzc2FnZS10eXBlBwAFZXZlbnR7ImJ5dGVzIjoiZXlKamIyNTBaVzUwUW14dlkydFRkRzl3SWpwN0ltTnZiblJsYm5SQ2JHOWphMGx1WkdWNElqb3lmWDA9IiwicCI6ImFiY2RlZmdoaWprbG1ub3BxcnMifdyifUIAAAC3AAAASybLk3ULOmV2ZW50LXR5cGUHAAVjaHVuaw06Y29udGVudC10eXBlBwAQYXBwbGljYXRpb24vanNvbg06bWVzc2FnZS10eXBlBwAFZXZlbnR7ImJ5dGVzIjoiZXlKdFpYTnpZV2RsVTNSdmNDSTZleUp6ZEc5d1VtVmhjMjl1SWpvaVpXNWtYM1IxY200aWZYMD0iLCJwIjoiYWJjZGVmZ2hpamtsbW5vcHEifbStvKoAAAI3AAAAS9rlguwLOmV2ZW50LXR5cGUHAAVjaHVuaw06Y29udGVudC10eXBlBwAQYXBwbGljYXRpb24vanNvbg06bWVzc2FnZS10eXBlBwAFZXZlbnR7ImJ5dGVzIjoiZXlKdFpYUmhaR0YwWVNJNmV5SjFjMkZuWlNJNmV5SnBibkIxZEZSdmEyVnVjeUk2Tml3aWIzVjBjSFYwVkc5clpXNXpJam96TENKallXTm9aVkpsWVdSSmJuQjFkRlJ2YTJWdVEyOTFiblFpT2pFME9USXlMQ0pqWVdOb1pWZHlhWFJsU1c1d2RYUlViMnRsYmtOdmRXNTBJam93ZlN3aWJXVjBjbWxqY3lJNmUzMHNJblJ5WVdObElqcDdmWDBzSW1GdFlYcHZiaTFpWldSeWIyTnJMV2x1ZG05allYUnBiMjVOWlhSeWFXTnpJanA3SW1sdWNIVjBWRzlyWlc1RGIzVnVkQ0k2Tml3aWIzVjBjSFYwVkc5clpXNURiM1Z1ZENJNk15d2lhVzUyYjJOaGRHbHZia3hoZEdWdVkza2lPalU1TWl3aVptbHljM1JDZVhSbFRHRjBaVzVqZVNJNk5UTTJMQ0pqWVdOb1pWSmxZV1JKYm5CMWRGUnZhMlZ1UTI5MWJuUWlPakUwT1RJeUxDSmpZV05vWlZkeWFYUmxTVzV3ZFhSVWIydGxia052ZFc1MElqb3dmWDA9IiwicCI6ImFiY2RlZmdoaWprbG0ifWt3GZQ=" }, "headers": { "connection": "keep-alive", @@ -509,6 +653,6 @@ } ], "meta": { - "createdAt": "2026-07-06T14:01:12.199Z" + "createdAt": "2026-09-14T10:18:59.960Z" } } diff --git a/e2e/scenarios/bedrock-runtime-instrumentation/__cassettes__/bedrock-runtime-v3-latest-auto.cassette.json b/e2e/scenarios/bedrock-runtime-instrumentation/__cassettes__/bedrock-runtime-v3-latest-auto.cassette.json new file mode 100644 index 000000000..b9719fb06 --- /dev/null +++ b/e2e/scenarios/bedrock-runtime-instrumentation/__cassettes__/bedrock-runtime-v3-latest-auto.cassette.json @@ -0,0 +1,658 @@ +{ + "entries": [ + { + "callIndex": 0, + "id": "167baa531c51f0bf", + "matchKey": "POST bedrock-runtime.aws-region.amazonaws.com/model/us.amazon.nova-lite-v1%3A0/converse", + "recordedAt": "2026-09-14T10:23:00.991Z", + "request": { + "body": { + "kind": "json", + "value": { + "inferenceConfig": { + "maxTokens": 16, + "temperature": 0, + "topP": 0.9 + }, + "messages": [ + { + "content": [ + { + "text": "BRAINTRUST_BEDROCK_CACHE_CONTEXT\nstable-cache-token-0 stable-cache-token-1 stable-cache-token-2 stable-cache-token-3 stable-cache-token-4 stable-cache-token-5 stable-cache-token-6 stable-cache-token-7 stable-cache-token-8 stable-cache-token-9 stable-cache-token-10 stable-cache-token-11 stable-cache-token-12 stable-cache-token-13 stable-cache-token-14 stable-cache-token-15 stable-cache-token-16 stable-cache-token-17 stable-cache-token-18 stable-cache-token-19 stable-cache-token-20 stable-cache-token-21 stable-cache-token-22 stable-cache-token-23 stable-cache-token-24 stable-cache-token-25 stable-cache-token-26 stable-cache-token-27 stable-cache-token-28 stable-cache-token-29 stable-cache-token-30 stable-cache-token-31 stable-cache-token-32 stable-cache-token-33 stable-cache-token-34 stable-cache-token-35 stable-cache-token-36 stable-cache-token-37 stable-cache-token-38 stable-cache-token-39 stable-cache-token-40 stable-cache-token-41 stable-cache-token-42 stable-cache-token-43 stable-cache-token-44 stable-cache-token-45 stable-cache-token-46 stable-cache-token-47 stable-cache-token-48 stable-cache-token-49 stable-cache-token-50 stable-cache-token-51 stable-cache-token-52 stable-cache-token-53 stable-cache-token-54 stable-cache-token-55 stable-cache-token-56 stable-cache-token-57 stable-cache-token-58 stable-cache-token-59 stable-cache-token-60 stable-cache-token-61 stable-cache-token-62 stable-cache-token-63 stable-cache-token-64 stable-cache-token-65 stable-cache-token-66 stable-cache-token-67 stable-cache-token-68 stable-cache-token-69 stable-cache-token-70 stable-cache-token-71 stable-cache-token-72 stable-cache-token-73 stable-cache-token-74 stable-cache-token-75 stable-cache-token-76 stable-cache-token-77 stable-cache-token-78 stable-cache-token-79 stable-cache-token-80 stable-cache-token-81 stable-cache-token-82 stable-cache-token-83 stable-cache-token-84 stable-cache-token-85 stable-cache-token-86 stable-cache-token-87 stable-cache-token-88 stable-cache-token-89 stable-cache-token-90 stable-cache-token-91 stable-cache-token-92 stable-cache-token-93 stable-cache-token-94 stable-cache-token-95 stable-cache-token-96 stable-cache-token-97 stable-cache-token-98 stable-cache-token-99 stable-cache-token-100 stable-cache-token-101 stable-cache-token-102 stable-cache-token-103 stable-cache-token-104 stable-cache-token-105 stable-cache-token-106 stable-cache-token-107 stable-cache-token-108 stable-cache-token-109 stable-cache-token-110 stable-cache-token-111 stable-cache-token-112 stable-cache-token-113 stable-cache-token-114 stable-cache-token-115 stable-cache-token-116 stable-cache-token-117 stable-cache-token-118 stable-cache-token-119 stable-cache-token-120 stable-cache-token-121 stable-cache-token-122 stable-cache-token-123 stable-cache-token-124 stable-cache-token-125 stable-cache-token-126 stable-cache-token-127 stable-cache-token-128 stable-cache-token-129 stable-cache-token-130 stable-cache-token-131 stable-cache-token-132 stable-cache-token-133 stable-cache-token-134 stable-cache-token-135 stable-cache-token-136 stable-cache-token-137 stable-cache-token-138 stable-cache-token-139 stable-cache-token-140 stable-cache-token-141 stable-cache-token-142 stable-cache-token-143 stable-cache-token-144 stable-cache-token-145 stable-cache-token-146 stable-cache-token-147 stable-cache-token-148 stable-cache-token-149 stable-cache-token-150 stable-cache-token-151 stable-cache-token-152 stable-cache-token-153 stable-cache-token-154 stable-cache-token-155 stable-cache-token-156 stable-cache-token-157 stable-cache-token-158 stable-cache-token-159 stable-cache-token-160 stable-cache-token-161 stable-cache-token-162 stable-cache-token-163 stable-cache-token-164 stable-cache-token-165 stable-cache-token-166 stable-cache-token-167 stable-cache-token-168 stable-cache-token-169 stable-cache-token-170 stable-cache-token-171 stable-cache-token-172 stable-cache-token-173 stable-cache-token-174 stable-cache-token-175 stable-cache-token-176 stable-cache-token-177 stable-cache-token-178 stable-cache-token-179 stable-cache-token-180 stable-cache-token-181 stable-cache-token-182 stable-cache-token-183 stable-cache-token-184 stable-cache-token-185 stable-cache-token-186 stable-cache-token-187 stable-cache-token-188 stable-cache-token-189 stable-cache-token-190 stable-cache-token-191 stable-cache-token-192 stable-cache-token-193 stable-cache-token-194 stable-cache-token-195 stable-cache-token-196 stable-cache-token-197 stable-cache-token-198 stable-cache-token-199 stable-cache-token-200 stable-cache-token-201 stable-cache-token-202 stable-cache-token-203 stable-cache-token-204 stable-cache-token-205 stable-cache-token-206 stable-cache-token-207 stable-cache-token-208 stable-cache-token-209 stable-cache-token-210 stable-cache-token-211 stable-cache-token-212 stable-cache-token-213 stable-cache-token-214 stable-cache-token-215 stable-cache-token-216 stable-cache-token-217 stable-cache-token-218 stable-cache-token-219 stable-cache-token-220 stable-cache-token-221 stable-cache-token-222 stable-cache-token-223 stable-cache-token-224 stable-cache-token-225 stable-cache-token-226 stable-cache-token-227 stable-cache-token-228 stable-cache-token-229 stable-cache-token-230 stable-cache-token-231 stable-cache-token-232 stable-cache-token-233 stable-cache-token-234 stable-cache-token-235 stable-cache-token-236 stable-cache-token-237 stable-cache-token-238 stable-cache-token-239 stable-cache-token-240 stable-cache-token-241 stable-cache-token-242 stable-cache-token-243 stable-cache-token-244 stable-cache-token-245 stable-cache-token-246 stable-cache-token-247 stable-cache-token-248 stable-cache-token-249 stable-cache-token-250 stable-cache-token-251 stable-cache-token-252 stable-cache-token-253 stable-cache-token-254 stable-cache-token-255 stable-cache-token-256 stable-cache-token-257 stable-cache-token-258 stable-cache-token-259 stable-cache-token-260 stable-cache-token-261 stable-cache-token-262 stable-cache-token-263 stable-cache-token-264 stable-cache-token-265 stable-cache-token-266 stable-cache-token-267 stable-cache-token-268 stable-cache-token-269 stable-cache-token-270 stable-cache-token-271 stable-cache-token-272 stable-cache-token-273 stable-cache-token-274 stable-cache-token-275 stable-cache-token-276 stable-cache-token-277 stable-cache-token-278 stable-cache-token-279 stable-cache-token-280 stable-cache-token-281 stable-cache-token-282 stable-cache-token-283 stable-cache-token-284 stable-cache-token-285 stable-cache-token-286 stable-cache-token-287 stable-cache-token-288 stable-cache-token-289 stable-cache-token-290 stable-cache-token-291 stable-cache-token-292 stable-cache-token-293 stable-cache-token-294 stable-cache-token-295 stable-cache-token-296 stable-cache-token-297 stable-cache-token-298 stable-cache-token-299 stable-cache-token-300 stable-cache-token-301 stable-cache-token-302 stable-cache-token-303 stable-cache-token-304 stable-cache-token-305 stable-cache-token-306 stable-cache-token-307 stable-cache-token-308 stable-cache-token-309 stable-cache-token-310 stable-cache-token-311 stable-cache-token-312 stable-cache-token-313 stable-cache-token-314 stable-cache-token-315 stable-cache-token-316 stable-cache-token-317 stable-cache-token-318 stable-cache-token-319 stable-cache-token-320 stable-cache-token-321 stable-cache-token-322 stable-cache-token-323 stable-cache-token-324 stable-cache-token-325 stable-cache-token-326 stable-cache-token-327 stable-cache-token-328 stable-cache-token-329 stable-cache-token-330 stable-cache-token-331 stable-cache-token-332 stable-cache-token-333 stable-cache-token-334 stable-cache-token-335 stable-cache-token-336 stable-cache-token-337 stable-cache-token-338 stable-cache-token-339 stable-cache-token-340 stable-cache-token-341 stable-cache-token-342 stable-cache-token-343 stable-cache-token-344 stable-cache-token-345 stable-cache-token-346 stable-cache-token-347 stable-cache-token-348 stable-cache-token-349 stable-cache-token-350 stable-cache-token-351 stable-cache-token-352 stable-cache-token-353 stable-cache-token-354 stable-cache-token-355 stable-cache-token-356 stable-cache-token-357 stable-cache-token-358 stable-cache-token-359 stable-cache-token-360 stable-cache-token-361 stable-cache-token-362 stable-cache-token-363 stable-cache-token-364 stable-cache-token-365 stable-cache-token-366 stable-cache-token-367 stable-cache-token-368 stable-cache-token-369 stable-cache-token-370 stable-cache-token-371 stable-cache-token-372 stable-cache-token-373 stable-cache-token-374 stable-cache-token-375 stable-cache-token-376 stable-cache-token-377 stable-cache-token-378 stable-cache-token-379 stable-cache-token-380 stable-cache-token-381 stable-cache-token-382 stable-cache-token-383 stable-cache-token-384 stable-cache-token-385 stable-cache-token-386 stable-cache-token-387 stable-cache-token-388 stable-cache-token-389 stable-cache-token-390 stable-cache-token-391 stable-cache-token-392 stable-cache-token-393 stable-cache-token-394 stable-cache-token-395 stable-cache-token-396 stable-cache-token-397 stable-cache-token-398 stable-cache-token-399 stable-cache-token-400 stable-cache-token-401 stable-cache-token-402 stable-cache-token-403 stable-cache-token-404 stable-cache-token-405 stable-cache-token-406 stable-cache-token-407 stable-cache-token-408 stable-cache-token-409 stable-cache-token-410 stable-cache-token-411 stable-cache-token-412 stable-cache-token-413 stable-cache-token-414 stable-cache-token-415 stable-cache-token-416 stable-cache-token-417 stable-cache-token-418 stable-cache-token-419 stable-cache-token-420 stable-cache-token-421 stable-cache-token-422 stable-cache-token-423 stable-cache-token-424 stable-cache-token-425 stable-cache-token-426 stable-cache-token-427 stable-cache-token-428 stable-cache-token-429 stable-cache-token-430 stable-cache-token-431 stable-cache-token-432 stable-cache-token-433 stable-cache-token-434 stable-cache-token-435 stable-cache-token-436 stable-cache-token-437 stable-cache-token-438 stable-cache-token-439 stable-cache-token-440 stable-cache-token-441 stable-cache-token-442 stable-cache-token-443 stable-cache-token-444 stable-cache-token-445 stable-cache-token-446 stable-cache-token-447 stable-cache-token-448 stable-cache-token-449 stable-cache-token-450 stable-cache-token-451 stable-cache-token-452 stable-cache-token-453 stable-cache-token-454 stable-cache-token-455 stable-cache-token-456 stable-cache-token-457 stable-cache-token-458 stable-cache-token-459 stable-cache-token-460 stable-cache-token-461 stable-cache-token-462 stable-cache-token-463 stable-cache-token-464 stable-cache-token-465 stable-cache-token-466 stable-cache-token-467 stable-cache-token-468 stable-cache-token-469 stable-cache-token-470 stable-cache-token-471 stable-cache-token-472 stable-cache-token-473 stable-cache-token-474 stable-cache-token-475 stable-cache-token-476 stable-cache-token-477 stable-cache-token-478 stable-cache-token-479 stable-cache-token-480 stable-cache-token-481 stable-cache-token-482 stable-cache-token-483 stable-cache-token-484 stable-cache-token-485 stable-cache-token-486 stable-cache-token-487 stable-cache-token-488 stable-cache-token-489 stable-cache-token-490 stable-cache-token-491 stable-cache-token-492 stable-cache-token-493 stable-cache-token-494 stable-cache-token-495 stable-cache-token-496 stable-cache-token-497 stable-cache-token-498 stable-cache-token-499 stable-cache-token-500 stable-cache-token-501 stable-cache-token-502 stable-cache-token-503 stable-cache-token-504 stable-cache-token-505 stable-cache-token-506 stable-cache-token-507 stable-cache-token-508 stable-cache-token-509 stable-cache-token-510 stable-cache-token-511 stable-cache-token-512 stable-cache-token-513 stable-cache-token-514 stable-cache-token-515 stable-cache-token-516 stable-cache-token-517 stable-cache-token-518 stable-cache-token-519 stable-cache-token-520 stable-cache-token-521 stable-cache-token-522 stable-cache-token-523 stable-cache-token-524 stable-cache-token-525 stable-cache-token-526 stable-cache-token-527 stable-cache-token-528 stable-cache-token-529 stable-cache-token-530 stable-cache-token-531 stable-cache-token-532 stable-cache-token-533 stable-cache-token-534 stable-cache-token-535 stable-cache-token-536 stable-cache-token-537 stable-cache-token-538 stable-cache-token-539 stable-cache-token-540 stable-cache-token-541 stable-cache-token-542 stable-cache-token-543 stable-cache-token-544 stable-cache-token-545 stable-cache-token-546 stable-cache-token-547 stable-cache-token-548 stable-cache-token-549 stable-cache-token-550 stable-cache-token-551 stable-cache-token-552 stable-cache-token-553 stable-cache-token-554 stable-cache-token-555 stable-cache-token-556 stable-cache-token-557 stable-cache-token-558 stable-cache-token-559 stable-cache-token-560 stable-cache-token-561 stable-cache-token-562 stable-cache-token-563 stable-cache-token-564 stable-cache-token-565 stable-cache-token-566 stable-cache-token-567 stable-cache-token-568 stable-cache-token-569 stable-cache-token-570 stable-cache-token-571 stable-cache-token-572 stable-cache-token-573 stable-cache-token-574 stable-cache-token-575 stable-cache-token-576 stable-cache-token-577 stable-cache-token-578 stable-cache-token-579 stable-cache-token-580 stable-cache-token-581 stable-cache-token-582 stable-cache-token-583 stable-cache-token-584 stable-cache-token-585 stable-cache-token-586 stable-cache-token-587 stable-cache-token-588 stable-cache-token-589 stable-cache-token-590 stable-cache-token-591 stable-cache-token-592 stable-cache-token-593 stable-cache-token-594 stable-cache-token-595 stable-cache-token-596 stable-cache-token-597 stable-cache-token-598 stable-cache-token-599 stable-cache-token-600 stable-cache-token-601 stable-cache-token-602 stable-cache-token-603 stable-cache-token-604 stable-cache-token-605 stable-cache-token-606 stable-cache-token-607 stable-cache-token-608 stable-cache-token-609 stable-cache-token-610 stable-cache-token-611 stable-cache-token-612 stable-cache-token-613 stable-cache-token-614 stable-cache-token-615 stable-cache-token-616 stable-cache-token-617 stable-cache-token-618 stable-cache-token-619 stable-cache-token-620 stable-cache-token-621 stable-cache-token-622 stable-cache-token-623 stable-cache-token-624 stable-cache-token-625 stable-cache-token-626 stable-cache-token-627 stable-cache-token-628 stable-cache-token-629 stable-cache-token-630 stable-cache-token-631 stable-cache-token-632 stable-cache-token-633 stable-cache-token-634 stable-cache-token-635 stable-cache-token-636 stable-cache-token-637 stable-cache-token-638 stable-cache-token-639 stable-cache-token-640 stable-cache-token-641 stable-cache-token-642 stable-cache-token-643 stable-cache-token-644 stable-cache-token-645 stable-cache-token-646 stable-cache-token-647 stable-cache-token-648 stable-cache-token-649 stable-cache-token-650 stable-cache-token-651 stable-cache-token-652 stable-cache-token-653 stable-cache-token-654 stable-cache-token-655 stable-cache-token-656 stable-cache-token-657 stable-cache-token-658 stable-cache-token-659 stable-cache-token-660 stable-cache-token-661 stable-cache-token-662 stable-cache-token-663 stable-cache-token-664 stable-cache-token-665 stable-cache-token-666 stable-cache-token-667 stable-cache-token-668 stable-cache-token-669 stable-cache-token-670 stable-cache-token-671 stable-cache-token-672 stable-cache-token-673 stable-cache-token-674 stable-cache-token-675 stable-cache-token-676 stable-cache-token-677 stable-cache-token-678 stable-cache-token-679 stable-cache-token-680 stable-cache-token-681 stable-cache-token-682 stable-cache-token-683 stable-cache-token-684 stable-cache-token-685 stable-cache-token-686 stable-cache-token-687 stable-cache-token-688 stable-cache-token-689 stable-cache-token-690 stable-cache-token-691 stable-cache-token-692 stable-cache-token-693 stable-cache-token-694 stable-cache-token-695 stable-cache-token-696 stable-cache-token-697 stable-cache-token-698 stable-cache-token-699 stable-cache-token-700 stable-cache-token-701 stable-cache-token-702 stable-cache-token-703 stable-cache-token-704 stable-cache-token-705 stable-cache-token-706 stable-cache-token-707 stable-cache-token-708 stable-cache-token-709 stable-cache-token-710 stable-cache-token-711 stable-cache-token-712 stable-cache-token-713 stable-cache-token-714 stable-cache-token-715 stable-cache-token-716 stable-cache-token-717 stable-cache-token-718 stable-cache-token-719 stable-cache-token-720 stable-cache-token-721 stable-cache-token-722 stable-cache-token-723 stable-cache-token-724 stable-cache-token-725 stable-cache-token-726 stable-cache-token-727 stable-cache-token-728 stable-cache-token-729 stable-cache-token-730 stable-cache-token-731 stable-cache-token-732 stable-cache-token-733 stable-cache-token-734 stable-cache-token-735 stable-cache-token-736 stable-cache-token-737 stable-cache-token-738 stable-cache-token-739 stable-cache-token-740 stable-cache-token-741 stable-cache-token-742 stable-cache-token-743 stable-cache-token-744 stable-cache-token-745 stable-cache-token-746 stable-cache-token-747 stable-cache-token-748 stable-cache-token-749 stable-cache-token-750 stable-cache-token-751 stable-cache-token-752 stable-cache-token-753 stable-cache-token-754 stable-cache-token-755 stable-cache-token-756 stable-cache-token-757 stable-cache-token-758 stable-cache-token-759 stable-cache-token-760 stable-cache-token-761 stable-cache-token-762 stable-cache-token-763 stable-cache-token-764 stable-cache-token-765 stable-cache-token-766 stable-cache-token-767 stable-cache-token-768 stable-cache-token-769 stable-cache-token-770 stable-cache-token-771 stable-cache-token-772 stable-cache-token-773 stable-cache-token-774 stable-cache-token-775 stable-cache-token-776 stable-cache-token-777 stable-cache-token-778 stable-cache-token-779 stable-cache-token-780 stable-cache-token-781 stable-cache-token-782 stable-cache-token-783 stable-cache-token-784 stable-cache-token-785 stable-cache-token-786 stable-cache-token-787 stable-cache-token-788 stable-cache-token-789 stable-cache-token-790 stable-cache-token-791 stable-cache-token-792 stable-cache-token-793 stable-cache-token-794 stable-cache-token-795 stable-cache-token-796 stable-cache-token-797 stable-cache-token-798 stable-cache-token-799 stable-cache-token-800 stable-cache-token-801 stable-cache-token-802 stable-cache-token-803 stable-cache-token-804 stable-cache-token-805 stable-cache-token-806 stable-cache-token-807 stable-cache-token-808 stable-cache-token-809 stable-cache-token-810 stable-cache-token-811 stable-cache-token-812 stable-cache-token-813 stable-cache-token-814 stable-cache-token-815 stable-cache-token-816 stable-cache-token-817 stable-cache-token-818 stable-cache-token-819 stable-cache-token-820 stable-cache-token-821 stable-cache-token-822 stable-cache-token-823 stable-cache-token-824 stable-cache-token-825 stable-cache-token-826 stable-cache-token-827 stable-cache-token-828 stable-cache-token-829 stable-cache-token-830 stable-cache-token-831 stable-cache-token-832 stable-cache-token-833 stable-cache-token-834 stable-cache-token-835 stable-cache-token-836 stable-cache-token-837 stable-cache-token-838 stable-cache-token-839 stable-cache-token-840 stable-cache-token-841 stable-cache-token-842 stable-cache-token-843 stable-cache-token-844 stable-cache-token-845 stable-cache-token-846 stable-cache-token-847 stable-cache-token-848 stable-cache-token-849 stable-cache-token-850 stable-cache-token-851 stable-cache-token-852 stable-cache-token-853 stable-cache-token-854 stable-cache-token-855 stable-cache-token-856 stable-cache-token-857 stable-cache-token-858 stable-cache-token-859 stable-cache-token-860 stable-cache-token-861 stable-cache-token-862 stable-cache-token-863 stable-cache-token-864 stable-cache-token-865 stable-cache-token-866 stable-cache-token-867 stable-cache-token-868 stable-cache-token-869 stable-cache-token-870 stable-cache-token-871 stable-cache-token-872 stable-cache-token-873 stable-cache-token-874 stable-cache-token-875 stable-cache-token-876 stable-cache-token-877 stable-cache-token-878 stable-cache-token-879 stable-cache-token-880 stable-cache-token-881 stable-cache-token-882 stable-cache-token-883 stable-cache-token-884 stable-cache-token-885 stable-cache-token-886 stable-cache-token-887 stable-cache-token-888 stable-cache-token-889 stable-cache-token-890 stable-cache-token-891 stable-cache-token-892 stable-cache-token-893 stable-cache-token-894 stable-cache-token-895 stable-cache-token-896 stable-cache-token-897 stable-cache-token-898 stable-cache-token-899 stable-cache-token-900 stable-cache-token-901 stable-cache-token-902 stable-cache-token-903 stable-cache-token-904 stable-cache-token-905 stable-cache-token-906 stable-cache-token-907 stable-cache-token-908 stable-cache-token-909 stable-cache-token-910 stable-cache-token-911 stable-cache-token-912 stable-cache-token-913 stable-cache-token-914 stable-cache-token-915 stable-cache-token-916 stable-cache-token-917 stable-cache-token-918 stable-cache-token-919 stable-cache-token-920 stable-cache-token-921 stable-cache-token-922 stable-cache-token-923 stable-cache-token-924 stable-cache-token-925 stable-cache-token-926 stable-cache-token-927 stable-cache-token-928 stable-cache-token-929 stable-cache-token-930 stable-cache-token-931 stable-cache-token-932 stable-cache-token-933 stable-cache-token-934 stable-cache-token-935 stable-cache-token-936 stable-cache-token-937 stable-cache-token-938 stable-cache-token-939 stable-cache-token-940 stable-cache-token-941 stable-cache-token-942 stable-cache-token-943 stable-cache-token-944 stable-cache-token-945 stable-cache-token-946 stable-cache-token-947 stable-cache-token-948 stable-cache-token-949 stable-cache-token-950 stable-cache-token-951 stable-cache-token-952 stable-cache-token-953 stable-cache-token-954 stable-cache-token-955 stable-cache-token-956 stable-cache-token-957 stable-cache-token-958 stable-cache-token-959 stable-cache-token-960 stable-cache-token-961 stable-cache-token-962 stable-cache-token-963 stable-cache-token-964 stable-cache-token-965 stable-cache-token-966 stable-cache-token-967 stable-cache-token-968 stable-cache-token-969 stable-cache-token-970 stable-cache-token-971 stable-cache-token-972 stable-cache-token-973 stable-cache-token-974 stable-cache-token-975 stable-cache-token-976 stable-cache-token-977 stable-cache-token-978 stable-cache-token-979 stable-cache-token-980 stable-cache-token-981 stable-cache-token-982 stable-cache-token-983 stable-cache-token-984 stable-cache-token-985 stable-cache-token-986 stable-cache-token-987 stable-cache-token-988 stable-cache-token-989 stable-cache-token-990 stable-cache-token-991 stable-cache-token-992 stable-cache-token-993 stable-cache-token-994 stable-cache-token-995 stable-cache-token-996 stable-cache-token-997 stable-cache-token-998 stable-cache-token-999 stable-cache-token-1000 stable-cache-token-1001 stable-cache-token-1002 stable-cache-token-1003 stable-cache-token-1004 stable-cache-token-1005 stable-cache-token-1006 stable-cache-token-1007 stable-cache-token-1008 stable-cache-token-1009 stable-cache-token-1010 stable-cache-token-1011 stable-cache-token-1012 stable-cache-token-1013 stable-cache-token-1014 stable-cache-token-1015 stable-cache-token-1016 stable-cache-token-1017 stable-cache-token-1018 stable-cache-token-1019 stable-cache-token-1020 stable-cache-token-1021 stable-cache-token-1022 stable-cache-token-1023 stable-cache-token-1024 stable-cache-token-1025 stable-cache-token-1026 stable-cache-token-1027 stable-cache-token-1028 stable-cache-token-1029 stable-cache-token-1030 stable-cache-token-1031 stable-cache-token-1032 stable-cache-token-1033 stable-cache-token-1034 stable-cache-token-1035 stable-cache-token-1036 stable-cache-token-1037 stable-cache-token-1038 stable-cache-token-1039 stable-cache-token-1040 stable-cache-token-1041 stable-cache-token-1042 stable-cache-token-1043 stable-cache-token-1044 stable-cache-token-1045 stable-cache-token-1046 stable-cache-token-1047 stable-cache-token-1048 stable-cache-token-1049 stable-cache-token-1050 stable-cache-token-1051 stable-cache-token-1052 stable-cache-token-1053 stable-cache-token-1054 stable-cache-token-1055 stable-cache-token-1056 stable-cache-token-1057 stable-cache-token-1058 stable-cache-token-1059 stable-cache-token-1060 stable-cache-token-1061 stable-cache-token-1062 stable-cache-token-1063 stable-cache-token-1064 stable-cache-token-1065 stable-cache-token-1066 stable-cache-token-1067 stable-cache-token-1068 stable-cache-token-1069 stable-cache-token-1070 stable-cache-token-1071 stable-cache-token-1072 stable-cache-token-1073 stable-cache-token-1074 stable-cache-token-1075 stable-cache-token-1076 stable-cache-token-1077 stable-cache-token-1078 stable-cache-token-1079 stable-cache-token-1080 stable-cache-token-1081 stable-cache-token-1082 stable-cache-token-1083 stable-cache-token-1084 stable-cache-token-1085 stable-cache-token-1086 stable-cache-token-1087 stable-cache-token-1088 stable-cache-token-1089 stable-cache-token-1090 stable-cache-token-1091 stable-cache-token-1092 stable-cache-token-1093 stable-cache-token-1094 stable-cache-token-1095 stable-cache-token-1096 stable-cache-token-1097 stable-cache-token-1098 stable-cache-token-1099 stable-cache-token-1100 stable-cache-token-1101 stable-cache-token-1102 stable-cache-token-1103 stable-cache-token-1104 stable-cache-token-1105 stable-cache-token-1106 stable-cache-token-1107 stable-cache-token-1108 stable-cache-token-1109 stable-cache-token-1110 stable-cache-token-1111 stable-cache-token-1112 stable-cache-token-1113 stable-cache-token-1114 stable-cache-token-1115 stable-cache-token-1116 stable-cache-token-1117 stable-cache-token-1118 stable-cache-token-1119 stable-cache-token-1120 stable-cache-token-1121 stable-cache-token-1122 stable-cache-token-1123 stable-cache-token-1124 stable-cache-token-1125 stable-cache-token-1126 stable-cache-token-1127 stable-cache-token-1128 stable-cache-token-1129 stable-cache-token-1130 stable-cache-token-1131 stable-cache-token-1132 stable-cache-token-1133 stable-cache-token-1134 stable-cache-token-1135 stable-cache-token-1136 stable-cache-token-1137 stable-cache-token-1138 stable-cache-token-1139 stable-cache-token-1140 stable-cache-token-1141 stable-cache-token-1142 stable-cache-token-1143 stable-cache-token-1144 stable-cache-token-1145 stable-cache-token-1146 stable-cache-token-1147 stable-cache-token-1148 stable-cache-token-1149 stable-cache-token-1150 stable-cache-token-1151 stable-cache-token-1152 stable-cache-token-1153 stable-cache-token-1154 stable-cache-token-1155 stable-cache-token-1156 stable-cache-token-1157 stable-cache-token-1158 stable-cache-token-1159 stable-cache-token-1160 stable-cache-token-1161 stable-cache-token-1162 stable-cache-token-1163 stable-cache-token-1164 stable-cache-token-1165 stable-cache-token-1166 stable-cache-token-1167 stable-cache-token-1168 stable-cache-token-1169 stable-cache-token-1170 stable-cache-token-1171 stable-cache-token-1172 stable-cache-token-1173 stable-cache-token-1174 stable-cache-token-1175 stable-cache-token-1176 stable-cache-token-1177 stable-cache-token-1178 stable-cache-token-1179 stable-cache-token-1180 stable-cache-token-1181 stable-cache-token-1182 stable-cache-token-1183 stable-cache-token-1184 stable-cache-token-1185 stable-cache-token-1186 stable-cache-token-1187 stable-cache-token-1188 stable-cache-token-1189 stable-cache-token-1190 stable-cache-token-1191 stable-cache-token-1192 stable-cache-token-1193 stable-cache-token-1194 stable-cache-token-1195 stable-cache-token-1196 stable-cache-token-1197 stable-cache-token-1198 stable-cache-token-1199 stable-cache-token-1200 stable-cache-token-1201 stable-cache-token-1202 stable-cache-token-1203 stable-cache-token-1204 stable-cache-token-1205 stable-cache-token-1206 stable-cache-token-1207 stable-cache-token-1208 stable-cache-token-1209 stable-cache-token-1210 stable-cache-token-1211 stable-cache-token-1212 stable-cache-token-1213 stable-cache-token-1214 stable-cache-token-1215 stable-cache-token-1216 stable-cache-token-1217 stable-cache-token-1218 stable-cache-token-1219 stable-cache-token-1220 stable-cache-token-1221 stable-cache-token-1222 stable-cache-token-1223 stable-cache-token-1224 stable-cache-token-1225 stable-cache-token-1226 stable-cache-token-1227 stable-cache-token-1228 stable-cache-token-1229 stable-cache-token-1230 stable-cache-token-1231 stable-cache-token-1232 stable-cache-token-1233 stable-cache-token-1234 stable-cache-token-1235 stable-cache-token-1236 stable-cache-token-1237 stable-cache-token-1238 stable-cache-token-1239 stable-cache-token-1240 stable-cache-token-1241 stable-cache-token-1242 stable-cache-token-1243 stable-cache-token-1244 stable-cache-token-1245 stable-cache-token-1246 stable-cache-token-1247 stable-cache-token-1248 stable-cache-token-1249 stable-cache-token-1250 stable-cache-token-1251 stable-cache-token-1252 stable-cache-token-1253 stable-cache-token-1254 stable-cache-token-1255 stable-cache-token-1256 stable-cache-token-1257 stable-cache-token-1258 stable-cache-token-1259 stable-cache-token-1260 stable-cache-token-1261 stable-cache-token-1262 stable-cache-token-1263 stable-cache-token-1264 stable-cache-token-1265 stable-cache-token-1266 stable-cache-token-1267 stable-cache-token-1268 stable-cache-token-1269 stable-cache-token-1270 stable-cache-token-1271 stable-cache-token-1272 stable-cache-token-1273 stable-cache-token-1274 stable-cache-token-1275 stable-cache-token-1276 stable-cache-token-1277 stable-cache-token-1278 stable-cache-token-1279 stable-cache-token-1280 stable-cache-token-1281 stable-cache-token-1282 stable-cache-token-1283 stable-cache-token-1284 stable-cache-token-1285 stable-cache-token-1286 stable-cache-token-1287 stable-cache-token-1288 stable-cache-token-1289 stable-cache-token-1290 stable-cache-token-1291 stable-cache-token-1292 stable-cache-token-1293 stable-cache-token-1294 stable-cache-token-1295 stable-cache-token-1296 stable-cache-token-1297 stable-cache-token-1298 stable-cache-token-1299 stable-cache-token-1300 stable-cache-token-1301 stable-cache-token-1302 stable-cache-token-1303 stable-cache-token-1304 stable-cache-token-1305 stable-cache-token-1306 stable-cache-token-1307 stable-cache-token-1308 stable-cache-token-1309 stable-cache-token-1310 stable-cache-token-1311 stable-cache-token-1312 stable-cache-token-1313 stable-cache-token-1314 stable-cache-token-1315 stable-cache-token-1316 stable-cache-token-1317 stable-cache-token-1318 stable-cache-token-1319 stable-cache-token-1320 stable-cache-token-1321 stable-cache-token-1322 stable-cache-token-1323 stable-cache-token-1324 stable-cache-token-1325 stable-cache-token-1326 stable-cache-token-1327 stable-cache-token-1328 stable-cache-token-1329 stable-cache-token-1330 stable-cache-token-1331 stable-cache-token-1332 stable-cache-token-1333 stable-cache-token-1334 stable-cache-token-1335 stable-cache-token-1336 stable-cache-token-1337 stable-cache-token-1338 stable-cache-token-1339 stable-cache-token-1340 stable-cache-token-1341 stable-cache-token-1342 stable-cache-token-1343 stable-cache-token-1344 stable-cache-token-1345 stable-cache-token-1346 stable-cache-token-1347 stable-cache-token-1348 stable-cache-token-1349 stable-cache-token-1350 stable-cache-token-1351 stable-cache-token-1352 stable-cache-token-1353 stable-cache-token-1354 stable-cache-token-1355 stable-cache-token-1356 stable-cache-token-1357 stable-cache-token-1358 stable-cache-token-1359 stable-cache-token-1360 stable-cache-token-1361 stable-cache-token-1362 stable-cache-token-1363 stable-cache-token-1364 stable-cache-token-1365 stable-cache-token-1366 stable-cache-token-1367 stable-cache-token-1368 stable-cache-token-1369 stable-cache-token-1370 stable-cache-token-1371 stable-cache-token-1372 stable-cache-token-1373 stable-cache-token-1374 stable-cache-token-1375 stable-cache-token-1376 stable-cache-token-1377 stable-cache-token-1378 stable-cache-token-1379 stable-cache-token-1380 stable-cache-token-1381 stable-cache-token-1382 stable-cache-token-1383 stable-cache-token-1384 stable-cache-token-1385 stable-cache-token-1386 stable-cache-token-1387 stable-cache-token-1388 stable-cache-token-1389 stable-cache-token-1390 stable-cache-token-1391 stable-cache-token-1392 stable-cache-token-1393 stable-cache-token-1394 stable-cache-token-1395 stable-cache-token-1396 stable-cache-token-1397 stable-cache-token-1398 stable-cache-token-1399 stable-cache-token-1400 stable-cache-token-1401 stable-cache-token-1402 stable-cache-token-1403 stable-cache-token-1404 stable-cache-token-1405 stable-cache-token-1406 stable-cache-token-1407 stable-cache-token-1408 stable-cache-token-1409 stable-cache-token-1410 stable-cache-token-1411 stable-cache-token-1412 stable-cache-token-1413 stable-cache-token-1414 stable-cache-token-1415 stable-cache-token-1416 stable-cache-token-1417 stable-cache-token-1418 stable-cache-token-1419 stable-cache-token-1420 stable-cache-token-1421 stable-cache-token-1422 stable-cache-token-1423 stable-cache-token-1424 stable-cache-token-1425 stable-cache-token-1426 stable-cache-token-1427 stable-cache-token-1428 stable-cache-token-1429 stable-cache-token-1430 stable-cache-token-1431 stable-cache-token-1432 stable-cache-token-1433 stable-cache-token-1434 stable-cache-token-1435 stable-cache-token-1436 stable-cache-token-1437 stable-cache-token-1438 stable-cache-token-1439 stable-cache-token-1440 stable-cache-token-1441 stable-cache-token-1442 stable-cache-token-1443 stable-cache-token-1444 stable-cache-token-1445 stable-cache-token-1446 stable-cache-token-1447 stable-cache-token-1448 stable-cache-token-1449 stable-cache-token-1450 stable-cache-token-1451 stable-cache-token-1452 stable-cache-token-1453 stable-cache-token-1454 stable-cache-token-1455 stable-cache-token-1456 stable-cache-token-1457 stable-cache-token-1458 stable-cache-token-1459 stable-cache-token-1460 stable-cache-token-1461 stable-cache-token-1462 stable-cache-token-1463 stable-cache-token-1464 stable-cache-token-1465 stable-cache-token-1466 stable-cache-token-1467 stable-cache-token-1468 stable-cache-token-1469 stable-cache-token-1470 stable-cache-token-1471 stable-cache-token-1472 stable-cache-token-1473 stable-cache-token-1474 stable-cache-token-1475 stable-cache-token-1476 stable-cache-token-1477 stable-cache-token-1478 stable-cache-token-1479 stable-cache-token-1480 stable-cache-token-1481 stable-cache-token-1482 stable-cache-token-1483 stable-cache-token-1484 stable-cache-token-1485 stable-cache-token-1486 stable-cache-token-1487 stable-cache-token-1488 stable-cache-token-1489 stable-cache-token-1490 stable-cache-token-1491 stable-cache-token-1492 stable-cache-token-1493 stable-cache-token-1494 stable-cache-token-1495 stable-cache-token-1496 stable-cache-token-1497 stable-cache-token-1498 stable-cache-token-1499 stable-cache-token-1500 stable-cache-token-1501 stable-cache-token-1502 stable-cache-token-1503 stable-cache-token-1504 stable-cache-token-1505 stable-cache-token-1506 stable-cache-token-1507 stable-cache-token-1508 stable-cache-token-1509 stable-cache-token-1510 stable-cache-token-1511 stable-cache-token-1512 stable-cache-token-1513 stable-cache-token-1514 stable-cache-token-1515 stable-cache-token-1516 stable-cache-token-1517 stable-cache-token-1518 stable-cache-token-1519 stable-cache-token-1520 stable-cache-token-1521 stable-cache-token-1522 stable-cache-token-1523 stable-cache-token-1524 stable-cache-token-1525 stable-cache-token-1526 stable-cache-token-1527 stable-cache-token-1528 stable-cache-token-1529 stable-cache-token-1530 stable-cache-token-1531 stable-cache-token-1532 stable-cache-token-1533 stable-cache-token-1534 stable-cache-token-1535 stable-cache-token-1536 stable-cache-token-1537 stable-cache-token-1538 stable-cache-token-1539 stable-cache-token-1540 stable-cache-token-1541 stable-cache-token-1542 stable-cache-token-1543 stable-cache-token-1544 stable-cache-token-1545 stable-cache-token-1546 stable-cache-token-1547 stable-cache-token-1548 stable-cache-token-1549 stable-cache-token-1550 stable-cache-token-1551 stable-cache-token-1552 stable-cache-token-1553 stable-cache-token-1554 stable-cache-token-1555 stable-cache-token-1556 stable-cache-token-1557 stable-cache-token-1558 stable-cache-token-1559 stable-cache-token-1560 stable-cache-token-1561 stable-cache-token-1562 stable-cache-token-1563 stable-cache-token-1564 stable-cache-token-1565 stable-cache-token-1566 stable-cache-token-1567 stable-cache-token-1568 stable-cache-token-1569 stable-cache-token-1570 stable-cache-token-1571 stable-cache-token-1572 stable-cache-token-1573 stable-cache-token-1574 stable-cache-token-1575 stable-cache-token-1576 stable-cache-token-1577 stable-cache-token-1578 stable-cache-token-1579 stable-cache-token-1580 stable-cache-token-1581 stable-cache-token-1582 stable-cache-token-1583 stable-cache-token-1584 stable-cache-token-1585 stable-cache-token-1586 stable-cache-token-1587 stable-cache-token-1588 stable-cache-token-1589 stable-cache-token-1590 stable-cache-token-1591 stable-cache-token-1592 stable-cache-token-1593 stable-cache-token-1594 stable-cache-token-1595 stable-cache-token-1596 stable-cache-token-1597 stable-cache-token-1598 stable-cache-token-1599\nUse this stable cache context only to exercise Bedrock prompt caching in this e2e scenario." + }, + { + "cachePoint": { + "type": "default" + } + }, + { + "text": "Reply with exactly OK." + } + ], + "role": "user" + } + ] + } + }, + "headers": {}, + "method": "POST", + "url": "https://bedrock-runtime.us-east-2.amazonaws.com/model/us.amazon.nova-lite-v1%3A0/converse" + }, + "response": { + "body": { + "kind": "json", + "value": { + "metrics": { + "latencyMs": 564 + }, + "output": { + "message": { + "content": [ + { + "text": "OK" + } + ], + "role": "assistant" + } + }, + "stopReason": "end_turn", + "usage": { + "cacheReadInputTokenCount": 14921, + "cacheReadInputTokens": 14921, + "cacheWriteInputTokenCount": 0, + "cacheWriteInputTokens": 0, + "inputTokens": 6, + "outputTokens": 2, + "serverToolUsage": {}, + "totalTokens": 14929 + } + } + }, + "headers": { + "connection": "keep-alive", + "content-length": "323", + "content-type": "application/json", + "date": "[REDACTED]", + "x-amzn-requestid": "[REDACTED]" + }, + "status": 200, + "statusText": "OK" + } + }, + { + "callIndex": 0, + "id": "5f6e11e6074e64db", + "matchKey": "POST bedrock-runtime.aws-region.amazonaws.com/model/us.amazon.nova-lite-v1%3A0/converse-stream", + "recordedAt": "2026-09-14T10:23:01.594Z", + "request": { + "body": { + "kind": "json", + "value": { + "inferenceConfig": { + "maxTokens": 16, + "temperature": 0, + "topP": 0.9 + }, + "messages": [ + { + "content": [ + { + "text": "BRAINTRUST_BEDROCK_CACHE_CONTEXT\nstable-cache-token-0 stable-cache-token-1 stable-cache-token-2 stable-cache-token-3 stable-cache-token-4 stable-cache-token-5 stable-cache-token-6 stable-cache-token-7 stable-cache-token-8 stable-cache-token-9 stable-cache-token-10 stable-cache-token-11 stable-cache-token-12 stable-cache-token-13 stable-cache-token-14 stable-cache-token-15 stable-cache-token-16 stable-cache-token-17 stable-cache-token-18 stable-cache-token-19 stable-cache-token-20 stable-cache-token-21 stable-cache-token-22 stable-cache-token-23 stable-cache-token-24 stable-cache-token-25 stable-cache-token-26 stable-cache-token-27 stable-cache-token-28 stable-cache-token-29 stable-cache-token-30 stable-cache-token-31 stable-cache-token-32 stable-cache-token-33 stable-cache-token-34 stable-cache-token-35 stable-cache-token-36 stable-cache-token-37 stable-cache-token-38 stable-cache-token-39 stable-cache-token-40 stable-cache-token-41 stable-cache-token-42 stable-cache-token-43 stable-cache-token-44 stable-cache-token-45 stable-cache-token-46 stable-cache-token-47 stable-cache-token-48 stable-cache-token-49 stable-cache-token-50 stable-cache-token-51 stable-cache-token-52 stable-cache-token-53 stable-cache-token-54 stable-cache-token-55 stable-cache-token-56 stable-cache-token-57 stable-cache-token-58 stable-cache-token-59 stable-cache-token-60 stable-cache-token-61 stable-cache-token-62 stable-cache-token-63 stable-cache-token-64 stable-cache-token-65 stable-cache-token-66 stable-cache-token-67 stable-cache-token-68 stable-cache-token-69 stable-cache-token-70 stable-cache-token-71 stable-cache-token-72 stable-cache-token-73 stable-cache-token-74 stable-cache-token-75 stable-cache-token-76 stable-cache-token-77 stable-cache-token-78 stable-cache-token-79 stable-cache-token-80 stable-cache-token-81 stable-cache-token-82 stable-cache-token-83 stable-cache-token-84 stable-cache-token-85 stable-cache-token-86 stable-cache-token-87 stable-cache-token-88 stable-cache-token-89 stable-cache-token-90 stable-cache-token-91 stable-cache-token-92 stable-cache-token-93 stable-cache-token-94 stable-cache-token-95 stable-cache-token-96 stable-cache-token-97 stable-cache-token-98 stable-cache-token-99 stable-cache-token-100 stable-cache-token-101 stable-cache-token-102 stable-cache-token-103 stable-cache-token-104 stable-cache-token-105 stable-cache-token-106 stable-cache-token-107 stable-cache-token-108 stable-cache-token-109 stable-cache-token-110 stable-cache-token-111 stable-cache-token-112 stable-cache-token-113 stable-cache-token-114 stable-cache-token-115 stable-cache-token-116 stable-cache-token-117 stable-cache-token-118 stable-cache-token-119 stable-cache-token-120 stable-cache-token-121 stable-cache-token-122 stable-cache-token-123 stable-cache-token-124 stable-cache-token-125 stable-cache-token-126 stable-cache-token-127 stable-cache-token-128 stable-cache-token-129 stable-cache-token-130 stable-cache-token-131 stable-cache-token-132 stable-cache-token-133 stable-cache-token-134 stable-cache-token-135 stable-cache-token-136 stable-cache-token-137 stable-cache-token-138 stable-cache-token-139 stable-cache-token-140 stable-cache-token-141 stable-cache-token-142 stable-cache-token-143 stable-cache-token-144 stable-cache-token-145 stable-cache-token-146 stable-cache-token-147 stable-cache-token-148 stable-cache-token-149 stable-cache-token-150 stable-cache-token-151 stable-cache-token-152 stable-cache-token-153 stable-cache-token-154 stable-cache-token-155 stable-cache-token-156 stable-cache-token-157 stable-cache-token-158 stable-cache-token-159 stable-cache-token-160 stable-cache-token-161 stable-cache-token-162 stable-cache-token-163 stable-cache-token-164 stable-cache-token-165 stable-cache-token-166 stable-cache-token-167 stable-cache-token-168 stable-cache-token-169 stable-cache-token-170 stable-cache-token-171 stable-cache-token-172 stable-cache-token-173 stable-cache-token-174 stable-cache-token-175 stable-cache-token-176 stable-cache-token-177 stable-cache-token-178 stable-cache-token-179 stable-cache-token-180 stable-cache-token-181 stable-cache-token-182 stable-cache-token-183 stable-cache-token-184 stable-cache-token-185 stable-cache-token-186 stable-cache-token-187 stable-cache-token-188 stable-cache-token-189 stable-cache-token-190 stable-cache-token-191 stable-cache-token-192 stable-cache-token-193 stable-cache-token-194 stable-cache-token-195 stable-cache-token-196 stable-cache-token-197 stable-cache-token-198 stable-cache-token-199 stable-cache-token-200 stable-cache-token-201 stable-cache-token-202 stable-cache-token-203 stable-cache-token-204 stable-cache-token-205 stable-cache-token-206 stable-cache-token-207 stable-cache-token-208 stable-cache-token-209 stable-cache-token-210 stable-cache-token-211 stable-cache-token-212 stable-cache-token-213 stable-cache-token-214 stable-cache-token-215 stable-cache-token-216 stable-cache-token-217 stable-cache-token-218 stable-cache-token-219 stable-cache-token-220 stable-cache-token-221 stable-cache-token-222 stable-cache-token-223 stable-cache-token-224 stable-cache-token-225 stable-cache-token-226 stable-cache-token-227 stable-cache-token-228 stable-cache-token-229 stable-cache-token-230 stable-cache-token-231 stable-cache-token-232 stable-cache-token-233 stable-cache-token-234 stable-cache-token-235 stable-cache-token-236 stable-cache-token-237 stable-cache-token-238 stable-cache-token-239 stable-cache-token-240 stable-cache-token-241 stable-cache-token-242 stable-cache-token-243 stable-cache-token-244 stable-cache-token-245 stable-cache-token-246 stable-cache-token-247 stable-cache-token-248 stable-cache-token-249 stable-cache-token-250 stable-cache-token-251 stable-cache-token-252 stable-cache-token-253 stable-cache-token-254 stable-cache-token-255 stable-cache-token-256 stable-cache-token-257 stable-cache-token-258 stable-cache-token-259 stable-cache-token-260 stable-cache-token-261 stable-cache-token-262 stable-cache-token-263 stable-cache-token-264 stable-cache-token-265 stable-cache-token-266 stable-cache-token-267 stable-cache-token-268 stable-cache-token-269 stable-cache-token-270 stable-cache-token-271 stable-cache-token-272 stable-cache-token-273 stable-cache-token-274 stable-cache-token-275 stable-cache-token-276 stable-cache-token-277 stable-cache-token-278 stable-cache-token-279 stable-cache-token-280 stable-cache-token-281 stable-cache-token-282 stable-cache-token-283 stable-cache-token-284 stable-cache-token-285 stable-cache-token-286 stable-cache-token-287 stable-cache-token-288 stable-cache-token-289 stable-cache-token-290 stable-cache-token-291 stable-cache-token-292 stable-cache-token-293 stable-cache-token-294 stable-cache-token-295 stable-cache-token-296 stable-cache-token-297 stable-cache-token-298 stable-cache-token-299 stable-cache-token-300 stable-cache-token-301 stable-cache-token-302 stable-cache-token-303 stable-cache-token-304 stable-cache-token-305 stable-cache-token-306 stable-cache-token-307 stable-cache-token-308 stable-cache-token-309 stable-cache-token-310 stable-cache-token-311 stable-cache-token-312 stable-cache-token-313 stable-cache-token-314 stable-cache-token-315 stable-cache-token-316 stable-cache-token-317 stable-cache-token-318 stable-cache-token-319 stable-cache-token-320 stable-cache-token-321 stable-cache-token-322 stable-cache-token-323 stable-cache-token-324 stable-cache-token-325 stable-cache-token-326 stable-cache-token-327 stable-cache-token-328 stable-cache-token-329 stable-cache-token-330 stable-cache-token-331 stable-cache-token-332 stable-cache-token-333 stable-cache-token-334 stable-cache-token-335 stable-cache-token-336 stable-cache-token-337 stable-cache-token-338 stable-cache-token-339 stable-cache-token-340 stable-cache-token-341 stable-cache-token-342 stable-cache-token-343 stable-cache-token-344 stable-cache-token-345 stable-cache-token-346 stable-cache-token-347 stable-cache-token-348 stable-cache-token-349 stable-cache-token-350 stable-cache-token-351 stable-cache-token-352 stable-cache-token-353 stable-cache-token-354 stable-cache-token-355 stable-cache-token-356 stable-cache-token-357 stable-cache-token-358 stable-cache-token-359 stable-cache-token-360 stable-cache-token-361 stable-cache-token-362 stable-cache-token-363 stable-cache-token-364 stable-cache-token-365 stable-cache-token-366 stable-cache-token-367 stable-cache-token-368 stable-cache-token-369 stable-cache-token-370 stable-cache-token-371 stable-cache-token-372 stable-cache-token-373 stable-cache-token-374 stable-cache-token-375 stable-cache-token-376 stable-cache-token-377 stable-cache-token-378 stable-cache-token-379 stable-cache-token-380 stable-cache-token-381 stable-cache-token-382 stable-cache-token-383 stable-cache-token-384 stable-cache-token-385 stable-cache-token-386 stable-cache-token-387 stable-cache-token-388 stable-cache-token-389 stable-cache-token-390 stable-cache-token-391 stable-cache-token-392 stable-cache-token-393 stable-cache-token-394 stable-cache-token-395 stable-cache-token-396 stable-cache-token-397 stable-cache-token-398 stable-cache-token-399 stable-cache-token-400 stable-cache-token-401 stable-cache-token-402 stable-cache-token-403 stable-cache-token-404 stable-cache-token-405 stable-cache-token-406 stable-cache-token-407 stable-cache-token-408 stable-cache-token-409 stable-cache-token-410 stable-cache-token-411 stable-cache-token-412 stable-cache-token-413 stable-cache-token-414 stable-cache-token-415 stable-cache-token-416 stable-cache-token-417 stable-cache-token-418 stable-cache-token-419 stable-cache-token-420 stable-cache-token-421 stable-cache-token-422 stable-cache-token-423 stable-cache-token-424 stable-cache-token-425 stable-cache-token-426 stable-cache-token-427 stable-cache-token-428 stable-cache-token-429 stable-cache-token-430 stable-cache-token-431 stable-cache-token-432 stable-cache-token-433 stable-cache-token-434 stable-cache-token-435 stable-cache-token-436 stable-cache-token-437 stable-cache-token-438 stable-cache-token-439 stable-cache-token-440 stable-cache-token-441 stable-cache-token-442 stable-cache-token-443 stable-cache-token-444 stable-cache-token-445 stable-cache-token-446 stable-cache-token-447 stable-cache-token-448 stable-cache-token-449 stable-cache-token-450 stable-cache-token-451 stable-cache-token-452 stable-cache-token-453 stable-cache-token-454 stable-cache-token-455 stable-cache-token-456 stable-cache-token-457 stable-cache-token-458 stable-cache-token-459 stable-cache-token-460 stable-cache-token-461 stable-cache-token-462 stable-cache-token-463 stable-cache-token-464 stable-cache-token-465 stable-cache-token-466 stable-cache-token-467 stable-cache-token-468 stable-cache-token-469 stable-cache-token-470 stable-cache-token-471 stable-cache-token-472 stable-cache-token-473 stable-cache-token-474 stable-cache-token-475 stable-cache-token-476 stable-cache-token-477 stable-cache-token-478 stable-cache-token-479 stable-cache-token-480 stable-cache-token-481 stable-cache-token-482 stable-cache-token-483 stable-cache-token-484 stable-cache-token-485 stable-cache-token-486 stable-cache-token-487 stable-cache-token-488 stable-cache-token-489 stable-cache-token-490 stable-cache-token-491 stable-cache-token-492 stable-cache-token-493 stable-cache-token-494 stable-cache-token-495 stable-cache-token-496 stable-cache-token-497 stable-cache-token-498 stable-cache-token-499 stable-cache-token-500 stable-cache-token-501 stable-cache-token-502 stable-cache-token-503 stable-cache-token-504 stable-cache-token-505 stable-cache-token-506 stable-cache-token-507 stable-cache-token-508 stable-cache-token-509 stable-cache-token-510 stable-cache-token-511 stable-cache-token-512 stable-cache-token-513 stable-cache-token-514 stable-cache-token-515 stable-cache-token-516 stable-cache-token-517 stable-cache-token-518 stable-cache-token-519 stable-cache-token-520 stable-cache-token-521 stable-cache-token-522 stable-cache-token-523 stable-cache-token-524 stable-cache-token-525 stable-cache-token-526 stable-cache-token-527 stable-cache-token-528 stable-cache-token-529 stable-cache-token-530 stable-cache-token-531 stable-cache-token-532 stable-cache-token-533 stable-cache-token-534 stable-cache-token-535 stable-cache-token-536 stable-cache-token-537 stable-cache-token-538 stable-cache-token-539 stable-cache-token-540 stable-cache-token-541 stable-cache-token-542 stable-cache-token-543 stable-cache-token-544 stable-cache-token-545 stable-cache-token-546 stable-cache-token-547 stable-cache-token-548 stable-cache-token-549 stable-cache-token-550 stable-cache-token-551 stable-cache-token-552 stable-cache-token-553 stable-cache-token-554 stable-cache-token-555 stable-cache-token-556 stable-cache-token-557 stable-cache-token-558 stable-cache-token-559 stable-cache-token-560 stable-cache-token-561 stable-cache-token-562 stable-cache-token-563 stable-cache-token-564 stable-cache-token-565 stable-cache-token-566 stable-cache-token-567 stable-cache-token-568 stable-cache-token-569 stable-cache-token-570 stable-cache-token-571 stable-cache-token-572 stable-cache-token-573 stable-cache-token-574 stable-cache-token-575 stable-cache-token-576 stable-cache-token-577 stable-cache-token-578 stable-cache-token-579 stable-cache-token-580 stable-cache-token-581 stable-cache-token-582 stable-cache-token-583 stable-cache-token-584 stable-cache-token-585 stable-cache-token-586 stable-cache-token-587 stable-cache-token-588 stable-cache-token-589 stable-cache-token-590 stable-cache-token-591 stable-cache-token-592 stable-cache-token-593 stable-cache-token-594 stable-cache-token-595 stable-cache-token-596 stable-cache-token-597 stable-cache-token-598 stable-cache-token-599 stable-cache-token-600 stable-cache-token-601 stable-cache-token-602 stable-cache-token-603 stable-cache-token-604 stable-cache-token-605 stable-cache-token-606 stable-cache-token-607 stable-cache-token-608 stable-cache-token-609 stable-cache-token-610 stable-cache-token-611 stable-cache-token-612 stable-cache-token-613 stable-cache-token-614 stable-cache-token-615 stable-cache-token-616 stable-cache-token-617 stable-cache-token-618 stable-cache-token-619 stable-cache-token-620 stable-cache-token-621 stable-cache-token-622 stable-cache-token-623 stable-cache-token-624 stable-cache-token-625 stable-cache-token-626 stable-cache-token-627 stable-cache-token-628 stable-cache-token-629 stable-cache-token-630 stable-cache-token-631 stable-cache-token-632 stable-cache-token-633 stable-cache-token-634 stable-cache-token-635 stable-cache-token-636 stable-cache-token-637 stable-cache-token-638 stable-cache-token-639 stable-cache-token-640 stable-cache-token-641 stable-cache-token-642 stable-cache-token-643 stable-cache-token-644 stable-cache-token-645 stable-cache-token-646 stable-cache-token-647 stable-cache-token-648 stable-cache-token-649 stable-cache-token-650 stable-cache-token-651 stable-cache-token-652 stable-cache-token-653 stable-cache-token-654 stable-cache-token-655 stable-cache-token-656 stable-cache-token-657 stable-cache-token-658 stable-cache-token-659 stable-cache-token-660 stable-cache-token-661 stable-cache-token-662 stable-cache-token-663 stable-cache-token-664 stable-cache-token-665 stable-cache-token-666 stable-cache-token-667 stable-cache-token-668 stable-cache-token-669 stable-cache-token-670 stable-cache-token-671 stable-cache-token-672 stable-cache-token-673 stable-cache-token-674 stable-cache-token-675 stable-cache-token-676 stable-cache-token-677 stable-cache-token-678 stable-cache-token-679 stable-cache-token-680 stable-cache-token-681 stable-cache-token-682 stable-cache-token-683 stable-cache-token-684 stable-cache-token-685 stable-cache-token-686 stable-cache-token-687 stable-cache-token-688 stable-cache-token-689 stable-cache-token-690 stable-cache-token-691 stable-cache-token-692 stable-cache-token-693 stable-cache-token-694 stable-cache-token-695 stable-cache-token-696 stable-cache-token-697 stable-cache-token-698 stable-cache-token-699 stable-cache-token-700 stable-cache-token-701 stable-cache-token-702 stable-cache-token-703 stable-cache-token-704 stable-cache-token-705 stable-cache-token-706 stable-cache-token-707 stable-cache-token-708 stable-cache-token-709 stable-cache-token-710 stable-cache-token-711 stable-cache-token-712 stable-cache-token-713 stable-cache-token-714 stable-cache-token-715 stable-cache-token-716 stable-cache-token-717 stable-cache-token-718 stable-cache-token-719 stable-cache-token-720 stable-cache-token-721 stable-cache-token-722 stable-cache-token-723 stable-cache-token-724 stable-cache-token-725 stable-cache-token-726 stable-cache-token-727 stable-cache-token-728 stable-cache-token-729 stable-cache-token-730 stable-cache-token-731 stable-cache-token-732 stable-cache-token-733 stable-cache-token-734 stable-cache-token-735 stable-cache-token-736 stable-cache-token-737 stable-cache-token-738 stable-cache-token-739 stable-cache-token-740 stable-cache-token-741 stable-cache-token-742 stable-cache-token-743 stable-cache-token-744 stable-cache-token-745 stable-cache-token-746 stable-cache-token-747 stable-cache-token-748 stable-cache-token-749 stable-cache-token-750 stable-cache-token-751 stable-cache-token-752 stable-cache-token-753 stable-cache-token-754 stable-cache-token-755 stable-cache-token-756 stable-cache-token-757 stable-cache-token-758 stable-cache-token-759 stable-cache-token-760 stable-cache-token-761 stable-cache-token-762 stable-cache-token-763 stable-cache-token-764 stable-cache-token-765 stable-cache-token-766 stable-cache-token-767 stable-cache-token-768 stable-cache-token-769 stable-cache-token-770 stable-cache-token-771 stable-cache-token-772 stable-cache-token-773 stable-cache-token-774 stable-cache-token-775 stable-cache-token-776 stable-cache-token-777 stable-cache-token-778 stable-cache-token-779 stable-cache-token-780 stable-cache-token-781 stable-cache-token-782 stable-cache-token-783 stable-cache-token-784 stable-cache-token-785 stable-cache-token-786 stable-cache-token-787 stable-cache-token-788 stable-cache-token-789 stable-cache-token-790 stable-cache-token-791 stable-cache-token-792 stable-cache-token-793 stable-cache-token-794 stable-cache-token-795 stable-cache-token-796 stable-cache-token-797 stable-cache-token-798 stable-cache-token-799 stable-cache-token-800 stable-cache-token-801 stable-cache-token-802 stable-cache-token-803 stable-cache-token-804 stable-cache-token-805 stable-cache-token-806 stable-cache-token-807 stable-cache-token-808 stable-cache-token-809 stable-cache-token-810 stable-cache-token-811 stable-cache-token-812 stable-cache-token-813 stable-cache-token-814 stable-cache-token-815 stable-cache-token-816 stable-cache-token-817 stable-cache-token-818 stable-cache-token-819 stable-cache-token-820 stable-cache-token-821 stable-cache-token-822 stable-cache-token-823 stable-cache-token-824 stable-cache-token-825 stable-cache-token-826 stable-cache-token-827 stable-cache-token-828 stable-cache-token-829 stable-cache-token-830 stable-cache-token-831 stable-cache-token-832 stable-cache-token-833 stable-cache-token-834 stable-cache-token-835 stable-cache-token-836 stable-cache-token-837 stable-cache-token-838 stable-cache-token-839 stable-cache-token-840 stable-cache-token-841 stable-cache-token-842 stable-cache-token-843 stable-cache-token-844 stable-cache-token-845 stable-cache-token-846 stable-cache-token-847 stable-cache-token-848 stable-cache-token-849 stable-cache-token-850 stable-cache-token-851 stable-cache-token-852 stable-cache-token-853 stable-cache-token-854 stable-cache-token-855 stable-cache-token-856 stable-cache-token-857 stable-cache-token-858 stable-cache-token-859 stable-cache-token-860 stable-cache-token-861 stable-cache-token-862 stable-cache-token-863 stable-cache-token-864 stable-cache-token-865 stable-cache-token-866 stable-cache-token-867 stable-cache-token-868 stable-cache-token-869 stable-cache-token-870 stable-cache-token-871 stable-cache-token-872 stable-cache-token-873 stable-cache-token-874 stable-cache-token-875 stable-cache-token-876 stable-cache-token-877 stable-cache-token-878 stable-cache-token-879 stable-cache-token-880 stable-cache-token-881 stable-cache-token-882 stable-cache-token-883 stable-cache-token-884 stable-cache-token-885 stable-cache-token-886 stable-cache-token-887 stable-cache-token-888 stable-cache-token-889 stable-cache-token-890 stable-cache-token-891 stable-cache-token-892 stable-cache-token-893 stable-cache-token-894 stable-cache-token-895 stable-cache-token-896 stable-cache-token-897 stable-cache-token-898 stable-cache-token-899 stable-cache-token-900 stable-cache-token-901 stable-cache-token-902 stable-cache-token-903 stable-cache-token-904 stable-cache-token-905 stable-cache-token-906 stable-cache-token-907 stable-cache-token-908 stable-cache-token-909 stable-cache-token-910 stable-cache-token-911 stable-cache-token-912 stable-cache-token-913 stable-cache-token-914 stable-cache-token-915 stable-cache-token-916 stable-cache-token-917 stable-cache-token-918 stable-cache-token-919 stable-cache-token-920 stable-cache-token-921 stable-cache-token-922 stable-cache-token-923 stable-cache-token-924 stable-cache-token-925 stable-cache-token-926 stable-cache-token-927 stable-cache-token-928 stable-cache-token-929 stable-cache-token-930 stable-cache-token-931 stable-cache-token-932 stable-cache-token-933 stable-cache-token-934 stable-cache-token-935 stable-cache-token-936 stable-cache-token-937 stable-cache-token-938 stable-cache-token-939 stable-cache-token-940 stable-cache-token-941 stable-cache-token-942 stable-cache-token-943 stable-cache-token-944 stable-cache-token-945 stable-cache-token-946 stable-cache-token-947 stable-cache-token-948 stable-cache-token-949 stable-cache-token-950 stable-cache-token-951 stable-cache-token-952 stable-cache-token-953 stable-cache-token-954 stable-cache-token-955 stable-cache-token-956 stable-cache-token-957 stable-cache-token-958 stable-cache-token-959 stable-cache-token-960 stable-cache-token-961 stable-cache-token-962 stable-cache-token-963 stable-cache-token-964 stable-cache-token-965 stable-cache-token-966 stable-cache-token-967 stable-cache-token-968 stable-cache-token-969 stable-cache-token-970 stable-cache-token-971 stable-cache-token-972 stable-cache-token-973 stable-cache-token-974 stable-cache-token-975 stable-cache-token-976 stable-cache-token-977 stable-cache-token-978 stable-cache-token-979 stable-cache-token-980 stable-cache-token-981 stable-cache-token-982 stable-cache-token-983 stable-cache-token-984 stable-cache-token-985 stable-cache-token-986 stable-cache-token-987 stable-cache-token-988 stable-cache-token-989 stable-cache-token-990 stable-cache-token-991 stable-cache-token-992 stable-cache-token-993 stable-cache-token-994 stable-cache-token-995 stable-cache-token-996 stable-cache-token-997 stable-cache-token-998 stable-cache-token-999 stable-cache-token-1000 stable-cache-token-1001 stable-cache-token-1002 stable-cache-token-1003 stable-cache-token-1004 stable-cache-token-1005 stable-cache-token-1006 stable-cache-token-1007 stable-cache-token-1008 stable-cache-token-1009 stable-cache-token-1010 stable-cache-token-1011 stable-cache-token-1012 stable-cache-token-1013 stable-cache-token-1014 stable-cache-token-1015 stable-cache-token-1016 stable-cache-token-1017 stable-cache-token-1018 stable-cache-token-1019 stable-cache-token-1020 stable-cache-token-1021 stable-cache-token-1022 stable-cache-token-1023 stable-cache-token-1024 stable-cache-token-1025 stable-cache-token-1026 stable-cache-token-1027 stable-cache-token-1028 stable-cache-token-1029 stable-cache-token-1030 stable-cache-token-1031 stable-cache-token-1032 stable-cache-token-1033 stable-cache-token-1034 stable-cache-token-1035 stable-cache-token-1036 stable-cache-token-1037 stable-cache-token-1038 stable-cache-token-1039 stable-cache-token-1040 stable-cache-token-1041 stable-cache-token-1042 stable-cache-token-1043 stable-cache-token-1044 stable-cache-token-1045 stable-cache-token-1046 stable-cache-token-1047 stable-cache-token-1048 stable-cache-token-1049 stable-cache-token-1050 stable-cache-token-1051 stable-cache-token-1052 stable-cache-token-1053 stable-cache-token-1054 stable-cache-token-1055 stable-cache-token-1056 stable-cache-token-1057 stable-cache-token-1058 stable-cache-token-1059 stable-cache-token-1060 stable-cache-token-1061 stable-cache-token-1062 stable-cache-token-1063 stable-cache-token-1064 stable-cache-token-1065 stable-cache-token-1066 stable-cache-token-1067 stable-cache-token-1068 stable-cache-token-1069 stable-cache-token-1070 stable-cache-token-1071 stable-cache-token-1072 stable-cache-token-1073 stable-cache-token-1074 stable-cache-token-1075 stable-cache-token-1076 stable-cache-token-1077 stable-cache-token-1078 stable-cache-token-1079 stable-cache-token-1080 stable-cache-token-1081 stable-cache-token-1082 stable-cache-token-1083 stable-cache-token-1084 stable-cache-token-1085 stable-cache-token-1086 stable-cache-token-1087 stable-cache-token-1088 stable-cache-token-1089 stable-cache-token-1090 stable-cache-token-1091 stable-cache-token-1092 stable-cache-token-1093 stable-cache-token-1094 stable-cache-token-1095 stable-cache-token-1096 stable-cache-token-1097 stable-cache-token-1098 stable-cache-token-1099 stable-cache-token-1100 stable-cache-token-1101 stable-cache-token-1102 stable-cache-token-1103 stable-cache-token-1104 stable-cache-token-1105 stable-cache-token-1106 stable-cache-token-1107 stable-cache-token-1108 stable-cache-token-1109 stable-cache-token-1110 stable-cache-token-1111 stable-cache-token-1112 stable-cache-token-1113 stable-cache-token-1114 stable-cache-token-1115 stable-cache-token-1116 stable-cache-token-1117 stable-cache-token-1118 stable-cache-token-1119 stable-cache-token-1120 stable-cache-token-1121 stable-cache-token-1122 stable-cache-token-1123 stable-cache-token-1124 stable-cache-token-1125 stable-cache-token-1126 stable-cache-token-1127 stable-cache-token-1128 stable-cache-token-1129 stable-cache-token-1130 stable-cache-token-1131 stable-cache-token-1132 stable-cache-token-1133 stable-cache-token-1134 stable-cache-token-1135 stable-cache-token-1136 stable-cache-token-1137 stable-cache-token-1138 stable-cache-token-1139 stable-cache-token-1140 stable-cache-token-1141 stable-cache-token-1142 stable-cache-token-1143 stable-cache-token-1144 stable-cache-token-1145 stable-cache-token-1146 stable-cache-token-1147 stable-cache-token-1148 stable-cache-token-1149 stable-cache-token-1150 stable-cache-token-1151 stable-cache-token-1152 stable-cache-token-1153 stable-cache-token-1154 stable-cache-token-1155 stable-cache-token-1156 stable-cache-token-1157 stable-cache-token-1158 stable-cache-token-1159 stable-cache-token-1160 stable-cache-token-1161 stable-cache-token-1162 stable-cache-token-1163 stable-cache-token-1164 stable-cache-token-1165 stable-cache-token-1166 stable-cache-token-1167 stable-cache-token-1168 stable-cache-token-1169 stable-cache-token-1170 stable-cache-token-1171 stable-cache-token-1172 stable-cache-token-1173 stable-cache-token-1174 stable-cache-token-1175 stable-cache-token-1176 stable-cache-token-1177 stable-cache-token-1178 stable-cache-token-1179 stable-cache-token-1180 stable-cache-token-1181 stable-cache-token-1182 stable-cache-token-1183 stable-cache-token-1184 stable-cache-token-1185 stable-cache-token-1186 stable-cache-token-1187 stable-cache-token-1188 stable-cache-token-1189 stable-cache-token-1190 stable-cache-token-1191 stable-cache-token-1192 stable-cache-token-1193 stable-cache-token-1194 stable-cache-token-1195 stable-cache-token-1196 stable-cache-token-1197 stable-cache-token-1198 stable-cache-token-1199 stable-cache-token-1200 stable-cache-token-1201 stable-cache-token-1202 stable-cache-token-1203 stable-cache-token-1204 stable-cache-token-1205 stable-cache-token-1206 stable-cache-token-1207 stable-cache-token-1208 stable-cache-token-1209 stable-cache-token-1210 stable-cache-token-1211 stable-cache-token-1212 stable-cache-token-1213 stable-cache-token-1214 stable-cache-token-1215 stable-cache-token-1216 stable-cache-token-1217 stable-cache-token-1218 stable-cache-token-1219 stable-cache-token-1220 stable-cache-token-1221 stable-cache-token-1222 stable-cache-token-1223 stable-cache-token-1224 stable-cache-token-1225 stable-cache-token-1226 stable-cache-token-1227 stable-cache-token-1228 stable-cache-token-1229 stable-cache-token-1230 stable-cache-token-1231 stable-cache-token-1232 stable-cache-token-1233 stable-cache-token-1234 stable-cache-token-1235 stable-cache-token-1236 stable-cache-token-1237 stable-cache-token-1238 stable-cache-token-1239 stable-cache-token-1240 stable-cache-token-1241 stable-cache-token-1242 stable-cache-token-1243 stable-cache-token-1244 stable-cache-token-1245 stable-cache-token-1246 stable-cache-token-1247 stable-cache-token-1248 stable-cache-token-1249 stable-cache-token-1250 stable-cache-token-1251 stable-cache-token-1252 stable-cache-token-1253 stable-cache-token-1254 stable-cache-token-1255 stable-cache-token-1256 stable-cache-token-1257 stable-cache-token-1258 stable-cache-token-1259 stable-cache-token-1260 stable-cache-token-1261 stable-cache-token-1262 stable-cache-token-1263 stable-cache-token-1264 stable-cache-token-1265 stable-cache-token-1266 stable-cache-token-1267 stable-cache-token-1268 stable-cache-token-1269 stable-cache-token-1270 stable-cache-token-1271 stable-cache-token-1272 stable-cache-token-1273 stable-cache-token-1274 stable-cache-token-1275 stable-cache-token-1276 stable-cache-token-1277 stable-cache-token-1278 stable-cache-token-1279 stable-cache-token-1280 stable-cache-token-1281 stable-cache-token-1282 stable-cache-token-1283 stable-cache-token-1284 stable-cache-token-1285 stable-cache-token-1286 stable-cache-token-1287 stable-cache-token-1288 stable-cache-token-1289 stable-cache-token-1290 stable-cache-token-1291 stable-cache-token-1292 stable-cache-token-1293 stable-cache-token-1294 stable-cache-token-1295 stable-cache-token-1296 stable-cache-token-1297 stable-cache-token-1298 stable-cache-token-1299 stable-cache-token-1300 stable-cache-token-1301 stable-cache-token-1302 stable-cache-token-1303 stable-cache-token-1304 stable-cache-token-1305 stable-cache-token-1306 stable-cache-token-1307 stable-cache-token-1308 stable-cache-token-1309 stable-cache-token-1310 stable-cache-token-1311 stable-cache-token-1312 stable-cache-token-1313 stable-cache-token-1314 stable-cache-token-1315 stable-cache-token-1316 stable-cache-token-1317 stable-cache-token-1318 stable-cache-token-1319 stable-cache-token-1320 stable-cache-token-1321 stable-cache-token-1322 stable-cache-token-1323 stable-cache-token-1324 stable-cache-token-1325 stable-cache-token-1326 stable-cache-token-1327 stable-cache-token-1328 stable-cache-token-1329 stable-cache-token-1330 stable-cache-token-1331 stable-cache-token-1332 stable-cache-token-1333 stable-cache-token-1334 stable-cache-token-1335 stable-cache-token-1336 stable-cache-token-1337 stable-cache-token-1338 stable-cache-token-1339 stable-cache-token-1340 stable-cache-token-1341 stable-cache-token-1342 stable-cache-token-1343 stable-cache-token-1344 stable-cache-token-1345 stable-cache-token-1346 stable-cache-token-1347 stable-cache-token-1348 stable-cache-token-1349 stable-cache-token-1350 stable-cache-token-1351 stable-cache-token-1352 stable-cache-token-1353 stable-cache-token-1354 stable-cache-token-1355 stable-cache-token-1356 stable-cache-token-1357 stable-cache-token-1358 stable-cache-token-1359 stable-cache-token-1360 stable-cache-token-1361 stable-cache-token-1362 stable-cache-token-1363 stable-cache-token-1364 stable-cache-token-1365 stable-cache-token-1366 stable-cache-token-1367 stable-cache-token-1368 stable-cache-token-1369 stable-cache-token-1370 stable-cache-token-1371 stable-cache-token-1372 stable-cache-token-1373 stable-cache-token-1374 stable-cache-token-1375 stable-cache-token-1376 stable-cache-token-1377 stable-cache-token-1378 stable-cache-token-1379 stable-cache-token-1380 stable-cache-token-1381 stable-cache-token-1382 stable-cache-token-1383 stable-cache-token-1384 stable-cache-token-1385 stable-cache-token-1386 stable-cache-token-1387 stable-cache-token-1388 stable-cache-token-1389 stable-cache-token-1390 stable-cache-token-1391 stable-cache-token-1392 stable-cache-token-1393 stable-cache-token-1394 stable-cache-token-1395 stable-cache-token-1396 stable-cache-token-1397 stable-cache-token-1398 stable-cache-token-1399 stable-cache-token-1400 stable-cache-token-1401 stable-cache-token-1402 stable-cache-token-1403 stable-cache-token-1404 stable-cache-token-1405 stable-cache-token-1406 stable-cache-token-1407 stable-cache-token-1408 stable-cache-token-1409 stable-cache-token-1410 stable-cache-token-1411 stable-cache-token-1412 stable-cache-token-1413 stable-cache-token-1414 stable-cache-token-1415 stable-cache-token-1416 stable-cache-token-1417 stable-cache-token-1418 stable-cache-token-1419 stable-cache-token-1420 stable-cache-token-1421 stable-cache-token-1422 stable-cache-token-1423 stable-cache-token-1424 stable-cache-token-1425 stable-cache-token-1426 stable-cache-token-1427 stable-cache-token-1428 stable-cache-token-1429 stable-cache-token-1430 stable-cache-token-1431 stable-cache-token-1432 stable-cache-token-1433 stable-cache-token-1434 stable-cache-token-1435 stable-cache-token-1436 stable-cache-token-1437 stable-cache-token-1438 stable-cache-token-1439 stable-cache-token-1440 stable-cache-token-1441 stable-cache-token-1442 stable-cache-token-1443 stable-cache-token-1444 stable-cache-token-1445 stable-cache-token-1446 stable-cache-token-1447 stable-cache-token-1448 stable-cache-token-1449 stable-cache-token-1450 stable-cache-token-1451 stable-cache-token-1452 stable-cache-token-1453 stable-cache-token-1454 stable-cache-token-1455 stable-cache-token-1456 stable-cache-token-1457 stable-cache-token-1458 stable-cache-token-1459 stable-cache-token-1460 stable-cache-token-1461 stable-cache-token-1462 stable-cache-token-1463 stable-cache-token-1464 stable-cache-token-1465 stable-cache-token-1466 stable-cache-token-1467 stable-cache-token-1468 stable-cache-token-1469 stable-cache-token-1470 stable-cache-token-1471 stable-cache-token-1472 stable-cache-token-1473 stable-cache-token-1474 stable-cache-token-1475 stable-cache-token-1476 stable-cache-token-1477 stable-cache-token-1478 stable-cache-token-1479 stable-cache-token-1480 stable-cache-token-1481 stable-cache-token-1482 stable-cache-token-1483 stable-cache-token-1484 stable-cache-token-1485 stable-cache-token-1486 stable-cache-token-1487 stable-cache-token-1488 stable-cache-token-1489 stable-cache-token-1490 stable-cache-token-1491 stable-cache-token-1492 stable-cache-token-1493 stable-cache-token-1494 stable-cache-token-1495 stable-cache-token-1496 stable-cache-token-1497 stable-cache-token-1498 stable-cache-token-1499 stable-cache-token-1500 stable-cache-token-1501 stable-cache-token-1502 stable-cache-token-1503 stable-cache-token-1504 stable-cache-token-1505 stable-cache-token-1506 stable-cache-token-1507 stable-cache-token-1508 stable-cache-token-1509 stable-cache-token-1510 stable-cache-token-1511 stable-cache-token-1512 stable-cache-token-1513 stable-cache-token-1514 stable-cache-token-1515 stable-cache-token-1516 stable-cache-token-1517 stable-cache-token-1518 stable-cache-token-1519 stable-cache-token-1520 stable-cache-token-1521 stable-cache-token-1522 stable-cache-token-1523 stable-cache-token-1524 stable-cache-token-1525 stable-cache-token-1526 stable-cache-token-1527 stable-cache-token-1528 stable-cache-token-1529 stable-cache-token-1530 stable-cache-token-1531 stable-cache-token-1532 stable-cache-token-1533 stable-cache-token-1534 stable-cache-token-1535 stable-cache-token-1536 stable-cache-token-1537 stable-cache-token-1538 stable-cache-token-1539 stable-cache-token-1540 stable-cache-token-1541 stable-cache-token-1542 stable-cache-token-1543 stable-cache-token-1544 stable-cache-token-1545 stable-cache-token-1546 stable-cache-token-1547 stable-cache-token-1548 stable-cache-token-1549 stable-cache-token-1550 stable-cache-token-1551 stable-cache-token-1552 stable-cache-token-1553 stable-cache-token-1554 stable-cache-token-1555 stable-cache-token-1556 stable-cache-token-1557 stable-cache-token-1558 stable-cache-token-1559 stable-cache-token-1560 stable-cache-token-1561 stable-cache-token-1562 stable-cache-token-1563 stable-cache-token-1564 stable-cache-token-1565 stable-cache-token-1566 stable-cache-token-1567 stable-cache-token-1568 stable-cache-token-1569 stable-cache-token-1570 stable-cache-token-1571 stable-cache-token-1572 stable-cache-token-1573 stable-cache-token-1574 stable-cache-token-1575 stable-cache-token-1576 stable-cache-token-1577 stable-cache-token-1578 stable-cache-token-1579 stable-cache-token-1580 stable-cache-token-1581 stable-cache-token-1582 stable-cache-token-1583 stable-cache-token-1584 stable-cache-token-1585 stable-cache-token-1586 stable-cache-token-1587 stable-cache-token-1588 stable-cache-token-1589 stable-cache-token-1590 stable-cache-token-1591 stable-cache-token-1592 stable-cache-token-1593 stable-cache-token-1594 stable-cache-token-1595 stable-cache-token-1596 stable-cache-token-1597 stable-cache-token-1598 stable-cache-token-1599\nUse this stable cache context only to exercise Bedrock prompt caching in this e2e scenario." + }, + { + "cachePoint": { + "type": "default" + } + }, + { + "text": "Reply with exactly STREAM." + } + ], + "role": "user" + } + ] + } + }, + "headers": {}, + "method": "POST", + "url": "https://bedrock-runtime.us-east-2.amazonaws.com/model/us.amazon.nova-lite-v1%3A0/converse-stream" + }, + "response": { + "body": { + "contentType": "application/vnd.amazon.eventstream", + "kind": "base64", + "value": "AAAAtwAAAFJCoDu1CzpldmVudC10eXBlBwAMbWVzc2FnZVN0YXJ0DTpjb250ZW50LXR5cGUHABBhcHBsaWNhdGlvbi9qc29uDTptZXNzYWdlLXR5cGUHAAVldmVudHsicCI6ImFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6QUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVowMTIzNDUiLCJyb2xlIjoiYXNzaXN0YW50In1xBrKfAAAAyQAAAFd0KJGUCzpldmVudC10eXBlBwARY29udGVudEJsb2NrRGVsdGENOmNvbnRlbnQtdHlwZQcAEGFwcGxpY2F0aW9uL2pzb24NOm1lc3NhZ2UtdHlwZQcABWV2ZW50eyJjb250ZW50QmxvY2tJbmRleCI6MCwiZGVsdGEiOnsidGV4dCI6IiJ9LCJwIjoiYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNERUZHSElKS0xNTk9QUVJTVFVWIn2he6YlAAAApQAAAFco6gvYCzpldmVudC10eXBlBwARY29udGVudEJsb2NrRGVsdGENOmNvbnRlbnQtdHlwZQcAEGFwcGxpY2F0aW9uL2pzb24NOm1lc3NhZ2UtdHlwZQcABWV2ZW50eyJjb250ZW50QmxvY2tJbmRleCI6MCwiZGVsdGEiOnsidGV4dCI6IlNUUkVBTSJ9LCJwIjoiYWJjZGVmIn2k689NAAAAyQAAAFd0KJGUCzpldmVudC10eXBlBwARY29udGVudEJsb2NrRGVsdGENOmNvbnRlbnQtdHlwZQcAEGFwcGxpY2F0aW9uL2pzb24NOm1lc3NhZ2UtdHlwZQcABWV2ZW50eyJjb250ZW50QmxvY2tJbmRleCI6MCwiZGVsdGEiOnsidGV4dCI6IiJ9LCJwIjoiYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNERUZHSElKS0xNTk9QUVJTVFVWIn2he6YlAAAAtgAAAFZ4rdYcCzpldmVudC10eXBlBwAQY29udGVudEJsb2NrU3RvcA06Y29udGVudC10eXBlBwAQYXBwbGljYXRpb24vanNvbg06bWVzc2FnZS10eXBlBwAFZXZlbnR7ImNvbnRlbnRCbG9ja0luZGV4IjowLCJwIjoiYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNERUZHSElKS0xNTk9QUVJTVFVWV1gifRTWkNMAAACpAAAAUQR5Q+wLOmV2ZW50LXR5cGUHAAttZXNzYWdlU3RvcA06Y29udGVudC10eXBlBwAQYXBwbGljYXRpb24vanNvbg06bWVzc2FnZS10eXBlBwAFZXZlbnR7InAiOiJhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ekFCQ0RFRkdISUpLTE1OIiwic3RvcFJlYXNvbiI6ImVuZF90dXJuIn3dbRbKAAABhgAAAE4BvCVpCzpldmVudC10eXBlBwAIbWV0YWRhdGENOmNvbnRlbnQtdHlwZQcAEGFwcGxpY2F0aW9uL2pzb24NOm1lc3NhZ2UtdHlwZQcABWV2ZW50eyJtZXRyaWNzIjp7ImxhdGVuY3lNcyI6NTY3fSwicCI6ImFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6QUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVowMTIzNDUiLCJ1c2FnZSI6eyJjYWNoZVJlYWRJbnB1dFRva2VuQ291bnQiOjE0OTIyLCJjYWNoZVJlYWRJbnB1dFRva2VucyI6MTQ5MjIsImNhY2hlV3JpdGVJbnB1dFRva2VuQ291bnQiOjAsImNhY2hlV3JpdGVJbnB1dFRva2VucyI6MCwiaW5wdXRUb2tlbnMiOjYsIm91dHB1dFRva2VucyI6Mywic2VydmVyVG9vbFVzYWdlIjp7fSwidG90YWxUb2tlbnMiOjE0OTMxfX3COGBX" + }, + "headers": { + "connection": "keep-alive", + "content-type": "application/vnd.amazon.eventstream", + "date": "[REDACTED]", + "transfer-encoding": "chunked", + "x-amzn-requestid": "[REDACTED]" + }, + "status": 200, + "statusText": "OK" + } + }, + { + "callIndex": 0, + "id": "3e9c682f68d2d756", + "matchKey": "POST bedrock-runtime.aws-region.amazonaws.com/model/us.amazon.nova-lite-v1%3A0/invoke", + "recordedAt": "2026-09-14T10:23:02.184Z", + "request": { + "body": { + "kind": "json", + "value": { + "inferenceConfig": { + "maxTokens": 16, + "temperature": 0, + "topP": 0.9 + }, + "messages": [ + { + "content": [ + { + "cachePoint": { + "type": "default" + }, + "text": "BRAINTRUST_BEDROCK_CACHE_CONTEXT\nstable-cache-token-0 stable-cache-token-1 stable-cache-token-2 stable-cache-token-3 stable-cache-token-4 stable-cache-token-5 stable-cache-token-6 stable-cache-token-7 stable-cache-token-8 stable-cache-token-9 stable-cache-token-10 stable-cache-token-11 stable-cache-token-12 stable-cache-token-13 stable-cache-token-14 stable-cache-token-15 stable-cache-token-16 stable-cache-token-17 stable-cache-token-18 stable-cache-token-19 stable-cache-token-20 stable-cache-token-21 stable-cache-token-22 stable-cache-token-23 stable-cache-token-24 stable-cache-token-25 stable-cache-token-26 stable-cache-token-27 stable-cache-token-28 stable-cache-token-29 stable-cache-token-30 stable-cache-token-31 stable-cache-token-32 stable-cache-token-33 stable-cache-token-34 stable-cache-token-35 stable-cache-token-36 stable-cache-token-37 stable-cache-token-38 stable-cache-token-39 stable-cache-token-40 stable-cache-token-41 stable-cache-token-42 stable-cache-token-43 stable-cache-token-44 stable-cache-token-45 stable-cache-token-46 stable-cache-token-47 stable-cache-token-48 stable-cache-token-49 stable-cache-token-50 stable-cache-token-51 stable-cache-token-52 stable-cache-token-53 stable-cache-token-54 stable-cache-token-55 stable-cache-token-56 stable-cache-token-57 stable-cache-token-58 stable-cache-token-59 stable-cache-token-60 stable-cache-token-61 stable-cache-token-62 stable-cache-token-63 stable-cache-token-64 stable-cache-token-65 stable-cache-token-66 stable-cache-token-67 stable-cache-token-68 stable-cache-token-69 stable-cache-token-70 stable-cache-token-71 stable-cache-token-72 stable-cache-token-73 stable-cache-token-74 stable-cache-token-75 stable-cache-token-76 stable-cache-token-77 stable-cache-token-78 stable-cache-token-79 stable-cache-token-80 stable-cache-token-81 stable-cache-token-82 stable-cache-token-83 stable-cache-token-84 stable-cache-token-85 stable-cache-token-86 stable-cache-token-87 stable-cache-token-88 stable-cache-token-89 stable-cache-token-90 stable-cache-token-91 stable-cache-token-92 stable-cache-token-93 stable-cache-token-94 stable-cache-token-95 stable-cache-token-96 stable-cache-token-97 stable-cache-token-98 stable-cache-token-99 stable-cache-token-100 stable-cache-token-101 stable-cache-token-102 stable-cache-token-103 stable-cache-token-104 stable-cache-token-105 stable-cache-token-106 stable-cache-token-107 stable-cache-token-108 stable-cache-token-109 stable-cache-token-110 stable-cache-token-111 stable-cache-token-112 stable-cache-token-113 stable-cache-token-114 stable-cache-token-115 stable-cache-token-116 stable-cache-token-117 stable-cache-token-118 stable-cache-token-119 stable-cache-token-120 stable-cache-token-121 stable-cache-token-122 stable-cache-token-123 stable-cache-token-124 stable-cache-token-125 stable-cache-token-126 stable-cache-token-127 stable-cache-token-128 stable-cache-token-129 stable-cache-token-130 stable-cache-token-131 stable-cache-token-132 stable-cache-token-133 stable-cache-token-134 stable-cache-token-135 stable-cache-token-136 stable-cache-token-137 stable-cache-token-138 stable-cache-token-139 stable-cache-token-140 stable-cache-token-141 stable-cache-token-142 stable-cache-token-143 stable-cache-token-144 stable-cache-token-145 stable-cache-token-146 stable-cache-token-147 stable-cache-token-148 stable-cache-token-149 stable-cache-token-150 stable-cache-token-151 stable-cache-token-152 stable-cache-token-153 stable-cache-token-154 stable-cache-token-155 stable-cache-token-156 stable-cache-token-157 stable-cache-token-158 stable-cache-token-159 stable-cache-token-160 stable-cache-token-161 stable-cache-token-162 stable-cache-token-163 stable-cache-token-164 stable-cache-token-165 stable-cache-token-166 stable-cache-token-167 stable-cache-token-168 stable-cache-token-169 stable-cache-token-170 stable-cache-token-171 stable-cache-token-172 stable-cache-token-173 stable-cache-token-174 stable-cache-token-175 stable-cache-token-176 stable-cache-token-177 stable-cache-token-178 stable-cache-token-179 stable-cache-token-180 stable-cache-token-181 stable-cache-token-182 stable-cache-token-183 stable-cache-token-184 stable-cache-token-185 stable-cache-token-186 stable-cache-token-187 stable-cache-token-188 stable-cache-token-189 stable-cache-token-190 stable-cache-token-191 stable-cache-token-192 stable-cache-token-193 stable-cache-token-194 stable-cache-token-195 stable-cache-token-196 stable-cache-token-197 stable-cache-token-198 stable-cache-token-199 stable-cache-token-200 stable-cache-token-201 stable-cache-token-202 stable-cache-token-203 stable-cache-token-204 stable-cache-token-205 stable-cache-token-206 stable-cache-token-207 stable-cache-token-208 stable-cache-token-209 stable-cache-token-210 stable-cache-token-211 stable-cache-token-212 stable-cache-token-213 stable-cache-token-214 stable-cache-token-215 stable-cache-token-216 stable-cache-token-217 stable-cache-token-218 stable-cache-token-219 stable-cache-token-220 stable-cache-token-221 stable-cache-token-222 stable-cache-token-223 stable-cache-token-224 stable-cache-token-225 stable-cache-token-226 stable-cache-token-227 stable-cache-token-228 stable-cache-token-229 stable-cache-token-230 stable-cache-token-231 stable-cache-token-232 stable-cache-token-233 stable-cache-token-234 stable-cache-token-235 stable-cache-token-236 stable-cache-token-237 stable-cache-token-238 stable-cache-token-239 stable-cache-token-240 stable-cache-token-241 stable-cache-token-242 stable-cache-token-243 stable-cache-token-244 stable-cache-token-245 stable-cache-token-246 stable-cache-token-247 stable-cache-token-248 stable-cache-token-249 stable-cache-token-250 stable-cache-token-251 stable-cache-token-252 stable-cache-token-253 stable-cache-token-254 stable-cache-token-255 stable-cache-token-256 stable-cache-token-257 stable-cache-token-258 stable-cache-token-259 stable-cache-token-260 stable-cache-token-261 stable-cache-token-262 stable-cache-token-263 stable-cache-token-264 stable-cache-token-265 stable-cache-token-266 stable-cache-token-267 stable-cache-token-268 stable-cache-token-269 stable-cache-token-270 stable-cache-token-271 stable-cache-token-272 stable-cache-token-273 stable-cache-token-274 stable-cache-token-275 stable-cache-token-276 stable-cache-token-277 stable-cache-token-278 stable-cache-token-279 stable-cache-token-280 stable-cache-token-281 stable-cache-token-282 stable-cache-token-283 stable-cache-token-284 stable-cache-token-285 stable-cache-token-286 stable-cache-token-287 stable-cache-token-288 stable-cache-token-289 stable-cache-token-290 stable-cache-token-291 stable-cache-token-292 stable-cache-token-293 stable-cache-token-294 stable-cache-token-295 stable-cache-token-296 stable-cache-token-297 stable-cache-token-298 stable-cache-token-299 stable-cache-token-300 stable-cache-token-301 stable-cache-token-302 stable-cache-token-303 stable-cache-token-304 stable-cache-token-305 stable-cache-token-306 stable-cache-token-307 stable-cache-token-308 stable-cache-token-309 stable-cache-token-310 stable-cache-token-311 stable-cache-token-312 stable-cache-token-313 stable-cache-token-314 stable-cache-token-315 stable-cache-token-316 stable-cache-token-317 stable-cache-token-318 stable-cache-token-319 stable-cache-token-320 stable-cache-token-321 stable-cache-token-322 stable-cache-token-323 stable-cache-token-324 stable-cache-token-325 stable-cache-token-326 stable-cache-token-327 stable-cache-token-328 stable-cache-token-329 stable-cache-token-330 stable-cache-token-331 stable-cache-token-332 stable-cache-token-333 stable-cache-token-334 stable-cache-token-335 stable-cache-token-336 stable-cache-token-337 stable-cache-token-338 stable-cache-token-339 stable-cache-token-340 stable-cache-token-341 stable-cache-token-342 stable-cache-token-343 stable-cache-token-344 stable-cache-token-345 stable-cache-token-346 stable-cache-token-347 stable-cache-token-348 stable-cache-token-349 stable-cache-token-350 stable-cache-token-351 stable-cache-token-352 stable-cache-token-353 stable-cache-token-354 stable-cache-token-355 stable-cache-token-356 stable-cache-token-357 stable-cache-token-358 stable-cache-token-359 stable-cache-token-360 stable-cache-token-361 stable-cache-token-362 stable-cache-token-363 stable-cache-token-364 stable-cache-token-365 stable-cache-token-366 stable-cache-token-367 stable-cache-token-368 stable-cache-token-369 stable-cache-token-370 stable-cache-token-371 stable-cache-token-372 stable-cache-token-373 stable-cache-token-374 stable-cache-token-375 stable-cache-token-376 stable-cache-token-377 stable-cache-token-378 stable-cache-token-379 stable-cache-token-380 stable-cache-token-381 stable-cache-token-382 stable-cache-token-383 stable-cache-token-384 stable-cache-token-385 stable-cache-token-386 stable-cache-token-387 stable-cache-token-388 stable-cache-token-389 stable-cache-token-390 stable-cache-token-391 stable-cache-token-392 stable-cache-token-393 stable-cache-token-394 stable-cache-token-395 stable-cache-token-396 stable-cache-token-397 stable-cache-token-398 stable-cache-token-399 stable-cache-token-400 stable-cache-token-401 stable-cache-token-402 stable-cache-token-403 stable-cache-token-404 stable-cache-token-405 stable-cache-token-406 stable-cache-token-407 stable-cache-token-408 stable-cache-token-409 stable-cache-token-410 stable-cache-token-411 stable-cache-token-412 stable-cache-token-413 stable-cache-token-414 stable-cache-token-415 stable-cache-token-416 stable-cache-token-417 stable-cache-token-418 stable-cache-token-419 stable-cache-token-420 stable-cache-token-421 stable-cache-token-422 stable-cache-token-423 stable-cache-token-424 stable-cache-token-425 stable-cache-token-426 stable-cache-token-427 stable-cache-token-428 stable-cache-token-429 stable-cache-token-430 stable-cache-token-431 stable-cache-token-432 stable-cache-token-433 stable-cache-token-434 stable-cache-token-435 stable-cache-token-436 stable-cache-token-437 stable-cache-token-438 stable-cache-token-439 stable-cache-token-440 stable-cache-token-441 stable-cache-token-442 stable-cache-token-443 stable-cache-token-444 stable-cache-token-445 stable-cache-token-446 stable-cache-token-447 stable-cache-token-448 stable-cache-token-449 stable-cache-token-450 stable-cache-token-451 stable-cache-token-452 stable-cache-token-453 stable-cache-token-454 stable-cache-token-455 stable-cache-token-456 stable-cache-token-457 stable-cache-token-458 stable-cache-token-459 stable-cache-token-460 stable-cache-token-461 stable-cache-token-462 stable-cache-token-463 stable-cache-token-464 stable-cache-token-465 stable-cache-token-466 stable-cache-token-467 stable-cache-token-468 stable-cache-token-469 stable-cache-token-470 stable-cache-token-471 stable-cache-token-472 stable-cache-token-473 stable-cache-token-474 stable-cache-token-475 stable-cache-token-476 stable-cache-token-477 stable-cache-token-478 stable-cache-token-479 stable-cache-token-480 stable-cache-token-481 stable-cache-token-482 stable-cache-token-483 stable-cache-token-484 stable-cache-token-485 stable-cache-token-486 stable-cache-token-487 stable-cache-token-488 stable-cache-token-489 stable-cache-token-490 stable-cache-token-491 stable-cache-token-492 stable-cache-token-493 stable-cache-token-494 stable-cache-token-495 stable-cache-token-496 stable-cache-token-497 stable-cache-token-498 stable-cache-token-499 stable-cache-token-500 stable-cache-token-501 stable-cache-token-502 stable-cache-token-503 stable-cache-token-504 stable-cache-token-505 stable-cache-token-506 stable-cache-token-507 stable-cache-token-508 stable-cache-token-509 stable-cache-token-510 stable-cache-token-511 stable-cache-token-512 stable-cache-token-513 stable-cache-token-514 stable-cache-token-515 stable-cache-token-516 stable-cache-token-517 stable-cache-token-518 stable-cache-token-519 stable-cache-token-520 stable-cache-token-521 stable-cache-token-522 stable-cache-token-523 stable-cache-token-524 stable-cache-token-525 stable-cache-token-526 stable-cache-token-527 stable-cache-token-528 stable-cache-token-529 stable-cache-token-530 stable-cache-token-531 stable-cache-token-532 stable-cache-token-533 stable-cache-token-534 stable-cache-token-535 stable-cache-token-536 stable-cache-token-537 stable-cache-token-538 stable-cache-token-539 stable-cache-token-540 stable-cache-token-541 stable-cache-token-542 stable-cache-token-543 stable-cache-token-544 stable-cache-token-545 stable-cache-token-546 stable-cache-token-547 stable-cache-token-548 stable-cache-token-549 stable-cache-token-550 stable-cache-token-551 stable-cache-token-552 stable-cache-token-553 stable-cache-token-554 stable-cache-token-555 stable-cache-token-556 stable-cache-token-557 stable-cache-token-558 stable-cache-token-559 stable-cache-token-560 stable-cache-token-561 stable-cache-token-562 stable-cache-token-563 stable-cache-token-564 stable-cache-token-565 stable-cache-token-566 stable-cache-token-567 stable-cache-token-568 stable-cache-token-569 stable-cache-token-570 stable-cache-token-571 stable-cache-token-572 stable-cache-token-573 stable-cache-token-574 stable-cache-token-575 stable-cache-token-576 stable-cache-token-577 stable-cache-token-578 stable-cache-token-579 stable-cache-token-580 stable-cache-token-581 stable-cache-token-582 stable-cache-token-583 stable-cache-token-584 stable-cache-token-585 stable-cache-token-586 stable-cache-token-587 stable-cache-token-588 stable-cache-token-589 stable-cache-token-590 stable-cache-token-591 stable-cache-token-592 stable-cache-token-593 stable-cache-token-594 stable-cache-token-595 stable-cache-token-596 stable-cache-token-597 stable-cache-token-598 stable-cache-token-599 stable-cache-token-600 stable-cache-token-601 stable-cache-token-602 stable-cache-token-603 stable-cache-token-604 stable-cache-token-605 stable-cache-token-606 stable-cache-token-607 stable-cache-token-608 stable-cache-token-609 stable-cache-token-610 stable-cache-token-611 stable-cache-token-612 stable-cache-token-613 stable-cache-token-614 stable-cache-token-615 stable-cache-token-616 stable-cache-token-617 stable-cache-token-618 stable-cache-token-619 stable-cache-token-620 stable-cache-token-621 stable-cache-token-622 stable-cache-token-623 stable-cache-token-624 stable-cache-token-625 stable-cache-token-626 stable-cache-token-627 stable-cache-token-628 stable-cache-token-629 stable-cache-token-630 stable-cache-token-631 stable-cache-token-632 stable-cache-token-633 stable-cache-token-634 stable-cache-token-635 stable-cache-token-636 stable-cache-token-637 stable-cache-token-638 stable-cache-token-639 stable-cache-token-640 stable-cache-token-641 stable-cache-token-642 stable-cache-token-643 stable-cache-token-644 stable-cache-token-645 stable-cache-token-646 stable-cache-token-647 stable-cache-token-648 stable-cache-token-649 stable-cache-token-650 stable-cache-token-651 stable-cache-token-652 stable-cache-token-653 stable-cache-token-654 stable-cache-token-655 stable-cache-token-656 stable-cache-token-657 stable-cache-token-658 stable-cache-token-659 stable-cache-token-660 stable-cache-token-661 stable-cache-token-662 stable-cache-token-663 stable-cache-token-664 stable-cache-token-665 stable-cache-token-666 stable-cache-token-667 stable-cache-token-668 stable-cache-token-669 stable-cache-token-670 stable-cache-token-671 stable-cache-token-672 stable-cache-token-673 stable-cache-token-674 stable-cache-token-675 stable-cache-token-676 stable-cache-token-677 stable-cache-token-678 stable-cache-token-679 stable-cache-token-680 stable-cache-token-681 stable-cache-token-682 stable-cache-token-683 stable-cache-token-684 stable-cache-token-685 stable-cache-token-686 stable-cache-token-687 stable-cache-token-688 stable-cache-token-689 stable-cache-token-690 stable-cache-token-691 stable-cache-token-692 stable-cache-token-693 stable-cache-token-694 stable-cache-token-695 stable-cache-token-696 stable-cache-token-697 stable-cache-token-698 stable-cache-token-699 stable-cache-token-700 stable-cache-token-701 stable-cache-token-702 stable-cache-token-703 stable-cache-token-704 stable-cache-token-705 stable-cache-token-706 stable-cache-token-707 stable-cache-token-708 stable-cache-token-709 stable-cache-token-710 stable-cache-token-711 stable-cache-token-712 stable-cache-token-713 stable-cache-token-714 stable-cache-token-715 stable-cache-token-716 stable-cache-token-717 stable-cache-token-718 stable-cache-token-719 stable-cache-token-720 stable-cache-token-721 stable-cache-token-722 stable-cache-token-723 stable-cache-token-724 stable-cache-token-725 stable-cache-token-726 stable-cache-token-727 stable-cache-token-728 stable-cache-token-729 stable-cache-token-730 stable-cache-token-731 stable-cache-token-732 stable-cache-token-733 stable-cache-token-734 stable-cache-token-735 stable-cache-token-736 stable-cache-token-737 stable-cache-token-738 stable-cache-token-739 stable-cache-token-740 stable-cache-token-741 stable-cache-token-742 stable-cache-token-743 stable-cache-token-744 stable-cache-token-745 stable-cache-token-746 stable-cache-token-747 stable-cache-token-748 stable-cache-token-749 stable-cache-token-750 stable-cache-token-751 stable-cache-token-752 stable-cache-token-753 stable-cache-token-754 stable-cache-token-755 stable-cache-token-756 stable-cache-token-757 stable-cache-token-758 stable-cache-token-759 stable-cache-token-760 stable-cache-token-761 stable-cache-token-762 stable-cache-token-763 stable-cache-token-764 stable-cache-token-765 stable-cache-token-766 stable-cache-token-767 stable-cache-token-768 stable-cache-token-769 stable-cache-token-770 stable-cache-token-771 stable-cache-token-772 stable-cache-token-773 stable-cache-token-774 stable-cache-token-775 stable-cache-token-776 stable-cache-token-777 stable-cache-token-778 stable-cache-token-779 stable-cache-token-780 stable-cache-token-781 stable-cache-token-782 stable-cache-token-783 stable-cache-token-784 stable-cache-token-785 stable-cache-token-786 stable-cache-token-787 stable-cache-token-788 stable-cache-token-789 stable-cache-token-790 stable-cache-token-791 stable-cache-token-792 stable-cache-token-793 stable-cache-token-794 stable-cache-token-795 stable-cache-token-796 stable-cache-token-797 stable-cache-token-798 stable-cache-token-799 stable-cache-token-800 stable-cache-token-801 stable-cache-token-802 stable-cache-token-803 stable-cache-token-804 stable-cache-token-805 stable-cache-token-806 stable-cache-token-807 stable-cache-token-808 stable-cache-token-809 stable-cache-token-810 stable-cache-token-811 stable-cache-token-812 stable-cache-token-813 stable-cache-token-814 stable-cache-token-815 stable-cache-token-816 stable-cache-token-817 stable-cache-token-818 stable-cache-token-819 stable-cache-token-820 stable-cache-token-821 stable-cache-token-822 stable-cache-token-823 stable-cache-token-824 stable-cache-token-825 stable-cache-token-826 stable-cache-token-827 stable-cache-token-828 stable-cache-token-829 stable-cache-token-830 stable-cache-token-831 stable-cache-token-832 stable-cache-token-833 stable-cache-token-834 stable-cache-token-835 stable-cache-token-836 stable-cache-token-837 stable-cache-token-838 stable-cache-token-839 stable-cache-token-840 stable-cache-token-841 stable-cache-token-842 stable-cache-token-843 stable-cache-token-844 stable-cache-token-845 stable-cache-token-846 stable-cache-token-847 stable-cache-token-848 stable-cache-token-849 stable-cache-token-850 stable-cache-token-851 stable-cache-token-852 stable-cache-token-853 stable-cache-token-854 stable-cache-token-855 stable-cache-token-856 stable-cache-token-857 stable-cache-token-858 stable-cache-token-859 stable-cache-token-860 stable-cache-token-861 stable-cache-token-862 stable-cache-token-863 stable-cache-token-864 stable-cache-token-865 stable-cache-token-866 stable-cache-token-867 stable-cache-token-868 stable-cache-token-869 stable-cache-token-870 stable-cache-token-871 stable-cache-token-872 stable-cache-token-873 stable-cache-token-874 stable-cache-token-875 stable-cache-token-876 stable-cache-token-877 stable-cache-token-878 stable-cache-token-879 stable-cache-token-880 stable-cache-token-881 stable-cache-token-882 stable-cache-token-883 stable-cache-token-884 stable-cache-token-885 stable-cache-token-886 stable-cache-token-887 stable-cache-token-888 stable-cache-token-889 stable-cache-token-890 stable-cache-token-891 stable-cache-token-892 stable-cache-token-893 stable-cache-token-894 stable-cache-token-895 stable-cache-token-896 stable-cache-token-897 stable-cache-token-898 stable-cache-token-899 stable-cache-token-900 stable-cache-token-901 stable-cache-token-902 stable-cache-token-903 stable-cache-token-904 stable-cache-token-905 stable-cache-token-906 stable-cache-token-907 stable-cache-token-908 stable-cache-token-909 stable-cache-token-910 stable-cache-token-911 stable-cache-token-912 stable-cache-token-913 stable-cache-token-914 stable-cache-token-915 stable-cache-token-916 stable-cache-token-917 stable-cache-token-918 stable-cache-token-919 stable-cache-token-920 stable-cache-token-921 stable-cache-token-922 stable-cache-token-923 stable-cache-token-924 stable-cache-token-925 stable-cache-token-926 stable-cache-token-927 stable-cache-token-928 stable-cache-token-929 stable-cache-token-930 stable-cache-token-931 stable-cache-token-932 stable-cache-token-933 stable-cache-token-934 stable-cache-token-935 stable-cache-token-936 stable-cache-token-937 stable-cache-token-938 stable-cache-token-939 stable-cache-token-940 stable-cache-token-941 stable-cache-token-942 stable-cache-token-943 stable-cache-token-944 stable-cache-token-945 stable-cache-token-946 stable-cache-token-947 stable-cache-token-948 stable-cache-token-949 stable-cache-token-950 stable-cache-token-951 stable-cache-token-952 stable-cache-token-953 stable-cache-token-954 stable-cache-token-955 stable-cache-token-956 stable-cache-token-957 stable-cache-token-958 stable-cache-token-959 stable-cache-token-960 stable-cache-token-961 stable-cache-token-962 stable-cache-token-963 stable-cache-token-964 stable-cache-token-965 stable-cache-token-966 stable-cache-token-967 stable-cache-token-968 stable-cache-token-969 stable-cache-token-970 stable-cache-token-971 stable-cache-token-972 stable-cache-token-973 stable-cache-token-974 stable-cache-token-975 stable-cache-token-976 stable-cache-token-977 stable-cache-token-978 stable-cache-token-979 stable-cache-token-980 stable-cache-token-981 stable-cache-token-982 stable-cache-token-983 stable-cache-token-984 stable-cache-token-985 stable-cache-token-986 stable-cache-token-987 stable-cache-token-988 stable-cache-token-989 stable-cache-token-990 stable-cache-token-991 stable-cache-token-992 stable-cache-token-993 stable-cache-token-994 stable-cache-token-995 stable-cache-token-996 stable-cache-token-997 stable-cache-token-998 stable-cache-token-999 stable-cache-token-1000 stable-cache-token-1001 stable-cache-token-1002 stable-cache-token-1003 stable-cache-token-1004 stable-cache-token-1005 stable-cache-token-1006 stable-cache-token-1007 stable-cache-token-1008 stable-cache-token-1009 stable-cache-token-1010 stable-cache-token-1011 stable-cache-token-1012 stable-cache-token-1013 stable-cache-token-1014 stable-cache-token-1015 stable-cache-token-1016 stable-cache-token-1017 stable-cache-token-1018 stable-cache-token-1019 stable-cache-token-1020 stable-cache-token-1021 stable-cache-token-1022 stable-cache-token-1023 stable-cache-token-1024 stable-cache-token-1025 stable-cache-token-1026 stable-cache-token-1027 stable-cache-token-1028 stable-cache-token-1029 stable-cache-token-1030 stable-cache-token-1031 stable-cache-token-1032 stable-cache-token-1033 stable-cache-token-1034 stable-cache-token-1035 stable-cache-token-1036 stable-cache-token-1037 stable-cache-token-1038 stable-cache-token-1039 stable-cache-token-1040 stable-cache-token-1041 stable-cache-token-1042 stable-cache-token-1043 stable-cache-token-1044 stable-cache-token-1045 stable-cache-token-1046 stable-cache-token-1047 stable-cache-token-1048 stable-cache-token-1049 stable-cache-token-1050 stable-cache-token-1051 stable-cache-token-1052 stable-cache-token-1053 stable-cache-token-1054 stable-cache-token-1055 stable-cache-token-1056 stable-cache-token-1057 stable-cache-token-1058 stable-cache-token-1059 stable-cache-token-1060 stable-cache-token-1061 stable-cache-token-1062 stable-cache-token-1063 stable-cache-token-1064 stable-cache-token-1065 stable-cache-token-1066 stable-cache-token-1067 stable-cache-token-1068 stable-cache-token-1069 stable-cache-token-1070 stable-cache-token-1071 stable-cache-token-1072 stable-cache-token-1073 stable-cache-token-1074 stable-cache-token-1075 stable-cache-token-1076 stable-cache-token-1077 stable-cache-token-1078 stable-cache-token-1079 stable-cache-token-1080 stable-cache-token-1081 stable-cache-token-1082 stable-cache-token-1083 stable-cache-token-1084 stable-cache-token-1085 stable-cache-token-1086 stable-cache-token-1087 stable-cache-token-1088 stable-cache-token-1089 stable-cache-token-1090 stable-cache-token-1091 stable-cache-token-1092 stable-cache-token-1093 stable-cache-token-1094 stable-cache-token-1095 stable-cache-token-1096 stable-cache-token-1097 stable-cache-token-1098 stable-cache-token-1099 stable-cache-token-1100 stable-cache-token-1101 stable-cache-token-1102 stable-cache-token-1103 stable-cache-token-1104 stable-cache-token-1105 stable-cache-token-1106 stable-cache-token-1107 stable-cache-token-1108 stable-cache-token-1109 stable-cache-token-1110 stable-cache-token-1111 stable-cache-token-1112 stable-cache-token-1113 stable-cache-token-1114 stable-cache-token-1115 stable-cache-token-1116 stable-cache-token-1117 stable-cache-token-1118 stable-cache-token-1119 stable-cache-token-1120 stable-cache-token-1121 stable-cache-token-1122 stable-cache-token-1123 stable-cache-token-1124 stable-cache-token-1125 stable-cache-token-1126 stable-cache-token-1127 stable-cache-token-1128 stable-cache-token-1129 stable-cache-token-1130 stable-cache-token-1131 stable-cache-token-1132 stable-cache-token-1133 stable-cache-token-1134 stable-cache-token-1135 stable-cache-token-1136 stable-cache-token-1137 stable-cache-token-1138 stable-cache-token-1139 stable-cache-token-1140 stable-cache-token-1141 stable-cache-token-1142 stable-cache-token-1143 stable-cache-token-1144 stable-cache-token-1145 stable-cache-token-1146 stable-cache-token-1147 stable-cache-token-1148 stable-cache-token-1149 stable-cache-token-1150 stable-cache-token-1151 stable-cache-token-1152 stable-cache-token-1153 stable-cache-token-1154 stable-cache-token-1155 stable-cache-token-1156 stable-cache-token-1157 stable-cache-token-1158 stable-cache-token-1159 stable-cache-token-1160 stable-cache-token-1161 stable-cache-token-1162 stable-cache-token-1163 stable-cache-token-1164 stable-cache-token-1165 stable-cache-token-1166 stable-cache-token-1167 stable-cache-token-1168 stable-cache-token-1169 stable-cache-token-1170 stable-cache-token-1171 stable-cache-token-1172 stable-cache-token-1173 stable-cache-token-1174 stable-cache-token-1175 stable-cache-token-1176 stable-cache-token-1177 stable-cache-token-1178 stable-cache-token-1179 stable-cache-token-1180 stable-cache-token-1181 stable-cache-token-1182 stable-cache-token-1183 stable-cache-token-1184 stable-cache-token-1185 stable-cache-token-1186 stable-cache-token-1187 stable-cache-token-1188 stable-cache-token-1189 stable-cache-token-1190 stable-cache-token-1191 stable-cache-token-1192 stable-cache-token-1193 stable-cache-token-1194 stable-cache-token-1195 stable-cache-token-1196 stable-cache-token-1197 stable-cache-token-1198 stable-cache-token-1199 stable-cache-token-1200 stable-cache-token-1201 stable-cache-token-1202 stable-cache-token-1203 stable-cache-token-1204 stable-cache-token-1205 stable-cache-token-1206 stable-cache-token-1207 stable-cache-token-1208 stable-cache-token-1209 stable-cache-token-1210 stable-cache-token-1211 stable-cache-token-1212 stable-cache-token-1213 stable-cache-token-1214 stable-cache-token-1215 stable-cache-token-1216 stable-cache-token-1217 stable-cache-token-1218 stable-cache-token-1219 stable-cache-token-1220 stable-cache-token-1221 stable-cache-token-1222 stable-cache-token-1223 stable-cache-token-1224 stable-cache-token-1225 stable-cache-token-1226 stable-cache-token-1227 stable-cache-token-1228 stable-cache-token-1229 stable-cache-token-1230 stable-cache-token-1231 stable-cache-token-1232 stable-cache-token-1233 stable-cache-token-1234 stable-cache-token-1235 stable-cache-token-1236 stable-cache-token-1237 stable-cache-token-1238 stable-cache-token-1239 stable-cache-token-1240 stable-cache-token-1241 stable-cache-token-1242 stable-cache-token-1243 stable-cache-token-1244 stable-cache-token-1245 stable-cache-token-1246 stable-cache-token-1247 stable-cache-token-1248 stable-cache-token-1249 stable-cache-token-1250 stable-cache-token-1251 stable-cache-token-1252 stable-cache-token-1253 stable-cache-token-1254 stable-cache-token-1255 stable-cache-token-1256 stable-cache-token-1257 stable-cache-token-1258 stable-cache-token-1259 stable-cache-token-1260 stable-cache-token-1261 stable-cache-token-1262 stable-cache-token-1263 stable-cache-token-1264 stable-cache-token-1265 stable-cache-token-1266 stable-cache-token-1267 stable-cache-token-1268 stable-cache-token-1269 stable-cache-token-1270 stable-cache-token-1271 stable-cache-token-1272 stable-cache-token-1273 stable-cache-token-1274 stable-cache-token-1275 stable-cache-token-1276 stable-cache-token-1277 stable-cache-token-1278 stable-cache-token-1279 stable-cache-token-1280 stable-cache-token-1281 stable-cache-token-1282 stable-cache-token-1283 stable-cache-token-1284 stable-cache-token-1285 stable-cache-token-1286 stable-cache-token-1287 stable-cache-token-1288 stable-cache-token-1289 stable-cache-token-1290 stable-cache-token-1291 stable-cache-token-1292 stable-cache-token-1293 stable-cache-token-1294 stable-cache-token-1295 stable-cache-token-1296 stable-cache-token-1297 stable-cache-token-1298 stable-cache-token-1299 stable-cache-token-1300 stable-cache-token-1301 stable-cache-token-1302 stable-cache-token-1303 stable-cache-token-1304 stable-cache-token-1305 stable-cache-token-1306 stable-cache-token-1307 stable-cache-token-1308 stable-cache-token-1309 stable-cache-token-1310 stable-cache-token-1311 stable-cache-token-1312 stable-cache-token-1313 stable-cache-token-1314 stable-cache-token-1315 stable-cache-token-1316 stable-cache-token-1317 stable-cache-token-1318 stable-cache-token-1319 stable-cache-token-1320 stable-cache-token-1321 stable-cache-token-1322 stable-cache-token-1323 stable-cache-token-1324 stable-cache-token-1325 stable-cache-token-1326 stable-cache-token-1327 stable-cache-token-1328 stable-cache-token-1329 stable-cache-token-1330 stable-cache-token-1331 stable-cache-token-1332 stable-cache-token-1333 stable-cache-token-1334 stable-cache-token-1335 stable-cache-token-1336 stable-cache-token-1337 stable-cache-token-1338 stable-cache-token-1339 stable-cache-token-1340 stable-cache-token-1341 stable-cache-token-1342 stable-cache-token-1343 stable-cache-token-1344 stable-cache-token-1345 stable-cache-token-1346 stable-cache-token-1347 stable-cache-token-1348 stable-cache-token-1349 stable-cache-token-1350 stable-cache-token-1351 stable-cache-token-1352 stable-cache-token-1353 stable-cache-token-1354 stable-cache-token-1355 stable-cache-token-1356 stable-cache-token-1357 stable-cache-token-1358 stable-cache-token-1359 stable-cache-token-1360 stable-cache-token-1361 stable-cache-token-1362 stable-cache-token-1363 stable-cache-token-1364 stable-cache-token-1365 stable-cache-token-1366 stable-cache-token-1367 stable-cache-token-1368 stable-cache-token-1369 stable-cache-token-1370 stable-cache-token-1371 stable-cache-token-1372 stable-cache-token-1373 stable-cache-token-1374 stable-cache-token-1375 stable-cache-token-1376 stable-cache-token-1377 stable-cache-token-1378 stable-cache-token-1379 stable-cache-token-1380 stable-cache-token-1381 stable-cache-token-1382 stable-cache-token-1383 stable-cache-token-1384 stable-cache-token-1385 stable-cache-token-1386 stable-cache-token-1387 stable-cache-token-1388 stable-cache-token-1389 stable-cache-token-1390 stable-cache-token-1391 stable-cache-token-1392 stable-cache-token-1393 stable-cache-token-1394 stable-cache-token-1395 stable-cache-token-1396 stable-cache-token-1397 stable-cache-token-1398 stable-cache-token-1399 stable-cache-token-1400 stable-cache-token-1401 stable-cache-token-1402 stable-cache-token-1403 stable-cache-token-1404 stable-cache-token-1405 stable-cache-token-1406 stable-cache-token-1407 stable-cache-token-1408 stable-cache-token-1409 stable-cache-token-1410 stable-cache-token-1411 stable-cache-token-1412 stable-cache-token-1413 stable-cache-token-1414 stable-cache-token-1415 stable-cache-token-1416 stable-cache-token-1417 stable-cache-token-1418 stable-cache-token-1419 stable-cache-token-1420 stable-cache-token-1421 stable-cache-token-1422 stable-cache-token-1423 stable-cache-token-1424 stable-cache-token-1425 stable-cache-token-1426 stable-cache-token-1427 stable-cache-token-1428 stable-cache-token-1429 stable-cache-token-1430 stable-cache-token-1431 stable-cache-token-1432 stable-cache-token-1433 stable-cache-token-1434 stable-cache-token-1435 stable-cache-token-1436 stable-cache-token-1437 stable-cache-token-1438 stable-cache-token-1439 stable-cache-token-1440 stable-cache-token-1441 stable-cache-token-1442 stable-cache-token-1443 stable-cache-token-1444 stable-cache-token-1445 stable-cache-token-1446 stable-cache-token-1447 stable-cache-token-1448 stable-cache-token-1449 stable-cache-token-1450 stable-cache-token-1451 stable-cache-token-1452 stable-cache-token-1453 stable-cache-token-1454 stable-cache-token-1455 stable-cache-token-1456 stable-cache-token-1457 stable-cache-token-1458 stable-cache-token-1459 stable-cache-token-1460 stable-cache-token-1461 stable-cache-token-1462 stable-cache-token-1463 stable-cache-token-1464 stable-cache-token-1465 stable-cache-token-1466 stable-cache-token-1467 stable-cache-token-1468 stable-cache-token-1469 stable-cache-token-1470 stable-cache-token-1471 stable-cache-token-1472 stable-cache-token-1473 stable-cache-token-1474 stable-cache-token-1475 stable-cache-token-1476 stable-cache-token-1477 stable-cache-token-1478 stable-cache-token-1479 stable-cache-token-1480 stable-cache-token-1481 stable-cache-token-1482 stable-cache-token-1483 stable-cache-token-1484 stable-cache-token-1485 stable-cache-token-1486 stable-cache-token-1487 stable-cache-token-1488 stable-cache-token-1489 stable-cache-token-1490 stable-cache-token-1491 stable-cache-token-1492 stable-cache-token-1493 stable-cache-token-1494 stable-cache-token-1495 stable-cache-token-1496 stable-cache-token-1497 stable-cache-token-1498 stable-cache-token-1499 stable-cache-token-1500 stable-cache-token-1501 stable-cache-token-1502 stable-cache-token-1503 stable-cache-token-1504 stable-cache-token-1505 stable-cache-token-1506 stable-cache-token-1507 stable-cache-token-1508 stable-cache-token-1509 stable-cache-token-1510 stable-cache-token-1511 stable-cache-token-1512 stable-cache-token-1513 stable-cache-token-1514 stable-cache-token-1515 stable-cache-token-1516 stable-cache-token-1517 stable-cache-token-1518 stable-cache-token-1519 stable-cache-token-1520 stable-cache-token-1521 stable-cache-token-1522 stable-cache-token-1523 stable-cache-token-1524 stable-cache-token-1525 stable-cache-token-1526 stable-cache-token-1527 stable-cache-token-1528 stable-cache-token-1529 stable-cache-token-1530 stable-cache-token-1531 stable-cache-token-1532 stable-cache-token-1533 stable-cache-token-1534 stable-cache-token-1535 stable-cache-token-1536 stable-cache-token-1537 stable-cache-token-1538 stable-cache-token-1539 stable-cache-token-1540 stable-cache-token-1541 stable-cache-token-1542 stable-cache-token-1543 stable-cache-token-1544 stable-cache-token-1545 stable-cache-token-1546 stable-cache-token-1547 stable-cache-token-1548 stable-cache-token-1549 stable-cache-token-1550 stable-cache-token-1551 stable-cache-token-1552 stable-cache-token-1553 stable-cache-token-1554 stable-cache-token-1555 stable-cache-token-1556 stable-cache-token-1557 stable-cache-token-1558 stable-cache-token-1559 stable-cache-token-1560 stable-cache-token-1561 stable-cache-token-1562 stable-cache-token-1563 stable-cache-token-1564 stable-cache-token-1565 stable-cache-token-1566 stable-cache-token-1567 stable-cache-token-1568 stable-cache-token-1569 stable-cache-token-1570 stable-cache-token-1571 stable-cache-token-1572 stable-cache-token-1573 stable-cache-token-1574 stable-cache-token-1575 stable-cache-token-1576 stable-cache-token-1577 stable-cache-token-1578 stable-cache-token-1579 stable-cache-token-1580 stable-cache-token-1581 stable-cache-token-1582 stable-cache-token-1583 stable-cache-token-1584 stable-cache-token-1585 stable-cache-token-1586 stable-cache-token-1587 stable-cache-token-1588 stable-cache-token-1589 stable-cache-token-1590 stable-cache-token-1591 stable-cache-token-1592 stable-cache-token-1593 stable-cache-token-1594 stable-cache-token-1595 stable-cache-token-1596 stable-cache-token-1597 stable-cache-token-1598 stable-cache-token-1599\nUse this stable cache context only to exercise Bedrock prompt caching in this e2e scenario." + }, + { + "text": "Reply with exactly RAW." + } + ], + "role": "user" + } + ], + "schemaVersion": "messages-v1" + } + }, + "headers": {}, + "method": "POST", + "url": "https://bedrock-runtime.us-east-2.amazonaws.com/model/us.amazon.nova-lite-v1%3A0/invoke" + }, + "response": { + "body": { + "kind": "json", + "value": { + "output": { + "message": { + "content": [ + { + "text": "RAW" + } + ], + "role": "assistant" + } + }, + "stopReason": "end_turn", + "usage": { + "cacheReadInputTokenCount": 14921, + "cacheWriteInputTokenCount": 0, + "inputTokens": 6, + "outputTokens": 2, + "totalTokens": 14929 + } + } + }, + "headers": { + "connection": "keep-alive", + "content-length": "220", + "content-type": "application/json", + "date": "[REDACTED]", + "x-amzn-bedrock-cache-read-input-token-count": "14921", + "x-amzn-bedrock-cache-write-input-token-count": "0", + "x-amzn-bedrock-input-token-count": "6", + "x-amzn-bedrock-invocation-latency": "551", + "x-amzn-bedrock-output-token-count": "2", + "x-amzn-requestid": "[REDACTED]" + }, + "status": 200, + "statusText": "OK" + } + }, + { + "callIndex": 0, + "id": "0d28290b31e60524", + "matchKey": "POST bedrock-runtime.aws-region.amazonaws.com/model/amazon.titan-embed-text-v2%3A0/invoke", + "recordedAt": "2026-09-14T10:23:02.454Z", + "request": { + "body": { + "kind": "json", + "value": { + "dimensions": 256, + "inputText": "Embed this short Braintrust test sentence.", + "normalize": true + } + }, + "headers": {}, + "method": "POST", + "url": "https://bedrock-runtime.us-east-2.amazonaws.com/model/amazon.titan-embed-text-v2%3A0/invoke" + }, + "response": { + "body": { + "kind": "json", + "value": { + "embedding": [ + -0.12292258441448212, -0.07959577441215515, 0.08431042730808258, + -0.10088402777910233, 0.05975078046321869, 0.04403328150510788, + 0.024066895246505737, -0.04080509766936302, 0.02489643730223179, + -0.0795687884092331, 0.02351302281022072, 0.07398539036512375, + 0.04453573003411293, 0.08846784383058548, -0.10815097391605377, + 0.05521947890520096, -0.16448578238487244, 0.004347097594290972, + 0.07222197949886322, 0.0463339164853096, -0.07095752656459808, + 0.059447288513183594, 0.09525425732135773, 0.022096727043390274, + -0.017248446121811867, 0.048663217574357986, 0.023638635873794556, + -0.1004452258348465, 0.0075063626281917095, + -0.0059416936710476875, 0.027133848518133163, 0.06913647055625916, + -0.03559283912181854, -0.02739856019616127, 0.038251765072345734, + 0.06140438839793205, 0.1045832559466362, 0.014584042131900787, + -0.06437397003173828, -0.047034475952386856, 0.11060492694377899, + -0.038175467401742935, -0.0009408244513906538, 0.0793125107884407, + 0.007091590669006109, 0.018523111939430237, -0.06668557226657867, + 0.006105242297053337, 0.13666148483753204, -0.05786997452378273, + 0.014439462684094906, -0.044528983533382416, 0.024444574490189552, + -0.005831677932292223, 0.017307458445429802, 0.04847774654626846, + -0.02452550269663334, 0.06572577357292175, 0.0029202650766819715, + 0.007529967464506626, -0.1039273738861084, -0.03952137008309364, + -0.004398839082568884, 0.07740472257137299, 0.04621167480945587, + -0.17100746929645538, -0.04082975909113884, -0.0588807687163353, + -0.04599248990416527, -0.020512986928224564, -0.09188719093799591, + 0.00426911748945713, -0.000692129775416106, 0.004748803097754717, + 0.13025866448879242, 0.01573941856622696, 0.17338144779205322, + 0.003193407552316785, -0.029229626059532166, 0.024968940764665604, + -0.04834539070725441, -0.15418729186058044, -0.03690817579627037, + -0.06842221319675446, -0.10160229355096817, -0.09653398394584656, + 0.03875800594687462, 0.05118556693196297, 0.07510367035865784, + 0.03143162652850151, 0.02311595529317856, -0.015048659406602383, + 0.01710296981036663, -0.11315520852804184, 0.018481381237506866, + -0.0338292121887207, -0.058479487895965576, -0.036149658262729645, + -0.09464769810438156, 0.12142283469438553, 0.029261663556098938, + -0.004921624902635813, -0.04159269854426384, 0.08198323100805283, + 0.03196780011057854, 0.07600276172161102, -0.019774172455072403, + 0.02676628716289997, 0.007893314585089684, -0.08676154911518097, + 0.0862523540854454, 0.07928552478551865, -0.00991069059818983, + -0.14990806579589844, -0.023241829127073288, + -0.041857410222291946, 0.0588386170566082, -0.0015747849829494953, + -0.0013943759258836508, 0.057771336287260056, + -0.030339965596795082, -0.11415335536003113, 0.10198081284761429, + 0.0721922516822815, -0.05151677504181862, -0.023935591802001, + 0.08501140773296356, -0.19109611213207245, 0.018602358177304268, + 0.008469948545098305, 0.08628860116004944, -0.04712215065956116, + -0.12366276979446411, -0.056274112313985825, + -0.006444351747632027, -0.09390708804130554, 0.010054955258965492, + -0.025729354470968246, 0.032284777611494064, 0.020303597673773766, + 0.10665374249219894, 0.03838158771395683, 0.006953333038836718, + -0.0051728482358157635, 0.001733275013975799, + -0.09658793359994888, 0.10766538977622986, -0.022696124389767647, + -0.05594448745250702, 0.046537090092897415, -0.018275262787938118, + -0.018421949818730354, 0.08769562840461731, 0.052673522382974625, + -0.08586961776018143, -0.0235922671854496, -0.0772588774561882, + -0.014924732968211174, -0.05366745963692665, -0.05541253462433815, + 0.045496780425310135, 0.002971057780086994, -0.03147293999791145, + 0.002948084846138954, -0.021311864256858826, + -0.039724960923194885, 0.010902097448706627, 0.06243161857128143, + -0.026628030464053154, 0.11030576378107071, -0.1452612727880478, + 0.005462851375341415, 0.02862938679754734, -0.06087370216846466, + 0.010403022170066833, 0.10341817885637283, -0.033940497785806656, + 0.020730171352624893, 0.028514735400676727, 0.008983355015516281, + -0.10639071464538574, -0.00584490317851305, 0.0036663489881902933, + 0.020740289241075516, -0.044970735907554626, 0.04415973275899887, + 0.028332114219665527, 0.0067518483847379684, + -0.054336823523044586, 0.03544783592224121, 0.0672975555062294, + 0.01806703209877014, 0.04297527298331261, 0.05716772750020027, + -0.09931936860084534, 0.034363698214292526, 0.09905970841646194, + 0.02531627006828785, 0.0007899216143414378, -0.034105729311704636, + 0.11593195050954819, -0.04631452634930611, -0.015666916966438293, + 0.07577851414680481, 0.05583911016583443, -0.07117555290460587, + -0.01634724624454975, -0.02705981954932213, 0.10862980782985687, + -0.04369606822729111, -0.05634155496954918, -0.03384438529610634, + -0.02436027117073536, -0.01253589428961277, + -0.0010310289217159152, -0.03024463914334774, + -0.01715908572077751, 0.0645122304558754, 0.030614729970693588, + 0.08481582999229431, -0.0016961815999820828, 0.024990860372781754, + 0.03251070901751518, 0.08395930379629135, 0.10277410596609116, + -0.0586211159825325, 0.021863209083676338, -0.006060561165213585, + 0.08362884074449539, -0.0015376914525404572, 0.05520851910114288, + 0.007351244799792767, 0.009044053964316845, 0.05301115661859512, + -0.14014236629009247, -0.07494518160820007, -0.03454863652586937, + 0.005095289088785648, -0.011873271316289902, -0.06659957021474838, + -0.003867833875119686, -0.04873403161764145, -0.03669552505016327, + -0.10232392698526382, -0.027862651273608208, + -0.023979220539331436, -0.03040650114417076, 0.003351897466927767, + -0.08534693717956543, -0.044603168964385986, + -0.009662418626248837, -0.042438264936208725, 0.0830184817314148, + 0.013444683514535427, 0.06837331503629684, 0.0042699603363871574 + ], + "embeddingsByType": { + "float": [ + -0.12292258441448212, -0.07959577441215515, 0.08431042730808258, + -0.10088402777910233, 0.05975078046321869, 0.04403328150510788, + 0.024066895246505737, -0.04080509766936302, 0.02489643730223179, + -0.0795687884092331, 0.02351302281022072, 0.07398539036512375, + 0.04453573003411293, 0.08846784383058548, -0.10815097391605377, + 0.05521947890520096, -0.16448578238487244, 0.004347097594290972, + 0.07222197949886322, 0.0463339164853096, -0.07095752656459808, + 0.059447288513183594, 0.09525425732135773, 0.022096727043390274, + -0.017248446121811867, 0.048663217574357986, + 0.023638635873794556, -0.1004452258348465, + 0.0075063626281917095, -0.0059416936710476875, + 0.027133848518133163, 0.06913647055625916, -0.03559283912181854, + -0.02739856019616127, 0.038251765072345734, 0.06140438839793205, + 0.1045832559466362, 0.014584042131900787, -0.06437397003173828, + -0.047034475952386856, 0.11060492694377899, + -0.038175467401742935, -0.0009408244513906538, + 0.0793125107884407, 0.007091590669006109, 0.018523111939430237, + -0.06668557226657867, 0.006105242297053337, 0.13666148483753204, + -0.05786997452378273, 0.014439462684094906, + -0.044528983533382416, 0.024444574490189552, + -0.005831677932292223, 0.017307458445429802, + 0.04847774654626846, -0.02452550269663334, 0.06572577357292175, + 0.0029202650766819715, 0.007529967464506626, + -0.1039273738861084, -0.03952137008309364, + -0.004398839082568884, 0.07740472257137299, 0.04621167480945587, + -0.17100746929645538, -0.04082975909113884, -0.0588807687163353, + -0.04599248990416527, -0.020512986928224564, + -0.09188719093799591, 0.00426911748945713, + -0.000692129775416106, 0.004748803097754717, + 0.13025866448879242, 0.01573941856622696, 0.17338144779205322, + 0.003193407552316785, -0.029229626059532166, + 0.024968940764665604, -0.04834539070725441, + -0.15418729186058044, -0.03690817579627037, + -0.06842221319675446, -0.10160229355096817, + -0.09653398394584656, 0.03875800594687462, 0.05118556693196297, + 0.07510367035865784, 0.03143162652850151, 0.02311595529317856, + -0.015048659406602383, 0.01710296981036663, + -0.11315520852804184, 0.018481381237506866, -0.0338292121887207, + -0.058479487895965576, -0.036149658262729645, + -0.09464769810438156, 0.12142283469438553, 0.029261663556098938, + -0.004921624902635813, -0.04159269854426384, + 0.08198323100805283, 0.03196780011057854, 0.07600276172161102, + -0.019774172455072403, 0.02676628716289997, + 0.007893314585089684, -0.08676154911518097, 0.0862523540854454, + 0.07928552478551865, -0.00991069059818983, -0.14990806579589844, + -0.023241829127073288, -0.041857410222291946, + 0.0588386170566082, -0.0015747849829494953, + -0.0013943759258836508, 0.057771336287260056, + -0.030339965596795082, -0.11415335536003113, + 0.10198081284761429, 0.0721922516822815, -0.05151677504181862, + -0.023935591802001, 0.08501140773296356, -0.19109611213207245, + 0.018602358177304268, 0.008469948545098305, 0.08628860116004944, + -0.04712215065956116, -0.12366276979446411, + -0.056274112313985825, -0.006444351747632027, + -0.09390708804130554, 0.010054955258965492, + -0.025729354470968246, 0.032284777611494064, + 0.020303597673773766, 0.10665374249219894, 0.03838158771395683, + 0.006953333038836718, -0.0051728482358157635, + 0.001733275013975799, -0.09658793359994888, 0.10766538977622986, + -0.022696124389767647, -0.05594448745250702, + 0.046537090092897415, -0.018275262787938118, + -0.018421949818730354, 0.08769562840461731, + 0.052673522382974625, -0.08586961776018143, -0.0235922671854496, + -0.0772588774561882, -0.014924732968211174, + -0.05366745963692665, -0.05541253462433815, + 0.045496780425310135, 0.002971057780086994, + -0.03147293999791145, 0.002948084846138954, + -0.021311864256858826, -0.039724960923194885, + 0.010902097448706627, 0.06243161857128143, + -0.026628030464053154, 0.11030576378107071, -0.1452612727880478, + 0.005462851375341415, 0.02862938679754734, -0.06087370216846466, + 0.010403022170066833, 0.10341817885637283, + -0.033940497785806656, 0.020730171352624893, + 0.028514735400676727, 0.008983355015516281, + -0.10639071464538574, -0.00584490317851305, + 0.0036663489881902933, 0.020740289241075516, + -0.044970735907554626, 0.04415973275899887, + 0.028332114219665527, 0.0067518483847379684, + -0.054336823523044586, 0.03544783592224121, 0.0672975555062294, + 0.01806703209877014, 0.04297527298331261, 0.05716772750020027, + -0.09931936860084534, 0.034363698214292526, 0.09905970841646194, + 0.02531627006828785, 0.0007899216143414378, + -0.034105729311704636, 0.11593195050954819, + -0.04631452634930611, -0.015666916966438293, + 0.07577851414680481, 0.05583911016583443, -0.07117555290460587, + -0.01634724624454975, -0.02705981954932213, 0.10862980782985687, + -0.04369606822729111, -0.05634155496954918, + -0.03384438529610634, -0.02436027117073536, + -0.01253589428961277, -0.0010310289217159152, + -0.03024463914334774, -0.01715908572077751, 0.0645122304558754, + 0.030614729970693588, 0.08481582999229431, + -0.0016961815999820828, 0.024990860372781754, + 0.03251070901751518, 0.08395930379629135, 0.10277410596609116, + -0.0586211159825325, 0.021863209083676338, + -0.006060561165213585, 0.08362884074449539, + -0.0015376914525404572, 0.05520851910114288, + 0.007351244799792767, 0.009044053964316845, 0.05301115661859512, + -0.14014236629009247, -0.07494518160820007, + -0.03454863652586937, 0.005095289088785648, + -0.011873271316289902, -0.06659957021474838, + -0.003867833875119686, -0.04873403161764145, + -0.03669552505016327, -0.10232392698526382, + -0.027862651273608208, -0.023979220539331436, + -0.03040650114417076, 0.003351897466927767, + -0.08534693717956543, -0.044603168964385986, + -0.009662418626248837, -0.042438264936208725, + 0.0830184817314148, 0.013444683514535427, 0.06837331503629684, + 0.0042699603363871574 + ] + }, + "inputTextTokenCount": 9 + } + }, + "headers": { + "connection": "keep-alive", + "content-length": "10752", + "content-type": "application/json", + "date": "[REDACTED]", + "x-amzn-bedrock-input-token-count": "9", + "x-amzn-bedrock-invocation-latency": "245", + "x-amzn-requestid": "[REDACTED]" + }, + "status": 200, + "statusText": "OK" + } + }, + { + "callIndex": 0, + "id": "8ff069ff4c3fa2d6", + "matchKey": "POST bedrock-runtime.aws-region.amazonaws.com/model/us.cohere.embed-v4%3A0/invoke", + "recordedAt": "2026-09-14T10:23:02.656Z", + "request": { + "body": { + "kind": "json", + "value": { + "embedding_types": ["float"], + "input_type": "search_document", + "inputs": [ + { + "content": [ + { + "text": "A sailing ship in a storm", + "type": "text" + }, + { + "image_url": { + "url": "[REDACTED]" + }, + "type": "image_url" + } + ] + } + ], + "output_dimension": 256 + } + }, + "headers": {}, + "method": "POST", + "url": "https://bedrock-runtime.us-east-2.amazonaws.com/model/us.cohere.embed-v4%3A0/invoke" + }, + "response": { + "body": { + "kind": "json", + "value": { + "embeddings": { + "float": [ + [ + -0.056131896, 0.017211715, -0.048999116, -0.034578487, + 0.02868619, 0.033338007, -0.05985335, 0.09241605, + -0.017056653, 0.014188034, -0.090555325, 0.016901594, + 0.010544113, -0.035663914, -0.004496754, 0.0103115225, + 0.006318715, -0.055201534, 0.046208024, -0.00786932, + -0.06264444, 0.06264444, -0.0098075755, -0.046828266, + 0.036439214, 0.10171968, 0.037524637, 0.0034694783, + 0.093036294, -0.07597964, -0.10171968, -0.09799823, + -0.019615151, 0.023414133, 0.0061636544, 0.093036294, + 0.014188034, 0.014653216, 0.14203541, -0.03488861, + 0.046518147, -0.035663914, -0.057682503, -0.010233992, + 0.050239597, 0.081871934, 0.019537622, 0.05644202, + -0.09861847, -0.019770212, 0.049929477, 0.11722573, + 0.008605857, -0.0035470086, -0.05985335, -0.08621363, + -0.09923871, 0.13521275, -0.058612864, -0.010233992, + -0.022638831, 0.06822661, 0.11288404, -0.011241885, + 0.10047919, 0.069156975, 0.014808277, 0.005039466, + 0.0015796787, -0.012327309, -0.03147728, -0.08683387, + -0.05396105, -0.037214518, 0.049929477, 0.020157864, + -0.07380879, -0.05737238, -0.06791649, -0.00635748, + -0.05116996, 0.13397226, 0.03535379, -0.16250339, 0.08001121, + -0.05830274, 0.1079221, -0.069156975, 0.04155621, + -0.0025003504, -0.1079221, -0.05085984, -0.028065948, + 0.0005378661, -0.015350988, 0.013257672, -0.083732665, + 0.05396105, 0.015428519, 0.071017705, -0.078460604, + -0.011009295, 0.024964739, 0.09675775, 0.15692121, + -0.049309235, -0.10233992, -0.0036439213, 0.026980525, + -0.05830274, 0.008450797, -0.05148008, 0.14389613, + -0.14575686, 0.01612629, 0.02248377, -0.009768811, + -0.01938256, -0.081871934, -0.0044386066, -0.05085984, + 0.052410446, 0.0052720564, -0.0002652988, 0.004419224, + 0.0103115225, -0.02527486, -0.06667601, -0.06698613, + -0.05985335, -0.043106817, 0.08001121, 0.056131896, + -0.023104012, 0.0029073842, -0.030236796, 0.1197067, + 0.10358041, 0.04403718, -0.07287843, 0.036594275, + -0.010931765, 0.06481528, -0.11846621, 0.012172248, + 0.06388492, 0.09365653, 0.0014440008, -0.07815049, + 0.065125406, -0.042796694, 0.0042447806, -0.008644622, + 0.124668635, 0.02232871, 0.016746532, 0.021243287, 0.05737238, + 0.05085984, 0.083732665, 0.12342815, 0.033493064, 0.09117556, + -0.043416936, -0.14265566, -0.0062411847, 0.0056984727, + -0.03504367, -0.05489141, 0.033338007, 0.010776704, + -0.08745412, -0.018064547, 0.00012598664, 0.07380879, + 0.0032562702, -0.0006105507, -0.10482089, 0.018219607, + -0.20343935, -0.14141516, -0.004632432, -0.010001401, + 0.023104012, 0.122807905, 0.054581292, 0.04031573, 0.03814488, + -0.0753594, 0.045277663, -0.09179581, 0.008877213, + 0.054581292, 0.023879316, -0.05644202, 0.07597964, + -0.06450516, -0.008877213, -0.09799823, 0.00050879223, + -0.06388492, -0.001899491, -0.07597964, -0.0443473, + -0.04713839, -0.042486575, -0.013180141, -0.052100323, + 0.109162584, 0.030236796, 0.013722853, -0.016979123, + -0.035508852, -0.020467984, 0.01279249, -0.10606138, + 0.07070758, -0.052100323, 0.043106817, -0.06450516, + 0.0014536921, -0.036129095, -0.0035082435, -0.07225819, + -0.0041091028, -0.030857038, 0.048999116, 0.050239597, + 0.020467984, -0.007830555, -0.011009295, -0.090555325, + -0.09365653, -0.01287002, -0.018064547, -0.002694176, + -0.0148858065, -0.008722153, 0.020157864, -0.013955444, + -0.01620382, -0.0158937, -0.029616553, 0.07628976, + -0.024654618, -0.09117556, -0.13149129, -0.099858955, + -0.13149129, -0.006745131, -0.09551726, 0.02232871, + 0.043416936, 0.00969128, -0.010233992, -0.036594275 + ] + ] + }, + "id": "5efabb86-d216-480c-b06f-c2297afd5b33", + "inputs": [ + { + "content": [ + { + "text": "A sailing ship in a storm", + "type": "text" + }, + { + "image": { + "bit_depth": 32, + "format": "image/png", + "height": 140, + "width": 140 + }, + "type": "image_url" + } + ] + } + ], + "response_type": "embeddings_by_type", + "texts": [] + } + }, + "headers": { + "connection": "keep-alive", + "content-length": "3408", + "content-type": "application/json", + "date": "[REDACTED]", + "x-amzn-bedrock-input-token-count": "112", + "x-amzn-bedrock-invocation-latency": "178", + "x-amzn-requestid": "[REDACTED]" + }, + "status": 200, + "statusText": "OK" + } + }, + { + "callIndex": 0, + "id": "6b97f66ee2a0ebd7", + "matchKey": "POST bedrock-runtime.aws-region.amazonaws.com/model/us.amazon.nova-lite-v1%3A0/invoke-with-response-stream", + "recordedAt": "2026-09-14T10:23:03.071Z", + "request": { + "body": { + "kind": "json", + "value": { + "inferenceConfig": { + "maxTokens": 16, + "temperature": 0, + "topP": 0.9 + }, + "messages": [ + { + "content": [ + { + "cachePoint": { + "type": "default" + }, + "text": "BRAINTRUST_BEDROCK_CACHE_CONTEXT\nstable-cache-token-0 stable-cache-token-1 stable-cache-token-2 stable-cache-token-3 stable-cache-token-4 stable-cache-token-5 stable-cache-token-6 stable-cache-token-7 stable-cache-token-8 stable-cache-token-9 stable-cache-token-10 stable-cache-token-11 stable-cache-token-12 stable-cache-token-13 stable-cache-token-14 stable-cache-token-15 stable-cache-token-16 stable-cache-token-17 stable-cache-token-18 stable-cache-token-19 stable-cache-token-20 stable-cache-token-21 stable-cache-token-22 stable-cache-token-23 stable-cache-token-24 stable-cache-token-25 stable-cache-token-26 stable-cache-token-27 stable-cache-token-28 stable-cache-token-29 stable-cache-token-30 stable-cache-token-31 stable-cache-token-32 stable-cache-token-33 stable-cache-token-34 stable-cache-token-35 stable-cache-token-36 stable-cache-token-37 stable-cache-token-38 stable-cache-token-39 stable-cache-token-40 stable-cache-token-41 stable-cache-token-42 stable-cache-token-43 stable-cache-token-44 stable-cache-token-45 stable-cache-token-46 stable-cache-token-47 stable-cache-token-48 stable-cache-token-49 stable-cache-token-50 stable-cache-token-51 stable-cache-token-52 stable-cache-token-53 stable-cache-token-54 stable-cache-token-55 stable-cache-token-56 stable-cache-token-57 stable-cache-token-58 stable-cache-token-59 stable-cache-token-60 stable-cache-token-61 stable-cache-token-62 stable-cache-token-63 stable-cache-token-64 stable-cache-token-65 stable-cache-token-66 stable-cache-token-67 stable-cache-token-68 stable-cache-token-69 stable-cache-token-70 stable-cache-token-71 stable-cache-token-72 stable-cache-token-73 stable-cache-token-74 stable-cache-token-75 stable-cache-token-76 stable-cache-token-77 stable-cache-token-78 stable-cache-token-79 stable-cache-token-80 stable-cache-token-81 stable-cache-token-82 stable-cache-token-83 stable-cache-token-84 stable-cache-token-85 stable-cache-token-86 stable-cache-token-87 stable-cache-token-88 stable-cache-token-89 stable-cache-token-90 stable-cache-token-91 stable-cache-token-92 stable-cache-token-93 stable-cache-token-94 stable-cache-token-95 stable-cache-token-96 stable-cache-token-97 stable-cache-token-98 stable-cache-token-99 stable-cache-token-100 stable-cache-token-101 stable-cache-token-102 stable-cache-token-103 stable-cache-token-104 stable-cache-token-105 stable-cache-token-106 stable-cache-token-107 stable-cache-token-108 stable-cache-token-109 stable-cache-token-110 stable-cache-token-111 stable-cache-token-112 stable-cache-token-113 stable-cache-token-114 stable-cache-token-115 stable-cache-token-116 stable-cache-token-117 stable-cache-token-118 stable-cache-token-119 stable-cache-token-120 stable-cache-token-121 stable-cache-token-122 stable-cache-token-123 stable-cache-token-124 stable-cache-token-125 stable-cache-token-126 stable-cache-token-127 stable-cache-token-128 stable-cache-token-129 stable-cache-token-130 stable-cache-token-131 stable-cache-token-132 stable-cache-token-133 stable-cache-token-134 stable-cache-token-135 stable-cache-token-136 stable-cache-token-137 stable-cache-token-138 stable-cache-token-139 stable-cache-token-140 stable-cache-token-141 stable-cache-token-142 stable-cache-token-143 stable-cache-token-144 stable-cache-token-145 stable-cache-token-146 stable-cache-token-147 stable-cache-token-148 stable-cache-token-149 stable-cache-token-150 stable-cache-token-151 stable-cache-token-152 stable-cache-token-153 stable-cache-token-154 stable-cache-token-155 stable-cache-token-156 stable-cache-token-157 stable-cache-token-158 stable-cache-token-159 stable-cache-token-160 stable-cache-token-161 stable-cache-token-162 stable-cache-token-163 stable-cache-token-164 stable-cache-token-165 stable-cache-token-166 stable-cache-token-167 stable-cache-token-168 stable-cache-token-169 stable-cache-token-170 stable-cache-token-171 stable-cache-token-172 stable-cache-token-173 stable-cache-token-174 stable-cache-token-175 stable-cache-token-176 stable-cache-token-177 stable-cache-token-178 stable-cache-token-179 stable-cache-token-180 stable-cache-token-181 stable-cache-token-182 stable-cache-token-183 stable-cache-token-184 stable-cache-token-185 stable-cache-token-186 stable-cache-token-187 stable-cache-token-188 stable-cache-token-189 stable-cache-token-190 stable-cache-token-191 stable-cache-token-192 stable-cache-token-193 stable-cache-token-194 stable-cache-token-195 stable-cache-token-196 stable-cache-token-197 stable-cache-token-198 stable-cache-token-199 stable-cache-token-200 stable-cache-token-201 stable-cache-token-202 stable-cache-token-203 stable-cache-token-204 stable-cache-token-205 stable-cache-token-206 stable-cache-token-207 stable-cache-token-208 stable-cache-token-209 stable-cache-token-210 stable-cache-token-211 stable-cache-token-212 stable-cache-token-213 stable-cache-token-214 stable-cache-token-215 stable-cache-token-216 stable-cache-token-217 stable-cache-token-218 stable-cache-token-219 stable-cache-token-220 stable-cache-token-221 stable-cache-token-222 stable-cache-token-223 stable-cache-token-224 stable-cache-token-225 stable-cache-token-226 stable-cache-token-227 stable-cache-token-228 stable-cache-token-229 stable-cache-token-230 stable-cache-token-231 stable-cache-token-232 stable-cache-token-233 stable-cache-token-234 stable-cache-token-235 stable-cache-token-236 stable-cache-token-237 stable-cache-token-238 stable-cache-token-239 stable-cache-token-240 stable-cache-token-241 stable-cache-token-242 stable-cache-token-243 stable-cache-token-244 stable-cache-token-245 stable-cache-token-246 stable-cache-token-247 stable-cache-token-248 stable-cache-token-249 stable-cache-token-250 stable-cache-token-251 stable-cache-token-252 stable-cache-token-253 stable-cache-token-254 stable-cache-token-255 stable-cache-token-256 stable-cache-token-257 stable-cache-token-258 stable-cache-token-259 stable-cache-token-260 stable-cache-token-261 stable-cache-token-262 stable-cache-token-263 stable-cache-token-264 stable-cache-token-265 stable-cache-token-266 stable-cache-token-267 stable-cache-token-268 stable-cache-token-269 stable-cache-token-270 stable-cache-token-271 stable-cache-token-272 stable-cache-token-273 stable-cache-token-274 stable-cache-token-275 stable-cache-token-276 stable-cache-token-277 stable-cache-token-278 stable-cache-token-279 stable-cache-token-280 stable-cache-token-281 stable-cache-token-282 stable-cache-token-283 stable-cache-token-284 stable-cache-token-285 stable-cache-token-286 stable-cache-token-287 stable-cache-token-288 stable-cache-token-289 stable-cache-token-290 stable-cache-token-291 stable-cache-token-292 stable-cache-token-293 stable-cache-token-294 stable-cache-token-295 stable-cache-token-296 stable-cache-token-297 stable-cache-token-298 stable-cache-token-299 stable-cache-token-300 stable-cache-token-301 stable-cache-token-302 stable-cache-token-303 stable-cache-token-304 stable-cache-token-305 stable-cache-token-306 stable-cache-token-307 stable-cache-token-308 stable-cache-token-309 stable-cache-token-310 stable-cache-token-311 stable-cache-token-312 stable-cache-token-313 stable-cache-token-314 stable-cache-token-315 stable-cache-token-316 stable-cache-token-317 stable-cache-token-318 stable-cache-token-319 stable-cache-token-320 stable-cache-token-321 stable-cache-token-322 stable-cache-token-323 stable-cache-token-324 stable-cache-token-325 stable-cache-token-326 stable-cache-token-327 stable-cache-token-328 stable-cache-token-329 stable-cache-token-330 stable-cache-token-331 stable-cache-token-332 stable-cache-token-333 stable-cache-token-334 stable-cache-token-335 stable-cache-token-336 stable-cache-token-337 stable-cache-token-338 stable-cache-token-339 stable-cache-token-340 stable-cache-token-341 stable-cache-token-342 stable-cache-token-343 stable-cache-token-344 stable-cache-token-345 stable-cache-token-346 stable-cache-token-347 stable-cache-token-348 stable-cache-token-349 stable-cache-token-350 stable-cache-token-351 stable-cache-token-352 stable-cache-token-353 stable-cache-token-354 stable-cache-token-355 stable-cache-token-356 stable-cache-token-357 stable-cache-token-358 stable-cache-token-359 stable-cache-token-360 stable-cache-token-361 stable-cache-token-362 stable-cache-token-363 stable-cache-token-364 stable-cache-token-365 stable-cache-token-366 stable-cache-token-367 stable-cache-token-368 stable-cache-token-369 stable-cache-token-370 stable-cache-token-371 stable-cache-token-372 stable-cache-token-373 stable-cache-token-374 stable-cache-token-375 stable-cache-token-376 stable-cache-token-377 stable-cache-token-378 stable-cache-token-379 stable-cache-token-380 stable-cache-token-381 stable-cache-token-382 stable-cache-token-383 stable-cache-token-384 stable-cache-token-385 stable-cache-token-386 stable-cache-token-387 stable-cache-token-388 stable-cache-token-389 stable-cache-token-390 stable-cache-token-391 stable-cache-token-392 stable-cache-token-393 stable-cache-token-394 stable-cache-token-395 stable-cache-token-396 stable-cache-token-397 stable-cache-token-398 stable-cache-token-399 stable-cache-token-400 stable-cache-token-401 stable-cache-token-402 stable-cache-token-403 stable-cache-token-404 stable-cache-token-405 stable-cache-token-406 stable-cache-token-407 stable-cache-token-408 stable-cache-token-409 stable-cache-token-410 stable-cache-token-411 stable-cache-token-412 stable-cache-token-413 stable-cache-token-414 stable-cache-token-415 stable-cache-token-416 stable-cache-token-417 stable-cache-token-418 stable-cache-token-419 stable-cache-token-420 stable-cache-token-421 stable-cache-token-422 stable-cache-token-423 stable-cache-token-424 stable-cache-token-425 stable-cache-token-426 stable-cache-token-427 stable-cache-token-428 stable-cache-token-429 stable-cache-token-430 stable-cache-token-431 stable-cache-token-432 stable-cache-token-433 stable-cache-token-434 stable-cache-token-435 stable-cache-token-436 stable-cache-token-437 stable-cache-token-438 stable-cache-token-439 stable-cache-token-440 stable-cache-token-441 stable-cache-token-442 stable-cache-token-443 stable-cache-token-444 stable-cache-token-445 stable-cache-token-446 stable-cache-token-447 stable-cache-token-448 stable-cache-token-449 stable-cache-token-450 stable-cache-token-451 stable-cache-token-452 stable-cache-token-453 stable-cache-token-454 stable-cache-token-455 stable-cache-token-456 stable-cache-token-457 stable-cache-token-458 stable-cache-token-459 stable-cache-token-460 stable-cache-token-461 stable-cache-token-462 stable-cache-token-463 stable-cache-token-464 stable-cache-token-465 stable-cache-token-466 stable-cache-token-467 stable-cache-token-468 stable-cache-token-469 stable-cache-token-470 stable-cache-token-471 stable-cache-token-472 stable-cache-token-473 stable-cache-token-474 stable-cache-token-475 stable-cache-token-476 stable-cache-token-477 stable-cache-token-478 stable-cache-token-479 stable-cache-token-480 stable-cache-token-481 stable-cache-token-482 stable-cache-token-483 stable-cache-token-484 stable-cache-token-485 stable-cache-token-486 stable-cache-token-487 stable-cache-token-488 stable-cache-token-489 stable-cache-token-490 stable-cache-token-491 stable-cache-token-492 stable-cache-token-493 stable-cache-token-494 stable-cache-token-495 stable-cache-token-496 stable-cache-token-497 stable-cache-token-498 stable-cache-token-499 stable-cache-token-500 stable-cache-token-501 stable-cache-token-502 stable-cache-token-503 stable-cache-token-504 stable-cache-token-505 stable-cache-token-506 stable-cache-token-507 stable-cache-token-508 stable-cache-token-509 stable-cache-token-510 stable-cache-token-511 stable-cache-token-512 stable-cache-token-513 stable-cache-token-514 stable-cache-token-515 stable-cache-token-516 stable-cache-token-517 stable-cache-token-518 stable-cache-token-519 stable-cache-token-520 stable-cache-token-521 stable-cache-token-522 stable-cache-token-523 stable-cache-token-524 stable-cache-token-525 stable-cache-token-526 stable-cache-token-527 stable-cache-token-528 stable-cache-token-529 stable-cache-token-530 stable-cache-token-531 stable-cache-token-532 stable-cache-token-533 stable-cache-token-534 stable-cache-token-535 stable-cache-token-536 stable-cache-token-537 stable-cache-token-538 stable-cache-token-539 stable-cache-token-540 stable-cache-token-541 stable-cache-token-542 stable-cache-token-543 stable-cache-token-544 stable-cache-token-545 stable-cache-token-546 stable-cache-token-547 stable-cache-token-548 stable-cache-token-549 stable-cache-token-550 stable-cache-token-551 stable-cache-token-552 stable-cache-token-553 stable-cache-token-554 stable-cache-token-555 stable-cache-token-556 stable-cache-token-557 stable-cache-token-558 stable-cache-token-559 stable-cache-token-560 stable-cache-token-561 stable-cache-token-562 stable-cache-token-563 stable-cache-token-564 stable-cache-token-565 stable-cache-token-566 stable-cache-token-567 stable-cache-token-568 stable-cache-token-569 stable-cache-token-570 stable-cache-token-571 stable-cache-token-572 stable-cache-token-573 stable-cache-token-574 stable-cache-token-575 stable-cache-token-576 stable-cache-token-577 stable-cache-token-578 stable-cache-token-579 stable-cache-token-580 stable-cache-token-581 stable-cache-token-582 stable-cache-token-583 stable-cache-token-584 stable-cache-token-585 stable-cache-token-586 stable-cache-token-587 stable-cache-token-588 stable-cache-token-589 stable-cache-token-590 stable-cache-token-591 stable-cache-token-592 stable-cache-token-593 stable-cache-token-594 stable-cache-token-595 stable-cache-token-596 stable-cache-token-597 stable-cache-token-598 stable-cache-token-599 stable-cache-token-600 stable-cache-token-601 stable-cache-token-602 stable-cache-token-603 stable-cache-token-604 stable-cache-token-605 stable-cache-token-606 stable-cache-token-607 stable-cache-token-608 stable-cache-token-609 stable-cache-token-610 stable-cache-token-611 stable-cache-token-612 stable-cache-token-613 stable-cache-token-614 stable-cache-token-615 stable-cache-token-616 stable-cache-token-617 stable-cache-token-618 stable-cache-token-619 stable-cache-token-620 stable-cache-token-621 stable-cache-token-622 stable-cache-token-623 stable-cache-token-624 stable-cache-token-625 stable-cache-token-626 stable-cache-token-627 stable-cache-token-628 stable-cache-token-629 stable-cache-token-630 stable-cache-token-631 stable-cache-token-632 stable-cache-token-633 stable-cache-token-634 stable-cache-token-635 stable-cache-token-636 stable-cache-token-637 stable-cache-token-638 stable-cache-token-639 stable-cache-token-640 stable-cache-token-641 stable-cache-token-642 stable-cache-token-643 stable-cache-token-644 stable-cache-token-645 stable-cache-token-646 stable-cache-token-647 stable-cache-token-648 stable-cache-token-649 stable-cache-token-650 stable-cache-token-651 stable-cache-token-652 stable-cache-token-653 stable-cache-token-654 stable-cache-token-655 stable-cache-token-656 stable-cache-token-657 stable-cache-token-658 stable-cache-token-659 stable-cache-token-660 stable-cache-token-661 stable-cache-token-662 stable-cache-token-663 stable-cache-token-664 stable-cache-token-665 stable-cache-token-666 stable-cache-token-667 stable-cache-token-668 stable-cache-token-669 stable-cache-token-670 stable-cache-token-671 stable-cache-token-672 stable-cache-token-673 stable-cache-token-674 stable-cache-token-675 stable-cache-token-676 stable-cache-token-677 stable-cache-token-678 stable-cache-token-679 stable-cache-token-680 stable-cache-token-681 stable-cache-token-682 stable-cache-token-683 stable-cache-token-684 stable-cache-token-685 stable-cache-token-686 stable-cache-token-687 stable-cache-token-688 stable-cache-token-689 stable-cache-token-690 stable-cache-token-691 stable-cache-token-692 stable-cache-token-693 stable-cache-token-694 stable-cache-token-695 stable-cache-token-696 stable-cache-token-697 stable-cache-token-698 stable-cache-token-699 stable-cache-token-700 stable-cache-token-701 stable-cache-token-702 stable-cache-token-703 stable-cache-token-704 stable-cache-token-705 stable-cache-token-706 stable-cache-token-707 stable-cache-token-708 stable-cache-token-709 stable-cache-token-710 stable-cache-token-711 stable-cache-token-712 stable-cache-token-713 stable-cache-token-714 stable-cache-token-715 stable-cache-token-716 stable-cache-token-717 stable-cache-token-718 stable-cache-token-719 stable-cache-token-720 stable-cache-token-721 stable-cache-token-722 stable-cache-token-723 stable-cache-token-724 stable-cache-token-725 stable-cache-token-726 stable-cache-token-727 stable-cache-token-728 stable-cache-token-729 stable-cache-token-730 stable-cache-token-731 stable-cache-token-732 stable-cache-token-733 stable-cache-token-734 stable-cache-token-735 stable-cache-token-736 stable-cache-token-737 stable-cache-token-738 stable-cache-token-739 stable-cache-token-740 stable-cache-token-741 stable-cache-token-742 stable-cache-token-743 stable-cache-token-744 stable-cache-token-745 stable-cache-token-746 stable-cache-token-747 stable-cache-token-748 stable-cache-token-749 stable-cache-token-750 stable-cache-token-751 stable-cache-token-752 stable-cache-token-753 stable-cache-token-754 stable-cache-token-755 stable-cache-token-756 stable-cache-token-757 stable-cache-token-758 stable-cache-token-759 stable-cache-token-760 stable-cache-token-761 stable-cache-token-762 stable-cache-token-763 stable-cache-token-764 stable-cache-token-765 stable-cache-token-766 stable-cache-token-767 stable-cache-token-768 stable-cache-token-769 stable-cache-token-770 stable-cache-token-771 stable-cache-token-772 stable-cache-token-773 stable-cache-token-774 stable-cache-token-775 stable-cache-token-776 stable-cache-token-777 stable-cache-token-778 stable-cache-token-779 stable-cache-token-780 stable-cache-token-781 stable-cache-token-782 stable-cache-token-783 stable-cache-token-784 stable-cache-token-785 stable-cache-token-786 stable-cache-token-787 stable-cache-token-788 stable-cache-token-789 stable-cache-token-790 stable-cache-token-791 stable-cache-token-792 stable-cache-token-793 stable-cache-token-794 stable-cache-token-795 stable-cache-token-796 stable-cache-token-797 stable-cache-token-798 stable-cache-token-799 stable-cache-token-800 stable-cache-token-801 stable-cache-token-802 stable-cache-token-803 stable-cache-token-804 stable-cache-token-805 stable-cache-token-806 stable-cache-token-807 stable-cache-token-808 stable-cache-token-809 stable-cache-token-810 stable-cache-token-811 stable-cache-token-812 stable-cache-token-813 stable-cache-token-814 stable-cache-token-815 stable-cache-token-816 stable-cache-token-817 stable-cache-token-818 stable-cache-token-819 stable-cache-token-820 stable-cache-token-821 stable-cache-token-822 stable-cache-token-823 stable-cache-token-824 stable-cache-token-825 stable-cache-token-826 stable-cache-token-827 stable-cache-token-828 stable-cache-token-829 stable-cache-token-830 stable-cache-token-831 stable-cache-token-832 stable-cache-token-833 stable-cache-token-834 stable-cache-token-835 stable-cache-token-836 stable-cache-token-837 stable-cache-token-838 stable-cache-token-839 stable-cache-token-840 stable-cache-token-841 stable-cache-token-842 stable-cache-token-843 stable-cache-token-844 stable-cache-token-845 stable-cache-token-846 stable-cache-token-847 stable-cache-token-848 stable-cache-token-849 stable-cache-token-850 stable-cache-token-851 stable-cache-token-852 stable-cache-token-853 stable-cache-token-854 stable-cache-token-855 stable-cache-token-856 stable-cache-token-857 stable-cache-token-858 stable-cache-token-859 stable-cache-token-860 stable-cache-token-861 stable-cache-token-862 stable-cache-token-863 stable-cache-token-864 stable-cache-token-865 stable-cache-token-866 stable-cache-token-867 stable-cache-token-868 stable-cache-token-869 stable-cache-token-870 stable-cache-token-871 stable-cache-token-872 stable-cache-token-873 stable-cache-token-874 stable-cache-token-875 stable-cache-token-876 stable-cache-token-877 stable-cache-token-878 stable-cache-token-879 stable-cache-token-880 stable-cache-token-881 stable-cache-token-882 stable-cache-token-883 stable-cache-token-884 stable-cache-token-885 stable-cache-token-886 stable-cache-token-887 stable-cache-token-888 stable-cache-token-889 stable-cache-token-890 stable-cache-token-891 stable-cache-token-892 stable-cache-token-893 stable-cache-token-894 stable-cache-token-895 stable-cache-token-896 stable-cache-token-897 stable-cache-token-898 stable-cache-token-899 stable-cache-token-900 stable-cache-token-901 stable-cache-token-902 stable-cache-token-903 stable-cache-token-904 stable-cache-token-905 stable-cache-token-906 stable-cache-token-907 stable-cache-token-908 stable-cache-token-909 stable-cache-token-910 stable-cache-token-911 stable-cache-token-912 stable-cache-token-913 stable-cache-token-914 stable-cache-token-915 stable-cache-token-916 stable-cache-token-917 stable-cache-token-918 stable-cache-token-919 stable-cache-token-920 stable-cache-token-921 stable-cache-token-922 stable-cache-token-923 stable-cache-token-924 stable-cache-token-925 stable-cache-token-926 stable-cache-token-927 stable-cache-token-928 stable-cache-token-929 stable-cache-token-930 stable-cache-token-931 stable-cache-token-932 stable-cache-token-933 stable-cache-token-934 stable-cache-token-935 stable-cache-token-936 stable-cache-token-937 stable-cache-token-938 stable-cache-token-939 stable-cache-token-940 stable-cache-token-941 stable-cache-token-942 stable-cache-token-943 stable-cache-token-944 stable-cache-token-945 stable-cache-token-946 stable-cache-token-947 stable-cache-token-948 stable-cache-token-949 stable-cache-token-950 stable-cache-token-951 stable-cache-token-952 stable-cache-token-953 stable-cache-token-954 stable-cache-token-955 stable-cache-token-956 stable-cache-token-957 stable-cache-token-958 stable-cache-token-959 stable-cache-token-960 stable-cache-token-961 stable-cache-token-962 stable-cache-token-963 stable-cache-token-964 stable-cache-token-965 stable-cache-token-966 stable-cache-token-967 stable-cache-token-968 stable-cache-token-969 stable-cache-token-970 stable-cache-token-971 stable-cache-token-972 stable-cache-token-973 stable-cache-token-974 stable-cache-token-975 stable-cache-token-976 stable-cache-token-977 stable-cache-token-978 stable-cache-token-979 stable-cache-token-980 stable-cache-token-981 stable-cache-token-982 stable-cache-token-983 stable-cache-token-984 stable-cache-token-985 stable-cache-token-986 stable-cache-token-987 stable-cache-token-988 stable-cache-token-989 stable-cache-token-990 stable-cache-token-991 stable-cache-token-992 stable-cache-token-993 stable-cache-token-994 stable-cache-token-995 stable-cache-token-996 stable-cache-token-997 stable-cache-token-998 stable-cache-token-999 stable-cache-token-1000 stable-cache-token-1001 stable-cache-token-1002 stable-cache-token-1003 stable-cache-token-1004 stable-cache-token-1005 stable-cache-token-1006 stable-cache-token-1007 stable-cache-token-1008 stable-cache-token-1009 stable-cache-token-1010 stable-cache-token-1011 stable-cache-token-1012 stable-cache-token-1013 stable-cache-token-1014 stable-cache-token-1015 stable-cache-token-1016 stable-cache-token-1017 stable-cache-token-1018 stable-cache-token-1019 stable-cache-token-1020 stable-cache-token-1021 stable-cache-token-1022 stable-cache-token-1023 stable-cache-token-1024 stable-cache-token-1025 stable-cache-token-1026 stable-cache-token-1027 stable-cache-token-1028 stable-cache-token-1029 stable-cache-token-1030 stable-cache-token-1031 stable-cache-token-1032 stable-cache-token-1033 stable-cache-token-1034 stable-cache-token-1035 stable-cache-token-1036 stable-cache-token-1037 stable-cache-token-1038 stable-cache-token-1039 stable-cache-token-1040 stable-cache-token-1041 stable-cache-token-1042 stable-cache-token-1043 stable-cache-token-1044 stable-cache-token-1045 stable-cache-token-1046 stable-cache-token-1047 stable-cache-token-1048 stable-cache-token-1049 stable-cache-token-1050 stable-cache-token-1051 stable-cache-token-1052 stable-cache-token-1053 stable-cache-token-1054 stable-cache-token-1055 stable-cache-token-1056 stable-cache-token-1057 stable-cache-token-1058 stable-cache-token-1059 stable-cache-token-1060 stable-cache-token-1061 stable-cache-token-1062 stable-cache-token-1063 stable-cache-token-1064 stable-cache-token-1065 stable-cache-token-1066 stable-cache-token-1067 stable-cache-token-1068 stable-cache-token-1069 stable-cache-token-1070 stable-cache-token-1071 stable-cache-token-1072 stable-cache-token-1073 stable-cache-token-1074 stable-cache-token-1075 stable-cache-token-1076 stable-cache-token-1077 stable-cache-token-1078 stable-cache-token-1079 stable-cache-token-1080 stable-cache-token-1081 stable-cache-token-1082 stable-cache-token-1083 stable-cache-token-1084 stable-cache-token-1085 stable-cache-token-1086 stable-cache-token-1087 stable-cache-token-1088 stable-cache-token-1089 stable-cache-token-1090 stable-cache-token-1091 stable-cache-token-1092 stable-cache-token-1093 stable-cache-token-1094 stable-cache-token-1095 stable-cache-token-1096 stable-cache-token-1097 stable-cache-token-1098 stable-cache-token-1099 stable-cache-token-1100 stable-cache-token-1101 stable-cache-token-1102 stable-cache-token-1103 stable-cache-token-1104 stable-cache-token-1105 stable-cache-token-1106 stable-cache-token-1107 stable-cache-token-1108 stable-cache-token-1109 stable-cache-token-1110 stable-cache-token-1111 stable-cache-token-1112 stable-cache-token-1113 stable-cache-token-1114 stable-cache-token-1115 stable-cache-token-1116 stable-cache-token-1117 stable-cache-token-1118 stable-cache-token-1119 stable-cache-token-1120 stable-cache-token-1121 stable-cache-token-1122 stable-cache-token-1123 stable-cache-token-1124 stable-cache-token-1125 stable-cache-token-1126 stable-cache-token-1127 stable-cache-token-1128 stable-cache-token-1129 stable-cache-token-1130 stable-cache-token-1131 stable-cache-token-1132 stable-cache-token-1133 stable-cache-token-1134 stable-cache-token-1135 stable-cache-token-1136 stable-cache-token-1137 stable-cache-token-1138 stable-cache-token-1139 stable-cache-token-1140 stable-cache-token-1141 stable-cache-token-1142 stable-cache-token-1143 stable-cache-token-1144 stable-cache-token-1145 stable-cache-token-1146 stable-cache-token-1147 stable-cache-token-1148 stable-cache-token-1149 stable-cache-token-1150 stable-cache-token-1151 stable-cache-token-1152 stable-cache-token-1153 stable-cache-token-1154 stable-cache-token-1155 stable-cache-token-1156 stable-cache-token-1157 stable-cache-token-1158 stable-cache-token-1159 stable-cache-token-1160 stable-cache-token-1161 stable-cache-token-1162 stable-cache-token-1163 stable-cache-token-1164 stable-cache-token-1165 stable-cache-token-1166 stable-cache-token-1167 stable-cache-token-1168 stable-cache-token-1169 stable-cache-token-1170 stable-cache-token-1171 stable-cache-token-1172 stable-cache-token-1173 stable-cache-token-1174 stable-cache-token-1175 stable-cache-token-1176 stable-cache-token-1177 stable-cache-token-1178 stable-cache-token-1179 stable-cache-token-1180 stable-cache-token-1181 stable-cache-token-1182 stable-cache-token-1183 stable-cache-token-1184 stable-cache-token-1185 stable-cache-token-1186 stable-cache-token-1187 stable-cache-token-1188 stable-cache-token-1189 stable-cache-token-1190 stable-cache-token-1191 stable-cache-token-1192 stable-cache-token-1193 stable-cache-token-1194 stable-cache-token-1195 stable-cache-token-1196 stable-cache-token-1197 stable-cache-token-1198 stable-cache-token-1199 stable-cache-token-1200 stable-cache-token-1201 stable-cache-token-1202 stable-cache-token-1203 stable-cache-token-1204 stable-cache-token-1205 stable-cache-token-1206 stable-cache-token-1207 stable-cache-token-1208 stable-cache-token-1209 stable-cache-token-1210 stable-cache-token-1211 stable-cache-token-1212 stable-cache-token-1213 stable-cache-token-1214 stable-cache-token-1215 stable-cache-token-1216 stable-cache-token-1217 stable-cache-token-1218 stable-cache-token-1219 stable-cache-token-1220 stable-cache-token-1221 stable-cache-token-1222 stable-cache-token-1223 stable-cache-token-1224 stable-cache-token-1225 stable-cache-token-1226 stable-cache-token-1227 stable-cache-token-1228 stable-cache-token-1229 stable-cache-token-1230 stable-cache-token-1231 stable-cache-token-1232 stable-cache-token-1233 stable-cache-token-1234 stable-cache-token-1235 stable-cache-token-1236 stable-cache-token-1237 stable-cache-token-1238 stable-cache-token-1239 stable-cache-token-1240 stable-cache-token-1241 stable-cache-token-1242 stable-cache-token-1243 stable-cache-token-1244 stable-cache-token-1245 stable-cache-token-1246 stable-cache-token-1247 stable-cache-token-1248 stable-cache-token-1249 stable-cache-token-1250 stable-cache-token-1251 stable-cache-token-1252 stable-cache-token-1253 stable-cache-token-1254 stable-cache-token-1255 stable-cache-token-1256 stable-cache-token-1257 stable-cache-token-1258 stable-cache-token-1259 stable-cache-token-1260 stable-cache-token-1261 stable-cache-token-1262 stable-cache-token-1263 stable-cache-token-1264 stable-cache-token-1265 stable-cache-token-1266 stable-cache-token-1267 stable-cache-token-1268 stable-cache-token-1269 stable-cache-token-1270 stable-cache-token-1271 stable-cache-token-1272 stable-cache-token-1273 stable-cache-token-1274 stable-cache-token-1275 stable-cache-token-1276 stable-cache-token-1277 stable-cache-token-1278 stable-cache-token-1279 stable-cache-token-1280 stable-cache-token-1281 stable-cache-token-1282 stable-cache-token-1283 stable-cache-token-1284 stable-cache-token-1285 stable-cache-token-1286 stable-cache-token-1287 stable-cache-token-1288 stable-cache-token-1289 stable-cache-token-1290 stable-cache-token-1291 stable-cache-token-1292 stable-cache-token-1293 stable-cache-token-1294 stable-cache-token-1295 stable-cache-token-1296 stable-cache-token-1297 stable-cache-token-1298 stable-cache-token-1299 stable-cache-token-1300 stable-cache-token-1301 stable-cache-token-1302 stable-cache-token-1303 stable-cache-token-1304 stable-cache-token-1305 stable-cache-token-1306 stable-cache-token-1307 stable-cache-token-1308 stable-cache-token-1309 stable-cache-token-1310 stable-cache-token-1311 stable-cache-token-1312 stable-cache-token-1313 stable-cache-token-1314 stable-cache-token-1315 stable-cache-token-1316 stable-cache-token-1317 stable-cache-token-1318 stable-cache-token-1319 stable-cache-token-1320 stable-cache-token-1321 stable-cache-token-1322 stable-cache-token-1323 stable-cache-token-1324 stable-cache-token-1325 stable-cache-token-1326 stable-cache-token-1327 stable-cache-token-1328 stable-cache-token-1329 stable-cache-token-1330 stable-cache-token-1331 stable-cache-token-1332 stable-cache-token-1333 stable-cache-token-1334 stable-cache-token-1335 stable-cache-token-1336 stable-cache-token-1337 stable-cache-token-1338 stable-cache-token-1339 stable-cache-token-1340 stable-cache-token-1341 stable-cache-token-1342 stable-cache-token-1343 stable-cache-token-1344 stable-cache-token-1345 stable-cache-token-1346 stable-cache-token-1347 stable-cache-token-1348 stable-cache-token-1349 stable-cache-token-1350 stable-cache-token-1351 stable-cache-token-1352 stable-cache-token-1353 stable-cache-token-1354 stable-cache-token-1355 stable-cache-token-1356 stable-cache-token-1357 stable-cache-token-1358 stable-cache-token-1359 stable-cache-token-1360 stable-cache-token-1361 stable-cache-token-1362 stable-cache-token-1363 stable-cache-token-1364 stable-cache-token-1365 stable-cache-token-1366 stable-cache-token-1367 stable-cache-token-1368 stable-cache-token-1369 stable-cache-token-1370 stable-cache-token-1371 stable-cache-token-1372 stable-cache-token-1373 stable-cache-token-1374 stable-cache-token-1375 stable-cache-token-1376 stable-cache-token-1377 stable-cache-token-1378 stable-cache-token-1379 stable-cache-token-1380 stable-cache-token-1381 stable-cache-token-1382 stable-cache-token-1383 stable-cache-token-1384 stable-cache-token-1385 stable-cache-token-1386 stable-cache-token-1387 stable-cache-token-1388 stable-cache-token-1389 stable-cache-token-1390 stable-cache-token-1391 stable-cache-token-1392 stable-cache-token-1393 stable-cache-token-1394 stable-cache-token-1395 stable-cache-token-1396 stable-cache-token-1397 stable-cache-token-1398 stable-cache-token-1399 stable-cache-token-1400 stable-cache-token-1401 stable-cache-token-1402 stable-cache-token-1403 stable-cache-token-1404 stable-cache-token-1405 stable-cache-token-1406 stable-cache-token-1407 stable-cache-token-1408 stable-cache-token-1409 stable-cache-token-1410 stable-cache-token-1411 stable-cache-token-1412 stable-cache-token-1413 stable-cache-token-1414 stable-cache-token-1415 stable-cache-token-1416 stable-cache-token-1417 stable-cache-token-1418 stable-cache-token-1419 stable-cache-token-1420 stable-cache-token-1421 stable-cache-token-1422 stable-cache-token-1423 stable-cache-token-1424 stable-cache-token-1425 stable-cache-token-1426 stable-cache-token-1427 stable-cache-token-1428 stable-cache-token-1429 stable-cache-token-1430 stable-cache-token-1431 stable-cache-token-1432 stable-cache-token-1433 stable-cache-token-1434 stable-cache-token-1435 stable-cache-token-1436 stable-cache-token-1437 stable-cache-token-1438 stable-cache-token-1439 stable-cache-token-1440 stable-cache-token-1441 stable-cache-token-1442 stable-cache-token-1443 stable-cache-token-1444 stable-cache-token-1445 stable-cache-token-1446 stable-cache-token-1447 stable-cache-token-1448 stable-cache-token-1449 stable-cache-token-1450 stable-cache-token-1451 stable-cache-token-1452 stable-cache-token-1453 stable-cache-token-1454 stable-cache-token-1455 stable-cache-token-1456 stable-cache-token-1457 stable-cache-token-1458 stable-cache-token-1459 stable-cache-token-1460 stable-cache-token-1461 stable-cache-token-1462 stable-cache-token-1463 stable-cache-token-1464 stable-cache-token-1465 stable-cache-token-1466 stable-cache-token-1467 stable-cache-token-1468 stable-cache-token-1469 stable-cache-token-1470 stable-cache-token-1471 stable-cache-token-1472 stable-cache-token-1473 stable-cache-token-1474 stable-cache-token-1475 stable-cache-token-1476 stable-cache-token-1477 stable-cache-token-1478 stable-cache-token-1479 stable-cache-token-1480 stable-cache-token-1481 stable-cache-token-1482 stable-cache-token-1483 stable-cache-token-1484 stable-cache-token-1485 stable-cache-token-1486 stable-cache-token-1487 stable-cache-token-1488 stable-cache-token-1489 stable-cache-token-1490 stable-cache-token-1491 stable-cache-token-1492 stable-cache-token-1493 stable-cache-token-1494 stable-cache-token-1495 stable-cache-token-1496 stable-cache-token-1497 stable-cache-token-1498 stable-cache-token-1499 stable-cache-token-1500 stable-cache-token-1501 stable-cache-token-1502 stable-cache-token-1503 stable-cache-token-1504 stable-cache-token-1505 stable-cache-token-1506 stable-cache-token-1507 stable-cache-token-1508 stable-cache-token-1509 stable-cache-token-1510 stable-cache-token-1511 stable-cache-token-1512 stable-cache-token-1513 stable-cache-token-1514 stable-cache-token-1515 stable-cache-token-1516 stable-cache-token-1517 stable-cache-token-1518 stable-cache-token-1519 stable-cache-token-1520 stable-cache-token-1521 stable-cache-token-1522 stable-cache-token-1523 stable-cache-token-1524 stable-cache-token-1525 stable-cache-token-1526 stable-cache-token-1527 stable-cache-token-1528 stable-cache-token-1529 stable-cache-token-1530 stable-cache-token-1531 stable-cache-token-1532 stable-cache-token-1533 stable-cache-token-1534 stable-cache-token-1535 stable-cache-token-1536 stable-cache-token-1537 stable-cache-token-1538 stable-cache-token-1539 stable-cache-token-1540 stable-cache-token-1541 stable-cache-token-1542 stable-cache-token-1543 stable-cache-token-1544 stable-cache-token-1545 stable-cache-token-1546 stable-cache-token-1547 stable-cache-token-1548 stable-cache-token-1549 stable-cache-token-1550 stable-cache-token-1551 stable-cache-token-1552 stable-cache-token-1553 stable-cache-token-1554 stable-cache-token-1555 stable-cache-token-1556 stable-cache-token-1557 stable-cache-token-1558 stable-cache-token-1559 stable-cache-token-1560 stable-cache-token-1561 stable-cache-token-1562 stable-cache-token-1563 stable-cache-token-1564 stable-cache-token-1565 stable-cache-token-1566 stable-cache-token-1567 stable-cache-token-1568 stable-cache-token-1569 stable-cache-token-1570 stable-cache-token-1571 stable-cache-token-1572 stable-cache-token-1573 stable-cache-token-1574 stable-cache-token-1575 stable-cache-token-1576 stable-cache-token-1577 stable-cache-token-1578 stable-cache-token-1579 stable-cache-token-1580 stable-cache-token-1581 stable-cache-token-1582 stable-cache-token-1583 stable-cache-token-1584 stable-cache-token-1585 stable-cache-token-1586 stable-cache-token-1587 stable-cache-token-1588 stable-cache-token-1589 stable-cache-token-1590 stable-cache-token-1591 stable-cache-token-1592 stable-cache-token-1593 stable-cache-token-1594 stable-cache-token-1595 stable-cache-token-1596 stable-cache-token-1597 stable-cache-token-1598 stable-cache-token-1599\nUse this stable cache context only to exercise Bedrock prompt caching in this e2e scenario." + }, + { + "text": "Reply with exactly RAWSTREAM." + } + ], + "role": "user" + } + ], + "schemaVersion": "messages-v1" + } + }, + "headers": {}, + "method": "POST", + "url": "https://bedrock-runtime.us-east-2.amazonaws.com/model/us.amazon.nova-lite-v1%3A0/invoke-with-response-stream" + }, + "response": { + "body": { + "contentType": "application/vnd.amazon.eventstream", + "kind": "base64", + "value": "AAAAygAAAEsnibcLCzpldmVudC10eXBlBwAFY2h1bmsNOmNvbnRlbnQtdHlwZQcAEGFwcGxpY2F0aW9uL2pzb24NOm1lc3NhZ2UtdHlwZQcABWV2ZW50eyJieXRlcyI6ImV5SnRaWE56WVdkbFUzUmhjblFpT25zaWNtOXNaU0k2SW1GemMybHpkR0Z1ZENKOWZRPT0iLCJwIjoiYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNERUZHSElKS0xNTiJ9FCDpUgAAAM4AAABL0gkRyws6ZXZlbnQtdHlwZQcABWNodW5rDTpjb250ZW50LXR5cGUHABBhcHBsaWNhdGlvbi9qc29uDTptZXNzYWdlLXR5cGUHAAVldmVudHsiYnl0ZXMiOiJleUpqYjI1MFpXNTBRbXh2WTJ0RVpXeDBZU0k2ZXlKa1pXeDBZU0k2ZXlKMFpYaDBJam9pVWtGWEluMHNJbU52Ym5SbGJuUkNiRzlqYTBsdVpHVjRJam93ZlgwPSIsInAiOiJhYmNkIn388AUCAAAA5AAAAEtZeCZuCzpldmVudC10eXBlBwAFY2h1bmsNOmNvbnRlbnQtdHlwZQcAEGFwcGxpY2F0aW9uL2pzb24NOm1lc3NhZ2UtdHlwZQcABWV2ZW50eyJieXRlcyI6ImV5SmpiMjUwWlc1MFFteHZZMnRUZEc5d0lqcDdJbU52Ym5SbGJuUkNiRzlqYTBsdVpHVjRJam93ZlgwPSIsInAiOiJhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ekFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaMDEyMzQ1In27RwARAAAA1gAAAEuCmc2ICzpldmVudC10eXBlBwAFY2h1bmsNOmNvbnRlbnQtdHlwZQcAEGFwcGxpY2F0aW9uL2pzb24NOm1lc3NhZ2UtdHlwZQcABWV2ZW50eyJieXRlcyI6ImV5SmpiMjUwWlc1MFFteHZZMnRFWld4MFlTSTZleUprWld4MFlTSTZleUowWlhoMElqb2lVMVJTUlVGTkluMHNJbU52Ym5SbGJuUkNiRzlqYTBsdVpHVjRJam94ZlgwPSIsInAiOiJhYmNkZWZnaCJ98c9wnAAAANcAAABLv/nkOAs6ZXZlbnQtdHlwZQcABWNodW5rDTpjb250ZW50LXR5cGUHABBhcHBsaWNhdGlvbi9qc29uDTptZXNzYWdlLXR5cGUHAAVldmVudHsiYnl0ZXMiOiJleUpqYjI1MFpXNTBRbXh2WTJ0VGRHOXdJanA3SW1OdmJuUmxiblJDYkc5amEwbHVaR1Y0SWpveGZYMD0iLCJwIjoiYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNERUZHSElKS0xNTk9QUVJTIn0duCaaAAAA0AAAAEsN2TgoCzpldmVudC10eXBlBwAFY2h1bmsNOmNvbnRlbnQtdHlwZQcAEGFwcGxpY2F0aW9uL2pzb24NOm1lc3NhZ2UtdHlwZQcABWV2ZW50eyJieXRlcyI6ImV5SmpiMjUwWlc1MFFteHZZMnRFWld4MFlTSTZleUprWld4MFlTSTZleUowWlhoMElqb2lJbjBzSW1OdmJuUmxiblJDYkc5amEwbHVaR1Y0SWpveWZYMD0iLCJwIjoiYWJjZGVmZ2hpaiJ9qTGqPAAAAOcAAABLHthcvgs6ZXZlbnQtdHlwZQcABWNodW5rDTpjb250ZW50LXR5cGUHABBhcHBsaWNhdGlvbi9qc29uDTptZXNzYWdlLXR5cGUHAAVldmVudHsiYnl0ZXMiOiJleUpqYjI1MFpXNTBRbXh2WTJ0VGRHOXdJanA3SW1OdmJuUmxiblJDYkc5amEwbHVaR1Y0SWpveWZYMD0iLCJwIjoiYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWjAxMjM0NTY3OCJ9ue/oygAAAM4AAABL0gkRyws6ZXZlbnQtdHlwZQcABWNodW5rDTpjb250ZW50LXR5cGUHABBhcHBsaWNhdGlvbi9qc29uDTptZXNzYWdlLXR5cGUHAAVldmVudHsiYnl0ZXMiOiJleUp0WlhOellXZGxVM1J2Y0NJNmV5SnpkRzl3VW1WaGMyOXVJam9pWlc1a1gzUjFjbTRpZlgwPSIsInAiOiJhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ekFCQ0RFRkdISUpLTE1OIn1SgdybAAACXAAAAEs0B8SwCzpldmVudC10eXBlBwAFY2h1bmsNOmNvbnRlbnQtdHlwZQcAEGFwcGxpY2F0aW9uL2pzb24NOm1lc3NhZ2UtdHlwZQcABWV2ZW50eyJieXRlcyI6ImV5SnRaWFJoWkdGMFlTSTZleUoxYzJGblpTSTZleUpwYm5CMWRGUnZhMlZ1Y3lJNk5pd2liM1YwY0hWMFZHOXJaVzV6SWpvekxDSmpZV05vWlZKbFlXUkpibkIxZEZSdmEyVnVRMjkxYm5RaU9qRTBPVEl5TENKallXTm9aVmR5YVhSbFNXNXdkWFJVYjJ0bGJrTnZkVzUwSWpvd2ZTd2liV1YwY21samN5STZlMzBzSW5SeVlXTmxJanA3Zlgwc0ltRnRZWHB2YmkxaVpXUnliMk5yTFdsdWRtOWpZWFJwYjI1TlpYUnlhV056SWpwN0ltbHVjSFYwVkc5clpXNURiM1Z1ZENJNk5pd2liM1YwY0hWMFZHOXJaVzVEYjNWdWRDSTZNeXdpYVc1MmIyTmhkR2x2Ymt4aGRHVnVZM2tpT2pNNE55d2labWx5YzNSQ2VYUmxUR0YwWlc1amVTSTZNek13TENKallXTm9aVkpsWVdSSmJuQjFkRlJ2YTJWdVEyOTFiblFpT2pFME9USXlMQ0pqWVdOb1pWZHlhWFJsU1c1d2RYUlViMnRsYmtOdmRXNTBJam93ZlgwPSIsInAiOiJhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ekFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWCJ9tBXQVw==" + }, + "headers": { + "connection": "keep-alive", + "content-type": "application/vnd.amazon.eventstream", + "date": "[REDACTED]", + "transfer-encoding": "chunked", + "x-amzn-bedrock-content-type": "application/json", + "x-amzn-requestid": "[REDACTED]" + }, + "status": 200, + "statusText": "OK" + } + } + ], + "meta": { + "createdAt": "2026-09-14T10:19:14.156Z" + } +} diff --git a/e2e/scenarios/bedrock-runtime-instrumentation/__cassettes__/bedrock-runtime-v3-latest.cassette.json b/e2e/scenarios/bedrock-runtime-instrumentation/__cassettes__/bedrock-runtime-v3-latest-wrapped.cassette.json similarity index 93% rename from e2e/scenarios/bedrock-runtime-instrumentation/__cassettes__/bedrock-runtime-v3-latest.cassette.json rename to e2e/scenarios/bedrock-runtime-instrumentation/__cassettes__/bedrock-runtime-v3-latest-wrapped.cassette.json index 1af1bd500..474e90e6c 100644 --- a/e2e/scenarios/bedrock-runtime-instrumentation/__cassettes__/bedrock-runtime-v3-latest.cassette.json +++ b/e2e/scenarios/bedrock-runtime-instrumentation/__cassettes__/bedrock-runtime-v3-latest-wrapped.cassette.json @@ -4,7 +4,7 @@ "callIndex": 0, "id": "167baa531c51f0bf", "matchKey": "POST bedrock-runtime.aws-region.amazonaws.com/model/us.amazon.nova-lite-v1%3A0/converse", - "recordedAt": "2026-09-11T12:57:57.001Z", + "recordedAt": "2026-09-14T10:22:57.535Z", "request": { "body": { "kind": "json", @@ -43,7 +43,7 @@ "kind": "json", "value": { "metrics": { - "latencyMs": 551 + "latencyMs": 555 }, "output": { "message": { @@ -83,7 +83,7 @@ "callIndex": 0, "id": "5f6e11e6074e64db", "matchKey": "POST bedrock-runtime.aws-region.amazonaws.com/model/us.amazon.nova-lite-v1%3A0/converse-stream", - "recordedAt": "2026-09-11T12:57:57.586Z", + "recordedAt": "2026-09-14T10:22:58.072Z", "request": { "body": { "kind": "json", @@ -121,7 +121,7 @@ "body": { "contentType": "application/vnd.amazon.eventstream", "kind": "base64", - "value": "AAAAmgAAAFJ78dAACzpldmVudC10eXBlBwAMbWVzc2FnZVN0YXJ0DTpjb250ZW50LXR5cGUHABBhcHBsaWNhdGlvbi9qc29uDTptZXNzYWdlLXR5cGUHAAVldmVudHsicCI6ImFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6QUJDIiwicm9sZSI6ImFzc2lzdGFudCJ92EeA9QAAAMIAAABXA/ighQs6ZXZlbnQtdHlwZQcAEWNvbnRlbnRCbG9ja0RlbHRhDTpjb250ZW50LXR5cGUHABBhcHBsaWNhdGlvbi9qc29uDTptZXNzYWdlLXR5cGUHAAVldmVudHsiY29udGVudEJsb2NrSW5kZXgiOjAsImRlbHRhIjp7InRleHQiOiIifSwicCI6ImFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6QUJDREVGR0hJSktMTU5PIn2vzwFiAAAAvwAAAFcCuoT7CzpldmVudC10eXBlBwARY29udGVudEJsb2NrRGVsdGENOmNvbnRlbnQtdHlwZQcAEGFwcGxpY2F0aW9uL2pzb24NOm1lc3NhZ2UtdHlwZQcABWV2ZW50eyJjb250ZW50QmxvY2tJbmRleCI6MCwiZGVsdGEiOnsidGV4dCI6IlNUUkVBTSJ9LCJwIjoiYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNERUYifSb/SVUAAADWAAAAV5aYkccLOmV2ZW50LXR5cGUHABFjb250ZW50QmxvY2tEZWx0YQ06Y29udGVudC10eXBlBwAQYXBwbGljYXRpb24vanNvbg06bWVzc2FnZS10eXBlBwAFZXZlbnR7ImNvbnRlbnRCbG9ja0luZGV4IjowLCJkZWx0YSI6eyJ0ZXh0IjoiIn0sInAiOiJhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ekFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaMDEyMzQ1Njc4In2oFQFAAAAAuAAAAFbHnWh9CzpldmVudC10eXBlBwAQY29udGVudEJsb2NrU3RvcA06Y29udGVudC10eXBlBwAQYXBwbGljYXRpb24vanNvbg06bWVzc2FnZS10eXBlBwAFZXZlbnR7ImNvbnRlbnRCbG9ja0luZGV4IjowLCJwIjoiYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWiJ9i57JpAAAAIMAAABRjwh0SQs6ZXZlbnQtdHlwZQcAC21lc3NhZ2VTdG9wDTpjb250ZW50LXR5cGUHABBhcHBsaWNhdGlvbi9qc29uDTptZXNzYWdlLXR5cGUHAAVldmVudHsicCI6ImFiIiwic3RvcFJlYXNvbiI6ImVuZF90dXJuIn2QVumkAAABUgAAAE59yfzwCzpldmVudC10eXBlBwAIbWV0YWRhdGENOmNvbnRlbnQtdHlwZQcAEGFwcGxpY2F0aW9uL2pzb24NOm1lc3NhZ2UtdHlwZQcABWV2ZW50eyJtZXRyaWNzIjp7ImxhdGVuY3lNcyI6NTQ1fSwicCI6ImFiY2RlZiIsInVzYWdlIjp7ImNhY2hlUmVhZElucHV0VG9rZW5Db3VudCI6MTQ5MjIsImNhY2hlUmVhZElucHV0VG9rZW5zIjoxNDkyMiwiY2FjaGVXcml0ZUlucHV0VG9rZW5Db3VudCI6MCwiY2FjaGVXcml0ZUlucHV0VG9rZW5zIjowLCJpbnB1dFRva2VucyI6Niwib3V0cHV0VG9rZW5zIjozLCJzZXJ2ZXJUb29sVXNhZ2UiOnt9LCJ0b3RhbFRva2VucyI6MTQ5MzF9fegnRzQ=" + "value": "AAAAmgAAAFJ78dAACzpldmVudC10eXBlBwAMbWVzc2FnZVN0YXJ0DTpjb250ZW50LXR5cGUHABBhcHBsaWNhdGlvbi9qc29uDTptZXNzYWdlLXR5cGUHAAVldmVudHsicCI6ImFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6QUJDIiwicm9sZSI6ImFzc2lzdGFudCJ92EeA9QAAAKcAAABXUipYuAs6ZXZlbnQtdHlwZQcAEWNvbnRlbnRCbG9ja0RlbHRhDTpjb250ZW50LXR5cGUHABBhcHBsaWNhdGlvbi9qc29uDTptZXNzYWdlLXR5cGUHAAVldmVudHsiY29udGVudEJsb2NrSW5kZXgiOjAsImRlbHRhIjp7InRleHQiOiIifSwicCI6ImFiY2RlZmdoaWprbG1uIn3GUPDVAAAA0QAAAFckuE3XCzpldmVudC10eXBlBwARY29udGVudEJsb2NrRGVsdGENOmNvbnRlbnQtdHlwZQcAEGFwcGxpY2F0aW9uL2pzb24NOm1lc3NhZ2UtdHlwZQcABWV2ZW50eyJjb250ZW50QmxvY2tJbmRleCI6MCwiZGVsdGEiOnsidGV4dCI6IlNUUkVBTSJ9LCJwIjoiYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNERUZHSElKS0xNTk9QUVJTVFVWV1gifWPLfR4AAAC7AAAAV/c6IjsLOmV2ZW50LXR5cGUHABFjb250ZW50QmxvY2tEZWx0YQ06Y29udGVudC10eXBlBwAQYXBwbGljYXRpb24vanNvbg06bWVzc2FnZS10eXBlBwAFZXZlbnR7ImNvbnRlbnRCbG9ja0luZGV4IjowLCJkZWx0YSI6eyJ0ZXh0IjoiIn0sInAiOiJhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ekFCQ0RFRkdIIn2AZ8+ZAAAAoQAAAFaqbZ2OCzpldmVudC10eXBlBwAQY29udGVudEJsb2NrU3RvcA06Y29udGVudC10eXBlBwAQYXBwbGljYXRpb24vanNvbg06bWVzc2FnZS10eXBlBwAFZXZlbnR7ImNvbnRlbnRCbG9ja0luZGV4IjowLCJwIjoiYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkMifQB8ni8AAACkAAAAUfzph10LOmV2ZW50LXR5cGUHAAttZXNzYWdlU3RvcA06Y29udGVudC10eXBlBwAQYXBwbGljYXRpb24vanNvbg06bWVzc2FnZS10eXBlBwAFZXZlbnR7InAiOiJhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ekFCQ0RFRkdISSIsInN0b3BSZWFzb24iOiJlbmRfdHVybiJ9AqpuFwAAAVIAAABOfcn88As6ZXZlbnQtdHlwZQcACG1ldGFkYXRhDTpjb250ZW50LXR5cGUHABBhcHBsaWNhdGlvbi9qc29uDTptZXNzYWdlLXR5cGUHAAVldmVudHsibWV0cmljcyI6eyJsYXRlbmN5TXMiOjUwM30sInAiOiJhYmNkZWYiLCJ1c2FnZSI6eyJjYWNoZVJlYWRJbnB1dFRva2VuQ291bnQiOjE0OTIyLCJjYWNoZVJlYWRJbnB1dFRva2VucyI6MTQ5MjIsImNhY2hlV3JpdGVJbnB1dFRva2VuQ291bnQiOjAsImNhY2hlV3JpdGVJbnB1dFRva2VucyI6MCwiaW5wdXRUb2tlbnMiOjYsIm91dHB1dFRva2VucyI6Mywic2VydmVyVG9vbFVzYWdlIjp7fSwidG90YWxUb2tlbnMiOjE0OTMxfX0seWsy" }, "headers": { "connection": "keep-alive", @@ -138,7 +138,7 @@ "callIndex": 0, "id": "3e9c682f68d2d756", "matchKey": "POST bedrock-runtime.aws-region.amazonaws.com/model/us.amazon.nova-lite-v1%3A0/invoke", - "recordedAt": "2026-09-11T12:57:58.196Z", + "recordedAt": "2026-09-14T10:22:58.584Z", "request": { "body": { "kind": "json", @@ -203,7 +203,7 @@ "x-amzn-bedrock-cache-read-input-token-count": "14921", "x-amzn-bedrock-cache-write-input-token-count": "0", "x-amzn-bedrock-input-token-count": "6", - "x-amzn-bedrock-invocation-latency": "567", + "x-amzn-bedrock-invocation-latency": "474", "x-amzn-bedrock-output-token-count": "2", "x-amzn-requestid": "[REDACTED]" }, @@ -215,7 +215,7 @@ "callIndex": 0, "id": "0d28290b31e60524", "matchKey": "POST bedrock-runtime.aws-region.amazonaws.com/model/amazon.titan-embed-text-v2%3A0/invoke", - "recordedAt": "2026-09-11T12:57:58.473Z", + "recordedAt": "2026-09-14T10:22:58.798Z", "request": { "body": { "kind": "json", @@ -445,7 +445,151 @@ "content-type": "application/json", "date": "[REDACTED]", "x-amzn-bedrock-input-token-count": "9", - "x-amzn-bedrock-invocation-latency": "252", + "x-amzn-bedrock-invocation-latency": "190", + "x-amzn-requestid": "[REDACTED]" + }, + "status": 200, + "statusText": "OK" + } + }, + { + "callIndex": 0, + "id": "8ff069ff4c3fa2d6", + "matchKey": "POST bedrock-runtime.aws-region.amazonaws.com/model/us.cohere.embed-v4%3A0/invoke", + "recordedAt": "2026-09-14T10:22:58.953Z", + "request": { + "body": { + "kind": "json", + "value": { + "embedding_types": ["float"], + "input_type": "search_document", + "inputs": [ + { + "content": [ + { + "text": "A sailing ship in a storm", + "type": "text" + }, + { + "image_url": { + "url": "[REDACTED]" + }, + "type": "image_url" + } + ] + } + ], + "output_dimension": 256 + } + }, + "headers": {}, + "method": "POST", + "url": "https://bedrock-runtime.us-east-2.amazonaws.com/model/us.cohere.embed-v4%3A0/invoke" + }, + "response": { + "body": { + "kind": "json", + "value": { + "embeddings": { + "float": [ + [ + -0.056131896, 0.017211715, -0.048999116, -0.034578487, + 0.02868619, 0.033338007, -0.05985335, 0.09241605, + -0.017056653, 0.014188034, -0.090555325, 0.016901594, + 0.010544113, -0.035663914, -0.004496754, 0.0103115225, + 0.006318715, -0.055201534, 0.046208024, -0.00786932, + -0.06264444, 0.06264444, -0.0098075755, -0.046828266, + 0.036439214, 0.10171968, 0.037524637, 0.0034694783, + 0.093036294, -0.07597964, -0.10171968, -0.09799823, + -0.019615151, 0.023414133, 0.0061636544, 0.093036294, + 0.014188034, 0.014653216, 0.14203541, -0.03488861, + 0.046518147, -0.035663914, -0.057682503, -0.010233992, + 0.050239597, 0.081871934, 0.019537622, 0.05644202, + -0.09861847, -0.019770212, 0.049929477, 0.11722573, + 0.008605857, -0.0035470086, -0.05985335, -0.08621363, + -0.09923871, 0.13521275, -0.058612864, -0.010233992, + -0.022638831, 0.06822661, 0.11288404, -0.011241885, + 0.10047919, 0.069156975, 0.014808277, 0.005039466, + 0.0015796787, -0.012327309, -0.03147728, -0.08683387, + -0.05396105, -0.037214518, 0.049929477, 0.020157864, + -0.07380879, -0.05737238, -0.06791649, -0.00635748, + -0.05116996, 0.13397226, 0.03535379, -0.16250339, 0.08001121, + -0.05830274, 0.1079221, -0.069156975, 0.04155621, + -0.0025003504, -0.1079221, -0.05085984, -0.028065948, + 0.0005378661, -0.015350988, 0.013257672, -0.083732665, + 0.05396105, 0.015428519, 0.071017705, -0.078460604, + -0.011009295, 0.024964739, 0.09675775, 0.15692121, + -0.049309235, -0.10233992, -0.0036439213, 0.026980525, + -0.05830274, 0.008450797, -0.05148008, 0.14389613, + -0.14575686, 0.01612629, 0.02248377, -0.009768811, + -0.01938256, -0.081871934, -0.0044386066, -0.05085984, + 0.052410446, 0.0052720564, -0.0002652988, 0.004419224, + 0.0103115225, -0.02527486, -0.06667601, -0.06698613, + -0.05985335, -0.043106817, 0.08001121, 0.056131896, + -0.023104012, 0.0029073842, -0.030236796, 0.1197067, + 0.10358041, 0.04403718, -0.07287843, 0.036594275, + -0.010931765, 0.06481528, -0.11846621, 0.012172248, + 0.06388492, 0.09365653, 0.0014440008, -0.07815049, + 0.065125406, -0.042796694, 0.0042447806, -0.008644622, + 0.124668635, 0.02232871, 0.016746532, 0.021243287, 0.05737238, + 0.05085984, 0.083732665, 0.12342815, 0.033493064, 0.09117556, + -0.043416936, -0.14265566, -0.0062411847, 0.0056984727, + -0.03504367, -0.05489141, 0.033338007, 0.010776704, + -0.08745412, -0.018064547, 0.00012598664, 0.07380879, + 0.0032562702, -0.0006105507, -0.10482089, 0.018219607, + -0.20343935, -0.14141516, -0.004632432, -0.010001401, + 0.023104012, 0.122807905, 0.054581292, 0.04031573, 0.03814488, + -0.0753594, 0.045277663, -0.09179581, 0.008877213, + 0.054581292, 0.023879316, -0.05644202, 0.07597964, + -0.06450516, -0.008877213, -0.09799823, 0.00050879223, + -0.06388492, -0.001899491, -0.07597964, -0.0443473, + -0.04713839, -0.042486575, -0.013180141, -0.052100323, + 0.109162584, 0.030236796, 0.013722853, -0.016979123, + -0.035508852, -0.020467984, 0.01279249, -0.10606138, + 0.07070758, -0.052100323, 0.043106817, -0.06450516, + 0.0014536921, -0.036129095, -0.0035082435, -0.07225819, + -0.0041091028, -0.030857038, 0.048999116, 0.050239597, + 0.020467984, -0.007830555, -0.011009295, -0.090555325, + -0.09365653, -0.01287002, -0.018064547, -0.002694176, + -0.0148858065, -0.008722153, 0.020157864, -0.013955444, + -0.01620382, -0.0158937, -0.029616553, 0.07628976, + -0.024654618, -0.09117556, -0.13149129, -0.099858955, + -0.13149129, -0.006745131, -0.09551726, 0.02232871, + 0.043416936, 0.00969128, -0.010233992, -0.036594275 + ] + ] + }, + "id": "33107581-9a96-4713-8ce6-e854c6343859", + "inputs": [ + { + "content": [ + { + "text": "A sailing ship in a storm", + "type": "text" + }, + { + "image": { + "bit_depth": 32, + "format": "image/png", + "height": 140, + "width": 140 + }, + "type": "image_url" + } + ] + } + ], + "response_type": "embeddings_by_type", + "texts": [] + } + }, + "headers": { + "connection": "keep-alive", + "content-length": "3408", + "content-type": "application/json", + "date": "[REDACTED]", + "x-amzn-bedrock-input-token-count": "112", + "x-amzn-bedrock-invocation-latency": "134", "x-amzn-requestid": "[REDACTED]" }, "status": 200, @@ -456,7 +600,7 @@ "callIndex": 0, "id": "6b97f66ee2a0ebd7", "matchKey": "POST bedrock-runtime.aws-region.amazonaws.com/model/us.amazon.nova-lite-v1%3A0/invoke-with-response-stream", - "recordedAt": "2026-09-11T12:57:59.231Z", + "recordedAt": "2026-09-14T10:22:59.494Z", "request": { "body": { "kind": "json", @@ -493,7 +637,7 @@ "body": { "contentType": "application/vnd.amazon.eventstream", "kind": "base64", - "value": "AAAAvgAAAEsr2/EECzpldmVudC10eXBlBwAFY2h1bmsNOmNvbnRlbnQtdHlwZQcAEGFwcGxpY2F0aW9uL2pzb24NOm1lc3NhZ2UtdHlwZQcABWV2ZW50eyJieXRlcyI6ImV5SnRaWE56WVdkbFUzUmhjblFpT25zaWNtOXNaU0k2SW1GemMybHpkR0Z1ZENKOWZRPT0iLCJwIjoiYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQiJ9NOrvXwAAAQIAAABLNbDHtAs6ZXZlbnQtdHlwZQcABWNodW5rDTpjb250ZW50LXR5cGUHABBhcHBsaWNhdGlvbi9qc29uDTptZXNzYWdlLXR5cGUHAAVldmVudHsiYnl0ZXMiOiJleUpqYjI1MFpXNTBRbXh2WTJ0RVpXeDBZU0k2ZXlKa1pXeDBZU0k2ZXlKMFpYaDBJam9pVWtGWEluMHNJbU52Ym5SbGJuUkNiRzlqYTBsdVpHVjRJam93ZlgwPSIsInAiOiJhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ekFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaMDEyMyJ9Q9XCZwAAANAAAABLDdk4KAs6ZXZlbnQtdHlwZQcABWNodW5rDTpjb250ZW50LXR5cGUHABBhcHBsaWNhdGlvbi9qc29uDTptZXNzYWdlLXR5cGUHAAVldmVudHsiYnl0ZXMiOiJleUpqYjI1MFpXNTBRbXh2WTJ0VGRHOXdJanA3SW1OdmJuUmxiblJDYkc5amEwbHVaR1Y0SWpvd2ZYMD0iLCJwIjoiYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNERUZHSElKS0wifWn+3P4AAADdAAAAS/VJ/JkLOmV2ZW50LXR5cGUHAAVjaHVuaw06Y29udGVudC10eXBlBwAQYXBwbGljYXRpb24vanNvbg06bWVzc2FnZS10eXBlBwAFZXZlbnR7ImJ5dGVzIjoiZXlKamIyNTBaVzUwUW14dlkydEVaV3gwWVNJNmV5SmtaV3gwWVNJNmV5SjBaWGgwSWpvaVUxUlNSVUZOSW4wc0ltTnZiblJsYm5SQ2JHOWphMGx1WkdWNElqb3hmWDA9IiwicCI6ImFiY2RlZmdoaWprbG1ubyJ9421YdgAAALEAAABLqYtm1Qs6ZXZlbnQtdHlwZQcABWNodW5rDTpjb250ZW50LXR5cGUHABBhcHBsaWNhdGlvbi9qc29uDTptZXNzYWdlLXR5cGUHAAVldmVudHsiYnl0ZXMiOiJleUpqYjI1MFpXNTBRbXh2WTJ0VGRHOXdJanA3SW1OdmJuUmxiblJDYkc5amEwbHVaR1Y0SWpveGZYMD0iLCJwIjoiYWJjZGVmZyJ9z/gnGgAAAOQAAABLWXgmbgs6ZXZlbnQtdHlwZQcABWNodW5rDTpjb250ZW50LXR5cGUHABBhcHBsaWNhdGlvbi9qc29uDTptZXNzYWdlLXR5cGUHAAVldmVudHsiYnl0ZXMiOiJleUpqYjI1MFpXNTBRbXh2WTJ0RVpXeDBZU0k2ZXlKa1pXeDBZU0k2ZXlKMFpYaDBJam9pSW4wc0ltTnZiblJsYm5SQ2JHOWphMGx1WkdWNElqb3lmWDA9IiwicCI6ImFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6QUJDRCJ9PCuwJwAAANMAAABLSnlC+As6ZXZlbnQtdHlwZQcABWNodW5rDTpjb250ZW50LXR5cGUHABBhcHBsaWNhdGlvbi9qc29uDTptZXNzYWdlLXR5cGUHAAVldmVudHsiYnl0ZXMiOiJleUpqYjI1MFpXNTBRbXh2WTJ0VGRHOXdJanA3SW1OdmJuUmxiblJDYkc5amEwbHVaR1Y0SWpveWZYMD0iLCJwIjoiYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNERUZHSElKS0xNTk8ifXBEvIMAAADTAAAAS0p5QvgLOmV2ZW50LXR5cGUHAAVjaHVuaw06Y29udGVudC10eXBlBwAQYXBwbGljYXRpb24vanNvbg06bWVzc2FnZS10eXBlBwAFZXZlbnR7ImJ5dGVzIjoiZXlKdFpYTnpZV2RsVTNSdmNDSTZleUp6ZEc5d1VtVmhjMjl1SWpvaVpXNWtYM1IxY200aWZYMD0iLCJwIjoiYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNERUZHSElKS0xNTk9QUVJTIn0h7xHBAAACYAAAAEtQ1pE3CzpldmVudC10eXBlBwAFY2h1bmsNOmNvbnRlbnQtdHlwZQcAEGFwcGxpY2F0aW9uL2pzb24NOm1lc3NhZ2UtdHlwZQcABWV2ZW50eyJieXRlcyI6ImV5SnRaWFJoWkdGMFlTSTZleUoxYzJGblpTSTZleUpwYm5CMWRGUnZhMlZ1Y3lJNk5pd2liM1YwY0hWMFZHOXJaVzV6SWpvekxDSmpZV05vWlZKbFlXUkpibkIxZEZSdmEyVnVRMjkxYm5RaU9qQXNJbU5oWTJobFYzSnBkR1ZKYm5CMWRGUnZhMlZ1UTI5MWJuUWlPakUwT1RJeWZTd2liV1YwY21samN5STZlMzBzSW5SeVlXTmxJanA3Zlgwc0ltRnRZWHB2YmkxaVpXUnliMk5yTFdsdWRtOWpZWFJwYjI1TlpYUnlhV056SWpwN0ltbHVjSFYwVkc5clpXNURiM1Z1ZENJNk5pd2liM1YwY0hWMFZHOXJaVzVEYjNWdWRDSTZNeXdpYVc1MmIyTmhkR2x2Ymt4aGRHVnVZM2tpT2pjeU15d2labWx5YzNSQ2VYUmxUR0YwWlc1amVTSTZOalUzTENKallXTm9aVkpsWVdSSmJuQjFkRlJ2YTJWdVEyOTFiblFpT2pBc0ltTmhZMmhsVjNKcGRHVkpibkIxZEZSdmEyVnVRMjkxYm5RaU9qRTBPVEl5ZlgwPSIsInAiOiJhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ekFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaMDEifW1I4EI=" + "value": "AAAAywAAAEsa6Z67CzpldmVudC10eXBlBwAFY2h1bmsNOmNvbnRlbnQtdHlwZQcAEGFwcGxpY2F0aW9uL2pzb24NOm1lc3NhZ2UtdHlwZQcABWV2ZW50eyJieXRlcyI6ImV5SnRaWE56WVdkbFUzUmhjblFpT25zaWNtOXNaU0k2SW1GemMybHpkR0Z1ZENKOWZRPT0iLCJwIjoiYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNERUZHSElKS0xNTk8ifT32lmUAAADTAAAAS0p5QvgLOmV2ZW50LXR5cGUHAAVjaHVuaw06Y29udGVudC10eXBlBwAQYXBwbGljYXRpb24vanNvbg06bWVzc2FnZS10eXBlBwAFZXZlbnR7ImJ5dGVzIjoiZXlKamIyNTBaVzUwUW14dlkydEVaV3gwWVNJNmV5SmtaV3gwWVNJNmV5SjBaWGgwSWpvaVVrRlhJbjBzSW1OdmJuUmxiblJDYkc5amEwbHVaR1Y0SWpvd2ZYMD0iLCJwIjoiYWJjZGVmZ2hpIn3i94Z0AAAA5AAAAEtZeCZuCzpldmVudC10eXBlBwAFY2h1bmsNOmNvbnRlbnQtdHlwZQcAEGFwcGxpY2F0aW9uL2pzb24NOm1lc3NhZ2UtdHlwZQcABWV2ZW50eyJieXRlcyI6ImV5SmpiMjUwWlc1MFFteHZZMnRUZEc5d0lqcDdJbU52Ym5SbGJuUkNiRzlqYTBsdVpHVjRJam93ZlgwPSIsInAiOiJhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ekFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaMDEyMzQ1In27RwARAAAA/gAAAEtzKKlNCzpldmVudC10eXBlBwAFY2h1bmsNOmNvbnRlbnQtdHlwZQcAEGFwcGxpY2F0aW9uL2pzb24NOm1lc3NhZ2UtdHlwZQcABWV2ZW50eyJieXRlcyI6ImV5SmpiMjUwWlc1MFFteHZZMnRFWld4MFlTSTZleUprWld4MFlTSTZleUowWlhoMElqb2lVMVJTUlVGTkluMHNJbU52Ym5SbGJuUkNiRzlqYTBsdVpHVjRJam94ZlgwPSIsInAiOiJhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ekFCQ0RFRkdISUpLTE1OT1BRUlNUVVYifdWZ9YkAAADWAAAAS4KZzYgLOmV2ZW50LXR5cGUHAAVjaHVuaw06Y29udGVudC10eXBlBwAQYXBwbGljYXRpb24vanNvbg06bWVzc2FnZS10eXBlBwAFZXZlbnR7ImJ5dGVzIjoiZXlKamIyNTBaVzUwUW14dlkydFRkRzl3SWpwN0ltTnZiblJsYm5SQ2JHOWphMGx1WkdWNElqb3hmWDA9IiwicCI6ImFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6QUJDREVGR0hJSktMTU5PUFFSIn1WnRdCAAAA5AAAAEtZeCZuCzpldmVudC10eXBlBwAFY2h1bmsNOmNvbnRlbnQtdHlwZQcAEGFwcGxpY2F0aW9uL2pzb24NOm1lc3NhZ2UtdHlwZQcABWV2ZW50eyJieXRlcyI6ImV5SmpiMjUwWlc1MFFteHZZMnRFWld4MFlTSTZleUprWld4MFlTSTZleUowWlhoMElqb2lJbjBzSW1OdmJuUmxiblJDYkc5amEwbHVaR1Y0SWpveWZYMD0iLCJwIjoiYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNEIn08K7AnAAAArAAAAEsx+zXmCzpldmVudC10eXBlBwAFY2h1bmsNOmNvbnRlbnQtdHlwZQcAEGFwcGxpY2F0aW9uL2pzb24NOm1lc3NhZ2UtdHlwZQcABWV2ZW50eyJieXRlcyI6ImV5SmpiMjUwWlc1MFFteHZZMnRUZEc5d0lqcDdJbU52Ym5SbGJuUkNiRzlqYTBsdVpHVjRJam95ZlgwPSIsInAiOiJhYiJ9x3zhawAAANkAAABLAMlaWQs6ZXZlbnQtdHlwZQcABWNodW5rDTpjb250ZW50LXR5cGUHABBhcHBsaWNhdGlvbi9qc29uDTptZXNzYWdlLXR5cGUHAAVldmVudHsiYnl0ZXMiOiJleUp0WlhOellXZGxVM1J2Y0NJNmV5SnpkRzl3VW1WaGMyOXVJam9pWlc1a1gzUjFjbTRpZlgwPSIsInAiOiJhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ekFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFkifTqBfD4AAAJDAAAAS9a3xOMLOmV2ZW50LXR5cGUHAAVjaHVuaw06Y29udGVudC10eXBlBwAQYXBwbGljYXRpb24vanNvbg06bWVzc2FnZS10eXBlBwAFZXZlbnR7ImJ5dGVzIjoiZXlKdFpYUmhaR0YwWVNJNmV5SjFjMkZuWlNJNmV5SnBibkIxZEZSdmEyVnVjeUk2Tml3aWIzVjBjSFYwVkc5clpXNXpJam96TENKallXTm9aVkpsWVdSSmJuQjFkRlJ2YTJWdVEyOTFiblFpT2pFME9USXlMQ0pqWVdOb1pWZHlhWFJsU1c1d2RYUlViMnRsYmtOdmRXNTBJam93ZlN3aWJXVjBjbWxqY3lJNmUzMHNJblJ5WVdObElqcDdmWDBzSW1GdFlYcHZiaTFpWldSeWIyTnJMV2x1ZG05allYUnBiMjVOWlhSeWFXTnpJanA3SW1sdWNIVjBWRzlyWlc1RGIzVnVkQ0k2Tml3aWIzVjBjSFYwVkc5clpXNURiM1Z1ZENJNk15d2lhVzUyYjJOaGRHbHZia3hoZEdWdVkza2lPalV4TkN3aVptbHljM1JDZVhSbFRHRjBaVzVqZVNJNk5EWTJMQ0pqWVdOb1pWSmxZV1JKYm5CMWRGUnZhMlZ1UTI5MWJuUWlPakUwT1RJeUxDSmpZV05vWlZkeWFYUmxTVzV3ZFhSVWIydGxia052ZFc1MElqb3dmWDA9IiwicCI6ImFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHkifVp6dhg=" }, "headers": { "connection": "keep-alive", @@ -509,6 +653,6 @@ } ], "meta": { - "createdAt": "2026-07-06T14:01:17.764Z" + "createdAt": "2026-09-14T10:19:05.435Z" } } diff --git a/e2e/scenarios/bedrock-runtime-instrumentation/__cassettes__/bedrock-runtime-v3-wrapped.cassette.json b/e2e/scenarios/bedrock-runtime-instrumentation/__cassettes__/bedrock-runtime-v3-wrapped.cassette.json new file mode 100644 index 000000000..47a0453bb --- /dev/null +++ b/e2e/scenarios/bedrock-runtime-instrumentation/__cassettes__/bedrock-runtime-v3-wrapped.cassette.json @@ -0,0 +1,658 @@ +{ + "entries": [ + { + "callIndex": 0, + "id": "167baa531c51f0bf", + "matchKey": "POST bedrock-runtime.aws-region.amazonaws.com/model/us.amazon.nova-lite-v1%3A0/converse", + "recordedAt": "2026-09-14T10:22:49.774Z", + "request": { + "body": { + "kind": "json", + "value": { + "inferenceConfig": { + "maxTokens": 16, + "temperature": 0, + "topP": 0.9 + }, + "messages": [ + { + "content": [ + { + "text": "BRAINTRUST_BEDROCK_CACHE_CONTEXT\nstable-cache-token-0 stable-cache-token-1 stable-cache-token-2 stable-cache-token-3 stable-cache-token-4 stable-cache-token-5 stable-cache-token-6 stable-cache-token-7 stable-cache-token-8 stable-cache-token-9 stable-cache-token-10 stable-cache-token-11 stable-cache-token-12 stable-cache-token-13 stable-cache-token-14 stable-cache-token-15 stable-cache-token-16 stable-cache-token-17 stable-cache-token-18 stable-cache-token-19 stable-cache-token-20 stable-cache-token-21 stable-cache-token-22 stable-cache-token-23 stable-cache-token-24 stable-cache-token-25 stable-cache-token-26 stable-cache-token-27 stable-cache-token-28 stable-cache-token-29 stable-cache-token-30 stable-cache-token-31 stable-cache-token-32 stable-cache-token-33 stable-cache-token-34 stable-cache-token-35 stable-cache-token-36 stable-cache-token-37 stable-cache-token-38 stable-cache-token-39 stable-cache-token-40 stable-cache-token-41 stable-cache-token-42 stable-cache-token-43 stable-cache-token-44 stable-cache-token-45 stable-cache-token-46 stable-cache-token-47 stable-cache-token-48 stable-cache-token-49 stable-cache-token-50 stable-cache-token-51 stable-cache-token-52 stable-cache-token-53 stable-cache-token-54 stable-cache-token-55 stable-cache-token-56 stable-cache-token-57 stable-cache-token-58 stable-cache-token-59 stable-cache-token-60 stable-cache-token-61 stable-cache-token-62 stable-cache-token-63 stable-cache-token-64 stable-cache-token-65 stable-cache-token-66 stable-cache-token-67 stable-cache-token-68 stable-cache-token-69 stable-cache-token-70 stable-cache-token-71 stable-cache-token-72 stable-cache-token-73 stable-cache-token-74 stable-cache-token-75 stable-cache-token-76 stable-cache-token-77 stable-cache-token-78 stable-cache-token-79 stable-cache-token-80 stable-cache-token-81 stable-cache-token-82 stable-cache-token-83 stable-cache-token-84 stable-cache-token-85 stable-cache-token-86 stable-cache-token-87 stable-cache-token-88 stable-cache-token-89 stable-cache-token-90 stable-cache-token-91 stable-cache-token-92 stable-cache-token-93 stable-cache-token-94 stable-cache-token-95 stable-cache-token-96 stable-cache-token-97 stable-cache-token-98 stable-cache-token-99 stable-cache-token-100 stable-cache-token-101 stable-cache-token-102 stable-cache-token-103 stable-cache-token-104 stable-cache-token-105 stable-cache-token-106 stable-cache-token-107 stable-cache-token-108 stable-cache-token-109 stable-cache-token-110 stable-cache-token-111 stable-cache-token-112 stable-cache-token-113 stable-cache-token-114 stable-cache-token-115 stable-cache-token-116 stable-cache-token-117 stable-cache-token-118 stable-cache-token-119 stable-cache-token-120 stable-cache-token-121 stable-cache-token-122 stable-cache-token-123 stable-cache-token-124 stable-cache-token-125 stable-cache-token-126 stable-cache-token-127 stable-cache-token-128 stable-cache-token-129 stable-cache-token-130 stable-cache-token-131 stable-cache-token-132 stable-cache-token-133 stable-cache-token-134 stable-cache-token-135 stable-cache-token-136 stable-cache-token-137 stable-cache-token-138 stable-cache-token-139 stable-cache-token-140 stable-cache-token-141 stable-cache-token-142 stable-cache-token-143 stable-cache-token-144 stable-cache-token-145 stable-cache-token-146 stable-cache-token-147 stable-cache-token-148 stable-cache-token-149 stable-cache-token-150 stable-cache-token-151 stable-cache-token-152 stable-cache-token-153 stable-cache-token-154 stable-cache-token-155 stable-cache-token-156 stable-cache-token-157 stable-cache-token-158 stable-cache-token-159 stable-cache-token-160 stable-cache-token-161 stable-cache-token-162 stable-cache-token-163 stable-cache-token-164 stable-cache-token-165 stable-cache-token-166 stable-cache-token-167 stable-cache-token-168 stable-cache-token-169 stable-cache-token-170 stable-cache-token-171 stable-cache-token-172 stable-cache-token-173 stable-cache-token-174 stable-cache-token-175 stable-cache-token-176 stable-cache-token-177 stable-cache-token-178 stable-cache-token-179 stable-cache-token-180 stable-cache-token-181 stable-cache-token-182 stable-cache-token-183 stable-cache-token-184 stable-cache-token-185 stable-cache-token-186 stable-cache-token-187 stable-cache-token-188 stable-cache-token-189 stable-cache-token-190 stable-cache-token-191 stable-cache-token-192 stable-cache-token-193 stable-cache-token-194 stable-cache-token-195 stable-cache-token-196 stable-cache-token-197 stable-cache-token-198 stable-cache-token-199 stable-cache-token-200 stable-cache-token-201 stable-cache-token-202 stable-cache-token-203 stable-cache-token-204 stable-cache-token-205 stable-cache-token-206 stable-cache-token-207 stable-cache-token-208 stable-cache-token-209 stable-cache-token-210 stable-cache-token-211 stable-cache-token-212 stable-cache-token-213 stable-cache-token-214 stable-cache-token-215 stable-cache-token-216 stable-cache-token-217 stable-cache-token-218 stable-cache-token-219 stable-cache-token-220 stable-cache-token-221 stable-cache-token-222 stable-cache-token-223 stable-cache-token-224 stable-cache-token-225 stable-cache-token-226 stable-cache-token-227 stable-cache-token-228 stable-cache-token-229 stable-cache-token-230 stable-cache-token-231 stable-cache-token-232 stable-cache-token-233 stable-cache-token-234 stable-cache-token-235 stable-cache-token-236 stable-cache-token-237 stable-cache-token-238 stable-cache-token-239 stable-cache-token-240 stable-cache-token-241 stable-cache-token-242 stable-cache-token-243 stable-cache-token-244 stable-cache-token-245 stable-cache-token-246 stable-cache-token-247 stable-cache-token-248 stable-cache-token-249 stable-cache-token-250 stable-cache-token-251 stable-cache-token-252 stable-cache-token-253 stable-cache-token-254 stable-cache-token-255 stable-cache-token-256 stable-cache-token-257 stable-cache-token-258 stable-cache-token-259 stable-cache-token-260 stable-cache-token-261 stable-cache-token-262 stable-cache-token-263 stable-cache-token-264 stable-cache-token-265 stable-cache-token-266 stable-cache-token-267 stable-cache-token-268 stable-cache-token-269 stable-cache-token-270 stable-cache-token-271 stable-cache-token-272 stable-cache-token-273 stable-cache-token-274 stable-cache-token-275 stable-cache-token-276 stable-cache-token-277 stable-cache-token-278 stable-cache-token-279 stable-cache-token-280 stable-cache-token-281 stable-cache-token-282 stable-cache-token-283 stable-cache-token-284 stable-cache-token-285 stable-cache-token-286 stable-cache-token-287 stable-cache-token-288 stable-cache-token-289 stable-cache-token-290 stable-cache-token-291 stable-cache-token-292 stable-cache-token-293 stable-cache-token-294 stable-cache-token-295 stable-cache-token-296 stable-cache-token-297 stable-cache-token-298 stable-cache-token-299 stable-cache-token-300 stable-cache-token-301 stable-cache-token-302 stable-cache-token-303 stable-cache-token-304 stable-cache-token-305 stable-cache-token-306 stable-cache-token-307 stable-cache-token-308 stable-cache-token-309 stable-cache-token-310 stable-cache-token-311 stable-cache-token-312 stable-cache-token-313 stable-cache-token-314 stable-cache-token-315 stable-cache-token-316 stable-cache-token-317 stable-cache-token-318 stable-cache-token-319 stable-cache-token-320 stable-cache-token-321 stable-cache-token-322 stable-cache-token-323 stable-cache-token-324 stable-cache-token-325 stable-cache-token-326 stable-cache-token-327 stable-cache-token-328 stable-cache-token-329 stable-cache-token-330 stable-cache-token-331 stable-cache-token-332 stable-cache-token-333 stable-cache-token-334 stable-cache-token-335 stable-cache-token-336 stable-cache-token-337 stable-cache-token-338 stable-cache-token-339 stable-cache-token-340 stable-cache-token-341 stable-cache-token-342 stable-cache-token-343 stable-cache-token-344 stable-cache-token-345 stable-cache-token-346 stable-cache-token-347 stable-cache-token-348 stable-cache-token-349 stable-cache-token-350 stable-cache-token-351 stable-cache-token-352 stable-cache-token-353 stable-cache-token-354 stable-cache-token-355 stable-cache-token-356 stable-cache-token-357 stable-cache-token-358 stable-cache-token-359 stable-cache-token-360 stable-cache-token-361 stable-cache-token-362 stable-cache-token-363 stable-cache-token-364 stable-cache-token-365 stable-cache-token-366 stable-cache-token-367 stable-cache-token-368 stable-cache-token-369 stable-cache-token-370 stable-cache-token-371 stable-cache-token-372 stable-cache-token-373 stable-cache-token-374 stable-cache-token-375 stable-cache-token-376 stable-cache-token-377 stable-cache-token-378 stable-cache-token-379 stable-cache-token-380 stable-cache-token-381 stable-cache-token-382 stable-cache-token-383 stable-cache-token-384 stable-cache-token-385 stable-cache-token-386 stable-cache-token-387 stable-cache-token-388 stable-cache-token-389 stable-cache-token-390 stable-cache-token-391 stable-cache-token-392 stable-cache-token-393 stable-cache-token-394 stable-cache-token-395 stable-cache-token-396 stable-cache-token-397 stable-cache-token-398 stable-cache-token-399 stable-cache-token-400 stable-cache-token-401 stable-cache-token-402 stable-cache-token-403 stable-cache-token-404 stable-cache-token-405 stable-cache-token-406 stable-cache-token-407 stable-cache-token-408 stable-cache-token-409 stable-cache-token-410 stable-cache-token-411 stable-cache-token-412 stable-cache-token-413 stable-cache-token-414 stable-cache-token-415 stable-cache-token-416 stable-cache-token-417 stable-cache-token-418 stable-cache-token-419 stable-cache-token-420 stable-cache-token-421 stable-cache-token-422 stable-cache-token-423 stable-cache-token-424 stable-cache-token-425 stable-cache-token-426 stable-cache-token-427 stable-cache-token-428 stable-cache-token-429 stable-cache-token-430 stable-cache-token-431 stable-cache-token-432 stable-cache-token-433 stable-cache-token-434 stable-cache-token-435 stable-cache-token-436 stable-cache-token-437 stable-cache-token-438 stable-cache-token-439 stable-cache-token-440 stable-cache-token-441 stable-cache-token-442 stable-cache-token-443 stable-cache-token-444 stable-cache-token-445 stable-cache-token-446 stable-cache-token-447 stable-cache-token-448 stable-cache-token-449 stable-cache-token-450 stable-cache-token-451 stable-cache-token-452 stable-cache-token-453 stable-cache-token-454 stable-cache-token-455 stable-cache-token-456 stable-cache-token-457 stable-cache-token-458 stable-cache-token-459 stable-cache-token-460 stable-cache-token-461 stable-cache-token-462 stable-cache-token-463 stable-cache-token-464 stable-cache-token-465 stable-cache-token-466 stable-cache-token-467 stable-cache-token-468 stable-cache-token-469 stable-cache-token-470 stable-cache-token-471 stable-cache-token-472 stable-cache-token-473 stable-cache-token-474 stable-cache-token-475 stable-cache-token-476 stable-cache-token-477 stable-cache-token-478 stable-cache-token-479 stable-cache-token-480 stable-cache-token-481 stable-cache-token-482 stable-cache-token-483 stable-cache-token-484 stable-cache-token-485 stable-cache-token-486 stable-cache-token-487 stable-cache-token-488 stable-cache-token-489 stable-cache-token-490 stable-cache-token-491 stable-cache-token-492 stable-cache-token-493 stable-cache-token-494 stable-cache-token-495 stable-cache-token-496 stable-cache-token-497 stable-cache-token-498 stable-cache-token-499 stable-cache-token-500 stable-cache-token-501 stable-cache-token-502 stable-cache-token-503 stable-cache-token-504 stable-cache-token-505 stable-cache-token-506 stable-cache-token-507 stable-cache-token-508 stable-cache-token-509 stable-cache-token-510 stable-cache-token-511 stable-cache-token-512 stable-cache-token-513 stable-cache-token-514 stable-cache-token-515 stable-cache-token-516 stable-cache-token-517 stable-cache-token-518 stable-cache-token-519 stable-cache-token-520 stable-cache-token-521 stable-cache-token-522 stable-cache-token-523 stable-cache-token-524 stable-cache-token-525 stable-cache-token-526 stable-cache-token-527 stable-cache-token-528 stable-cache-token-529 stable-cache-token-530 stable-cache-token-531 stable-cache-token-532 stable-cache-token-533 stable-cache-token-534 stable-cache-token-535 stable-cache-token-536 stable-cache-token-537 stable-cache-token-538 stable-cache-token-539 stable-cache-token-540 stable-cache-token-541 stable-cache-token-542 stable-cache-token-543 stable-cache-token-544 stable-cache-token-545 stable-cache-token-546 stable-cache-token-547 stable-cache-token-548 stable-cache-token-549 stable-cache-token-550 stable-cache-token-551 stable-cache-token-552 stable-cache-token-553 stable-cache-token-554 stable-cache-token-555 stable-cache-token-556 stable-cache-token-557 stable-cache-token-558 stable-cache-token-559 stable-cache-token-560 stable-cache-token-561 stable-cache-token-562 stable-cache-token-563 stable-cache-token-564 stable-cache-token-565 stable-cache-token-566 stable-cache-token-567 stable-cache-token-568 stable-cache-token-569 stable-cache-token-570 stable-cache-token-571 stable-cache-token-572 stable-cache-token-573 stable-cache-token-574 stable-cache-token-575 stable-cache-token-576 stable-cache-token-577 stable-cache-token-578 stable-cache-token-579 stable-cache-token-580 stable-cache-token-581 stable-cache-token-582 stable-cache-token-583 stable-cache-token-584 stable-cache-token-585 stable-cache-token-586 stable-cache-token-587 stable-cache-token-588 stable-cache-token-589 stable-cache-token-590 stable-cache-token-591 stable-cache-token-592 stable-cache-token-593 stable-cache-token-594 stable-cache-token-595 stable-cache-token-596 stable-cache-token-597 stable-cache-token-598 stable-cache-token-599 stable-cache-token-600 stable-cache-token-601 stable-cache-token-602 stable-cache-token-603 stable-cache-token-604 stable-cache-token-605 stable-cache-token-606 stable-cache-token-607 stable-cache-token-608 stable-cache-token-609 stable-cache-token-610 stable-cache-token-611 stable-cache-token-612 stable-cache-token-613 stable-cache-token-614 stable-cache-token-615 stable-cache-token-616 stable-cache-token-617 stable-cache-token-618 stable-cache-token-619 stable-cache-token-620 stable-cache-token-621 stable-cache-token-622 stable-cache-token-623 stable-cache-token-624 stable-cache-token-625 stable-cache-token-626 stable-cache-token-627 stable-cache-token-628 stable-cache-token-629 stable-cache-token-630 stable-cache-token-631 stable-cache-token-632 stable-cache-token-633 stable-cache-token-634 stable-cache-token-635 stable-cache-token-636 stable-cache-token-637 stable-cache-token-638 stable-cache-token-639 stable-cache-token-640 stable-cache-token-641 stable-cache-token-642 stable-cache-token-643 stable-cache-token-644 stable-cache-token-645 stable-cache-token-646 stable-cache-token-647 stable-cache-token-648 stable-cache-token-649 stable-cache-token-650 stable-cache-token-651 stable-cache-token-652 stable-cache-token-653 stable-cache-token-654 stable-cache-token-655 stable-cache-token-656 stable-cache-token-657 stable-cache-token-658 stable-cache-token-659 stable-cache-token-660 stable-cache-token-661 stable-cache-token-662 stable-cache-token-663 stable-cache-token-664 stable-cache-token-665 stable-cache-token-666 stable-cache-token-667 stable-cache-token-668 stable-cache-token-669 stable-cache-token-670 stable-cache-token-671 stable-cache-token-672 stable-cache-token-673 stable-cache-token-674 stable-cache-token-675 stable-cache-token-676 stable-cache-token-677 stable-cache-token-678 stable-cache-token-679 stable-cache-token-680 stable-cache-token-681 stable-cache-token-682 stable-cache-token-683 stable-cache-token-684 stable-cache-token-685 stable-cache-token-686 stable-cache-token-687 stable-cache-token-688 stable-cache-token-689 stable-cache-token-690 stable-cache-token-691 stable-cache-token-692 stable-cache-token-693 stable-cache-token-694 stable-cache-token-695 stable-cache-token-696 stable-cache-token-697 stable-cache-token-698 stable-cache-token-699 stable-cache-token-700 stable-cache-token-701 stable-cache-token-702 stable-cache-token-703 stable-cache-token-704 stable-cache-token-705 stable-cache-token-706 stable-cache-token-707 stable-cache-token-708 stable-cache-token-709 stable-cache-token-710 stable-cache-token-711 stable-cache-token-712 stable-cache-token-713 stable-cache-token-714 stable-cache-token-715 stable-cache-token-716 stable-cache-token-717 stable-cache-token-718 stable-cache-token-719 stable-cache-token-720 stable-cache-token-721 stable-cache-token-722 stable-cache-token-723 stable-cache-token-724 stable-cache-token-725 stable-cache-token-726 stable-cache-token-727 stable-cache-token-728 stable-cache-token-729 stable-cache-token-730 stable-cache-token-731 stable-cache-token-732 stable-cache-token-733 stable-cache-token-734 stable-cache-token-735 stable-cache-token-736 stable-cache-token-737 stable-cache-token-738 stable-cache-token-739 stable-cache-token-740 stable-cache-token-741 stable-cache-token-742 stable-cache-token-743 stable-cache-token-744 stable-cache-token-745 stable-cache-token-746 stable-cache-token-747 stable-cache-token-748 stable-cache-token-749 stable-cache-token-750 stable-cache-token-751 stable-cache-token-752 stable-cache-token-753 stable-cache-token-754 stable-cache-token-755 stable-cache-token-756 stable-cache-token-757 stable-cache-token-758 stable-cache-token-759 stable-cache-token-760 stable-cache-token-761 stable-cache-token-762 stable-cache-token-763 stable-cache-token-764 stable-cache-token-765 stable-cache-token-766 stable-cache-token-767 stable-cache-token-768 stable-cache-token-769 stable-cache-token-770 stable-cache-token-771 stable-cache-token-772 stable-cache-token-773 stable-cache-token-774 stable-cache-token-775 stable-cache-token-776 stable-cache-token-777 stable-cache-token-778 stable-cache-token-779 stable-cache-token-780 stable-cache-token-781 stable-cache-token-782 stable-cache-token-783 stable-cache-token-784 stable-cache-token-785 stable-cache-token-786 stable-cache-token-787 stable-cache-token-788 stable-cache-token-789 stable-cache-token-790 stable-cache-token-791 stable-cache-token-792 stable-cache-token-793 stable-cache-token-794 stable-cache-token-795 stable-cache-token-796 stable-cache-token-797 stable-cache-token-798 stable-cache-token-799 stable-cache-token-800 stable-cache-token-801 stable-cache-token-802 stable-cache-token-803 stable-cache-token-804 stable-cache-token-805 stable-cache-token-806 stable-cache-token-807 stable-cache-token-808 stable-cache-token-809 stable-cache-token-810 stable-cache-token-811 stable-cache-token-812 stable-cache-token-813 stable-cache-token-814 stable-cache-token-815 stable-cache-token-816 stable-cache-token-817 stable-cache-token-818 stable-cache-token-819 stable-cache-token-820 stable-cache-token-821 stable-cache-token-822 stable-cache-token-823 stable-cache-token-824 stable-cache-token-825 stable-cache-token-826 stable-cache-token-827 stable-cache-token-828 stable-cache-token-829 stable-cache-token-830 stable-cache-token-831 stable-cache-token-832 stable-cache-token-833 stable-cache-token-834 stable-cache-token-835 stable-cache-token-836 stable-cache-token-837 stable-cache-token-838 stable-cache-token-839 stable-cache-token-840 stable-cache-token-841 stable-cache-token-842 stable-cache-token-843 stable-cache-token-844 stable-cache-token-845 stable-cache-token-846 stable-cache-token-847 stable-cache-token-848 stable-cache-token-849 stable-cache-token-850 stable-cache-token-851 stable-cache-token-852 stable-cache-token-853 stable-cache-token-854 stable-cache-token-855 stable-cache-token-856 stable-cache-token-857 stable-cache-token-858 stable-cache-token-859 stable-cache-token-860 stable-cache-token-861 stable-cache-token-862 stable-cache-token-863 stable-cache-token-864 stable-cache-token-865 stable-cache-token-866 stable-cache-token-867 stable-cache-token-868 stable-cache-token-869 stable-cache-token-870 stable-cache-token-871 stable-cache-token-872 stable-cache-token-873 stable-cache-token-874 stable-cache-token-875 stable-cache-token-876 stable-cache-token-877 stable-cache-token-878 stable-cache-token-879 stable-cache-token-880 stable-cache-token-881 stable-cache-token-882 stable-cache-token-883 stable-cache-token-884 stable-cache-token-885 stable-cache-token-886 stable-cache-token-887 stable-cache-token-888 stable-cache-token-889 stable-cache-token-890 stable-cache-token-891 stable-cache-token-892 stable-cache-token-893 stable-cache-token-894 stable-cache-token-895 stable-cache-token-896 stable-cache-token-897 stable-cache-token-898 stable-cache-token-899 stable-cache-token-900 stable-cache-token-901 stable-cache-token-902 stable-cache-token-903 stable-cache-token-904 stable-cache-token-905 stable-cache-token-906 stable-cache-token-907 stable-cache-token-908 stable-cache-token-909 stable-cache-token-910 stable-cache-token-911 stable-cache-token-912 stable-cache-token-913 stable-cache-token-914 stable-cache-token-915 stable-cache-token-916 stable-cache-token-917 stable-cache-token-918 stable-cache-token-919 stable-cache-token-920 stable-cache-token-921 stable-cache-token-922 stable-cache-token-923 stable-cache-token-924 stable-cache-token-925 stable-cache-token-926 stable-cache-token-927 stable-cache-token-928 stable-cache-token-929 stable-cache-token-930 stable-cache-token-931 stable-cache-token-932 stable-cache-token-933 stable-cache-token-934 stable-cache-token-935 stable-cache-token-936 stable-cache-token-937 stable-cache-token-938 stable-cache-token-939 stable-cache-token-940 stable-cache-token-941 stable-cache-token-942 stable-cache-token-943 stable-cache-token-944 stable-cache-token-945 stable-cache-token-946 stable-cache-token-947 stable-cache-token-948 stable-cache-token-949 stable-cache-token-950 stable-cache-token-951 stable-cache-token-952 stable-cache-token-953 stable-cache-token-954 stable-cache-token-955 stable-cache-token-956 stable-cache-token-957 stable-cache-token-958 stable-cache-token-959 stable-cache-token-960 stable-cache-token-961 stable-cache-token-962 stable-cache-token-963 stable-cache-token-964 stable-cache-token-965 stable-cache-token-966 stable-cache-token-967 stable-cache-token-968 stable-cache-token-969 stable-cache-token-970 stable-cache-token-971 stable-cache-token-972 stable-cache-token-973 stable-cache-token-974 stable-cache-token-975 stable-cache-token-976 stable-cache-token-977 stable-cache-token-978 stable-cache-token-979 stable-cache-token-980 stable-cache-token-981 stable-cache-token-982 stable-cache-token-983 stable-cache-token-984 stable-cache-token-985 stable-cache-token-986 stable-cache-token-987 stable-cache-token-988 stable-cache-token-989 stable-cache-token-990 stable-cache-token-991 stable-cache-token-992 stable-cache-token-993 stable-cache-token-994 stable-cache-token-995 stable-cache-token-996 stable-cache-token-997 stable-cache-token-998 stable-cache-token-999 stable-cache-token-1000 stable-cache-token-1001 stable-cache-token-1002 stable-cache-token-1003 stable-cache-token-1004 stable-cache-token-1005 stable-cache-token-1006 stable-cache-token-1007 stable-cache-token-1008 stable-cache-token-1009 stable-cache-token-1010 stable-cache-token-1011 stable-cache-token-1012 stable-cache-token-1013 stable-cache-token-1014 stable-cache-token-1015 stable-cache-token-1016 stable-cache-token-1017 stable-cache-token-1018 stable-cache-token-1019 stable-cache-token-1020 stable-cache-token-1021 stable-cache-token-1022 stable-cache-token-1023 stable-cache-token-1024 stable-cache-token-1025 stable-cache-token-1026 stable-cache-token-1027 stable-cache-token-1028 stable-cache-token-1029 stable-cache-token-1030 stable-cache-token-1031 stable-cache-token-1032 stable-cache-token-1033 stable-cache-token-1034 stable-cache-token-1035 stable-cache-token-1036 stable-cache-token-1037 stable-cache-token-1038 stable-cache-token-1039 stable-cache-token-1040 stable-cache-token-1041 stable-cache-token-1042 stable-cache-token-1043 stable-cache-token-1044 stable-cache-token-1045 stable-cache-token-1046 stable-cache-token-1047 stable-cache-token-1048 stable-cache-token-1049 stable-cache-token-1050 stable-cache-token-1051 stable-cache-token-1052 stable-cache-token-1053 stable-cache-token-1054 stable-cache-token-1055 stable-cache-token-1056 stable-cache-token-1057 stable-cache-token-1058 stable-cache-token-1059 stable-cache-token-1060 stable-cache-token-1061 stable-cache-token-1062 stable-cache-token-1063 stable-cache-token-1064 stable-cache-token-1065 stable-cache-token-1066 stable-cache-token-1067 stable-cache-token-1068 stable-cache-token-1069 stable-cache-token-1070 stable-cache-token-1071 stable-cache-token-1072 stable-cache-token-1073 stable-cache-token-1074 stable-cache-token-1075 stable-cache-token-1076 stable-cache-token-1077 stable-cache-token-1078 stable-cache-token-1079 stable-cache-token-1080 stable-cache-token-1081 stable-cache-token-1082 stable-cache-token-1083 stable-cache-token-1084 stable-cache-token-1085 stable-cache-token-1086 stable-cache-token-1087 stable-cache-token-1088 stable-cache-token-1089 stable-cache-token-1090 stable-cache-token-1091 stable-cache-token-1092 stable-cache-token-1093 stable-cache-token-1094 stable-cache-token-1095 stable-cache-token-1096 stable-cache-token-1097 stable-cache-token-1098 stable-cache-token-1099 stable-cache-token-1100 stable-cache-token-1101 stable-cache-token-1102 stable-cache-token-1103 stable-cache-token-1104 stable-cache-token-1105 stable-cache-token-1106 stable-cache-token-1107 stable-cache-token-1108 stable-cache-token-1109 stable-cache-token-1110 stable-cache-token-1111 stable-cache-token-1112 stable-cache-token-1113 stable-cache-token-1114 stable-cache-token-1115 stable-cache-token-1116 stable-cache-token-1117 stable-cache-token-1118 stable-cache-token-1119 stable-cache-token-1120 stable-cache-token-1121 stable-cache-token-1122 stable-cache-token-1123 stable-cache-token-1124 stable-cache-token-1125 stable-cache-token-1126 stable-cache-token-1127 stable-cache-token-1128 stable-cache-token-1129 stable-cache-token-1130 stable-cache-token-1131 stable-cache-token-1132 stable-cache-token-1133 stable-cache-token-1134 stable-cache-token-1135 stable-cache-token-1136 stable-cache-token-1137 stable-cache-token-1138 stable-cache-token-1139 stable-cache-token-1140 stable-cache-token-1141 stable-cache-token-1142 stable-cache-token-1143 stable-cache-token-1144 stable-cache-token-1145 stable-cache-token-1146 stable-cache-token-1147 stable-cache-token-1148 stable-cache-token-1149 stable-cache-token-1150 stable-cache-token-1151 stable-cache-token-1152 stable-cache-token-1153 stable-cache-token-1154 stable-cache-token-1155 stable-cache-token-1156 stable-cache-token-1157 stable-cache-token-1158 stable-cache-token-1159 stable-cache-token-1160 stable-cache-token-1161 stable-cache-token-1162 stable-cache-token-1163 stable-cache-token-1164 stable-cache-token-1165 stable-cache-token-1166 stable-cache-token-1167 stable-cache-token-1168 stable-cache-token-1169 stable-cache-token-1170 stable-cache-token-1171 stable-cache-token-1172 stable-cache-token-1173 stable-cache-token-1174 stable-cache-token-1175 stable-cache-token-1176 stable-cache-token-1177 stable-cache-token-1178 stable-cache-token-1179 stable-cache-token-1180 stable-cache-token-1181 stable-cache-token-1182 stable-cache-token-1183 stable-cache-token-1184 stable-cache-token-1185 stable-cache-token-1186 stable-cache-token-1187 stable-cache-token-1188 stable-cache-token-1189 stable-cache-token-1190 stable-cache-token-1191 stable-cache-token-1192 stable-cache-token-1193 stable-cache-token-1194 stable-cache-token-1195 stable-cache-token-1196 stable-cache-token-1197 stable-cache-token-1198 stable-cache-token-1199 stable-cache-token-1200 stable-cache-token-1201 stable-cache-token-1202 stable-cache-token-1203 stable-cache-token-1204 stable-cache-token-1205 stable-cache-token-1206 stable-cache-token-1207 stable-cache-token-1208 stable-cache-token-1209 stable-cache-token-1210 stable-cache-token-1211 stable-cache-token-1212 stable-cache-token-1213 stable-cache-token-1214 stable-cache-token-1215 stable-cache-token-1216 stable-cache-token-1217 stable-cache-token-1218 stable-cache-token-1219 stable-cache-token-1220 stable-cache-token-1221 stable-cache-token-1222 stable-cache-token-1223 stable-cache-token-1224 stable-cache-token-1225 stable-cache-token-1226 stable-cache-token-1227 stable-cache-token-1228 stable-cache-token-1229 stable-cache-token-1230 stable-cache-token-1231 stable-cache-token-1232 stable-cache-token-1233 stable-cache-token-1234 stable-cache-token-1235 stable-cache-token-1236 stable-cache-token-1237 stable-cache-token-1238 stable-cache-token-1239 stable-cache-token-1240 stable-cache-token-1241 stable-cache-token-1242 stable-cache-token-1243 stable-cache-token-1244 stable-cache-token-1245 stable-cache-token-1246 stable-cache-token-1247 stable-cache-token-1248 stable-cache-token-1249 stable-cache-token-1250 stable-cache-token-1251 stable-cache-token-1252 stable-cache-token-1253 stable-cache-token-1254 stable-cache-token-1255 stable-cache-token-1256 stable-cache-token-1257 stable-cache-token-1258 stable-cache-token-1259 stable-cache-token-1260 stable-cache-token-1261 stable-cache-token-1262 stable-cache-token-1263 stable-cache-token-1264 stable-cache-token-1265 stable-cache-token-1266 stable-cache-token-1267 stable-cache-token-1268 stable-cache-token-1269 stable-cache-token-1270 stable-cache-token-1271 stable-cache-token-1272 stable-cache-token-1273 stable-cache-token-1274 stable-cache-token-1275 stable-cache-token-1276 stable-cache-token-1277 stable-cache-token-1278 stable-cache-token-1279 stable-cache-token-1280 stable-cache-token-1281 stable-cache-token-1282 stable-cache-token-1283 stable-cache-token-1284 stable-cache-token-1285 stable-cache-token-1286 stable-cache-token-1287 stable-cache-token-1288 stable-cache-token-1289 stable-cache-token-1290 stable-cache-token-1291 stable-cache-token-1292 stable-cache-token-1293 stable-cache-token-1294 stable-cache-token-1295 stable-cache-token-1296 stable-cache-token-1297 stable-cache-token-1298 stable-cache-token-1299 stable-cache-token-1300 stable-cache-token-1301 stable-cache-token-1302 stable-cache-token-1303 stable-cache-token-1304 stable-cache-token-1305 stable-cache-token-1306 stable-cache-token-1307 stable-cache-token-1308 stable-cache-token-1309 stable-cache-token-1310 stable-cache-token-1311 stable-cache-token-1312 stable-cache-token-1313 stable-cache-token-1314 stable-cache-token-1315 stable-cache-token-1316 stable-cache-token-1317 stable-cache-token-1318 stable-cache-token-1319 stable-cache-token-1320 stable-cache-token-1321 stable-cache-token-1322 stable-cache-token-1323 stable-cache-token-1324 stable-cache-token-1325 stable-cache-token-1326 stable-cache-token-1327 stable-cache-token-1328 stable-cache-token-1329 stable-cache-token-1330 stable-cache-token-1331 stable-cache-token-1332 stable-cache-token-1333 stable-cache-token-1334 stable-cache-token-1335 stable-cache-token-1336 stable-cache-token-1337 stable-cache-token-1338 stable-cache-token-1339 stable-cache-token-1340 stable-cache-token-1341 stable-cache-token-1342 stable-cache-token-1343 stable-cache-token-1344 stable-cache-token-1345 stable-cache-token-1346 stable-cache-token-1347 stable-cache-token-1348 stable-cache-token-1349 stable-cache-token-1350 stable-cache-token-1351 stable-cache-token-1352 stable-cache-token-1353 stable-cache-token-1354 stable-cache-token-1355 stable-cache-token-1356 stable-cache-token-1357 stable-cache-token-1358 stable-cache-token-1359 stable-cache-token-1360 stable-cache-token-1361 stable-cache-token-1362 stable-cache-token-1363 stable-cache-token-1364 stable-cache-token-1365 stable-cache-token-1366 stable-cache-token-1367 stable-cache-token-1368 stable-cache-token-1369 stable-cache-token-1370 stable-cache-token-1371 stable-cache-token-1372 stable-cache-token-1373 stable-cache-token-1374 stable-cache-token-1375 stable-cache-token-1376 stable-cache-token-1377 stable-cache-token-1378 stable-cache-token-1379 stable-cache-token-1380 stable-cache-token-1381 stable-cache-token-1382 stable-cache-token-1383 stable-cache-token-1384 stable-cache-token-1385 stable-cache-token-1386 stable-cache-token-1387 stable-cache-token-1388 stable-cache-token-1389 stable-cache-token-1390 stable-cache-token-1391 stable-cache-token-1392 stable-cache-token-1393 stable-cache-token-1394 stable-cache-token-1395 stable-cache-token-1396 stable-cache-token-1397 stable-cache-token-1398 stable-cache-token-1399 stable-cache-token-1400 stable-cache-token-1401 stable-cache-token-1402 stable-cache-token-1403 stable-cache-token-1404 stable-cache-token-1405 stable-cache-token-1406 stable-cache-token-1407 stable-cache-token-1408 stable-cache-token-1409 stable-cache-token-1410 stable-cache-token-1411 stable-cache-token-1412 stable-cache-token-1413 stable-cache-token-1414 stable-cache-token-1415 stable-cache-token-1416 stable-cache-token-1417 stable-cache-token-1418 stable-cache-token-1419 stable-cache-token-1420 stable-cache-token-1421 stable-cache-token-1422 stable-cache-token-1423 stable-cache-token-1424 stable-cache-token-1425 stable-cache-token-1426 stable-cache-token-1427 stable-cache-token-1428 stable-cache-token-1429 stable-cache-token-1430 stable-cache-token-1431 stable-cache-token-1432 stable-cache-token-1433 stable-cache-token-1434 stable-cache-token-1435 stable-cache-token-1436 stable-cache-token-1437 stable-cache-token-1438 stable-cache-token-1439 stable-cache-token-1440 stable-cache-token-1441 stable-cache-token-1442 stable-cache-token-1443 stable-cache-token-1444 stable-cache-token-1445 stable-cache-token-1446 stable-cache-token-1447 stable-cache-token-1448 stable-cache-token-1449 stable-cache-token-1450 stable-cache-token-1451 stable-cache-token-1452 stable-cache-token-1453 stable-cache-token-1454 stable-cache-token-1455 stable-cache-token-1456 stable-cache-token-1457 stable-cache-token-1458 stable-cache-token-1459 stable-cache-token-1460 stable-cache-token-1461 stable-cache-token-1462 stable-cache-token-1463 stable-cache-token-1464 stable-cache-token-1465 stable-cache-token-1466 stable-cache-token-1467 stable-cache-token-1468 stable-cache-token-1469 stable-cache-token-1470 stable-cache-token-1471 stable-cache-token-1472 stable-cache-token-1473 stable-cache-token-1474 stable-cache-token-1475 stable-cache-token-1476 stable-cache-token-1477 stable-cache-token-1478 stable-cache-token-1479 stable-cache-token-1480 stable-cache-token-1481 stable-cache-token-1482 stable-cache-token-1483 stable-cache-token-1484 stable-cache-token-1485 stable-cache-token-1486 stable-cache-token-1487 stable-cache-token-1488 stable-cache-token-1489 stable-cache-token-1490 stable-cache-token-1491 stable-cache-token-1492 stable-cache-token-1493 stable-cache-token-1494 stable-cache-token-1495 stable-cache-token-1496 stable-cache-token-1497 stable-cache-token-1498 stable-cache-token-1499 stable-cache-token-1500 stable-cache-token-1501 stable-cache-token-1502 stable-cache-token-1503 stable-cache-token-1504 stable-cache-token-1505 stable-cache-token-1506 stable-cache-token-1507 stable-cache-token-1508 stable-cache-token-1509 stable-cache-token-1510 stable-cache-token-1511 stable-cache-token-1512 stable-cache-token-1513 stable-cache-token-1514 stable-cache-token-1515 stable-cache-token-1516 stable-cache-token-1517 stable-cache-token-1518 stable-cache-token-1519 stable-cache-token-1520 stable-cache-token-1521 stable-cache-token-1522 stable-cache-token-1523 stable-cache-token-1524 stable-cache-token-1525 stable-cache-token-1526 stable-cache-token-1527 stable-cache-token-1528 stable-cache-token-1529 stable-cache-token-1530 stable-cache-token-1531 stable-cache-token-1532 stable-cache-token-1533 stable-cache-token-1534 stable-cache-token-1535 stable-cache-token-1536 stable-cache-token-1537 stable-cache-token-1538 stable-cache-token-1539 stable-cache-token-1540 stable-cache-token-1541 stable-cache-token-1542 stable-cache-token-1543 stable-cache-token-1544 stable-cache-token-1545 stable-cache-token-1546 stable-cache-token-1547 stable-cache-token-1548 stable-cache-token-1549 stable-cache-token-1550 stable-cache-token-1551 stable-cache-token-1552 stable-cache-token-1553 stable-cache-token-1554 stable-cache-token-1555 stable-cache-token-1556 stable-cache-token-1557 stable-cache-token-1558 stable-cache-token-1559 stable-cache-token-1560 stable-cache-token-1561 stable-cache-token-1562 stable-cache-token-1563 stable-cache-token-1564 stable-cache-token-1565 stable-cache-token-1566 stable-cache-token-1567 stable-cache-token-1568 stable-cache-token-1569 stable-cache-token-1570 stable-cache-token-1571 stable-cache-token-1572 stable-cache-token-1573 stable-cache-token-1574 stable-cache-token-1575 stable-cache-token-1576 stable-cache-token-1577 stable-cache-token-1578 stable-cache-token-1579 stable-cache-token-1580 stable-cache-token-1581 stable-cache-token-1582 stable-cache-token-1583 stable-cache-token-1584 stable-cache-token-1585 stable-cache-token-1586 stable-cache-token-1587 stable-cache-token-1588 stable-cache-token-1589 stable-cache-token-1590 stable-cache-token-1591 stable-cache-token-1592 stable-cache-token-1593 stable-cache-token-1594 stable-cache-token-1595 stable-cache-token-1596 stable-cache-token-1597 stable-cache-token-1598 stable-cache-token-1599\nUse this stable cache context only to exercise Bedrock prompt caching in this e2e scenario." + }, + { + "cachePoint": { + "type": "default" + } + }, + { + "text": "Reply with exactly OK." + } + ], + "role": "user" + } + ] + } + }, + "headers": {}, + "method": "POST", + "url": "https://bedrock-runtime.us-east-2.amazonaws.com/model/us.amazon.nova-lite-v1%3A0/converse" + }, + "response": { + "body": { + "kind": "json", + "value": { + "metrics": { + "latencyMs": 575 + }, + "output": { + "message": { + "content": [ + { + "text": "OK" + } + ], + "role": "assistant" + } + }, + "stopReason": "end_turn", + "usage": { + "cacheReadInputTokenCount": 14921, + "cacheReadInputTokens": 14921, + "cacheWriteInputTokenCount": 0, + "cacheWriteInputTokens": 0, + "inputTokens": 6, + "outputTokens": 2, + "serverToolUsage": {}, + "totalTokens": 14929 + } + } + }, + "headers": { + "connection": "keep-alive", + "content-length": "323", + "content-type": "application/json", + "date": "[REDACTED]", + "x-amzn-requestid": "[REDACTED]" + }, + "status": 200, + "statusText": "OK" + } + }, + { + "callIndex": 0, + "id": "5f6e11e6074e64db", + "matchKey": "POST bedrock-runtime.aws-region.amazonaws.com/model/us.amazon.nova-lite-v1%3A0/converse-stream", + "recordedAt": "2026-09-14T10:22:50.166Z", + "request": { + "body": { + "kind": "json", + "value": { + "inferenceConfig": { + "maxTokens": 16, + "temperature": 0, + "topP": 0.9 + }, + "messages": [ + { + "content": [ + { + "text": "BRAINTRUST_BEDROCK_CACHE_CONTEXT\nstable-cache-token-0 stable-cache-token-1 stable-cache-token-2 stable-cache-token-3 stable-cache-token-4 stable-cache-token-5 stable-cache-token-6 stable-cache-token-7 stable-cache-token-8 stable-cache-token-9 stable-cache-token-10 stable-cache-token-11 stable-cache-token-12 stable-cache-token-13 stable-cache-token-14 stable-cache-token-15 stable-cache-token-16 stable-cache-token-17 stable-cache-token-18 stable-cache-token-19 stable-cache-token-20 stable-cache-token-21 stable-cache-token-22 stable-cache-token-23 stable-cache-token-24 stable-cache-token-25 stable-cache-token-26 stable-cache-token-27 stable-cache-token-28 stable-cache-token-29 stable-cache-token-30 stable-cache-token-31 stable-cache-token-32 stable-cache-token-33 stable-cache-token-34 stable-cache-token-35 stable-cache-token-36 stable-cache-token-37 stable-cache-token-38 stable-cache-token-39 stable-cache-token-40 stable-cache-token-41 stable-cache-token-42 stable-cache-token-43 stable-cache-token-44 stable-cache-token-45 stable-cache-token-46 stable-cache-token-47 stable-cache-token-48 stable-cache-token-49 stable-cache-token-50 stable-cache-token-51 stable-cache-token-52 stable-cache-token-53 stable-cache-token-54 stable-cache-token-55 stable-cache-token-56 stable-cache-token-57 stable-cache-token-58 stable-cache-token-59 stable-cache-token-60 stable-cache-token-61 stable-cache-token-62 stable-cache-token-63 stable-cache-token-64 stable-cache-token-65 stable-cache-token-66 stable-cache-token-67 stable-cache-token-68 stable-cache-token-69 stable-cache-token-70 stable-cache-token-71 stable-cache-token-72 stable-cache-token-73 stable-cache-token-74 stable-cache-token-75 stable-cache-token-76 stable-cache-token-77 stable-cache-token-78 stable-cache-token-79 stable-cache-token-80 stable-cache-token-81 stable-cache-token-82 stable-cache-token-83 stable-cache-token-84 stable-cache-token-85 stable-cache-token-86 stable-cache-token-87 stable-cache-token-88 stable-cache-token-89 stable-cache-token-90 stable-cache-token-91 stable-cache-token-92 stable-cache-token-93 stable-cache-token-94 stable-cache-token-95 stable-cache-token-96 stable-cache-token-97 stable-cache-token-98 stable-cache-token-99 stable-cache-token-100 stable-cache-token-101 stable-cache-token-102 stable-cache-token-103 stable-cache-token-104 stable-cache-token-105 stable-cache-token-106 stable-cache-token-107 stable-cache-token-108 stable-cache-token-109 stable-cache-token-110 stable-cache-token-111 stable-cache-token-112 stable-cache-token-113 stable-cache-token-114 stable-cache-token-115 stable-cache-token-116 stable-cache-token-117 stable-cache-token-118 stable-cache-token-119 stable-cache-token-120 stable-cache-token-121 stable-cache-token-122 stable-cache-token-123 stable-cache-token-124 stable-cache-token-125 stable-cache-token-126 stable-cache-token-127 stable-cache-token-128 stable-cache-token-129 stable-cache-token-130 stable-cache-token-131 stable-cache-token-132 stable-cache-token-133 stable-cache-token-134 stable-cache-token-135 stable-cache-token-136 stable-cache-token-137 stable-cache-token-138 stable-cache-token-139 stable-cache-token-140 stable-cache-token-141 stable-cache-token-142 stable-cache-token-143 stable-cache-token-144 stable-cache-token-145 stable-cache-token-146 stable-cache-token-147 stable-cache-token-148 stable-cache-token-149 stable-cache-token-150 stable-cache-token-151 stable-cache-token-152 stable-cache-token-153 stable-cache-token-154 stable-cache-token-155 stable-cache-token-156 stable-cache-token-157 stable-cache-token-158 stable-cache-token-159 stable-cache-token-160 stable-cache-token-161 stable-cache-token-162 stable-cache-token-163 stable-cache-token-164 stable-cache-token-165 stable-cache-token-166 stable-cache-token-167 stable-cache-token-168 stable-cache-token-169 stable-cache-token-170 stable-cache-token-171 stable-cache-token-172 stable-cache-token-173 stable-cache-token-174 stable-cache-token-175 stable-cache-token-176 stable-cache-token-177 stable-cache-token-178 stable-cache-token-179 stable-cache-token-180 stable-cache-token-181 stable-cache-token-182 stable-cache-token-183 stable-cache-token-184 stable-cache-token-185 stable-cache-token-186 stable-cache-token-187 stable-cache-token-188 stable-cache-token-189 stable-cache-token-190 stable-cache-token-191 stable-cache-token-192 stable-cache-token-193 stable-cache-token-194 stable-cache-token-195 stable-cache-token-196 stable-cache-token-197 stable-cache-token-198 stable-cache-token-199 stable-cache-token-200 stable-cache-token-201 stable-cache-token-202 stable-cache-token-203 stable-cache-token-204 stable-cache-token-205 stable-cache-token-206 stable-cache-token-207 stable-cache-token-208 stable-cache-token-209 stable-cache-token-210 stable-cache-token-211 stable-cache-token-212 stable-cache-token-213 stable-cache-token-214 stable-cache-token-215 stable-cache-token-216 stable-cache-token-217 stable-cache-token-218 stable-cache-token-219 stable-cache-token-220 stable-cache-token-221 stable-cache-token-222 stable-cache-token-223 stable-cache-token-224 stable-cache-token-225 stable-cache-token-226 stable-cache-token-227 stable-cache-token-228 stable-cache-token-229 stable-cache-token-230 stable-cache-token-231 stable-cache-token-232 stable-cache-token-233 stable-cache-token-234 stable-cache-token-235 stable-cache-token-236 stable-cache-token-237 stable-cache-token-238 stable-cache-token-239 stable-cache-token-240 stable-cache-token-241 stable-cache-token-242 stable-cache-token-243 stable-cache-token-244 stable-cache-token-245 stable-cache-token-246 stable-cache-token-247 stable-cache-token-248 stable-cache-token-249 stable-cache-token-250 stable-cache-token-251 stable-cache-token-252 stable-cache-token-253 stable-cache-token-254 stable-cache-token-255 stable-cache-token-256 stable-cache-token-257 stable-cache-token-258 stable-cache-token-259 stable-cache-token-260 stable-cache-token-261 stable-cache-token-262 stable-cache-token-263 stable-cache-token-264 stable-cache-token-265 stable-cache-token-266 stable-cache-token-267 stable-cache-token-268 stable-cache-token-269 stable-cache-token-270 stable-cache-token-271 stable-cache-token-272 stable-cache-token-273 stable-cache-token-274 stable-cache-token-275 stable-cache-token-276 stable-cache-token-277 stable-cache-token-278 stable-cache-token-279 stable-cache-token-280 stable-cache-token-281 stable-cache-token-282 stable-cache-token-283 stable-cache-token-284 stable-cache-token-285 stable-cache-token-286 stable-cache-token-287 stable-cache-token-288 stable-cache-token-289 stable-cache-token-290 stable-cache-token-291 stable-cache-token-292 stable-cache-token-293 stable-cache-token-294 stable-cache-token-295 stable-cache-token-296 stable-cache-token-297 stable-cache-token-298 stable-cache-token-299 stable-cache-token-300 stable-cache-token-301 stable-cache-token-302 stable-cache-token-303 stable-cache-token-304 stable-cache-token-305 stable-cache-token-306 stable-cache-token-307 stable-cache-token-308 stable-cache-token-309 stable-cache-token-310 stable-cache-token-311 stable-cache-token-312 stable-cache-token-313 stable-cache-token-314 stable-cache-token-315 stable-cache-token-316 stable-cache-token-317 stable-cache-token-318 stable-cache-token-319 stable-cache-token-320 stable-cache-token-321 stable-cache-token-322 stable-cache-token-323 stable-cache-token-324 stable-cache-token-325 stable-cache-token-326 stable-cache-token-327 stable-cache-token-328 stable-cache-token-329 stable-cache-token-330 stable-cache-token-331 stable-cache-token-332 stable-cache-token-333 stable-cache-token-334 stable-cache-token-335 stable-cache-token-336 stable-cache-token-337 stable-cache-token-338 stable-cache-token-339 stable-cache-token-340 stable-cache-token-341 stable-cache-token-342 stable-cache-token-343 stable-cache-token-344 stable-cache-token-345 stable-cache-token-346 stable-cache-token-347 stable-cache-token-348 stable-cache-token-349 stable-cache-token-350 stable-cache-token-351 stable-cache-token-352 stable-cache-token-353 stable-cache-token-354 stable-cache-token-355 stable-cache-token-356 stable-cache-token-357 stable-cache-token-358 stable-cache-token-359 stable-cache-token-360 stable-cache-token-361 stable-cache-token-362 stable-cache-token-363 stable-cache-token-364 stable-cache-token-365 stable-cache-token-366 stable-cache-token-367 stable-cache-token-368 stable-cache-token-369 stable-cache-token-370 stable-cache-token-371 stable-cache-token-372 stable-cache-token-373 stable-cache-token-374 stable-cache-token-375 stable-cache-token-376 stable-cache-token-377 stable-cache-token-378 stable-cache-token-379 stable-cache-token-380 stable-cache-token-381 stable-cache-token-382 stable-cache-token-383 stable-cache-token-384 stable-cache-token-385 stable-cache-token-386 stable-cache-token-387 stable-cache-token-388 stable-cache-token-389 stable-cache-token-390 stable-cache-token-391 stable-cache-token-392 stable-cache-token-393 stable-cache-token-394 stable-cache-token-395 stable-cache-token-396 stable-cache-token-397 stable-cache-token-398 stable-cache-token-399 stable-cache-token-400 stable-cache-token-401 stable-cache-token-402 stable-cache-token-403 stable-cache-token-404 stable-cache-token-405 stable-cache-token-406 stable-cache-token-407 stable-cache-token-408 stable-cache-token-409 stable-cache-token-410 stable-cache-token-411 stable-cache-token-412 stable-cache-token-413 stable-cache-token-414 stable-cache-token-415 stable-cache-token-416 stable-cache-token-417 stable-cache-token-418 stable-cache-token-419 stable-cache-token-420 stable-cache-token-421 stable-cache-token-422 stable-cache-token-423 stable-cache-token-424 stable-cache-token-425 stable-cache-token-426 stable-cache-token-427 stable-cache-token-428 stable-cache-token-429 stable-cache-token-430 stable-cache-token-431 stable-cache-token-432 stable-cache-token-433 stable-cache-token-434 stable-cache-token-435 stable-cache-token-436 stable-cache-token-437 stable-cache-token-438 stable-cache-token-439 stable-cache-token-440 stable-cache-token-441 stable-cache-token-442 stable-cache-token-443 stable-cache-token-444 stable-cache-token-445 stable-cache-token-446 stable-cache-token-447 stable-cache-token-448 stable-cache-token-449 stable-cache-token-450 stable-cache-token-451 stable-cache-token-452 stable-cache-token-453 stable-cache-token-454 stable-cache-token-455 stable-cache-token-456 stable-cache-token-457 stable-cache-token-458 stable-cache-token-459 stable-cache-token-460 stable-cache-token-461 stable-cache-token-462 stable-cache-token-463 stable-cache-token-464 stable-cache-token-465 stable-cache-token-466 stable-cache-token-467 stable-cache-token-468 stable-cache-token-469 stable-cache-token-470 stable-cache-token-471 stable-cache-token-472 stable-cache-token-473 stable-cache-token-474 stable-cache-token-475 stable-cache-token-476 stable-cache-token-477 stable-cache-token-478 stable-cache-token-479 stable-cache-token-480 stable-cache-token-481 stable-cache-token-482 stable-cache-token-483 stable-cache-token-484 stable-cache-token-485 stable-cache-token-486 stable-cache-token-487 stable-cache-token-488 stable-cache-token-489 stable-cache-token-490 stable-cache-token-491 stable-cache-token-492 stable-cache-token-493 stable-cache-token-494 stable-cache-token-495 stable-cache-token-496 stable-cache-token-497 stable-cache-token-498 stable-cache-token-499 stable-cache-token-500 stable-cache-token-501 stable-cache-token-502 stable-cache-token-503 stable-cache-token-504 stable-cache-token-505 stable-cache-token-506 stable-cache-token-507 stable-cache-token-508 stable-cache-token-509 stable-cache-token-510 stable-cache-token-511 stable-cache-token-512 stable-cache-token-513 stable-cache-token-514 stable-cache-token-515 stable-cache-token-516 stable-cache-token-517 stable-cache-token-518 stable-cache-token-519 stable-cache-token-520 stable-cache-token-521 stable-cache-token-522 stable-cache-token-523 stable-cache-token-524 stable-cache-token-525 stable-cache-token-526 stable-cache-token-527 stable-cache-token-528 stable-cache-token-529 stable-cache-token-530 stable-cache-token-531 stable-cache-token-532 stable-cache-token-533 stable-cache-token-534 stable-cache-token-535 stable-cache-token-536 stable-cache-token-537 stable-cache-token-538 stable-cache-token-539 stable-cache-token-540 stable-cache-token-541 stable-cache-token-542 stable-cache-token-543 stable-cache-token-544 stable-cache-token-545 stable-cache-token-546 stable-cache-token-547 stable-cache-token-548 stable-cache-token-549 stable-cache-token-550 stable-cache-token-551 stable-cache-token-552 stable-cache-token-553 stable-cache-token-554 stable-cache-token-555 stable-cache-token-556 stable-cache-token-557 stable-cache-token-558 stable-cache-token-559 stable-cache-token-560 stable-cache-token-561 stable-cache-token-562 stable-cache-token-563 stable-cache-token-564 stable-cache-token-565 stable-cache-token-566 stable-cache-token-567 stable-cache-token-568 stable-cache-token-569 stable-cache-token-570 stable-cache-token-571 stable-cache-token-572 stable-cache-token-573 stable-cache-token-574 stable-cache-token-575 stable-cache-token-576 stable-cache-token-577 stable-cache-token-578 stable-cache-token-579 stable-cache-token-580 stable-cache-token-581 stable-cache-token-582 stable-cache-token-583 stable-cache-token-584 stable-cache-token-585 stable-cache-token-586 stable-cache-token-587 stable-cache-token-588 stable-cache-token-589 stable-cache-token-590 stable-cache-token-591 stable-cache-token-592 stable-cache-token-593 stable-cache-token-594 stable-cache-token-595 stable-cache-token-596 stable-cache-token-597 stable-cache-token-598 stable-cache-token-599 stable-cache-token-600 stable-cache-token-601 stable-cache-token-602 stable-cache-token-603 stable-cache-token-604 stable-cache-token-605 stable-cache-token-606 stable-cache-token-607 stable-cache-token-608 stable-cache-token-609 stable-cache-token-610 stable-cache-token-611 stable-cache-token-612 stable-cache-token-613 stable-cache-token-614 stable-cache-token-615 stable-cache-token-616 stable-cache-token-617 stable-cache-token-618 stable-cache-token-619 stable-cache-token-620 stable-cache-token-621 stable-cache-token-622 stable-cache-token-623 stable-cache-token-624 stable-cache-token-625 stable-cache-token-626 stable-cache-token-627 stable-cache-token-628 stable-cache-token-629 stable-cache-token-630 stable-cache-token-631 stable-cache-token-632 stable-cache-token-633 stable-cache-token-634 stable-cache-token-635 stable-cache-token-636 stable-cache-token-637 stable-cache-token-638 stable-cache-token-639 stable-cache-token-640 stable-cache-token-641 stable-cache-token-642 stable-cache-token-643 stable-cache-token-644 stable-cache-token-645 stable-cache-token-646 stable-cache-token-647 stable-cache-token-648 stable-cache-token-649 stable-cache-token-650 stable-cache-token-651 stable-cache-token-652 stable-cache-token-653 stable-cache-token-654 stable-cache-token-655 stable-cache-token-656 stable-cache-token-657 stable-cache-token-658 stable-cache-token-659 stable-cache-token-660 stable-cache-token-661 stable-cache-token-662 stable-cache-token-663 stable-cache-token-664 stable-cache-token-665 stable-cache-token-666 stable-cache-token-667 stable-cache-token-668 stable-cache-token-669 stable-cache-token-670 stable-cache-token-671 stable-cache-token-672 stable-cache-token-673 stable-cache-token-674 stable-cache-token-675 stable-cache-token-676 stable-cache-token-677 stable-cache-token-678 stable-cache-token-679 stable-cache-token-680 stable-cache-token-681 stable-cache-token-682 stable-cache-token-683 stable-cache-token-684 stable-cache-token-685 stable-cache-token-686 stable-cache-token-687 stable-cache-token-688 stable-cache-token-689 stable-cache-token-690 stable-cache-token-691 stable-cache-token-692 stable-cache-token-693 stable-cache-token-694 stable-cache-token-695 stable-cache-token-696 stable-cache-token-697 stable-cache-token-698 stable-cache-token-699 stable-cache-token-700 stable-cache-token-701 stable-cache-token-702 stable-cache-token-703 stable-cache-token-704 stable-cache-token-705 stable-cache-token-706 stable-cache-token-707 stable-cache-token-708 stable-cache-token-709 stable-cache-token-710 stable-cache-token-711 stable-cache-token-712 stable-cache-token-713 stable-cache-token-714 stable-cache-token-715 stable-cache-token-716 stable-cache-token-717 stable-cache-token-718 stable-cache-token-719 stable-cache-token-720 stable-cache-token-721 stable-cache-token-722 stable-cache-token-723 stable-cache-token-724 stable-cache-token-725 stable-cache-token-726 stable-cache-token-727 stable-cache-token-728 stable-cache-token-729 stable-cache-token-730 stable-cache-token-731 stable-cache-token-732 stable-cache-token-733 stable-cache-token-734 stable-cache-token-735 stable-cache-token-736 stable-cache-token-737 stable-cache-token-738 stable-cache-token-739 stable-cache-token-740 stable-cache-token-741 stable-cache-token-742 stable-cache-token-743 stable-cache-token-744 stable-cache-token-745 stable-cache-token-746 stable-cache-token-747 stable-cache-token-748 stable-cache-token-749 stable-cache-token-750 stable-cache-token-751 stable-cache-token-752 stable-cache-token-753 stable-cache-token-754 stable-cache-token-755 stable-cache-token-756 stable-cache-token-757 stable-cache-token-758 stable-cache-token-759 stable-cache-token-760 stable-cache-token-761 stable-cache-token-762 stable-cache-token-763 stable-cache-token-764 stable-cache-token-765 stable-cache-token-766 stable-cache-token-767 stable-cache-token-768 stable-cache-token-769 stable-cache-token-770 stable-cache-token-771 stable-cache-token-772 stable-cache-token-773 stable-cache-token-774 stable-cache-token-775 stable-cache-token-776 stable-cache-token-777 stable-cache-token-778 stable-cache-token-779 stable-cache-token-780 stable-cache-token-781 stable-cache-token-782 stable-cache-token-783 stable-cache-token-784 stable-cache-token-785 stable-cache-token-786 stable-cache-token-787 stable-cache-token-788 stable-cache-token-789 stable-cache-token-790 stable-cache-token-791 stable-cache-token-792 stable-cache-token-793 stable-cache-token-794 stable-cache-token-795 stable-cache-token-796 stable-cache-token-797 stable-cache-token-798 stable-cache-token-799 stable-cache-token-800 stable-cache-token-801 stable-cache-token-802 stable-cache-token-803 stable-cache-token-804 stable-cache-token-805 stable-cache-token-806 stable-cache-token-807 stable-cache-token-808 stable-cache-token-809 stable-cache-token-810 stable-cache-token-811 stable-cache-token-812 stable-cache-token-813 stable-cache-token-814 stable-cache-token-815 stable-cache-token-816 stable-cache-token-817 stable-cache-token-818 stable-cache-token-819 stable-cache-token-820 stable-cache-token-821 stable-cache-token-822 stable-cache-token-823 stable-cache-token-824 stable-cache-token-825 stable-cache-token-826 stable-cache-token-827 stable-cache-token-828 stable-cache-token-829 stable-cache-token-830 stable-cache-token-831 stable-cache-token-832 stable-cache-token-833 stable-cache-token-834 stable-cache-token-835 stable-cache-token-836 stable-cache-token-837 stable-cache-token-838 stable-cache-token-839 stable-cache-token-840 stable-cache-token-841 stable-cache-token-842 stable-cache-token-843 stable-cache-token-844 stable-cache-token-845 stable-cache-token-846 stable-cache-token-847 stable-cache-token-848 stable-cache-token-849 stable-cache-token-850 stable-cache-token-851 stable-cache-token-852 stable-cache-token-853 stable-cache-token-854 stable-cache-token-855 stable-cache-token-856 stable-cache-token-857 stable-cache-token-858 stable-cache-token-859 stable-cache-token-860 stable-cache-token-861 stable-cache-token-862 stable-cache-token-863 stable-cache-token-864 stable-cache-token-865 stable-cache-token-866 stable-cache-token-867 stable-cache-token-868 stable-cache-token-869 stable-cache-token-870 stable-cache-token-871 stable-cache-token-872 stable-cache-token-873 stable-cache-token-874 stable-cache-token-875 stable-cache-token-876 stable-cache-token-877 stable-cache-token-878 stable-cache-token-879 stable-cache-token-880 stable-cache-token-881 stable-cache-token-882 stable-cache-token-883 stable-cache-token-884 stable-cache-token-885 stable-cache-token-886 stable-cache-token-887 stable-cache-token-888 stable-cache-token-889 stable-cache-token-890 stable-cache-token-891 stable-cache-token-892 stable-cache-token-893 stable-cache-token-894 stable-cache-token-895 stable-cache-token-896 stable-cache-token-897 stable-cache-token-898 stable-cache-token-899 stable-cache-token-900 stable-cache-token-901 stable-cache-token-902 stable-cache-token-903 stable-cache-token-904 stable-cache-token-905 stable-cache-token-906 stable-cache-token-907 stable-cache-token-908 stable-cache-token-909 stable-cache-token-910 stable-cache-token-911 stable-cache-token-912 stable-cache-token-913 stable-cache-token-914 stable-cache-token-915 stable-cache-token-916 stable-cache-token-917 stable-cache-token-918 stable-cache-token-919 stable-cache-token-920 stable-cache-token-921 stable-cache-token-922 stable-cache-token-923 stable-cache-token-924 stable-cache-token-925 stable-cache-token-926 stable-cache-token-927 stable-cache-token-928 stable-cache-token-929 stable-cache-token-930 stable-cache-token-931 stable-cache-token-932 stable-cache-token-933 stable-cache-token-934 stable-cache-token-935 stable-cache-token-936 stable-cache-token-937 stable-cache-token-938 stable-cache-token-939 stable-cache-token-940 stable-cache-token-941 stable-cache-token-942 stable-cache-token-943 stable-cache-token-944 stable-cache-token-945 stable-cache-token-946 stable-cache-token-947 stable-cache-token-948 stable-cache-token-949 stable-cache-token-950 stable-cache-token-951 stable-cache-token-952 stable-cache-token-953 stable-cache-token-954 stable-cache-token-955 stable-cache-token-956 stable-cache-token-957 stable-cache-token-958 stable-cache-token-959 stable-cache-token-960 stable-cache-token-961 stable-cache-token-962 stable-cache-token-963 stable-cache-token-964 stable-cache-token-965 stable-cache-token-966 stable-cache-token-967 stable-cache-token-968 stable-cache-token-969 stable-cache-token-970 stable-cache-token-971 stable-cache-token-972 stable-cache-token-973 stable-cache-token-974 stable-cache-token-975 stable-cache-token-976 stable-cache-token-977 stable-cache-token-978 stable-cache-token-979 stable-cache-token-980 stable-cache-token-981 stable-cache-token-982 stable-cache-token-983 stable-cache-token-984 stable-cache-token-985 stable-cache-token-986 stable-cache-token-987 stable-cache-token-988 stable-cache-token-989 stable-cache-token-990 stable-cache-token-991 stable-cache-token-992 stable-cache-token-993 stable-cache-token-994 stable-cache-token-995 stable-cache-token-996 stable-cache-token-997 stable-cache-token-998 stable-cache-token-999 stable-cache-token-1000 stable-cache-token-1001 stable-cache-token-1002 stable-cache-token-1003 stable-cache-token-1004 stable-cache-token-1005 stable-cache-token-1006 stable-cache-token-1007 stable-cache-token-1008 stable-cache-token-1009 stable-cache-token-1010 stable-cache-token-1011 stable-cache-token-1012 stable-cache-token-1013 stable-cache-token-1014 stable-cache-token-1015 stable-cache-token-1016 stable-cache-token-1017 stable-cache-token-1018 stable-cache-token-1019 stable-cache-token-1020 stable-cache-token-1021 stable-cache-token-1022 stable-cache-token-1023 stable-cache-token-1024 stable-cache-token-1025 stable-cache-token-1026 stable-cache-token-1027 stable-cache-token-1028 stable-cache-token-1029 stable-cache-token-1030 stable-cache-token-1031 stable-cache-token-1032 stable-cache-token-1033 stable-cache-token-1034 stable-cache-token-1035 stable-cache-token-1036 stable-cache-token-1037 stable-cache-token-1038 stable-cache-token-1039 stable-cache-token-1040 stable-cache-token-1041 stable-cache-token-1042 stable-cache-token-1043 stable-cache-token-1044 stable-cache-token-1045 stable-cache-token-1046 stable-cache-token-1047 stable-cache-token-1048 stable-cache-token-1049 stable-cache-token-1050 stable-cache-token-1051 stable-cache-token-1052 stable-cache-token-1053 stable-cache-token-1054 stable-cache-token-1055 stable-cache-token-1056 stable-cache-token-1057 stable-cache-token-1058 stable-cache-token-1059 stable-cache-token-1060 stable-cache-token-1061 stable-cache-token-1062 stable-cache-token-1063 stable-cache-token-1064 stable-cache-token-1065 stable-cache-token-1066 stable-cache-token-1067 stable-cache-token-1068 stable-cache-token-1069 stable-cache-token-1070 stable-cache-token-1071 stable-cache-token-1072 stable-cache-token-1073 stable-cache-token-1074 stable-cache-token-1075 stable-cache-token-1076 stable-cache-token-1077 stable-cache-token-1078 stable-cache-token-1079 stable-cache-token-1080 stable-cache-token-1081 stable-cache-token-1082 stable-cache-token-1083 stable-cache-token-1084 stable-cache-token-1085 stable-cache-token-1086 stable-cache-token-1087 stable-cache-token-1088 stable-cache-token-1089 stable-cache-token-1090 stable-cache-token-1091 stable-cache-token-1092 stable-cache-token-1093 stable-cache-token-1094 stable-cache-token-1095 stable-cache-token-1096 stable-cache-token-1097 stable-cache-token-1098 stable-cache-token-1099 stable-cache-token-1100 stable-cache-token-1101 stable-cache-token-1102 stable-cache-token-1103 stable-cache-token-1104 stable-cache-token-1105 stable-cache-token-1106 stable-cache-token-1107 stable-cache-token-1108 stable-cache-token-1109 stable-cache-token-1110 stable-cache-token-1111 stable-cache-token-1112 stable-cache-token-1113 stable-cache-token-1114 stable-cache-token-1115 stable-cache-token-1116 stable-cache-token-1117 stable-cache-token-1118 stable-cache-token-1119 stable-cache-token-1120 stable-cache-token-1121 stable-cache-token-1122 stable-cache-token-1123 stable-cache-token-1124 stable-cache-token-1125 stable-cache-token-1126 stable-cache-token-1127 stable-cache-token-1128 stable-cache-token-1129 stable-cache-token-1130 stable-cache-token-1131 stable-cache-token-1132 stable-cache-token-1133 stable-cache-token-1134 stable-cache-token-1135 stable-cache-token-1136 stable-cache-token-1137 stable-cache-token-1138 stable-cache-token-1139 stable-cache-token-1140 stable-cache-token-1141 stable-cache-token-1142 stable-cache-token-1143 stable-cache-token-1144 stable-cache-token-1145 stable-cache-token-1146 stable-cache-token-1147 stable-cache-token-1148 stable-cache-token-1149 stable-cache-token-1150 stable-cache-token-1151 stable-cache-token-1152 stable-cache-token-1153 stable-cache-token-1154 stable-cache-token-1155 stable-cache-token-1156 stable-cache-token-1157 stable-cache-token-1158 stable-cache-token-1159 stable-cache-token-1160 stable-cache-token-1161 stable-cache-token-1162 stable-cache-token-1163 stable-cache-token-1164 stable-cache-token-1165 stable-cache-token-1166 stable-cache-token-1167 stable-cache-token-1168 stable-cache-token-1169 stable-cache-token-1170 stable-cache-token-1171 stable-cache-token-1172 stable-cache-token-1173 stable-cache-token-1174 stable-cache-token-1175 stable-cache-token-1176 stable-cache-token-1177 stable-cache-token-1178 stable-cache-token-1179 stable-cache-token-1180 stable-cache-token-1181 stable-cache-token-1182 stable-cache-token-1183 stable-cache-token-1184 stable-cache-token-1185 stable-cache-token-1186 stable-cache-token-1187 stable-cache-token-1188 stable-cache-token-1189 stable-cache-token-1190 stable-cache-token-1191 stable-cache-token-1192 stable-cache-token-1193 stable-cache-token-1194 stable-cache-token-1195 stable-cache-token-1196 stable-cache-token-1197 stable-cache-token-1198 stable-cache-token-1199 stable-cache-token-1200 stable-cache-token-1201 stable-cache-token-1202 stable-cache-token-1203 stable-cache-token-1204 stable-cache-token-1205 stable-cache-token-1206 stable-cache-token-1207 stable-cache-token-1208 stable-cache-token-1209 stable-cache-token-1210 stable-cache-token-1211 stable-cache-token-1212 stable-cache-token-1213 stable-cache-token-1214 stable-cache-token-1215 stable-cache-token-1216 stable-cache-token-1217 stable-cache-token-1218 stable-cache-token-1219 stable-cache-token-1220 stable-cache-token-1221 stable-cache-token-1222 stable-cache-token-1223 stable-cache-token-1224 stable-cache-token-1225 stable-cache-token-1226 stable-cache-token-1227 stable-cache-token-1228 stable-cache-token-1229 stable-cache-token-1230 stable-cache-token-1231 stable-cache-token-1232 stable-cache-token-1233 stable-cache-token-1234 stable-cache-token-1235 stable-cache-token-1236 stable-cache-token-1237 stable-cache-token-1238 stable-cache-token-1239 stable-cache-token-1240 stable-cache-token-1241 stable-cache-token-1242 stable-cache-token-1243 stable-cache-token-1244 stable-cache-token-1245 stable-cache-token-1246 stable-cache-token-1247 stable-cache-token-1248 stable-cache-token-1249 stable-cache-token-1250 stable-cache-token-1251 stable-cache-token-1252 stable-cache-token-1253 stable-cache-token-1254 stable-cache-token-1255 stable-cache-token-1256 stable-cache-token-1257 stable-cache-token-1258 stable-cache-token-1259 stable-cache-token-1260 stable-cache-token-1261 stable-cache-token-1262 stable-cache-token-1263 stable-cache-token-1264 stable-cache-token-1265 stable-cache-token-1266 stable-cache-token-1267 stable-cache-token-1268 stable-cache-token-1269 stable-cache-token-1270 stable-cache-token-1271 stable-cache-token-1272 stable-cache-token-1273 stable-cache-token-1274 stable-cache-token-1275 stable-cache-token-1276 stable-cache-token-1277 stable-cache-token-1278 stable-cache-token-1279 stable-cache-token-1280 stable-cache-token-1281 stable-cache-token-1282 stable-cache-token-1283 stable-cache-token-1284 stable-cache-token-1285 stable-cache-token-1286 stable-cache-token-1287 stable-cache-token-1288 stable-cache-token-1289 stable-cache-token-1290 stable-cache-token-1291 stable-cache-token-1292 stable-cache-token-1293 stable-cache-token-1294 stable-cache-token-1295 stable-cache-token-1296 stable-cache-token-1297 stable-cache-token-1298 stable-cache-token-1299 stable-cache-token-1300 stable-cache-token-1301 stable-cache-token-1302 stable-cache-token-1303 stable-cache-token-1304 stable-cache-token-1305 stable-cache-token-1306 stable-cache-token-1307 stable-cache-token-1308 stable-cache-token-1309 stable-cache-token-1310 stable-cache-token-1311 stable-cache-token-1312 stable-cache-token-1313 stable-cache-token-1314 stable-cache-token-1315 stable-cache-token-1316 stable-cache-token-1317 stable-cache-token-1318 stable-cache-token-1319 stable-cache-token-1320 stable-cache-token-1321 stable-cache-token-1322 stable-cache-token-1323 stable-cache-token-1324 stable-cache-token-1325 stable-cache-token-1326 stable-cache-token-1327 stable-cache-token-1328 stable-cache-token-1329 stable-cache-token-1330 stable-cache-token-1331 stable-cache-token-1332 stable-cache-token-1333 stable-cache-token-1334 stable-cache-token-1335 stable-cache-token-1336 stable-cache-token-1337 stable-cache-token-1338 stable-cache-token-1339 stable-cache-token-1340 stable-cache-token-1341 stable-cache-token-1342 stable-cache-token-1343 stable-cache-token-1344 stable-cache-token-1345 stable-cache-token-1346 stable-cache-token-1347 stable-cache-token-1348 stable-cache-token-1349 stable-cache-token-1350 stable-cache-token-1351 stable-cache-token-1352 stable-cache-token-1353 stable-cache-token-1354 stable-cache-token-1355 stable-cache-token-1356 stable-cache-token-1357 stable-cache-token-1358 stable-cache-token-1359 stable-cache-token-1360 stable-cache-token-1361 stable-cache-token-1362 stable-cache-token-1363 stable-cache-token-1364 stable-cache-token-1365 stable-cache-token-1366 stable-cache-token-1367 stable-cache-token-1368 stable-cache-token-1369 stable-cache-token-1370 stable-cache-token-1371 stable-cache-token-1372 stable-cache-token-1373 stable-cache-token-1374 stable-cache-token-1375 stable-cache-token-1376 stable-cache-token-1377 stable-cache-token-1378 stable-cache-token-1379 stable-cache-token-1380 stable-cache-token-1381 stable-cache-token-1382 stable-cache-token-1383 stable-cache-token-1384 stable-cache-token-1385 stable-cache-token-1386 stable-cache-token-1387 stable-cache-token-1388 stable-cache-token-1389 stable-cache-token-1390 stable-cache-token-1391 stable-cache-token-1392 stable-cache-token-1393 stable-cache-token-1394 stable-cache-token-1395 stable-cache-token-1396 stable-cache-token-1397 stable-cache-token-1398 stable-cache-token-1399 stable-cache-token-1400 stable-cache-token-1401 stable-cache-token-1402 stable-cache-token-1403 stable-cache-token-1404 stable-cache-token-1405 stable-cache-token-1406 stable-cache-token-1407 stable-cache-token-1408 stable-cache-token-1409 stable-cache-token-1410 stable-cache-token-1411 stable-cache-token-1412 stable-cache-token-1413 stable-cache-token-1414 stable-cache-token-1415 stable-cache-token-1416 stable-cache-token-1417 stable-cache-token-1418 stable-cache-token-1419 stable-cache-token-1420 stable-cache-token-1421 stable-cache-token-1422 stable-cache-token-1423 stable-cache-token-1424 stable-cache-token-1425 stable-cache-token-1426 stable-cache-token-1427 stable-cache-token-1428 stable-cache-token-1429 stable-cache-token-1430 stable-cache-token-1431 stable-cache-token-1432 stable-cache-token-1433 stable-cache-token-1434 stable-cache-token-1435 stable-cache-token-1436 stable-cache-token-1437 stable-cache-token-1438 stable-cache-token-1439 stable-cache-token-1440 stable-cache-token-1441 stable-cache-token-1442 stable-cache-token-1443 stable-cache-token-1444 stable-cache-token-1445 stable-cache-token-1446 stable-cache-token-1447 stable-cache-token-1448 stable-cache-token-1449 stable-cache-token-1450 stable-cache-token-1451 stable-cache-token-1452 stable-cache-token-1453 stable-cache-token-1454 stable-cache-token-1455 stable-cache-token-1456 stable-cache-token-1457 stable-cache-token-1458 stable-cache-token-1459 stable-cache-token-1460 stable-cache-token-1461 stable-cache-token-1462 stable-cache-token-1463 stable-cache-token-1464 stable-cache-token-1465 stable-cache-token-1466 stable-cache-token-1467 stable-cache-token-1468 stable-cache-token-1469 stable-cache-token-1470 stable-cache-token-1471 stable-cache-token-1472 stable-cache-token-1473 stable-cache-token-1474 stable-cache-token-1475 stable-cache-token-1476 stable-cache-token-1477 stable-cache-token-1478 stable-cache-token-1479 stable-cache-token-1480 stable-cache-token-1481 stable-cache-token-1482 stable-cache-token-1483 stable-cache-token-1484 stable-cache-token-1485 stable-cache-token-1486 stable-cache-token-1487 stable-cache-token-1488 stable-cache-token-1489 stable-cache-token-1490 stable-cache-token-1491 stable-cache-token-1492 stable-cache-token-1493 stable-cache-token-1494 stable-cache-token-1495 stable-cache-token-1496 stable-cache-token-1497 stable-cache-token-1498 stable-cache-token-1499 stable-cache-token-1500 stable-cache-token-1501 stable-cache-token-1502 stable-cache-token-1503 stable-cache-token-1504 stable-cache-token-1505 stable-cache-token-1506 stable-cache-token-1507 stable-cache-token-1508 stable-cache-token-1509 stable-cache-token-1510 stable-cache-token-1511 stable-cache-token-1512 stable-cache-token-1513 stable-cache-token-1514 stable-cache-token-1515 stable-cache-token-1516 stable-cache-token-1517 stable-cache-token-1518 stable-cache-token-1519 stable-cache-token-1520 stable-cache-token-1521 stable-cache-token-1522 stable-cache-token-1523 stable-cache-token-1524 stable-cache-token-1525 stable-cache-token-1526 stable-cache-token-1527 stable-cache-token-1528 stable-cache-token-1529 stable-cache-token-1530 stable-cache-token-1531 stable-cache-token-1532 stable-cache-token-1533 stable-cache-token-1534 stable-cache-token-1535 stable-cache-token-1536 stable-cache-token-1537 stable-cache-token-1538 stable-cache-token-1539 stable-cache-token-1540 stable-cache-token-1541 stable-cache-token-1542 stable-cache-token-1543 stable-cache-token-1544 stable-cache-token-1545 stable-cache-token-1546 stable-cache-token-1547 stable-cache-token-1548 stable-cache-token-1549 stable-cache-token-1550 stable-cache-token-1551 stable-cache-token-1552 stable-cache-token-1553 stable-cache-token-1554 stable-cache-token-1555 stable-cache-token-1556 stable-cache-token-1557 stable-cache-token-1558 stable-cache-token-1559 stable-cache-token-1560 stable-cache-token-1561 stable-cache-token-1562 stable-cache-token-1563 stable-cache-token-1564 stable-cache-token-1565 stable-cache-token-1566 stable-cache-token-1567 stable-cache-token-1568 stable-cache-token-1569 stable-cache-token-1570 stable-cache-token-1571 stable-cache-token-1572 stable-cache-token-1573 stable-cache-token-1574 stable-cache-token-1575 stable-cache-token-1576 stable-cache-token-1577 stable-cache-token-1578 stable-cache-token-1579 stable-cache-token-1580 stable-cache-token-1581 stable-cache-token-1582 stable-cache-token-1583 stable-cache-token-1584 stable-cache-token-1585 stable-cache-token-1586 stable-cache-token-1587 stable-cache-token-1588 stable-cache-token-1589 stable-cache-token-1590 stable-cache-token-1591 stable-cache-token-1592 stable-cache-token-1593 stable-cache-token-1594 stable-cache-token-1595 stable-cache-token-1596 stable-cache-token-1597 stable-cache-token-1598 stable-cache-token-1599\nUse this stable cache context only to exercise Bedrock prompt caching in this e2e scenario." + }, + { + "cachePoint": { + "type": "default" + } + }, + { + "text": "Reply with exactly STREAM." + } + ], + "role": "user" + } + ] + } + }, + "headers": {}, + "method": "POST", + "url": "https://bedrock-runtime.us-east-2.amazonaws.com/model/us.amazon.nova-lite-v1%3A0/converse-stream" + }, + "response": { + "body": { + "contentType": "application/vnd.amazon.eventstream", + "kind": "base64", + "value": "AAAAmAAAAFIBMYNgCzpldmVudC10eXBlBwAMbWVzc2FnZVN0YXJ0DTpjb250ZW50LXR5cGUHABBhcHBsaWNhdGlvbi9qc29uDTptZXNzYWdlLXR5cGUHAAVldmVudHsicCI6ImFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6QSIsInJvbGUiOiJhc3Npc3RhbnQifRK9PwwAAAC6AAAAV8paC4sLOmV2ZW50LXR5cGUHABFjb250ZW50QmxvY2tEZWx0YQ06Y29udGVudC10eXBlBwAQYXBwbGljYXRpb24vanNvbg06bWVzc2FnZS10eXBlBwAFZXZlbnR7ImNvbnRlbnRCbG9ja0luZGV4IjowLCJkZWx0YSI6eyJ0ZXh0IjoiIn0sInAiOiJhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ekFCQ0RFRkcifVRbfzgAAAChAAAAV91qrRgLOmV2ZW50LXR5cGUHABFjb250ZW50QmxvY2tEZWx0YQ06Y29udGVudC10eXBlBwAQYXBwbGljYXRpb24vanNvbg06bWVzc2FnZS10eXBlBwAFZXZlbnR7ImNvbnRlbnRCbG9ja0luZGV4IjowLCJkZWx0YSI6eyJ0ZXh0IjoiU1RSRUFNIn0sInAiOiJhYiJ9Qgc+QAAAAL4AAABXP9qtSws6ZXZlbnQtdHlwZQcAEWNvbnRlbnRCbG9ja0RlbHRhDTpjb250ZW50LXR5cGUHABBhcHBsaWNhdGlvbi9qc29uDTptZXNzYWdlLXR5cGUHAAVldmVudHsiY29udGVudEJsb2NrSW5kZXgiOjAsImRlbHRhIjp7InRleHQiOiIifSwicCI6ImFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6QUJDREVGR0hJSksifTcUwRYAAACxAAAAVsqNCgwLOmV2ZW50LXR5cGUHABBjb250ZW50QmxvY2tTdG9wDTpjb250ZW50LXR5cGUHABBhcHBsaWNhdGlvbi9qc29uDTptZXNzYWdlLXR5cGUHAAVldmVudHsiY29udGVudEJsb2NrSW5kZXgiOjAsInAiOiJhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ekFCQ0RFRkdISUpLTE1OT1BRUlMifUPMdP8AAACTAAAAUe/o48sLOmV2ZW50LXR5cGUHAAttZXNzYWdlU3RvcA06Y29udGVudC10eXBlBwAQYXBwbGljYXRpb24vanNvbg06bWVzc2FnZS10eXBlBwAFZXZlbnR7InAiOiJhYmNkZWZnaGlqa2xtbm9wcXIiLCJzdG9wUmVhc29uIjoiZW5kX3R1cm4ifde1uicAAAGIAAAATr6MmwgLOmV2ZW50LXR5cGUHAAhtZXRhZGF0YQ06Y29udGVudC10eXBlBwAQYXBwbGljYXRpb24vanNvbg06bWVzc2FnZS10eXBlBwAFZXZlbnR7Im1ldHJpY3MiOnsibGF0ZW5jeU1zIjozNTV9LCJwIjoiYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWjAxMjM0NTY3IiwidXNhZ2UiOnsiY2FjaGVSZWFkSW5wdXRUb2tlbkNvdW50IjoxNDkyMiwiY2FjaGVSZWFkSW5wdXRUb2tlbnMiOjE0OTIyLCJjYWNoZVdyaXRlSW5wdXRUb2tlbkNvdW50IjowLCJjYWNoZVdyaXRlSW5wdXRUb2tlbnMiOjAsImlucHV0VG9rZW5zIjo2LCJvdXRwdXRUb2tlbnMiOjMsInNlcnZlclRvb2xVc2FnZSI6e30sInRvdGFsVG9rZW5zIjoxNDkzMX19dkKqvw==" + }, + "headers": { + "connection": "keep-alive", + "content-type": "application/vnd.amazon.eventstream", + "date": "[REDACTED]", + "transfer-encoding": "chunked", + "x-amzn-requestid": "[REDACTED]" + }, + "status": 200, + "statusText": "OK" + } + }, + { + "callIndex": 0, + "id": "3e9c682f68d2d756", + "matchKey": "POST bedrock-runtime.aws-region.amazonaws.com/model/us.amazon.nova-lite-v1%3A0/invoke", + "recordedAt": "2026-09-14T10:22:50.777Z", + "request": { + "body": { + "kind": "json", + "value": { + "inferenceConfig": { + "maxTokens": 16, + "temperature": 0, + "topP": 0.9 + }, + "messages": [ + { + "content": [ + { + "cachePoint": { + "type": "default" + }, + "text": "BRAINTRUST_BEDROCK_CACHE_CONTEXT\nstable-cache-token-0 stable-cache-token-1 stable-cache-token-2 stable-cache-token-3 stable-cache-token-4 stable-cache-token-5 stable-cache-token-6 stable-cache-token-7 stable-cache-token-8 stable-cache-token-9 stable-cache-token-10 stable-cache-token-11 stable-cache-token-12 stable-cache-token-13 stable-cache-token-14 stable-cache-token-15 stable-cache-token-16 stable-cache-token-17 stable-cache-token-18 stable-cache-token-19 stable-cache-token-20 stable-cache-token-21 stable-cache-token-22 stable-cache-token-23 stable-cache-token-24 stable-cache-token-25 stable-cache-token-26 stable-cache-token-27 stable-cache-token-28 stable-cache-token-29 stable-cache-token-30 stable-cache-token-31 stable-cache-token-32 stable-cache-token-33 stable-cache-token-34 stable-cache-token-35 stable-cache-token-36 stable-cache-token-37 stable-cache-token-38 stable-cache-token-39 stable-cache-token-40 stable-cache-token-41 stable-cache-token-42 stable-cache-token-43 stable-cache-token-44 stable-cache-token-45 stable-cache-token-46 stable-cache-token-47 stable-cache-token-48 stable-cache-token-49 stable-cache-token-50 stable-cache-token-51 stable-cache-token-52 stable-cache-token-53 stable-cache-token-54 stable-cache-token-55 stable-cache-token-56 stable-cache-token-57 stable-cache-token-58 stable-cache-token-59 stable-cache-token-60 stable-cache-token-61 stable-cache-token-62 stable-cache-token-63 stable-cache-token-64 stable-cache-token-65 stable-cache-token-66 stable-cache-token-67 stable-cache-token-68 stable-cache-token-69 stable-cache-token-70 stable-cache-token-71 stable-cache-token-72 stable-cache-token-73 stable-cache-token-74 stable-cache-token-75 stable-cache-token-76 stable-cache-token-77 stable-cache-token-78 stable-cache-token-79 stable-cache-token-80 stable-cache-token-81 stable-cache-token-82 stable-cache-token-83 stable-cache-token-84 stable-cache-token-85 stable-cache-token-86 stable-cache-token-87 stable-cache-token-88 stable-cache-token-89 stable-cache-token-90 stable-cache-token-91 stable-cache-token-92 stable-cache-token-93 stable-cache-token-94 stable-cache-token-95 stable-cache-token-96 stable-cache-token-97 stable-cache-token-98 stable-cache-token-99 stable-cache-token-100 stable-cache-token-101 stable-cache-token-102 stable-cache-token-103 stable-cache-token-104 stable-cache-token-105 stable-cache-token-106 stable-cache-token-107 stable-cache-token-108 stable-cache-token-109 stable-cache-token-110 stable-cache-token-111 stable-cache-token-112 stable-cache-token-113 stable-cache-token-114 stable-cache-token-115 stable-cache-token-116 stable-cache-token-117 stable-cache-token-118 stable-cache-token-119 stable-cache-token-120 stable-cache-token-121 stable-cache-token-122 stable-cache-token-123 stable-cache-token-124 stable-cache-token-125 stable-cache-token-126 stable-cache-token-127 stable-cache-token-128 stable-cache-token-129 stable-cache-token-130 stable-cache-token-131 stable-cache-token-132 stable-cache-token-133 stable-cache-token-134 stable-cache-token-135 stable-cache-token-136 stable-cache-token-137 stable-cache-token-138 stable-cache-token-139 stable-cache-token-140 stable-cache-token-141 stable-cache-token-142 stable-cache-token-143 stable-cache-token-144 stable-cache-token-145 stable-cache-token-146 stable-cache-token-147 stable-cache-token-148 stable-cache-token-149 stable-cache-token-150 stable-cache-token-151 stable-cache-token-152 stable-cache-token-153 stable-cache-token-154 stable-cache-token-155 stable-cache-token-156 stable-cache-token-157 stable-cache-token-158 stable-cache-token-159 stable-cache-token-160 stable-cache-token-161 stable-cache-token-162 stable-cache-token-163 stable-cache-token-164 stable-cache-token-165 stable-cache-token-166 stable-cache-token-167 stable-cache-token-168 stable-cache-token-169 stable-cache-token-170 stable-cache-token-171 stable-cache-token-172 stable-cache-token-173 stable-cache-token-174 stable-cache-token-175 stable-cache-token-176 stable-cache-token-177 stable-cache-token-178 stable-cache-token-179 stable-cache-token-180 stable-cache-token-181 stable-cache-token-182 stable-cache-token-183 stable-cache-token-184 stable-cache-token-185 stable-cache-token-186 stable-cache-token-187 stable-cache-token-188 stable-cache-token-189 stable-cache-token-190 stable-cache-token-191 stable-cache-token-192 stable-cache-token-193 stable-cache-token-194 stable-cache-token-195 stable-cache-token-196 stable-cache-token-197 stable-cache-token-198 stable-cache-token-199 stable-cache-token-200 stable-cache-token-201 stable-cache-token-202 stable-cache-token-203 stable-cache-token-204 stable-cache-token-205 stable-cache-token-206 stable-cache-token-207 stable-cache-token-208 stable-cache-token-209 stable-cache-token-210 stable-cache-token-211 stable-cache-token-212 stable-cache-token-213 stable-cache-token-214 stable-cache-token-215 stable-cache-token-216 stable-cache-token-217 stable-cache-token-218 stable-cache-token-219 stable-cache-token-220 stable-cache-token-221 stable-cache-token-222 stable-cache-token-223 stable-cache-token-224 stable-cache-token-225 stable-cache-token-226 stable-cache-token-227 stable-cache-token-228 stable-cache-token-229 stable-cache-token-230 stable-cache-token-231 stable-cache-token-232 stable-cache-token-233 stable-cache-token-234 stable-cache-token-235 stable-cache-token-236 stable-cache-token-237 stable-cache-token-238 stable-cache-token-239 stable-cache-token-240 stable-cache-token-241 stable-cache-token-242 stable-cache-token-243 stable-cache-token-244 stable-cache-token-245 stable-cache-token-246 stable-cache-token-247 stable-cache-token-248 stable-cache-token-249 stable-cache-token-250 stable-cache-token-251 stable-cache-token-252 stable-cache-token-253 stable-cache-token-254 stable-cache-token-255 stable-cache-token-256 stable-cache-token-257 stable-cache-token-258 stable-cache-token-259 stable-cache-token-260 stable-cache-token-261 stable-cache-token-262 stable-cache-token-263 stable-cache-token-264 stable-cache-token-265 stable-cache-token-266 stable-cache-token-267 stable-cache-token-268 stable-cache-token-269 stable-cache-token-270 stable-cache-token-271 stable-cache-token-272 stable-cache-token-273 stable-cache-token-274 stable-cache-token-275 stable-cache-token-276 stable-cache-token-277 stable-cache-token-278 stable-cache-token-279 stable-cache-token-280 stable-cache-token-281 stable-cache-token-282 stable-cache-token-283 stable-cache-token-284 stable-cache-token-285 stable-cache-token-286 stable-cache-token-287 stable-cache-token-288 stable-cache-token-289 stable-cache-token-290 stable-cache-token-291 stable-cache-token-292 stable-cache-token-293 stable-cache-token-294 stable-cache-token-295 stable-cache-token-296 stable-cache-token-297 stable-cache-token-298 stable-cache-token-299 stable-cache-token-300 stable-cache-token-301 stable-cache-token-302 stable-cache-token-303 stable-cache-token-304 stable-cache-token-305 stable-cache-token-306 stable-cache-token-307 stable-cache-token-308 stable-cache-token-309 stable-cache-token-310 stable-cache-token-311 stable-cache-token-312 stable-cache-token-313 stable-cache-token-314 stable-cache-token-315 stable-cache-token-316 stable-cache-token-317 stable-cache-token-318 stable-cache-token-319 stable-cache-token-320 stable-cache-token-321 stable-cache-token-322 stable-cache-token-323 stable-cache-token-324 stable-cache-token-325 stable-cache-token-326 stable-cache-token-327 stable-cache-token-328 stable-cache-token-329 stable-cache-token-330 stable-cache-token-331 stable-cache-token-332 stable-cache-token-333 stable-cache-token-334 stable-cache-token-335 stable-cache-token-336 stable-cache-token-337 stable-cache-token-338 stable-cache-token-339 stable-cache-token-340 stable-cache-token-341 stable-cache-token-342 stable-cache-token-343 stable-cache-token-344 stable-cache-token-345 stable-cache-token-346 stable-cache-token-347 stable-cache-token-348 stable-cache-token-349 stable-cache-token-350 stable-cache-token-351 stable-cache-token-352 stable-cache-token-353 stable-cache-token-354 stable-cache-token-355 stable-cache-token-356 stable-cache-token-357 stable-cache-token-358 stable-cache-token-359 stable-cache-token-360 stable-cache-token-361 stable-cache-token-362 stable-cache-token-363 stable-cache-token-364 stable-cache-token-365 stable-cache-token-366 stable-cache-token-367 stable-cache-token-368 stable-cache-token-369 stable-cache-token-370 stable-cache-token-371 stable-cache-token-372 stable-cache-token-373 stable-cache-token-374 stable-cache-token-375 stable-cache-token-376 stable-cache-token-377 stable-cache-token-378 stable-cache-token-379 stable-cache-token-380 stable-cache-token-381 stable-cache-token-382 stable-cache-token-383 stable-cache-token-384 stable-cache-token-385 stable-cache-token-386 stable-cache-token-387 stable-cache-token-388 stable-cache-token-389 stable-cache-token-390 stable-cache-token-391 stable-cache-token-392 stable-cache-token-393 stable-cache-token-394 stable-cache-token-395 stable-cache-token-396 stable-cache-token-397 stable-cache-token-398 stable-cache-token-399 stable-cache-token-400 stable-cache-token-401 stable-cache-token-402 stable-cache-token-403 stable-cache-token-404 stable-cache-token-405 stable-cache-token-406 stable-cache-token-407 stable-cache-token-408 stable-cache-token-409 stable-cache-token-410 stable-cache-token-411 stable-cache-token-412 stable-cache-token-413 stable-cache-token-414 stable-cache-token-415 stable-cache-token-416 stable-cache-token-417 stable-cache-token-418 stable-cache-token-419 stable-cache-token-420 stable-cache-token-421 stable-cache-token-422 stable-cache-token-423 stable-cache-token-424 stable-cache-token-425 stable-cache-token-426 stable-cache-token-427 stable-cache-token-428 stable-cache-token-429 stable-cache-token-430 stable-cache-token-431 stable-cache-token-432 stable-cache-token-433 stable-cache-token-434 stable-cache-token-435 stable-cache-token-436 stable-cache-token-437 stable-cache-token-438 stable-cache-token-439 stable-cache-token-440 stable-cache-token-441 stable-cache-token-442 stable-cache-token-443 stable-cache-token-444 stable-cache-token-445 stable-cache-token-446 stable-cache-token-447 stable-cache-token-448 stable-cache-token-449 stable-cache-token-450 stable-cache-token-451 stable-cache-token-452 stable-cache-token-453 stable-cache-token-454 stable-cache-token-455 stable-cache-token-456 stable-cache-token-457 stable-cache-token-458 stable-cache-token-459 stable-cache-token-460 stable-cache-token-461 stable-cache-token-462 stable-cache-token-463 stable-cache-token-464 stable-cache-token-465 stable-cache-token-466 stable-cache-token-467 stable-cache-token-468 stable-cache-token-469 stable-cache-token-470 stable-cache-token-471 stable-cache-token-472 stable-cache-token-473 stable-cache-token-474 stable-cache-token-475 stable-cache-token-476 stable-cache-token-477 stable-cache-token-478 stable-cache-token-479 stable-cache-token-480 stable-cache-token-481 stable-cache-token-482 stable-cache-token-483 stable-cache-token-484 stable-cache-token-485 stable-cache-token-486 stable-cache-token-487 stable-cache-token-488 stable-cache-token-489 stable-cache-token-490 stable-cache-token-491 stable-cache-token-492 stable-cache-token-493 stable-cache-token-494 stable-cache-token-495 stable-cache-token-496 stable-cache-token-497 stable-cache-token-498 stable-cache-token-499 stable-cache-token-500 stable-cache-token-501 stable-cache-token-502 stable-cache-token-503 stable-cache-token-504 stable-cache-token-505 stable-cache-token-506 stable-cache-token-507 stable-cache-token-508 stable-cache-token-509 stable-cache-token-510 stable-cache-token-511 stable-cache-token-512 stable-cache-token-513 stable-cache-token-514 stable-cache-token-515 stable-cache-token-516 stable-cache-token-517 stable-cache-token-518 stable-cache-token-519 stable-cache-token-520 stable-cache-token-521 stable-cache-token-522 stable-cache-token-523 stable-cache-token-524 stable-cache-token-525 stable-cache-token-526 stable-cache-token-527 stable-cache-token-528 stable-cache-token-529 stable-cache-token-530 stable-cache-token-531 stable-cache-token-532 stable-cache-token-533 stable-cache-token-534 stable-cache-token-535 stable-cache-token-536 stable-cache-token-537 stable-cache-token-538 stable-cache-token-539 stable-cache-token-540 stable-cache-token-541 stable-cache-token-542 stable-cache-token-543 stable-cache-token-544 stable-cache-token-545 stable-cache-token-546 stable-cache-token-547 stable-cache-token-548 stable-cache-token-549 stable-cache-token-550 stable-cache-token-551 stable-cache-token-552 stable-cache-token-553 stable-cache-token-554 stable-cache-token-555 stable-cache-token-556 stable-cache-token-557 stable-cache-token-558 stable-cache-token-559 stable-cache-token-560 stable-cache-token-561 stable-cache-token-562 stable-cache-token-563 stable-cache-token-564 stable-cache-token-565 stable-cache-token-566 stable-cache-token-567 stable-cache-token-568 stable-cache-token-569 stable-cache-token-570 stable-cache-token-571 stable-cache-token-572 stable-cache-token-573 stable-cache-token-574 stable-cache-token-575 stable-cache-token-576 stable-cache-token-577 stable-cache-token-578 stable-cache-token-579 stable-cache-token-580 stable-cache-token-581 stable-cache-token-582 stable-cache-token-583 stable-cache-token-584 stable-cache-token-585 stable-cache-token-586 stable-cache-token-587 stable-cache-token-588 stable-cache-token-589 stable-cache-token-590 stable-cache-token-591 stable-cache-token-592 stable-cache-token-593 stable-cache-token-594 stable-cache-token-595 stable-cache-token-596 stable-cache-token-597 stable-cache-token-598 stable-cache-token-599 stable-cache-token-600 stable-cache-token-601 stable-cache-token-602 stable-cache-token-603 stable-cache-token-604 stable-cache-token-605 stable-cache-token-606 stable-cache-token-607 stable-cache-token-608 stable-cache-token-609 stable-cache-token-610 stable-cache-token-611 stable-cache-token-612 stable-cache-token-613 stable-cache-token-614 stable-cache-token-615 stable-cache-token-616 stable-cache-token-617 stable-cache-token-618 stable-cache-token-619 stable-cache-token-620 stable-cache-token-621 stable-cache-token-622 stable-cache-token-623 stable-cache-token-624 stable-cache-token-625 stable-cache-token-626 stable-cache-token-627 stable-cache-token-628 stable-cache-token-629 stable-cache-token-630 stable-cache-token-631 stable-cache-token-632 stable-cache-token-633 stable-cache-token-634 stable-cache-token-635 stable-cache-token-636 stable-cache-token-637 stable-cache-token-638 stable-cache-token-639 stable-cache-token-640 stable-cache-token-641 stable-cache-token-642 stable-cache-token-643 stable-cache-token-644 stable-cache-token-645 stable-cache-token-646 stable-cache-token-647 stable-cache-token-648 stable-cache-token-649 stable-cache-token-650 stable-cache-token-651 stable-cache-token-652 stable-cache-token-653 stable-cache-token-654 stable-cache-token-655 stable-cache-token-656 stable-cache-token-657 stable-cache-token-658 stable-cache-token-659 stable-cache-token-660 stable-cache-token-661 stable-cache-token-662 stable-cache-token-663 stable-cache-token-664 stable-cache-token-665 stable-cache-token-666 stable-cache-token-667 stable-cache-token-668 stable-cache-token-669 stable-cache-token-670 stable-cache-token-671 stable-cache-token-672 stable-cache-token-673 stable-cache-token-674 stable-cache-token-675 stable-cache-token-676 stable-cache-token-677 stable-cache-token-678 stable-cache-token-679 stable-cache-token-680 stable-cache-token-681 stable-cache-token-682 stable-cache-token-683 stable-cache-token-684 stable-cache-token-685 stable-cache-token-686 stable-cache-token-687 stable-cache-token-688 stable-cache-token-689 stable-cache-token-690 stable-cache-token-691 stable-cache-token-692 stable-cache-token-693 stable-cache-token-694 stable-cache-token-695 stable-cache-token-696 stable-cache-token-697 stable-cache-token-698 stable-cache-token-699 stable-cache-token-700 stable-cache-token-701 stable-cache-token-702 stable-cache-token-703 stable-cache-token-704 stable-cache-token-705 stable-cache-token-706 stable-cache-token-707 stable-cache-token-708 stable-cache-token-709 stable-cache-token-710 stable-cache-token-711 stable-cache-token-712 stable-cache-token-713 stable-cache-token-714 stable-cache-token-715 stable-cache-token-716 stable-cache-token-717 stable-cache-token-718 stable-cache-token-719 stable-cache-token-720 stable-cache-token-721 stable-cache-token-722 stable-cache-token-723 stable-cache-token-724 stable-cache-token-725 stable-cache-token-726 stable-cache-token-727 stable-cache-token-728 stable-cache-token-729 stable-cache-token-730 stable-cache-token-731 stable-cache-token-732 stable-cache-token-733 stable-cache-token-734 stable-cache-token-735 stable-cache-token-736 stable-cache-token-737 stable-cache-token-738 stable-cache-token-739 stable-cache-token-740 stable-cache-token-741 stable-cache-token-742 stable-cache-token-743 stable-cache-token-744 stable-cache-token-745 stable-cache-token-746 stable-cache-token-747 stable-cache-token-748 stable-cache-token-749 stable-cache-token-750 stable-cache-token-751 stable-cache-token-752 stable-cache-token-753 stable-cache-token-754 stable-cache-token-755 stable-cache-token-756 stable-cache-token-757 stable-cache-token-758 stable-cache-token-759 stable-cache-token-760 stable-cache-token-761 stable-cache-token-762 stable-cache-token-763 stable-cache-token-764 stable-cache-token-765 stable-cache-token-766 stable-cache-token-767 stable-cache-token-768 stable-cache-token-769 stable-cache-token-770 stable-cache-token-771 stable-cache-token-772 stable-cache-token-773 stable-cache-token-774 stable-cache-token-775 stable-cache-token-776 stable-cache-token-777 stable-cache-token-778 stable-cache-token-779 stable-cache-token-780 stable-cache-token-781 stable-cache-token-782 stable-cache-token-783 stable-cache-token-784 stable-cache-token-785 stable-cache-token-786 stable-cache-token-787 stable-cache-token-788 stable-cache-token-789 stable-cache-token-790 stable-cache-token-791 stable-cache-token-792 stable-cache-token-793 stable-cache-token-794 stable-cache-token-795 stable-cache-token-796 stable-cache-token-797 stable-cache-token-798 stable-cache-token-799 stable-cache-token-800 stable-cache-token-801 stable-cache-token-802 stable-cache-token-803 stable-cache-token-804 stable-cache-token-805 stable-cache-token-806 stable-cache-token-807 stable-cache-token-808 stable-cache-token-809 stable-cache-token-810 stable-cache-token-811 stable-cache-token-812 stable-cache-token-813 stable-cache-token-814 stable-cache-token-815 stable-cache-token-816 stable-cache-token-817 stable-cache-token-818 stable-cache-token-819 stable-cache-token-820 stable-cache-token-821 stable-cache-token-822 stable-cache-token-823 stable-cache-token-824 stable-cache-token-825 stable-cache-token-826 stable-cache-token-827 stable-cache-token-828 stable-cache-token-829 stable-cache-token-830 stable-cache-token-831 stable-cache-token-832 stable-cache-token-833 stable-cache-token-834 stable-cache-token-835 stable-cache-token-836 stable-cache-token-837 stable-cache-token-838 stable-cache-token-839 stable-cache-token-840 stable-cache-token-841 stable-cache-token-842 stable-cache-token-843 stable-cache-token-844 stable-cache-token-845 stable-cache-token-846 stable-cache-token-847 stable-cache-token-848 stable-cache-token-849 stable-cache-token-850 stable-cache-token-851 stable-cache-token-852 stable-cache-token-853 stable-cache-token-854 stable-cache-token-855 stable-cache-token-856 stable-cache-token-857 stable-cache-token-858 stable-cache-token-859 stable-cache-token-860 stable-cache-token-861 stable-cache-token-862 stable-cache-token-863 stable-cache-token-864 stable-cache-token-865 stable-cache-token-866 stable-cache-token-867 stable-cache-token-868 stable-cache-token-869 stable-cache-token-870 stable-cache-token-871 stable-cache-token-872 stable-cache-token-873 stable-cache-token-874 stable-cache-token-875 stable-cache-token-876 stable-cache-token-877 stable-cache-token-878 stable-cache-token-879 stable-cache-token-880 stable-cache-token-881 stable-cache-token-882 stable-cache-token-883 stable-cache-token-884 stable-cache-token-885 stable-cache-token-886 stable-cache-token-887 stable-cache-token-888 stable-cache-token-889 stable-cache-token-890 stable-cache-token-891 stable-cache-token-892 stable-cache-token-893 stable-cache-token-894 stable-cache-token-895 stable-cache-token-896 stable-cache-token-897 stable-cache-token-898 stable-cache-token-899 stable-cache-token-900 stable-cache-token-901 stable-cache-token-902 stable-cache-token-903 stable-cache-token-904 stable-cache-token-905 stable-cache-token-906 stable-cache-token-907 stable-cache-token-908 stable-cache-token-909 stable-cache-token-910 stable-cache-token-911 stable-cache-token-912 stable-cache-token-913 stable-cache-token-914 stable-cache-token-915 stable-cache-token-916 stable-cache-token-917 stable-cache-token-918 stable-cache-token-919 stable-cache-token-920 stable-cache-token-921 stable-cache-token-922 stable-cache-token-923 stable-cache-token-924 stable-cache-token-925 stable-cache-token-926 stable-cache-token-927 stable-cache-token-928 stable-cache-token-929 stable-cache-token-930 stable-cache-token-931 stable-cache-token-932 stable-cache-token-933 stable-cache-token-934 stable-cache-token-935 stable-cache-token-936 stable-cache-token-937 stable-cache-token-938 stable-cache-token-939 stable-cache-token-940 stable-cache-token-941 stable-cache-token-942 stable-cache-token-943 stable-cache-token-944 stable-cache-token-945 stable-cache-token-946 stable-cache-token-947 stable-cache-token-948 stable-cache-token-949 stable-cache-token-950 stable-cache-token-951 stable-cache-token-952 stable-cache-token-953 stable-cache-token-954 stable-cache-token-955 stable-cache-token-956 stable-cache-token-957 stable-cache-token-958 stable-cache-token-959 stable-cache-token-960 stable-cache-token-961 stable-cache-token-962 stable-cache-token-963 stable-cache-token-964 stable-cache-token-965 stable-cache-token-966 stable-cache-token-967 stable-cache-token-968 stable-cache-token-969 stable-cache-token-970 stable-cache-token-971 stable-cache-token-972 stable-cache-token-973 stable-cache-token-974 stable-cache-token-975 stable-cache-token-976 stable-cache-token-977 stable-cache-token-978 stable-cache-token-979 stable-cache-token-980 stable-cache-token-981 stable-cache-token-982 stable-cache-token-983 stable-cache-token-984 stable-cache-token-985 stable-cache-token-986 stable-cache-token-987 stable-cache-token-988 stable-cache-token-989 stable-cache-token-990 stable-cache-token-991 stable-cache-token-992 stable-cache-token-993 stable-cache-token-994 stable-cache-token-995 stable-cache-token-996 stable-cache-token-997 stable-cache-token-998 stable-cache-token-999 stable-cache-token-1000 stable-cache-token-1001 stable-cache-token-1002 stable-cache-token-1003 stable-cache-token-1004 stable-cache-token-1005 stable-cache-token-1006 stable-cache-token-1007 stable-cache-token-1008 stable-cache-token-1009 stable-cache-token-1010 stable-cache-token-1011 stable-cache-token-1012 stable-cache-token-1013 stable-cache-token-1014 stable-cache-token-1015 stable-cache-token-1016 stable-cache-token-1017 stable-cache-token-1018 stable-cache-token-1019 stable-cache-token-1020 stable-cache-token-1021 stable-cache-token-1022 stable-cache-token-1023 stable-cache-token-1024 stable-cache-token-1025 stable-cache-token-1026 stable-cache-token-1027 stable-cache-token-1028 stable-cache-token-1029 stable-cache-token-1030 stable-cache-token-1031 stable-cache-token-1032 stable-cache-token-1033 stable-cache-token-1034 stable-cache-token-1035 stable-cache-token-1036 stable-cache-token-1037 stable-cache-token-1038 stable-cache-token-1039 stable-cache-token-1040 stable-cache-token-1041 stable-cache-token-1042 stable-cache-token-1043 stable-cache-token-1044 stable-cache-token-1045 stable-cache-token-1046 stable-cache-token-1047 stable-cache-token-1048 stable-cache-token-1049 stable-cache-token-1050 stable-cache-token-1051 stable-cache-token-1052 stable-cache-token-1053 stable-cache-token-1054 stable-cache-token-1055 stable-cache-token-1056 stable-cache-token-1057 stable-cache-token-1058 stable-cache-token-1059 stable-cache-token-1060 stable-cache-token-1061 stable-cache-token-1062 stable-cache-token-1063 stable-cache-token-1064 stable-cache-token-1065 stable-cache-token-1066 stable-cache-token-1067 stable-cache-token-1068 stable-cache-token-1069 stable-cache-token-1070 stable-cache-token-1071 stable-cache-token-1072 stable-cache-token-1073 stable-cache-token-1074 stable-cache-token-1075 stable-cache-token-1076 stable-cache-token-1077 stable-cache-token-1078 stable-cache-token-1079 stable-cache-token-1080 stable-cache-token-1081 stable-cache-token-1082 stable-cache-token-1083 stable-cache-token-1084 stable-cache-token-1085 stable-cache-token-1086 stable-cache-token-1087 stable-cache-token-1088 stable-cache-token-1089 stable-cache-token-1090 stable-cache-token-1091 stable-cache-token-1092 stable-cache-token-1093 stable-cache-token-1094 stable-cache-token-1095 stable-cache-token-1096 stable-cache-token-1097 stable-cache-token-1098 stable-cache-token-1099 stable-cache-token-1100 stable-cache-token-1101 stable-cache-token-1102 stable-cache-token-1103 stable-cache-token-1104 stable-cache-token-1105 stable-cache-token-1106 stable-cache-token-1107 stable-cache-token-1108 stable-cache-token-1109 stable-cache-token-1110 stable-cache-token-1111 stable-cache-token-1112 stable-cache-token-1113 stable-cache-token-1114 stable-cache-token-1115 stable-cache-token-1116 stable-cache-token-1117 stable-cache-token-1118 stable-cache-token-1119 stable-cache-token-1120 stable-cache-token-1121 stable-cache-token-1122 stable-cache-token-1123 stable-cache-token-1124 stable-cache-token-1125 stable-cache-token-1126 stable-cache-token-1127 stable-cache-token-1128 stable-cache-token-1129 stable-cache-token-1130 stable-cache-token-1131 stable-cache-token-1132 stable-cache-token-1133 stable-cache-token-1134 stable-cache-token-1135 stable-cache-token-1136 stable-cache-token-1137 stable-cache-token-1138 stable-cache-token-1139 stable-cache-token-1140 stable-cache-token-1141 stable-cache-token-1142 stable-cache-token-1143 stable-cache-token-1144 stable-cache-token-1145 stable-cache-token-1146 stable-cache-token-1147 stable-cache-token-1148 stable-cache-token-1149 stable-cache-token-1150 stable-cache-token-1151 stable-cache-token-1152 stable-cache-token-1153 stable-cache-token-1154 stable-cache-token-1155 stable-cache-token-1156 stable-cache-token-1157 stable-cache-token-1158 stable-cache-token-1159 stable-cache-token-1160 stable-cache-token-1161 stable-cache-token-1162 stable-cache-token-1163 stable-cache-token-1164 stable-cache-token-1165 stable-cache-token-1166 stable-cache-token-1167 stable-cache-token-1168 stable-cache-token-1169 stable-cache-token-1170 stable-cache-token-1171 stable-cache-token-1172 stable-cache-token-1173 stable-cache-token-1174 stable-cache-token-1175 stable-cache-token-1176 stable-cache-token-1177 stable-cache-token-1178 stable-cache-token-1179 stable-cache-token-1180 stable-cache-token-1181 stable-cache-token-1182 stable-cache-token-1183 stable-cache-token-1184 stable-cache-token-1185 stable-cache-token-1186 stable-cache-token-1187 stable-cache-token-1188 stable-cache-token-1189 stable-cache-token-1190 stable-cache-token-1191 stable-cache-token-1192 stable-cache-token-1193 stable-cache-token-1194 stable-cache-token-1195 stable-cache-token-1196 stable-cache-token-1197 stable-cache-token-1198 stable-cache-token-1199 stable-cache-token-1200 stable-cache-token-1201 stable-cache-token-1202 stable-cache-token-1203 stable-cache-token-1204 stable-cache-token-1205 stable-cache-token-1206 stable-cache-token-1207 stable-cache-token-1208 stable-cache-token-1209 stable-cache-token-1210 stable-cache-token-1211 stable-cache-token-1212 stable-cache-token-1213 stable-cache-token-1214 stable-cache-token-1215 stable-cache-token-1216 stable-cache-token-1217 stable-cache-token-1218 stable-cache-token-1219 stable-cache-token-1220 stable-cache-token-1221 stable-cache-token-1222 stable-cache-token-1223 stable-cache-token-1224 stable-cache-token-1225 stable-cache-token-1226 stable-cache-token-1227 stable-cache-token-1228 stable-cache-token-1229 stable-cache-token-1230 stable-cache-token-1231 stable-cache-token-1232 stable-cache-token-1233 stable-cache-token-1234 stable-cache-token-1235 stable-cache-token-1236 stable-cache-token-1237 stable-cache-token-1238 stable-cache-token-1239 stable-cache-token-1240 stable-cache-token-1241 stable-cache-token-1242 stable-cache-token-1243 stable-cache-token-1244 stable-cache-token-1245 stable-cache-token-1246 stable-cache-token-1247 stable-cache-token-1248 stable-cache-token-1249 stable-cache-token-1250 stable-cache-token-1251 stable-cache-token-1252 stable-cache-token-1253 stable-cache-token-1254 stable-cache-token-1255 stable-cache-token-1256 stable-cache-token-1257 stable-cache-token-1258 stable-cache-token-1259 stable-cache-token-1260 stable-cache-token-1261 stable-cache-token-1262 stable-cache-token-1263 stable-cache-token-1264 stable-cache-token-1265 stable-cache-token-1266 stable-cache-token-1267 stable-cache-token-1268 stable-cache-token-1269 stable-cache-token-1270 stable-cache-token-1271 stable-cache-token-1272 stable-cache-token-1273 stable-cache-token-1274 stable-cache-token-1275 stable-cache-token-1276 stable-cache-token-1277 stable-cache-token-1278 stable-cache-token-1279 stable-cache-token-1280 stable-cache-token-1281 stable-cache-token-1282 stable-cache-token-1283 stable-cache-token-1284 stable-cache-token-1285 stable-cache-token-1286 stable-cache-token-1287 stable-cache-token-1288 stable-cache-token-1289 stable-cache-token-1290 stable-cache-token-1291 stable-cache-token-1292 stable-cache-token-1293 stable-cache-token-1294 stable-cache-token-1295 stable-cache-token-1296 stable-cache-token-1297 stable-cache-token-1298 stable-cache-token-1299 stable-cache-token-1300 stable-cache-token-1301 stable-cache-token-1302 stable-cache-token-1303 stable-cache-token-1304 stable-cache-token-1305 stable-cache-token-1306 stable-cache-token-1307 stable-cache-token-1308 stable-cache-token-1309 stable-cache-token-1310 stable-cache-token-1311 stable-cache-token-1312 stable-cache-token-1313 stable-cache-token-1314 stable-cache-token-1315 stable-cache-token-1316 stable-cache-token-1317 stable-cache-token-1318 stable-cache-token-1319 stable-cache-token-1320 stable-cache-token-1321 stable-cache-token-1322 stable-cache-token-1323 stable-cache-token-1324 stable-cache-token-1325 stable-cache-token-1326 stable-cache-token-1327 stable-cache-token-1328 stable-cache-token-1329 stable-cache-token-1330 stable-cache-token-1331 stable-cache-token-1332 stable-cache-token-1333 stable-cache-token-1334 stable-cache-token-1335 stable-cache-token-1336 stable-cache-token-1337 stable-cache-token-1338 stable-cache-token-1339 stable-cache-token-1340 stable-cache-token-1341 stable-cache-token-1342 stable-cache-token-1343 stable-cache-token-1344 stable-cache-token-1345 stable-cache-token-1346 stable-cache-token-1347 stable-cache-token-1348 stable-cache-token-1349 stable-cache-token-1350 stable-cache-token-1351 stable-cache-token-1352 stable-cache-token-1353 stable-cache-token-1354 stable-cache-token-1355 stable-cache-token-1356 stable-cache-token-1357 stable-cache-token-1358 stable-cache-token-1359 stable-cache-token-1360 stable-cache-token-1361 stable-cache-token-1362 stable-cache-token-1363 stable-cache-token-1364 stable-cache-token-1365 stable-cache-token-1366 stable-cache-token-1367 stable-cache-token-1368 stable-cache-token-1369 stable-cache-token-1370 stable-cache-token-1371 stable-cache-token-1372 stable-cache-token-1373 stable-cache-token-1374 stable-cache-token-1375 stable-cache-token-1376 stable-cache-token-1377 stable-cache-token-1378 stable-cache-token-1379 stable-cache-token-1380 stable-cache-token-1381 stable-cache-token-1382 stable-cache-token-1383 stable-cache-token-1384 stable-cache-token-1385 stable-cache-token-1386 stable-cache-token-1387 stable-cache-token-1388 stable-cache-token-1389 stable-cache-token-1390 stable-cache-token-1391 stable-cache-token-1392 stable-cache-token-1393 stable-cache-token-1394 stable-cache-token-1395 stable-cache-token-1396 stable-cache-token-1397 stable-cache-token-1398 stable-cache-token-1399 stable-cache-token-1400 stable-cache-token-1401 stable-cache-token-1402 stable-cache-token-1403 stable-cache-token-1404 stable-cache-token-1405 stable-cache-token-1406 stable-cache-token-1407 stable-cache-token-1408 stable-cache-token-1409 stable-cache-token-1410 stable-cache-token-1411 stable-cache-token-1412 stable-cache-token-1413 stable-cache-token-1414 stable-cache-token-1415 stable-cache-token-1416 stable-cache-token-1417 stable-cache-token-1418 stable-cache-token-1419 stable-cache-token-1420 stable-cache-token-1421 stable-cache-token-1422 stable-cache-token-1423 stable-cache-token-1424 stable-cache-token-1425 stable-cache-token-1426 stable-cache-token-1427 stable-cache-token-1428 stable-cache-token-1429 stable-cache-token-1430 stable-cache-token-1431 stable-cache-token-1432 stable-cache-token-1433 stable-cache-token-1434 stable-cache-token-1435 stable-cache-token-1436 stable-cache-token-1437 stable-cache-token-1438 stable-cache-token-1439 stable-cache-token-1440 stable-cache-token-1441 stable-cache-token-1442 stable-cache-token-1443 stable-cache-token-1444 stable-cache-token-1445 stable-cache-token-1446 stable-cache-token-1447 stable-cache-token-1448 stable-cache-token-1449 stable-cache-token-1450 stable-cache-token-1451 stable-cache-token-1452 stable-cache-token-1453 stable-cache-token-1454 stable-cache-token-1455 stable-cache-token-1456 stable-cache-token-1457 stable-cache-token-1458 stable-cache-token-1459 stable-cache-token-1460 stable-cache-token-1461 stable-cache-token-1462 stable-cache-token-1463 stable-cache-token-1464 stable-cache-token-1465 stable-cache-token-1466 stable-cache-token-1467 stable-cache-token-1468 stable-cache-token-1469 stable-cache-token-1470 stable-cache-token-1471 stable-cache-token-1472 stable-cache-token-1473 stable-cache-token-1474 stable-cache-token-1475 stable-cache-token-1476 stable-cache-token-1477 stable-cache-token-1478 stable-cache-token-1479 stable-cache-token-1480 stable-cache-token-1481 stable-cache-token-1482 stable-cache-token-1483 stable-cache-token-1484 stable-cache-token-1485 stable-cache-token-1486 stable-cache-token-1487 stable-cache-token-1488 stable-cache-token-1489 stable-cache-token-1490 stable-cache-token-1491 stable-cache-token-1492 stable-cache-token-1493 stable-cache-token-1494 stable-cache-token-1495 stable-cache-token-1496 stable-cache-token-1497 stable-cache-token-1498 stable-cache-token-1499 stable-cache-token-1500 stable-cache-token-1501 stable-cache-token-1502 stable-cache-token-1503 stable-cache-token-1504 stable-cache-token-1505 stable-cache-token-1506 stable-cache-token-1507 stable-cache-token-1508 stable-cache-token-1509 stable-cache-token-1510 stable-cache-token-1511 stable-cache-token-1512 stable-cache-token-1513 stable-cache-token-1514 stable-cache-token-1515 stable-cache-token-1516 stable-cache-token-1517 stable-cache-token-1518 stable-cache-token-1519 stable-cache-token-1520 stable-cache-token-1521 stable-cache-token-1522 stable-cache-token-1523 stable-cache-token-1524 stable-cache-token-1525 stable-cache-token-1526 stable-cache-token-1527 stable-cache-token-1528 stable-cache-token-1529 stable-cache-token-1530 stable-cache-token-1531 stable-cache-token-1532 stable-cache-token-1533 stable-cache-token-1534 stable-cache-token-1535 stable-cache-token-1536 stable-cache-token-1537 stable-cache-token-1538 stable-cache-token-1539 stable-cache-token-1540 stable-cache-token-1541 stable-cache-token-1542 stable-cache-token-1543 stable-cache-token-1544 stable-cache-token-1545 stable-cache-token-1546 stable-cache-token-1547 stable-cache-token-1548 stable-cache-token-1549 stable-cache-token-1550 stable-cache-token-1551 stable-cache-token-1552 stable-cache-token-1553 stable-cache-token-1554 stable-cache-token-1555 stable-cache-token-1556 stable-cache-token-1557 stable-cache-token-1558 stable-cache-token-1559 stable-cache-token-1560 stable-cache-token-1561 stable-cache-token-1562 stable-cache-token-1563 stable-cache-token-1564 stable-cache-token-1565 stable-cache-token-1566 stable-cache-token-1567 stable-cache-token-1568 stable-cache-token-1569 stable-cache-token-1570 stable-cache-token-1571 stable-cache-token-1572 stable-cache-token-1573 stable-cache-token-1574 stable-cache-token-1575 stable-cache-token-1576 stable-cache-token-1577 stable-cache-token-1578 stable-cache-token-1579 stable-cache-token-1580 stable-cache-token-1581 stable-cache-token-1582 stable-cache-token-1583 stable-cache-token-1584 stable-cache-token-1585 stable-cache-token-1586 stable-cache-token-1587 stable-cache-token-1588 stable-cache-token-1589 stable-cache-token-1590 stable-cache-token-1591 stable-cache-token-1592 stable-cache-token-1593 stable-cache-token-1594 stable-cache-token-1595 stable-cache-token-1596 stable-cache-token-1597 stable-cache-token-1598 stable-cache-token-1599\nUse this stable cache context only to exercise Bedrock prompt caching in this e2e scenario." + }, + { + "text": "Reply with exactly RAW." + } + ], + "role": "user" + } + ], + "schemaVersion": "messages-v1" + } + }, + "headers": {}, + "method": "POST", + "url": "https://bedrock-runtime.us-east-2.amazonaws.com/model/us.amazon.nova-lite-v1%3A0/invoke" + }, + "response": { + "body": { + "kind": "json", + "value": { + "output": { + "message": { + "content": [ + { + "text": "RAW" + } + ], + "role": "assistant" + } + }, + "stopReason": "end_turn", + "usage": { + "cacheReadInputTokenCount": 14921, + "cacheWriteInputTokenCount": 0, + "inputTokens": 6, + "outputTokens": 2, + "totalTokens": 14929 + } + } + }, + "headers": { + "connection": "keep-alive", + "content-length": "220", + "content-type": "application/json", + "date": "[REDACTED]", + "x-amzn-bedrock-cache-read-input-token-count": "14921", + "x-amzn-bedrock-cache-write-input-token-count": "0", + "x-amzn-bedrock-input-token-count": "6", + "x-amzn-bedrock-invocation-latency": "568", + "x-amzn-bedrock-output-token-count": "2", + "x-amzn-requestid": "[REDACTED]" + }, + "status": 200, + "statusText": "OK" + } + }, + { + "callIndex": 0, + "id": "0d28290b31e60524", + "matchKey": "POST bedrock-runtime.aws-region.amazonaws.com/model/amazon.titan-embed-text-v2%3A0/invoke", + "recordedAt": "2026-09-14T10:22:51.068Z", + "request": { + "body": { + "kind": "json", + "value": { + "dimensions": 256, + "inputText": "Embed this short Braintrust test sentence.", + "normalize": true + } + }, + "headers": {}, + "method": "POST", + "url": "https://bedrock-runtime.us-east-2.amazonaws.com/model/amazon.titan-embed-text-v2%3A0/invoke" + }, + "response": { + "body": { + "kind": "json", + "value": { + "embedding": [ + -0.12292258441448212, -0.07959577441215515, 0.08431042730808258, + -0.10088402777910233, 0.05975078046321869, 0.04403328150510788, + 0.024066895246505737, -0.04080509766936302, 0.02489643730223179, + -0.0795687884092331, 0.02351302281022072, 0.07398539036512375, + 0.04453573003411293, 0.08846784383058548, -0.10815097391605377, + 0.05521947890520096, -0.16448578238487244, 0.004347097594290972, + 0.07222197949886322, 0.0463339164853096, -0.07095752656459808, + 0.059447288513183594, 0.09525425732135773, 0.022096727043390274, + -0.017248446121811867, 0.048663217574357986, 0.023638635873794556, + -0.1004452258348465, 0.0075063626281917095, + -0.0059416936710476875, 0.027133848518133163, 0.06913647055625916, + -0.03559283912181854, -0.02739856019616127, 0.038251765072345734, + 0.06140438839793205, 0.1045832559466362, 0.014584042131900787, + -0.06437397003173828, -0.047034475952386856, 0.11060492694377899, + -0.038175467401742935, -0.0009408244513906538, 0.0793125107884407, + 0.007091590669006109, 0.018523111939430237, -0.06668557226657867, + 0.006105242297053337, 0.13666148483753204, -0.05786997452378273, + 0.014439462684094906, -0.044528983533382416, 0.024444574490189552, + -0.005831677932292223, 0.017307458445429802, 0.04847774654626846, + -0.02452550269663334, 0.06572577357292175, 0.0029202650766819715, + 0.007529967464506626, -0.1039273738861084, -0.03952137008309364, + -0.004398839082568884, 0.07740472257137299, 0.04621167480945587, + -0.17100746929645538, -0.04082975909113884, -0.0588807687163353, + -0.04599248990416527, -0.020512986928224564, -0.09188719093799591, + 0.00426911748945713, -0.000692129775416106, 0.004748803097754717, + 0.13025866448879242, 0.01573941856622696, 0.17338144779205322, + 0.003193407552316785, -0.029229626059532166, 0.024968940764665604, + -0.04834539070725441, -0.15418729186058044, -0.03690817579627037, + -0.06842221319675446, -0.10160229355096817, -0.09653398394584656, + 0.03875800594687462, 0.05118556693196297, 0.07510367035865784, + 0.03143162652850151, 0.02311595529317856, -0.015048659406602383, + 0.01710296981036663, -0.11315520852804184, 0.018481381237506866, + -0.0338292121887207, -0.058479487895965576, -0.036149658262729645, + -0.09464769810438156, 0.12142283469438553, 0.029261663556098938, + -0.004921624902635813, -0.04159269854426384, 0.08198323100805283, + 0.03196780011057854, 0.07600276172161102, -0.019774172455072403, + 0.02676628716289997, 0.007893314585089684, -0.08676154911518097, + 0.0862523540854454, 0.07928552478551865, -0.00991069059818983, + -0.14990806579589844, -0.023241829127073288, + -0.041857410222291946, 0.0588386170566082, -0.0015747849829494953, + -0.0013943759258836508, 0.057771336287260056, + -0.030339965596795082, -0.11415335536003113, 0.10198081284761429, + 0.0721922516822815, -0.05151677504181862, -0.023935591802001, + 0.08501140773296356, -0.19109611213207245, 0.018602358177304268, + 0.008469948545098305, 0.08628860116004944, -0.04712215065956116, + -0.12366276979446411, -0.056274112313985825, + -0.006444351747632027, -0.09390708804130554, 0.010054955258965492, + -0.025729354470968246, 0.032284777611494064, 0.020303597673773766, + 0.10665374249219894, 0.03838158771395683, 0.006953333038836718, + -0.0051728482358157635, 0.001733275013975799, + -0.09658793359994888, 0.10766538977622986, -0.022696124389767647, + -0.05594448745250702, 0.046537090092897415, -0.018275262787938118, + -0.018421949818730354, 0.08769562840461731, 0.052673522382974625, + -0.08586961776018143, -0.0235922671854496, -0.0772588774561882, + -0.014924732968211174, -0.05366745963692665, -0.05541253462433815, + 0.045496780425310135, 0.002971057780086994, -0.03147293999791145, + 0.002948084846138954, -0.021311864256858826, + -0.039724960923194885, 0.010902097448706627, 0.06243161857128143, + -0.026628030464053154, 0.11030576378107071, -0.1452612727880478, + 0.005462851375341415, 0.02862938679754734, -0.06087370216846466, + 0.010403022170066833, 0.10341817885637283, -0.033940497785806656, + 0.020730171352624893, 0.028514735400676727, 0.008983355015516281, + -0.10639071464538574, -0.00584490317851305, 0.0036663489881902933, + 0.020740289241075516, -0.044970735907554626, 0.04415973275899887, + 0.028332114219665527, 0.0067518483847379684, + -0.054336823523044586, 0.03544783592224121, 0.0672975555062294, + 0.01806703209877014, 0.04297527298331261, 0.05716772750020027, + -0.09931936860084534, 0.034363698214292526, 0.09905970841646194, + 0.02531627006828785, 0.0007899216143414378, -0.034105729311704636, + 0.11593195050954819, -0.04631452634930611, -0.015666916966438293, + 0.07577851414680481, 0.05583911016583443, -0.07117555290460587, + -0.01634724624454975, -0.02705981954932213, 0.10862980782985687, + -0.04369606822729111, -0.05634155496954918, -0.03384438529610634, + -0.02436027117073536, -0.01253589428961277, + -0.0010310289217159152, -0.03024463914334774, + -0.01715908572077751, 0.0645122304558754, 0.030614729970693588, + 0.08481582999229431, -0.0016961815999820828, 0.024990860372781754, + 0.03251070901751518, 0.08395930379629135, 0.10277410596609116, + -0.0586211159825325, 0.021863209083676338, -0.006060561165213585, + 0.08362884074449539, -0.0015376914525404572, 0.05520851910114288, + 0.007351244799792767, 0.009044053964316845, 0.05301115661859512, + -0.14014236629009247, -0.07494518160820007, -0.03454863652586937, + 0.005095289088785648, -0.011873271316289902, -0.06659957021474838, + -0.003867833875119686, -0.04873403161764145, -0.03669552505016327, + -0.10232392698526382, -0.027862651273608208, + -0.023979220539331436, -0.03040650114417076, 0.003351897466927767, + -0.08534693717956543, -0.044603168964385986, + -0.009662418626248837, -0.042438264936208725, 0.0830184817314148, + 0.013444683514535427, 0.06837331503629684, 0.0042699603363871574 + ], + "embeddingsByType": { + "float": [ + -0.12292258441448212, -0.07959577441215515, 0.08431042730808258, + -0.10088402777910233, 0.05975078046321869, 0.04403328150510788, + 0.024066895246505737, -0.04080509766936302, 0.02489643730223179, + -0.0795687884092331, 0.02351302281022072, 0.07398539036512375, + 0.04453573003411293, 0.08846784383058548, -0.10815097391605377, + 0.05521947890520096, -0.16448578238487244, 0.004347097594290972, + 0.07222197949886322, 0.0463339164853096, -0.07095752656459808, + 0.059447288513183594, 0.09525425732135773, 0.022096727043390274, + -0.017248446121811867, 0.048663217574357986, + 0.023638635873794556, -0.1004452258348465, + 0.0075063626281917095, -0.0059416936710476875, + 0.027133848518133163, 0.06913647055625916, -0.03559283912181854, + -0.02739856019616127, 0.038251765072345734, 0.06140438839793205, + 0.1045832559466362, 0.014584042131900787, -0.06437397003173828, + -0.047034475952386856, 0.11060492694377899, + -0.038175467401742935, -0.0009408244513906538, + 0.0793125107884407, 0.007091590669006109, 0.018523111939430237, + -0.06668557226657867, 0.006105242297053337, 0.13666148483753204, + -0.05786997452378273, 0.014439462684094906, + -0.044528983533382416, 0.024444574490189552, + -0.005831677932292223, 0.017307458445429802, + 0.04847774654626846, -0.02452550269663334, 0.06572577357292175, + 0.0029202650766819715, 0.007529967464506626, + -0.1039273738861084, -0.03952137008309364, + -0.004398839082568884, 0.07740472257137299, 0.04621167480945587, + -0.17100746929645538, -0.04082975909113884, -0.0588807687163353, + -0.04599248990416527, -0.020512986928224564, + -0.09188719093799591, 0.00426911748945713, + -0.000692129775416106, 0.004748803097754717, + 0.13025866448879242, 0.01573941856622696, 0.17338144779205322, + 0.003193407552316785, -0.029229626059532166, + 0.024968940764665604, -0.04834539070725441, + -0.15418729186058044, -0.03690817579627037, + -0.06842221319675446, -0.10160229355096817, + -0.09653398394584656, 0.03875800594687462, 0.05118556693196297, + 0.07510367035865784, 0.03143162652850151, 0.02311595529317856, + -0.015048659406602383, 0.01710296981036663, + -0.11315520852804184, 0.018481381237506866, -0.0338292121887207, + -0.058479487895965576, -0.036149658262729645, + -0.09464769810438156, 0.12142283469438553, 0.029261663556098938, + -0.004921624902635813, -0.04159269854426384, + 0.08198323100805283, 0.03196780011057854, 0.07600276172161102, + -0.019774172455072403, 0.02676628716289997, + 0.007893314585089684, -0.08676154911518097, 0.0862523540854454, + 0.07928552478551865, -0.00991069059818983, -0.14990806579589844, + -0.023241829127073288, -0.041857410222291946, + 0.0588386170566082, -0.0015747849829494953, + -0.0013943759258836508, 0.057771336287260056, + -0.030339965596795082, -0.11415335536003113, + 0.10198081284761429, 0.0721922516822815, -0.05151677504181862, + -0.023935591802001, 0.08501140773296356, -0.19109611213207245, + 0.018602358177304268, 0.008469948545098305, 0.08628860116004944, + -0.04712215065956116, -0.12366276979446411, + -0.056274112313985825, -0.006444351747632027, + -0.09390708804130554, 0.010054955258965492, + -0.025729354470968246, 0.032284777611494064, + 0.020303597673773766, 0.10665374249219894, 0.03838158771395683, + 0.006953333038836718, -0.0051728482358157635, + 0.001733275013975799, -0.09658793359994888, 0.10766538977622986, + -0.022696124389767647, -0.05594448745250702, + 0.046537090092897415, -0.018275262787938118, + -0.018421949818730354, 0.08769562840461731, + 0.052673522382974625, -0.08586961776018143, -0.0235922671854496, + -0.0772588774561882, -0.014924732968211174, + -0.05366745963692665, -0.05541253462433815, + 0.045496780425310135, 0.002971057780086994, + -0.03147293999791145, 0.002948084846138954, + -0.021311864256858826, -0.039724960923194885, + 0.010902097448706627, 0.06243161857128143, + -0.026628030464053154, 0.11030576378107071, -0.1452612727880478, + 0.005462851375341415, 0.02862938679754734, -0.06087370216846466, + 0.010403022170066833, 0.10341817885637283, + -0.033940497785806656, 0.020730171352624893, + 0.028514735400676727, 0.008983355015516281, + -0.10639071464538574, -0.00584490317851305, + 0.0036663489881902933, 0.020740289241075516, + -0.044970735907554626, 0.04415973275899887, + 0.028332114219665527, 0.0067518483847379684, + -0.054336823523044586, 0.03544783592224121, 0.0672975555062294, + 0.01806703209877014, 0.04297527298331261, 0.05716772750020027, + -0.09931936860084534, 0.034363698214292526, 0.09905970841646194, + 0.02531627006828785, 0.0007899216143414378, + -0.034105729311704636, 0.11593195050954819, + -0.04631452634930611, -0.015666916966438293, + 0.07577851414680481, 0.05583911016583443, -0.07117555290460587, + -0.01634724624454975, -0.02705981954932213, 0.10862980782985687, + -0.04369606822729111, -0.05634155496954918, + -0.03384438529610634, -0.02436027117073536, + -0.01253589428961277, -0.0010310289217159152, + -0.03024463914334774, -0.01715908572077751, 0.0645122304558754, + 0.030614729970693588, 0.08481582999229431, + -0.0016961815999820828, 0.024990860372781754, + 0.03251070901751518, 0.08395930379629135, 0.10277410596609116, + -0.0586211159825325, 0.021863209083676338, + -0.006060561165213585, 0.08362884074449539, + -0.0015376914525404572, 0.05520851910114288, + 0.007351244799792767, 0.009044053964316845, 0.05301115661859512, + -0.14014236629009247, -0.07494518160820007, + -0.03454863652586937, 0.005095289088785648, + -0.011873271316289902, -0.06659957021474838, + -0.003867833875119686, -0.04873403161764145, + -0.03669552505016327, -0.10232392698526382, + -0.027862651273608208, -0.023979220539331436, + -0.03040650114417076, 0.003351897466927767, + -0.08534693717956543, -0.044603168964385986, + -0.009662418626248837, -0.042438264936208725, + 0.0830184817314148, 0.013444683514535427, 0.06837331503629684, + 0.0042699603363871574 + ] + }, + "inputTextTokenCount": 9 + } + }, + "headers": { + "connection": "keep-alive", + "content-length": "10752", + "content-type": "application/json", + "date": "[REDACTED]", + "x-amzn-bedrock-input-token-count": "9", + "x-amzn-bedrock-invocation-latency": "262", + "x-amzn-requestid": "[REDACTED]" + }, + "status": 200, + "statusText": "OK" + } + }, + { + "callIndex": 0, + "id": "8ff069ff4c3fa2d6", + "matchKey": "POST bedrock-runtime.aws-region.amazonaws.com/model/us.cohere.embed-v4%3A0/invoke", + "recordedAt": "2026-09-14T10:22:51.414Z", + "request": { + "body": { + "kind": "json", + "value": { + "embedding_types": ["float"], + "input_type": "search_document", + "inputs": [ + { + "content": [ + { + "text": "A sailing ship in a storm", + "type": "text" + }, + { + "image_url": { + "url": "[REDACTED]" + }, + "type": "image_url" + } + ] + } + ], + "output_dimension": 256 + } + }, + "headers": {}, + "method": "POST", + "url": "https://bedrock-runtime.us-east-2.amazonaws.com/model/us.cohere.embed-v4%3A0/invoke" + }, + "response": { + "body": { + "kind": "json", + "value": { + "embeddings": { + "float": [ + [ + -0.056131896, 0.017211715, -0.048999116, -0.034578487, + 0.02868619, 0.033338007, -0.05985335, 0.09241605, + -0.017056653, 0.014188034, -0.090555325, 0.016901594, + 0.010544113, -0.035663914, -0.004496754, 0.0103115225, + 0.006318715, -0.055201534, 0.046208024, -0.00786932, + -0.06264444, 0.06264444, -0.0098075755, -0.046828266, + 0.036439214, 0.10171968, 0.037524637, 0.0034694783, + 0.093036294, -0.07597964, -0.10171968, -0.09799823, + -0.019615151, 0.023414133, 0.0061636544, 0.093036294, + 0.014188034, 0.014653216, 0.14203541, -0.03488861, + 0.046518147, -0.035663914, -0.057682503, -0.010233992, + 0.050239597, 0.081871934, 0.019537622, 0.05644202, + -0.09861847, -0.019770212, 0.049929477, 0.11722573, + 0.008605857, -0.0035470086, -0.05985335, -0.08621363, + -0.09923871, 0.13521275, -0.058612864, -0.010233992, + -0.022638831, 0.06822661, 0.11288404, -0.011241885, + 0.10047919, 0.069156975, 0.014808277, 0.005039466, + 0.0015796787, -0.012327309, -0.03147728, -0.08683387, + -0.05396105, -0.037214518, 0.049929477, 0.020157864, + -0.07380879, -0.05737238, -0.06791649, -0.00635748, + -0.05116996, 0.13397226, 0.03535379, -0.16250339, 0.08001121, + -0.05830274, 0.1079221, -0.069156975, 0.04155621, + -0.0025003504, -0.1079221, -0.05085984, -0.028065948, + 0.0005378661, -0.015350988, 0.013257672, -0.083732665, + 0.05396105, 0.015428519, 0.071017705, -0.078460604, + -0.011009295, 0.024964739, 0.09675775, 0.15692121, + -0.049309235, -0.10233992, -0.0036439213, 0.026980525, + -0.05830274, 0.008450797, -0.05148008, 0.14389613, + -0.14575686, 0.01612629, 0.02248377, -0.009768811, + -0.01938256, -0.081871934, -0.0044386066, -0.05085984, + 0.052410446, 0.0052720564, -0.0002652988, 0.004419224, + 0.0103115225, -0.02527486, -0.06667601, -0.06698613, + -0.05985335, -0.043106817, 0.08001121, 0.056131896, + -0.023104012, 0.0029073842, -0.030236796, 0.1197067, + 0.10358041, 0.04403718, -0.07287843, 0.036594275, + -0.010931765, 0.06481528, -0.11846621, 0.012172248, + 0.06388492, 0.09365653, 0.0014440008, -0.07815049, + 0.065125406, -0.042796694, 0.0042447806, -0.008644622, + 0.124668635, 0.02232871, 0.016746532, 0.021243287, 0.05737238, + 0.05085984, 0.083732665, 0.12342815, 0.033493064, 0.09117556, + -0.043416936, -0.14265566, -0.0062411847, 0.0056984727, + -0.03504367, -0.05489141, 0.033338007, 0.010776704, + -0.08745412, -0.018064547, 0.00012598664, 0.07380879, + 0.0032562702, -0.0006105507, -0.10482089, 0.018219607, + -0.20343935, -0.14141516, -0.004632432, -0.010001401, + 0.023104012, 0.122807905, 0.054581292, 0.04031573, 0.03814488, + -0.0753594, 0.045277663, -0.09179581, 0.008877213, + 0.054581292, 0.023879316, -0.05644202, 0.07597964, + -0.06450516, -0.008877213, -0.09799823, 0.00050879223, + -0.06388492, -0.001899491, -0.07597964, -0.0443473, + -0.04713839, -0.042486575, -0.013180141, -0.052100323, + 0.109162584, 0.030236796, 0.013722853, -0.016979123, + -0.035508852, -0.020467984, 0.01279249, -0.10606138, + 0.07070758, -0.052100323, 0.043106817, -0.06450516, + 0.0014536921, -0.036129095, -0.0035082435, -0.07225819, + -0.0041091028, -0.030857038, 0.048999116, 0.050239597, + 0.020467984, -0.007830555, -0.011009295, -0.090555325, + -0.09365653, -0.01287002, -0.018064547, -0.002694176, + -0.0148858065, -0.008722153, 0.020157864, -0.013955444, + -0.01620382, -0.0158937, -0.029616553, 0.07628976, + -0.024654618, -0.09117556, -0.13149129, -0.099858955, + -0.13149129, -0.006745131, -0.09551726, 0.02232871, + 0.043416936, 0.00969128, -0.010233992, -0.036594275 + ] + ] + }, + "id": "1d7d6a34-0fc5-4251-a934-7c9b46c97ae0", + "inputs": [ + { + "content": [ + { + "text": "A sailing ship in a storm", + "type": "text" + }, + { + "image": { + "bit_depth": 32, + "format": "image/png", + "height": 140, + "width": 140 + }, + "type": "image_url" + } + ] + } + ], + "response_type": "embeddings_by_type", + "texts": [] + } + }, + "headers": { + "connection": "keep-alive", + "content-length": "3408", + "content-type": "application/json", + "date": "[REDACTED]", + "x-amzn-bedrock-input-token-count": "112", + "x-amzn-bedrock-invocation-latency": "319", + "x-amzn-requestid": "[REDACTED]" + }, + "status": 200, + "statusText": "OK" + } + }, + { + "callIndex": 0, + "id": "6b97f66ee2a0ebd7", + "matchKey": "POST bedrock-runtime.aws-region.amazonaws.com/model/us.amazon.nova-lite-v1%3A0/invoke-with-response-stream", + "recordedAt": "2026-09-14T10:22:51.927Z", + "request": { + "body": { + "kind": "json", + "value": { + "inferenceConfig": { + "maxTokens": 16, + "temperature": 0, + "topP": 0.9 + }, + "messages": [ + { + "content": [ + { + "cachePoint": { + "type": "default" + }, + "text": "BRAINTRUST_BEDROCK_CACHE_CONTEXT\nstable-cache-token-0 stable-cache-token-1 stable-cache-token-2 stable-cache-token-3 stable-cache-token-4 stable-cache-token-5 stable-cache-token-6 stable-cache-token-7 stable-cache-token-8 stable-cache-token-9 stable-cache-token-10 stable-cache-token-11 stable-cache-token-12 stable-cache-token-13 stable-cache-token-14 stable-cache-token-15 stable-cache-token-16 stable-cache-token-17 stable-cache-token-18 stable-cache-token-19 stable-cache-token-20 stable-cache-token-21 stable-cache-token-22 stable-cache-token-23 stable-cache-token-24 stable-cache-token-25 stable-cache-token-26 stable-cache-token-27 stable-cache-token-28 stable-cache-token-29 stable-cache-token-30 stable-cache-token-31 stable-cache-token-32 stable-cache-token-33 stable-cache-token-34 stable-cache-token-35 stable-cache-token-36 stable-cache-token-37 stable-cache-token-38 stable-cache-token-39 stable-cache-token-40 stable-cache-token-41 stable-cache-token-42 stable-cache-token-43 stable-cache-token-44 stable-cache-token-45 stable-cache-token-46 stable-cache-token-47 stable-cache-token-48 stable-cache-token-49 stable-cache-token-50 stable-cache-token-51 stable-cache-token-52 stable-cache-token-53 stable-cache-token-54 stable-cache-token-55 stable-cache-token-56 stable-cache-token-57 stable-cache-token-58 stable-cache-token-59 stable-cache-token-60 stable-cache-token-61 stable-cache-token-62 stable-cache-token-63 stable-cache-token-64 stable-cache-token-65 stable-cache-token-66 stable-cache-token-67 stable-cache-token-68 stable-cache-token-69 stable-cache-token-70 stable-cache-token-71 stable-cache-token-72 stable-cache-token-73 stable-cache-token-74 stable-cache-token-75 stable-cache-token-76 stable-cache-token-77 stable-cache-token-78 stable-cache-token-79 stable-cache-token-80 stable-cache-token-81 stable-cache-token-82 stable-cache-token-83 stable-cache-token-84 stable-cache-token-85 stable-cache-token-86 stable-cache-token-87 stable-cache-token-88 stable-cache-token-89 stable-cache-token-90 stable-cache-token-91 stable-cache-token-92 stable-cache-token-93 stable-cache-token-94 stable-cache-token-95 stable-cache-token-96 stable-cache-token-97 stable-cache-token-98 stable-cache-token-99 stable-cache-token-100 stable-cache-token-101 stable-cache-token-102 stable-cache-token-103 stable-cache-token-104 stable-cache-token-105 stable-cache-token-106 stable-cache-token-107 stable-cache-token-108 stable-cache-token-109 stable-cache-token-110 stable-cache-token-111 stable-cache-token-112 stable-cache-token-113 stable-cache-token-114 stable-cache-token-115 stable-cache-token-116 stable-cache-token-117 stable-cache-token-118 stable-cache-token-119 stable-cache-token-120 stable-cache-token-121 stable-cache-token-122 stable-cache-token-123 stable-cache-token-124 stable-cache-token-125 stable-cache-token-126 stable-cache-token-127 stable-cache-token-128 stable-cache-token-129 stable-cache-token-130 stable-cache-token-131 stable-cache-token-132 stable-cache-token-133 stable-cache-token-134 stable-cache-token-135 stable-cache-token-136 stable-cache-token-137 stable-cache-token-138 stable-cache-token-139 stable-cache-token-140 stable-cache-token-141 stable-cache-token-142 stable-cache-token-143 stable-cache-token-144 stable-cache-token-145 stable-cache-token-146 stable-cache-token-147 stable-cache-token-148 stable-cache-token-149 stable-cache-token-150 stable-cache-token-151 stable-cache-token-152 stable-cache-token-153 stable-cache-token-154 stable-cache-token-155 stable-cache-token-156 stable-cache-token-157 stable-cache-token-158 stable-cache-token-159 stable-cache-token-160 stable-cache-token-161 stable-cache-token-162 stable-cache-token-163 stable-cache-token-164 stable-cache-token-165 stable-cache-token-166 stable-cache-token-167 stable-cache-token-168 stable-cache-token-169 stable-cache-token-170 stable-cache-token-171 stable-cache-token-172 stable-cache-token-173 stable-cache-token-174 stable-cache-token-175 stable-cache-token-176 stable-cache-token-177 stable-cache-token-178 stable-cache-token-179 stable-cache-token-180 stable-cache-token-181 stable-cache-token-182 stable-cache-token-183 stable-cache-token-184 stable-cache-token-185 stable-cache-token-186 stable-cache-token-187 stable-cache-token-188 stable-cache-token-189 stable-cache-token-190 stable-cache-token-191 stable-cache-token-192 stable-cache-token-193 stable-cache-token-194 stable-cache-token-195 stable-cache-token-196 stable-cache-token-197 stable-cache-token-198 stable-cache-token-199 stable-cache-token-200 stable-cache-token-201 stable-cache-token-202 stable-cache-token-203 stable-cache-token-204 stable-cache-token-205 stable-cache-token-206 stable-cache-token-207 stable-cache-token-208 stable-cache-token-209 stable-cache-token-210 stable-cache-token-211 stable-cache-token-212 stable-cache-token-213 stable-cache-token-214 stable-cache-token-215 stable-cache-token-216 stable-cache-token-217 stable-cache-token-218 stable-cache-token-219 stable-cache-token-220 stable-cache-token-221 stable-cache-token-222 stable-cache-token-223 stable-cache-token-224 stable-cache-token-225 stable-cache-token-226 stable-cache-token-227 stable-cache-token-228 stable-cache-token-229 stable-cache-token-230 stable-cache-token-231 stable-cache-token-232 stable-cache-token-233 stable-cache-token-234 stable-cache-token-235 stable-cache-token-236 stable-cache-token-237 stable-cache-token-238 stable-cache-token-239 stable-cache-token-240 stable-cache-token-241 stable-cache-token-242 stable-cache-token-243 stable-cache-token-244 stable-cache-token-245 stable-cache-token-246 stable-cache-token-247 stable-cache-token-248 stable-cache-token-249 stable-cache-token-250 stable-cache-token-251 stable-cache-token-252 stable-cache-token-253 stable-cache-token-254 stable-cache-token-255 stable-cache-token-256 stable-cache-token-257 stable-cache-token-258 stable-cache-token-259 stable-cache-token-260 stable-cache-token-261 stable-cache-token-262 stable-cache-token-263 stable-cache-token-264 stable-cache-token-265 stable-cache-token-266 stable-cache-token-267 stable-cache-token-268 stable-cache-token-269 stable-cache-token-270 stable-cache-token-271 stable-cache-token-272 stable-cache-token-273 stable-cache-token-274 stable-cache-token-275 stable-cache-token-276 stable-cache-token-277 stable-cache-token-278 stable-cache-token-279 stable-cache-token-280 stable-cache-token-281 stable-cache-token-282 stable-cache-token-283 stable-cache-token-284 stable-cache-token-285 stable-cache-token-286 stable-cache-token-287 stable-cache-token-288 stable-cache-token-289 stable-cache-token-290 stable-cache-token-291 stable-cache-token-292 stable-cache-token-293 stable-cache-token-294 stable-cache-token-295 stable-cache-token-296 stable-cache-token-297 stable-cache-token-298 stable-cache-token-299 stable-cache-token-300 stable-cache-token-301 stable-cache-token-302 stable-cache-token-303 stable-cache-token-304 stable-cache-token-305 stable-cache-token-306 stable-cache-token-307 stable-cache-token-308 stable-cache-token-309 stable-cache-token-310 stable-cache-token-311 stable-cache-token-312 stable-cache-token-313 stable-cache-token-314 stable-cache-token-315 stable-cache-token-316 stable-cache-token-317 stable-cache-token-318 stable-cache-token-319 stable-cache-token-320 stable-cache-token-321 stable-cache-token-322 stable-cache-token-323 stable-cache-token-324 stable-cache-token-325 stable-cache-token-326 stable-cache-token-327 stable-cache-token-328 stable-cache-token-329 stable-cache-token-330 stable-cache-token-331 stable-cache-token-332 stable-cache-token-333 stable-cache-token-334 stable-cache-token-335 stable-cache-token-336 stable-cache-token-337 stable-cache-token-338 stable-cache-token-339 stable-cache-token-340 stable-cache-token-341 stable-cache-token-342 stable-cache-token-343 stable-cache-token-344 stable-cache-token-345 stable-cache-token-346 stable-cache-token-347 stable-cache-token-348 stable-cache-token-349 stable-cache-token-350 stable-cache-token-351 stable-cache-token-352 stable-cache-token-353 stable-cache-token-354 stable-cache-token-355 stable-cache-token-356 stable-cache-token-357 stable-cache-token-358 stable-cache-token-359 stable-cache-token-360 stable-cache-token-361 stable-cache-token-362 stable-cache-token-363 stable-cache-token-364 stable-cache-token-365 stable-cache-token-366 stable-cache-token-367 stable-cache-token-368 stable-cache-token-369 stable-cache-token-370 stable-cache-token-371 stable-cache-token-372 stable-cache-token-373 stable-cache-token-374 stable-cache-token-375 stable-cache-token-376 stable-cache-token-377 stable-cache-token-378 stable-cache-token-379 stable-cache-token-380 stable-cache-token-381 stable-cache-token-382 stable-cache-token-383 stable-cache-token-384 stable-cache-token-385 stable-cache-token-386 stable-cache-token-387 stable-cache-token-388 stable-cache-token-389 stable-cache-token-390 stable-cache-token-391 stable-cache-token-392 stable-cache-token-393 stable-cache-token-394 stable-cache-token-395 stable-cache-token-396 stable-cache-token-397 stable-cache-token-398 stable-cache-token-399 stable-cache-token-400 stable-cache-token-401 stable-cache-token-402 stable-cache-token-403 stable-cache-token-404 stable-cache-token-405 stable-cache-token-406 stable-cache-token-407 stable-cache-token-408 stable-cache-token-409 stable-cache-token-410 stable-cache-token-411 stable-cache-token-412 stable-cache-token-413 stable-cache-token-414 stable-cache-token-415 stable-cache-token-416 stable-cache-token-417 stable-cache-token-418 stable-cache-token-419 stable-cache-token-420 stable-cache-token-421 stable-cache-token-422 stable-cache-token-423 stable-cache-token-424 stable-cache-token-425 stable-cache-token-426 stable-cache-token-427 stable-cache-token-428 stable-cache-token-429 stable-cache-token-430 stable-cache-token-431 stable-cache-token-432 stable-cache-token-433 stable-cache-token-434 stable-cache-token-435 stable-cache-token-436 stable-cache-token-437 stable-cache-token-438 stable-cache-token-439 stable-cache-token-440 stable-cache-token-441 stable-cache-token-442 stable-cache-token-443 stable-cache-token-444 stable-cache-token-445 stable-cache-token-446 stable-cache-token-447 stable-cache-token-448 stable-cache-token-449 stable-cache-token-450 stable-cache-token-451 stable-cache-token-452 stable-cache-token-453 stable-cache-token-454 stable-cache-token-455 stable-cache-token-456 stable-cache-token-457 stable-cache-token-458 stable-cache-token-459 stable-cache-token-460 stable-cache-token-461 stable-cache-token-462 stable-cache-token-463 stable-cache-token-464 stable-cache-token-465 stable-cache-token-466 stable-cache-token-467 stable-cache-token-468 stable-cache-token-469 stable-cache-token-470 stable-cache-token-471 stable-cache-token-472 stable-cache-token-473 stable-cache-token-474 stable-cache-token-475 stable-cache-token-476 stable-cache-token-477 stable-cache-token-478 stable-cache-token-479 stable-cache-token-480 stable-cache-token-481 stable-cache-token-482 stable-cache-token-483 stable-cache-token-484 stable-cache-token-485 stable-cache-token-486 stable-cache-token-487 stable-cache-token-488 stable-cache-token-489 stable-cache-token-490 stable-cache-token-491 stable-cache-token-492 stable-cache-token-493 stable-cache-token-494 stable-cache-token-495 stable-cache-token-496 stable-cache-token-497 stable-cache-token-498 stable-cache-token-499 stable-cache-token-500 stable-cache-token-501 stable-cache-token-502 stable-cache-token-503 stable-cache-token-504 stable-cache-token-505 stable-cache-token-506 stable-cache-token-507 stable-cache-token-508 stable-cache-token-509 stable-cache-token-510 stable-cache-token-511 stable-cache-token-512 stable-cache-token-513 stable-cache-token-514 stable-cache-token-515 stable-cache-token-516 stable-cache-token-517 stable-cache-token-518 stable-cache-token-519 stable-cache-token-520 stable-cache-token-521 stable-cache-token-522 stable-cache-token-523 stable-cache-token-524 stable-cache-token-525 stable-cache-token-526 stable-cache-token-527 stable-cache-token-528 stable-cache-token-529 stable-cache-token-530 stable-cache-token-531 stable-cache-token-532 stable-cache-token-533 stable-cache-token-534 stable-cache-token-535 stable-cache-token-536 stable-cache-token-537 stable-cache-token-538 stable-cache-token-539 stable-cache-token-540 stable-cache-token-541 stable-cache-token-542 stable-cache-token-543 stable-cache-token-544 stable-cache-token-545 stable-cache-token-546 stable-cache-token-547 stable-cache-token-548 stable-cache-token-549 stable-cache-token-550 stable-cache-token-551 stable-cache-token-552 stable-cache-token-553 stable-cache-token-554 stable-cache-token-555 stable-cache-token-556 stable-cache-token-557 stable-cache-token-558 stable-cache-token-559 stable-cache-token-560 stable-cache-token-561 stable-cache-token-562 stable-cache-token-563 stable-cache-token-564 stable-cache-token-565 stable-cache-token-566 stable-cache-token-567 stable-cache-token-568 stable-cache-token-569 stable-cache-token-570 stable-cache-token-571 stable-cache-token-572 stable-cache-token-573 stable-cache-token-574 stable-cache-token-575 stable-cache-token-576 stable-cache-token-577 stable-cache-token-578 stable-cache-token-579 stable-cache-token-580 stable-cache-token-581 stable-cache-token-582 stable-cache-token-583 stable-cache-token-584 stable-cache-token-585 stable-cache-token-586 stable-cache-token-587 stable-cache-token-588 stable-cache-token-589 stable-cache-token-590 stable-cache-token-591 stable-cache-token-592 stable-cache-token-593 stable-cache-token-594 stable-cache-token-595 stable-cache-token-596 stable-cache-token-597 stable-cache-token-598 stable-cache-token-599 stable-cache-token-600 stable-cache-token-601 stable-cache-token-602 stable-cache-token-603 stable-cache-token-604 stable-cache-token-605 stable-cache-token-606 stable-cache-token-607 stable-cache-token-608 stable-cache-token-609 stable-cache-token-610 stable-cache-token-611 stable-cache-token-612 stable-cache-token-613 stable-cache-token-614 stable-cache-token-615 stable-cache-token-616 stable-cache-token-617 stable-cache-token-618 stable-cache-token-619 stable-cache-token-620 stable-cache-token-621 stable-cache-token-622 stable-cache-token-623 stable-cache-token-624 stable-cache-token-625 stable-cache-token-626 stable-cache-token-627 stable-cache-token-628 stable-cache-token-629 stable-cache-token-630 stable-cache-token-631 stable-cache-token-632 stable-cache-token-633 stable-cache-token-634 stable-cache-token-635 stable-cache-token-636 stable-cache-token-637 stable-cache-token-638 stable-cache-token-639 stable-cache-token-640 stable-cache-token-641 stable-cache-token-642 stable-cache-token-643 stable-cache-token-644 stable-cache-token-645 stable-cache-token-646 stable-cache-token-647 stable-cache-token-648 stable-cache-token-649 stable-cache-token-650 stable-cache-token-651 stable-cache-token-652 stable-cache-token-653 stable-cache-token-654 stable-cache-token-655 stable-cache-token-656 stable-cache-token-657 stable-cache-token-658 stable-cache-token-659 stable-cache-token-660 stable-cache-token-661 stable-cache-token-662 stable-cache-token-663 stable-cache-token-664 stable-cache-token-665 stable-cache-token-666 stable-cache-token-667 stable-cache-token-668 stable-cache-token-669 stable-cache-token-670 stable-cache-token-671 stable-cache-token-672 stable-cache-token-673 stable-cache-token-674 stable-cache-token-675 stable-cache-token-676 stable-cache-token-677 stable-cache-token-678 stable-cache-token-679 stable-cache-token-680 stable-cache-token-681 stable-cache-token-682 stable-cache-token-683 stable-cache-token-684 stable-cache-token-685 stable-cache-token-686 stable-cache-token-687 stable-cache-token-688 stable-cache-token-689 stable-cache-token-690 stable-cache-token-691 stable-cache-token-692 stable-cache-token-693 stable-cache-token-694 stable-cache-token-695 stable-cache-token-696 stable-cache-token-697 stable-cache-token-698 stable-cache-token-699 stable-cache-token-700 stable-cache-token-701 stable-cache-token-702 stable-cache-token-703 stable-cache-token-704 stable-cache-token-705 stable-cache-token-706 stable-cache-token-707 stable-cache-token-708 stable-cache-token-709 stable-cache-token-710 stable-cache-token-711 stable-cache-token-712 stable-cache-token-713 stable-cache-token-714 stable-cache-token-715 stable-cache-token-716 stable-cache-token-717 stable-cache-token-718 stable-cache-token-719 stable-cache-token-720 stable-cache-token-721 stable-cache-token-722 stable-cache-token-723 stable-cache-token-724 stable-cache-token-725 stable-cache-token-726 stable-cache-token-727 stable-cache-token-728 stable-cache-token-729 stable-cache-token-730 stable-cache-token-731 stable-cache-token-732 stable-cache-token-733 stable-cache-token-734 stable-cache-token-735 stable-cache-token-736 stable-cache-token-737 stable-cache-token-738 stable-cache-token-739 stable-cache-token-740 stable-cache-token-741 stable-cache-token-742 stable-cache-token-743 stable-cache-token-744 stable-cache-token-745 stable-cache-token-746 stable-cache-token-747 stable-cache-token-748 stable-cache-token-749 stable-cache-token-750 stable-cache-token-751 stable-cache-token-752 stable-cache-token-753 stable-cache-token-754 stable-cache-token-755 stable-cache-token-756 stable-cache-token-757 stable-cache-token-758 stable-cache-token-759 stable-cache-token-760 stable-cache-token-761 stable-cache-token-762 stable-cache-token-763 stable-cache-token-764 stable-cache-token-765 stable-cache-token-766 stable-cache-token-767 stable-cache-token-768 stable-cache-token-769 stable-cache-token-770 stable-cache-token-771 stable-cache-token-772 stable-cache-token-773 stable-cache-token-774 stable-cache-token-775 stable-cache-token-776 stable-cache-token-777 stable-cache-token-778 stable-cache-token-779 stable-cache-token-780 stable-cache-token-781 stable-cache-token-782 stable-cache-token-783 stable-cache-token-784 stable-cache-token-785 stable-cache-token-786 stable-cache-token-787 stable-cache-token-788 stable-cache-token-789 stable-cache-token-790 stable-cache-token-791 stable-cache-token-792 stable-cache-token-793 stable-cache-token-794 stable-cache-token-795 stable-cache-token-796 stable-cache-token-797 stable-cache-token-798 stable-cache-token-799 stable-cache-token-800 stable-cache-token-801 stable-cache-token-802 stable-cache-token-803 stable-cache-token-804 stable-cache-token-805 stable-cache-token-806 stable-cache-token-807 stable-cache-token-808 stable-cache-token-809 stable-cache-token-810 stable-cache-token-811 stable-cache-token-812 stable-cache-token-813 stable-cache-token-814 stable-cache-token-815 stable-cache-token-816 stable-cache-token-817 stable-cache-token-818 stable-cache-token-819 stable-cache-token-820 stable-cache-token-821 stable-cache-token-822 stable-cache-token-823 stable-cache-token-824 stable-cache-token-825 stable-cache-token-826 stable-cache-token-827 stable-cache-token-828 stable-cache-token-829 stable-cache-token-830 stable-cache-token-831 stable-cache-token-832 stable-cache-token-833 stable-cache-token-834 stable-cache-token-835 stable-cache-token-836 stable-cache-token-837 stable-cache-token-838 stable-cache-token-839 stable-cache-token-840 stable-cache-token-841 stable-cache-token-842 stable-cache-token-843 stable-cache-token-844 stable-cache-token-845 stable-cache-token-846 stable-cache-token-847 stable-cache-token-848 stable-cache-token-849 stable-cache-token-850 stable-cache-token-851 stable-cache-token-852 stable-cache-token-853 stable-cache-token-854 stable-cache-token-855 stable-cache-token-856 stable-cache-token-857 stable-cache-token-858 stable-cache-token-859 stable-cache-token-860 stable-cache-token-861 stable-cache-token-862 stable-cache-token-863 stable-cache-token-864 stable-cache-token-865 stable-cache-token-866 stable-cache-token-867 stable-cache-token-868 stable-cache-token-869 stable-cache-token-870 stable-cache-token-871 stable-cache-token-872 stable-cache-token-873 stable-cache-token-874 stable-cache-token-875 stable-cache-token-876 stable-cache-token-877 stable-cache-token-878 stable-cache-token-879 stable-cache-token-880 stable-cache-token-881 stable-cache-token-882 stable-cache-token-883 stable-cache-token-884 stable-cache-token-885 stable-cache-token-886 stable-cache-token-887 stable-cache-token-888 stable-cache-token-889 stable-cache-token-890 stable-cache-token-891 stable-cache-token-892 stable-cache-token-893 stable-cache-token-894 stable-cache-token-895 stable-cache-token-896 stable-cache-token-897 stable-cache-token-898 stable-cache-token-899 stable-cache-token-900 stable-cache-token-901 stable-cache-token-902 stable-cache-token-903 stable-cache-token-904 stable-cache-token-905 stable-cache-token-906 stable-cache-token-907 stable-cache-token-908 stable-cache-token-909 stable-cache-token-910 stable-cache-token-911 stable-cache-token-912 stable-cache-token-913 stable-cache-token-914 stable-cache-token-915 stable-cache-token-916 stable-cache-token-917 stable-cache-token-918 stable-cache-token-919 stable-cache-token-920 stable-cache-token-921 stable-cache-token-922 stable-cache-token-923 stable-cache-token-924 stable-cache-token-925 stable-cache-token-926 stable-cache-token-927 stable-cache-token-928 stable-cache-token-929 stable-cache-token-930 stable-cache-token-931 stable-cache-token-932 stable-cache-token-933 stable-cache-token-934 stable-cache-token-935 stable-cache-token-936 stable-cache-token-937 stable-cache-token-938 stable-cache-token-939 stable-cache-token-940 stable-cache-token-941 stable-cache-token-942 stable-cache-token-943 stable-cache-token-944 stable-cache-token-945 stable-cache-token-946 stable-cache-token-947 stable-cache-token-948 stable-cache-token-949 stable-cache-token-950 stable-cache-token-951 stable-cache-token-952 stable-cache-token-953 stable-cache-token-954 stable-cache-token-955 stable-cache-token-956 stable-cache-token-957 stable-cache-token-958 stable-cache-token-959 stable-cache-token-960 stable-cache-token-961 stable-cache-token-962 stable-cache-token-963 stable-cache-token-964 stable-cache-token-965 stable-cache-token-966 stable-cache-token-967 stable-cache-token-968 stable-cache-token-969 stable-cache-token-970 stable-cache-token-971 stable-cache-token-972 stable-cache-token-973 stable-cache-token-974 stable-cache-token-975 stable-cache-token-976 stable-cache-token-977 stable-cache-token-978 stable-cache-token-979 stable-cache-token-980 stable-cache-token-981 stable-cache-token-982 stable-cache-token-983 stable-cache-token-984 stable-cache-token-985 stable-cache-token-986 stable-cache-token-987 stable-cache-token-988 stable-cache-token-989 stable-cache-token-990 stable-cache-token-991 stable-cache-token-992 stable-cache-token-993 stable-cache-token-994 stable-cache-token-995 stable-cache-token-996 stable-cache-token-997 stable-cache-token-998 stable-cache-token-999 stable-cache-token-1000 stable-cache-token-1001 stable-cache-token-1002 stable-cache-token-1003 stable-cache-token-1004 stable-cache-token-1005 stable-cache-token-1006 stable-cache-token-1007 stable-cache-token-1008 stable-cache-token-1009 stable-cache-token-1010 stable-cache-token-1011 stable-cache-token-1012 stable-cache-token-1013 stable-cache-token-1014 stable-cache-token-1015 stable-cache-token-1016 stable-cache-token-1017 stable-cache-token-1018 stable-cache-token-1019 stable-cache-token-1020 stable-cache-token-1021 stable-cache-token-1022 stable-cache-token-1023 stable-cache-token-1024 stable-cache-token-1025 stable-cache-token-1026 stable-cache-token-1027 stable-cache-token-1028 stable-cache-token-1029 stable-cache-token-1030 stable-cache-token-1031 stable-cache-token-1032 stable-cache-token-1033 stable-cache-token-1034 stable-cache-token-1035 stable-cache-token-1036 stable-cache-token-1037 stable-cache-token-1038 stable-cache-token-1039 stable-cache-token-1040 stable-cache-token-1041 stable-cache-token-1042 stable-cache-token-1043 stable-cache-token-1044 stable-cache-token-1045 stable-cache-token-1046 stable-cache-token-1047 stable-cache-token-1048 stable-cache-token-1049 stable-cache-token-1050 stable-cache-token-1051 stable-cache-token-1052 stable-cache-token-1053 stable-cache-token-1054 stable-cache-token-1055 stable-cache-token-1056 stable-cache-token-1057 stable-cache-token-1058 stable-cache-token-1059 stable-cache-token-1060 stable-cache-token-1061 stable-cache-token-1062 stable-cache-token-1063 stable-cache-token-1064 stable-cache-token-1065 stable-cache-token-1066 stable-cache-token-1067 stable-cache-token-1068 stable-cache-token-1069 stable-cache-token-1070 stable-cache-token-1071 stable-cache-token-1072 stable-cache-token-1073 stable-cache-token-1074 stable-cache-token-1075 stable-cache-token-1076 stable-cache-token-1077 stable-cache-token-1078 stable-cache-token-1079 stable-cache-token-1080 stable-cache-token-1081 stable-cache-token-1082 stable-cache-token-1083 stable-cache-token-1084 stable-cache-token-1085 stable-cache-token-1086 stable-cache-token-1087 stable-cache-token-1088 stable-cache-token-1089 stable-cache-token-1090 stable-cache-token-1091 stable-cache-token-1092 stable-cache-token-1093 stable-cache-token-1094 stable-cache-token-1095 stable-cache-token-1096 stable-cache-token-1097 stable-cache-token-1098 stable-cache-token-1099 stable-cache-token-1100 stable-cache-token-1101 stable-cache-token-1102 stable-cache-token-1103 stable-cache-token-1104 stable-cache-token-1105 stable-cache-token-1106 stable-cache-token-1107 stable-cache-token-1108 stable-cache-token-1109 stable-cache-token-1110 stable-cache-token-1111 stable-cache-token-1112 stable-cache-token-1113 stable-cache-token-1114 stable-cache-token-1115 stable-cache-token-1116 stable-cache-token-1117 stable-cache-token-1118 stable-cache-token-1119 stable-cache-token-1120 stable-cache-token-1121 stable-cache-token-1122 stable-cache-token-1123 stable-cache-token-1124 stable-cache-token-1125 stable-cache-token-1126 stable-cache-token-1127 stable-cache-token-1128 stable-cache-token-1129 stable-cache-token-1130 stable-cache-token-1131 stable-cache-token-1132 stable-cache-token-1133 stable-cache-token-1134 stable-cache-token-1135 stable-cache-token-1136 stable-cache-token-1137 stable-cache-token-1138 stable-cache-token-1139 stable-cache-token-1140 stable-cache-token-1141 stable-cache-token-1142 stable-cache-token-1143 stable-cache-token-1144 stable-cache-token-1145 stable-cache-token-1146 stable-cache-token-1147 stable-cache-token-1148 stable-cache-token-1149 stable-cache-token-1150 stable-cache-token-1151 stable-cache-token-1152 stable-cache-token-1153 stable-cache-token-1154 stable-cache-token-1155 stable-cache-token-1156 stable-cache-token-1157 stable-cache-token-1158 stable-cache-token-1159 stable-cache-token-1160 stable-cache-token-1161 stable-cache-token-1162 stable-cache-token-1163 stable-cache-token-1164 stable-cache-token-1165 stable-cache-token-1166 stable-cache-token-1167 stable-cache-token-1168 stable-cache-token-1169 stable-cache-token-1170 stable-cache-token-1171 stable-cache-token-1172 stable-cache-token-1173 stable-cache-token-1174 stable-cache-token-1175 stable-cache-token-1176 stable-cache-token-1177 stable-cache-token-1178 stable-cache-token-1179 stable-cache-token-1180 stable-cache-token-1181 stable-cache-token-1182 stable-cache-token-1183 stable-cache-token-1184 stable-cache-token-1185 stable-cache-token-1186 stable-cache-token-1187 stable-cache-token-1188 stable-cache-token-1189 stable-cache-token-1190 stable-cache-token-1191 stable-cache-token-1192 stable-cache-token-1193 stable-cache-token-1194 stable-cache-token-1195 stable-cache-token-1196 stable-cache-token-1197 stable-cache-token-1198 stable-cache-token-1199 stable-cache-token-1200 stable-cache-token-1201 stable-cache-token-1202 stable-cache-token-1203 stable-cache-token-1204 stable-cache-token-1205 stable-cache-token-1206 stable-cache-token-1207 stable-cache-token-1208 stable-cache-token-1209 stable-cache-token-1210 stable-cache-token-1211 stable-cache-token-1212 stable-cache-token-1213 stable-cache-token-1214 stable-cache-token-1215 stable-cache-token-1216 stable-cache-token-1217 stable-cache-token-1218 stable-cache-token-1219 stable-cache-token-1220 stable-cache-token-1221 stable-cache-token-1222 stable-cache-token-1223 stable-cache-token-1224 stable-cache-token-1225 stable-cache-token-1226 stable-cache-token-1227 stable-cache-token-1228 stable-cache-token-1229 stable-cache-token-1230 stable-cache-token-1231 stable-cache-token-1232 stable-cache-token-1233 stable-cache-token-1234 stable-cache-token-1235 stable-cache-token-1236 stable-cache-token-1237 stable-cache-token-1238 stable-cache-token-1239 stable-cache-token-1240 stable-cache-token-1241 stable-cache-token-1242 stable-cache-token-1243 stable-cache-token-1244 stable-cache-token-1245 stable-cache-token-1246 stable-cache-token-1247 stable-cache-token-1248 stable-cache-token-1249 stable-cache-token-1250 stable-cache-token-1251 stable-cache-token-1252 stable-cache-token-1253 stable-cache-token-1254 stable-cache-token-1255 stable-cache-token-1256 stable-cache-token-1257 stable-cache-token-1258 stable-cache-token-1259 stable-cache-token-1260 stable-cache-token-1261 stable-cache-token-1262 stable-cache-token-1263 stable-cache-token-1264 stable-cache-token-1265 stable-cache-token-1266 stable-cache-token-1267 stable-cache-token-1268 stable-cache-token-1269 stable-cache-token-1270 stable-cache-token-1271 stable-cache-token-1272 stable-cache-token-1273 stable-cache-token-1274 stable-cache-token-1275 stable-cache-token-1276 stable-cache-token-1277 stable-cache-token-1278 stable-cache-token-1279 stable-cache-token-1280 stable-cache-token-1281 stable-cache-token-1282 stable-cache-token-1283 stable-cache-token-1284 stable-cache-token-1285 stable-cache-token-1286 stable-cache-token-1287 stable-cache-token-1288 stable-cache-token-1289 stable-cache-token-1290 stable-cache-token-1291 stable-cache-token-1292 stable-cache-token-1293 stable-cache-token-1294 stable-cache-token-1295 stable-cache-token-1296 stable-cache-token-1297 stable-cache-token-1298 stable-cache-token-1299 stable-cache-token-1300 stable-cache-token-1301 stable-cache-token-1302 stable-cache-token-1303 stable-cache-token-1304 stable-cache-token-1305 stable-cache-token-1306 stable-cache-token-1307 stable-cache-token-1308 stable-cache-token-1309 stable-cache-token-1310 stable-cache-token-1311 stable-cache-token-1312 stable-cache-token-1313 stable-cache-token-1314 stable-cache-token-1315 stable-cache-token-1316 stable-cache-token-1317 stable-cache-token-1318 stable-cache-token-1319 stable-cache-token-1320 stable-cache-token-1321 stable-cache-token-1322 stable-cache-token-1323 stable-cache-token-1324 stable-cache-token-1325 stable-cache-token-1326 stable-cache-token-1327 stable-cache-token-1328 stable-cache-token-1329 stable-cache-token-1330 stable-cache-token-1331 stable-cache-token-1332 stable-cache-token-1333 stable-cache-token-1334 stable-cache-token-1335 stable-cache-token-1336 stable-cache-token-1337 stable-cache-token-1338 stable-cache-token-1339 stable-cache-token-1340 stable-cache-token-1341 stable-cache-token-1342 stable-cache-token-1343 stable-cache-token-1344 stable-cache-token-1345 stable-cache-token-1346 stable-cache-token-1347 stable-cache-token-1348 stable-cache-token-1349 stable-cache-token-1350 stable-cache-token-1351 stable-cache-token-1352 stable-cache-token-1353 stable-cache-token-1354 stable-cache-token-1355 stable-cache-token-1356 stable-cache-token-1357 stable-cache-token-1358 stable-cache-token-1359 stable-cache-token-1360 stable-cache-token-1361 stable-cache-token-1362 stable-cache-token-1363 stable-cache-token-1364 stable-cache-token-1365 stable-cache-token-1366 stable-cache-token-1367 stable-cache-token-1368 stable-cache-token-1369 stable-cache-token-1370 stable-cache-token-1371 stable-cache-token-1372 stable-cache-token-1373 stable-cache-token-1374 stable-cache-token-1375 stable-cache-token-1376 stable-cache-token-1377 stable-cache-token-1378 stable-cache-token-1379 stable-cache-token-1380 stable-cache-token-1381 stable-cache-token-1382 stable-cache-token-1383 stable-cache-token-1384 stable-cache-token-1385 stable-cache-token-1386 stable-cache-token-1387 stable-cache-token-1388 stable-cache-token-1389 stable-cache-token-1390 stable-cache-token-1391 stable-cache-token-1392 stable-cache-token-1393 stable-cache-token-1394 stable-cache-token-1395 stable-cache-token-1396 stable-cache-token-1397 stable-cache-token-1398 stable-cache-token-1399 stable-cache-token-1400 stable-cache-token-1401 stable-cache-token-1402 stable-cache-token-1403 stable-cache-token-1404 stable-cache-token-1405 stable-cache-token-1406 stable-cache-token-1407 stable-cache-token-1408 stable-cache-token-1409 stable-cache-token-1410 stable-cache-token-1411 stable-cache-token-1412 stable-cache-token-1413 stable-cache-token-1414 stable-cache-token-1415 stable-cache-token-1416 stable-cache-token-1417 stable-cache-token-1418 stable-cache-token-1419 stable-cache-token-1420 stable-cache-token-1421 stable-cache-token-1422 stable-cache-token-1423 stable-cache-token-1424 stable-cache-token-1425 stable-cache-token-1426 stable-cache-token-1427 stable-cache-token-1428 stable-cache-token-1429 stable-cache-token-1430 stable-cache-token-1431 stable-cache-token-1432 stable-cache-token-1433 stable-cache-token-1434 stable-cache-token-1435 stable-cache-token-1436 stable-cache-token-1437 stable-cache-token-1438 stable-cache-token-1439 stable-cache-token-1440 stable-cache-token-1441 stable-cache-token-1442 stable-cache-token-1443 stable-cache-token-1444 stable-cache-token-1445 stable-cache-token-1446 stable-cache-token-1447 stable-cache-token-1448 stable-cache-token-1449 stable-cache-token-1450 stable-cache-token-1451 stable-cache-token-1452 stable-cache-token-1453 stable-cache-token-1454 stable-cache-token-1455 stable-cache-token-1456 stable-cache-token-1457 stable-cache-token-1458 stable-cache-token-1459 stable-cache-token-1460 stable-cache-token-1461 stable-cache-token-1462 stable-cache-token-1463 stable-cache-token-1464 stable-cache-token-1465 stable-cache-token-1466 stable-cache-token-1467 stable-cache-token-1468 stable-cache-token-1469 stable-cache-token-1470 stable-cache-token-1471 stable-cache-token-1472 stable-cache-token-1473 stable-cache-token-1474 stable-cache-token-1475 stable-cache-token-1476 stable-cache-token-1477 stable-cache-token-1478 stable-cache-token-1479 stable-cache-token-1480 stable-cache-token-1481 stable-cache-token-1482 stable-cache-token-1483 stable-cache-token-1484 stable-cache-token-1485 stable-cache-token-1486 stable-cache-token-1487 stable-cache-token-1488 stable-cache-token-1489 stable-cache-token-1490 stable-cache-token-1491 stable-cache-token-1492 stable-cache-token-1493 stable-cache-token-1494 stable-cache-token-1495 stable-cache-token-1496 stable-cache-token-1497 stable-cache-token-1498 stable-cache-token-1499 stable-cache-token-1500 stable-cache-token-1501 stable-cache-token-1502 stable-cache-token-1503 stable-cache-token-1504 stable-cache-token-1505 stable-cache-token-1506 stable-cache-token-1507 stable-cache-token-1508 stable-cache-token-1509 stable-cache-token-1510 stable-cache-token-1511 stable-cache-token-1512 stable-cache-token-1513 stable-cache-token-1514 stable-cache-token-1515 stable-cache-token-1516 stable-cache-token-1517 stable-cache-token-1518 stable-cache-token-1519 stable-cache-token-1520 stable-cache-token-1521 stable-cache-token-1522 stable-cache-token-1523 stable-cache-token-1524 stable-cache-token-1525 stable-cache-token-1526 stable-cache-token-1527 stable-cache-token-1528 stable-cache-token-1529 stable-cache-token-1530 stable-cache-token-1531 stable-cache-token-1532 stable-cache-token-1533 stable-cache-token-1534 stable-cache-token-1535 stable-cache-token-1536 stable-cache-token-1537 stable-cache-token-1538 stable-cache-token-1539 stable-cache-token-1540 stable-cache-token-1541 stable-cache-token-1542 stable-cache-token-1543 stable-cache-token-1544 stable-cache-token-1545 stable-cache-token-1546 stable-cache-token-1547 stable-cache-token-1548 stable-cache-token-1549 stable-cache-token-1550 stable-cache-token-1551 stable-cache-token-1552 stable-cache-token-1553 stable-cache-token-1554 stable-cache-token-1555 stable-cache-token-1556 stable-cache-token-1557 stable-cache-token-1558 stable-cache-token-1559 stable-cache-token-1560 stable-cache-token-1561 stable-cache-token-1562 stable-cache-token-1563 stable-cache-token-1564 stable-cache-token-1565 stable-cache-token-1566 stable-cache-token-1567 stable-cache-token-1568 stable-cache-token-1569 stable-cache-token-1570 stable-cache-token-1571 stable-cache-token-1572 stable-cache-token-1573 stable-cache-token-1574 stable-cache-token-1575 stable-cache-token-1576 stable-cache-token-1577 stable-cache-token-1578 stable-cache-token-1579 stable-cache-token-1580 stable-cache-token-1581 stable-cache-token-1582 stable-cache-token-1583 stable-cache-token-1584 stable-cache-token-1585 stable-cache-token-1586 stable-cache-token-1587 stable-cache-token-1588 stable-cache-token-1589 stable-cache-token-1590 stable-cache-token-1591 stable-cache-token-1592 stable-cache-token-1593 stable-cache-token-1594 stable-cache-token-1595 stable-cache-token-1596 stable-cache-token-1597 stable-cache-token-1598 stable-cache-token-1599\nUse this stable cache context only to exercise Bedrock prompt caching in this e2e scenario." + }, + { + "text": "Reply with exactly RAWSTREAM." + } + ], + "role": "user" + } + ], + "schemaVersion": "messages-v1" + } + }, + "headers": {}, + "method": "POST", + "url": "https://bedrock-runtime.us-east-2.amazonaws.com/model/us.amazon.nova-lite-v1%3A0/invoke-with-response-stream" + }, + "response": { + "body": { + "contentType": "application/vnd.amazon.eventstream", + "kind": "base64", + "value": "AAAAxgAAAEvieVoKCzpldmVudC10eXBlBwAFY2h1bmsNOmNvbnRlbnQtdHlwZQcAEGFwcGxpY2F0aW9uL2pzb24NOm1lc3NhZ2UtdHlwZQcABWV2ZW50eyJieXRlcyI6ImV5SnRaWE56WVdkbFUzUmhjblFpT25zaWNtOXNaU0k2SW1GemMybHpkR0Z1ZENKOWZRPT0iLCJwIjoiYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNERUZHSElKIn1kltFzAAAA0QAAAEswuRGYCzpldmVudC10eXBlBwAFY2h1bmsNOmNvbnRlbnQtdHlwZQcAEGFwcGxpY2F0aW9uL2pzb24NOm1lc3NhZ2UtdHlwZQcABWV2ZW50eyJieXRlcyI6ImV5SmpiMjUwWlc1MFFteHZZMnRFWld4MFlTSTZleUprWld4MFlTSTZleUowWlhoMElqb2lVa0ZYSW4wc0ltTnZiblJsYm5SQ2JHOWphMGx1WkdWNElqb3dmWDA9IiwicCI6ImFiY2RlZmcifRn2WFEAAAC5AAAAS5n7LRQLOmV2ZW50LXR5cGUHAAVjaHVuaw06Y29udGVudC10eXBlBwAQYXBwbGljYXRpb24vanNvbg06bWVzc2FnZS10eXBlBwAFZXZlbnR7ImJ5dGVzIjoiZXlKamIyNTBaVzUwUW14dlkydFRkRzl3SWpwN0ltTnZiblJsYm5SQ2JHOWphMGx1WkdWNElqb3dmWDA9IiwicCI6ImFiY2RlZmdoaWprbG1ubyJ9MsLNLgAAAQcAAABL/VBIxAs6ZXZlbnQtdHlwZQcABWNodW5rDTpjb250ZW50LXR5cGUHABBhcHBsaWNhdGlvbi9qc29uDTptZXNzYWdlLXR5cGUHAAVldmVudHsiYnl0ZXMiOiJleUpqYjI1MFpXNTBRbXh2WTJ0RVpXeDBZU0k2ZXlKa1pXeDBZU0k2ZXlKMFpYaDBJam9pVTFSU1JVRk5JbjBzSW1OdmJuUmxiblJDYkc5amEwbHVaR1Y0SWpveGZYMD0iLCJwIjoiYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWjAxMjM0In1ErcUfAAAAuAAAAEukmwSkCzpldmVudC10eXBlBwAFY2h1bmsNOmNvbnRlbnQtdHlwZQcAEGFwcGxpY2F0aW9uL2pzb24NOm1lc3NhZ2UtdHlwZQcABWV2ZW50eyJieXRlcyI6ImV5SmpiMjUwWlc1MFFteHZZMnRUZEc5d0lqcDdJbU52Ym5SbGJuUkNiRzlqYTBsdVpHVjRJam94ZlgwPSIsInAiOiJhYmNkZWZnaGlqa2xtbiJ9raRscAAAAMsAAABLGumeuws6ZXZlbnQtdHlwZQcABWNodW5rDTpjb250ZW50LXR5cGUHABBhcHBsaWNhdGlvbi9qc29uDTptZXNzYWdlLXR5cGUHAAVldmVudHsiYnl0ZXMiOiJleUpqYjI1MFpXNTBRbXh2WTJ0RVpXeDBZU0k2ZXlKa1pXeDBZU0k2ZXlKMFpYaDBJam9pSW4wc0ltTnZiblJsYm5SQ2JHOWphMGx1WkdWNElqb3lmWDA9IiwicCI6ImFiY2RlIn0v20xMAAAAzgAAAEvSCRHLCzpldmVudC10eXBlBwAFY2h1bmsNOmNvbnRlbnQtdHlwZQcAEGFwcGxpY2F0aW9uL2pzb24NOm1lc3NhZ2UtdHlwZQcABWV2ZW50eyJieXRlcyI6ImV5SmpiMjUwWlc1MFFteHZZMnRUZEc5d0lqcDdJbU52Ym5SbGJuUkNiRzlqYTBsdVpHVjRJam95ZlgwPSIsInAiOiJhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ekFCQ0RFRkdISUoifSnJvDQAAADIAAAAS11J5GsLOmV2ZW50LXR5cGUHAAVjaHVuaw06Y29udGVudC10eXBlBwAQYXBwbGljYXRpb24vanNvbg06bWVzc2FnZS10eXBlBwAFZXZlbnR7ImJ5dGVzIjoiZXlKdFpYTnpZV2RsVTNSdmNDSTZleUp6ZEc5d1VtVmhjMjl1SWpvaVpXNWtYM1IxY200aWZYMD0iLCJwIjoiYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNERUZHSCJ9G5GZxAAAAkUAAABLWfcxQws6ZXZlbnQtdHlwZQcABWNodW5rDTpjb250ZW50LXR5cGUHABBhcHBsaWNhdGlvbi9qc29uDTptZXNzYWdlLXR5cGUHAAVldmVudHsiYnl0ZXMiOiJleUp0WlhSaFpHRjBZU0k2ZXlKMWMyRm5aU0k2ZXlKcGJuQjFkRlJ2YTJWdWN5STZOaXdpYjNWMGNIVjBWRzlyWlc1eklqb3pMQ0pqWVdOb1pWSmxZV1JKYm5CMWRGUnZhMlZ1UTI5MWJuUWlPakUwT1RJeUxDSmpZV05vWlZkeWFYUmxTVzV3ZFhSVWIydGxia052ZFc1MElqb3dmU3dpYldWMGNtbGpjeUk2ZTMwc0luUnlZV05sSWpwN2ZYMHNJbUZ0WVhwdmJpMWlaV1J5YjJOckxXbHVkbTlqWVhScGIyNU5aWFJ5YVdOeklqcDdJbWx1Y0hWMFZHOXJaVzVEYjNWdWRDSTZOaXdpYjNWMGNIVjBWRzlyWlc1RGIzVnVkQ0k2TXl3aWFXNTJiMk5oZEdsdmJreGhkR1Z1WTNraU9qUTRNeXdpWm1seWMzUkNlWFJsVEdGMFpXNWplU0k2TkRNekxDSmpZV05vWlZKbFlXUkpibkIxZEZSdmEyVnVRMjkxYm5RaU9qRTBPVEl5TENKallXTm9aVmR5YVhSbFNXNXdkWFJVYjJ0bGJrTnZkVzUwSWpvd2ZYMD0iLCJwIjoiYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBIn0is7qX" + }, + "headers": { + "connection": "keep-alive", + "content-type": "application/vnd.amazon.eventstream", + "date": "[REDACTED]", + "transfer-encoding": "chunked", + "x-amzn-bedrock-content-type": "application/json", + "x-amzn-requestid": "[REDACTED]" + }, + "status": 200, + "statusText": "OK" + } + } + ], + "meta": { + "createdAt": "2026-09-14T10:18:54.794Z" + } +} diff --git a/e2e/scenarios/bedrock-runtime-instrumentation/__snapshots__/bedrock-runtime-v3-auto.span-tree.json b/e2e/scenarios/bedrock-runtime-instrumentation/__snapshots__/bedrock-runtime-v3-auto.span-tree.json index a98284ac8..61ebb497d 100644 --- a/e2e/scenarios/bedrock-runtime-instrumentation/__snapshots__/bedrock-runtime-v3-auto.span-tree.json +++ b/e2e/scenarios/bedrock-runtime-instrumentation/__snapshots__/bedrock-runtime-v3-auto.span-tree.json @@ -162,6 +162,55 @@ "testRunId": "" } }, + { + "name": "bedrock-multimodal-embedding-operation", + "children": [ + { + "name": "bedrock.invokeModel", + "type": "llm", + "children": [], + "input": { + "inputs": [ + { + "content": [ + { + "text": "A sailing ship in a storm", + "type": "text" + }, + { + "image_url": { + "url": { + "content_type": "image/png", + "filename": "image.png", + "key": "", + "type": "braintrust_attachment" + } + }, + "type": "image_url" + } + ] + } + ], + "output_dimensions": 256 + }, + "output": { + "count": 1 + }, + "metadata": { + "accept": "application/json", + "command": "InvokeModelCommand", + "contentType": "application/json", + "model": "us.cohere.embed-v4:0", + "operation": "invokeModel", + "provider": "aws-bedrock" + } + } + ], + "metadata": { + "operation": "multimodal-embedding", + "testRunId": "" + } + }, { "name": "bedrock-invoke-model-operation", "children": [ diff --git a/e2e/scenarios/bedrock-runtime-instrumentation/__snapshots__/bedrock-runtime-v3-auto.span-tree.txt b/e2e/scenarios/bedrock-runtime-instrumentation/__snapshots__/bedrock-runtime-v3-auto.span-tree.txt index 4cacfd581..a826f0680 100644 --- a/e2e/scenarios/bedrock-runtime-instrumentation/__snapshots__/bedrock-runtime-v3-auto.span-tree.txt +++ b/e2e/scenarios/bedrock-runtime-instrumentation/__snapshots__/bedrock-runtime-v3-auto.span-tree.txt @@ -138,6 +138,47 @@ span_tree: │ "prompt_tokens": 9, │ "tokens": 9 │ } + ├── bedrock-multimodal-embedding-operation + │ metadata: { + │ "operation": "multimodal-embedding", + │ "testRunId": "" + │ } + │ └── bedrock.invokeModel [llm] + │ input: { + │ "inputs": [ + │ { + │ "content": [ + │ { + │ "text": "A sailing ship in a storm", + │ "type": "text" + │ }, + │ { + │ "image_url": { + │ "url": { + │ "content_type": "image/png", + │ "filename": "image.png", + │ "key": "", + │ "type": "braintrust_attachment" + │ } + │ }, + │ "type": "image_url" + │ } + │ ] + │ } + │ ], + │ "output_dimensions": 256 + │ } + │ output: { + │ "count": 1 + │ } + │ metadata: { + │ "accept": "application/json", + │ "command": "InvokeModelCommand", + │ "contentType": "application/json", + │ "model": "us.cohere.embed-v4:0", + │ "operation": "invokeModel", + │ "provider": "aws-bedrock" + │ } ├── bedrock-invoke-model-operation │ metadata: { │ "operation": "invoke-model", diff --git a/e2e/scenarios/bedrock-runtime-instrumentation/__snapshots__/bedrock-runtime-v3-latest-auto.span-tree.json b/e2e/scenarios/bedrock-runtime-instrumentation/__snapshots__/bedrock-runtime-v3-latest-auto.span-tree.json index a4dfcb321..61ebb497d 100644 --- a/e2e/scenarios/bedrock-runtime-instrumentation/__snapshots__/bedrock-runtime-v3-latest-auto.span-tree.json +++ b/e2e/scenarios/bedrock-runtime-instrumentation/__snapshots__/bedrock-runtime-v3-latest-auto.span-tree.json @@ -162,6 +162,55 @@ "testRunId": "" } }, + { + "name": "bedrock-multimodal-embedding-operation", + "children": [ + { + "name": "bedrock.invokeModel", + "type": "llm", + "children": [], + "input": { + "inputs": [ + { + "content": [ + { + "text": "A sailing ship in a storm", + "type": "text" + }, + { + "image_url": { + "url": { + "content_type": "image/png", + "filename": "image.png", + "key": "", + "type": "braintrust_attachment" + } + }, + "type": "image_url" + } + ] + } + ], + "output_dimensions": 256 + }, + "output": { + "count": 1 + }, + "metadata": { + "accept": "application/json", + "command": "InvokeModelCommand", + "contentType": "application/json", + "model": "us.cohere.embed-v4:0", + "operation": "invokeModel", + "provider": "aws-bedrock" + } + } + ], + "metadata": { + "operation": "multimodal-embedding", + "testRunId": "" + } + }, { "name": "bedrock-invoke-model-operation", "children": [ @@ -279,16 +328,16 @@ "provider": "aws-bedrock", "trace": {}, "usage": { - "cacheReadInputTokenCount": 0, - "cacheWriteInputTokenCount": 14922, + "cacheReadInputTokenCount": 14922, + "cacheWriteInputTokenCount": 0, "inputTokens": 6, "outputTokens": 3 } }, "metrics": { "completion_tokens": 3, - "prompt_cache_creation_tokens": 14922, - "prompt_cached_tokens": 0, + "prompt_cache_creation_tokens": 0, + "prompt_cached_tokens": 14922, "prompt_tokens": 6, "time_to_first_token": 0, "tokens": 14931 diff --git a/e2e/scenarios/bedrock-runtime-instrumentation/__snapshots__/bedrock-runtime-v3-latest-auto.span-tree.txt b/e2e/scenarios/bedrock-runtime-instrumentation/__snapshots__/bedrock-runtime-v3-latest-auto.span-tree.txt index d49b2d46e..a826f0680 100644 --- a/e2e/scenarios/bedrock-runtime-instrumentation/__snapshots__/bedrock-runtime-v3-latest-auto.span-tree.txt +++ b/e2e/scenarios/bedrock-runtime-instrumentation/__snapshots__/bedrock-runtime-v3-latest-auto.span-tree.txt @@ -138,6 +138,47 @@ span_tree: │ "prompt_tokens": 9, │ "tokens": 9 │ } + ├── bedrock-multimodal-embedding-operation + │ metadata: { + │ "operation": "multimodal-embedding", + │ "testRunId": "" + │ } + │ └── bedrock.invokeModel [llm] + │ input: { + │ "inputs": [ + │ { + │ "content": [ + │ { + │ "text": "A sailing ship in a storm", + │ "type": "text" + │ }, + │ { + │ "image_url": { + │ "url": { + │ "content_type": "image/png", + │ "filename": "image.png", + │ "key": "", + │ "type": "braintrust_attachment" + │ } + │ }, + │ "type": "image_url" + │ } + │ ] + │ } + │ ], + │ "output_dimensions": 256 + │ } + │ output: { + │ "count": 1 + │ } + │ metadata: { + │ "accept": "application/json", + │ "command": "InvokeModelCommand", + │ "contentType": "application/json", + │ "model": "us.cohere.embed-v4:0", + │ "operation": "invokeModel", + │ "provider": "aws-bedrock" + │ } ├── bedrock-invoke-model-operation │ metadata: { │ "operation": "invoke-model", @@ -246,16 +287,16 @@ span_tree: "provider": "aws-bedrock", "trace": {}, "usage": { - "cacheReadInputTokenCount": 0, - "cacheWriteInputTokenCount": 14922, + "cacheReadInputTokenCount": 14922, + "cacheWriteInputTokenCount": 0, "inputTokens": 6, "outputTokens": 3 } } metrics: { "completion_tokens": 3, - "prompt_cache_creation_tokens": 14922, - "prompt_cached_tokens": 0, + "prompt_cache_creation_tokens": 0, + "prompt_cached_tokens": 14922, "prompt_tokens": 6, "time_to_first_token": 0, "tokens": 14931 diff --git a/e2e/scenarios/bedrock-runtime-instrumentation/__snapshots__/bedrock-runtime-v3-latest-wrapped.span-tree.json b/e2e/scenarios/bedrock-runtime-instrumentation/__snapshots__/bedrock-runtime-v3-latest-wrapped.span-tree.json index a4dfcb321..61ebb497d 100644 --- a/e2e/scenarios/bedrock-runtime-instrumentation/__snapshots__/bedrock-runtime-v3-latest-wrapped.span-tree.json +++ b/e2e/scenarios/bedrock-runtime-instrumentation/__snapshots__/bedrock-runtime-v3-latest-wrapped.span-tree.json @@ -162,6 +162,55 @@ "testRunId": "" } }, + { + "name": "bedrock-multimodal-embedding-operation", + "children": [ + { + "name": "bedrock.invokeModel", + "type": "llm", + "children": [], + "input": { + "inputs": [ + { + "content": [ + { + "text": "A sailing ship in a storm", + "type": "text" + }, + { + "image_url": { + "url": { + "content_type": "image/png", + "filename": "image.png", + "key": "", + "type": "braintrust_attachment" + } + }, + "type": "image_url" + } + ] + } + ], + "output_dimensions": 256 + }, + "output": { + "count": 1 + }, + "metadata": { + "accept": "application/json", + "command": "InvokeModelCommand", + "contentType": "application/json", + "model": "us.cohere.embed-v4:0", + "operation": "invokeModel", + "provider": "aws-bedrock" + } + } + ], + "metadata": { + "operation": "multimodal-embedding", + "testRunId": "" + } + }, { "name": "bedrock-invoke-model-operation", "children": [ @@ -279,16 +328,16 @@ "provider": "aws-bedrock", "trace": {}, "usage": { - "cacheReadInputTokenCount": 0, - "cacheWriteInputTokenCount": 14922, + "cacheReadInputTokenCount": 14922, + "cacheWriteInputTokenCount": 0, "inputTokens": 6, "outputTokens": 3 } }, "metrics": { "completion_tokens": 3, - "prompt_cache_creation_tokens": 14922, - "prompt_cached_tokens": 0, + "prompt_cache_creation_tokens": 0, + "prompt_cached_tokens": 14922, "prompt_tokens": 6, "time_to_first_token": 0, "tokens": 14931 diff --git a/e2e/scenarios/bedrock-runtime-instrumentation/__snapshots__/bedrock-runtime-v3-latest-wrapped.span-tree.txt b/e2e/scenarios/bedrock-runtime-instrumentation/__snapshots__/bedrock-runtime-v3-latest-wrapped.span-tree.txt index d49b2d46e..a826f0680 100644 --- a/e2e/scenarios/bedrock-runtime-instrumentation/__snapshots__/bedrock-runtime-v3-latest-wrapped.span-tree.txt +++ b/e2e/scenarios/bedrock-runtime-instrumentation/__snapshots__/bedrock-runtime-v3-latest-wrapped.span-tree.txt @@ -138,6 +138,47 @@ span_tree: │ "prompt_tokens": 9, │ "tokens": 9 │ } + ├── bedrock-multimodal-embedding-operation + │ metadata: { + │ "operation": "multimodal-embedding", + │ "testRunId": "" + │ } + │ └── bedrock.invokeModel [llm] + │ input: { + │ "inputs": [ + │ { + │ "content": [ + │ { + │ "text": "A sailing ship in a storm", + │ "type": "text" + │ }, + │ { + │ "image_url": { + │ "url": { + │ "content_type": "image/png", + │ "filename": "image.png", + │ "key": "", + │ "type": "braintrust_attachment" + │ } + │ }, + │ "type": "image_url" + │ } + │ ] + │ } + │ ], + │ "output_dimensions": 256 + │ } + │ output: { + │ "count": 1 + │ } + │ metadata: { + │ "accept": "application/json", + │ "command": "InvokeModelCommand", + │ "contentType": "application/json", + │ "model": "us.cohere.embed-v4:0", + │ "operation": "invokeModel", + │ "provider": "aws-bedrock" + │ } ├── bedrock-invoke-model-operation │ metadata: { │ "operation": "invoke-model", @@ -246,16 +287,16 @@ span_tree: "provider": "aws-bedrock", "trace": {}, "usage": { - "cacheReadInputTokenCount": 0, - "cacheWriteInputTokenCount": 14922, + "cacheReadInputTokenCount": 14922, + "cacheWriteInputTokenCount": 0, "inputTokens": 6, "outputTokens": 3 } } metrics: { "completion_tokens": 3, - "prompt_cache_creation_tokens": 14922, - "prompt_cached_tokens": 0, + "prompt_cache_creation_tokens": 0, + "prompt_cached_tokens": 14922, "prompt_tokens": 6, "time_to_first_token": 0, "tokens": 14931 diff --git a/e2e/scenarios/bedrock-runtime-instrumentation/__snapshots__/bedrock-runtime-v3-wrapped.span-tree.json b/e2e/scenarios/bedrock-runtime-instrumentation/__snapshots__/bedrock-runtime-v3-wrapped.span-tree.json index a98284ac8..61ebb497d 100644 --- a/e2e/scenarios/bedrock-runtime-instrumentation/__snapshots__/bedrock-runtime-v3-wrapped.span-tree.json +++ b/e2e/scenarios/bedrock-runtime-instrumentation/__snapshots__/bedrock-runtime-v3-wrapped.span-tree.json @@ -162,6 +162,55 @@ "testRunId": "" } }, + { + "name": "bedrock-multimodal-embedding-operation", + "children": [ + { + "name": "bedrock.invokeModel", + "type": "llm", + "children": [], + "input": { + "inputs": [ + { + "content": [ + { + "text": "A sailing ship in a storm", + "type": "text" + }, + { + "image_url": { + "url": { + "content_type": "image/png", + "filename": "image.png", + "key": "", + "type": "braintrust_attachment" + } + }, + "type": "image_url" + } + ] + } + ], + "output_dimensions": 256 + }, + "output": { + "count": 1 + }, + "metadata": { + "accept": "application/json", + "command": "InvokeModelCommand", + "contentType": "application/json", + "model": "us.cohere.embed-v4:0", + "operation": "invokeModel", + "provider": "aws-bedrock" + } + } + ], + "metadata": { + "operation": "multimodal-embedding", + "testRunId": "" + } + }, { "name": "bedrock-invoke-model-operation", "children": [ diff --git a/e2e/scenarios/bedrock-runtime-instrumentation/__snapshots__/bedrock-runtime-v3-wrapped.span-tree.txt b/e2e/scenarios/bedrock-runtime-instrumentation/__snapshots__/bedrock-runtime-v3-wrapped.span-tree.txt index 4cacfd581..a826f0680 100644 --- a/e2e/scenarios/bedrock-runtime-instrumentation/__snapshots__/bedrock-runtime-v3-wrapped.span-tree.txt +++ b/e2e/scenarios/bedrock-runtime-instrumentation/__snapshots__/bedrock-runtime-v3-wrapped.span-tree.txt @@ -138,6 +138,47 @@ span_tree: │ "prompt_tokens": 9, │ "tokens": 9 │ } + ├── bedrock-multimodal-embedding-operation + │ metadata: { + │ "operation": "multimodal-embedding", + │ "testRunId": "" + │ } + │ └── bedrock.invokeModel [llm] + │ input: { + │ "inputs": [ + │ { + │ "content": [ + │ { + │ "text": "A sailing ship in a storm", + │ "type": "text" + │ }, + │ { + │ "image_url": { + │ "url": { + │ "content_type": "image/png", + │ "filename": "image.png", + │ "key": "", + │ "type": "braintrust_attachment" + │ } + │ }, + │ "type": "image_url" + │ } + │ ] + │ } + │ ], + │ "output_dimensions": 256 + │ } + │ output: { + │ "count": 1 + │ } + │ metadata: { + │ "accept": "application/json", + │ "command": "InvokeModelCommand", + │ "contentType": "application/json", + │ "model": "us.cohere.embed-v4:0", + │ "operation": "invokeModel", + │ "provider": "aws-bedrock" + │ } ├── bedrock-invoke-model-operation │ metadata: { │ "operation": "invoke-model", diff --git a/e2e/scenarios/bedrock-runtime-instrumentation/assertions.ts b/e2e/scenarios/bedrock-runtime-instrumentation/assertions.ts index 1f760ca89..2bd81234f 100644 --- a/e2e/scenarios/bedrock-runtime-instrumentation/assertions.ts +++ b/e2e/scenarios/bedrock-runtime-instrumentation/assertions.ts @@ -15,6 +15,7 @@ import { CACHE_PROMPT_MARKER, EMBEDDING_MODEL, MODEL, + MULTIMODAL_EMBEDDING_MODEL, ROOT_NAME, SCENARIO_NAME, } from "./constants.mjs"; @@ -39,6 +40,7 @@ const OPERATION_TO_SPAN_NAME = { "bedrock-converse-operation": "bedrock.converse", "bedrock-converse-stream-operation": "bedrock.converseStream", "bedrock-embedding-operation": "bedrock.invokeModel", + "bedrock-multimodal-embedding-operation": "bedrock.invokeModel", "bedrock-invoke-model-operation": "bedrock.invokeModel", "bedrock-invoke-model-stream-operation": "bedrock.invokeModelWithResponseStream", @@ -155,7 +157,9 @@ export function defineBedrockRuntimeInstrumentationAssertions(options: { model: operationName === "bedrock-embedding-operation" ? EMBEDDING_MODEL - : MODEL, + : operationName === "bedrock-multimodal-embedding-operation" + ? MULTIMODAL_EMBEDDING_MODEL + : MODEL, provider: "aws-bedrock", }); expect(span?.output).toBeDefined(); @@ -207,6 +211,42 @@ export function defineBedrockRuntimeInstrumentationAssertions(options: { expect(embeddingSpan?.metrics).not.toHaveProperty("completion_tokens"); }); + test( + "captures canonical Bedrock multimodal embedding data", + testConfig, + () => { + const embeddingSpan = findBedrockSpan( + events, + "bedrock-multimodal-embedding-operation", + ); + + expect(embeddingSpan?.input).toMatchObject({ + inputs: [ + { + content: [ + { text: "A sailing ship in a storm", type: "text" }, + { + image_url: { + url: { + content_type: "image/png", + type: "braintrust_attachment", + }, + }, + type: "image_url", + }, + ], + }, + ], + output_dimensions: 256, + }); + expect(embeddingSpan?.output).toEqual({ count: 1 }); + expect(embeddingSpan?.metrics).not.toHaveProperty("completion_tokens"); + expect(embeddingSpan?.metrics).not.toHaveProperty( + "time_to_first_token", + ); + }, + ); + test("captures Bedrock prompt cache metrics", testConfig, () => { const metrics = Object.keys(OPERATION_TO_SPAN_NAME) .map((operationName) => diff --git a/e2e/scenarios/bedrock-runtime-instrumentation/cassette-filter.mjs b/e2e/scenarios/bedrock-runtime-instrumentation/cassette-filter.mjs index dcee29ad6..2fc226a1d 100644 --- a/e2e/scenarios/bedrock-runtime-instrumentation/cassette-filter.mjs +++ b/e2e/scenarios/bedrock-runtime-instrumentation/cassette-filter.mjs @@ -1,8 +1,11 @@ // @ts-check +const IMAGE_DATA_URL_FIELD = "inputs.*.content.*.image_url.url"; + /** @type {import("@braintrust/seinfeld").FilterSpec} */ export const filter = [ "default", { + ignoreBodyFields: [IMAGE_DATA_URL_FIELD], normalizeRequest(req) { try { const url = new URL(req.url); @@ -33,6 +36,7 @@ export const filter = [ export const redact = [ "paranoid", { + redactBodyFields: [IMAGE_DATA_URL_FIELD], redactResponse(response) { return { ...response, diff --git a/e2e/scenarios/bedrock-runtime-instrumentation/constants.mjs b/e2e/scenarios/bedrock-runtime-instrumentation/constants.mjs index 805df652a..c73eef1f3 100644 --- a/e2e/scenarios/bedrock-runtime-instrumentation/constants.mjs +++ b/e2e/scenarios/bedrock-runtime-instrumentation/constants.mjs @@ -16,6 +16,7 @@ function getModel() { export const MODEL = getModel(); export const EMBEDDING_MODEL = "amazon.titan-embed-text-v2:0"; +export const MULTIMODAL_EMBEDDING_MODEL = "us.cohere.embed-v4:0"; export const REGION = process.env.AWS_REGION ?? process.env.AWS_DEFAULT_REGION ?? "us-east-1"; export const CACHE_PROMPT_MARKER = "BRAINTRUST_BEDROCK_CACHE_CONTEXT"; diff --git a/e2e/scenarios/bedrock-runtime-instrumentation/scenario.impl.mjs b/e2e/scenarios/bedrock-runtime-instrumentation/scenario.impl.mjs index 0dca692f5..b4c1b17b5 100644 --- a/e2e/scenarios/bedrock-runtime-instrumentation/scenario.impl.mjs +++ b/e2e/scenarios/bedrock-runtime-instrumentation/scenario.impl.mjs @@ -1,3 +1,4 @@ +import { readFile } from "node:fs/promises"; import { wrapBedrockRuntime } from "braintrust"; import { collectAsync, @@ -8,6 +9,7 @@ import { CACHE_PROMPT_MARKER, EMBEDDING_MODEL, MODEL, + MULTIMODAL_EMBEDDING_MODEL, REGION, ROOT_NAME, SCENARIO_NAME, @@ -88,6 +90,9 @@ function assertBedrockAuthEnv() { export async function runBedrockRuntimeInstrumentationScenario(options) { assertBedrockAuthEnv(); + const imageBase64 = ( + await readFile(new URL("./test-image.png", import.meta.url)) + ).toString("base64"); const baseClient = new options.BedrockRuntimeClient( bedrockClientConfig(options.NodeHttpHandler), ); @@ -176,6 +181,41 @@ export async function runBedrockRuntimeInstrumentationScenario(options) { }, ); + await runOperation( + "bedrock-multimodal-embedding-operation", + "multimodal-embedding", + async () => { + await client.send( + new options.InvokeModelCommand({ + accept: "application/json", + body: JSON.stringify({ + embedding_types: ["float"], + input_type: "search_document", + inputs: [ + { + content: [ + { + text: "A sailing ship in a storm", + type: "text", + }, + { + image_url: { + url: `data:image/png;base64,${imageBase64}`, + }, + type: "image_url", + }, + ], + }, + ], + output_dimension: 256, + }), + contentType: "application/json", + modelId: MULTIMODAL_EMBEDDING_MODEL, + }), + ); + }, + ); + await runOperation( "bedrock-invoke-model-stream-operation", "invoke-model-stream", diff --git a/e2e/scenarios/bedrock-runtime-instrumentation/scenario.test.ts b/e2e/scenarios/bedrock-runtime-instrumentation/scenario.test.ts index ec533c955..e0845e05a 100644 --- a/e2e/scenarios/bedrock-runtime-instrumentation/scenario.test.ts +++ b/e2e/scenarios/bedrock-runtime-instrumentation/scenario.test.ts @@ -40,7 +40,6 @@ describe.concurrent("variants", () => { entry: "scenario.ts", env: { BEDROCK_RUNTIME_PACKAGE_NAME: scenario.dependencyName }, runContext: { - cassette: { variantKey: scenario.snapshotName }, originalScenarioDir, variantKey: `${scenario.snapshotName}-wrapped`, }, @@ -61,7 +60,6 @@ describe.concurrent("variants", () => { env: { BEDROCK_RUNTIME_PACKAGE_NAME: scenario.dependencyName }, nodeArgs: ["--import", "braintrust/hook.mjs"], runContext: { - cassette: { variantKey: scenario.snapshotName }, originalScenarioDir, variantKey: `${scenario.snapshotName}-auto`, }, diff --git a/e2e/scenarios/bedrock-runtime-instrumentation/test-image.png b/e2e/scenarios/bedrock-runtime-instrumentation/test-image.png new file mode 100644 index 0000000000000000000000000000000000000000..8200ae61f04afa6158f4568741d7b6e74271e72f GIT binary patch literal 588 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H1|$#LC7xzrU=sFpaSW-r_4dw2UuQ=F*TCsb zE-t(tN47XHhBVv}4h`VZv}Ek;bQJq{j&6tUyjlqF| zgMm?jfu(^#fPo1I$K%b*f8X30z#vEL!1d?WK<0)_hG=Jo1A+|EP9O;x<_)4O41X9C zxH%Xs7#CPG0mUAOG@RpLh~QYD4dNweHuP~Y{7`Sm1FB$lP-g*(9k68BrNHoji9uEX z$YYq!;Ni}2fQw<0Aj1Zsh7hodCU^Q#J>!rdPAw z7(JXPY)F@B5Mj}bb_2RwA@g_yL#W`ATnXL Date: Mon, 14 Sep 2026 11:31:05 +0000 Subject: [PATCH 4/5] Update PR #2475 --- .../bedrock-runtime-v3-auto.span-tree.json | 4 + .../bedrock-runtime-v3-auto.span-tree.txt | 4 + ...rock-runtime-v3-latest-auto.span-tree.json | 4 + ...drock-runtime-v3-latest-auto.span-tree.txt | 4 + ...k-runtime-v3-latest-wrapped.span-tree.json | 4 + ...ck-runtime-v3-latest-wrapped.span-tree.txt | 4 + .../bedrock-runtime-v3-wrapped.span-tree.json | 4 + .../bedrock-runtime-v3-wrapped.span-tree.txt | 4 + .../assertions.ts | 4 + .../plugins/bedrock-runtime-plugin.test.ts | 98 +++++++++---- .../plugins/bedrock-runtime-plugin.ts | 132 +++++++++++++++++- js/src/vendor-sdk-types/bedrock-runtime.ts | 19 +++ 12 files changed, 256 insertions(+), 29 deletions(-) diff --git a/e2e/scenarios/bedrock-runtime-instrumentation/__snapshots__/bedrock-runtime-v3-auto.span-tree.json b/e2e/scenarios/bedrock-runtime-instrumentation/__snapshots__/bedrock-runtime-v3-auto.span-tree.json index 61ebb497d..c8e3eacb3 100644 --- a/e2e/scenarios/bedrock-runtime-instrumentation/__snapshots__/bedrock-runtime-v3-auto.span-tree.json +++ b/e2e/scenarios/bedrock-runtime-instrumentation/__snapshots__/bedrock-runtime-v3-auto.span-tree.json @@ -203,6 +203,10 @@ "model": "us.cohere.embed-v4:0", "operation": "invokeModel", "provider": "aws-bedrock" + }, + "metrics": { + "prompt_tokens": 112, + "tokens": 112 } } ], diff --git a/e2e/scenarios/bedrock-runtime-instrumentation/__snapshots__/bedrock-runtime-v3-auto.span-tree.txt b/e2e/scenarios/bedrock-runtime-instrumentation/__snapshots__/bedrock-runtime-v3-auto.span-tree.txt index a826f0680..dda819867 100644 --- a/e2e/scenarios/bedrock-runtime-instrumentation/__snapshots__/bedrock-runtime-v3-auto.span-tree.txt +++ b/e2e/scenarios/bedrock-runtime-instrumentation/__snapshots__/bedrock-runtime-v3-auto.span-tree.txt @@ -179,6 +179,10 @@ span_tree: │ "operation": "invokeModel", │ "provider": "aws-bedrock" │ } + │ metrics: { + │ "prompt_tokens": 112, + │ "tokens": 112 + │ } ├── bedrock-invoke-model-operation │ metadata: { │ "operation": "invoke-model", diff --git a/e2e/scenarios/bedrock-runtime-instrumentation/__snapshots__/bedrock-runtime-v3-latest-auto.span-tree.json b/e2e/scenarios/bedrock-runtime-instrumentation/__snapshots__/bedrock-runtime-v3-latest-auto.span-tree.json index 61ebb497d..c8e3eacb3 100644 --- a/e2e/scenarios/bedrock-runtime-instrumentation/__snapshots__/bedrock-runtime-v3-latest-auto.span-tree.json +++ b/e2e/scenarios/bedrock-runtime-instrumentation/__snapshots__/bedrock-runtime-v3-latest-auto.span-tree.json @@ -203,6 +203,10 @@ "model": "us.cohere.embed-v4:0", "operation": "invokeModel", "provider": "aws-bedrock" + }, + "metrics": { + "prompt_tokens": 112, + "tokens": 112 } } ], diff --git a/e2e/scenarios/bedrock-runtime-instrumentation/__snapshots__/bedrock-runtime-v3-latest-auto.span-tree.txt b/e2e/scenarios/bedrock-runtime-instrumentation/__snapshots__/bedrock-runtime-v3-latest-auto.span-tree.txt index a826f0680..dda819867 100644 --- a/e2e/scenarios/bedrock-runtime-instrumentation/__snapshots__/bedrock-runtime-v3-latest-auto.span-tree.txt +++ b/e2e/scenarios/bedrock-runtime-instrumentation/__snapshots__/bedrock-runtime-v3-latest-auto.span-tree.txt @@ -179,6 +179,10 @@ span_tree: │ "operation": "invokeModel", │ "provider": "aws-bedrock" │ } + │ metrics: { + │ "prompt_tokens": 112, + │ "tokens": 112 + │ } ├── bedrock-invoke-model-operation │ metadata: { │ "operation": "invoke-model", diff --git a/e2e/scenarios/bedrock-runtime-instrumentation/__snapshots__/bedrock-runtime-v3-latest-wrapped.span-tree.json b/e2e/scenarios/bedrock-runtime-instrumentation/__snapshots__/bedrock-runtime-v3-latest-wrapped.span-tree.json index 61ebb497d..c8e3eacb3 100644 --- a/e2e/scenarios/bedrock-runtime-instrumentation/__snapshots__/bedrock-runtime-v3-latest-wrapped.span-tree.json +++ b/e2e/scenarios/bedrock-runtime-instrumentation/__snapshots__/bedrock-runtime-v3-latest-wrapped.span-tree.json @@ -203,6 +203,10 @@ "model": "us.cohere.embed-v4:0", "operation": "invokeModel", "provider": "aws-bedrock" + }, + "metrics": { + "prompt_tokens": 112, + "tokens": 112 } } ], diff --git a/e2e/scenarios/bedrock-runtime-instrumentation/__snapshots__/bedrock-runtime-v3-latest-wrapped.span-tree.txt b/e2e/scenarios/bedrock-runtime-instrumentation/__snapshots__/bedrock-runtime-v3-latest-wrapped.span-tree.txt index a826f0680..dda819867 100644 --- a/e2e/scenarios/bedrock-runtime-instrumentation/__snapshots__/bedrock-runtime-v3-latest-wrapped.span-tree.txt +++ b/e2e/scenarios/bedrock-runtime-instrumentation/__snapshots__/bedrock-runtime-v3-latest-wrapped.span-tree.txt @@ -179,6 +179,10 @@ span_tree: │ "operation": "invokeModel", │ "provider": "aws-bedrock" │ } + │ metrics: { + │ "prompt_tokens": 112, + │ "tokens": 112 + │ } ├── bedrock-invoke-model-operation │ metadata: { │ "operation": "invoke-model", diff --git a/e2e/scenarios/bedrock-runtime-instrumentation/__snapshots__/bedrock-runtime-v3-wrapped.span-tree.json b/e2e/scenarios/bedrock-runtime-instrumentation/__snapshots__/bedrock-runtime-v3-wrapped.span-tree.json index 61ebb497d..c8e3eacb3 100644 --- a/e2e/scenarios/bedrock-runtime-instrumentation/__snapshots__/bedrock-runtime-v3-wrapped.span-tree.json +++ b/e2e/scenarios/bedrock-runtime-instrumentation/__snapshots__/bedrock-runtime-v3-wrapped.span-tree.json @@ -203,6 +203,10 @@ "model": "us.cohere.embed-v4:0", "operation": "invokeModel", "provider": "aws-bedrock" + }, + "metrics": { + "prompt_tokens": 112, + "tokens": 112 } } ], diff --git a/e2e/scenarios/bedrock-runtime-instrumentation/__snapshots__/bedrock-runtime-v3-wrapped.span-tree.txt b/e2e/scenarios/bedrock-runtime-instrumentation/__snapshots__/bedrock-runtime-v3-wrapped.span-tree.txt index a826f0680..dda819867 100644 --- a/e2e/scenarios/bedrock-runtime-instrumentation/__snapshots__/bedrock-runtime-v3-wrapped.span-tree.txt +++ b/e2e/scenarios/bedrock-runtime-instrumentation/__snapshots__/bedrock-runtime-v3-wrapped.span-tree.txt @@ -179,6 +179,10 @@ span_tree: │ "operation": "invokeModel", │ "provider": "aws-bedrock" │ } + │ metrics: { + │ "prompt_tokens": 112, + │ "tokens": 112 + │ } ├── bedrock-invoke-model-operation │ metadata: { │ "operation": "invoke-model", diff --git a/e2e/scenarios/bedrock-runtime-instrumentation/assertions.ts b/e2e/scenarios/bedrock-runtime-instrumentation/assertions.ts index 2bd81234f..4ae665b43 100644 --- a/e2e/scenarios/bedrock-runtime-instrumentation/assertions.ts +++ b/e2e/scenarios/bedrock-runtime-instrumentation/assertions.ts @@ -240,6 +240,10 @@ export function defineBedrockRuntimeInstrumentationAssertions(options: { output_dimensions: 256, }); expect(embeddingSpan?.output).toEqual({ count: 1 }); + expect(embeddingSpan?.metrics).toMatchObject({ + prompt_tokens: expect.any(Number), + tokens: expect.any(Number), + }); expect(embeddingSpan?.metrics).not.toHaveProperty("completion_tokens"); expect(embeddingSpan?.metrics).not.toHaveProperty( "time_to_first_token", diff --git a/js/src/instrumentation/plugins/bedrock-runtime-plugin.test.ts b/js/src/instrumentation/plugins/bedrock-runtime-plugin.test.ts index 9b14e4b06..d510a986f 100644 --- a/js/src/instrumentation/plugins/bedrock-runtime-plugin.test.ts +++ b/js/src/instrumentation/plugins/bedrock-runtime-plugin.test.ts @@ -1,6 +1,7 @@ import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; import { _exportsForTestingOnly, initLogger } from "../../logger"; import { configureNode } from "../../node/config"; +import type { BedrockRuntimeMiddlewareStack } from "../../vendor-sdk-types/bedrock-runtime"; import { smithyClientChannels, smithyCoreChannels, @@ -26,7 +27,10 @@ class InvokeModelWithBidirectionalStreamCommand { } class InvokeModelCommand { - constructor(public input: Record) {} + constructor( + public input: Record, + public middlewareStack?: BedrockRuntimeMiddlewareStack, + ) {} } class GetObjectCommand { @@ -337,33 +341,65 @@ describe("BedrockRuntimePlugin", () => { ); }); - it("counts Cohere v4 multi-type embeddings once per input", async () => { + it("captures Cohere v4 embedding token metrics from response headers", async () => { + let responseMiddleware: + | Parameters[0] + | undefined; + const middlewareStack: BedrockRuntimeMiddlewareStack = { + add(middleware, options) { + responseMiddleware = middleware; + expect(options).toEqual({ + name: "braintrustBedrockResponseHeaderMetrics", + priority: "high", + step: "deserialize", + }); + }, + }; + const output = { + body: JSON.stringify({ + embeddings: { + float: [ + [0.1, 0.2], + [0.3, 0.4], + ], + int8: [ + [1, 2], + [3, 4], + ], + }, + response_type: "embeddings_by_type", + }), + }; + await smithyCoreChannels.clientSend.tracePromise( - async () => ({ - body: JSON.stringify({ - embeddings: { - float: [ - [0.1, 0.2], - [0.3, 0.4], - ], - int8: [ - [1, 2], - [3, 4], - ], + async () => { + if (!responseMiddleware) { + throw new Error("Expected response middleware to be installed"); + } + const result = await responseMiddleware(async () => ({ + output, + response: { + headers: { + "x-amzn-bedrock-input-token-count": "112", + "x-amzn-bedrock-output-token-count": "17", + }, }, - response_type: "embeddings_by_type", - }), - }), + }))({}); + return result.output; + }, { arguments: [ - new InvokeModelCommand({ - body: JSON.stringify({ - input_type: "search_document", - output_dimension: 2, - texts: ["First", "Second"], - }), - modelId: "us.cohere.embed-v4:0", - }) as any, + new InvokeModelCommand( + { + body: JSON.stringify({ + input_type: "search_document", + output_dimension: 2, + texts: ["First", "Second"], + }), + modelId: "us.cohere.embed-v4:0", + }, + middlewareStack, + ) as any, ], }, ); @@ -376,6 +412,20 @@ describe("BedrockRuntimePlugin", () => { inputs: [{ content: "First" }, { content: "Second" }], output_dimensions: 2, }, + metrics: expect.objectContaining({ + prompt_tokens: 112, + tokens: 112, + }), + output: { count: 2 }, + }), + ]), + ); + expect(spans).not.toEqual( + expect.arrayContaining([ + expect.objectContaining({ + metrics: expect.objectContaining({ + completion_tokens: expect.anything(), + }), output: { count: 2 }, }), ]), diff --git a/js/src/instrumentation/plugins/bedrock-runtime-plugin.ts b/js/src/instrumentation/plugins/bedrock-runtime-plugin.ts index 857f90e80..b483f0861 100644 --- a/js/src/instrumentation/plugins/bedrock-runtime-plugin.ts +++ b/js/src/instrumentation/plugins/bedrock-runtime-plugin.ts @@ -2,11 +2,13 @@ import { BasePlugin } from "../core"; import { traceStreamingChannel, unsubscribeAll } from "../core/channel-tracing"; import { isAsyncIterable, patchStreamIfNeeded } from "../core/stream-patcher"; import { SpanTypeAttribute, isObject } from "../../../util/index"; +import { debugLogger } from "../../debug-logger"; import { getCurrentUnixTimestamp } from "../../util"; import type { Span } from "../../logger"; import { processInputAttachments } from "../../wrappers/attachment-utils"; import type { AnyAsyncChannel } from "../core/channel-definitions"; import type { + BedrockRuntimeCommandLike, BedrockRuntimeConverseRequest, BedrockRuntimeConverseResponse, BedrockRuntimeConverseStreamEvent, @@ -28,6 +30,13 @@ import { const BEDROCK_EMBEDDING_MODEL_PATTERN = /(?:^|[./])(?:amazon\.titan-embed-text|cohere\.embed-)/; +const BEDROCK_INPUT_TOKEN_COUNT_HEADER = "x-amzn-bedrock-input-token-count"; +const BEDROCK_OUTPUT_TOKEN_COUNT_HEADER = "x-amzn-bedrock-output-token-count"; +const bedrockResponseHeaderMetrics = new WeakMap< + object, + Record +>(); +const instrumentedBedrockMiddlewareStacks = new WeakSet(); export class BedrockRuntimePlugin extends BasePlugin { protected onEnable(): void { @@ -60,7 +69,8 @@ function traceBedrockRuntimeClientSendChannel( extractBedrockRuntimeOutput(endEvent?.arguments?.[0], result), extractMetadata: (result, endEvent) => extractBedrockRuntimeResponseMetadata(endEvent?.arguments?.[0], result), - extractMetrics: (result) => extractBedrockRuntimeResponseMetrics(result), + extractMetrics: (result, _startTime, endEvent) => + extractBedrockRuntimeResponseMetrics(endEvent?.arguments?.[0], result), patchResult: ({ endEvent, result, span, startTime }) => patchBedrockRuntimeStreamingResult({ command: endEvent.arguments?.[0], @@ -75,6 +85,7 @@ function extractBedrockRuntimeInput(command: unknown): { input: unknown; metadata: Record; } { + captureBedrockResponseHeaderMetrics(command); const operation = getBedrockRuntimeOperation(command); const commandName = getBedrockRuntimeCommandName(command); const request = getBedrockRuntimeCommandInput(command); @@ -217,29 +228,140 @@ function extractBedrockRuntimeResponseMetadata( } function extractBedrockRuntimeResponseMetrics( + command: unknown, result: unknown, ): Record { if (!isObject(result)) { return {}; } + let metrics: Record = {}; const parsedBody = parseJsonBody(result.body); if (isObject(parsedBody)) { const metadata = isObject(parsedBody.metadata) ? parsedBody.metadata : undefined; - const metrics = parseBedrockRuntimeMetrics( + metrics = parseBedrockRuntimeMetrics( parsedBody.usage ?? metadata?.usage ?? (parsedBody.inputTextTokenCount !== undefined ? parsedBody : undefined), parsedBody.metrics ?? metadata?.metrics, ); - if (Object.keys(metrics).length > 0) { - return metrics; + } + + if (Object.keys(metrics).length === 0) { + metrics = parseBedrockRuntimeMetrics(result.usage, result.metrics); + } + + const headerMetrics = bedrockResponseHeaderMetrics.get(result) ?? {}; + bedrockResponseHeaderMetrics.delete(result); + const mergedMetrics = { ...headerMetrics, ...metrics }; + const request = getBedrockRuntimeCommandInput(command); + const isEmbeddingRequest = + isObject(request) && isBedrockEmbeddingModel(request.modelId); + + if (isEmbeddingRequest) { + delete mergedMetrics.completion_tokens; + if ( + mergedMetrics.tokens === undefined && + mergedMetrics.prompt_tokens !== undefined + ) { + mergedMetrics.tokens = mergedMetrics.prompt_tokens; } + } else if (mergedMetrics.tokens === undefined) { + if ( + mergedMetrics.prompt_tokens !== undefined && + mergedMetrics.completion_tokens !== undefined + ) { + mergedMetrics.tokens = + mergedMetrics.prompt_tokens + mergedMetrics.completion_tokens; + } + } + + return mergedMetrics; +} + +function captureBedrockResponseHeaderMetrics(command: unknown): void { + if (!isObject(command)) { + return; } - return parseBedrockRuntimeMetrics(result.usage, result.metrics); + const middlewareStack = (command as BedrockRuntimeCommandLike) + .middlewareStack; + if ( + !isObject(middlewareStack) || + typeof middlewareStack.add !== "function" || + instrumentedBedrockMiddlewareStacks.has(middlewareStack) + ) { + return; + } + + try { + middlewareStack.add( + (next) => async (args) => { + const middlewareResult = await next(args); + try { + const output = middlewareResult.output; + const response = middlewareResult.response; + const headers = isObject(response) ? response.headers : undefined; + if (isObject(output) && isObject(headers)) { + const headerMetrics: Record = {}; + for (const [headerName, headerValue] of Object.entries(headers)) { + const normalizedName = headerName.toLowerCase(); + const metricName = + normalizedName === BEDROCK_INPUT_TOKEN_COUNT_HEADER + ? "prompt_tokens" + : normalizedName === BEDROCK_OUTPUT_TOKEN_COUNT_HEADER + ? "completion_tokens" + : undefined; + if (metricName === undefined) { + continue; + } + const tokenCount = parseBedrockTokenHeader(headerValue); + if (tokenCount === undefined) { + continue; + } + headerMetrics[metricName] = tokenCount; + } + if (Object.keys(headerMetrics).length > 0) { + bedrockResponseHeaderMetrics.set(output, headerMetrics); + } + } + } catch (error) { + debugLogger.debug( + "Failed to capture Bedrock response header metrics:", + error, + ); + } + return middlewareResult; + }, + { + name: "braintrustBedrockResponseHeaderMetrics", + priority: "high", + step: "deserialize", + }, + ); + instrumentedBedrockMiddlewareStacks.add(middlewareStack); + } catch (error) { + debugLogger.debug( + "Failed to install Bedrock response header metrics middleware:", + error, + ); + } +} + +function parseBedrockTokenHeader(value: unknown): number | undefined { + const normalizedValue = typeof value === "string" ? value.trim() : value; + if ( + typeof normalizedValue !== "number" && + (typeof normalizedValue !== "string" || !/^\d+$/.test(normalizedValue)) + ) { + return undefined; + } + const tokenCount = Number(normalizedValue); + return Number.isSafeInteger(tokenCount) && tokenCount >= 0 + ? tokenCount + : undefined; } export function parseBedrockRuntimeMetrics( diff --git a/js/src/vendor-sdk-types/bedrock-runtime.ts b/js/src/vendor-sdk-types/bedrock-runtime.ts index f4d2e3030..245328ce2 100644 --- a/js/src/vendor-sdk-types/bedrock-runtime.ts +++ b/js/src/vendor-sdk-types/bedrock-runtime.ts @@ -9,12 +9,31 @@ export type BedrockRuntimeCommandName = export interface BedrockRuntimeCommandLike { input?: unknown; + middlewareStack?: BedrockRuntimeMiddlewareStack; constructor?: { name?: string; }; [key: string]: unknown; } +export interface BedrockRuntimeMiddlewareResult { + output?: unknown; + response?: unknown; +} + +export interface BedrockRuntimeMiddlewareStack { + add( + middleware: ( + next: (args: unknown) => Promise, + ) => (args: unknown) => Promise, + options: { + name: string; + priority: "high"; + step: "deserialize"; + }, + ): void; +} + export interface BedrockRuntimeClient { send: ( command: BedrockRuntimeCommandLike, From 5238154336e9d86cb98df9b0fb96407ffe616d4f Mon Sep 17 00:00:00 2001 From: lforst <8118419+lforst@users.noreply.github.com> Date: Mon, 14 Sep 2026 12:12:51 +0000 Subject: [PATCH 5/5] Update PR #2475 --- .../scenario.mjs | 35 ++++++++----------- 1 file changed, 14 insertions(+), 21 deletions(-) diff --git a/e2e/scenarios/cloudflare-ai-chat-instrumentation/scenario.mjs b/e2e/scenarios/cloudflare-ai-chat-instrumentation/scenario.mjs index 9befa4610..10254bcaf 100644 --- a/e2e/scenarios/cloudflare-ai-chat-instrumentation/scenario.mjs +++ b/e2e/scenarios/cloudflare-ai-chat-instrumentation/scenario.mjs @@ -1,9 +1,7 @@ import { spawn } from "node:child_process"; -import net from "node:net"; +import { stripVTControlCharacters } from "node:util"; const scenarioDir = new URL(".", import.meta.url).pathname; -const port = await reservePort(); -const baseUrl = `http://127.0.0.1:${port}`; const build = await runCommand([ "exec", "vite", @@ -25,7 +23,7 @@ const vite = spawn( "--host", "127.0.0.1", "--port", - String(port), + "0", "--strictPort", ], { @@ -41,15 +39,15 @@ vite.stdout.on("data", (chunk) => (output += chunk.toString())); vite.stderr.on("data", (chunk) => (output += chunk.toString())); try { - await waitForServer(); - const success = await run("success"); + const baseUrl = await waitForServer(); + const success = await run("success", baseUrl); if (!JSON.stringify(success).includes("CLOUDFLARE_AI_CHAT_TOOL_OK")) { throw new Error( `Successful chat result was incomplete: ${JSON.stringify(success)}`, ); } - const failure = await run("error"); + const failure = await run("error", baseUrl); if (!JSON.stringify(failure).includes("CLOUDFLARE_AI_CHAT_STREAM_ERROR")) { throw new Error( `Error chat result was incomplete: ${JSON.stringify(failure)}`, @@ -59,7 +57,7 @@ try { await stopVite(); } -async function run(kind) { +async function run(kind, baseUrl) { const response = await fetch(`${baseUrl}/run?kind=${kind}`, { signal: AbortSignal.timeout(60_000), }); @@ -79,12 +77,19 @@ async function waitForServer() { `Vite exited before startup (${vite.exitCode}):\n${output}`, ); } + const baseUrl = stripVTControlCharacters(output).match( + /Local:\s+(http:\/\/127\.0\.0\.1:\d+)\//, + )?.[1]; + if (!baseUrl) { + await new Promise((resolve) => setTimeout(resolve, 250)); + continue; + } try { const response = await fetch(`${baseUrl}/health`, { signal: AbortSignal.timeout(1_000), }); if (response.ok) { - return; + return baseUrl; } } catch {} await new Promise((resolve) => setTimeout(resolve, 250)); @@ -118,18 +123,6 @@ async function stopVite() { } } -async function reservePort() { - const server = net.createServer(); - await new Promise((resolve, reject) => { - server.once("error", reject); - server.listen(0, "127.0.0.1", resolve); - }); - const address = server.address(); - const selected = typeof address === "object" && address ? address.port : 0; - await new Promise((resolve) => server.close(resolve)); - return selected; -} - async function runCommand(args) { return await new Promise((resolve, reject) => { const child = spawn("pnpm", args, {