From 3520b52b0c32e2966c404175244bdd51d7b9e0a8 Mon Sep 17 00:00:00 2001 From: Ken Jiang Date: Mon, 29 Dec 2025 16:12:13 -0500 Subject: [PATCH] add google/bedrock payload snapshots --- payloads/cases/advanced.ts | 161 + payloads/cases/index.ts | 1 + payloads/cases/models.ts | 2 + payloads/cases/simple.ts | 142 + payloads/cases/types.ts | 17 + payloads/package-lock.json | 4013 +++++++++++++++++ payloads/package.json | 10 +- payloads/scripts/capture.ts | 4 + payloads/scripts/providers/bedrock.ts | 252 ++ payloads/scripts/providers/google.ts | 240 + .../bedrock/followup-request.json | 32 + .../bedrock/followup-response-streaming.json | 1021 +++++ .../bedrock/followup-response.json | 29 + .../bedrock/request.json | 16 + .../bedrock/response-streaming.json | 1549 +++++++ .../bedrock/response.json | 29 + .../google/followup-request.json | 31 + .../google/followup-response-streaming.json | 619 +++ .../google/followup-response.json | 45 + .../google/request.json | 15 + .../google/response-streaming.json | 1675 +++++++ .../google/response.json | 45 + .../multimodalRequest/bedrock/request.json | 188 + .../bedrock/response-streaming.json | 341 ++ .../multimodalRequest/bedrock/response.json | 29 + .../google/followup-request.json | 37 + .../google/followup-response-streaming.json | 51 + .../google/followup-response.json | 49 + .../multimodalRequest/google/request.json | 21 + .../google/response-streaming.json | 51 + .../multimodalRequest/google/response.json | 49 + .../bedrock/followup-request.json | 29 + .../bedrock/followup-response-streaming.json | 349 ++ .../bedrock/followup-response.json | 29 + .../reasoningRequest/bedrock/request.json | 13 + .../bedrock/response-streaming.json | 485 ++ .../reasoningRequest/bedrock/response.json | 29 + .../google/followup-request.json | 28 + .../google/followup-response-streaming.json | 267 ++ .../google/followup-response.json | 45 + .../reasoningRequest/google/request.json | 12 + .../google/response-streaming.json | 311 ++ .../reasoningRequest/google/response.json | 45 + .../bedrock/followup-request.json | 32 + .../bedrock/followup-response-streaming.json | 245 + .../bedrock/followup-response.json | 29 + .../bedrock/request.json | 16 + .../bedrock/response-streaming.json | 189 + .../bedrock/response.json | 29 + .../google/followup-request.json | 31 + .../google/followup-response-streaming.json | 47 + .../google/followup-response.json | 45 + .../google/request.json | 15 + .../google/response-streaming.json | 47 + .../google/response.json | 45 + .../bedrock/followup-request.json | 29 + .../bedrock/followup-response-streaming.json | 413 ++ .../bedrock/followup-response.json | 29 + .../reasoningWithOutput/bedrock/request.json | 13 + .../bedrock/response-streaming.json | 365 ++ .../reasoningWithOutput/bedrock/response.json | 29 + .../google/followup-request.json | 28 + .../google/followup-response-streaming.json | 575 +++ .../google/followup-response.json | 45 + .../reasoningWithOutput/google/request.json | 12 + .../google/response-streaming.json | 311 ++ .../reasoningWithOutput/google/response.json | 45 + .../bedrock/followup-request.json | 29 + .../bedrock/followup-response-streaming.json | 293 ++ .../bedrock/followup-response.json | 29 + .../simpleRequest/bedrock/request.json | 13 + .../bedrock/response-streaming.json | 37 + .../simpleRequest/bedrock/response.json | 29 + .../google/followup-request.json | 28 + .../google/followup-response-streaming.json | 179 + .../google/followup-response.json | 45 + .../simpleRequest/google/request.json | 12 + .../google/response-streaming.json | 47 + .../simpleRequest/google/response.json | 45 + .../bedrock/followup-request.json | 67 + .../bedrock/followup-response-streaming.json | 109 + .../bedrock/followup-response.json | 29 + .../toolCallRequest/bedrock/request.json | 37 + .../bedrock/response-streaming.json | 101 + .../toolCallRequest/bedrock/response.json | 36 + .../google/followup-request.json | 51 + .../google/followup-response-streaming.json | 48 + .../google/followup-response.json | 46 + .../toolCallRequest/google/request.json | 34 + .../google/response-streaming.json | 53 + .../toolCallRequest/google/response.json | 46 + .../anthropic/followup-request.json | 24 + .../followup-response-streaming.json | 78 + .../anthropic/followup-response.json | 26 + .../transformations/anthropic/request.json | 12 + .../anthropic/response-streaming.json | 63 + .../transformations/anthropic/response.json | 27 + .../chat-completions/followup-request.json | 27 + .../followup-response-streaming.json | 88 + .../chat-completions/followup-response.json | 36 + .../chat-completions/request.json | 18 + .../chat-completions/response-streaming.json | 55 + .../chat-completions/response.json | 37 + .../pdf_normalization/expected.json | 22 + .../pdf_normalization/request.json | 21 + .../provider_sanitization_azure/expected.json | 13 + .../provider_sanitization_azure/request.json | 14 + .../expected.json | 10 + .../request.json | 12 + .../expected.json | 11 + .../request.json | 15 + .../expected.json | 12 + .../request.json | 15 + .../expected.json | 11 + .../request.json | 15 + .../transformations/reasoning/expected.json | 15 + .../transformations/reasoning/request.json | 17 + .../responses/followup-request.json | 39 + .../followup-response-streaming.json | 275 ++ .../responses/followup-response.json | 74 + .../transformations/responses/request.json | 17 + .../responses/response-streaming.json | 258 ++ .../transformations/responses/response.json | 75 + .../responses_api_routing/expected.json | 11 + .../responses_api_routing/request.json | 12 + .../structured_output/expected.json | 37 + .../structured_output/request.json | 28 + .../structured_output_native/expected.json | 25 + .../structured_output_native/request.json | 25 + .../vertex_model_normalization/expected.json | 10 + .../vertex_model_normalization/request.json | 10 + pnpm-lock.yaml | 1467 +++++- 132 files changed, 19559 insertions(+), 11 deletions(-) create mode 100644 payloads/package-lock.json create mode 100644 payloads/scripts/providers/bedrock.ts create mode 100644 payloads/scripts/providers/google.ts create mode 100644 payloads/snapshots/complexReasoningRequest/bedrock/followup-request.json create mode 100644 payloads/snapshots/complexReasoningRequest/bedrock/followup-response-streaming.json create mode 100644 payloads/snapshots/complexReasoningRequest/bedrock/followup-response.json create mode 100644 payloads/snapshots/complexReasoningRequest/bedrock/request.json create mode 100644 payloads/snapshots/complexReasoningRequest/bedrock/response-streaming.json create mode 100644 payloads/snapshots/complexReasoningRequest/bedrock/response.json create mode 100644 payloads/snapshots/complexReasoningRequest/google/followup-request.json create mode 100644 payloads/snapshots/complexReasoningRequest/google/followup-response-streaming.json create mode 100644 payloads/snapshots/complexReasoningRequest/google/followup-response.json create mode 100644 payloads/snapshots/complexReasoningRequest/google/request.json create mode 100644 payloads/snapshots/complexReasoningRequest/google/response-streaming.json create mode 100644 payloads/snapshots/complexReasoningRequest/google/response.json create mode 100644 payloads/snapshots/multimodalRequest/bedrock/request.json create mode 100644 payloads/snapshots/multimodalRequest/bedrock/response-streaming.json create mode 100644 payloads/snapshots/multimodalRequest/bedrock/response.json create mode 100644 payloads/snapshots/multimodalRequest/google/followup-request.json create mode 100644 payloads/snapshots/multimodalRequest/google/followup-response-streaming.json create mode 100644 payloads/snapshots/multimodalRequest/google/followup-response.json create mode 100644 payloads/snapshots/multimodalRequest/google/request.json create mode 100644 payloads/snapshots/multimodalRequest/google/response-streaming.json create mode 100644 payloads/snapshots/multimodalRequest/google/response.json create mode 100644 payloads/snapshots/reasoningRequest/bedrock/followup-request.json create mode 100644 payloads/snapshots/reasoningRequest/bedrock/followup-response-streaming.json create mode 100644 payloads/snapshots/reasoningRequest/bedrock/followup-response.json create mode 100644 payloads/snapshots/reasoningRequest/bedrock/request.json create mode 100644 payloads/snapshots/reasoningRequest/bedrock/response-streaming.json create mode 100644 payloads/snapshots/reasoningRequest/bedrock/response.json create mode 100644 payloads/snapshots/reasoningRequest/google/followup-request.json create mode 100644 payloads/snapshots/reasoningRequest/google/followup-response-streaming.json create mode 100644 payloads/snapshots/reasoningRequest/google/followup-response.json create mode 100644 payloads/snapshots/reasoningRequest/google/request.json create mode 100644 payloads/snapshots/reasoningRequest/google/response-streaming.json create mode 100644 payloads/snapshots/reasoningRequest/google/response.json create mode 100644 payloads/snapshots/reasoningRequestTruncated/bedrock/followup-request.json create mode 100644 payloads/snapshots/reasoningRequestTruncated/bedrock/followup-response-streaming.json create mode 100644 payloads/snapshots/reasoningRequestTruncated/bedrock/followup-response.json create mode 100644 payloads/snapshots/reasoningRequestTruncated/bedrock/request.json create mode 100644 payloads/snapshots/reasoningRequestTruncated/bedrock/response-streaming.json create mode 100644 payloads/snapshots/reasoningRequestTruncated/bedrock/response.json create mode 100644 payloads/snapshots/reasoningRequestTruncated/google/followup-request.json create mode 100644 payloads/snapshots/reasoningRequestTruncated/google/followup-response-streaming.json create mode 100644 payloads/snapshots/reasoningRequestTruncated/google/followup-response.json create mode 100644 payloads/snapshots/reasoningRequestTruncated/google/request.json create mode 100644 payloads/snapshots/reasoningRequestTruncated/google/response-streaming.json create mode 100644 payloads/snapshots/reasoningRequestTruncated/google/response.json create mode 100644 payloads/snapshots/reasoningWithOutput/bedrock/followup-request.json create mode 100644 payloads/snapshots/reasoningWithOutput/bedrock/followup-response-streaming.json create mode 100644 payloads/snapshots/reasoningWithOutput/bedrock/followup-response.json create mode 100644 payloads/snapshots/reasoningWithOutput/bedrock/request.json create mode 100644 payloads/snapshots/reasoningWithOutput/bedrock/response-streaming.json create mode 100644 payloads/snapshots/reasoningWithOutput/bedrock/response.json create mode 100644 payloads/snapshots/reasoningWithOutput/google/followup-request.json create mode 100644 payloads/snapshots/reasoningWithOutput/google/followup-response-streaming.json create mode 100644 payloads/snapshots/reasoningWithOutput/google/followup-response.json create mode 100644 payloads/snapshots/reasoningWithOutput/google/request.json create mode 100644 payloads/snapshots/reasoningWithOutput/google/response-streaming.json create mode 100644 payloads/snapshots/reasoningWithOutput/google/response.json create mode 100644 payloads/snapshots/simpleRequest/bedrock/followup-request.json create mode 100644 payloads/snapshots/simpleRequest/bedrock/followup-response-streaming.json create mode 100644 payloads/snapshots/simpleRequest/bedrock/followup-response.json create mode 100644 payloads/snapshots/simpleRequest/bedrock/request.json create mode 100644 payloads/snapshots/simpleRequest/bedrock/response-streaming.json create mode 100644 payloads/snapshots/simpleRequest/bedrock/response.json create mode 100644 payloads/snapshots/simpleRequest/google/followup-request.json create mode 100644 payloads/snapshots/simpleRequest/google/followup-response-streaming.json create mode 100644 payloads/snapshots/simpleRequest/google/followup-response.json create mode 100644 payloads/snapshots/simpleRequest/google/request.json create mode 100644 payloads/snapshots/simpleRequest/google/response-streaming.json create mode 100644 payloads/snapshots/simpleRequest/google/response.json create mode 100644 payloads/snapshots/toolCallRequest/bedrock/followup-request.json create mode 100644 payloads/snapshots/toolCallRequest/bedrock/followup-response-streaming.json create mode 100644 payloads/snapshots/toolCallRequest/bedrock/followup-response.json create mode 100644 payloads/snapshots/toolCallRequest/bedrock/request.json create mode 100644 payloads/snapshots/toolCallRequest/bedrock/response-streaming.json create mode 100644 payloads/snapshots/toolCallRequest/bedrock/response.json create mode 100644 payloads/snapshots/toolCallRequest/google/followup-request.json create mode 100644 payloads/snapshots/toolCallRequest/google/followup-response-streaming.json create mode 100644 payloads/snapshots/toolCallRequest/google/followup-response.json create mode 100644 payloads/snapshots/toolCallRequest/google/request.json create mode 100644 payloads/snapshots/toolCallRequest/google/response-streaming.json create mode 100644 payloads/snapshots/toolCallRequest/google/response.json create mode 100644 payloads/snapshots/transformations/anthropic/followup-request.json create mode 100644 payloads/snapshots/transformations/anthropic/followup-response-streaming.json create mode 100644 payloads/snapshots/transformations/anthropic/followup-response.json create mode 100644 payloads/snapshots/transformations/anthropic/request.json create mode 100644 payloads/snapshots/transformations/anthropic/response-streaming.json create mode 100644 payloads/snapshots/transformations/anthropic/response.json create mode 100644 payloads/snapshots/transformations/chat-completions/followup-request.json create mode 100644 payloads/snapshots/transformations/chat-completions/followup-response-streaming.json create mode 100644 payloads/snapshots/transformations/chat-completions/followup-response.json create mode 100644 payloads/snapshots/transformations/chat-completions/request.json create mode 100644 payloads/snapshots/transformations/chat-completions/response-streaming.json create mode 100644 payloads/snapshots/transformations/chat-completions/response.json create mode 100644 payloads/snapshots/transformations/pdf_normalization/expected.json create mode 100644 payloads/snapshots/transformations/pdf_normalization/request.json create mode 100644 payloads/snapshots/transformations/provider_sanitization_azure/expected.json create mode 100644 payloads/snapshots/transformations/provider_sanitization_azure/request.json create mode 100644 payloads/snapshots/transformations/provider_sanitization_azure_seed/expected.json create mode 100644 payloads/snapshots/transformations/provider_sanitization_azure_seed/request.json create mode 100644 payloads/snapshots/transformations/provider_sanitization_databricks/expected.json create mode 100644 payloads/snapshots/transformations/provider_sanitization_databricks/request.json create mode 100644 payloads/snapshots/transformations/provider_sanitization_fireworks/expected.json create mode 100644 payloads/snapshots/transformations/provider_sanitization_fireworks/request.json create mode 100644 payloads/snapshots/transformations/provider_sanitization_mistral/expected.json create mode 100644 payloads/snapshots/transformations/provider_sanitization_mistral/request.json create mode 100644 payloads/snapshots/transformations/reasoning/expected.json create mode 100644 payloads/snapshots/transformations/reasoning/request.json create mode 100644 payloads/snapshots/transformations/responses/followup-request.json create mode 100644 payloads/snapshots/transformations/responses/followup-response-streaming.json create mode 100644 payloads/snapshots/transformations/responses/followup-response.json create mode 100644 payloads/snapshots/transformations/responses/request.json create mode 100644 payloads/snapshots/transformations/responses/response-streaming.json create mode 100644 payloads/snapshots/transformations/responses/response.json create mode 100644 payloads/snapshots/transformations/responses_api_routing/expected.json create mode 100644 payloads/snapshots/transformations/responses_api_routing/request.json create mode 100644 payloads/snapshots/transformations/structured_output/expected.json create mode 100644 payloads/snapshots/transformations/structured_output/request.json create mode 100644 payloads/snapshots/transformations/structured_output_native/expected.json create mode 100644 payloads/snapshots/transformations/structured_output_native/request.json create mode 100644 payloads/snapshots/transformations/vertex_model_normalization/expected.json create mode 100644 payloads/snapshots/transformations/vertex_model_normalization/request.json diff --git a/payloads/cases/advanced.ts b/payloads/cases/advanced.ts index 21f91bdf..2ea18699 100644 --- a/payloads/cases/advanced.ts +++ b/payloads/cases/advanced.ts @@ -1,10 +1,15 @@ +import { Type } from "@google/genai"; import { TestCaseCollection } from "./types"; import { OPENAI_CHAT_COMPLETIONS_MODEL, OPENAI_RESPONSES_MODEL, ANTHROPIC_MODEL, + BEDROCK_MODEL, } from "./models"; +const IMAGE_BASE64 = + "/9j/4AAQSkZJRgABAQEASABIAAD/2wBDAAMCAgMCAgMDAwMEAwMEBQgFBQQEBQoHBwYIDAoMDAsKCwsNDhIQDQ4RDgsLEBYQERMUFRUVDA8XGBYUGBIUFRT/wAALCAABAAEBAREA/8QAFAABAAAAAAAAAAAAAAAAAAAACf/EABQQAQAAAAAAAAAAAAAAAAAAAAD/2gAIAQEAAD8AKp//2Q=="; + // Advanced test cases - complex functionality testing export const advancedCases: TestCaseCollection = { multimodalRequest: { @@ -73,6 +78,49 @@ export const advancedCases: TestCaseCollection = { }, ], }, + + google: { + contents: [ + { + role: "user", + parts: [ + { text: "What do you see in this image?" }, + { + inlineData: { + mimeType: "image/jpeg", + data: IMAGE_BASE64, + }, + }, + ], + }, + ], + config: { + maxOutputTokens: 300, + }, + }, + + bedrock: { + modelId: BEDROCK_MODEL, + messages: [ + { + role: "user", + content: [ + { text: "What do you see in this image?" }, + { + image: { + format: "jpeg", + source: { + bytes: Buffer.from(IMAGE_BASE64, "base64"), + }, + }, + }, + ], + }, + ], + inferenceConfig: { + maxTokens: 300, + }, + }, }, complexReasoningRequest: { @@ -112,6 +160,39 @@ export const advancedCases: TestCaseCollection = { }, ], }, + + google: { + contents: [ + { + role: "user", + parts: [ + { + text: "There is a digital clock, with minutes and hours in the form of 00:00. The clock shows all times from 00:00 to 23:59 and repeating. Imagine you had a list of all these times. Which digit(s) is the most common and which is the rarest? Can you find their percentage?", + }, + ], + }, + ], + config: { + maxOutputTokens: 20_000, + }, + }, + + bedrock: { + modelId: BEDROCK_MODEL, + messages: [ + { + role: "user", + content: [ + { + text: "There is a digital clock, with minutes and hours in the form of 00:00. The clock shows all times from 00:00 to 23:59 and repeating. Imagine you had a list of all these times. Which digit(s) is the most common and which is the rarest? Can you find their percentage?", + }, + ], + }, + ], + inferenceConfig: { + maxTokens: 20_000, + }, + }, }, reasoningWithOutput: { @@ -144,6 +225,25 @@ export const advancedCases: TestCaseCollection = { }, ], }, + + google: { + contents: [ + { + role: "user", + parts: [{ text: "What color is the sky?" }], + }, + ], + }, + + bedrock: { + modelId: BEDROCK_MODEL, + messages: [ + { + role: "user", + content: [{ text: "What color is the sky?" }], + }, + ], + }, }, toolCallRequest: { @@ -233,5 +333,66 @@ export const advancedCases: TestCaseCollection = { ], tool_choice: "auto", }, + + google: { + contents: [ + { + role: "user", + parts: [{ text: "What's the weather like in San Francisco?" }], + }, + ], + tools: [ + { + functionDeclarations: [ + { + name: "get_weather", + description: "Get the current weather for a location", + parameters: { + type: Type.OBJECT, + properties: { + location: { + type: Type.STRING, + description: "The city and state, e.g. San Francisco, CA", + }, + }, + required: ["location"], + }, + }, + ], + }, + ], + }, + + bedrock: { + modelId: BEDROCK_MODEL, + messages: [ + { + role: "user", + content: [{ text: "What's the weather like in San Francisco?" }], + }, + ], + toolConfig: { + tools: [ + { + toolSpec: { + name: "get_weather", + description: "Get the current weather for a location", + inputSchema: { + json: { + type: "object", + properties: { + location: { + type: "string", + description: "The city and state, e.g. San Francisco, CA", + }, + }, + required: ["location"], + }, + }, + }, + }, + ], + }, + }, }, }; diff --git a/payloads/cases/index.ts b/payloads/cases/index.ts index 16c0741b..2b859250 100644 --- a/payloads/cases/index.ts +++ b/payloads/cases/index.ts @@ -1,6 +1,7 @@ // Export types and utilities export * from "./types"; export * from "./utils"; +export * from "./models"; // Export all case collections export { simpleCases } from "./simple"; diff --git a/payloads/cases/models.ts b/payloads/cases/models.ts index b8ccfae9..efa31748 100644 --- a/payloads/cases/models.ts +++ b/payloads/cases/models.ts @@ -2,3 +2,5 @@ export const OPENAI_CHAT_COMPLETIONS_MODEL = "gpt-5-nano"; export const OPENAI_RESPONSES_MODEL = "gpt-5-nano"; export const ANTHROPIC_MODEL = "claude-sonnet-4-20250514"; +export const GOOGLE_MODEL = "gemini-2.5-flash"; +export const BEDROCK_MODEL = "us.anthropic.claude-haiku-4-5-20251001-v1:0"; diff --git a/payloads/cases/simple.ts b/payloads/cases/simple.ts index d409ee8c..8fbdf0f6 100644 --- a/payloads/cases/simple.ts +++ b/payloads/cases/simple.ts @@ -1,8 +1,10 @@ +import { Type } from "@google/genai"; import { TestCaseCollection } from "./types"; import { OPENAI_CHAT_COMPLETIONS_MODEL, OPENAI_RESPONSES_MODEL, ANTHROPIC_MODEL, + BEDROCK_MODEL, } from "./models"; // Simple test cases - basic functionality testing @@ -41,6 +43,25 @@ export const simpleCases: TestCaseCollection = { }, ], }, + + google: { + contents: [ + { + role: "user", + parts: [{ text: "What is the capital of France?" }], + }, + ], + }, + + bedrock: { + modelId: BEDROCK_MODEL, + messages: [ + { + role: "user", + content: [{ text: "What is the capital of France?" }], + }, + ], + }, }, reasoningRequest: { @@ -77,6 +98,33 @@ export const simpleCases: TestCaseCollection = { }, ], }, + + google: { + contents: [ + { + role: "user", + parts: [ + { + text: "Solve this step by step: If a train travels 60 mph for 2 hours, then 80 mph for 1 hour, what's the average speed?", + }, + ], + }, + ], + }, + + bedrock: { + modelId: BEDROCK_MODEL, + messages: [ + { + role: "user", + content: [ + { + text: "Solve this step by step: If a train travels 60 mph for 2 hours, then 80 mph for 1 hour, what's the average speed?", + }, + ], + }, + ], + }, }, reasoningRequestTruncated: { @@ -115,6 +163,39 @@ export const simpleCases: TestCaseCollection = { }, ], }, + + google: { + contents: [ + { + role: "user", + parts: [ + { + text: "Solve this step by step: If a train travels 60 mph for 2 hours, then 80 mph for 1 hour, what's the average speed?", + }, + ], + }, + ], + config: { + maxOutputTokens: 100, + }, + }, + + bedrock: { + modelId: BEDROCK_MODEL, + messages: [ + { + role: "user", + content: [ + { + text: "Solve this step by step: If a train travels 60 mph for 2 hours, then 80 mph for 1 hour, what's the average speed?", + }, + ], + }, + ], + inferenceConfig: { + maxTokens: 100, + }, + }, }, toolCallRequest: { @@ -201,5 +282,66 @@ export const simpleCases: TestCaseCollection = { }, ], }, + + google: { + contents: [ + { + role: "user", + parts: [{ text: "What's the weather like in San Francisco?" }], + }, + ], + tools: [ + { + functionDeclarations: [ + { + name: "get_weather", + description: "Get the current weather for a location", + parameters: { + type: Type.OBJECT, + properties: { + location: { + type: Type.STRING, + description: "The city and state, e.g. San Francisco, CA", + }, + }, + required: ["location"], + }, + }, + ], + }, + ], + }, + + bedrock: { + modelId: BEDROCK_MODEL, + messages: [ + { + role: "user", + content: [{ text: "What's the weather like in San Francisco?" }], + }, + ], + toolConfig: { + tools: [ + { + toolSpec: { + name: "get_weather", + description: "Get the current weather for a location", + inputSchema: { + json: { + type: "object", + properties: { + location: { + type: "string", + description: "The city and state, e.g. San Francisco, CA", + }, + }, + required: ["location"], + }, + }, + }, + }, + ], + }, + }, }, }; diff --git a/payloads/cases/types.ts b/payloads/cases/types.ts index 80d4f322..7765ab4f 100644 --- a/payloads/cases/types.ts +++ b/payloads/cases/types.ts @@ -1,11 +1,26 @@ import OpenAI from "openai"; import Anthropic from "@anthropic-ai/sdk"; +import type { Content, GenerateContentConfig, Tool } from "@google/genai"; +import type { ConverseCommandInput } from "@aws-sdk/client-bedrock-runtime"; + +// Google Gemini API request type (matching the js-genai library) +export interface GoogleGenerateContentRequest { + contents: Content[]; + config?: GenerateContentConfig; + tools?: Tool[]; + systemInstruction?: Content; +} + +// Re-export Bedrock type for convenience +export type BedrockConverseRequest = ConverseCommandInput; // Well-defined types for test cases export interface TestCase { "chat-completions": OpenAI.Chat.Completions.ChatCompletionCreateParams | null; responses: OpenAI.Responses.ResponseCreateParams | null; anthropic: Anthropic.Messages.MessageCreateParams | null; + google: GoogleGenerateContentRequest | null; + bedrock: BedrockConverseRequest | null; } // Collection of test cases organized by name @@ -20,4 +35,6 @@ export const PROVIDER_TYPES = [ "chat-completions", "responses", "anthropic", + "google", + "bedrock", ] as const; diff --git a/payloads/package-lock.json b/payloads/package-lock.json new file mode 100644 index 00000000..6b09648a --- /dev/null +++ b/payloads/package-lock.json @@ -0,0 +1,4013 @@ +{ + "name": "@braintrust/payload-capture", + "version": "0.1.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "@braintrust/payload-capture", + "version": "0.1.0", + "dependencies": { + "@anthropic-ai/sdk": "^0.63.0", + "@aws-sdk/client-bedrock-runtime": "^3.700.0", + "@google/genai": "^1.34.0", + "openai": "^5.22.0" + }, + "devDependencies": { + "@types/node": "^22.9.0", + "@typescript-eslint/eslint-plugin": "^8.10.0", + "@typescript-eslint/parser": "^8.10.0", + "eslint": "^8.56.0", + "eslint-config-prettier": "^9.1.0", + "prettier": "^3.4.1", + "tsx": "^4.19.2", + "typescript": "^5.6.3" + } + }, + "node_modules/@anthropic-ai/sdk": { + "version": "0.63.1", + "resolved": "https://registry.npmjs.org/@anthropic-ai/sdk/-/sdk-0.63.1.tgz", + "integrity": "sha512-wMA/Xx5GLO+npV992YKUfsmlI6699XG/jFjCPTf/nsMBfUh3e3KmNiOKuhqSMZibOjoLOlhYc7L4pfLPI8A+RA==", + "license": "MIT", + "dependencies": { + "json-schema-to-ts": "^3.1.1" + }, + "bin": { + "anthropic-ai-sdk": "bin/cli" + }, + "peerDependencies": { + "zod": "^3.25.0 || ^4.0.0" + }, + "peerDependenciesMeta": { + "zod": { + "optional": true + } + } + }, + "node_modules/@aws-crypto/crc32": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/crc32/-/crc32-5.2.0.tgz", + "integrity": "sha512-nLbCWqQNgUiwwtFsen1AdzAtvuLRsQS8rYgMuxCrdKf9kOssamGLuPwyTY9wyYblNr9+1XM8v6zoDTPPSIeANg==", + "license": "Apache-2.0", + "dependencies": { + "@aws-crypto/util": "^5.2.0", + "@aws-sdk/types": "^3.222.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-crypto/sha256-browser": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-browser/-/sha256-browser-5.2.0.tgz", + "integrity": "sha512-AXfN/lGotSQwu6HNcEsIASo7kWXZ5HYWvfOmSNKDsEqC4OashTp8alTmaz+F7TC2L083SFv5RdB+qU3Vs1kZqw==", + "license": "Apache-2.0", + "dependencies": { + "@aws-crypto/sha256-js": "^5.2.0", + "@aws-crypto/supports-web-crypto": "^5.2.0", + "@aws-crypto/util": "^5.2.0", + "@aws-sdk/types": "^3.222.0", + "@aws-sdk/util-locate-window": "^3.0.0", + "@smithy/util-utf8": "^2.0.0", + "tslib": "^2.6.2" + } + }, + "node_modules/@aws-crypto/sha256-browser/node_modules/@smithy/is-array-buffer": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-2.2.0.tgz", + "integrity": "sha512-GGP3O9QFD24uGeAXYUjwSTXARoqpZykHadOmA8G5vfJPK0/DC67qa//0qvqrJzL1xc8WQWX7/yc7fwudjPHPhA==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-crypto/sha256-browser/node_modules/@smithy/util-buffer-from": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-2.2.0.tgz", + "integrity": "sha512-IJdWBbTcMQ6DA0gdNhh/BwrLkDR+ADW5Kr1aZmd4k3DIF6ezMV4R2NIAmT08wQJ3yUK82thHWmC/TnK/wpMMIA==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/is-array-buffer": "^2.2.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-crypto/sha256-browser/node_modules/@smithy/util-utf8": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-2.3.0.tgz", + "integrity": "sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/util-buffer-from": "^2.2.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-crypto/sha256-js": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-js/-/sha256-js-5.2.0.tgz", + "integrity": "sha512-FFQQyu7edu4ufvIZ+OadFpHHOt+eSTBaYaki44c+akjg7qZg9oOQeLlk77F6tSYqjDAFClrHJk9tMf0HdVyOvA==", + "license": "Apache-2.0", + "dependencies": { + "@aws-crypto/util": "^5.2.0", + "@aws-sdk/types": "^3.222.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-crypto/supports-web-crypto": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/supports-web-crypto/-/supports-web-crypto-5.2.0.tgz", + "integrity": "sha512-iAvUotm021kM33eCdNfwIN//F77/IADDSs58i+MDaOqFrVjZo9bAal0NK7HurRuWLLpF1iLX7gbWrjHjeo+YFg==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.6.2" + } + }, + "node_modules/@aws-crypto/util": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/util/-/util-5.2.0.tgz", + "integrity": "sha512-4RkU9EsI6ZpBve5fseQlGNUWKMa1RLPQ1dnjnQoe07ldfIzcsGb5hC5W0Dm7u423KWzawlrpbjXBrXCEv9zazQ==", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "^3.222.0", + "@smithy/util-utf8": "^2.0.0", + "tslib": "^2.6.2" + } + }, + "node_modules/@aws-crypto/util/node_modules/@smithy/is-array-buffer": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-2.2.0.tgz", + "integrity": "sha512-GGP3O9QFD24uGeAXYUjwSTXARoqpZykHadOmA8G5vfJPK0/DC67qa//0qvqrJzL1xc8WQWX7/yc7fwudjPHPhA==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-crypto/util/node_modules/@smithy/util-buffer-from": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-2.2.0.tgz", + "integrity": "sha512-IJdWBbTcMQ6DA0gdNhh/BwrLkDR+ADW5Kr1aZmd4k3DIF6ezMV4R2NIAmT08wQJ3yUK82thHWmC/TnK/wpMMIA==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/is-array-buffer": "^2.2.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-crypto/util/node_modules/@smithy/util-utf8": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-2.3.0.tgz", + "integrity": "sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/util-buffer-from": "^2.2.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/client-bedrock-runtime": { + "version": "3.957.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-bedrock-runtime/-/client-bedrock-runtime-3.957.0.tgz", + "integrity": "sha512-YKcjlL5g3QMCrUoqvd7sVwPLMtdLhV+LWXwCtzHDXDAu3mYquD33bQk22TexxC0Em5tSpfi4/r/vjWdbRDDchA==", + "license": "Apache-2.0", + "dependencies": { + "@aws-crypto/sha256-browser": "5.2.0", + "@aws-crypto/sha256-js": "5.2.0", + "@aws-sdk/core": "3.957.0", + "@aws-sdk/credential-provider-node": "3.957.0", + "@aws-sdk/eventstream-handler-node": "3.957.0", + "@aws-sdk/middleware-eventstream": "3.957.0", + "@aws-sdk/middleware-host-header": "3.957.0", + "@aws-sdk/middleware-logger": "3.957.0", + "@aws-sdk/middleware-recursion-detection": "3.957.0", + "@aws-sdk/middleware-user-agent": "3.957.0", + "@aws-sdk/middleware-websocket": "3.957.0", + "@aws-sdk/region-config-resolver": "3.957.0", + "@aws-sdk/token-providers": "3.957.0", + "@aws-sdk/types": "3.957.0", + "@aws-sdk/util-endpoints": "3.957.0", + "@aws-sdk/util-user-agent-browser": "3.957.0", + "@aws-sdk/util-user-agent-node": "3.957.0", + "@smithy/config-resolver": "^4.4.5", + "@smithy/core": "^3.20.0", + "@smithy/eventstream-serde-browser": "^4.2.7", + "@smithy/eventstream-serde-config-resolver": "^4.3.7", + "@smithy/eventstream-serde-node": "^4.2.7", + "@smithy/fetch-http-handler": "^5.3.8", + "@smithy/hash-node": "^4.2.7", + "@smithy/invalid-dependency": "^4.2.7", + "@smithy/middleware-content-length": "^4.2.7", + "@smithy/middleware-endpoint": "^4.4.1", + "@smithy/middleware-retry": "^4.4.17", + "@smithy/middleware-serde": "^4.2.8", + "@smithy/middleware-stack": "^4.2.7", + "@smithy/node-config-provider": "^4.3.7", + "@smithy/node-http-handler": "^4.4.7", + "@smithy/protocol-http": "^5.3.7", + "@smithy/smithy-client": "^4.10.2", + "@smithy/types": "^4.11.0", + "@smithy/url-parser": "^4.2.7", + "@smithy/util-base64": "^4.3.0", + "@smithy/util-body-length-browser": "^4.2.0", + "@smithy/util-body-length-node": "^4.2.1", + "@smithy/util-defaults-mode-browser": "^4.3.16", + "@smithy/util-defaults-mode-node": "^4.2.19", + "@smithy/util-endpoints": "^3.2.7", + "@smithy/util-middleware": "^4.2.7", + "@smithy/util-retry": "^4.2.7", + "@smithy/util-stream": "^4.5.8", + "@smithy/util-utf8": "^4.2.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@aws-sdk/client-sso": { + "version": "3.957.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.957.0.tgz", + "integrity": "sha512-iRdRjd+IpOogqRPt8iNRcg30J53z4rRfMviGwpKgsEa/fx3inCUPOuca3Ap7ZDES0atnEg3KGSJ3V/NQiEJ4BA==", + "license": "Apache-2.0", + "dependencies": { + "@aws-crypto/sha256-browser": "5.2.0", + "@aws-crypto/sha256-js": "5.2.0", + "@aws-sdk/core": "3.957.0", + "@aws-sdk/middleware-host-header": "3.957.0", + "@aws-sdk/middleware-logger": "3.957.0", + "@aws-sdk/middleware-recursion-detection": "3.957.0", + "@aws-sdk/middleware-user-agent": "3.957.0", + "@aws-sdk/region-config-resolver": "3.957.0", + "@aws-sdk/types": "3.957.0", + "@aws-sdk/util-endpoints": "3.957.0", + "@aws-sdk/util-user-agent-browser": "3.957.0", + "@aws-sdk/util-user-agent-node": "3.957.0", + "@smithy/config-resolver": "^4.4.5", + "@smithy/core": "^3.20.0", + "@smithy/fetch-http-handler": "^5.3.8", + "@smithy/hash-node": "^4.2.7", + "@smithy/invalid-dependency": "^4.2.7", + "@smithy/middleware-content-length": "^4.2.7", + "@smithy/middleware-endpoint": "^4.4.1", + "@smithy/middleware-retry": "^4.4.17", + "@smithy/middleware-serde": "^4.2.8", + "@smithy/middleware-stack": "^4.2.7", + "@smithy/node-config-provider": "^4.3.7", + "@smithy/node-http-handler": "^4.4.7", + "@smithy/protocol-http": "^5.3.7", + "@smithy/smithy-client": "^4.10.2", + "@smithy/types": "^4.11.0", + "@smithy/url-parser": "^4.2.7", + "@smithy/util-base64": "^4.3.0", + "@smithy/util-body-length-browser": "^4.2.0", + "@smithy/util-body-length-node": "^4.2.1", + "@smithy/util-defaults-mode-browser": "^4.3.16", + "@smithy/util-defaults-mode-node": "^4.2.19", + "@smithy/util-endpoints": "^3.2.7", + "@smithy/util-middleware": "^4.2.7", + "@smithy/util-retry": "^4.2.7", + "@smithy/util-utf8": "^4.2.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@aws-sdk/core": { + "version": "3.957.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/core/-/core-3.957.0.tgz", + "integrity": "sha512-DrZgDnF1lQZv75a52nFWs6MExihJF2GZB6ETZRqr6jMwhrk2kbJPUtvgbifwcL7AYmVqHQDJBrR/MqkwwFCpiw==", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "3.957.0", + "@aws-sdk/xml-builder": "3.957.0", + "@smithy/core": "^3.20.0", + "@smithy/node-config-provider": "^4.3.7", + "@smithy/property-provider": "^4.2.7", + "@smithy/protocol-http": "^5.3.7", + "@smithy/signature-v4": "^5.3.7", + "@smithy/smithy-client": "^4.10.2", + "@smithy/types": "^4.11.0", + "@smithy/util-base64": "^4.3.0", + "@smithy/util-middleware": "^4.2.7", + "@smithy/util-utf8": "^4.2.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@aws-sdk/credential-provider-env": { + "version": "3.957.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.957.0.tgz", + "integrity": "sha512-475mkhGaWCr+Z52fOOVb/q2VHuNvqEDixlYIkeaO6xJ6t9qR0wpLt4hOQaR6zR1wfZV0SlE7d8RErdYq/PByog==", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/core": "3.957.0", + "@aws-sdk/types": "3.957.0", + "@smithy/property-provider": "^4.2.7", + "@smithy/types": "^4.11.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@aws-sdk/credential-provider-http": { + "version": "3.957.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-http/-/credential-provider-http-3.957.0.tgz", + "integrity": "sha512-8dS55QHRxXgJlHkEYaCGZIhieCs9NU1HU1BcqQ4RfUdSsfRdxxktqUKgCnBnOOn0oD3PPA8cQOCAVgIyRb3Rfw==", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/core": "3.957.0", + "@aws-sdk/types": "3.957.0", + "@smithy/fetch-http-handler": "^5.3.8", + "@smithy/node-http-handler": "^4.4.7", + "@smithy/property-provider": "^4.2.7", + "@smithy/protocol-http": "^5.3.7", + "@smithy/smithy-client": "^4.10.2", + "@smithy/types": "^4.11.0", + "@smithy/util-stream": "^4.5.8", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@aws-sdk/credential-provider-ini": { + "version": "3.957.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.957.0.tgz", + "integrity": "sha512-YuoZmIeE91YIeUfihh8SiSu546KtTvU+4rG5SaL30U9+nGq6P11GRRgqF0ANUyRseLC9ONHt+utar4gbO3++og==", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/core": "3.957.0", + "@aws-sdk/credential-provider-env": "3.957.0", + "@aws-sdk/credential-provider-http": "3.957.0", + "@aws-sdk/credential-provider-login": "3.957.0", + "@aws-sdk/credential-provider-process": "3.957.0", + "@aws-sdk/credential-provider-sso": "3.957.0", + "@aws-sdk/credential-provider-web-identity": "3.957.0", + "@aws-sdk/nested-clients": "3.957.0", + "@aws-sdk/types": "3.957.0", + "@smithy/credential-provider-imds": "^4.2.7", + "@smithy/property-provider": "^4.2.7", + "@smithy/shared-ini-file-loader": "^4.4.2", + "@smithy/types": "^4.11.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@aws-sdk/credential-provider-login": { + "version": "3.957.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-login/-/credential-provider-login-3.957.0.tgz", + "integrity": "sha512-XcD5NEQDWYk8B4gs89bkwf2d+DNF8oS2NR5RoHJEbX4l8KErVATUjpEYVn6/rAFEktungxlYTnQ5wh0cIQvP5w==", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/core": "3.957.0", + "@aws-sdk/nested-clients": "3.957.0", + "@aws-sdk/types": "3.957.0", + "@smithy/property-provider": "^4.2.7", + "@smithy/protocol-http": "^5.3.7", + "@smithy/shared-ini-file-loader": "^4.4.2", + "@smithy/types": "^4.11.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@aws-sdk/credential-provider-node": { + "version": "3.957.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.957.0.tgz", + "integrity": "sha512-b9FT/7BQcJ001w+3JbTiJXfxHrWvPb7zDvvC1i1FKcNOvyCt3BGu04n4nO/b71a3iBnbfBXI89hCIZQsuLcEgw==", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/credential-provider-env": "3.957.0", + "@aws-sdk/credential-provider-http": "3.957.0", + "@aws-sdk/credential-provider-ini": "3.957.0", + "@aws-sdk/credential-provider-process": "3.957.0", + "@aws-sdk/credential-provider-sso": "3.957.0", + "@aws-sdk/credential-provider-web-identity": "3.957.0", + "@aws-sdk/types": "3.957.0", + "@smithy/credential-provider-imds": "^4.2.7", + "@smithy/property-provider": "^4.2.7", + "@smithy/shared-ini-file-loader": "^4.4.2", + "@smithy/types": "^4.11.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@aws-sdk/credential-provider-process": { + "version": "3.957.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.957.0.tgz", + "integrity": "sha512-/KIz9kadwbeLy6SKvT79W81Y+hb/8LMDyeloA2zhouE28hmne+hLn0wNCQXAAupFFlYOAtZR2NTBs7HBAReJlg==", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/core": "3.957.0", + "@aws-sdk/types": "3.957.0", + "@smithy/property-provider": "^4.2.7", + "@smithy/shared-ini-file-loader": "^4.4.2", + "@smithy/types": "^4.11.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@aws-sdk/credential-provider-sso": { + "version": "3.957.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.957.0.tgz", + "integrity": "sha512-gTLPJFOkGtn3tVGglRhCar2oOobK1YctZRAT8nfJr17uaSRoAP46zIIHNYBZZUMqImb0qAHD9Ugm+Zd9sIqxyA==", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/client-sso": "3.957.0", + "@aws-sdk/core": "3.957.0", + "@aws-sdk/token-providers": "3.957.0", + "@aws-sdk/types": "3.957.0", + "@smithy/property-provider": "^4.2.7", + "@smithy/shared-ini-file-loader": "^4.4.2", + "@smithy/types": "^4.11.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@aws-sdk/credential-provider-web-identity": { + "version": "3.957.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.957.0.tgz", + "integrity": "sha512-x17xMeD7c+rKEsWachGIMifACqkugskrETWz18QDWismFcrmUuOcZu5rUa8s9y1pnITLKUQ1xU/qDLPH52jLlA==", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/core": "3.957.0", + "@aws-sdk/nested-clients": "3.957.0", + "@aws-sdk/types": "3.957.0", + "@smithy/property-provider": "^4.2.7", + "@smithy/shared-ini-file-loader": "^4.4.2", + "@smithy/types": "^4.11.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@aws-sdk/eventstream-handler-node": { + "version": "3.957.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-handler-node/-/eventstream-handler-node-3.957.0.tgz", + "integrity": "sha512-X3e/PBEl66efNCRR840IU2HM4oLMaP/Krc1w7vEqgKKhIbyiLRJ43NSrxNEYadQ19P/U0U7JHMCC9HbwhIMTeg==", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "3.957.0", + "@smithy/eventstream-codec": "^4.2.7", + "@smithy/types": "^4.11.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@aws-sdk/middleware-eventstream": { + "version": "3.957.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-eventstream/-/middleware-eventstream-3.957.0.tgz", + "integrity": "sha512-zFAx12yGEJcf35cnlv4zepqxZA0Z3orrhQdN7mjzvbHQGqDX+7gAnKEyTEsYdCD5ICZHuHxvhEnfE+pVIx0e7A==", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "3.957.0", + "@smithy/protocol-http": "^5.3.7", + "@smithy/types": "^4.11.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@aws-sdk/middleware-host-header": { + "version": "3.957.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.957.0.tgz", + "integrity": "sha512-BBgKawVyfQZglEkNTuBBdC3azlyqNXsvvN4jPkWAiNYcY0x1BasaJFl+7u/HisfULstryweJq/dAvIZIxzlZaA==", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "3.957.0", + "@smithy/protocol-http": "^5.3.7", + "@smithy/types": "^4.11.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@aws-sdk/middleware-logger": { + "version": "3.957.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.957.0.tgz", + "integrity": "sha512-w1qfKrSKHf9b5a8O76yQ1t69u6NWuBjr5kBX+jRWFx/5mu6RLpqERXRpVJxfosbep7k3B+DSB5tZMZ82GKcJtQ==", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "3.957.0", + "@smithy/types": "^4.11.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@aws-sdk/middleware-recursion-detection": { + "version": "3.957.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.957.0.tgz", + "integrity": "sha512-D2H/WoxhAZNYX+IjkKTdOhOkWQaK0jjJrDBj56hKjU5c9ltQiaX/1PqJ4dfjHntEshJfu0w+E6XJ+/6A6ILBBA==", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "3.957.0", + "@aws/lambda-invoke-store": "^0.2.2", + "@smithy/protocol-http": "^5.3.7", + "@smithy/types": "^4.11.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@aws-sdk/middleware-user-agent": { + "version": "3.957.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.957.0.tgz", + "integrity": "sha512-50vcHu96XakQnIvlKJ1UoltrFODjsq2KvtTgHiPFteUS884lQnK5VC/8xd1Msz/1ONpLMzdCVproCQqhDTtMPQ==", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/core": "3.957.0", + "@aws-sdk/types": "3.957.0", + "@aws-sdk/util-endpoints": "3.957.0", + "@smithy/core": "^3.20.0", + "@smithy/protocol-http": "^5.3.7", + "@smithy/types": "^4.11.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@aws-sdk/middleware-websocket": { + "version": "3.957.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-websocket/-/middleware-websocket-3.957.0.tgz", + "integrity": "sha512-/VyCEDTS56V2UZ+nNUDhZ9fuMgrKkO+9Od47umpgn9Mq7BZ7Cw9emJkvMSNNZAbtMeDaHN4lUYmmF8XhYgJOPQ==", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "3.957.0", + "@aws-sdk/util-format-url": "3.957.0", + "@smithy/eventstream-codec": "^4.2.7", + "@smithy/eventstream-serde-browser": "^4.2.7", + "@smithy/fetch-http-handler": "^5.3.8", + "@smithy/protocol-http": "^5.3.7", + "@smithy/signature-v4": "^5.3.7", + "@smithy/types": "^4.11.0", + "@smithy/util-hex-encoding": "^4.2.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@aws-sdk/nested-clients": { + "version": "3.957.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/nested-clients/-/nested-clients-3.957.0.tgz", + "integrity": "sha512-PZUFtaUTSZWO+mbgQGWSiwz3EqedsuKNb7Xoxjzh5rfJE352DD4/jScQEhVPxvdLw62IK9b5UDu5kZlxzBs9Ow==", + "license": "Apache-2.0", + "dependencies": { + "@aws-crypto/sha256-browser": "5.2.0", + "@aws-crypto/sha256-js": "5.2.0", + "@aws-sdk/core": "3.957.0", + "@aws-sdk/middleware-host-header": "3.957.0", + "@aws-sdk/middleware-logger": "3.957.0", + "@aws-sdk/middleware-recursion-detection": "3.957.0", + "@aws-sdk/middleware-user-agent": "3.957.0", + "@aws-sdk/region-config-resolver": "3.957.0", + "@aws-sdk/types": "3.957.0", + "@aws-sdk/util-endpoints": "3.957.0", + "@aws-sdk/util-user-agent-browser": "3.957.0", + "@aws-sdk/util-user-agent-node": "3.957.0", + "@smithy/config-resolver": "^4.4.5", + "@smithy/core": "^3.20.0", + "@smithy/fetch-http-handler": "^5.3.8", + "@smithy/hash-node": "^4.2.7", + "@smithy/invalid-dependency": "^4.2.7", + "@smithy/middleware-content-length": "^4.2.7", + "@smithy/middleware-endpoint": "^4.4.1", + "@smithy/middleware-retry": "^4.4.17", + "@smithy/middleware-serde": "^4.2.8", + "@smithy/middleware-stack": "^4.2.7", + "@smithy/node-config-provider": "^4.3.7", + "@smithy/node-http-handler": "^4.4.7", + "@smithy/protocol-http": "^5.3.7", + "@smithy/smithy-client": "^4.10.2", + "@smithy/types": "^4.11.0", + "@smithy/url-parser": "^4.2.7", + "@smithy/util-base64": "^4.3.0", + "@smithy/util-body-length-browser": "^4.2.0", + "@smithy/util-body-length-node": "^4.2.1", + "@smithy/util-defaults-mode-browser": "^4.3.16", + "@smithy/util-defaults-mode-node": "^4.2.19", + "@smithy/util-endpoints": "^3.2.7", + "@smithy/util-middleware": "^4.2.7", + "@smithy/util-retry": "^4.2.7", + "@smithy/util-utf8": "^4.2.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@aws-sdk/region-config-resolver": { + "version": "3.957.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/region-config-resolver/-/region-config-resolver-3.957.0.tgz", + "integrity": "sha512-V8iY3blh8l2iaOqXWW88HbkY5jDoWjH56jonprG/cpyqqCnprvpMUZWPWYJoI8rHRf2bqzZeql1slxG6EnKI7A==", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "3.957.0", + "@smithy/config-resolver": "^4.4.5", + "@smithy/node-config-provider": "^4.3.7", + "@smithy/types": "^4.11.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@aws-sdk/token-providers": { + "version": "3.957.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.957.0.tgz", + "integrity": "sha512-oSwo3BZ6gcvhjTg036V0UQmtENUeNwfCU35iDckX961CdI1alQ3TKRWLzKrwvXCbrOx+bZsuA1PHsTbNhI/+Fw==", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/core": "3.957.0", + "@aws-sdk/nested-clients": "3.957.0", + "@aws-sdk/types": "3.957.0", + "@smithy/property-provider": "^4.2.7", + "@smithy/shared-ini-file-loader": "^4.4.2", + "@smithy/types": "^4.11.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@aws-sdk/types": { + "version": "3.957.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.957.0.tgz", + "integrity": "sha512-wzWC2Nrt859ABk6UCAVY/WYEbAd7FjkdrQL6m24+tfmWYDNRByTJ9uOgU/kw9zqLCAwb//CPvrJdhqjTznWXAg==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^4.11.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@aws-sdk/util-endpoints": { + "version": "3.957.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.957.0.tgz", + "integrity": "sha512-xwF9K24mZSxcxKS3UKQFeX/dPYkEps9wF1b+MGON7EvnbcucrJGyQyK1v1xFPn1aqXkBTFi+SZaMRx5E5YCVFw==", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "3.957.0", + "@smithy/types": "^4.11.0", + "@smithy/url-parser": "^4.2.7", + "@smithy/util-endpoints": "^3.2.7", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@aws-sdk/util-format-url": { + "version": "3.957.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-format-url/-/util-format-url-3.957.0.tgz", + "integrity": "sha512-Yyo/tlc0iGFGTPPkuxub1uRAv6XrnVnvSNjslZh5jIYA8GZoeEFPgJa3Qdu0GUS/YwoK8GOLnnaL9h/eH5LDJQ==", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "3.957.0", + "@smithy/querystring-builder": "^4.2.7", + "@smithy/types": "^4.11.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@aws-sdk/util-locate-window": { + "version": "3.957.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-locate-window/-/util-locate-window-3.957.0.tgz", + "integrity": "sha512-nhmgKHnNV9K+i9daumaIz8JTLsIIML9PE/HUks5liyrjUzenjW/aHoc7WJ9/Td/gPZtayxFnXQSJRb/fDlBuJw==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@aws-sdk/util-user-agent-browser": { + "version": "3.957.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.957.0.tgz", + "integrity": "sha512-exueuwxef0lUJRnGaVkNSC674eAiWU07ORhxBnevFFZEKisln+09Qrtw823iyv5I1N8T+wKfh95xvtWQrNKNQw==", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "3.957.0", + "@smithy/types": "^4.11.0", + "bowser": "^2.11.0", + "tslib": "^2.6.2" + } + }, + "node_modules/@aws-sdk/util-user-agent-node": { + "version": "3.957.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.957.0.tgz", + "integrity": "sha512-ycbYCwqXk4gJGp0Oxkzf2KBeeGBdTxz559D41NJP8FlzSej1Gh7Rk40Zo6AyTfsNWkrl/kVi1t937OIzC5t+9Q==", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/middleware-user-agent": "3.957.0", + "@aws-sdk/types": "3.957.0", + "@smithy/node-config-provider": "^4.3.7", + "@smithy/types": "^4.11.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + }, + "peerDependencies": { + "aws-crt": ">=1.0.0" + }, + "peerDependenciesMeta": { + "aws-crt": { + "optional": true + } + } + }, + "node_modules/@aws-sdk/xml-builder": { + "version": "3.957.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/xml-builder/-/xml-builder-3.957.0.tgz", + "integrity": "sha512-Ai5iiQqS8kJ5PjzMhWcLKN0G2yasAkvpnPlq2EnqlIMdB48HsizElt62qcktdxp4neRMyGkFq4NzgmDbXnhRiA==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^4.11.0", + "fast-xml-parser": "5.2.5", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@aws/lambda-invoke-store": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/@aws/lambda-invoke-store/-/lambda-invoke-store-0.2.2.tgz", + "integrity": "sha512-C0NBLsIqzDIae8HFw9YIrIBsbc0xTiOtt7fAukGPnqQ/+zZNaq+4jhuccltK0QuWHBnNm/a6kLIRA6GFiM10eg==", + "license": "Apache-2.0", + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@babel/runtime": { + "version": "7.28.4", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.28.4.tgz", + "integrity": "sha512-Q/N6JNWvIvPnLDvjlE1OUBLPQHH6l3CltCEsHIujp45zQUSSh8K+gHnaEX45yAT1nyngnINhvWtzN+Nb9D8RAQ==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.27.2.tgz", + "integrity": "sha512-davCD2Zc80nzDVRwXTcQP/28fiJbcOwvdolL0sOiOsbwBa72kegmVU0Wrh1MYrbuCL98Omp5dVhQFWRKR2ZAlg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.9.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.0.tgz", + "integrity": "sha512-ayVFHdtZ+hsq1t2Dy24wCmGXGe4q9Gu3smhLYALJrr473ZH27MsnSL+LKUlimp4BWJqMDMLmPpx/Q9R3OAlL4g==", + "dev": true, + "license": "MIT", + "dependencies": { + "eslint-visitor-keys": "^3.4.3" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "node_modules/@eslint-community/regexpp": { + "version": "4.12.2", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.2.tgz", + "integrity": "sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", + "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.6.0", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint/eslintrc/node_modules/brace-expansion": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/@eslint/eslintrc/node_modules/ignore": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/@eslint/eslintrc/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/@eslint/js": { + "version": "8.57.1", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.1.tgz", + "integrity": "sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/@google/genai": { + "version": "1.34.0", + "resolved": "https://registry.npmjs.org/@google/genai/-/genai-1.34.0.tgz", + "integrity": "sha512-vu53UMPvjmb7PGzlYu6Tzxso8Dfhn+a7eQFaS2uNemVtDZKwzSpJ5+ikqBbXplF7RGB1STcVDqCkPvquiwb2sw==", + "license": "Apache-2.0", + "dependencies": { + "google-auth-library": "^10.3.0", + "ws": "^8.18.0" + }, + "engines": { + "node": ">=20.0.0" + }, + "peerDependencies": { + "@modelcontextprotocol/sdk": "^1.24.0" + }, + "peerDependenciesMeta": { + "@modelcontextprotocol/sdk": { + "optional": true + } + } + }, + "node_modules/@humanwhocodes/config-array": { + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.13.0.tgz", + "integrity": "sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==", + "deprecated": "Use @eslint/config-array instead", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@humanwhocodes/object-schema": "^2.0.3", + "debug": "^4.3.1", + "minimatch": "^3.0.5" + }, + "engines": { + "node": ">=10.10.0" + } + }, + "node_modules/@humanwhocodes/config-array/node_modules/brace-expansion": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/@humanwhocodes/config-array/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/object-schema": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz", + "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==", + "deprecated": "Use @eslint/object-schema instead", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "license": "ISC", + "dependencies": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@isaacs/cliui/node_modules/ansi-regex": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz", + "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/strip-ansi": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.2.tgz", + "integrity": "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/@smithy/abort-controller": { + "version": "4.2.7", + "resolved": "https://registry.npmjs.org/@smithy/abort-controller/-/abort-controller-4.2.7.tgz", + "integrity": "sha512-rzMY6CaKx2qxrbYbqjXWS0plqEy7LOdKHS0bg4ixJ6aoGDPNUcLWk/FRNuCILh7GKLG9TFUXYYeQQldMBBwuyw==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^4.11.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@smithy/config-resolver": { + "version": "4.4.5", + "resolved": "https://registry.npmjs.org/@smithy/config-resolver/-/config-resolver-4.4.5.tgz", + "integrity": "sha512-HAGoUAFYsUkoSckuKbCPayECeMim8pOu+yLy1zOxt1sifzEbrsRpYa+mKcMdiHKMeiqOibyPG0sFJnmaV/OGEg==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/node-config-provider": "^4.3.7", + "@smithy/types": "^4.11.0", + "@smithy/util-config-provider": "^4.2.0", + "@smithy/util-endpoints": "^3.2.7", + "@smithy/util-middleware": "^4.2.7", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@smithy/core": { + "version": "3.20.0", + "resolved": "https://registry.npmjs.org/@smithy/core/-/core-3.20.0.tgz", + "integrity": "sha512-WsSHCPq/neD5G/MkK4csLI5Y5Pkd9c1NMfpYEKeghSGaD4Ja1qLIohRQf2D5c1Uy5aXp76DeKHkzWZ9KAlHroQ==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/middleware-serde": "^4.2.8", + "@smithy/protocol-http": "^5.3.7", + "@smithy/types": "^4.11.0", + "@smithy/util-base64": "^4.3.0", + "@smithy/util-body-length-browser": "^4.2.0", + "@smithy/util-middleware": "^4.2.7", + "@smithy/util-stream": "^4.5.8", + "@smithy/util-utf8": "^4.2.0", + "@smithy/uuid": "^1.1.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@smithy/credential-provider-imds": { + "version": "4.2.7", + "resolved": "https://registry.npmjs.org/@smithy/credential-provider-imds/-/credential-provider-imds-4.2.7.tgz", + "integrity": "sha512-CmduWdCiILCRNbQWFR0OcZlUPVtyE49Sr8yYL0rZQ4D/wKxiNzBNS/YHemvnbkIWj623fplgkexUd/c9CAKdoA==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/node-config-provider": "^4.3.7", + "@smithy/property-provider": "^4.2.7", + "@smithy/types": "^4.11.0", + "@smithy/url-parser": "^4.2.7", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@smithy/eventstream-codec": { + "version": "4.2.7", + "resolved": "https://registry.npmjs.org/@smithy/eventstream-codec/-/eventstream-codec-4.2.7.tgz", + "integrity": "sha512-DrpkEoM3j9cBBWhufqBwnbbn+3nf1N9FP6xuVJ+e220jbactKuQgaZwjwP5CP1t+O94brm2JgVMD2atMGX3xIQ==", + "license": "Apache-2.0", + "dependencies": { + "@aws-crypto/crc32": "5.2.0", + "@smithy/types": "^4.11.0", + "@smithy/util-hex-encoding": "^4.2.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@smithy/eventstream-serde-browser": { + "version": "4.2.7", + "resolved": "https://registry.npmjs.org/@smithy/eventstream-serde-browser/-/eventstream-serde-browser-4.2.7.tgz", + "integrity": "sha512-ujzPk8seYoDBmABDE5YqlhQZAXLOrtxtJLrbhHMKjBoG5b4dK4i6/mEU+6/7yXIAkqOO8sJ6YxZl+h0QQ1IJ7g==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/eventstream-serde-universal": "^4.2.7", + "@smithy/types": "^4.11.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@smithy/eventstream-serde-config-resolver": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/@smithy/eventstream-serde-config-resolver/-/eventstream-serde-config-resolver-4.3.7.tgz", + "integrity": "sha512-x7BtAiIPSaNaWuzm24Q/mtSkv+BrISO/fmheiJ39PKRNH3RmH2Hph/bUKSOBOBC9unqfIYDhKTHwpyZycLGPVQ==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^4.11.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@smithy/eventstream-serde-node": { + "version": "4.2.7", + "resolved": "https://registry.npmjs.org/@smithy/eventstream-serde-node/-/eventstream-serde-node-4.2.7.tgz", + "integrity": "sha512-roySCtHC5+pQq5lK4be1fZ/WR6s/AxnPaLfCODIPArtN2du8s5Ot4mKVK3pPtijL/L654ws592JHJ1PbZFF6+A==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/eventstream-serde-universal": "^4.2.7", + "@smithy/types": "^4.11.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@smithy/eventstream-serde-universal": { + "version": "4.2.7", + "resolved": "https://registry.npmjs.org/@smithy/eventstream-serde-universal/-/eventstream-serde-universal-4.2.7.tgz", + "integrity": "sha512-QVD+g3+icFkThoy4r8wVFZMsIP08taHVKjE6Jpmz8h5CgX/kk6pTODq5cht0OMtcapUx+xrPzUTQdA+TmO0m1g==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/eventstream-codec": "^4.2.7", + "@smithy/types": "^4.11.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@smithy/fetch-http-handler": { + "version": "5.3.8", + "resolved": "https://registry.npmjs.org/@smithy/fetch-http-handler/-/fetch-http-handler-5.3.8.tgz", + "integrity": "sha512-h/Fi+o7mti4n8wx1SR6UHWLaakwHRx29sizvp8OOm7iqwKGFneT06GCSFhml6Bha5BT6ot5pj3CYZnCHhGC2Rg==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/protocol-http": "^5.3.7", + "@smithy/querystring-builder": "^4.2.7", + "@smithy/types": "^4.11.0", + "@smithy/util-base64": "^4.3.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@smithy/hash-node": { + "version": "4.2.7", + "resolved": "https://registry.npmjs.org/@smithy/hash-node/-/hash-node-4.2.7.tgz", + "integrity": "sha512-PU/JWLTBCV1c8FtB8tEFnY4eV1tSfBc7bDBADHfn1K+uRbPgSJ9jnJp0hyjiFN2PMdPzxsf1Fdu0eo9fJ760Xw==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^4.11.0", + "@smithy/util-buffer-from": "^4.2.0", + "@smithy/util-utf8": "^4.2.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@smithy/invalid-dependency": { + "version": "4.2.7", + "resolved": "https://registry.npmjs.org/@smithy/invalid-dependency/-/invalid-dependency-4.2.7.tgz", + "integrity": "sha512-ncvgCr9a15nPlkhIUx3CU4d7E7WEuVJOV7fS7nnK2hLtPK9tYRBkMHQbhXU1VvvKeBm/O0x26OEoBq+ngFpOEQ==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^4.11.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@smithy/is-array-buffer": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-4.2.0.tgz", + "integrity": "sha512-DZZZBvC7sjcYh4MazJSGiWMI2L7E0oCiRHREDzIxi/M2LY79/21iXt6aPLHge82wi5LsuRF5A06Ds3+0mlh6CQ==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@smithy/middleware-content-length": { + "version": "4.2.7", + "resolved": "https://registry.npmjs.org/@smithy/middleware-content-length/-/middleware-content-length-4.2.7.tgz", + "integrity": "sha512-GszfBfCcvt7kIbJ41LuNa5f0wvQCHhnGx/aDaZJCCT05Ld6x6U2s0xsc/0mBFONBZjQJp2U/0uSJ178OXOwbhg==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/protocol-http": "^5.3.7", + "@smithy/types": "^4.11.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@smithy/middleware-endpoint": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/@smithy/middleware-endpoint/-/middleware-endpoint-4.4.1.tgz", + "integrity": "sha512-gpLspUAoe6f1M6H0u4cVuFzxZBrsGZmjx2O9SigurTx4PbntYa4AJ+o0G0oGm1L2oSX6oBhcGHwrfJHup2JnJg==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/core": "^3.20.0", + "@smithy/middleware-serde": "^4.2.8", + "@smithy/node-config-provider": "^4.3.7", + "@smithy/shared-ini-file-loader": "^4.4.2", + "@smithy/types": "^4.11.0", + "@smithy/url-parser": "^4.2.7", + "@smithy/util-middleware": "^4.2.7", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@smithy/middleware-retry": { + "version": "4.4.17", + "resolved": "https://registry.npmjs.org/@smithy/middleware-retry/-/middleware-retry-4.4.17.tgz", + "integrity": "sha512-MqbXK6Y9uq17h+4r0ogu/sBT6V/rdV+5NvYL7ZV444BKfQygYe8wAhDrVXagVebN6w2RE0Fm245l69mOsPGZzg==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/node-config-provider": "^4.3.7", + "@smithy/protocol-http": "^5.3.7", + "@smithy/service-error-classification": "^4.2.7", + "@smithy/smithy-client": "^4.10.2", + "@smithy/types": "^4.11.0", + "@smithy/util-middleware": "^4.2.7", + "@smithy/util-retry": "^4.2.7", + "@smithy/uuid": "^1.1.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@smithy/middleware-serde": { + "version": "4.2.8", + "resolved": "https://registry.npmjs.org/@smithy/middleware-serde/-/middleware-serde-4.2.8.tgz", + "integrity": "sha512-8rDGYen5m5+NV9eHv9ry0sqm2gI6W7mc1VSFMtn6Igo25S507/HaOX9LTHAS2/J32VXD0xSzrY0H5FJtOMS4/w==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/protocol-http": "^5.3.7", + "@smithy/types": "^4.11.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@smithy/middleware-stack": { + "version": "4.2.7", + "resolved": "https://registry.npmjs.org/@smithy/middleware-stack/-/middleware-stack-4.2.7.tgz", + "integrity": "sha512-bsOT0rJ+HHlZd9crHoS37mt8qRRN/h9jRve1SXUhVbkRzu0QaNYZp1i1jha4n098tsvROjcwfLlfvcFuJSXEsw==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^4.11.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@smithy/node-config-provider": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/@smithy/node-config-provider/-/node-config-provider-4.3.7.tgz", + "integrity": "sha512-7r58wq8sdOcrwWe+klL9y3bc4GW1gnlfnFOuL7CXa7UzfhzhxKuzNdtqgzmTV+53lEp9NXh5hY/S4UgjLOzPfw==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/property-provider": "^4.2.7", + "@smithy/shared-ini-file-loader": "^4.4.2", + "@smithy/types": "^4.11.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@smithy/node-http-handler": { + "version": "4.4.7", + "resolved": "https://registry.npmjs.org/@smithy/node-http-handler/-/node-http-handler-4.4.7.tgz", + "integrity": "sha512-NELpdmBOO6EpZtWgQiHjoShs1kmweaiNuETUpuup+cmm/xJYjT4eUjfhrXRP4jCOaAsS3c3yPsP3B+K+/fyPCQ==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/abort-controller": "^4.2.7", + "@smithy/protocol-http": "^5.3.7", + "@smithy/querystring-builder": "^4.2.7", + "@smithy/types": "^4.11.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@smithy/property-provider": { + "version": "4.2.7", + "resolved": "https://registry.npmjs.org/@smithy/property-provider/-/property-provider-4.2.7.tgz", + "integrity": "sha512-jmNYKe9MGGPoSl/D7JDDs1C8b3dC8f/w78LbaVfoTtWy4xAd5dfjaFG9c9PWPihY4ggMQNQSMtzU77CNgAJwmA==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^4.11.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@smithy/protocol-http": { + "version": "5.3.7", + "resolved": "https://registry.npmjs.org/@smithy/protocol-http/-/protocol-http-5.3.7.tgz", + "integrity": "sha512-1r07pb994I20dD/c2seaZhoCuNYm0rWrvBxhCQ70brNh11M5Ml2ew6qJVo0lclB3jMIXirD4s2XRXRe7QEi0xA==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^4.11.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@smithy/querystring-builder": { + "version": "4.2.7", + "resolved": "https://registry.npmjs.org/@smithy/querystring-builder/-/querystring-builder-4.2.7.tgz", + "integrity": "sha512-eKONSywHZxK4tBxe2lXEysh8wbBdvDWiA+RIuaxZSgCMmA0zMgoDpGLJhnyj+c0leOQprVnXOmcB4m+W9Rw7sg==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^4.11.0", + "@smithy/util-uri-escape": "^4.2.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@smithy/querystring-parser": { + "version": "4.2.7", + "resolved": "https://registry.npmjs.org/@smithy/querystring-parser/-/querystring-parser-4.2.7.tgz", + "integrity": "sha512-3X5ZvzUHmlSTHAXFlswrS6EGt8fMSIxX/c3Rm1Pni3+wYWB6cjGocmRIoqcQF9nU5OgGmL0u7l9m44tSUpfj9w==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^4.11.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@smithy/service-error-classification": { + "version": "4.2.7", + "resolved": "https://registry.npmjs.org/@smithy/service-error-classification/-/service-error-classification-4.2.7.tgz", + "integrity": "sha512-YB7oCbukqEb2Dlh3340/8g8vNGbs/QsNNRms+gv3N2AtZz9/1vSBx6/6tpwQpZMEJFs7Uq8h4mmOn48ZZ72MkA==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^4.11.0" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@smithy/shared-ini-file-loader": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-4.4.2.tgz", + "integrity": "sha512-M7iUUff/KwfNunmrgtqBfvZSzh3bmFgv/j/t1Y1dQ+8dNo34br1cqVEqy6v0mYEgi0DkGO7Xig0AnuOaEGVlcg==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^4.11.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@smithy/signature-v4": { + "version": "5.3.7", + "resolved": "https://registry.npmjs.org/@smithy/signature-v4/-/signature-v4-5.3.7.tgz", + "integrity": "sha512-9oNUlqBlFZFOSdxgImA6X5GFuzE7V2H7VG/7E70cdLhidFbdtvxxt81EHgykGK5vq5D3FafH//X+Oy31j3CKOg==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/is-array-buffer": "^4.2.0", + "@smithy/protocol-http": "^5.3.7", + "@smithy/types": "^4.11.0", + "@smithy/util-hex-encoding": "^4.2.0", + "@smithy/util-middleware": "^4.2.7", + "@smithy/util-uri-escape": "^4.2.0", + "@smithy/util-utf8": "^4.2.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@smithy/smithy-client": { + "version": "4.10.2", + "resolved": "https://registry.npmjs.org/@smithy/smithy-client/-/smithy-client-4.10.2.tgz", + "integrity": "sha512-D5z79xQWpgrGpAHb054Fn2CCTQZpog7JELbVQ6XAvXs5MNKWf28U9gzSBlJkOyMl9LA1TZEjRtwvGXfP0Sl90g==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/core": "^3.20.0", + "@smithy/middleware-endpoint": "^4.4.1", + "@smithy/middleware-stack": "^4.2.7", + "@smithy/protocol-http": "^5.3.7", + "@smithy/types": "^4.11.0", + "@smithy/util-stream": "^4.5.8", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@smithy/types": { + "version": "4.11.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-4.11.0.tgz", + "integrity": "sha512-mlrmL0DRDVe3mNrjTcVcZEgkFmufITfUAPBEA+AHYiIeYyJebso/He1qLbP3PssRe22KUzLRpQSdBPbXdgZ2VA==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@smithy/url-parser": { + "version": "4.2.7", + "resolved": "https://registry.npmjs.org/@smithy/url-parser/-/url-parser-4.2.7.tgz", + "integrity": "sha512-/RLtVsRV4uY3qPWhBDsjwahAtt3x2IsMGnP5W1b2VZIe+qgCqkLxI1UOHDZp1Q1QSOrdOR32MF3Ph2JfWT1VHg==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/querystring-parser": "^4.2.7", + "@smithy/types": "^4.11.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@smithy/util-base64": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/@smithy/util-base64/-/util-base64-4.3.0.tgz", + "integrity": "sha512-GkXZ59JfyxsIwNTWFnjmFEI8kZpRNIBfxKjv09+nkAWPt/4aGaEWMM04m4sxgNVWkbt2MdSvE3KF/PfX4nFedQ==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/util-buffer-from": "^4.2.0", + "@smithy/util-utf8": "^4.2.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@smithy/util-body-length-browser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/@smithy/util-body-length-browser/-/util-body-length-browser-4.2.0.tgz", + "integrity": "sha512-Fkoh/I76szMKJnBXWPdFkQJl2r9SjPt3cMzLdOB6eJ4Pnpas8hVoWPYemX/peO0yrrvldgCUVJqOAjUrOLjbxg==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@smithy/util-body-length-node": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@smithy/util-body-length-node/-/util-body-length-node-4.2.1.tgz", + "integrity": "sha512-h53dz/pISVrVrfxV1iqXlx5pRg3V2YWFcSQyPyXZRrZoZj4R4DeWRDo1a7dd3CPTcFi3kE+98tuNyD2axyZReA==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@smithy/util-buffer-from": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-4.2.0.tgz", + "integrity": "sha512-kAY9hTKulTNevM2nlRtxAG2FQ3B2OR6QIrPY3zE5LqJy1oxzmgBGsHLWTcNhWXKchgA0WHW+mZkQrng/pgcCew==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/is-array-buffer": "^4.2.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@smithy/util-config-provider": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/@smithy/util-config-provider/-/util-config-provider-4.2.0.tgz", + "integrity": "sha512-YEjpl6XJ36FTKmD+kRJJWYvrHeUvm5ykaUS5xK+6oXffQPHeEM4/nXlZPe+Wu0lsgRUcNZiliYNh/y7q9c2y6Q==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@smithy/util-defaults-mode-browser": { + "version": "4.3.16", + "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-4.3.16.tgz", + "integrity": "sha512-/eiSP3mzY3TsvUOYMeL4EqUX6fgUOj2eUOU4rMMgVbq67TiRLyxT7Xsjxq0bW3OwuzK009qOwF0L2OgJqperAQ==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/property-provider": "^4.2.7", + "@smithy/smithy-client": "^4.10.2", + "@smithy/types": "^4.11.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@smithy/util-defaults-mode-node": { + "version": "4.2.19", + "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-4.2.19.tgz", + "integrity": "sha512-3a4+4mhf6VycEJyHIQLypRbiwG6aJvbQAeRAVXydMmfweEPnLLabRbdyo/Pjw8Rew9vjsh5WCdhmDaHkQnhhhA==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/config-resolver": "^4.4.5", + "@smithy/credential-provider-imds": "^4.2.7", + "@smithy/node-config-provider": "^4.3.7", + "@smithy/property-provider": "^4.2.7", + "@smithy/smithy-client": "^4.10.2", + "@smithy/types": "^4.11.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@smithy/util-endpoints": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/@smithy/util-endpoints/-/util-endpoints-3.2.7.tgz", + "integrity": "sha512-s4ILhyAvVqhMDYREeTS68R43B1V5aenV5q/V1QpRQJkCXib5BPRo4s7uNdzGtIKxaPHCfU/8YkvPAEvTpxgspg==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/node-config-provider": "^4.3.7", + "@smithy/types": "^4.11.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@smithy/util-hex-encoding": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/@smithy/util-hex-encoding/-/util-hex-encoding-4.2.0.tgz", + "integrity": "sha512-CCQBwJIvXMLKxVbO88IukazJD9a4kQ9ZN7/UMGBjBcJYvatpWk+9g870El4cB8/EJxfe+k+y0GmR9CAzkF+Nbw==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@smithy/util-middleware": { + "version": "4.2.7", + "resolved": "https://registry.npmjs.org/@smithy/util-middleware/-/util-middleware-4.2.7.tgz", + "integrity": "sha512-i1IkpbOae6NvIKsEeLLM9/2q4X+M90KV3oCFgWQI4q0Qz+yUZvsr+gZPdAEAtFhWQhAHpTsJO8DRJPuwVyln+w==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^4.11.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@smithy/util-retry": { + "version": "4.2.7", + "resolved": "https://registry.npmjs.org/@smithy/util-retry/-/util-retry-4.2.7.tgz", + "integrity": "sha512-SvDdsQyF5CIASa4EYVT02LukPHVzAgUA4kMAuZ97QJc2BpAqZfA4PINB8/KOoCXEw9tsuv/jQjMeaHFvxdLNGg==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/service-error-classification": "^4.2.7", + "@smithy/types": "^4.11.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@smithy/util-stream": { + "version": "4.5.8", + "resolved": "https://registry.npmjs.org/@smithy/util-stream/-/util-stream-4.5.8.tgz", + "integrity": "sha512-ZnnBhTapjM0YPGUSmOs0Mcg/Gg87k503qG4zU2v/+Js2Gu+daKOJMeqcQns8ajepY8tgzzfYxl6kQyZKml6O2w==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/fetch-http-handler": "^5.3.8", + "@smithy/node-http-handler": "^4.4.7", + "@smithy/types": "^4.11.0", + "@smithy/util-base64": "^4.3.0", + "@smithy/util-buffer-from": "^4.2.0", + "@smithy/util-hex-encoding": "^4.2.0", + "@smithy/util-utf8": "^4.2.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@smithy/util-uri-escape": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/@smithy/util-uri-escape/-/util-uri-escape-4.2.0.tgz", + "integrity": "sha512-igZpCKV9+E/Mzrpq6YacdTQ0qTiLm85gD6N/IrmyDvQFA4UnU3d5g3m8tMT/6zG/vVkWSU+VxeUyGonL62DuxA==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@smithy/util-utf8": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-4.2.0.tgz", + "integrity": "sha512-zBPfuzoI8xyBtR2P6WQj63Rz8i3AmfAaJLuNG8dWsfvPe8lO4aCPYLn879mEgHndZH1zQ2oXmG8O1GGzzaoZiw==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/util-buffer-from": "^4.2.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@smithy/uuid": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@smithy/uuid/-/uuid-1.1.0.tgz", + "integrity": "sha512-4aUIteuyxtBUhVdiQqcDhKFitwfd9hqoSDYY2KRXiWtgoWJ9Bmise+KfEPDiVHWeJepvF8xJO9/9+WDIciMFFw==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@types/node": { + "version": "22.19.3", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.19.3.tgz", + "integrity": "sha512-1N9SBnWYOJTrNZCdh/yJE+t910Y128BoyY+zBLWhL3r0TYzlTmFdXrPwHL9DyFZmlEXNQQolTZh3KHV31QDhyA==", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~6.21.0" + } + }, + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "8.50.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.50.1.tgz", + "integrity": "sha512-PKhLGDq3JAg0Jk/aK890knnqduuI/Qj+udH7wCf0217IGi4gt+acgCyPVe79qoT+qKUvHMDQkwJeKW9fwl8Cyw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/regexpp": "^4.10.0", + "@typescript-eslint/scope-manager": "8.50.1", + "@typescript-eslint/type-utils": "8.50.1", + "@typescript-eslint/utils": "8.50.1", + "@typescript-eslint/visitor-keys": "8.50.1", + "ignore": "^7.0.0", + "natural-compare": "^1.4.0", + "ts-api-utils": "^2.1.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^8.50.1", + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/@typescript-eslint/parser": { + "version": "8.50.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.50.1.tgz", + "integrity": "sha512-hM5faZwg7aVNa819m/5r7D0h0c9yC4DUlWAOvHAtISdFTc8xB86VmX5Xqabrama3wIPJ/q9RbGS1worb6JfnMg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/scope-manager": "8.50.1", + "@typescript-eslint/types": "8.50.1", + "@typescript-eslint/typescript-estree": "8.50.1", + "@typescript-eslint/visitor-keys": "8.50.1", + "debug": "^4.3.4" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/@typescript-eslint/project-service": { + "version": "8.50.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.50.1.tgz", + "integrity": "sha512-E1ur1MCVf+YiP89+o4Les/oBAVzmSbeRB0MQLfSlYtbWU17HPxZ6Bhs5iYmKZRALvEuBoXIZMOIRRc/P++Ortg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/tsconfig-utils": "^8.50.1", + "@typescript-eslint/types": "^8.50.1", + "debug": "^4.3.4" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/@typescript-eslint/scope-manager": { + "version": "8.50.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.50.1.tgz", + "integrity": "sha512-mfRx06Myt3T4vuoHaKi8ZWNTPdzKPNBhiblze5N50//TSHOAQQevl/aolqA/BcqqbJ88GUnLqjjcBc8EWdBcVw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.50.1", + "@typescript-eslint/visitor-keys": "8.50.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/tsconfig-utils": { + "version": "8.50.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.50.1.tgz", + "integrity": "sha512-ooHmotT/lCWLXi55G4mvaUF60aJa012QzvLK0Y+Mp4WdSt17QhMhWOaBWeGTFVkb2gDgBe19Cxy1elPXylslDw==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/@typescript-eslint/type-utils": { + "version": "8.50.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.50.1.tgz", + "integrity": "sha512-7J3bf022QZE42tYMO6SL+6lTPKFk/WphhRPe9Tw/el+cEwzLz1Jjz2PX3GtGQVxooLDKeMVmMt7fWpYRdG5Etg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.50.1", + "@typescript-eslint/typescript-estree": "8.50.1", + "@typescript-eslint/utils": "8.50.1", + "debug": "^4.3.4", + "ts-api-utils": "^2.1.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/@typescript-eslint/types": { + "version": "8.50.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.50.1.tgz", + "integrity": "sha512-v5lFIS2feTkNyMhd7AucE/9j/4V9v5iIbpVRncjk/K0sQ6Sb+Np9fgYS/63n6nwqahHQvbmujeBL7mp07Q9mlA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/typescript-estree": { + "version": "8.50.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.50.1.tgz", + "integrity": "sha512-woHPdW+0gj53aM+cxchymJCrh0cyS7BTIdcDxWUNsclr9VDkOSbqC13juHzxOmQ22dDkMZEpZB+3X1WpUvzgVQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/project-service": "8.50.1", + "@typescript-eslint/tsconfig-utils": "8.50.1", + "@typescript-eslint/types": "8.50.1", + "@typescript-eslint/visitor-keys": "8.50.1", + "debug": "^4.3.4", + "minimatch": "^9.0.4", + "semver": "^7.6.0", + "tinyglobby": "^0.2.15", + "ts-api-utils": "^2.1.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/@typescript-eslint/utils": { + "version": "8.50.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.50.1.tgz", + "integrity": "sha512-lCLp8H1T9T7gPbEuJSnHwnSuO9mDf8mfK/Nion5mZmiEaQD9sWf9W4dfeFqRyqRjF06/kBuTmAqcs9sewM2NbQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.7.0", + "@typescript-eslint/scope-manager": "8.50.1", + "@typescript-eslint/types": "8.50.1", + "@typescript-eslint/typescript-estree": "8.50.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "8.50.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.50.1.tgz", + "integrity": "sha512-IrDKrw7pCRUR94zeuCSUWQ+w8JEf5ZX5jl/e6AHGSLi1/zIr0lgutfn/7JpfCey+urpgQEdrZVYzCaVVKiTwhQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.50.1", + "eslint-visitor-keys": "^4.2.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/visitor-keys/node_modules/eslint-visitor-keys": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz", + "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@ungap/structured-clone": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.3.0.tgz", + "integrity": "sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==", + "dev": true, + "license": "ISC" + }, + "node_modules/acorn": { + "version": "8.15.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", + "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", + "dev": true, + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/agent-base": { + "version": "7.1.4", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.4.tgz", + "integrity": "sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==", + "license": "MIT", + "engines": { + "node": ">= 14" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true, + "license": "Python-2.0" + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "license": "MIT" + }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/bignumber.js": { + "version": "9.3.1", + "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.3.1.tgz", + "integrity": "sha512-Ko0uX15oIUS7wJ3Rb30Fs6SkVbLmPBAKdlm7q9+ak9bbIeFf0MwuBsQV6z7+X768/cHsfg+WlysDWJcmthjsjQ==", + "license": "MIT", + "engines": { + "node": "*" + } + }, + "node_modules/bowser": { + "version": "2.13.1", + "resolved": "https://registry.npmjs.org/bowser/-/bowser-2.13.1.tgz", + "integrity": "sha512-OHawaAbjwx6rqICCKgSG0SAnT05bzd7ppyKLVUITZpANBaaMFBAsaNkto3LoQ31tyFP5kNujE8Cdx85G9VzOkw==", + "license": "MIT" + }, + "node_modules/brace-expansion": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/buffer-equal-constant-time": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", + "integrity": "sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==", + "license": "BSD-3-Clause" + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT" + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true, + "license": "MIT" + }, + "node_modules/cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/data-uri-to-buffer": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-4.0.1.tgz", + "integrity": "sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==", + "license": "MIT", + "engines": { + "node": ">= 12" + } + }, + "node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "license": "MIT" + }, + "node_modules/ecdsa-sig-formatter": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz", + "integrity": "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==", + "license": "Apache-2.0", + "dependencies": { + "safe-buffer": "^5.0.1" + } + }, + "node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "license": "MIT" + }, + "node_modules/esbuild": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.27.2.tgz", + "integrity": "sha512-HyNQImnsOC7X9PMNaCIeAm4ISCQXs5a5YasTXVliKv4uuBo1dKrG0A+uQS8M5eXjVMnLg3WgXaKvprHlFJQffw==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.27.2", + "@esbuild/android-arm": "0.27.2", + "@esbuild/android-arm64": "0.27.2", + "@esbuild/android-x64": "0.27.2", + "@esbuild/darwin-arm64": "0.27.2", + "@esbuild/darwin-x64": "0.27.2", + "@esbuild/freebsd-arm64": "0.27.2", + "@esbuild/freebsd-x64": "0.27.2", + "@esbuild/linux-arm": "0.27.2", + "@esbuild/linux-arm64": "0.27.2", + "@esbuild/linux-ia32": "0.27.2", + "@esbuild/linux-loong64": "0.27.2", + "@esbuild/linux-mips64el": "0.27.2", + "@esbuild/linux-ppc64": "0.27.2", + "@esbuild/linux-riscv64": "0.27.2", + "@esbuild/linux-s390x": "0.27.2", + "@esbuild/linux-x64": "0.27.2", + "@esbuild/netbsd-arm64": "0.27.2", + "@esbuild/netbsd-x64": "0.27.2", + "@esbuild/openbsd-arm64": "0.27.2", + "@esbuild/openbsd-x64": "0.27.2", + "@esbuild/openharmony-arm64": "0.27.2", + "@esbuild/sunos-x64": "0.27.2", + "@esbuild/win32-arm64": "0.27.2", + "@esbuild/win32-ia32": "0.27.2", + "@esbuild/win32-x64": "0.27.2" + } + }, + "node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint": { + "version": "8.57.1", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.1.tgz", + "integrity": "sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==", + "deprecated": "This version is no longer supported. Please see https://eslint.org/version-support for other options.", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.4", + "@eslint/js": "8.57.1", + "@humanwhocodes/config-array": "^0.13.0", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "@ungap/structured-clone": "^1.2.0", + "ajv": "^6.12.4", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.2.2", + "eslint-visitor-keys": "^3.4.3", + "espree": "^9.6.1", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-config-prettier": { + "version": "9.1.2", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-9.1.2.tgz", + "integrity": "sha512-iI1f+D2ViGn+uvv5HuHVUamg8ll4tN+JRHGc6IJi4TP9Kl976C57fzPXgseXNs8v0iA8aSJpHsTWjDb9QJamGQ==", + "dev": true, + "license": "MIT", + "bin": { + "eslint-config-prettier": "bin/cli.js" + }, + "peerDependencies": { + "eslint": ">=7.0.0" + } + }, + "node_modules/eslint-scope": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint/node_modules/brace-expansion": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/eslint/node_modules/ignore": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/eslint/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/espree": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "acorn": "^8.9.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/esquery": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", + "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "license": "MIT" + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-xml-parser": { + "version": "5.2.5", + "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-5.2.5.tgz", + "integrity": "sha512-pfX9uG9Ki0yekDHx2SiuRIyFdyAr1kMIMitPvb0YBo8SUfKvia7w7FIyd/l6av85pFYRhZscS75MwMnbvY+hcQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/NaturalIntelligence" + } + ], + "license": "MIT", + "dependencies": { + "strnum": "^2.1.0" + }, + "bin": { + "fxparser": "src/cli/cli.js" + } + }, + "node_modules/fastq": { + "version": "1.20.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.20.1.tgz", + "integrity": "sha512-GGToxJ/w1x32s/D2EKND7kTil4n8OVk/9mycTc4VDza13lOvpUZTGX3mFSCtV9ksdGBVzvsyAVLM6mHFThxXxw==", + "dev": true, + "license": "ISC", + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/fdir": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/fetch-blob": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/fetch-blob/-/fetch-blob-3.2.0.tgz", + "integrity": "sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/jimmywarting" + }, + { + "type": "paypal", + "url": "https://paypal.me/jimmywarting" + } + ], + "license": "MIT", + "dependencies": { + "node-domexception": "^1.0.0", + "web-streams-polyfill": "^3.0.3" + }, + "engines": { + "node": "^12.20 || >= 14.13" + } + }, + "node_modules/file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "dev": true, + "license": "MIT", + "dependencies": { + "flat-cache": "^3.0.4" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/flat-cache": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", + "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", + "dev": true, + "license": "MIT", + "dependencies": { + "flatted": "^3.2.9", + "keyv": "^4.5.3", + "rimraf": "^3.0.2" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/flatted": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz", + "integrity": "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==", + "dev": true, + "license": "ISC" + }, + "node_modules/foreground-child": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.1.tgz", + "integrity": "sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==", + "license": "ISC", + "dependencies": { + "cross-spawn": "^7.0.6", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/formdata-polyfill": { + "version": "4.0.10", + "resolved": "https://registry.npmjs.org/formdata-polyfill/-/formdata-polyfill-4.0.10.tgz", + "integrity": "sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==", + "license": "MIT", + "dependencies": { + "fetch-blob": "^3.1.2" + }, + "engines": { + "node": ">=12.20.0" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true, + "license": "ISC" + }, + "node_modules/gaxios": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/gaxios/-/gaxios-7.1.3.tgz", + "integrity": "sha512-YGGyuEdVIjqxkxVH1pUTMY/XtmmsApXrCVv5EU25iX6inEPbV+VakJfLealkBtJN69AQmh1eGOdCl9Sm1UP6XQ==", + "license": "Apache-2.0", + "dependencies": { + "extend": "^3.0.2", + "https-proxy-agent": "^7.0.1", + "node-fetch": "^3.3.2", + "rimraf": "^5.0.1" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/gaxios/node_modules/glob": { + "version": "10.5.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.5.0.tgz", + "integrity": "sha512-DfXN8DfhJ7NH3Oe7cFmu3NCu1wKbkReJ8TorzSAFbSKrlNaQSKfIzqYqVY8zlbs2NLBbWpRiU52GX2PbaBVNkg==", + "license": "ISC", + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/gaxios/node_modules/rimraf": { + "version": "5.0.10", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-5.0.10.tgz", + "integrity": "sha512-l0OE8wL34P4nJH/H2ffoaniAokM2qSmrtXHmlpvYr5AVVX8msAyW0l8NVJFDxlSK4u3Uh/f41cQheDVdnYijwQ==", + "license": "ISC", + "dependencies": { + "glob": "^10.3.7" + }, + "bin": { + "rimraf": "dist/esm/bin.mjs" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/gcp-metadata": { + "version": "8.1.2", + "resolved": "https://registry.npmjs.org/gcp-metadata/-/gcp-metadata-8.1.2.tgz", + "integrity": "sha512-zV/5HKTfCeKWnxG0Dmrw51hEWFGfcF2xiXqcA3+J90WDuP0SvoiSO5ORvcBsifmx/FoIjgQN3oNOGaQ5PhLFkg==", + "license": "Apache-2.0", + "dependencies": { + "gaxios": "^7.0.0", + "google-logging-utils": "^1.0.0", + "json-bigint": "^1.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/get-tsconfig": { + "version": "4.13.0", + "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.13.0.tgz", + "integrity": "sha512-1VKTZJCwBrvbd+Wn3AOgQP/2Av+TfTCOlE4AcRJE72W1ksZXbAx8PPBR9RzgTeSPzlPMHrbANMH3LbltH73wxQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "resolve-pkg-maps": "^1.0.0" + }, + "funding": { + "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1" + } + }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/glob/node_modules/brace-expansion": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/glob/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/globals": { + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/google-auth-library": { + "version": "10.5.0", + "resolved": "https://registry.npmjs.org/google-auth-library/-/google-auth-library-10.5.0.tgz", + "integrity": "sha512-7ABviyMOlX5hIVD60YOfHw4/CxOfBhyduaYB+wbFWCWoni4N7SLcV46hrVRktuBbZjFC9ONyqamZITN7q3n32w==", + "license": "Apache-2.0", + "dependencies": { + "base64-js": "^1.3.0", + "ecdsa-sig-formatter": "^1.0.11", + "gaxios": "^7.0.0", + "gcp-metadata": "^8.0.0", + "google-logging-utils": "^1.0.0", + "gtoken": "^8.0.0", + "jws": "^4.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/google-logging-utils": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/google-logging-utils/-/google-logging-utils-1.1.3.tgz", + "integrity": "sha512-eAmLkjDjAFCVXg7A1unxHsLf961m6y17QFqXqAXGj/gVkKFrEICfStRfwUlGNfeCEjNRa32JEWOUTlYXPyyKvA==", + "license": "Apache-2.0", + "engines": { + "node": ">=14" + } + }, + "node_modules/graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "dev": true, + "license": "MIT" + }, + "node_modules/gtoken": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/gtoken/-/gtoken-8.0.0.tgz", + "integrity": "sha512-+CqsMbHPiSTdtSO14O51eMNlrp9N79gmeqmXeouJOhfucAedHw9noVe/n5uJk3tbKE6a+6ZCQg3RPhVhHByAIw==", + "license": "MIT", + "dependencies": { + "gaxios": "^7.0.0", + "jws": "^4.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/https-proxy-agent": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz", + "integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==", + "license": "MIT", + "dependencies": { + "agent-base": "^7.1.2", + "debug": "4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/ignore": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.5.tgz", + "integrity": "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/import-fresh": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz", + "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", + "dev": true, + "license": "ISC", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "license": "ISC" + }, + "node_modules/jackspeak": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", + "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", + "license": "BlueOak-1.0.0", + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" + } + }, + "node_modules/js-yaml": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz", + "integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==", + "dev": true, + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/json-bigint": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-bigint/-/json-bigint-1.0.0.tgz", + "integrity": "sha512-SiPv/8VpZuWbvLSMtTDU8hEfrZWg/mH/nV/b4o0CYbSxu1UIQPLdwKOCIyLQX+VIPO5vrLX3i8qtqFyhdPSUSQ==", + "license": "MIT", + "dependencies": { + "bignumber.js": "^9.0.0" + } + }, + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/json-schema-to-ts": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/json-schema-to-ts/-/json-schema-to-ts-3.1.1.tgz", + "integrity": "sha512-+DWg8jCJG2TEnpy7kOm/7/AxaYoaRbjVB4LFZLySZlWn8exGs3A4OLJR966cVvU26N7X9TWxl+Jsw7dzAqKT6g==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.18.3", + "ts-algebra": "^2.0.0" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true, + "license": "MIT" + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/jwa": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/jwa/-/jwa-2.0.1.tgz", + "integrity": "sha512-hRF04fqJIP8Abbkq5NKGN0Bbr3JxlQ+qhZufXVr0DvujKy93ZCbXZMHDL4EOtodSbCWxOqR8MS1tXA5hwqCXDg==", + "license": "MIT", + "dependencies": { + "buffer-equal-constant-time": "^1.0.1", + "ecdsa-sig-formatter": "1.0.11", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/jws": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/jws/-/jws-4.0.1.tgz", + "integrity": "sha512-EKI/M/yqPncGUUh44xz0PxSidXFr/+r0pA70+gIYhjv+et7yxM+s29Y+VGDkovRofQem0fs7Uvf4+YmAdyRduA==", + "license": "MIT", + "dependencies": { + "jwa": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "dev": true, + "license": "MIT", + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "license": "ISC" + }, + "node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/minipass": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", + "license": "ISC", + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true, + "license": "MIT" + }, + "node_modules/node-domexception": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/node-domexception/-/node-domexception-1.0.0.tgz", + "integrity": "sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==", + "deprecated": "Use your platform's native DOMException instead", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/jimmywarting" + }, + { + "type": "github", + "url": "https://paypal.me/jimmywarting" + } + ], + "license": "MIT", + "engines": { + "node": ">=10.5.0" + } + }, + "node_modules/node-fetch": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-3.3.2.tgz", + "integrity": "sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==", + "license": "MIT", + "dependencies": { + "data-uri-to-buffer": "^4.0.0", + "fetch-blob": "^3.1.4", + "formdata-polyfill": "^4.0.10" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/node-fetch" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "license": "ISC", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/openai": { + "version": "5.23.2", + "resolved": "https://registry.npmjs.org/openai/-/openai-5.23.2.tgz", + "integrity": "sha512-MQBzmTulj+MM5O8SKEk/gL8a7s5mktS9zUtAkU257WjvobGc9nKcBuVwjyEEcb9SI8a8Y2G/mzn3vm9n1Jlleg==", + "license": "Apache-2.0", + "bin": { + "openai": "bin/cli" + }, + "peerDependencies": { + "ws": "^8.18.0", + "zod": "^3.23.8" + }, + "peerDependenciesMeta": { + "ws": { + "optional": true + }, + "zod": { + "optional": true + } + } + }, + "node_modules/optionator": { + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", + "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", + "dev": true, + "license": "MIT", + "dependencies": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.5" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/package-json-from-dist": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz", + "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==", + "license": "BlueOak-1.0.0" + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "license": "MIT", + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-scurry": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", + "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", + "license": "BlueOak-1.0.0", + "dependencies": { + "lru-cache": "^10.2.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "engines": { + "node": ">=16 || 14 >=14.18" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/picomatch": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/prettier": { + "version": "3.7.4", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.7.4.tgz", + "integrity": "sha512-v6UNi1+3hSlVvv8fSaoUbggEM5VErKmmpGA7Pl3HF8V6uKY7rvClBOJlH6yNwQtfTueNkGVpOv/mtWL9L4bgRA==", + "dev": true, + "license": "MIT", + "bin": { + "prettier": "bin/prettier.cjs" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, + "node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/resolve-pkg-maps": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz", + "integrity": "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1" + } + }, + "node_modules/reusify": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz", + "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==", + "dev": true, + "license": "MIT", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "deprecated": "Rimraf versions prior to v4 are no longer supported", + "dev": true, + "license": "ISC", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/semver": { + "version": "7.7.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", + "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "license": "MIT", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "license": "ISC", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "license": "MIT", + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/string-width-cjs": { + "name": "string-width", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "license": "MIT" + }, + "node_modules/string-width/node_modules/ansi-regex": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz", + "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/string-width/node_modules/strip-ansi": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.2.tgz", + "integrity": "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/strnum": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/strnum/-/strnum-2.1.2.tgz", + "integrity": "sha512-l63NF9y/cLROq/yqKXSLtcMeeyOfnSQlfMSlzFt/K73oIaD8DGaQWd7Z34X9GPiKqP5rbSh84Hl4bOlLcjiSrQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/NaturalIntelligence" + } + ], + "license": "MIT" + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "dev": true, + "license": "MIT" + }, + "node_modules/tinyglobby": { + "version": "0.2.15", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz", + "integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "fdir": "^6.5.0", + "picomatch": "^4.0.3" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" + } + }, + "node_modules/ts-algebra": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ts-algebra/-/ts-algebra-2.0.0.tgz", + "integrity": "sha512-FPAhNPFMrkwz76P7cdjdmiShwMynZYN6SgOujD1urY4oNm80Ou9oMdmbR45LotcKOXoy7wSmHkRFE6Mxbrhefw==", + "license": "MIT" + }, + "node_modules/ts-api-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.1.0.tgz", + "integrity": "sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18.12" + }, + "peerDependencies": { + "typescript": ">=4.8.4" + } + }, + "node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/tsx": { + "version": "4.21.0", + "resolved": "https://registry.npmjs.org/tsx/-/tsx-4.21.0.tgz", + "integrity": "sha512-5C1sg4USs1lfG0GFb2RLXsdpXqBSEhAaA/0kPL01wxzpMqLILNxIxIOKiILz+cdg/pLnOUxFYOR5yhHU666wbw==", + "dev": true, + "license": "MIT", + "dependencies": { + "esbuild": "~0.27.0", + "get-tsconfig": "^4.7.5" + }, + "bin": { + "tsx": "dist/cli.mjs" + }, + "engines": { + "node": ">=18.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + } + }, + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/typescript": { + "version": "5.9.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz", + "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/undici-types": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", + "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/web-streams-polyfill": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.3.3.tgz", + "integrity": "sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==", + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/word-wrap": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs": { + "name": "wrap-ansi", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "license": "MIT" + }, + "node_modules/wrap-ansi-cjs/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-regex": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz", + "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz", + "integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/strip-ansi": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.2.tgz", + "integrity": "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/ws": { + "version": "8.18.3", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.3.tgz", + "integrity": "sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==", + "license": "MIT", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + } + } +} diff --git a/payloads/package.json b/payloads/package.json index 7bd93437..e5951ec1 100644 --- a/payloads/package.json +++ b/payloads/package.json @@ -6,14 +6,16 @@ "typecheck": "tsc --noEmit", "capture": "tsx scripts/capture.ts", "prune": "tsx scripts/prune.ts", - "lint": "eslint . --ext .ts,.tsx", - "lint:fix": "eslint . --ext .ts,.tsx --fix", + "lint": "eslint \"./**/*.{ts,tsx}\"", + "lint:fix": "eslint \"./**/*.{ts,tsx}\" --fix", "format": "prettier --write .", "format:check": "prettier --check ." }, "dependencies": { - "openai": "^5.22.0", - "@anthropic-ai/sdk": "^0.63.0" + "@anthropic-ai/sdk": "^0.63.0", + "@aws-sdk/client-bedrock-runtime": "^3.700.0", + "@google/genai": "^1.34.0", + "openai": "^5.22.0" }, "devDependencies": { "@types/node": "^22.9.0", diff --git a/payloads/scripts/capture.ts b/payloads/scripts/capture.ts index 65f17dcb..9c71cc2c 100644 --- a/payloads/scripts/capture.ts +++ b/payloads/scripts/capture.ts @@ -9,6 +9,8 @@ import { saveAllFiles } from "./file-manager"; import { openaiExecutor } from "./providers/openai"; import { openaiResponsesExecutor } from "./providers/openai-responses"; import { anthropicExecutor } from "./providers/anthropic"; +import { googleExecutor } from "./providers/google"; +import { bedrockExecutor } from "./providers/bedrock"; import { ProviderExecutor } from "./types"; // Update provider names to be more descriptive @@ -16,6 +18,8 @@ const allProviders = [ { ...openaiExecutor, name: "chat-completions" }, openaiResponsesExecutor, anthropicExecutor, + googleExecutor, + bedrockExecutor, ] as const; interface CaptureOptions { diff --git a/payloads/scripts/providers/bedrock.ts b/payloads/scripts/providers/bedrock.ts new file mode 100644 index 00000000..8a1a269d --- /dev/null +++ b/payloads/scripts/providers/bedrock.ts @@ -0,0 +1,252 @@ +import { + BedrockRuntimeClient, + ConverseCommand, + ConverseStreamCommand, + type ConverseResponse, + type ConverseStreamOutput, + type Message, +} from "@aws-sdk/client-bedrock-runtime"; +import { CaptureResult, ProviderExecutor } from "../types"; +import { + allTestCases, + getCaseNames, + getCaseForProvider, + BedrockConverseRequest, +} from "../../cases"; + +// Bedrock cases - extracted from unified cases +export const bedrockCases: Record = {}; + +// Populate cases from unified structure +getCaseNames(allTestCases).forEach((caseName) => { + const caseData = getCaseForProvider(allTestCases, caseName, "bedrock"); + if (caseData) { + bedrockCases[caseName] = caseData; + } +}); + +// Create client with bearer token middleware +function createBedrockClient(): BedrockRuntimeClient { + const client = new BedrockRuntimeClient({ region: "us-east-1" }); + + // Add middleware to inject bearer token if present + const token = process.env.AWS_BEARER_TOKEN_BEDROCK; + if (token) { + client.middlewareStack.add( + (next) => async (args) => { + const request = + // eslint-disable-next-line @typescript-eslint/consistent-type-assertions -- AWS SDK middleware requires type assertion for request object + (args as { request?: { headers?: Record } }).request; + if (request) { + if (!request.headers) { + request.headers = {}; + } + request.headers["Authorization"] = `Bearer ${token}`; + } + return next(args); + }, + { step: "build", name: "addBearerToken" } + ); + } + + return client; +} + +type ParallelBedrockResult = + | { + type: "response"; + data: ConverseResponse; + } + | { + type: "streamingResponse"; + data: Array; + }; + +export async function executeBedrock( + caseName: string, + payload: BedrockConverseRequest, + stream?: boolean +): Promise< + CaptureResult +> { + const client = createBedrockClient(); + const result: CaptureResult< + BedrockConverseRequest, + ConverseResponse, + ConverseStreamOutput + > = { request: payload }; + + try { + // Create promises for parallel execution + const promises: Promise[] = []; + + // Add non-streaming call if requested + if (stream !== true) { + promises.push( + client + .send(new ConverseCommand(payload)) + .then((response) => ({ type: "response", data: response })) + ); + } + + // Add streaming call if requested + if (stream !== false) { + promises.push( + (async () => { + const streamChunks: Array = []; + const streamResponse = await client.send( + new ConverseStreamCommand(payload) + ); + + if (streamResponse.stream) { + for await (const event of streamResponse.stream) { + streamChunks.push(event); + } + } + return { type: "streamingResponse", data: streamChunks }; + })() + ); + } + + // Execute initial calls in parallel + const initialResults = await Promise.all(promises); + + // Process results + for (const result_ of initialResults) { + if (result_.type === "response") { + result.response = result_.data; + } else if (result_.type === "streamingResponse") { + result.streamingResponse = result_.data; + } + } + + // Create follow-up conversation if we have a non-streaming response + // Skip follow-up for multimodal requests as image buffers don't serialize correctly + const hasImages = payload.messages?.some((msg) => + msg.content?.some( + (block) => "image" in block || "document" in block || "video" in block + ) + ); + + if (result.response && !hasImages) { + const outputMessage = result.response.output?.message; + + if (outputMessage) { + // Build follow-up messages + const followUpMessages: Message[] = [ + ...(payload.messages || []), + outputMessage, + ]; + + // Check if the assistant message contains tool use + const assistantContent = outputMessage.content || []; + let hasToolCalls = false; + + for (const block of assistantContent) { + if ("toolUse" in block && block.toolUse) { + hasToolCalls = true; + // Add tool result for each tool use + followUpMessages.push({ + role: "user", + content: [ + { + toolResult: { + toolUseId: block.toolUse.toolUseId, + content: [{ text: "71 degrees" }], + }, + }, + ], + }); + } + } + + // If no tool calls were found, add the generic follow-up message + if (!hasToolCalls) { + followUpMessages.push({ + role: "user", + content: [{ text: "What should I do next?" }], + }); + } + + const followUpPayload: BedrockConverseRequest = { + ...payload, + messages: followUpMessages, + }; + + result.followupRequest = followUpPayload; + + // Create follow-up promises for parallel execution + type FollowupBedrockResult = + | { + type: "followupResponse"; + data: ConverseResponse; + } + | { + type: "followupStreamingResponse"; + data: Array; + }; + + const followupPromises: Promise[] = []; + + if (stream !== true) { + followupPromises.push( + client + .send(new ConverseCommand(followUpPayload)) + .then((response) => ({ + type: "followupResponse", + data: response, + })) + ); + } + + if (stream !== false) { + followupPromises.push( + (async () => { + const followupStreamChunks: Array = []; + const followupStreamResponse = await client.send( + new ConverseStreamCommand(followUpPayload) + ); + + if (followupStreamResponse.stream) { + for await (const event of followupStreamResponse.stream) { + followupStreamChunks.push(event); + } + } + return { + type: "followupStreamingResponse", + data: followupStreamChunks, + }; + })() + ); + } + + // Execute follow-up calls in parallel + if (followupPromises.length > 0) { + const followupResults = await Promise.all(followupPromises); + + for (const result_ of followupResults) { + if (result_.type === "followupResponse") { + result.followupResponse = result_.data; + } else if (result_.type === "followupStreamingResponse") { + result.followupStreamingResponse = result_.data; + } + } + } + } + } + } catch (error) { + result.error = String(error); + } + + return result; +} + +export const bedrockExecutor: ProviderExecutor< + BedrockConverseRequest, + ConverseResponse, + ConverseStreamOutput +> = { + name: "bedrock", + cases: bedrockCases, + execute: executeBedrock, +}; diff --git a/payloads/scripts/providers/google.ts b/payloads/scripts/providers/google.ts new file mode 100644 index 00000000..591381e1 --- /dev/null +++ b/payloads/scripts/providers/google.ts @@ -0,0 +1,240 @@ +import { GoogleGenAI } from "@google/genai"; +import type { GenerateContentResponse, Content } from "@google/genai"; +import { CaptureResult, ProviderExecutor } from "../types"; +import { + allTestCases, + getCaseNames, + getCaseForProvider, + GoogleGenerateContentRequest, + GOOGLE_MODEL, +} from "../../cases"; + +// Google cases - extracted from unified cases +export const googleCases: Record = {}; + +// Populate cases from unified structure +getCaseNames(allTestCases).forEach((caseName) => { + const caseData = getCaseForProvider(allTestCases, caseName, "google"); + if (caseData) { + googleCases[caseName] = caseData; + } +}); + +type ParallelGoogleResult = + | { + type: "response"; + data: GenerateContentResponse; + } + | { + type: "streamingResponse"; + data: Array; + }; + +export async function executeGoogle( + caseName: string, + payload: GoogleGenerateContentRequest, + stream?: boolean +): Promise< + CaptureResult< + GoogleGenerateContentRequest, + GenerateContentResponse, + GenerateContentResponse + > +> { + const client = new GoogleGenAI({ apiKey: process.env.GOOGLE_API_KEY }); + const result: CaptureResult< + GoogleGenerateContentRequest, + GenerateContentResponse, + GenerateContentResponse + > = { request: payload }; + + try { + // Create promises for parallel execution + const promises: Promise[] = []; + + // Build config with tools and other settings + const config = { + ...payload.config, + tools: payload.tools, + systemInstruction: payload.systemInstruction, + }; + + // Add non-streaming call if requested + if (stream !== true) { + promises.push( + client.models + .generateContent({ + model: GOOGLE_MODEL, + contents: payload.contents, + config, + }) + .then((response) => ({ type: "response", data: response })) + ); + } + + // Add streaming call if requested + if (stream !== false) { + promises.push( + (async () => { + const streamChunks: Array = []; + const streamResponse = await client.models.generateContentStream({ + model: GOOGLE_MODEL, + contents: payload.contents, + config, + }); + + for await (const chunk of streamResponse) { + streamChunks.push(chunk); + } + return { type: "streamingResponse", data: streamChunks }; + })() + ); + } + + // Execute initial calls in parallel + const initialResults = await Promise.all(promises); + + // Process results + for (const result_ of initialResults) { + if (result_.type === "response") { + result.response = result_.data; + } else if (result_.type === "streamingResponse") { + result.streamingResponse = result_.data; + } + } + + // Create follow-up conversation if we have a non-streaming response + if (result.response) { + const assistantContent = result.response.candidates?.[0]?.content; + + if (assistantContent) { + // Build follow-up messages + const followUpContents: Content[] = [ + ...payload.contents, + assistantContent, + ]; + + // Check if the assistant message contains function calls + const assistantParts = assistantContent.parts || []; + let hasToolCalls = false; + + for (const part of assistantParts) { + if ("functionCall" in part && part.functionCall) { + hasToolCalls = true; + // Add function response for each function call + followUpContents.push({ + role: "user", + parts: [ + { + functionResponse: { + name: part.functionCall.name, + response: { temperature: "71 degrees" }, + }, + }, + ], + }); + } + } + + // If no tool calls were found, add the generic follow-up message + if (!hasToolCalls) { + followUpContents.push({ + role: "user", + parts: [{ text: "What should I do next?" }], + }); + } + + const followUpPayload: GoogleGenerateContentRequest = { + ...payload, + contents: followUpContents, + }; + + result.followupRequest = followUpPayload; + + // Create follow-up promises for parallel execution + type FollowupGoogleResult = + | { + type: "followupResponse"; + data: GenerateContentResponse; + } + | { + type: "followupStreamingResponse"; + data: Array; + }; + + const followupPromises: Promise[] = []; + + // Build followup config with tools and other settings + const followupConfig = { + ...followUpPayload.config, + tools: followUpPayload.tools, + systemInstruction: followUpPayload.systemInstruction, + }; + + if (stream !== true) { + followupPromises.push( + client.models + .generateContent({ + model: GOOGLE_MODEL, + contents: followUpPayload.contents, + config: followupConfig, + }) + .then((response) => ({ + type: "followupResponse", + data: response, + })) + ); + } + + if (stream !== false) { + followupPromises.push( + (async () => { + const followupStreamChunks: Array = []; + const followupStreamResponse = + await client.models.generateContentStream({ + model: GOOGLE_MODEL, + contents: followUpPayload.contents, + config: followupConfig, + }); + + for await (const chunk of followupStreamResponse) { + followupStreamChunks.push(chunk); + } + return { + type: "followupStreamingResponse", + data: followupStreamChunks, + }; + })() + ); + } + + // Execute follow-up calls in parallel + if (followupPromises.length > 0) { + const followupResults = await Promise.all(followupPromises); + + for (const result_ of followupResults) { + if (result_.type === "followupResponse") { + result.followupResponse = result_.data; + } else if (result_.type === "followupStreamingResponse") { + result.followupStreamingResponse = result_.data; + } + } + } + } + } + } catch (error) { + result.error = String(error); + } + + return result; +} + +export const googleExecutor: ProviderExecutor< + GoogleGenerateContentRequest, + GenerateContentResponse, + GenerateContentResponse +> = { + name: "google", + cases: googleCases, + execute: executeGoogle, +}; diff --git a/payloads/snapshots/complexReasoningRequest/bedrock/followup-request.json b/payloads/snapshots/complexReasoningRequest/bedrock/followup-request.json new file mode 100644 index 00000000..f80bad57 --- /dev/null +++ b/payloads/snapshots/complexReasoningRequest/bedrock/followup-request.json @@ -0,0 +1,32 @@ +{ + "modelId": "us.anthropic.claude-haiku-4-5-20251001-v1:0", + "messages": [ + { + "role": "user", + "content": [ + { + "text": "There is a digital clock, with minutes and hours in the form of 00:00. The clock shows all times from 00:00 to 23:59 and repeating. Imagine you had a list of all these times. Which digit(s) is the most common and which is the rarest? Can you find their percentage?" + } + ] + }, + { + "role": "assistant", + "content": [ + { + "text": "# Digital Clock Digit Analysis\n\nLet me work through this systematically by counting each digit's appearance in all times from 00:00 to 23:59.\n\n## Counting occurrences in one 24-hour cycle:\n\n**Hours (00-23):** 24 values × 2 digits = 48 digits\n**Minutes (00-59):** 60 values × 2 digits = 120 digits\n**Total digits per cycle:** 168 digits\n\n### By position:\n\n**First hour digit (0-2):**\n- 0: appears in 00-09, 20-23 = 14 times\n- 1: appears in 10-19 = 10 times\n- 2: appears in 20-23 = 4 times\n\n**Second hour digit (0-9):**\n- Each digit 0-9 appears in the second position for hours = 2-3 times each\n- 0-3: 3 times each (x,0), (x,1), (x,2), (x,3) where x allows it\n- 4-9: 2 times each\n\n**Minutes (00-59):** \n- Each digit 0-9 appears equally in both positions = 6 times per position per digit\n\n### Total count per digit:\n\n| Digit | Count |\n|-------|-------|\n| 0 | 24 |\n| 1 | 24 |\n| 2 | 21 |\n| 3 | 15 |\n| 4 | 12 |\n| 5 | 12 |\n| 6 | 12 |\n| 7 | 12 |\n| 8 | 12 |\n| 9 | 12 |\n\n## Results:\n\n**Most common digits:** **0 and 1** (tied)\n- **Frequency:** 24 times each\n- **Percentage:** 24/168 = **14.29%**\n\n**Rarest digit:** **3**\n- **Frequency:** 15 times\n- **Percentage:** 15/168 = **8.93%**\n\nThe reason: 3 only appears in limited positions (can't be the first hour digit except at the start, and has limited appearances in minutes), while 0 and 1 dominate the hours column." + } + ] + }, + { + "role": "user", + "content": [ + { + "text": "What should I do next?" + } + ] + } + ], + "inferenceConfig": { + "maxTokens": 20000 + } +} \ No newline at end of file diff --git a/payloads/snapshots/complexReasoningRequest/bedrock/followup-response-streaming.json b/payloads/snapshots/complexReasoningRequest/bedrock/followup-response-streaming.json new file mode 100644 index 00000000..97bffc1c --- /dev/null +++ b/payloads/snapshots/complexReasoningRequest/bedrock/followup-response-streaming.json @@ -0,0 +1,1021 @@ +[ + { + "messageStart": { + "role": "assistant" + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "#" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " Great" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " question" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "! Here are some natural" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " next steps:\n\n## 1." + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " **Verify" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " the" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " answer" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "**" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "\n " + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "- Write" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " a" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " simple program" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " (" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "Python, JavaScript, etc.) to br" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "ute-" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "force count" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " all digits" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " from" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " 00" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": ":" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "00 to 23:59" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "\n - This" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " confirms" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " the" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " manual" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " calculation is correct\n\n## 2." + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " **" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "Exten" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "d the analysis" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "**\n - What" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " about" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " " + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "12" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "-hour format cl" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "ocks" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " (" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "AM" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "/PM)?\n - What if" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " you" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " include" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " seconds" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " (" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "H" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "H:MM:SS)?\n " + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "- Which" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " digit" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " appears least" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " in" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " seconds" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " specifically" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "?\n\n## 3. **" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "Explore patterns" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "**\n - Create" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " a visualization" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " (" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "bar" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " chart) of" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " digit frequency\n - Which" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " digits are" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " completely" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " absent" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " at" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " certain positions" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "?\n - What's" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " the digit" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " frequency" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " for" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " just" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " the hours" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " vs." + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " just" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " the minutes?\n\n## 4." + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " **Real" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "-world applications**\n - How" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " would this" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " apply to digital displays" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": ", seven" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "-segment displays, or LED" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " usage" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "?\n - Which" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " digit requires" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " the most \"" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "light" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "\" to" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " display" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "?" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "\n - Power" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " consumption implications" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "?\n\n## 5. **Challenge" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " yourself further" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "**\n - What" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " if you include dates" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " (YYYY-MM-DD H" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "H:MM:" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "SS)?\n - What" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " digits" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " appear in all possible" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " times" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "?\n - What" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " digits" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " never" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " appear in certain" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " positions?\n\n## 6. **" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "Coding" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " project" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "**" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "\n - Build an" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " interactive tool showing" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " digit frequency for" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " any" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " time range" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "\n -" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " Animate" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " which" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " digits are use" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "d throughout" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " the day" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "\n\n**" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "Which" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " of" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " these interests you most?** I'm" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " happy to dive deeper into any of them" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "!" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockStop": { + "contentBlockIndex": 0 + } + }, + { + "messageStop": { + "stopReason": "end_turn" + } + }, + { + "metadata": { + "usage": { + "inputTokens": 640, + "outputTokens": 339, + "totalTokens": 979 + }, + "metrics": { + "latencyMs": 3756 + } + } + } +] \ No newline at end of file diff --git a/payloads/snapshots/complexReasoningRequest/bedrock/followup-response.json b/payloads/snapshots/complexReasoningRequest/bedrock/followup-response.json new file mode 100644 index 00000000..4fb523c0 --- /dev/null +++ b/payloads/snapshots/complexReasoningRequest/bedrock/followup-response.json @@ -0,0 +1,29 @@ +{ + "output": { + "message": { + "role": "assistant", + "content": [ + { + "text": "# Great question! Here are some logical next steps:\n\n## **1. Verify your work**\n- Write out or code a program to count all 1,440 times (24 hrs × 60 min) and confirm the numbers\n- This is a good sanity check on the math\n\n## **2. Extend the analysis**\n- **By position:** Which digit appears most in each of the 4 positions separately?\n- **Segments:** Analyze the patterns in individual 12-hour or 6-hour blocks\n- **Visual representation:** Create a bar chart or graph of digit frequency\n\n## **3. Explore related puzzles**\n- What about an **analog clock** with hour and minute hands?\n- What if you include **seconds** (HH:MM:SS)?\n- How would this change on a **12-hour format** instead of 24-hour?\n- What about a **calendar** - which digits appear most in dates?\n\n## **4. Practical applications**\n- Seven-segment display analysis (which segments light up most often?)\n- Energy consumption based on which segments are used most\n- Wear patterns on digital clock displays\n\n## **5. Make it harder**\n- Find patterns in **specific times** (e.g., palindromic times, sequential digits)\n- Calculate which digit combinations never appear together\n- Find the \"rarest time\" based on total digit rarity\n\n**What interests you most?** I'd be happy to dive deeper into any of these!" + } + ] + } + }, + "stopReason": "end_turn", + "usage": { + "inputTokens": 640, + "outputTokens": 333, + "totalTokens": 973, + "cacheReadInputTokens": 0, + "cacheWriteInputTokens": 0 + }, + "metrics": { + "latencyMs": 4338 + }, + "$metadata": { + "httpStatusCode": 200, + "requestId": "5e1782c6-694e-47d3-af76-cf46a8d22108", + "attempts": 1, + "totalRetryDelay": 0 + } +} \ No newline at end of file diff --git a/payloads/snapshots/complexReasoningRequest/bedrock/request.json b/payloads/snapshots/complexReasoningRequest/bedrock/request.json new file mode 100644 index 00000000..8fdceb8a --- /dev/null +++ b/payloads/snapshots/complexReasoningRequest/bedrock/request.json @@ -0,0 +1,16 @@ +{ + "modelId": "us.anthropic.claude-haiku-4-5-20251001-v1:0", + "messages": [ + { + "role": "user", + "content": [ + { + "text": "There is a digital clock, with minutes and hours in the form of 00:00. The clock shows all times from 00:00 to 23:59 and repeating. Imagine you had a list of all these times. Which digit(s) is the most common and which is the rarest? Can you find their percentage?" + } + ] + } + ], + "inferenceConfig": { + "maxTokens": 20000 + } +} \ No newline at end of file diff --git a/payloads/snapshots/complexReasoningRequest/bedrock/response-streaming.json b/payloads/snapshots/complexReasoningRequest/bedrock/response-streaming.json new file mode 100644 index 00000000..408429b3 --- /dev/null +++ b/payloads/snapshots/complexReasoningRequest/bedrock/response-streaming.json @@ -0,0 +1,1549 @@ +[ + { + "messageStart": { + "role": "assistant" + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "#" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " Digital Clock" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " Digit Analysis\n\nI" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " need to count" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " how" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " many times each digit (" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "0-9) appears in all times" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " from 00:00 to " + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "23:59." + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "\n\n##" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " Setup" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "\n- Total" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " times" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": ": 24 hours ×" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " 60 minutes =" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " **" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "1,440 times" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "**\n- Each" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " time" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " has" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " 4" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " digits (H" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "H:MM format" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": ")" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "\n- Total" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " digits displaye" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "d: 1,440 × " + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "4 = **5" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": ",760 digits**\n\n##" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " Counting" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " by Position" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "\n\n### Hours (00-23):" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "\n- **Tens" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " place" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "**: 0(" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "0-" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "9)" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "=" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "10" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " " + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "times," + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " 1(10" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "-19)=10 times," + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " 2(20-23)=" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "4" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " times\n- **Units place**:" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " Each" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " digit" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " 0-9 appears in" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " hours" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " twice" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " (except" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " 4" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "-9 appear" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " " + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "2" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " times," + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " 0" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "-" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "3" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " appear 3" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " times)" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "\n\n### Minutes (00-59):" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "\n- **" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "Tens place**: 0(0" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "-9)=10 times," + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " 1(10-19)=" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "10 times, 2(20" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "-29)=10 times," + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " 3(30-39)=" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "10 times, 4(40" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "-49)=10 times," + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " 5(50-59)=" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "10 times\n- **Units place" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "**: Each" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " digit 0-9 appears " + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "6" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " times" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "\n\n## Complete" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " Count" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " (" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "per" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " digit per" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " position across" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " all " + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "1" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": ",440 times):" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "\n\n**Hours" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " tens" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": ":**" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " 0" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "→" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "10" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "," + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " 1→10, 2→" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "4, others" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "→0" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "\n**" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "Hours units:** 0→3" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": ", 1→3, 2" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "→3, 3→3," + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " 4→2" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": ", 5→2, 6" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "→2, 7→2," + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " 8→2, 9→" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "2" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "\n**Minutes tens:** 0→10" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": ", 1→10, 2" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "→10, 3→10," + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " 4→10, 5→" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "10, others" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "→0\n**Minutes units:** " + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "0→6, 1→6" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": ", 2→6, 3" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "→6, 4→6," + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " 5→6, 6→" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "6, 7→6, " + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "8→6, 9→6" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "\n\n## Final" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " T" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "ally:" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "\n\n|" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " Digit | Count |" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "\n|-------|-------|\n|" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " **" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "0** | 10" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "+" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "3" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "+10" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "+6" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " " + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "= **" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "29" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "** |" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "\n| **1** | 10" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "+3+10+6 =" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " **29** |\n| **2" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "** | 4+3+10" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "+6 = **23** |" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "\n| **3** | 0" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "+3+10+6 =" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " **19** |\n| **4" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "** | 0+2" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "+10+6 = **18" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "** |\n| **5** |" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " 0+2+10+6" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " = **18** |\n|" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " **6** | 0+2" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "+0" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "+6 = **8** |" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "\n| **7** | 0" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "+2+0+6 =" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " **8** |\n| **8" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "** | 0+2+0" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "+6 = **8** |" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "\n| **9** | 0" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "+2+0+6 =" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " **8** |\n\n## Results" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "\n\n**" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "Most common:**" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " **0 " + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "an" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "d 1** (tie" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "d)" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "\n- Frequency" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": ": 29 times each" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "\n- **" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "Percentage:" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " 29/" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "5," + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "760 = 0.504" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "%**\n\n**Rarest:**" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " **6," + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " 7, 8, an" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "d 9** (tie" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "d)\n- Frequency: 8" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " times each\n- **Percentage" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": ": 8/5,760 " + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "= 0.139" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "%**\n\nThe" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " most common digits" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " appear" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " **" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "3" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "." + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "6" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " " + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "times more" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " frequently** than the rarest ones" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "!" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockStop": { + "contentBlockIndex": 0 + } + }, + { + "messageStop": { + "stopReason": "end_turn" + } + }, + { + "metadata": { + "usage": { + "inputTokens": 80, + "outputTokens": 833, + "totalTokens": 913 + }, + "metrics": { + "latencyMs": 5367 + } + } + } +] \ No newline at end of file diff --git a/payloads/snapshots/complexReasoningRequest/bedrock/response.json b/payloads/snapshots/complexReasoningRequest/bedrock/response.json new file mode 100644 index 00000000..cc639d01 --- /dev/null +++ b/payloads/snapshots/complexReasoningRequest/bedrock/response.json @@ -0,0 +1,29 @@ +{ + "output": { + "message": { + "role": "assistant", + "content": [ + { + "text": "# Digital Clock Digit Analysis\n\nLet me work through this systematically by counting each digit's appearance in all times from 00:00 to 23:59.\n\n## Counting occurrences in one 24-hour cycle:\n\n**Hours (00-23):** 24 values × 2 digits = 48 digits\n**Minutes (00-59):** 60 values × 2 digits = 120 digits\n**Total digits per cycle:** 168 digits\n\n### By position:\n\n**First hour digit (0-2):**\n- 0: appears in 00-09, 20-23 = 14 times\n- 1: appears in 10-19 = 10 times\n- 2: appears in 20-23 = 4 times\n\n**Second hour digit (0-9):**\n- Each digit 0-9 appears in the second position for hours = 2-3 times each\n- 0-3: 3 times each (x,0), (x,1), (x,2), (x,3) where x allows it\n- 4-9: 2 times each\n\n**Minutes (00-59):** \n- Each digit 0-9 appears equally in both positions = 6 times per position per digit\n\n### Total count per digit:\n\n| Digit | Count |\n|-------|-------|\n| 0 | 24 |\n| 1 | 24 |\n| 2 | 21 |\n| 3 | 15 |\n| 4 | 12 |\n| 5 | 12 |\n| 6 | 12 |\n| 7 | 12 |\n| 8 | 12 |\n| 9 | 12 |\n\n## Results:\n\n**Most common digits:** **0 and 1** (tied)\n- **Frequency:** 24 times each\n- **Percentage:** 24/168 = **14.29%**\n\n**Rarest digit:** **3**\n- **Frequency:** 15 times\n- **Percentage:** 15/168 = **8.93%**\n\nThe reason: 3 only appears in limited positions (can't be the first hour digit except at the start, and has limited appearances in minutes), while 0 and 1 dominate the hours column." + } + ] + } + }, + "stopReason": "end_turn", + "usage": { + "inputTokens": 80, + "outputTokens": 551, + "totalTokens": 631, + "cacheReadInputTokens": 0, + "cacheWriteInputTokens": 0 + }, + "metrics": { + "latencyMs": 4631 + }, + "$metadata": { + "httpStatusCode": 200, + "requestId": "1e0933e0-3629-49bf-ac0f-201b6e0d3420", + "attempts": 1, + "totalRetryDelay": 0 + } +} \ No newline at end of file diff --git a/payloads/snapshots/complexReasoningRequest/google/followup-request.json b/payloads/snapshots/complexReasoningRequest/google/followup-request.json new file mode 100644 index 00000000..f69b64b5 --- /dev/null +++ b/payloads/snapshots/complexReasoningRequest/google/followup-request.json @@ -0,0 +1,31 @@ +{ + "contents": [ + { + "role": "user", + "parts": [ + { + "text": "There is a digital clock, with minutes and hours in the form of 00:00. The clock shows all times from 00:00 to 23:59 and repeating. Imagine you had a list of all these times. Which digit(s) is the most common and which is the rarest? Can you find their percentage?" + } + ] + }, + { + "parts": [ + { + "text": "Let's break this down step by step:\n\n1. **Total Number of Times:**\n * Hours go from 00 to 23 (24 distinct hours).\n * Minutes go from 00 to 59 (60 distinct minutes).\n * Total number of times displayed = 24 hours * 60 minutes = 1440 times.\n\n2. **Total Number of Digits Displayed:**\n * Each time (e.g., 00:00) consists of 4 digits.\n * Total digits displayed across all times = 1440 times * 4 digits/time = 5760 digits.\n * This will be the denominator for our percentages.\n\n3. **Counting Occurrences for Each Digit (0-9):**\n\n Let's consider each digit position:\n * `H1 H2 : M1 M2`\n\n **A. Occurrences in the Minutes (M1, M2):**\n There are 24 hours in a day. For each hour, the minutes go from 00 to 59.\n\n * **M2 (Minutes Units Place, 0-59):**\n In the range 00-59, each digit (0-9) appears exactly 6 times (e.g., 00, 10, 20, 30, 40, 50 for digit 0; 01, 11, 21, 31, 41, 51 for digit 1, etc.).\n So, for each hour, each digit 0-9 appears 6 times in the M2 position.\n Over 24 hours: 6 occurrences/hour * 24 hours = **144** times for each digit (0-9) in M2.\n\n * **M1 (Minutes Tens Place, 0-59):**\n In the range 00-59:\n * Digit 0 appears 10 times (00-09)\n * Digit 1 appears 10 times (10-19)\n * Digit 2 appears 10 times (20-29)\n * Digit 3 appears 10 times (30-39)\n * Digit 4 appears 10 times (40-49)\n * Digit 5 appears 10 times (50-59)\n * Digits 6, 7, 8, 9 appear 0 times.\n Over 24 hours:\n * Digits 0-5: 10 occurrences/hour * 24 hours = **240** times each.\n * Digits 6-9: **0** times each.\n\n **B. Occurrences in the Hours (H1, H2):**\n There are 60 minutes in an hour. For each minute, the hours go from 00 to 23.\n\n * **H2 (Hours Units Place, 0-23):**\n In the range 00-23:\n * Digits 0, 1, 2, 3 each appear 3 times (e.g., 00, 10, 20 for digit 0; 01, 11, 21 for digit 1; etc. and 03, 13, 23 for digit 3).\n * Digits 4, 5, 6, 7, 8, 9 each appear 2 times (e.g., 04, 14 for digit 4; 09, 19 for digit 9).\n Over 60 minutes:\n * Digits 0, 1, 2, 3: 3 occurrences/minute * 60 minutes = **180** times each.\n * Digits 4, 5, 6, 7, 8, 9: 2 occurrences/minute * 60 minutes = **120** times each.\n\n * **H1 (Hours Tens Place, 0-23):**\n In the range 00-23:\n * Digit 0 appears 10 times (00-09).\n * Digit 1 appears 10 times (10-19).\n * Digit 2 appears 4 times (20-23).\n * Digits 3, 4, 5, 6, 7, 8, 9 appear 0 times.\n Over 60 minutes:\n * Digits 0, 1: 10 occurrences/minute * 60 minutes = **600** times each.\n * Digit 2: 4 occurrences/minute * 60 minutes = **240** times.\n * Digits 3-9: **0** times each.\n\n4. **Total Occurrences for Each Digit:**\n\n * **Digit 0:** (M2) 144 + (M1) 240 + (H2) 180 + (H1) 600 = **1164**\n * **Digit 1:** (M2) 144 + (M1) 240 + (H2) 180 + (H1) 600 = **1164**\n * **Digit 2:** (M2) 144 + (M1) 240 + (H2) 180 + (H1) 240 = **804**\n * **Digit 3:** (M2) 144 + (M1) 240 + (H2) 180 + (H1) 0 = **564**\n * **Digit 4:** (M2) 144 + (M1) 240 + (H2) 120 + (H1) 0 = **504**\n * **Digit 5:** (M2) 144 + (M1) 240 + (H2) 120 + (H1) 0 = **504**\n * **Digit 6:** (M2) 144 + (M1) 0 + (H2) 120 + (H1) 0 = **264**\n * **Digit 7:** (M2) 144 + (M1) 0 + (H2) 120 + (H1) 0 = **264**\n * **Digit 8:** (M2) 144 + (M1) 0 + (H2) 120 + (H1) 0 = **264**\n * **Digit 9:** (M2) 144 + (M1) 0 + (H2) 120 + (H1) 0 = **264**\n\n *Self-check: Sum of all occurrences = 1164 + 1164 + 804 + 564 + 504 + 504 + 264 + 264 + 264 + 264 = 5760. This matches our total digits!*\n\n5. **Most Common and Rarest Digits:**\n\n * **Most Common Digit(s):** Digits **0** and **1** (1164 occurrences each).\n * **Rarest Digit(s):** Digits **6**, **7**, **8**, and **9** (264 occurrences each).\n\n6. **Calculate Percentages:**\n\n * **Percentage for Most Common (Digits 0 and 1):**\n (1164 / 5760) * 100% $\\approx$ **20.21%**\n\n * **Percentage for Rarest (Digits 6, 7, 8, and 9):**\n (264 / 5760) * 100% $\\approx$ **4.58%**\n\n---\n\n**Summary:**\n\n* **Most Common Digit(s):** **0** and **1**\n * Each appears 1164 times.\n * Percentage: **20.21%** each.\n\n* **Rarest Digit(s):** **6**, **7**, **8**, and **9**\n * Each appears 264 times.\n * Percentage: **4.58%** each." + } + ], + "role": "model" + }, + { + "role": "user", + "parts": [ + { + "text": "What should I do next?" + } + ] + } + ], + "config": { + "maxOutputTokens": 20000 + } +} \ No newline at end of file diff --git a/payloads/snapshots/complexReasoningRequest/google/followup-response-streaming.json b/payloads/snapshots/complexReasoningRequest/google/followup-response-streaming.json new file mode 100644 index 00000000..c9bfb99f --- /dev/null +++ b/payloads/snapshots/complexReasoningRequest/google/followup-response-streaming.json @@ -0,0 +1,619 @@ +[ + { + "candidates": [ + { + "content": { + "parts": [ + { + "text": "That's a great question! Now that you have the detailed solution, here are several things you could do next, depending on your interest:\n\n1. **Verify or Double-Check:**\n * **Write a small" + } + ], + "role": "model" + }, + "index": 0 + } + ], + "modelVersion": "gemini-2.5-flash", + "responseId": "NfJHaY3mK8rSjrEPlYyAmQk", + "usageMetadata": { + "promptTokenCount": 2081, + "candidatesTokenCount": 48, + "totalTokenCount": 2962, + "promptTokensDetails": [ + { + "modality": "TEXT", + "tokenCount": 2081 + } + ], + "thoughtsTokenCount": 833 + }, + "sdkHttpResponse": { + "headers": { + "alt-svc": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000", + "content-disposition": "attachment", + "content-type": "text/event-stream", + "date": "Sun, 21 Dec 2025 13:12:26 GMT", + "server": "scaffolding on HTTPServer2", + "server-timing": "gfet4t7; dur=5085", + "transfer-encoding": "chunked", + "vary": "Origin, X-Origin, Referer", + "x-content-type-options": "nosniff", + "x-frame-options": "SAMEORIGIN", + "x-xss-protection": "0" + } + } + }, + { + "candidates": [ + { + "content": { + "parts": [ + { + "text": " program:** If you know a programming language (like Python), you could write a script to iterate through all 1440 times, count the occurrences of each digit, and compare the results with my calculations. This is an excellent way to independently" + } + ], + "role": "model" + }, + "index": 0 + } + ], + "modelVersion": "gemini-2.5-flash", + "responseId": "NfJHaY3mK8rSjrEPlYyAmQk", + "usageMetadata": { + "promptTokenCount": 2081, + "candidatesTokenCount": 98, + "totalTokenCount": 3012, + "promptTokensDetails": [ + { + "modality": "TEXT", + "tokenCount": 2081 + } + ], + "thoughtsTokenCount": 833 + }, + "sdkHttpResponse": { + "headers": { + "alt-svc": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000", + "content-disposition": "attachment", + "content-type": "text/event-stream", + "date": "Sun, 21 Dec 2025 13:12:26 GMT", + "server": "scaffolding on HTTPServer2", + "server-timing": "gfet4t7; dur=5085", + "transfer-encoding": "chunked", + "vary": "Origin, X-Origin, Referer", + "x-content-type-options": "nosniff", + "x-frame-options": "SAMEORIGIN", + "x-xss-protection": "0" + } + } + }, + { + "candidates": [ + { + "content": { + "parts": [ + { + "text": " verify the answer and practice your coding skills.\n * **Manually sample:** Pick a smaller range (e.g., just the hours from 00:00 to 01:59) and manually count digits" + } + ], + "role": "model" + }, + "index": 0 + } + ], + "modelVersion": "gemini-2.5-flash", + "responseId": "NfJHaY3mK8rSjrEPlYyAmQk", + "usageMetadata": { + "promptTokenCount": 2081, + "candidatesTokenCount": 147, + "totalTokenCount": 3061, + "promptTokensDetails": [ + { + "modality": "TEXT", + "tokenCount": 2081 + } + ], + "thoughtsTokenCount": 833 + }, + "sdkHttpResponse": { + "headers": { + "alt-svc": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000", + "content-disposition": "attachment", + "content-type": "text/event-stream", + "date": "Sun, 21 Dec 2025 13:12:26 GMT", + "server": "scaffolding on HTTPServer2", + "server-timing": "gfet4t7; dur=5085", + "transfer-encoding": "chunked", + "vary": "Origin, X-Origin, Referer", + "x-content-type-options": "nosniff", + "x-frame-options": "SAMEORIGIN", + "x-xss-protection": "0" + } + } + }, + { + "candidates": [ + { + "content": { + "parts": [ + { + "text": " to ensure you understand the logic for each position.\n\n2. **Explore Variations / Generalize the Problem:**\n * **12-hour clock:** How would the results change if it were a 12-hour clock (" + } + ], + "role": "model" + }, + "index": 0 + } + ], + "modelVersion": "gemini-2.5-flash", + "responseId": "NfJHaY3mK8rSjrEPlYyAmQk", + "usageMetadata": { + "promptTokenCount": 2081, + "candidatesTokenCount": 197, + "totalTokenCount": 3111, + "promptTokensDetails": [ + { + "modality": "TEXT", + "tokenCount": 2081 + } + ], + "thoughtsTokenCount": 833 + }, + "sdkHttpResponse": { + "headers": { + "alt-svc": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000", + "content-disposition": "attachment", + "content-type": "text/event-stream", + "date": "Sun, 21 Dec 2025 13:12:26 GMT", + "server": "scaffolding on HTTPServer2", + "server-timing": "gfet4t7; dur=5085", + "transfer-encoding": "chunked", + "vary": "Origin, X-Origin, Referer", + "x-content-type-options": "nosniff", + "x-frame-options": "SAMEORIGIN", + "x-xss-protection": "0" + } + } + }, + { + "candidates": [ + { + "content": { + "parts": [ + { + "text": "01:00 to 12:59, then repeating, perhaps with AM/PM)? Or 00:00 to 11:59? (This would significantly change the hour digits).\n *" + } + ], + "role": "model" + }, + "index": 0 + } + ], + "modelVersion": "gemini-2.5-flash", + "responseId": "NfJHaY3mK8rSjrEPlYyAmQk", + "usageMetadata": { + "promptTokenCount": 2081, + "candidatesTokenCount": 246, + "totalTokenCount": 3160, + "promptTokensDetails": [ + { + "modality": "TEXT", + "tokenCount": 2081 + } + ], + "thoughtsTokenCount": 833 + }, + "sdkHttpResponse": { + "headers": { + "alt-svc": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000", + "content-disposition": "attachment", + "content-type": "text/event-stream", + "date": "Sun, 21 Dec 2025 13:12:26 GMT", + "server": "scaffolding on HTTPServer2", + "server-timing": "gfet4t7; dur=5085", + "transfer-encoding": "chunked", + "vary": "Origin, X-Origin, Referer", + "x-content-type-options": "nosniff", + "x-frame-options": "SAMEORIGIN", + "x-xss-protection": "0" + } + } + }, + { + "candidates": [ + { + "content": { + "parts": [ + { + "text": " **Different clock format:** What if the clock displayed seconds too (00:00:00 to 23:59:59)? Which digits would be most/least common then?\n * **" + } + ], + "role": "model" + }, + "index": 0 + } + ], + "modelVersion": "gemini-2.5-flash", + "responseId": "NfJHaY3mK8rSjrEPlYyAmQk", + "usageMetadata": { + "promptTokenCount": 2081, + "candidatesTokenCount": 293, + "totalTokenCount": 3207, + "promptTokensDetails": [ + { + "modality": "TEXT", + "tokenCount": 2081 + } + ], + "thoughtsTokenCount": 833 + }, + "sdkHttpResponse": { + "headers": { + "alt-svc": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000", + "content-disposition": "attachment", + "content-type": "text/event-stream", + "date": "Sun, 21 Dec 2025 13:12:26 GMT", + "server": "scaffolding on HTTPServer2", + "server-timing": "gfet4t7; dur=5085", + "transfer-encoding": "chunked", + "vary": "Origin, X-Origin, Referer", + "x-content-type-options": "nosniff", + "x-frame-options": "SAMEORIGIN", + "x-xss-protection": "0" + } + } + }, + { + "candidates": [ + { + "content": { + "parts": [ + { + "text": "Different base system:** (More advanced) What if the clock worked in a base-8 system (octal) or base-16 system (hexadecimal)? How would you even represent time then? (This would be a much harder problem" + } + ], + "role": "model" + }, + "index": 0 + } + ], + "modelVersion": "gemini-2.5-flash", + "responseId": "NfJHaY3mK8rSjrEPlYyAmQk", + "usageMetadata": { + "promptTokenCount": 2081, + "candidatesTokenCount": 342, + "totalTokenCount": 3256, + "promptTokensDetails": [ + { + "modality": "TEXT", + "tokenCount": 2081 + } + ], + "thoughtsTokenCount": 833 + }, + "sdkHttpResponse": { + "headers": { + "alt-svc": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000", + "content-disposition": "attachment", + "content-type": "text/event-stream", + "date": "Sun, 21 Dec 2025 13:12:26 GMT", + "server": "scaffolding on HTTPServer2", + "server-timing": "gfet4t7; dur=5085", + "transfer-encoding": "chunked", + "vary": "Origin, X-Origin, Referer", + "x-content-type-options": "nosniff", + "x-frame-options": "SAMEORIGIN", + "x-xss-protection": "0" + } + } + }, + { + "candidates": [ + { + "content": { + "parts": [ + { + "text": ", involving redefining time units).\n * **Specific digit analysis:** Pick one of the \"rare\" digits (e.g., 9). Can you specifically pinpoint *why* it appears so infrequently by looking at the ranges for" + } + ], + "role": "model" + }, + "index": 0 + } + ], + "modelVersion": "gemini-2.5-flash", + "responseId": "NfJHaY3mK8rSjrEPlYyAmQk", + "usageMetadata": { + "promptTokenCount": 2081, + "candidatesTokenCount": 390, + "totalTokenCount": 3304, + "promptTokensDetails": [ + { + "modality": "TEXT", + "tokenCount": 2081 + } + ], + "thoughtsTokenCount": 833 + }, + "sdkHttpResponse": { + "headers": { + "alt-svc": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000", + "content-disposition": "attachment", + "content-type": "text/event-stream", + "date": "Sun, 21 Dec 2025 13:12:26 GMT", + "server": "scaffolding on HTTPServer2", + "server-timing": "gfet4t7; dur=5085", + "transfer-encoding": "chunked", + "vary": "Origin, X-Origin, Referer", + "x-content-type-options": "nosniff", + "x-frame-options": "SAMEORIGIN", + "x-xss-protection": "0" + } + } + }, + { + "candidates": [ + { + "content": { + "parts": [ + { + "text": " H1, H2, M1, M2?\n\n3. **Visualize the Data:**\n * Create a bar chart showing the frequency of each digit (0-9). This can make the differences between the most common" + } + ], + "role": "model" + }, + "index": 0 + } + ], + "modelVersion": "gemini-2.5-flash", + "responseId": "NfJHaY3mK8rSjrEPlYyAmQk", + "usageMetadata": { + "promptTokenCount": 2081, + "candidatesTokenCount": 439, + "totalTokenCount": 3353, + "promptTokensDetails": [ + { + "modality": "TEXT", + "tokenCount": 2081 + } + ], + "thoughtsTokenCount": 833 + }, + "sdkHttpResponse": { + "headers": { + "alt-svc": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000", + "content-disposition": "attachment", + "content-type": "text/event-stream", + "date": "Sun, 21 Dec 2025 13:12:26 GMT", + "server": "scaffolding on HTTPServer2", + "server-timing": "gfet4t7; dur=5085", + "transfer-encoding": "chunked", + "vary": "Origin, X-Origin, Referer", + "x-content-type-options": "nosniff", + "x-frame-options": "SAMEORIGIN", + "x-xss-protection": "0" + } + } + }, + { + "candidates": [ + { + "content": { + "parts": [ + { + "text": " and rarest digits very clear visually.\n\n4. **Think about related problems:**\n * **Palindromic times:** How many times in a day are palindromes (e.g., 01:10," + } + ], + "role": "model" + }, + "index": 0 + } + ], + "modelVersion": "gemini-2.5-flash", + "responseId": "NfJHaY3mK8rSjrEPlYyAmQk", + "usageMetadata": { + "promptTokenCount": 2081, + "candidatesTokenCount": 488, + "totalTokenCount": 3402, + "promptTokensDetails": [ + { + "modality": "TEXT", + "tokenCount": 2081 + } + ], + "thoughtsTokenCount": 833 + }, + "sdkHttpResponse": { + "headers": { + "alt-svc": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000", + "content-disposition": "attachment", + "content-type": "text/event-stream", + "date": "Sun, 21 Dec 2025 13:12:26 GMT", + "server": "scaffolding on HTTPServer2", + "server-timing": "gfet4t7; dur=5085", + "transfer-encoding": "chunked", + "vary": "Origin, X-Origin, Referer", + "x-content-type-options": "nosniff", + "x-frame-options": "SAMEORIGIN", + "x-xss-protection": "0" + } + } + }, + { + "candidates": [ + { + "content": { + "parts": [ + { + "text": " 02:20, 12:21)?\n * **Times with repeating digits:** How many times have all four digits the same (e.g., 11:11)? Or two pairs" + } + ], + "role": "model" + }, + "index": 0 + } + ], + "modelVersion": "gemini-2.5-flash", + "responseId": "NfJHaY3mK8rSjrEPlYyAmQk", + "usageMetadata": { + "promptTokenCount": 2081, + "candidatesTokenCount": 535, + "totalTokenCount": 3449, + "promptTokensDetails": [ + { + "modality": "TEXT", + "tokenCount": 2081 + } + ], + "thoughtsTokenCount": 833 + }, + "sdkHttpResponse": { + "headers": { + "alt-svc": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000", + "content-disposition": "attachment", + "content-type": "text/event-stream", + "date": "Sun, 21 Dec 2025 13:12:26 GMT", + "server": "scaffolding on HTTPServer2", + "server-timing": "gfet4t7; dur=5085", + "transfer-encoding": "chunked", + "vary": "Origin, X-Origin, Referer", + "x-content-type-options": "nosniff", + "x-frame-options": "SAMEORIGIN", + "x-xss-protection": "0" + } + } + }, + { + "candidates": [ + { + "content": { + "parts": [ + { + "text": " of the same digits (e.g., 22:33)?\n * **Times with sequential digits:** How many times show digits in sequence (e.g., 01:23, 12:34" + } + ], + "role": "model" + }, + "index": 0 + } + ], + "modelVersion": "gemini-2.5-flash", + "responseId": "NfJHaY3mK8rSjrEPlYyAmQk", + "usageMetadata": { + "promptTokenCount": 2081, + "candidatesTokenCount": 586, + "totalTokenCount": 3500, + "promptTokensDetails": [ + { + "modality": "TEXT", + "tokenCount": 2081 + } + ], + "thoughtsTokenCount": 833 + }, + "sdkHttpResponse": { + "headers": { + "alt-svc": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000", + "content-disposition": "attachment", + "content-type": "text/event-stream", + "date": "Sun, 21 Dec 2025 13:12:26 GMT", + "server": "scaffolding on HTTPServer2", + "server-timing": "gfet4t7; dur=5085", + "transfer-encoding": "chunked", + "vary": "Origin, X-Origin, Referer", + "x-content-type-options": "nosniff", + "x-frame-options": "SAMEORIGIN", + "x-xss-protection": "0" + } + } + }, + { + "candidates": [ + { + "content": { + "parts": [ + { + "text": ")?\n\n5. **Move on to a completely different type of puzzle/problem:**\n * If you're tired of clocks, we can explore logic puzzles, probability, geometry, or other mathematical challenges.\n\nWhat sounds" + } + ], + "role": "model" + }, + "index": 0 + } + ], + "modelVersion": "gemini-2.5-flash", + "responseId": "NfJHaY3mK8rSjrEPlYyAmQk", + "usageMetadata": { + "promptTokenCount": 2081, + "candidatesTokenCount": 634, + "totalTokenCount": 3548, + "promptTokensDetails": [ + { + "modality": "TEXT", + "tokenCount": 2081 + } + ], + "thoughtsTokenCount": 833 + }, + "sdkHttpResponse": { + "headers": { + "alt-svc": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000", + "content-disposition": "attachment", + "content-type": "text/event-stream", + "date": "Sun, 21 Dec 2025 13:12:26 GMT", + "server": "scaffolding on HTTPServer2", + "server-timing": "gfet4t7; dur=5085", + "transfer-encoding": "chunked", + "vary": "Origin, X-Origin, Referer", + "x-content-type-options": "nosniff", + "x-frame-options": "SAMEORIGIN", + "x-xss-protection": "0" + } + } + }, + { + "candidates": [ + { + "content": { + "parts": [ + { + "text": " most interesting to you? Or do you have another problem in mind?" + } + ], + "role": "model" + }, + "finishReason": "STOP", + "index": 0 + } + ], + "modelVersion": "gemini-2.5-flash", + "responseId": "NfJHaY3mK8rSjrEPlYyAmQk", + "usageMetadata": { + "promptTokenCount": 2081, + "candidatesTokenCount": 648, + "totalTokenCount": 3562, + "promptTokensDetails": [ + { + "modality": "TEXT", + "tokenCount": 2081 + } + ], + "thoughtsTokenCount": 833 + }, + "sdkHttpResponse": { + "headers": { + "alt-svc": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000", + "content-disposition": "attachment", + "content-type": "text/event-stream", + "date": "Sun, 21 Dec 2025 13:12:26 GMT", + "server": "scaffolding on HTTPServer2", + "server-timing": "gfet4t7; dur=5085", + "transfer-encoding": "chunked", + "vary": "Origin, X-Origin, Referer", + "x-content-type-options": "nosniff", + "x-frame-options": "SAMEORIGIN", + "x-xss-protection": "0" + } + } + } +] \ No newline at end of file diff --git a/payloads/snapshots/complexReasoningRequest/google/followup-response.json b/payloads/snapshots/complexReasoningRequest/google/followup-response.json new file mode 100644 index 00000000..c68f1de8 --- /dev/null +++ b/payloads/snapshots/complexReasoningRequest/google/followup-response.json @@ -0,0 +1,45 @@ +{ + "sdkHttpResponse": { + "headers": { + "alt-svc": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000", + "content-encoding": "gzip", + "content-type": "application/json; charset=UTF-8", + "date": "Sun, 21 Dec 2025 13:12:29 GMT", + "server": "scaffolding on HTTPServer2", + "server-timing": "gfet4t7; dur=7745", + "transfer-encoding": "chunked", + "vary": "Origin, X-Origin, Referer", + "x-content-type-options": "nosniff", + "x-frame-options": "SAMEORIGIN", + "x-xss-protection": "0" + } + }, + "candidates": [ + { + "content": { + "parts": [ + { + "text": "That's a great question! Since you've successfully solved the original problem, here are a few ideas for what you could do next, ranging from refining your understanding to exploring related challenges:\n\n**1. Review and Consolidate Your Understanding of THIS Problem:**\n\n* **Double-Check Your Work:** Go through the calculations again, perhaps focusing on one specific digit, to ensure you completely agree with every step.\n* **Explain it to Someone Else:** Try to explain the solution process to a friend, family member, or even just articulate it out loud to yourself. This is a fantastic way to solidify your understanding and identify any areas where your logic might be fuzzy.\n* **Visualize the Data:** If you have spreadsheet software, try inputting the digit counts and creating a bar graph. Seeing the distribution visually can often provide new insights.\n\n**2. Explore Variations and Extensions of the Problem:**\n\n* **12-Hour Clock:** What if it's a 12-hour clock (e.g., 1:00 AM to 12:59 PM, then 1:00 PM to 12:59 AM)? How would the frequencies change? (Remember to consider leading zeros for single-digit hours, or lack thereof, which changes the problem slightly. Assume 01:00-12:59, twice).\n* **Add Seconds:** What if the clock displayed 00:00:00 to 23:59:59? How would the frequencies and percentages change?\n* **Different Display Technology:** Imagine a 7-segment display. Instead of counting digit occurrences, which *segment* (top, top-left, top-right, middle, bottom-left, bottom-right, bottom) is lit up the most often across all times? Which is the rarest? (This is a much harder problem!)\n* **Palindromic Times:** How many times in a day are palindromes (e.g., 01:10, 02:20, 12:21, 23:32)?\n* **Sum of Digits:** Which sum of the four digits is the most common? (e.g., for 12:34, the sum is 1+2+3+4=10).\n* **Specific Digit Pairs:** Which two-digit combination (e.g., \"00\", \"11\", \"12\", \"23\") is most common in the hour or minute parts?\n\n**3. General Problem-Solving Skill Development:**\n\n* **Practice Similar Counting Problems:** Look for other combinatorial or counting problems that require careful enumeration of possibilities.\n* **Automate It:** If you have programming skills, write a script (in Python, JavaScript, etc.) to iterate through all times and count the digits. This can confirm your manual calculations and is a great exercise in itself.\n\nWhich of these sounds most interesting to you? Or do you have another idea in mind?" + } + ], + "role": "model" + }, + "finishReason": "STOP", + "index": 0 + } + ], + "modelVersion": "gemini-2.5-flash", + "responseId": "PPJHadvsO8n4jrEP-P_FwAk", + "usageMetadata": { + "promptTokenCount": 2081, + "candidatesTokenCount": 647, + "totalTokenCount": 3630, + "promptTokensDetails": [ + { + "modality": "TEXT", + "tokenCount": 2081 + } + ], + "thoughtsTokenCount": 902 + } +} \ No newline at end of file diff --git a/payloads/snapshots/complexReasoningRequest/google/request.json b/payloads/snapshots/complexReasoningRequest/google/request.json new file mode 100644 index 00000000..9d3c6372 --- /dev/null +++ b/payloads/snapshots/complexReasoningRequest/google/request.json @@ -0,0 +1,15 @@ +{ + "contents": [ + { + "role": "user", + "parts": [ + { + "text": "There is a digital clock, with minutes and hours in the form of 00:00. The clock shows all times from 00:00 to 23:59 and repeating. Imagine you had a list of all these times. Which digit(s) is the most common and which is the rarest? Can you find their percentage?" + } + ] + } + ], + "config": { + "maxOutputTokens": 20000 + } +} \ No newline at end of file diff --git a/payloads/snapshots/complexReasoningRequest/google/response-streaming.json b/payloads/snapshots/complexReasoningRequest/google/response-streaming.json new file mode 100644 index 00000000..a2fa8999 --- /dev/null +++ b/payloads/snapshots/complexReasoningRequest/google/response-streaming.json @@ -0,0 +1,1675 @@ +[ + { + "candidates": [ + { + "content": { + "parts": [ + { + "text": "Let's break down the problem by counting the occurrences of each digit (0-9) across all possible times from 00:00 to 23:59.\n\nFirst, let's determine the total number" + } + ], + "role": "model" + }, + "index": 0 + } + ], + "modelVersion": "gemini-2.5-flash", + "responseId": "HfJHaZ6oHaLujrEP29jTwAk", + "usageMetadata": { + "promptTokenCount": 75, + "candidatesTokenCount": 48, + "totalTokenCount": 5060, + "promptTokensDetails": [ + { + "modality": "TEXT", + "tokenCount": 75 + } + ], + "thoughtsTokenCount": 4937 + }, + "sdkHttpResponse": { + "headers": { + "alt-svc": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000", + "content-disposition": "attachment", + "content-type": "text/event-stream", + "date": "Sun, 21 Dec 2025 13:12:15 GMT", + "server": "scaffolding on HTTPServer2", + "server-timing": "gfet4t7; dur=17950", + "transfer-encoding": "chunked", + "vary": "Origin, X-Origin, Referer", + "x-content-type-options": "nosniff", + "x-frame-options": "SAMEORIGIN", + "x-xss-protection": "0" + } + } + }, + { + "candidates": [ + { + "content": { + "parts": [ + { + "text": " of digits displayed in a full cycle:\n* There are 24 hours (00 to 23).\n* There are 60 minutes (00 to 59).\n* Total number of unique time" + } + ], + "role": "model" + }, + "index": 0 + } + ], + "modelVersion": "gemini-2.5-flash", + "responseId": "HfJHaZ6oHaLujrEP29jTwAk", + "usageMetadata": { + "promptTokenCount": 75, + "candidatesTokenCount": 98, + "totalTokenCount": 5110, + "promptTokensDetails": [ + { + "modality": "TEXT", + "tokenCount": 75 + } + ], + "thoughtsTokenCount": 4937 + }, + "sdkHttpResponse": { + "headers": { + "alt-svc": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000", + "content-disposition": "attachment", + "content-type": "text/event-stream", + "date": "Sun, 21 Dec 2025 13:12:15 GMT", + "server": "scaffolding on HTTPServer2", + "server-timing": "gfet4t7; dur=17950", + "transfer-encoding": "chunked", + "vary": "Origin, X-Origin, Referer", + "x-content-type-options": "nosniff", + "x-frame-options": "SAMEORIGIN", + "x-xss-protection": "0" + } + } + }, + { + "candidates": [ + { + "content": { + "parts": [ + { + "text": " displays = 24 hours * 60 minutes = 1440 times.\n* Each time display has 4 digits (e.g., 12:34 has 1, 2, 3, " + } + ], + "role": "model" + }, + "index": 0 + } + ], + "modelVersion": "gemini-2.5-flash", + "responseId": "HfJHaZ6oHaLujrEP29jTwAk", + "usageMetadata": { + "promptTokenCount": 75, + "candidatesTokenCount": 148, + "totalTokenCount": 5160, + "promptTokensDetails": [ + { + "modality": "TEXT", + "tokenCount": 75 + } + ], + "thoughtsTokenCount": 4937 + }, + "sdkHttpResponse": { + "headers": { + "alt-svc": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000", + "content-disposition": "attachment", + "content-type": "text/event-stream", + "date": "Sun, 21 Dec 2025 13:12:15 GMT", + "server": "scaffolding on HTTPServer2", + "server-timing": "gfet4t7; dur=17950", + "transfer-encoding": "chunked", + "vary": "Origin, X-Origin, Referer", + "x-content-type-options": "nosniff", + "x-frame-options": "SAMEORIGIN", + "x-xss-protection": "0" + } + } + }, + { + "candidates": [ + { + "content": { + "parts": [ + { + "text": "4).\n* Total number of digits displayed = 1440 times * 4 digits/time = 5760 digits.\n\nNow, let's count the occurrences of each digit for the \"hours\" part (" + } + ], + "role": "model" + }, + "index": 0 + } + ], + "modelVersion": "gemini-2.5-flash", + "responseId": "HfJHaZ6oHaLujrEP29jTwAk", + "usageMetadata": { + "promptTokenCount": 75, + "candidatesTokenCount": 198, + "totalTokenCount": 5210, + "promptTokensDetails": [ + { + "modality": "TEXT", + "tokenCount": 75 + } + ], + "thoughtsTokenCount": 4937 + }, + "sdkHttpResponse": { + "headers": { + "alt-svc": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000", + "content-disposition": "attachment", + "content-type": "text/event-stream", + "date": "Sun, 21 Dec 2025 13:12:15 GMT", + "server": "scaffolding on HTTPServer2", + "server-timing": "gfet4t7; dur=17950", + "transfer-encoding": "chunked", + "vary": "Origin, X-Origin, Referer", + "x-content-type-options": "nosniff", + "x-frame-options": "SAMEORIGIN", + "x-xss-protection": "0" + } + } + }, + { + "candidates": [ + { + "content": { + "parts": [ + { + "text": "HH) and the \"minutes\" part (MM) separately, and then combine them.\n\n---\n\n**1. Counting Digits in the \"Hours\" part (HH):**\nThis ranges from 00 to 23" + } + ], + "role": "model" + }, + "index": 0 + } + ], + "modelVersion": "gemini-2.5-flash", + "responseId": "HfJHaZ6oHaLujrEP29jTwAk", + "usageMetadata": { + "promptTokenCount": 75, + "candidatesTokenCount": 246, + "totalTokenCount": 5258, + "promptTokensDetails": [ + { + "modality": "TEXT", + "tokenCount": 75 + } + ], + "thoughtsTokenCount": 4937 + }, + "sdkHttpResponse": { + "headers": { + "alt-svc": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000", + "content-disposition": "attachment", + "content-type": "text/event-stream", + "date": "Sun, 21 Dec 2025 13:12:15 GMT", + "server": "scaffolding on HTTPServer2", + "server-timing": "gfet4t7; dur=17950", + "transfer-encoding": "chunked", + "vary": "Origin, X-Origin, Referer", + "x-content-type-options": "nosniff", + "x-frame-options": "SAMEORIGIN", + "x-xss-protection": "0" + } + } + }, + { + "candidates": [ + { + "content": { + "parts": [ + { + "text": ". For each hour, the digits are shown 60 times (for each minute).\n\n* **Tens digit of hours (H1):**\n * '0' appears 10 times (00, 01" + } + ], + "role": "model" + }, + "index": 0 + } + ], + "modelVersion": "gemini-2.5-flash", + "responseId": "HfJHaZ6oHaLujrEP29jTwAk", + "usageMetadata": { + "promptTokenCount": 75, + "candidatesTokenCount": 296, + "totalTokenCount": 5308, + "promptTokensDetails": [ + { + "modality": "TEXT", + "tokenCount": 75 + } + ], + "thoughtsTokenCount": 4937 + }, + "sdkHttpResponse": { + "headers": { + "alt-svc": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000", + "content-disposition": "attachment", + "content-type": "text/event-stream", + "date": "Sun, 21 Dec 2025 13:12:15 GMT", + "server": "scaffolding on HTTPServer2", + "server-timing": "gfet4t7; dur=17950", + "transfer-encoding": "chunked", + "vary": "Origin, X-Origin, Referer", + "x-content-type-options": "nosniff", + "x-frame-options": "SAMEORIGIN", + "x-xss-protection": "0" + } + } + }, + { + "candidates": [ + { + "content": { + "parts": [ + { + "text": ", ..., 09).\n * '1' appears 10 times (10, 11, ..., 19).\n * '2' appears 4 times (20, 21," + } + ], + "role": "model" + }, + "index": 0 + } + ], + "modelVersion": "gemini-2.5-flash", + "responseId": "HfJHaZ6oHaLujrEP29jTwAk", + "usageMetadata": { + "promptTokenCount": 75, + "candidatesTokenCount": 346, + "totalTokenCount": 5358, + "promptTokensDetails": [ + { + "modality": "TEXT", + "tokenCount": 75 + } + ], + "thoughtsTokenCount": 4937 + }, + "sdkHttpResponse": { + "headers": { + "alt-svc": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000", + "content-disposition": "attachment", + "content-type": "text/event-stream", + "date": "Sun, 21 Dec 2025 13:12:15 GMT", + "server": "scaffolding on HTTPServer2", + "server-timing": "gfet4t7; dur=17950", + "transfer-encoding": "chunked", + "vary": "Origin, X-Origin, Referer", + "x-content-type-options": "nosniff", + "x-frame-options": "SAMEORIGIN", + "x-xss-protection": "0" + } + } + }, + { + "candidates": [ + { + "content": { + "parts": [ + { + "text": " 22, 23).\n * Digits '3' through '9' appear 0 times.\n * Total H1 count for each hour over 60 minutes:\n * 0: " + } + ], + "role": "model" + }, + "index": 0 + } + ], + "modelVersion": "gemini-2.5-flash", + "responseId": "HfJHaZ6oHaLujrEP29jTwAk", + "usageMetadata": { + "promptTokenCount": 75, + "candidatesTokenCount": 393, + "totalTokenCount": 5405, + "promptTokensDetails": [ + { + "modality": "TEXT", + "tokenCount": 75 + } + ], + "thoughtsTokenCount": 4937 + }, + "sdkHttpResponse": { + "headers": { + "alt-svc": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000", + "content-disposition": "attachment", + "content-type": "text/event-stream", + "date": "Sun, 21 Dec 2025 13:12:15 GMT", + "server": "scaffolding on HTTPServer2", + "server-timing": "gfet4t7; dur=17950", + "transfer-encoding": "chunked", + "vary": "Origin, X-Origin, Referer", + "x-content-type-options": "nosniff", + "x-frame-options": "SAMEORIGIN", + "x-xss-protection": "0" + } + } + }, + { + "candidates": [ + { + "content": { + "parts": [ + { + "text": "10 * 60 = 600\n * 1: 10 * 60 = 600\n * 2: 4 * 60 = 240\n " + } + ], + "role": "model" + }, + "index": 0 + } + ], + "modelVersion": "gemini-2.5-flash", + "responseId": "HfJHaZ6oHaLujrEP29jTwAk", + "usageMetadata": { + "promptTokenCount": 75, + "candidatesTokenCount": 439, + "totalTokenCount": 5451, + "promptTokensDetails": [ + { + "modality": "TEXT", + "tokenCount": 75 + } + ], + "thoughtsTokenCount": 4937 + }, + "sdkHttpResponse": { + "headers": { + "alt-svc": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000", + "content-disposition": "attachment", + "content-type": "text/event-stream", + "date": "Sun, 21 Dec 2025 13:12:15 GMT", + "server": "scaffolding on HTTPServer2", + "server-timing": "gfet4t7; dur=17950", + "transfer-encoding": "chunked", + "vary": "Origin, X-Origin, Referer", + "x-content-type-options": "nosniff", + "x-frame-options": "SAMEORIGIN", + "x-xss-protection": "0" + } + } + }, + { + "candidates": [ + { + "content": { + "parts": [ + { + "text": "* 3-9: 0\n\n* **Units digit of hours (H2):**\n * '0' appears 3 times (00, 10, 20).\n * '" + } + ], + "role": "model" + }, + "index": 0 + } + ], + "modelVersion": "gemini-2.5-flash", + "responseId": "HfJHaZ6oHaLujrEP29jTwAk", + "usageMetadata": { + "promptTokenCount": 75, + "candidatesTokenCount": 488, + "totalTokenCount": 5500, + "promptTokensDetails": [ + { + "modality": "TEXT", + "tokenCount": 75 + } + ], + "thoughtsTokenCount": 4937 + }, + "sdkHttpResponse": { + "headers": { + "alt-svc": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000", + "content-disposition": "attachment", + "content-type": "text/event-stream", + "date": "Sun, 21 Dec 2025 13:12:15 GMT", + "server": "scaffolding on HTTPServer2", + "server-timing": "gfet4t7; dur=17950", + "transfer-encoding": "chunked", + "vary": "Origin, X-Origin, Referer", + "x-content-type-options": "nosniff", + "x-frame-options": "SAMEORIGIN", + "x-xss-protection": "0" + } + } + }, + { + "candidates": [ + { + "content": { + "parts": [ + { + "text": "1' appears 3 times (01, 11, 21).\n * '2' appears 3 times (02, 12, 22).\n * '3'" + } + ], + "role": "model" + }, + "index": 0 + } + ], + "modelVersion": "gemini-2.5-flash", + "responseId": "HfJHaZ6oHaLujrEP29jTwAk", + "usageMetadata": { + "promptTokenCount": 75, + "candidatesTokenCount": 536, + "totalTokenCount": 5548, + "promptTokensDetails": [ + { + "modality": "TEXT", + "tokenCount": 75 + } + ], + "thoughtsTokenCount": 4937 + }, + "sdkHttpResponse": { + "headers": { + "alt-svc": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000", + "content-disposition": "attachment", + "content-type": "text/event-stream", + "date": "Sun, 21 Dec 2025 13:12:15 GMT", + "server": "scaffolding on HTTPServer2", + "server-timing": "gfet4t7; dur=17950", + "transfer-encoding": "chunked", + "vary": "Origin, X-Origin, Referer", + "x-content-type-options": "nosniff", + "x-frame-options": "SAMEORIGIN", + "x-xss-protection": "0" + } + } + }, + { + "candidates": [ + { + "content": { + "parts": [ + { + "text": " appears 3 times (03, 13, 23).\n * '4' through '9' each appear 2 times (e.g., '4' in 04, 14)." + } + ], + "role": "model" + }, + "index": 0 + } + ], + "modelVersion": "gemini-2.5-flash", + "responseId": "HfJHaZ6oHaLujrEP29jTwAk", + "usageMetadata": { + "promptTokenCount": 75, + "candidatesTokenCount": 585, + "totalTokenCount": 5597, + "promptTokensDetails": [ + { + "modality": "TEXT", + "tokenCount": 75 + } + ], + "thoughtsTokenCount": 4937 + }, + "sdkHttpResponse": { + "headers": { + "alt-svc": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000", + "content-disposition": "attachment", + "content-type": "text/event-stream", + "date": "Sun, 21 Dec 2025 13:12:15 GMT", + "server": "scaffolding on HTTPServer2", + "server-timing": "gfet4t7; dur=17950", + "transfer-encoding": "chunked", + "vary": "Origin, X-Origin, Referer", + "x-content-type-options": "nosniff", + "x-frame-options": "SAMEORIGIN", + "x-xss-protection": "0" + } + } + }, + { + "candidates": [ + { + "content": { + "parts": [ + { + "text": "\n * Total H2 count for each hour over 60 minutes:\n * 0, 1, 2, 3: 3 * 60 = 180 each\n * " + } + ], + "role": "model" + }, + "index": 0 + } + ], + "modelVersion": "gemini-2.5-flash", + "responseId": "HfJHaZ6oHaLujrEP29jTwAk", + "usageMetadata": { + "promptTokenCount": 75, + "candidatesTokenCount": 630, + "totalTokenCount": 5642, + "promptTokensDetails": [ + { + "modality": "TEXT", + "tokenCount": 75 + } + ], + "thoughtsTokenCount": 4937 + }, + "sdkHttpResponse": { + "headers": { + "alt-svc": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000", + "content-disposition": "attachment", + "content-type": "text/event-stream", + "date": "Sun, 21 Dec 2025 13:12:15 GMT", + "server": "scaffolding on HTTPServer2", + "server-timing": "gfet4t7; dur=17950", + "transfer-encoding": "chunked", + "vary": "Origin, X-Origin, Referer", + "x-content-type-options": "nosniff", + "x-frame-options": "SAMEORIGIN", + "x-xss-protection": "0" + } + } + }, + { + "candidates": [ + { + "content": { + "parts": [ + { + "text": "4, 5, 6, 7, 8, 9: 2 * 60 = 120 each\n\n---\n\n**2. Counting Digits in the \"Minutes\" part (MM):**" + } + ], + "role": "model" + }, + "index": 0 + } + ], + "modelVersion": "gemini-2.5-flash", + "responseId": "HfJHaZ6oHaLujrEP29jTwAk", + "usageMetadata": { + "promptTokenCount": 75, + "candidatesTokenCount": 678, + "totalTokenCount": 5690, + "promptTokensDetails": [ + { + "modality": "TEXT", + "tokenCount": 75 + } + ], + "thoughtsTokenCount": 4937 + }, + "sdkHttpResponse": { + "headers": { + "alt-svc": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000", + "content-disposition": "attachment", + "content-type": "text/event-stream", + "date": "Sun, 21 Dec 2025 13:12:15 GMT", + "server": "scaffolding on HTTPServer2", + "server-timing": "gfet4t7; dur=17950", + "transfer-encoding": "chunked", + "vary": "Origin, X-Origin, Referer", + "x-content-type-options": "nosniff", + "x-frame-options": "SAMEORIGIN", + "x-xss-protection": "0" + } + } + }, + { + "candidates": [ + { + "content": { + "parts": [ + { + "text": "\nThis ranges from 00 to 59. For each minute, the digits are shown 24 times (for each hour).\n\n* **Tens digit of minutes (M1):**\n * '0" + } + ], + "role": "model" + }, + "index": 0 + } + ], + "modelVersion": "gemini-2.5-flash", + "responseId": "HfJHaZ6oHaLujrEP29jTwAk", + "usageMetadata": { + "promptTokenCount": 75, + "candidatesTokenCount": 725, + "totalTokenCount": 5737, + "promptTokensDetails": [ + { + "modality": "TEXT", + "tokenCount": 75 + } + ], + "thoughtsTokenCount": 4937 + }, + "sdkHttpResponse": { + "headers": { + "alt-svc": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000", + "content-disposition": "attachment", + "content-type": "text/event-stream", + "date": "Sun, 21 Dec 2025 13:12:15 GMT", + "server": "scaffolding on HTTPServer2", + "server-timing": "gfet4t7; dur=17950", + "transfer-encoding": "chunked", + "vary": "Origin, X-Origin, Referer", + "x-content-type-options": "nosniff", + "x-frame-options": "SAMEORIGIN", + "x-xss-protection": "0" + } + } + }, + { + "candidates": [ + { + "content": { + "parts": [ + { + "text": "' appears 10 times (00, 01, ..., 09).\n * '1' appears 10 times (10, 11, ..., 19).\n * " + } + ], + "role": "model" + }, + "index": 0 + } + ], + "modelVersion": "gemini-2.5-flash", + "responseId": "HfJHaZ6oHaLujrEP29jTwAk", + "usageMetadata": { + "promptTokenCount": 75, + "candidatesTokenCount": 772, + "totalTokenCount": 5784, + "promptTokensDetails": [ + { + "modality": "TEXT", + "tokenCount": 75 + } + ], + "thoughtsTokenCount": 4937 + }, + "sdkHttpResponse": { + "headers": { + "alt-svc": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000", + "content-disposition": "attachment", + "content-type": "text/event-stream", + "date": "Sun, 21 Dec 2025 13:12:15 GMT", + "server": "scaffolding on HTTPServer2", + "server-timing": "gfet4t7; dur=17950", + "transfer-encoding": "chunked", + "vary": "Origin, X-Origin, Referer", + "x-content-type-options": "nosniff", + "x-frame-options": "SAMEORIGIN", + "x-xss-protection": "0" + } + } + }, + { + "candidates": [ + { + "content": { + "parts": [ + { + "text": "'2' appears 10 times (20, 21, ..., 29).\n * '3' appears 10 times (30, 31, ..., 39).\n " + } + ], + "role": "model" + }, + "index": 0 + } + ], + "modelVersion": "gemini-2.5-flash", + "responseId": "HfJHaZ6oHaLujrEP29jTwAk", + "usageMetadata": { + "promptTokenCount": 75, + "candidatesTokenCount": 818, + "totalTokenCount": 5830, + "promptTokensDetails": [ + { + "modality": "TEXT", + "tokenCount": 75 + } + ], + "thoughtsTokenCount": 4937 + }, + "sdkHttpResponse": { + "headers": { + "alt-svc": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000", + "content-disposition": "attachment", + "content-type": "text/event-stream", + "date": "Sun, 21 Dec 2025 13:12:15 GMT", + "server": "scaffolding on HTTPServer2", + "server-timing": "gfet4t7; dur=17950", + "transfer-encoding": "chunked", + "vary": "Origin, X-Origin, Referer", + "x-content-type-options": "nosniff", + "x-frame-options": "SAMEORIGIN", + "x-xss-protection": "0" + } + } + }, + { + "candidates": [ + { + "content": { + "parts": [ + { + "text": "* '4' appears 10 times (40, 41, ..., 49).\n * '5' appears 10 times (50, 51, ..., 59)." + } + ], + "role": "model" + }, + "index": 0 + } + ], + "modelVersion": "gemini-2.5-flash", + "responseId": "HfJHaZ6oHaLujrEP29jTwAk", + "usageMetadata": { + "promptTokenCount": 75, + "candidatesTokenCount": 866, + "totalTokenCount": 5878, + "promptTokensDetails": [ + { + "modality": "TEXT", + "tokenCount": 75 + } + ], + "thoughtsTokenCount": 4937 + }, + "sdkHttpResponse": { + "headers": { + "alt-svc": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000", + "content-disposition": "attachment", + "content-type": "text/event-stream", + "date": "Sun, 21 Dec 2025 13:12:15 GMT", + "server": "scaffolding on HTTPServer2", + "server-timing": "gfet4t7; dur=17950", + "transfer-encoding": "chunked", + "vary": "Origin, X-Origin, Referer", + "x-content-type-options": "nosniff", + "x-frame-options": "SAMEORIGIN", + "x-xss-protection": "0" + } + } + }, + { + "candidates": [ + { + "content": { + "parts": [ + { + "text": "\n * Digits '6' through '9' appear 0 times.\n * Total M1 count for each minute over 24 hours:\n * 0, 1, 2, 3" + } + ], + "role": "model" + }, + "index": 0 + } + ], + "modelVersion": "gemini-2.5-flash", + "responseId": "HfJHaZ6oHaLujrEP29jTwAk", + "usageMetadata": { + "promptTokenCount": 75, + "candidatesTokenCount": 912, + "totalTokenCount": 5924, + "promptTokensDetails": [ + { + "modality": "TEXT", + "tokenCount": 75 + } + ], + "thoughtsTokenCount": 4937 + }, + "sdkHttpResponse": { + "headers": { + "alt-svc": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000", + "content-disposition": "attachment", + "content-type": "text/event-stream", + "date": "Sun, 21 Dec 2025 13:12:15 GMT", + "server": "scaffolding on HTTPServer2", + "server-timing": "gfet4t7; dur=17950", + "transfer-encoding": "chunked", + "vary": "Origin, X-Origin, Referer", + "x-content-type-options": "nosniff", + "x-frame-options": "SAMEORIGIN", + "x-xss-protection": "0" + } + } + }, + { + "candidates": [ + { + "content": { + "parts": [ + { + "text": ", 4, 5: 10 * 24 = 240 each\n * 6-9: 0\n\n* **Units digit of minutes (M2):**\n * Each digit '" + } + ], + "role": "model" + }, + "index": 0 + } + ], + "modelVersion": "gemini-2.5-flash", + "responseId": "HfJHaZ6oHaLujrEP29jTwAk", + "usageMetadata": { + "promptTokenCount": 75, + "candidatesTokenCount": 962, + "totalTokenCount": 5974, + "promptTokensDetails": [ + { + "modality": "TEXT", + "tokenCount": 75 + } + ], + "thoughtsTokenCount": 4937 + }, + "sdkHttpResponse": { + "headers": { + "alt-svc": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000", + "content-disposition": "attachment", + "content-type": "text/event-stream", + "date": "Sun, 21 Dec 2025 13:12:15 GMT", + "server": "scaffolding on HTTPServer2", + "server-timing": "gfet4t7; dur=17950", + "transfer-encoding": "chunked", + "vary": "Origin, X-Origin, Referer", + "x-content-type-options": "nosniff", + "x-frame-options": "SAMEORIGIN", + "x-xss-protection": "0" + } + } + }, + { + "candidates": [ + { + "content": { + "parts": [ + { + "text": "0' through '9' appears 6 times (e.g., '0' in 00, 10, 20, 30, 40, 50).\n * Total" + } + ], + "role": "model" + }, + "index": 0 + } + ], + "modelVersion": "gemini-2.5-flash", + "responseId": "HfJHaZ6oHaLujrEP29jTwAk", + "usageMetadata": { + "promptTokenCount": 75, + "candidatesTokenCount": 1010, + "totalTokenCount": 6022, + "promptTokensDetails": [ + { + "modality": "TEXT", + "tokenCount": 75 + } + ], + "thoughtsTokenCount": 4937 + }, + "sdkHttpResponse": { + "headers": { + "alt-svc": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000", + "content-disposition": "attachment", + "content-type": "text/event-stream", + "date": "Sun, 21 Dec 2025 13:12:15 GMT", + "server": "scaffolding on HTTPServer2", + "server-timing": "gfet4t7; dur=17950", + "transfer-encoding": "chunked", + "vary": "Origin, X-Origin, Referer", + "x-content-type-options": "nosniff", + "x-frame-options": "SAMEORIGIN", + "x-xss-protection": "0" + } + } + }, + { + "candidates": [ + { + "content": { + "parts": [ + { + "text": " M2 count for each minute over 24 hours:\n * 0, 1, 2, 3, 4, 5, 6, 7, 8, 9: 6 *" + } + ], + "role": "model" + }, + "index": 0 + } + ], + "modelVersion": "gemini-2.5-flash", + "responseId": "HfJHaZ6oHaLujrEP29jTwAk", + "usageMetadata": { + "promptTokenCount": 75, + "candidatesTokenCount": 1058, + "totalTokenCount": 6070, + "promptTokensDetails": [ + { + "modality": "TEXT", + "tokenCount": 75 + } + ], + "thoughtsTokenCount": 4937 + }, + "sdkHttpResponse": { + "headers": { + "alt-svc": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000", + "content-disposition": "attachment", + "content-type": "text/event-stream", + "date": "Sun, 21 Dec 2025 13:12:15 GMT", + "server": "scaffolding on HTTPServer2", + "server-timing": "gfet4t7; dur=17950", + "transfer-encoding": "chunked", + "vary": "Origin, X-Origin, Referer", + "x-content-type-options": "nosniff", + "x-frame-options": "SAMEORIGIN", + "x-xss-protection": "0" + } + } + }, + { + "candidates": [ + { + "content": { + "parts": [ + { + "text": " 24 = 144 each\n\n---\n\n**3. Total Occurrences for Each Digit (Summing all positions):**\n\n* **Digit 0:** (H1: 600) + (H" + } + ], + "role": "model" + }, + "index": 0 + } + ], + "modelVersion": "gemini-2.5-flash", + "responseId": "HfJHaZ6oHaLujrEP29jTwAk", + "usageMetadata": { + "promptTokenCount": 75, + "candidatesTokenCount": 1105, + "totalTokenCount": 6117, + "promptTokensDetails": [ + { + "modality": "TEXT", + "tokenCount": 75 + } + ], + "thoughtsTokenCount": 4937 + }, + "sdkHttpResponse": { + "headers": { + "alt-svc": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000", + "content-disposition": "attachment", + "content-type": "text/event-stream", + "date": "Sun, 21 Dec 2025 13:12:15 GMT", + "server": "scaffolding on HTTPServer2", + "server-timing": "gfet4t7; dur=17950", + "transfer-encoding": "chunked", + "vary": "Origin, X-Origin, Referer", + "x-content-type-options": "nosniff", + "x-frame-options": "SAMEORIGIN", + "x-xss-protection": "0" + } + } + }, + { + "candidates": [ + { + "content": { + "parts": [ + { + "text": "2: 180) + (M1: 240) + (M2: 144) = **1164**\n* **Digit 1:** (H1: 6" + } + ], + "role": "model" + }, + "index": 0 + } + ], + "modelVersion": "gemini-2.5-flash", + "responseId": "HfJHaZ6oHaLujrEP29jTwAk", + "usageMetadata": { + "promptTokenCount": 75, + "candidatesTokenCount": 1153, + "totalTokenCount": 6165, + "promptTokensDetails": [ + { + "modality": "TEXT", + "tokenCount": 75 + } + ], + "thoughtsTokenCount": 4937 + }, + "sdkHttpResponse": { + "headers": { + "alt-svc": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000", + "content-disposition": "attachment", + "content-type": "text/event-stream", + "date": "Sun, 21 Dec 2025 13:12:15 GMT", + "server": "scaffolding on HTTPServer2", + "server-timing": "gfet4t7; dur=17950", + "transfer-encoding": "chunked", + "vary": "Origin, X-Origin, Referer", + "x-content-type-options": "nosniff", + "x-frame-options": "SAMEORIGIN", + "x-xss-protection": "0" + } + } + }, + { + "candidates": [ + { + "content": { + "parts": [ + { + "text": "00) + (H2: 180) + (M1: 240) + (M2: 144) = **1164**\n* **Digit 2:**" + } + ], + "role": "model" + }, + "index": 0 + } + ], + "modelVersion": "gemini-2.5-flash", + "responseId": "HfJHaZ6oHaLujrEP29jTwAk", + "usageMetadata": { + "promptTokenCount": 75, + "candidatesTokenCount": 1201, + "totalTokenCount": 6213, + "promptTokensDetails": [ + { + "modality": "TEXT", + "tokenCount": 75 + } + ], + "thoughtsTokenCount": 4937 + }, + "sdkHttpResponse": { + "headers": { + "alt-svc": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000", + "content-disposition": "attachment", + "content-type": "text/event-stream", + "date": "Sun, 21 Dec 2025 13:12:15 GMT", + "server": "scaffolding on HTTPServer2", + "server-timing": "gfet4t7; dur=17950", + "transfer-encoding": "chunked", + "vary": "Origin, X-Origin, Referer", + "x-content-type-options": "nosniff", + "x-frame-options": "SAMEORIGIN", + "x-xss-protection": "0" + } + } + }, + { + "candidates": [ + { + "content": { + "parts": [ + { + "text": " (H1: 240) + (H2: 180) + (M1: 240) + (M2: 144) = **804**\n* " + } + ], + "role": "model" + }, + "index": 0 + } + ], + "modelVersion": "gemini-2.5-flash", + "responseId": "HfJHaZ6oHaLujrEP29jTwAk", + "usageMetadata": { + "promptTokenCount": 75, + "candidatesTokenCount": 1248, + "totalTokenCount": 6260, + "promptTokensDetails": [ + { + "modality": "TEXT", + "tokenCount": 75 + } + ], + "thoughtsTokenCount": 4937 + }, + "sdkHttpResponse": { + "headers": { + "alt-svc": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000", + "content-disposition": "attachment", + "content-type": "text/event-stream", + "date": "Sun, 21 Dec 2025 13:12:15 GMT", + "server": "scaffolding on HTTPServer2", + "server-timing": "gfet4t7; dur=17950", + "transfer-encoding": "chunked", + "vary": "Origin, X-Origin, Referer", + "x-content-type-options": "nosniff", + "x-frame-options": "SAMEORIGIN", + "x-xss-protection": "0" + } + } + }, + { + "candidates": [ + { + "content": { + "parts": [ + { + "text": "**Digit 3:** (H1: 0) + (H2: 180) + (M1: 240) + (M2: 144) = **564**" + } + ], + "role": "model" + }, + "index": 0 + } + ], + "modelVersion": "gemini-2.5-flash", + "responseId": "HfJHaZ6oHaLujrEP29jTwAk", + "usageMetadata": { + "promptTokenCount": 75, + "candidatesTokenCount": 1296, + "totalTokenCount": 6308, + "promptTokensDetails": [ + { + "modality": "TEXT", + "tokenCount": 75 + } + ], + "thoughtsTokenCount": 4937 + }, + "sdkHttpResponse": { + "headers": { + "alt-svc": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000", + "content-disposition": "attachment", + "content-type": "text/event-stream", + "date": "Sun, 21 Dec 2025 13:12:15 GMT", + "server": "scaffolding on HTTPServer2", + "server-timing": "gfet4t7; dur=17950", + "transfer-encoding": "chunked", + "vary": "Origin, X-Origin, Referer", + "x-content-type-options": "nosniff", + "x-frame-options": "SAMEORIGIN", + "x-xss-protection": "0" + } + } + }, + { + "candidates": [ + { + "content": { + "parts": [ + { + "text": "\n* **Digit 4:** (H1: 0) + (H2: 120) + (M1: 240) + (M2: 144) = **5" + } + ], + "role": "model" + }, + "index": 0 + } + ], + "modelVersion": "gemini-2.5-flash", + "responseId": "HfJHaZ6oHaLujrEP29jTwAk", + "usageMetadata": { + "promptTokenCount": 75, + "candidatesTokenCount": 1343, + "totalTokenCount": 6355, + "promptTokensDetails": [ + { + "modality": "TEXT", + "tokenCount": 75 + } + ], + "thoughtsTokenCount": 4937 + }, + "sdkHttpResponse": { + "headers": { + "alt-svc": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000", + "content-disposition": "attachment", + "content-type": "text/event-stream", + "date": "Sun, 21 Dec 2025 13:12:15 GMT", + "server": "scaffolding on HTTPServer2", + "server-timing": "gfet4t7; dur=17950", + "transfer-encoding": "chunked", + "vary": "Origin, X-Origin, Referer", + "x-content-type-options": "nosniff", + "x-frame-options": "SAMEORIGIN", + "x-xss-protection": "0" + } + } + }, + { + "candidates": [ + { + "content": { + "parts": [ + { + "text": "04**\n* **Digit 5:** (H1: 0) + (H2: 120) + (M1: 240) + (M2: 144)" + } + ], + "role": "model" + }, + "index": 0 + } + ], + "modelVersion": "gemini-2.5-flash", + "responseId": "HfJHaZ6oHaLujrEP29jTwAk", + "usageMetadata": { + "promptTokenCount": 75, + "candidatesTokenCount": 1391, + "totalTokenCount": 6403, + "promptTokensDetails": [ + { + "modality": "TEXT", + "tokenCount": 75 + } + ], + "thoughtsTokenCount": 4937 + }, + "sdkHttpResponse": { + "headers": { + "alt-svc": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000", + "content-disposition": "attachment", + "content-type": "text/event-stream", + "date": "Sun, 21 Dec 2025 13:12:15 GMT", + "server": "scaffolding on HTTPServer2", + "server-timing": "gfet4t7; dur=17950", + "transfer-encoding": "chunked", + "vary": "Origin, X-Origin, Referer", + "x-content-type-options": "nosniff", + "x-frame-options": "SAMEORIGIN", + "x-xss-protection": "0" + } + } + }, + { + "candidates": [ + { + "content": { + "parts": [ + { + "text": " = **504**\n* **Digit 6:** (H1: 0) + (H2: 120) + (M1: 0) + (M2: 144" + } + ], + "role": "model" + }, + "index": 0 + } + ], + "modelVersion": "gemini-2.5-flash", + "responseId": "HfJHaZ6oHaLujrEP29jTwAk", + "usageMetadata": { + "promptTokenCount": 75, + "candidatesTokenCount": 1439, + "totalTokenCount": 6451, + "promptTokensDetails": [ + { + "modality": "TEXT", + "tokenCount": 75 + } + ], + "thoughtsTokenCount": 4937 + }, + "sdkHttpResponse": { + "headers": { + "alt-svc": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000", + "content-disposition": "attachment", + "content-type": "text/event-stream", + "date": "Sun, 21 Dec 2025 13:12:15 GMT", + "server": "scaffolding on HTTPServer2", + "server-timing": "gfet4t7; dur=17950", + "transfer-encoding": "chunked", + "vary": "Origin, X-Origin, Referer", + "x-content-type-options": "nosniff", + "x-frame-options": "SAMEORIGIN", + "x-xss-protection": "0" + } + } + }, + { + "candidates": [ + { + "content": { + "parts": [ + { + "text": ") = **264**\n* **Digit 7:** (H1: 0) + (H2: 120) + (M1: 0) + (M2: 14" + } + ], + "role": "model" + }, + "index": 0 + } + ], + "modelVersion": "gemini-2.5-flash", + "responseId": "HfJHaZ6oHaLujrEP29jTwAk", + "usageMetadata": { + "promptTokenCount": 75, + "candidatesTokenCount": 1487, + "totalTokenCount": 6499, + "promptTokensDetails": [ + { + "modality": "TEXT", + "tokenCount": 75 + } + ], + "thoughtsTokenCount": 4937 + }, + "sdkHttpResponse": { + "headers": { + "alt-svc": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000", + "content-disposition": "attachment", + "content-type": "text/event-stream", + "date": "Sun, 21 Dec 2025 13:12:15 GMT", + "server": "scaffolding on HTTPServer2", + "server-timing": "gfet4t7; dur=17950", + "transfer-encoding": "chunked", + "vary": "Origin, X-Origin, Referer", + "x-content-type-options": "nosniff", + "x-frame-options": "SAMEORIGIN", + "x-xss-protection": "0" + } + } + }, + { + "candidates": [ + { + "content": { + "parts": [ + { + "text": "4) = **264**\n* **Digit 8:** (H1: 0) + (H2: 120) + (M1: 0) + (M2: 1" + } + ], + "role": "model" + }, + "index": 0 + } + ], + "modelVersion": "gemini-2.5-flash", + "responseId": "HfJHaZ6oHaLujrEP29jTwAk", + "usageMetadata": { + "promptTokenCount": 75, + "candidatesTokenCount": 1535, + "totalTokenCount": 6547, + "promptTokensDetails": [ + { + "modality": "TEXT", + "tokenCount": 75 + } + ], + "thoughtsTokenCount": 4937 + }, + "sdkHttpResponse": { + "headers": { + "alt-svc": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000", + "content-disposition": "attachment", + "content-type": "text/event-stream", + "date": "Sun, 21 Dec 2025 13:12:15 GMT", + "server": "scaffolding on HTTPServer2", + "server-timing": "gfet4t7; dur=17950", + "transfer-encoding": "chunked", + "vary": "Origin, X-Origin, Referer", + "x-content-type-options": "nosniff", + "x-frame-options": "SAMEORIGIN", + "x-xss-protection": "0" + } + } + }, + { + "candidates": [ + { + "content": { + "parts": [ + { + "text": "44) = **264**\n* **Digit 9:** (H1: 0) + (H2: 120) + (M1: 0) + (M2: " + } + ], + "role": "model" + }, + "index": 0 + } + ], + "modelVersion": "gemini-2.5-flash", + "responseId": "HfJHaZ6oHaLujrEP29jTwAk", + "usageMetadata": { + "promptTokenCount": 75, + "candidatesTokenCount": 1582, + "totalTokenCount": 6594, + "promptTokensDetails": [ + { + "modality": "TEXT", + "tokenCount": 75 + } + ], + "thoughtsTokenCount": 4937 + }, + "sdkHttpResponse": { + "headers": { + "alt-svc": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000", + "content-disposition": "attachment", + "content-type": "text/event-stream", + "date": "Sun, 21 Dec 2025 13:12:15 GMT", + "server": "scaffolding on HTTPServer2", + "server-timing": "gfet4t7; dur=17950", + "transfer-encoding": "chunked", + "vary": "Origin, X-Origin, Referer", + "x-content-type-options": "nosniff", + "x-frame-options": "SAMEORIGIN", + "x-xss-protection": "0" + } + } + }, + { + "candidates": [ + { + "content": { + "parts": [ + { + "text": "144) = **264**\n\n*Self-check: Sum of all occurrences = 1164*2 + 804 + 564 + 504*2 + 264*" + } + ], + "role": "model" + }, + "index": 0 + } + ], + "modelVersion": "gemini-2.5-flash", + "responseId": "HfJHaZ6oHaLujrEP29jTwAk", + "usageMetadata": { + "promptTokenCount": 75, + "candidatesTokenCount": 1633, + "totalTokenCount": 6645, + "promptTokensDetails": [ + { + "modality": "TEXT", + "tokenCount": 75 + } + ], + "thoughtsTokenCount": 4937 + }, + "sdkHttpResponse": { + "headers": { + "alt-svc": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000", + "content-disposition": "attachment", + "content-type": "text/event-stream", + "date": "Sun, 21 Dec 2025 13:12:15 GMT", + "server": "scaffolding on HTTPServer2", + "server-timing": "gfet4t7; dur=17950", + "transfer-encoding": "chunked", + "vary": "Origin, X-Origin, Referer", + "x-content-type-options": "nosniff", + "x-frame-options": "SAMEORIGIN", + "x-xss-protection": "0" + } + } + }, + { + "candidates": [ + { + "content": { + "parts": [ + { + "text": "4 = 2328 + 804 + 564 + 1008 + 1056 = 5760. This matches the total number of digits we calculated earlier.*\n\n---\n\n" + } + ], + "role": "model" + }, + "index": 0 + } + ], + "modelVersion": "gemini-2.5-flash", + "responseId": "HfJHaZ6oHaLujrEP29jTwAk", + "usageMetadata": { + "promptTokenCount": 75, + "candidatesTokenCount": 1682, + "totalTokenCount": 6694, + "promptTokensDetails": [ + { + "modality": "TEXT", + "tokenCount": 75 + } + ], + "thoughtsTokenCount": 4937 + }, + "sdkHttpResponse": { + "headers": { + "alt-svc": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000", + "content-disposition": "attachment", + "content-type": "text/event-stream", + "date": "Sun, 21 Dec 2025 13:12:15 GMT", + "server": "scaffolding on HTTPServer2", + "server-timing": "gfet4t7; dur=17950", + "transfer-encoding": "chunked", + "vary": "Origin, X-Origin, Referer", + "x-content-type-options": "nosniff", + "x-frame-options": "SAMEORIGIN", + "x-xss-protection": "0" + } + } + }, + { + "candidates": [ + { + "content": { + "parts": [ + { + "text": "**Most Common Digit(s):**\nDigits **0** and **1** are the most common, each appearing **1164** times.\nPercentage: (1164 / 5760) * " + } + ], + "role": "model" + }, + "index": 0 + } + ], + "modelVersion": "gemini-2.5-flash", + "responseId": "HfJHaZ6oHaLujrEP29jTwAk", + "usageMetadata": { + "promptTokenCount": 75, + "candidatesTokenCount": 1730, + "totalTokenCount": 6742, + "promptTokensDetails": [ + { + "modality": "TEXT", + "tokenCount": 75 + } + ], + "thoughtsTokenCount": 4937 + }, + "sdkHttpResponse": { + "headers": { + "alt-svc": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000", + "content-disposition": "attachment", + "content-type": "text/event-stream", + "date": "Sun, 21 Dec 2025 13:12:15 GMT", + "server": "scaffolding on HTTPServer2", + "server-timing": "gfet4t7; dur=17950", + "transfer-encoding": "chunked", + "vary": "Origin, X-Origin, Referer", + "x-content-type-options": "nosniff", + "x-frame-options": "SAMEORIGIN", + "x-xss-protection": "0" + } + } + }, + { + "candidates": [ + { + "content": { + "parts": [ + { + "text": "100% = **20.21%**\n\n**Rarest Digit(s):**\nDigits **6, 7, 8,** and **9** are the rarest, each appearing **264** times" + } + ], + "role": "model" + }, + "index": 0 + } + ], + "modelVersion": "gemini-2.5-flash", + "responseId": "HfJHaZ6oHaLujrEP29jTwAk", + "usageMetadata": { + "promptTokenCount": 75, + "candidatesTokenCount": 1780, + "totalTokenCount": 6792, + "promptTokensDetails": [ + { + "modality": "TEXT", + "tokenCount": 75 + } + ], + "thoughtsTokenCount": 4937 + }, + "sdkHttpResponse": { + "headers": { + "alt-svc": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000", + "content-disposition": "attachment", + "content-type": "text/event-stream", + "date": "Sun, 21 Dec 2025 13:12:15 GMT", + "server": "scaffolding on HTTPServer2", + "server-timing": "gfet4t7; dur=17950", + "transfer-encoding": "chunked", + "vary": "Origin, X-Origin, Referer", + "x-content-type-options": "nosniff", + "x-frame-options": "SAMEORIGIN", + "x-xss-protection": "0" + } + } + }, + { + "candidates": [ + { + "content": { + "parts": [ + { + "text": ".\nPercentage: (264 / 5760) * 100% = **4.58%**" + } + ], + "role": "model" + }, + "finishReason": "STOP", + "index": 0 + } + ], + "modelVersion": "gemini-2.5-flash", + "responseId": "HfJHaZ6oHaLujrEP29jTwAk", + "usageMetadata": { + "promptTokenCount": 75, + "candidatesTokenCount": 1809, + "totalTokenCount": 6821, + "promptTokensDetails": [ + { + "modality": "TEXT", + "tokenCount": 75 + } + ], + "thoughtsTokenCount": 4937 + }, + "sdkHttpResponse": { + "headers": { + "alt-svc": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000", + "content-disposition": "attachment", + "content-type": "text/event-stream", + "date": "Sun, 21 Dec 2025 13:12:15 GMT", + "server": "scaffolding on HTTPServer2", + "server-timing": "gfet4t7; dur=17950", + "transfer-encoding": "chunked", + "vary": "Origin, X-Origin, Referer", + "x-content-type-options": "nosniff", + "x-frame-options": "SAMEORIGIN", + "x-xss-protection": "0" + } + } + } +] \ No newline at end of file diff --git a/payloads/snapshots/complexReasoningRequest/google/response.json b/payloads/snapshots/complexReasoningRequest/google/response.json new file mode 100644 index 00000000..1cbc1e7d --- /dev/null +++ b/payloads/snapshots/complexReasoningRequest/google/response.json @@ -0,0 +1,45 @@ +{ + "sdkHttpResponse": { + "headers": { + "alt-svc": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000", + "content-encoding": "gzip", + "content-type": "application/json; charset=UTF-8", + "date": "Sun, 21 Dec 2025 13:12:15 GMT", + "server": "scaffolding on HTTPServer2", + "server-timing": "gfet4t7; dur=18450", + "transfer-encoding": "chunked", + "vary": "Origin, X-Origin, Referer", + "x-content-type-options": "nosniff", + "x-frame-options": "SAMEORIGIN", + "x-xss-protection": "0" + } + }, + "candidates": [ + { + "content": { + "parts": [ + { + "text": "Let's break this down step by step:\n\n1. **Total Number of Times:**\n * Hours go from 00 to 23 (24 distinct hours).\n * Minutes go from 00 to 59 (60 distinct minutes).\n * Total number of times displayed = 24 hours * 60 minutes = 1440 times.\n\n2. **Total Number of Digits Displayed:**\n * Each time (e.g., 00:00) consists of 4 digits.\n * Total digits displayed across all times = 1440 times * 4 digits/time = 5760 digits.\n * This will be the denominator for our percentages.\n\n3. **Counting Occurrences for Each Digit (0-9):**\n\n Let's consider each digit position:\n * `H1 H2 : M1 M2`\n\n **A. Occurrences in the Minutes (M1, M2):**\n There are 24 hours in a day. For each hour, the minutes go from 00 to 59.\n\n * **M2 (Minutes Units Place, 0-59):**\n In the range 00-59, each digit (0-9) appears exactly 6 times (e.g., 00, 10, 20, 30, 40, 50 for digit 0; 01, 11, 21, 31, 41, 51 for digit 1, etc.).\n So, for each hour, each digit 0-9 appears 6 times in the M2 position.\n Over 24 hours: 6 occurrences/hour * 24 hours = **144** times for each digit (0-9) in M2.\n\n * **M1 (Minutes Tens Place, 0-59):**\n In the range 00-59:\n * Digit 0 appears 10 times (00-09)\n * Digit 1 appears 10 times (10-19)\n * Digit 2 appears 10 times (20-29)\n * Digit 3 appears 10 times (30-39)\n * Digit 4 appears 10 times (40-49)\n * Digit 5 appears 10 times (50-59)\n * Digits 6, 7, 8, 9 appear 0 times.\n Over 24 hours:\n * Digits 0-5: 10 occurrences/hour * 24 hours = **240** times each.\n * Digits 6-9: **0** times each.\n\n **B. Occurrences in the Hours (H1, H2):**\n There are 60 minutes in an hour. For each minute, the hours go from 00 to 23.\n\n * **H2 (Hours Units Place, 0-23):**\n In the range 00-23:\n * Digits 0, 1, 2, 3 each appear 3 times (e.g., 00, 10, 20 for digit 0; 01, 11, 21 for digit 1; etc. and 03, 13, 23 for digit 3).\n * Digits 4, 5, 6, 7, 8, 9 each appear 2 times (e.g., 04, 14 for digit 4; 09, 19 for digit 9).\n Over 60 minutes:\n * Digits 0, 1, 2, 3: 3 occurrences/minute * 60 minutes = **180** times each.\n * Digits 4, 5, 6, 7, 8, 9: 2 occurrences/minute * 60 minutes = **120** times each.\n\n * **H1 (Hours Tens Place, 0-23):**\n In the range 00-23:\n * Digit 0 appears 10 times (00-09).\n * Digit 1 appears 10 times (10-19).\n * Digit 2 appears 4 times (20-23).\n * Digits 3, 4, 5, 6, 7, 8, 9 appear 0 times.\n Over 60 minutes:\n * Digits 0, 1: 10 occurrences/minute * 60 minutes = **600** times each.\n * Digit 2: 4 occurrences/minute * 60 minutes = **240** times.\n * Digits 3-9: **0** times each.\n\n4. **Total Occurrences for Each Digit:**\n\n * **Digit 0:** (M2) 144 + (M1) 240 + (H2) 180 + (H1) 600 = **1164**\n * **Digit 1:** (M2) 144 + (M1) 240 + (H2) 180 + (H1) 600 = **1164**\n * **Digit 2:** (M2) 144 + (M1) 240 + (H2) 180 + (H1) 240 = **804**\n * **Digit 3:** (M2) 144 + (M1) 240 + (H2) 180 + (H1) 0 = **564**\n * **Digit 4:** (M2) 144 + (M1) 240 + (H2) 120 + (H1) 0 = **504**\n * **Digit 5:** (M2) 144 + (M1) 240 + (H2) 120 + (H1) 0 = **504**\n * **Digit 6:** (M2) 144 + (M1) 0 + (H2) 120 + (H1) 0 = **264**\n * **Digit 7:** (M2) 144 + (M1) 0 + (H2) 120 + (H1) 0 = **264**\n * **Digit 8:** (M2) 144 + (M1) 0 + (H2) 120 + (H1) 0 = **264**\n * **Digit 9:** (M2) 144 + (M1) 0 + (H2) 120 + (H1) 0 = **264**\n\n *Self-check: Sum of all occurrences = 1164 + 1164 + 804 + 564 + 504 + 504 + 264 + 264 + 264 + 264 = 5760. This matches our total digits!*\n\n5. **Most Common and Rarest Digits:**\n\n * **Most Common Digit(s):** Digits **0** and **1** (1164 occurrences each).\n * **Rarest Digit(s):** Digits **6**, **7**, **8**, and **9** (264 occurrences each).\n\n6. **Calculate Percentages:**\n\n * **Percentage for Most Common (Digits 0 and 1):**\n (1164 / 5760) * 100% $\\approx$ **20.21%**\n\n * **Percentage for Rarest (Digits 6, 7, 8, and 9):**\n (264 / 5760) * 100% $\\approx$ **4.58%**\n\n---\n\n**Summary:**\n\n* **Most Common Digit(s):** **0** and **1**\n * Each appears 1164 times.\n * Percentage: **20.21%** each.\n\n* **Rarest Digit(s):** **6**, **7**, **8**, and **9**\n * Each appears 264 times.\n * Percentage: **4.58%** each." + } + ], + "role": "model" + }, + "finishReason": "STOP", + "index": 0 + } + ], + "modelVersion": "gemini-2.5-flash", + "responseId": "L_JHaYq4HK_3jrEPyq3x6Ao", + "usageMetadata": { + "promptTokenCount": 75, + "candidatesTokenCount": 1998, + "totalTokenCount": 5026, + "promptTokensDetails": [ + { + "modality": "TEXT", + "tokenCount": 75 + } + ], + "thoughtsTokenCount": 2953 + } +} \ No newline at end of file diff --git a/payloads/snapshots/multimodalRequest/bedrock/request.json b/payloads/snapshots/multimodalRequest/bedrock/request.json new file mode 100644 index 00000000..fee16d4d --- /dev/null +++ b/payloads/snapshots/multimodalRequest/bedrock/request.json @@ -0,0 +1,188 @@ +{ + "modelId": "us.anthropic.claude-haiku-4-5-20251001-v1:0", + "messages": [ + { + "role": "user", + "content": [ + { + "text": "What do you see in this image?" + }, + { + "image": { + "format": "jpeg", + "source": { + "bytes": { + "type": "Buffer", + "data": [ + 255, + 216, + 255, + 224, + 0, + 16, + 74, + 70, + 73, + 70, + 0, + 1, + 1, + 1, + 0, + 72, + 0, + 72, + 0, + 0, + 255, + 219, + 0, + 67, + 0, + 3, + 2, + 2, + 3, + 2, + 2, + 3, + 3, + 3, + 3, + 4, + 3, + 3, + 4, + 5, + 8, + 5, + 5, + 4, + 4, + 5, + 10, + 7, + 7, + 6, + 8, + 12, + 10, + 12, + 12, + 11, + 10, + 11, + 11, + 13, + 14, + 18, + 16, + 13, + 14, + 17, + 14, + 11, + 11, + 16, + 22, + 16, + 17, + 19, + 20, + 21, + 21, + 21, + 12, + 15, + 23, + 24, + 22, + 20, + 24, + 18, + 20, + 21, + 20, + 255, + 192, + 0, + 11, + 8, + 0, + 1, + 0, + 1, + 1, + 1, + 17, + 0, + 255, + 196, + 0, + 20, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 9, + 255, + 196, + 0, + 20, + 16, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 255, + 218, + 0, + 8, + 1, + 1, + 0, + 0, + 63, + 0, + 42, + 159, + 255, + 217 + ] + } + } + } + } + ] + } + ], + "inferenceConfig": { + "maxTokens": 300 + } +} \ No newline at end of file diff --git a/payloads/snapshots/multimodalRequest/bedrock/response-streaming.json b/payloads/snapshots/multimodalRequest/bedrock/response-streaming.json new file mode 100644 index 00000000..ecb81d3e --- /dev/null +++ b/payloads/snapshots/multimodalRequest/bedrock/response-streaming.json @@ -0,0 +1,341 @@ +[ + { + "messageStart": { + "role": "assistant" + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "I see" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " a very" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " small" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": ", simple" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " image" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " that appears to be a tiny" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " dot" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " or pixel," + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " likely in black" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " or" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " dark gray" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " color" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " against" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " a white" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " background. It's" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " difficult" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " to make out specific" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " details due" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " to the extremely" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " small size." + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " It" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " coul" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "d be a minim" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "alist design, a placeholder" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " image, or simply" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " a small" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " graph" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "ical element." + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " Could you provide more context about what this" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " image is" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " suppose" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "d to represent" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "," + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " or is" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " there" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " a larger" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " version" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " available" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "?" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockStop": { + "contentBlockIndex": 0 + } + }, + { + "messageStop": { + "stopReason": "end_turn" + } + }, + { + "metadata": { + "usage": { + "inputTokens": 19, + "outputTokens": 90, + "totalTokens": 109 + }, + "metrics": { + "latencyMs": 2123 + } + } + } +] \ No newline at end of file diff --git a/payloads/snapshots/multimodalRequest/bedrock/response.json b/payloads/snapshots/multimodalRequest/bedrock/response.json new file mode 100644 index 00000000..2d170998 --- /dev/null +++ b/payloads/snapshots/multimodalRequest/bedrock/response.json @@ -0,0 +1,29 @@ +{ + "output": { + "message": { + "role": "assistant", + "content": [ + { + "text": "I can see a very small, simple image that appears to be a tiny dark dot or speck against a light background. The image is so small and minimal that it's difficult to discern specific details. It could be a single pixel, a small mark, or perhaps part of a larger image that didn't load completely. \n\nCould you provide more context about what this image is supposed to show, or let me know if there's a larger version available?" + } + ] + } + }, + "stopReason": "end_turn", + "usage": { + "inputTokens": 19, + "outputTokens": 97, + "totalTokens": 116, + "cacheReadInputTokens": 0, + "cacheWriteInputTokens": 0 + }, + "metrics": { + "latencyMs": 2823 + }, + "$metadata": { + "httpStatusCode": 200, + "requestId": "4ec9014a-4b23-4753-9c2c-58a88149bd44", + "attempts": 1, + "totalRetryDelay": 0 + } +} \ No newline at end of file diff --git a/payloads/snapshots/multimodalRequest/google/followup-request.json b/payloads/snapshots/multimodalRequest/google/followup-request.json new file mode 100644 index 00000000..f54df299 --- /dev/null +++ b/payloads/snapshots/multimodalRequest/google/followup-request.json @@ -0,0 +1,37 @@ +{ + "contents": [ + { + "role": "user", + "parts": [ + { + "text": "What do you see in this image?" + }, + { + "inlineData": { + "mimeType": "image/jpeg", + "data": "/9j/4AAQSkZJRgABAQEASABIAAD/2wBDAAMCAgMCAgMDAwMEAwMEBQgFBQQEBQoHBwYIDAoMDAsKCwsNDhIQDQ4RDgsLEBYQERMUFRUVDA8XGBYUGBIUFRT/wAALCAABAAEBAREA/8QAFAABAAAAAAAAAAAAAAAAAAAACf/EABQQAQAAAAAAAAAAAAAAAAAAAAD/2gAIAQEAAD8AKp//2Q==" + } + } + ] + }, + { + "parts": [ + { + "text": "The image is completely black. There are no discernible objects" + } + ], + "role": "model" + }, + { + "role": "user", + "parts": [ + { + "text": "What should I do next?" + } + ] + } + ], + "config": { + "maxOutputTokens": 300 + } +} \ No newline at end of file diff --git a/payloads/snapshots/multimodalRequest/google/followup-response-streaming.json b/payloads/snapshots/multimodalRequest/google/followup-response-streaming.json new file mode 100644 index 00000000..9b1efa0a --- /dev/null +++ b/payloads/snapshots/multimodalRequest/google/followup-response-streaming.json @@ -0,0 +1,51 @@ +[ + { + "candidates": [ + { + "content": { + "parts": [ + { + "text": "Since the image you provided was completely black," + } + ], + "role": "model" + }, + "finishReason": "MAX_TOKENS", + "index": 0 + } + ], + "modelVersion": "gemini-2.5-flash", + "responseId": "4gVUacW-LcrXjMcP8OuC2AY", + "usageMetadata": { + "promptTokenCount": 286, + "candidatesTokenCount": 9, + "totalTokenCount": 582, + "promptTokensDetails": [ + { + "modality": "TEXT", + "tokenCount": 28 + }, + { + "modality": "IMAGE", + "tokenCount": 258 + } + ], + "thoughtsTokenCount": 287 + }, + "sdkHttpResponse": { + "headers": { + "alt-svc": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000", + "content-disposition": "attachment", + "content-type": "text/event-stream", + "date": "Tue, 30 Dec 2025 17:03:32 GMT", + "server": "scaffolding on HTTPServer2", + "server-timing": "gfet4t7; dur=2081", + "transfer-encoding": "chunked", + "vary": "Origin, X-Origin, Referer", + "x-content-type-options": "nosniff", + "x-frame-options": "SAMEORIGIN", + "x-xss-protection": "0" + } + } + } +] \ No newline at end of file diff --git a/payloads/snapshots/multimodalRequest/google/followup-response.json b/payloads/snapshots/multimodalRequest/google/followup-response.json new file mode 100644 index 00000000..9002bb38 --- /dev/null +++ b/payloads/snapshots/multimodalRequest/google/followup-response.json @@ -0,0 +1,49 @@ +{ + "sdkHttpResponse": { + "headers": { + "alt-svc": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000", + "content-encoding": "gzip", + "content-type": "application/json; charset=UTF-8", + "date": "Tue, 30 Dec 2025 17:03:32 GMT", + "server": "scaffolding on HTTPServer2", + "server-timing": "gfet4t7; dur=2011", + "transfer-encoding": "chunked", + "vary": "Origin, X-Origin, Referer", + "x-content-type-options": "nosniff", + "x-frame-options": "SAMEORIGIN", + "x-xss-protection": "0" + } + }, + "candidates": [ + { + "content": { + "parts": [ + { + "text": "To give you the best advice, I need a little more" + } + ], + "role": "model" + }, + "finishReason": "MAX_TOKENS", + "index": 0 + } + ], + "modelVersion": "gemini-2.5-flash", + "responseId": "5AVUaefUCoPSjMcPhN2qiAc", + "usageMetadata": { + "promptTokenCount": 286, + "candidatesTokenCount": 12, + "totalTokenCount": 582, + "promptTokensDetails": [ + { + "modality": "TEXT", + "tokenCount": 28 + }, + { + "modality": "IMAGE", + "tokenCount": 258 + } + ], + "thoughtsTokenCount": 284 + } +} \ No newline at end of file diff --git a/payloads/snapshots/multimodalRequest/google/request.json b/payloads/snapshots/multimodalRequest/google/request.json new file mode 100644 index 00000000..9e3cdf29 --- /dev/null +++ b/payloads/snapshots/multimodalRequest/google/request.json @@ -0,0 +1,21 @@ +{ + "contents": [ + { + "role": "user", + "parts": [ + { + "text": "What do you see in this image?" + }, + { + "inlineData": { + "mimeType": "image/jpeg", + "data": "/9j/4AAQSkZJRgABAQEASABIAAD/2wBDAAMCAgMCAgMDAwMEAwMEBQgFBQQEBQoHBwYIDAoMDAsKCwsNDhIQDQ4RDgsLEBYQERMUFRUVDA8XGBYUGBIUFRT/wAALCAABAAEBAREA/8QAFAABAAAAAAAAAAAAAAAAAAAACf/EABQQAQAAAAAAAAAAAAAAAAAAAAD/2gAIAQEAAD8AKp//2Q==" + } + } + ] + } + ], + "config": { + "maxOutputTokens": 300 + } +} \ No newline at end of file diff --git a/payloads/snapshots/multimodalRequest/google/response-streaming.json b/payloads/snapshots/multimodalRequest/google/response-streaming.json new file mode 100644 index 00000000..a32bc850 --- /dev/null +++ b/payloads/snapshots/multimodalRequest/google/response-streaming.json @@ -0,0 +1,51 @@ +[ + { + "candidates": [ + { + "content": { + "parts": [ + { + "text": "I see a completely black image. There are" + } + ], + "role": "model" + }, + "finishReason": "MAX_TOKENS", + "index": 0 + } + ], + "modelVersion": "gemini-2.5-flash", + "responseId": "4AVUaan_IpOHjMcPjNeCiQU", + "usageMetadata": { + "promptTokenCount": 267, + "candidatesTokenCount": 9, + "totalTokenCount": 563, + "promptTokensDetails": [ + { + "modality": "TEXT", + "tokenCount": 9 + }, + { + "modality": "IMAGE", + "tokenCount": 258 + } + ], + "thoughtsTokenCount": 287 + }, + "sdkHttpResponse": { + "headers": { + "alt-svc": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000", + "content-disposition": "attachment", + "content-type": "text/event-stream", + "date": "Tue, 30 Dec 2025 17:03:30 GMT", + "server": "scaffolding on HTTPServer2", + "server-timing": "gfet4t7; dur=2286", + "transfer-encoding": "chunked", + "vary": "Origin, X-Origin, Referer", + "x-content-type-options": "nosniff", + "x-frame-options": "SAMEORIGIN", + "x-xss-protection": "0" + } + } + } +] \ No newline at end of file diff --git a/payloads/snapshots/multimodalRequest/google/response.json b/payloads/snapshots/multimodalRequest/google/response.json new file mode 100644 index 00000000..c4e2ad10 --- /dev/null +++ b/payloads/snapshots/multimodalRequest/google/response.json @@ -0,0 +1,49 @@ +{ + "sdkHttpResponse": { + "headers": { + "alt-svc": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000", + "content-encoding": "gzip", + "content-type": "application/json; charset=UTF-8", + "date": "Tue, 30 Dec 2025 17:03:30 GMT", + "server": "scaffolding on HTTPServer2", + "server-timing": "gfet4t7; dur=2242", + "transfer-encoding": "chunked", + "vary": "Origin, X-Origin, Referer", + "x-content-type-options": "nosniff", + "x-frame-options": "SAMEORIGIN", + "x-xss-protection": "0" + } + }, + "candidates": [ + { + "content": { + "parts": [ + { + "text": "The image is completely black. There are no discernible objects" + } + ], + "role": "model" + }, + "finishReason": "MAX_TOKENS", + "index": 0 + } + ], + "modelVersion": "gemini-2.5-flash", + "responseId": "4gVUaZ7_BaCkjMcP6Pm50QM", + "usageMetadata": { + "promptTokenCount": 267, + "candidatesTokenCount": 11, + "totalTokenCount": 563, + "promptTokensDetails": [ + { + "modality": "TEXT", + "tokenCount": 9 + }, + { + "modality": "IMAGE", + "tokenCount": 258 + } + ], + "thoughtsTokenCount": 285 + } +} \ No newline at end of file diff --git a/payloads/snapshots/reasoningRequest/bedrock/followup-request.json b/payloads/snapshots/reasoningRequest/bedrock/followup-request.json new file mode 100644 index 00000000..1451d9ce --- /dev/null +++ b/payloads/snapshots/reasoningRequest/bedrock/followup-request.json @@ -0,0 +1,29 @@ +{ + "modelId": "us.anthropic.claude-haiku-4-5-20251001-v1:0", + "messages": [ + { + "role": "user", + "content": [ + { + "text": "Solve this step by step: If a train travels 60 mph for 2 hours, then 80 mph for 1 hour, what's the average speed?" + } + ] + }, + { + "role": "assistant", + "content": [ + { + "text": "# Average Speed Calculation\n\n## Step 1: Find the distance for each segment\n\n**First segment:**\n- Speed = 60 mph, Time = 2 hours\n- Distance = 60 × 2 = **120 miles**\n\n**Second segment:**\n- Speed = 80 mph, Time = 1 hour\n- Distance = 80 × 1 = **80 miles**\n\n## Step 2: Calculate total distance and total time\n\n- **Total distance** = 120 + 80 = **200 miles**\n- **Total time** = 2 + 1 = **3 hours**\n\n## Step 3: Calculate average speed\n\n$$\\text{Average Speed} = \\frac{\\text{Total Distance}}{\\text{Total Time}} = \\frac{200 \\text{ miles}}{3 \\text{ hours}} = 66.\\overline{6} \\text{ mph}$$\n\n## Answer\n\n**The average speed is approximately 66.67 mph** (or 66⅔ mph)" + } + ] + }, + { + "role": "user", + "content": [ + { + "text": "What should I do next?" + } + ] + } + ] +} \ No newline at end of file diff --git a/payloads/snapshots/reasoningRequest/bedrock/followup-response-streaming.json b/payloads/snapshots/reasoningRequest/bedrock/followup-response-streaming.json new file mode 100644 index 00000000..1f694e45 --- /dev/null +++ b/payloads/snapshots/reasoningRequest/bedrock/followup-response-streaming.json @@ -0,0 +1,349 @@ +[ + { + "messageStart": { + "role": "assistant" + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "That" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " depends" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " on what you'" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "d like to do!" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " Here are some options:\n\n**" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "If you want to continue" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " with this" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " problem:**\n- Calculate" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " how" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " long it" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " woul" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "d take to travel the" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " same" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " distance at a" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " constant speed\n- Fin" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "d the average" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " speed for a" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " different" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " scenario" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "\n- Solve" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " a" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " related distance" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "/spee" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "d/" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "time problem\n\n**If you want to" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " move" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " on to something" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " else:**\n- Ask" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " another" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " math" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " question\n- Work" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " on a different topic" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "\n- Get" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " help" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " with something" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " else" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "\n\n**What" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " would you like to do?**" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " " + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "😊" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockStop": { + "contentBlockIndex": 0 + } + }, + { + "messageStop": { + "stopReason": "end_turn" + } + }, + { + "metadata": { + "usage": { + "inputTokens": 295, + "outputTokens": 113, + "totalTokens": 408 + }, + "metrics": { + "latencyMs": 1738 + } + } + } +] \ No newline at end of file diff --git a/payloads/snapshots/reasoningRequest/bedrock/followup-response.json b/payloads/snapshots/reasoningRequest/bedrock/followup-response.json new file mode 100644 index 00000000..0a0aabec --- /dev/null +++ b/payloads/snapshots/reasoningRequest/bedrock/followup-response.json @@ -0,0 +1,29 @@ +{ + "output": { + "message": { + "role": "assistant", + "content": [ + { + "text": "That depends on what you'd like to do! Here are some options:\n\n1. **Practice similar problems** - Try calculating average speed with different speeds and times to reinforce the concept\n\n2. **Explore related concepts** - Learn about:\n - Distance = Speed × Time problems\n - Acceleration and deceleration\n - Relative speed (two objects moving)\n\n3. **Real-world applications** - Apply this to:\n - Planning a road trip\n - Analyzing commute times\n - Comparing travel routes\n\n4. **More complex scenarios** - Try problems with:\n - More than 2 segments\n - Finding missing values (e.g., \"what speed for 1 hour to reach avg of 70 mph?\")\n\n5. **Move to a different topic** - Work on something entirely new\n\n**What interests you most?** Let me know and I can help you work through it!" + } + ] + } + }, + "stopReason": "end_turn", + "usage": { + "inputTokens": 295, + "outputTokens": 206, + "totalTokens": 501, + "cacheReadInputTokens": 0, + "cacheWriteInputTokens": 0 + }, + "metrics": { + "latencyMs": 2452 + }, + "$metadata": { + "httpStatusCode": 200, + "requestId": "d4b2a4a1-bd05-4868-a75d-6b38a5c85252", + "attempts": 1, + "totalRetryDelay": 0 + } +} \ No newline at end of file diff --git a/payloads/snapshots/reasoningRequest/bedrock/request.json b/payloads/snapshots/reasoningRequest/bedrock/request.json new file mode 100644 index 00000000..b7bc1ac5 --- /dev/null +++ b/payloads/snapshots/reasoningRequest/bedrock/request.json @@ -0,0 +1,13 @@ +{ + "modelId": "us.anthropic.claude-haiku-4-5-20251001-v1:0", + "messages": [ + { + "role": "user", + "content": [ + { + "text": "Solve this step by step: If a train travels 60 mph for 2 hours, then 80 mph for 1 hour, what's the average speed?" + } + ] + } + ] +} \ No newline at end of file diff --git a/payloads/snapshots/reasoningRequest/bedrock/response-streaming.json b/payloads/snapshots/reasoningRequest/bedrock/response-streaming.json new file mode 100644 index 00000000..a2edac74 --- /dev/null +++ b/payloads/snapshots/reasoningRequest/bedrock/response-streaming.json @@ -0,0 +1,485 @@ +[ + { + "messageStart": { + "role": "assistant" + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "#" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " Average" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " Speed Problem\n\n##" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " Step" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " 1: Calculate distance" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " for" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " first" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " part" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "\n- Spee" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "d = 60 mph\n- Time" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " = 2 hours\n- Distance" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " = Speed × Time = 60 " + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "×" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " 2 = **" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "120 miles**\n\n## Step " + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "2: Calculate distance for second part" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "\n- Speed = 80 mph" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "\n- Time = 1 hour" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "\n- Distance = Speed × Time = " + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "80 × 1 = **" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "80 miles**\n\n## Step " + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "3: Fin" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "d total" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " distance\n- Total distance = " + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "120 +" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " 80 = **200 miles" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "**\n\n## Step 4: Fin" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "d total time\n- Total time = " + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "2 + 1 = **" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "3 hours**\n\n## Step " + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "5: Calculate average speed\nAverage" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " speed = Total distance ÷" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " Total time" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "\n\n**" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "Average speed = 200 " + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "÷ 3 = " + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "66." + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "67 mph**" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " (or" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " " + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "66⅔ mph)" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "\n\n---" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "\n\n**" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "Key" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " point" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": ":** Average" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " speed is NOT" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " the average" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " of" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " the two speeds (" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "which" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " would be 70" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " mph). You" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " must use" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " total" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " distance divide" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "d by total time." + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockStop": { + "contentBlockIndex": 0 + } + }, + { + "messageStop": { + "stopReason": "end_turn" + } + }, + { + "metadata": { + "usage": { + "inputTokens": 45, + "outputTokens": 247, + "totalTokens": 292 + }, + "metrics": { + "latencyMs": 2247 + } + } + } +] \ No newline at end of file diff --git a/payloads/snapshots/reasoningRequest/bedrock/response.json b/payloads/snapshots/reasoningRequest/bedrock/response.json new file mode 100644 index 00000000..53294f54 --- /dev/null +++ b/payloads/snapshots/reasoningRequest/bedrock/response.json @@ -0,0 +1,29 @@ +{ + "output": { + "message": { + "role": "assistant", + "content": [ + { + "text": "# Average Speed Calculation\n\n## Step 1: Find the distance for each segment\n\n**First segment:**\n- Speed = 60 mph, Time = 2 hours\n- Distance = 60 × 2 = **120 miles**\n\n**Second segment:**\n- Speed = 80 mph, Time = 1 hour\n- Distance = 80 × 1 = **80 miles**\n\n## Step 2: Calculate total distance and total time\n\n- **Total distance** = 120 + 80 = **200 miles**\n- **Total time** = 2 + 1 = **3 hours**\n\n## Step 3: Calculate average speed\n\n$$\\text{Average Speed} = \\frac{\\text{Total Distance}}{\\text{Total Time}} = \\frac{200 \\text{ miles}}{3 \\text{ hours}} = 66.\\overline{6} \\text{ mph}$$\n\n## Answer\n\n**The average speed is approximately 66.67 mph** (or 66⅔ mph)" + } + ] + } + }, + "stopReason": "end_turn", + "usage": { + "inputTokens": 45, + "outputTokens": 241, + "totalTokens": 286, + "cacheReadInputTokens": 0, + "cacheWriteInputTokens": 0 + }, + "metrics": { + "latencyMs": 2022 + }, + "$metadata": { + "httpStatusCode": 200, + "requestId": "ffcd9e47-5138-443d-a909-41db466bc5c4", + "attempts": 1, + "totalRetryDelay": 0 + } +} \ No newline at end of file diff --git a/payloads/snapshots/reasoningRequest/google/followup-request.json b/payloads/snapshots/reasoningRequest/google/followup-request.json new file mode 100644 index 00000000..6949bf1d --- /dev/null +++ b/payloads/snapshots/reasoningRequest/google/followup-request.json @@ -0,0 +1,28 @@ +{ + "contents": [ + { + "role": "user", + "parts": [ + { + "text": "Solve this step by step: If a train travels 60 mph for 2 hours, then 80 mph for 1 hour, what's the average speed?" + } + ] + }, + { + "parts": [ + { + "text": "To find the average speed, we need to calculate the total distance traveled and the total time taken. The formula for average speed is:\n\n**Average Speed = Total Distance / Total Time**\n\nLet's break down the train's journey into two parts:\n\n**Part 1: First Leg of the Journey**\n1. **Speed:** 60 mph\n2. **Time:** 2 hours\n3. **Calculate Distance for Part 1:**\n * Distance = Speed × Time\n * Distance_1 = 60 mph × 2 hours = 120 miles\n\n**Part 2: Second Leg of the Journey**\n1. **Speed:** 80 mph\n2. **Time:** 1 hour\n3. **Calculate Distance for Part 2:**\n * Distance = Speed × Time\n * Distance_2 = 80 mph × 1 hour = 80 miles\n\n**Now, let's calculate the Total Distance and Total Time:**\n\n4. **Calculate Total Distance:**\n * Total Distance = Distance_1 + Distance_2\n * Total Distance = 120 miles + 80 miles = 200 miles\n\n5. **Calculate Total Time:**\n * Total Time = Time_1 + Time_2\n * Total Time = 2 hours + 1 hour = 3 hours\n\n**Finally, calculate the Average Speed:**\n\n6. **Average Speed = Total Distance / Total Time**\n * Average Speed = 200 miles / 3 hours\n * Average Speed ≈ 66.67 mph\n\nThe average speed of the train is **66 2/3 mph** or approximately **66.67 mph**." + } + ], + "role": "model" + }, + { + "role": "user", + "parts": [ + { + "text": "What should I do next?" + } + ] + } + ] +} \ No newline at end of file diff --git a/payloads/snapshots/reasoningRequest/google/followup-response-streaming.json b/payloads/snapshots/reasoningRequest/google/followup-response-streaming.json new file mode 100644 index 00000000..46e0eed6 --- /dev/null +++ b/payloads/snapshots/reasoningRequest/google/followup-response-streaming.json @@ -0,0 +1,267 @@ +[ + { + "candidates": [ + { + "content": { + "parts": [ + { + "text": "That depends on what you're interested in! Since we just solved a math problem, here are a few ideas related to that, or you can tell me if you'd like to do something else entirely:\n\n**Related to the Math" + } + ], + "role": "model" + }, + "index": 0 + } + ], + "modelVersion": "gemini-2.5-flash", + "responseId": "IvJHaZ-rMtLfjrEP2LjLyA4", + "usageMetadata": { + "promptTokenCount": 431, + "candidatesTokenCount": 49, + "totalTokenCount": 1237, + "promptTokensDetails": [ + { + "modality": "TEXT", + "tokenCount": 431 + } + ], + "thoughtsTokenCount": 757 + }, + "sdkHttpResponse": { + "headers": { + "alt-svc": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000", + "content-disposition": "attachment", + "content-type": "text/event-stream", + "date": "Sun, 21 Dec 2025 13:12:06 GMT", + "server": "scaffolding on HTTPServer2", + "server-timing": "gfet4t7; dur=4820", + "transfer-encoding": "chunked", + "vary": "Origin, X-Origin, Referer", + "x-content-type-options": "nosniff", + "x-frame-options": "SAMEORIGIN", + "x-xss-protection": "0" + } + } + }, + { + "candidates": [ + { + "content": { + "parts": [ + { + "text": " Problem:**\n\n1. **Try another similar word problem:** We can practice another average speed problem, perhaps with slightly different numbers or more segments to the journey.\n2. **Explore a different type of average problem:** We could look" + } + ], + "role": "model" + }, + "index": 0 + } + ], + "modelVersion": "gemini-2.5-flash", + "responseId": "IvJHaZ-rMtLfjrEP2LjLyA4", + "usageMetadata": { + "promptTokenCount": 431, + "candidatesTokenCount": 98, + "totalTokenCount": 1286, + "promptTokensDetails": [ + { + "modality": "TEXT", + "tokenCount": 431 + } + ], + "thoughtsTokenCount": 757 + }, + "sdkHttpResponse": { + "headers": { + "alt-svc": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000", + "content-disposition": "attachment", + "content-type": "text/event-stream", + "date": "Sun, 21 Dec 2025 13:12:06 GMT", + "server": "scaffolding on HTTPServer2", + "server-timing": "gfet4t7; dur=4820", + "transfer-encoding": "chunked", + "vary": "Origin, X-Origin, Referer", + "x-content-type-options": "nosniff", + "x-frame-options": "SAMEORIGIN", + "x-xss-protection": "0" + } + } + }, + { + "candidates": [ + { + "content": { + "parts": [ + { + "text": " at average temperature, average scores, or weighted averages.\n3. **Dive deeper into the concept:** Do you want to understand *why* we calculate average speed this way (and why it's not just the average of the speeds)?\n" + } + ], + "role": "model" + }, + "index": 0 + } + ], + "modelVersion": "gemini-2.5-flash", + "responseId": "IvJHaZ-rMtLfjrEP2LjLyA4", + "usageMetadata": { + "promptTokenCount": 431, + "candidatesTokenCount": 148, + "totalTokenCount": 1336, + "promptTokensDetails": [ + { + "modality": "TEXT", + "tokenCount": 431 + } + ], + "thoughtsTokenCount": 757 + }, + "sdkHttpResponse": { + "headers": { + "alt-svc": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000", + "content-disposition": "attachment", + "content-type": "text/event-stream", + "date": "Sun, 21 Dec 2025 13:12:06 GMT", + "server": "scaffolding on HTTPServer2", + "server-timing": "gfet4t7; dur=4820", + "transfer-encoding": "chunked", + "vary": "Origin, X-Origin, Referer", + "x-content-type-options": "nosniff", + "x-frame-options": "SAMEORIGIN", + "x-xss-protection": "0" + } + } + }, + { + "candidates": [ + { + "content": { + "parts": [ + { + "text": "4. **Create your own word problem:** You could try to make up a similar problem and then solve it.\n5. **Review the steps:** Are there any parts of the solution that were unclear, or that you'd" + } + ], + "role": "model" + }, + "index": 0 + } + ], + "modelVersion": "gemini-2.5-flash", + "responseId": "IvJHaZ-rMtLfjrEP2LjLyA4", + "usageMetadata": { + "promptTokenCount": 431, + "candidatesTokenCount": 197, + "totalTokenCount": 1385, + "promptTokensDetails": [ + { + "modality": "TEXT", + "tokenCount": 431 + } + ], + "thoughtsTokenCount": 757 + }, + "sdkHttpResponse": { + "headers": { + "alt-svc": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000", + "content-disposition": "attachment", + "content-type": "text/event-stream", + "date": "Sun, 21 Dec 2025 13:12:06 GMT", + "server": "scaffolding on HTTPServer2", + "server-timing": "gfet4t7; dur=4820", + "transfer-encoding": "chunked", + "vary": "Origin, X-Origin, Referer", + "x-content-type-options": "nosniff", + "x-frame-options": "SAMEORIGIN", + "x-xss-protection": "0" + } + } + }, + { + "candidates": [ + { + "content": { + "parts": [ + { + "text": " like to go over again?\n\n**Other Options:**\n\n6. **Switch to a different math topic:** Are you working on algebra, geometry, percentages, fractions, or something else?\n7. **Ask a general question:** About" + } + ], + "role": "model" + }, + "index": 0 + } + ], + "modelVersion": "gemini-2.5-flash", + "responseId": "IvJHaZ-rMtLfjrEP2LjLyA4", + "usageMetadata": { + "promptTokenCount": 431, + "candidatesTokenCount": 247, + "totalTokenCount": 1435, + "promptTokensDetails": [ + { + "modality": "TEXT", + "tokenCount": 431 + } + ], + "thoughtsTokenCount": 757 + }, + "sdkHttpResponse": { + "headers": { + "alt-svc": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000", + "content-disposition": "attachment", + "content-type": "text/event-stream", + "date": "Sun, 21 Dec 2025 13:12:06 GMT", + "server": "scaffolding on HTTPServer2", + "server-timing": "gfet4t7; dur=4820", + "transfer-encoding": "chunked", + "vary": "Origin, X-Origin, Referer", + "x-content-type-options": "nosniff", + "x-frame-options": "SAMEORIGIN", + "x-xss-protection": "0" + } + } + }, + { + "candidates": [ + { + "content": { + "parts": [ + { + "text": " anything you're curious about!\n8. **Tell me a story or ask for a fun fact.**\n\nJust let me know what sounds good to you!" + } + ], + "role": "model" + }, + "finishReason": "STOP", + "index": 0 + } + ], + "modelVersion": "gemini-2.5-flash", + "responseId": "IvJHaZ-rMtLfjrEP2LjLyA4", + "usageMetadata": { + "promptTokenCount": 431, + "candidatesTokenCount": 281, + "totalTokenCount": 1469, + "promptTokensDetails": [ + { + "modality": "TEXT", + "tokenCount": 431 + } + ], + "thoughtsTokenCount": 757 + }, + "sdkHttpResponse": { + "headers": { + "alt-svc": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000", + "content-disposition": "attachment", + "content-type": "text/event-stream", + "date": "Sun, 21 Dec 2025 13:12:06 GMT", + "server": "scaffolding on HTTPServer2", + "server-timing": "gfet4t7; dur=4820", + "transfer-encoding": "chunked", + "vary": "Origin, X-Origin, Referer", + "x-content-type-options": "nosniff", + "x-frame-options": "SAMEORIGIN", + "x-xss-protection": "0" + } + } + } +] \ No newline at end of file diff --git a/payloads/snapshots/reasoningRequest/google/followup-response.json b/payloads/snapshots/reasoningRequest/google/followup-response.json new file mode 100644 index 00000000..4f2e1416 --- /dev/null +++ b/payloads/snapshots/reasoningRequest/google/followup-response.json @@ -0,0 +1,45 @@ +{ + "sdkHttpResponse": { + "headers": { + "alt-svc": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000", + "content-encoding": "gzip", + "content-type": "application/json; charset=UTF-8", + "date": "Sun, 21 Dec 2025 13:12:07 GMT", + "server": "scaffolding on HTTPServer2", + "server-timing": "gfet4t7; dur=6226", + "transfer-encoding": "chunked", + "vary": "Origin, X-Origin, Referer", + "x-content-type-options": "nosniff", + "x-frame-options": "SAMEORIGIN", + "x-xss-protection": "0" + } + }, + "candidates": [ + { + "content": { + "parts": [ + { + "text": "Great question! What you should do next depends on what you'd like to achieve. Here are a few options:\n\n1. **Practice another similar problem:** I can generate a new average speed problem for you, perhaps with slightly different numbers or a variation in the scenario. This helps solidify your understanding.\n * *You could say:* \"Give me another average speed problem.\" or \"What if the train traveled for different times?\"\n\n2. **Explore the concept of average speed more deeply:** We can discuss *why* the average speed isn't simply the average of the two speeds (60 mph and 80 mph). It's a common misconception!\n * *You could say:* \"Why isn't the average speed just (60 + 80) / 2?\" or \"Explain the concept of weighted average in relation to this problem.\"\n\n3. **Try a different type of distance, rate, time problem:** There are many variations, like finding the time given distance and speed, or finding the speed given distance and time, or even more complex scenarios with two objects moving towards or away from each other.\n * *You could say:* \"Give me a problem where I need to find the time.\" or \"Can we do a problem with two trains?\"\n\n4. **Move on to a different math topic:** If you're confident with average speed, you can ask me for help with any other math concept or problem you're working on.\n * *You could say:* \"Let's do a problem about fractions.\" or \"Can you help me with algebra?\"\n\nJust let me know what you'd prefer!" + } + ], + "role": "model" + }, + "finishReason": "STOP", + "index": 0 + } + ], + "modelVersion": "gemini-2.5-flash", + "responseId": "J_JHaeCdM6WujrEP_5OJuQk", + "usageMetadata": { + "promptTokenCount": 431, + "candidatesTokenCount": 354, + "totalTokenCount": 1703, + "promptTokensDetails": [ + { + "modality": "TEXT", + "tokenCount": 431 + } + ], + "thoughtsTokenCount": 918 + } +} \ No newline at end of file diff --git a/payloads/snapshots/reasoningRequest/google/request.json b/payloads/snapshots/reasoningRequest/google/request.json new file mode 100644 index 00000000..fdda104c --- /dev/null +++ b/payloads/snapshots/reasoningRequest/google/request.json @@ -0,0 +1,12 @@ +{ + "contents": [ + { + "role": "user", + "parts": [ + { + "text": "Solve this step by step: If a train travels 60 mph for 2 hours, then 80 mph for 1 hour, what's the average speed?" + } + ] + } + ] +} \ No newline at end of file diff --git a/payloads/snapshots/reasoningRequest/google/response-streaming.json b/payloads/snapshots/reasoningRequest/google/response-streaming.json new file mode 100644 index 00000000..084f009c --- /dev/null +++ b/payloads/snapshots/reasoningRequest/google/response-streaming.json @@ -0,0 +1,311 @@ +[ + { + "candidates": [ + { + "content": { + "parts": [ + { + "text": "To find the average speed, we need to calculate the **total distance traveled** and divide it by the **total time taken**.\n\nHere's how to solve it step-by-step:\n\n**Step 1: Calculate the" + } + ], + "role": "model" + }, + "index": 0 + } + ], + "modelVersion": "gemini-2.5-flash", + "responseId": "HfJHaZiyFaLujrEP29jTwAk", + "usageMetadata": { + "promptTokenCount": 37, + "candidatesTokenCount": 48, + "totalTokenCount": 829, + "promptTokensDetails": [ + { + "modality": "TEXT", + "tokenCount": 37 + } + ], + "thoughtsTokenCount": 744 + }, + "sdkHttpResponse": { + "headers": { + "alt-svc": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000", + "content-disposition": "attachment", + "content-type": "text/event-stream", + "date": "Sun, 21 Dec 2025 13:12:00 GMT", + "server": "scaffolding on HTTPServer2", + "server-timing": "gfet4t7; dur=3687", + "transfer-encoding": "chunked", + "vary": "Origin, X-Origin, Referer", + "x-content-type-options": "nosniff", + "x-frame-options": "SAMEORIGIN", + "x-xss-protection": "0" + } + } + }, + { + "candidates": [ + { + "content": { + "parts": [ + { + "text": " distance traveled in the first part of the journey.**\n* Speed = 60 mph\n* Time = 2 hours\n* Distance = Speed × Time\n* Distance 1 = 60 mph × " + } + ], + "role": "model" + }, + "index": 0 + } + ], + "modelVersion": "gemini-2.5-flash", + "responseId": "HfJHaZiyFaLujrEP29jTwAk", + "usageMetadata": { + "promptTokenCount": 37, + "candidatesTokenCount": 95, + "totalTokenCount": 876, + "promptTokensDetails": [ + { + "modality": "TEXT", + "tokenCount": 37 + } + ], + "thoughtsTokenCount": 744 + }, + "sdkHttpResponse": { + "headers": { + "alt-svc": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000", + "content-disposition": "attachment", + "content-type": "text/event-stream", + "date": "Sun, 21 Dec 2025 13:12:00 GMT", + "server": "scaffolding on HTTPServer2", + "server-timing": "gfet4t7; dur=3687", + "transfer-encoding": "chunked", + "vary": "Origin, X-Origin, Referer", + "x-content-type-options": "nosniff", + "x-frame-options": "SAMEORIGIN", + "x-xss-protection": "0" + } + } + }, + { + "candidates": [ + { + "content": { + "parts": [ + { + "text": "2 hours = 120 miles\n\n**Step 2: Calculate the distance traveled in the second part of the journey.**\n* Speed = 80 mph\n* Time = 1 hour\n* Distance =" + } + ], + "role": "model" + }, + "index": 0 + } + ], + "modelVersion": "gemini-2.5-flash", + "responseId": "HfJHaZiyFaLujrEP29jTwAk", + "usageMetadata": { + "promptTokenCount": 37, + "candidatesTokenCount": 143, + "totalTokenCount": 924, + "promptTokensDetails": [ + { + "modality": "TEXT", + "tokenCount": 37 + } + ], + "thoughtsTokenCount": 744 + }, + "sdkHttpResponse": { + "headers": { + "alt-svc": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000", + "content-disposition": "attachment", + "content-type": "text/event-stream", + "date": "Sun, 21 Dec 2025 13:12:00 GMT", + "server": "scaffolding on HTTPServer2", + "server-timing": "gfet4t7; dur=3687", + "transfer-encoding": "chunked", + "vary": "Origin, X-Origin, Referer", + "x-content-type-options": "nosniff", + "x-frame-options": "SAMEORIGIN", + "x-xss-protection": "0" + } + } + }, + { + "candidates": [ + { + "content": { + "parts": [ + { + "text": " Speed × Time\n* Distance 2 = 80 mph × 1 hour = 80 miles\n\n**Step 3: Calculate the total distance traveled.**\n* Total Distance = Distance 1 + Distance 2" + } + ], + "role": "model" + }, + "index": 0 + } + ], + "modelVersion": "gemini-2.5-flash", + "responseId": "HfJHaZiyFaLujrEP29jTwAk", + "usageMetadata": { + "promptTokenCount": 37, + "candidatesTokenCount": 191, + "totalTokenCount": 972, + "promptTokensDetails": [ + { + "modality": "TEXT", + "tokenCount": 37 + } + ], + "thoughtsTokenCount": 744 + }, + "sdkHttpResponse": { + "headers": { + "alt-svc": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000", + "content-disposition": "attachment", + "content-type": "text/event-stream", + "date": "Sun, 21 Dec 2025 13:12:00 GMT", + "server": "scaffolding on HTTPServer2", + "server-timing": "gfet4t7; dur=3687", + "transfer-encoding": "chunked", + "vary": "Origin, X-Origin, Referer", + "x-content-type-options": "nosniff", + "x-frame-options": "SAMEORIGIN", + "x-xss-protection": "0" + } + } + }, + { + "candidates": [ + { + "content": { + "parts": [ + { + "text": "\n* Total Distance = 120 miles + 80 miles = 200 miles\n\n**Step 4: Calculate the total time taken.**\n* Total Time = Time 1 + Time 2\n" + } + ], + "role": "model" + }, + "index": 0 + } + ], + "modelVersion": "gemini-2.5-flash", + "responseId": "HfJHaZiyFaLujrEP29jTwAk", + "usageMetadata": { + "promptTokenCount": 37, + "candidatesTokenCount": 237, + "totalTokenCount": 1018, + "promptTokensDetails": [ + { + "modality": "TEXT", + "tokenCount": 37 + } + ], + "thoughtsTokenCount": 744 + }, + "sdkHttpResponse": { + "headers": { + "alt-svc": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000", + "content-disposition": "attachment", + "content-type": "text/event-stream", + "date": "Sun, 21 Dec 2025 13:12:00 GMT", + "server": "scaffolding on HTTPServer2", + "server-timing": "gfet4t7; dur=3687", + "transfer-encoding": "chunked", + "vary": "Origin, X-Origin, Referer", + "x-content-type-options": "nosniff", + "x-frame-options": "SAMEORIGIN", + "x-xss-protection": "0" + } + } + }, + { + "candidates": [ + { + "content": { + "parts": [ + { + "text": "* Total Time = 2 hours + 1 hour = 3 hours\n\n**Step 5: Calculate the average speed.**\n* Average Speed = Total Distance / Total Time\n* Average Speed = 200" + } + ], + "role": "model" + }, + "index": 0 + } + ], + "modelVersion": "gemini-2.5-flash", + "responseId": "HfJHaZiyFaLujrEP29jTwAk", + "usageMetadata": { + "promptTokenCount": 37, + "candidatesTokenCount": 285, + "totalTokenCount": 1066, + "promptTokensDetails": [ + { + "modality": "TEXT", + "tokenCount": 37 + } + ], + "thoughtsTokenCount": 744 + }, + "sdkHttpResponse": { + "headers": { + "alt-svc": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000", + "content-disposition": "attachment", + "content-type": "text/event-stream", + "date": "Sun, 21 Dec 2025 13:12:00 GMT", + "server": "scaffolding on HTTPServer2", + "server-timing": "gfet4t7; dur=3687", + "transfer-encoding": "chunked", + "vary": "Origin, X-Origin, Referer", + "x-content-type-options": "nosniff", + "x-frame-options": "SAMEORIGIN", + "x-xss-protection": "0" + } + } + }, + { + "candidates": [ + { + "content": { + "parts": [ + { + "text": " miles / 3 hours\n* Average Speed $\\approx$ 66.67 mph\n\nThe average speed of the train is approximately **66.67 mph**." + } + ], + "role": "model" + }, + "finishReason": "STOP", + "index": 0 + } + ], + "modelVersion": "gemini-2.5-flash", + "responseId": "HfJHaZiyFaLujrEP29jTwAk", + "usageMetadata": { + "promptTokenCount": 37, + "candidatesTokenCount": 322, + "totalTokenCount": 1103, + "promptTokensDetails": [ + { + "modality": "TEXT", + "tokenCount": 37 + } + ], + "thoughtsTokenCount": 744 + }, + "sdkHttpResponse": { + "headers": { + "alt-svc": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000", + "content-disposition": "attachment", + "content-type": "text/event-stream", + "date": "Sun, 21 Dec 2025 13:12:00 GMT", + "server": "scaffolding on HTTPServer2", + "server-timing": "gfet4t7; dur=3687", + "transfer-encoding": "chunked", + "vary": "Origin, X-Origin, Referer", + "x-content-type-options": "nosniff", + "x-frame-options": "SAMEORIGIN", + "x-xss-protection": "0" + } + } + } +] \ No newline at end of file diff --git a/payloads/snapshots/reasoningRequest/google/response.json b/payloads/snapshots/reasoningRequest/google/response.json new file mode 100644 index 00000000..39e6a983 --- /dev/null +++ b/payloads/snapshots/reasoningRequest/google/response.json @@ -0,0 +1,45 @@ +{ + "sdkHttpResponse": { + "headers": { + "alt-svc": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000", + "content-encoding": "gzip", + "content-type": "application/json; charset=UTF-8", + "date": "Sun, 21 Dec 2025 13:12:00 GMT", + "server": "scaffolding on HTTPServer2", + "server-timing": "gfet4t7; dur=3777", + "transfer-encoding": "chunked", + "vary": "Origin, X-Origin, Referer", + "x-content-type-options": "nosniff", + "x-frame-options": "SAMEORIGIN", + "x-xss-protection": "0" + } + }, + "candidates": [ + { + "content": { + "parts": [ + { + "text": "To find the average speed, we need to calculate the total distance traveled and the total time taken. The formula for average speed is:\n\n**Average Speed = Total Distance / Total Time**\n\nLet's break down the train's journey into two parts:\n\n**Part 1: First Leg of the Journey**\n1. **Speed:** 60 mph\n2. **Time:** 2 hours\n3. **Calculate Distance for Part 1:**\n * Distance = Speed × Time\n * Distance_1 = 60 mph × 2 hours = 120 miles\n\n**Part 2: Second Leg of the Journey**\n1. **Speed:** 80 mph\n2. **Time:** 1 hour\n3. **Calculate Distance for Part 2:**\n * Distance = Speed × Time\n * Distance_2 = 80 mph × 1 hour = 80 miles\n\n**Now, let's calculate the Total Distance and Total Time:**\n\n4. **Calculate Total Distance:**\n * Total Distance = Distance_1 + Distance_2\n * Total Distance = 120 miles + 80 miles = 200 miles\n\n5. **Calculate Total Time:**\n * Total Time = Time_1 + Time_2\n * Total Time = 2 hours + 1 hour = 3 hours\n\n**Finally, calculate the Average Speed:**\n\n6. **Average Speed = Total Distance / Total Time**\n * Average Speed = 200 miles / 3 hours\n * Average Speed ≈ 66.67 mph\n\nThe average speed of the train is **66 2/3 mph** or approximately **66.67 mph**." + } + ], + "role": "model" + }, + "finishReason": "STOP", + "index": 0 + } + ], + "modelVersion": "gemini-2.5-flash", + "responseId": "IPJHafrELvDujrEP3K3RuAs", + "usageMetadata": { + "promptTokenCount": 37, + "candidatesTokenCount": 386, + "totalTokenCount": 946, + "promptTokensDetails": [ + { + "modality": "TEXT", + "tokenCount": 37 + } + ], + "thoughtsTokenCount": 523 + } +} \ No newline at end of file diff --git a/payloads/snapshots/reasoningRequestTruncated/bedrock/followup-request.json b/payloads/snapshots/reasoningRequestTruncated/bedrock/followup-request.json new file mode 100644 index 00000000..68b710ca --- /dev/null +++ b/payloads/snapshots/reasoningRequestTruncated/bedrock/followup-request.json @@ -0,0 +1,32 @@ +{ + "modelId": "us.anthropic.claude-haiku-4-5-20251001-v1:0", + "messages": [ + { + "role": "user", + "content": [ + { + "text": "Solve this step by step: If a train travels 60 mph for 2 hours, then 80 mph for 1 hour, what's the average speed?" + } + ] + }, + { + "role": "assistant", + "content": [ + { + "text": "# Calculating Average Speed\n\n**Step 1: Find the distance for each segment**\n\nFirst segment:\n- Speed × Time = Distance\n- 60 mph × 2 hours = **120 miles**\n\nSecond segment:\n- 80 mph × 1 hour = **80 miles**\n\n**Step 2: Find total distance**\n- 120 + 80 = **200 miles**\n\n**Step 3: Find total" + } + ] + }, + { + "role": "user", + "content": [ + { + "text": "What should I do next?" + } + ] + } + ], + "inferenceConfig": { + "maxTokens": 100 + } +} \ No newline at end of file diff --git a/payloads/snapshots/reasoningRequestTruncated/bedrock/followup-response-streaming.json b/payloads/snapshots/reasoningRequestTruncated/bedrock/followup-response-streaming.json new file mode 100644 index 00000000..af9f465e --- /dev/null +++ b/payloads/snapshots/reasoningRequestTruncated/bedrock/followup-response-streaming.json @@ -0,0 +1,245 @@ +[ + { + "messageStart": { + "role": "assistant" + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "#" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " Step" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " " + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "4" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": ": Fin" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "d total" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " time" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "\n\nAd" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "d up all the time periods:\n-" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " " + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "2 hours +" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " 1 hour = **3 " + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "hours**\n\n#" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " Step 5: Calculate average speed" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "\n\nUse" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " the formula: Average Spee" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "d = Total Distance ÷ Total" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " Time\n\n-" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " Average Speed = 200 miles " + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "÷ 3 hours" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "\n- Average Speed = **" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "66.67 mph**" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " (or" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " " + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "66⅔ mph)" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "\n\n**" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "The" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockStop": { + "contentBlockIndex": 0 + } + }, + { + "messageStop": { + "stopReason": "max_tokens" + } + }, + { + "metadata": { + "usage": { + "inputTokens": 157, + "outputTokens": 100, + "totalTokens": 257 + }, + "metrics": { + "latencyMs": 1266 + } + } + } +] \ No newline at end of file diff --git a/payloads/snapshots/reasoningRequestTruncated/bedrock/followup-response.json b/payloads/snapshots/reasoningRequestTruncated/bedrock/followup-response.json new file mode 100644 index 00000000..a3f4306f --- /dev/null +++ b/payloads/snapshots/reasoningRequestTruncated/bedrock/followup-response.json @@ -0,0 +1,29 @@ +{ + "output": { + "message": { + "role": "assistant", + "content": [ + { + "text": "# Step 4: Calculate Average Speed\n\n**Average Speed = Total Distance ÷ Total Time**\n\n- Total Distance = 200 miles\n- Total Time = 2 hours + 1 hour = 3 hours\n\n**Average Speed = 200 ÷ 3 = 66.67 mph** (or 66⅔ mph)\n\n---\n\n**Note:** The average speed is *not* simply the average of" + } + ] + } + }, + "stopReason": "max_tokens", + "usage": { + "inputTokens": 157, + "outputTokens": 100, + "totalTokens": 257, + "cacheReadInputTokens": 0, + "cacheWriteInputTokens": 0 + }, + "metrics": { + "latencyMs": 1281 + }, + "$metadata": { + "httpStatusCode": 200, + "requestId": "a96b18ff-b234-41a2-aa99-73ddaa51140b", + "attempts": 1, + "totalRetryDelay": 0 + } +} \ No newline at end of file diff --git a/payloads/snapshots/reasoningRequestTruncated/bedrock/request.json b/payloads/snapshots/reasoningRequestTruncated/bedrock/request.json new file mode 100644 index 00000000..1ab4d08e --- /dev/null +++ b/payloads/snapshots/reasoningRequestTruncated/bedrock/request.json @@ -0,0 +1,16 @@ +{ + "modelId": "us.anthropic.claude-haiku-4-5-20251001-v1:0", + "messages": [ + { + "role": "user", + "content": [ + { + "text": "Solve this step by step: If a train travels 60 mph for 2 hours, then 80 mph for 1 hour, what's the average speed?" + } + ] + } + ], + "inferenceConfig": { + "maxTokens": 100 + } +} \ No newline at end of file diff --git a/payloads/snapshots/reasoningRequestTruncated/bedrock/response-streaming.json b/payloads/snapshots/reasoningRequestTruncated/bedrock/response-streaming.json new file mode 100644 index 00000000..9a1a8190 --- /dev/null +++ b/payloads/snapshots/reasoningRequestTruncated/bedrock/response-streaming.json @@ -0,0 +1,189 @@ +[ + { + "messageStart": { + "role": "assistant" + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "#" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " Average" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " Spee" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "d Calculation\n\n##" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " Step 1: Find the distance for" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " each segment" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "\n\n**First segment (60 mph for" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " 2 hours):**\n-" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " Distance = Speed × Time\n- Distance" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " = 60 ×" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " 2 = **" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "120 miles**\n\n**Second segment" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " (80 mph for 1 " + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "hour):**\n- Distance = " + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "80 × 1 = **" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "80 miles**\n\n## Step " + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "2: Fin" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "d total" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " distance an" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "d total time" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockStop": { + "contentBlockIndex": 0 + } + }, + { + "messageStop": { + "stopReason": "max_tokens" + } + }, + { + "metadata": { + "usage": { + "inputTokens": 45, + "outputTokens": 100, + "totalTokens": 145 + }, + "metrics": { + "latencyMs": 996 + } + } + } +] \ No newline at end of file diff --git a/payloads/snapshots/reasoningRequestTruncated/bedrock/response.json b/payloads/snapshots/reasoningRequestTruncated/bedrock/response.json new file mode 100644 index 00000000..48f06b29 --- /dev/null +++ b/payloads/snapshots/reasoningRequestTruncated/bedrock/response.json @@ -0,0 +1,29 @@ +{ + "output": { + "message": { + "role": "assistant", + "content": [ + { + "text": "# Calculating Average Speed\n\n**Step 1: Find the distance for each segment**\n\nFirst segment:\n- Speed × Time = Distance\n- 60 mph × 2 hours = **120 miles**\n\nSecond segment:\n- 80 mph × 1 hour = **80 miles**\n\n**Step 2: Find total distance**\n- 120 + 80 = **200 miles**\n\n**Step 3: Find total" + } + ] + } + }, + "stopReason": "max_tokens", + "usage": { + "inputTokens": 45, + "outputTokens": 100, + "totalTokens": 145, + "cacheReadInputTokens": 0, + "cacheWriteInputTokens": 0 + }, + "metrics": { + "latencyMs": 1491 + }, + "$metadata": { + "httpStatusCode": 200, + "requestId": "074813eb-3385-419a-bac2-a772204ac074", + "attempts": 1, + "totalRetryDelay": 0 + } +} \ No newline at end of file diff --git a/payloads/snapshots/reasoningRequestTruncated/google/followup-request.json b/payloads/snapshots/reasoningRequestTruncated/google/followup-request.json new file mode 100644 index 00000000..7ca4c3fa --- /dev/null +++ b/payloads/snapshots/reasoningRequestTruncated/google/followup-request.json @@ -0,0 +1,31 @@ +{ + "contents": [ + { + "role": "user", + "parts": [ + { + "text": "Solve this step by step: If a train travels 60 mph for 2 hours, then 80 mph for 1 hour, what's the average speed?" + } + ] + }, + { + "parts": [ + { + "text": "Let'" + } + ], + "role": "model" + }, + { + "role": "user", + "parts": [ + { + "text": "What should I do next?" + } + ] + } + ], + "config": { + "maxOutputTokens": 100 + } +} \ No newline at end of file diff --git a/payloads/snapshots/reasoningRequestTruncated/google/followup-response-streaming.json b/payloads/snapshots/reasoningRequestTruncated/google/followup-response-streaming.json new file mode 100644 index 00000000..83e05ea1 --- /dev/null +++ b/payloads/snapshots/reasoningRequestTruncated/google/followup-response-streaming.json @@ -0,0 +1,47 @@ +[ + { + "candidates": [ + { + "content": { + "parts": [ + { + "text": "Okay" + } + ], + "role": "model" + }, + "finishReason": "MAX_TOKENS", + "index": 0 + } + ], + "modelVersion": "gemini-2.5-flash", + "responseId": "HvJHafriCdmG-8YPxcjikAQ", + "usageMetadata": { + "promptTokenCount": 47, + "candidatesTokenCount": 1, + "totalTokenCount": 143, + "promptTokensDetails": [ + { + "modality": "TEXT", + "tokenCount": 47 + } + ], + "thoughtsTokenCount": 95 + }, + "sdkHttpResponse": { + "headers": { + "alt-svc": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000", + "content-disposition": "attachment", + "content-type": "text/event-stream", + "date": "Sun, 21 Dec 2025 13:11:58 GMT", + "server": "scaffolding on HTTPServer2", + "server-timing": "gfet4t7; dur=725", + "transfer-encoding": "chunked", + "vary": "Origin, X-Origin, Referer", + "x-content-type-options": "nosniff", + "x-frame-options": "SAMEORIGIN", + "x-xss-protection": "0" + } + } + } +] \ No newline at end of file diff --git a/payloads/snapshots/reasoningRequestTruncated/google/followup-response.json b/payloads/snapshots/reasoningRequestTruncated/google/followup-response.json new file mode 100644 index 00000000..7f763ca9 --- /dev/null +++ b/payloads/snapshots/reasoningRequestTruncated/google/followup-response.json @@ -0,0 +1,45 @@ +{ + "sdkHttpResponse": { + "headers": { + "alt-svc": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000", + "content-encoding": "gzip", + "content-type": "application/json; charset=UTF-8", + "date": "Sun, 21 Dec 2025 13:11:58 GMT", + "server": "scaffolding on HTTPServer2", + "server-timing": "gfet4t7; dur=817", + "transfer-encoding": "chunked", + "vary": "Origin, X-Origin, Referer", + "x-content-type-options": "nosniff", + "x-frame-options": "SAMEORIGIN", + "x-xss-protection": "0" + } + }, + "candidates": [ + { + "content": { + "parts": [ + { + "text": "Okay, great!" + } + ], + "role": "model" + }, + "finishReason": "MAX_TOKENS", + "index": 0 + } + ], + "modelVersion": "gemini-2.5-flash", + "responseId": "HvJHae-WLJ2s-8YP2MqhiQY", + "usageMetadata": { + "promptTokenCount": 47, + "candidatesTokenCount": 4, + "totalTokenCount": 143, + "promptTokensDetails": [ + { + "modality": "TEXT", + "tokenCount": 47 + } + ], + "thoughtsTokenCount": 92 + } +} \ No newline at end of file diff --git a/payloads/snapshots/reasoningRequestTruncated/google/request.json b/payloads/snapshots/reasoningRequestTruncated/google/request.json new file mode 100644 index 00000000..5b886476 --- /dev/null +++ b/payloads/snapshots/reasoningRequestTruncated/google/request.json @@ -0,0 +1,15 @@ +{ + "contents": [ + { + "role": "user", + "parts": [ + { + "text": "Solve this step by step: If a train travels 60 mph for 2 hours, then 80 mph for 1 hour, what's the average speed?" + } + ] + } + ], + "config": { + "maxOutputTokens": 100 + } +} \ No newline at end of file diff --git a/payloads/snapshots/reasoningRequestTruncated/google/response-streaming.json b/payloads/snapshots/reasoningRequestTruncated/google/response-streaming.json new file mode 100644 index 00000000..53715911 --- /dev/null +++ b/payloads/snapshots/reasoningRequestTruncated/google/response-streaming.json @@ -0,0 +1,47 @@ +[ + { + "candidates": [ + { + "content": { + "parts": [ + { + "text": "Let's" + } + ], + "role": "model" + }, + "finishReason": "MAX_TOKENS", + "index": 0 + } + ], + "modelVersion": "gemini-2.5-flash", + "responseId": "HfJHaYbyGoOkjrEPhfG76Ac", + "usageMetadata": { + "promptTokenCount": 37, + "candidatesTokenCount": 3, + "totalTokenCount": 133, + "promptTokensDetails": [ + { + "modality": "TEXT", + "tokenCount": 37 + } + ], + "thoughtsTokenCount": 93 + }, + "sdkHttpResponse": { + "headers": { + "alt-svc": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000", + "content-disposition": "attachment", + "content-type": "text/event-stream", + "date": "Sun, 21 Dec 2025 13:11:57 GMT", + "server": "scaffolding on HTTPServer2", + "server-timing": "gfet4t7; dur=849", + "transfer-encoding": "chunked", + "vary": "Origin, X-Origin, Referer", + "x-content-type-options": "nosniff", + "x-frame-options": "SAMEORIGIN", + "x-xss-protection": "0" + } + } + } +] \ No newline at end of file diff --git a/payloads/snapshots/reasoningRequestTruncated/google/response.json b/payloads/snapshots/reasoningRequestTruncated/google/response.json new file mode 100644 index 00000000..891dfa3c --- /dev/null +++ b/payloads/snapshots/reasoningRequestTruncated/google/response.json @@ -0,0 +1,45 @@ +{ + "sdkHttpResponse": { + "headers": { + "alt-svc": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000", + "content-encoding": "gzip", + "content-type": "application/json; charset=UTF-8", + "date": "Sun, 21 Dec 2025 13:11:57 GMT", + "server": "scaffolding on HTTPServer2", + "server-timing": "gfet4t7; dur=765", + "transfer-encoding": "chunked", + "vary": "Origin, X-Origin, Referer", + "x-content-type-options": "nosniff", + "x-frame-options": "SAMEORIGIN", + "x-xss-protection": "0" + } + }, + "candidates": [ + { + "content": { + "parts": [ + { + "text": "Let'" + } + ], + "role": "model" + }, + "finishReason": "MAX_TOKENS", + "index": 0 + } + ], + "modelVersion": "gemini-2.5-flash", + "responseId": "HfJHaZzTLLyH-8YP4Y-WkQk", + "usageMetadata": { + "promptTokenCount": 37, + "candidatesTokenCount": 2, + "totalTokenCount": 133, + "promptTokensDetails": [ + { + "modality": "TEXT", + "tokenCount": 37 + } + ], + "thoughtsTokenCount": 94 + } +} \ No newline at end of file diff --git a/payloads/snapshots/reasoningWithOutput/bedrock/followup-request.json b/payloads/snapshots/reasoningWithOutput/bedrock/followup-request.json new file mode 100644 index 00000000..e9366af9 --- /dev/null +++ b/payloads/snapshots/reasoningWithOutput/bedrock/followup-request.json @@ -0,0 +1,29 @@ +{ + "modelId": "us.anthropic.claude-haiku-4-5-20251001-v1:0", + "messages": [ + { + "role": "user", + "content": [ + { + "text": "What color is the sky?" + } + ] + }, + { + "role": "assistant", + "content": [ + { + "text": "The sky typically appears **blue** during the day. This happens because of a phenomenon called Rayleigh scattering, where shorter blue wavelengths of sunlight scatter more in Earth's atmosphere than longer red wavelengths.\n\nHowever, the sky can appear different colors depending on conditions:\n- **Orange or red** during sunrise and sunset\n- **Gray or white** on cloudy days\n- **Deep blue or purple** at high altitudes\n- **Black** at night (in space, the sky is always black)" + } + ] + }, + { + "role": "user", + "content": [ + { + "text": "What should I do next?" + } + ] + } + ] +} \ No newline at end of file diff --git a/payloads/snapshots/reasoningWithOutput/bedrock/followup-response-streaming.json b/payloads/snapshots/reasoningWithOutput/bedrock/followup-response-streaming.json new file mode 100644 index 00000000..737625ee --- /dev/null +++ b/payloads/snapshots/reasoningWithOutput/bedrock/followup-response-streaming.json @@ -0,0 +1,413 @@ +[ + { + "messageStart": { + "role": "assistant" + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "That" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " depends" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " on what you'" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "d like to accomplish" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "! Here are some common" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " options" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": ":\n\n-" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " **Continue" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " our" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " conversation** –" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " Ask" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " me" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " another" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " question or" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " explore" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " a different" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " topic\n- **Take" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " a break** – Step" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " away and " + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "do something else" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "\n- **Work" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " on a task" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "** – If" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " you have" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " something" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " specific" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " in" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " mind, I can help" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "\n- **Get" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " information** – Ask me to" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " explain something," + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " help" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " with writing" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": ", coding" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": ", math" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": ", or" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " creative" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " projects\n- **Plan" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " something** – I" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " can help" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " bra" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "instorm ideas or organize" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " thoughts" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "\n\nWhat sounds" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " most helpful" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " or" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " interesting to you right" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " now?" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockStop": { + "contentBlockIndex": 0 + } + }, + { + "messageStop": { + "stopReason": "end_turn" + } + }, + { + "metadata": { + "usage": { + "inputTokens": 137, + "outputTokens": 123, + "totalTokens": 260 + }, + "metrics": { + "latencyMs": 1930 + } + } + } +] \ No newline at end of file diff --git a/payloads/snapshots/reasoningWithOutput/bedrock/followup-response.json b/payloads/snapshots/reasoningWithOutput/bedrock/followup-response.json new file mode 100644 index 00000000..99bd3eaf --- /dev/null +++ b/payloads/snapshots/reasoningWithOutput/bedrock/followup-response.json @@ -0,0 +1,29 @@ +{ + "output": { + "message": { + "role": "assistant", + "content": [ + { + "text": "That depends on what you're looking to do! Here are some options:\n\n- **Continue our conversation** - Ask me another question or explore a topic you're curious about\n- **Take a break** - Step away from your screen for a bit\n- **Work on a task** - Return to something you were doing\n- **Get information** - Ask me for help with research, writing, problem-solving, or learning something new\n- **Plan something** - Let me help you brainstorm or organize your time\n\nIs there something specific you'd like help with, or were you just looking for general guidance?" + } + ] + } + }, + "stopReason": "end_turn", + "usage": { + "inputTokens": 137, + "outputTokens": 131, + "totalTokens": 268, + "cacheReadInputTokens": 0, + "cacheWriteInputTokens": 0 + }, + "metrics": { + "latencyMs": 1865 + }, + "$metadata": { + "httpStatusCode": 200, + "requestId": "38bf480a-0756-4c56-891a-83ab02bfdcc0", + "attempts": 1, + "totalRetryDelay": 0 + } +} \ No newline at end of file diff --git a/payloads/snapshots/reasoningWithOutput/bedrock/request.json b/payloads/snapshots/reasoningWithOutput/bedrock/request.json new file mode 100644 index 00000000..04c8ed0a --- /dev/null +++ b/payloads/snapshots/reasoningWithOutput/bedrock/request.json @@ -0,0 +1,13 @@ +{ + "modelId": "us.anthropic.claude-haiku-4-5-20251001-v1:0", + "messages": [ + { + "role": "user", + "content": [ + { + "text": "What color is the sky?" + } + ] + } + ] +} \ No newline at end of file diff --git a/payloads/snapshots/reasoningWithOutput/bedrock/response-streaming.json b/payloads/snapshots/reasoningWithOutput/bedrock/response-streaming.json new file mode 100644 index 00000000..6f5b37f5 --- /dev/null +++ b/payloads/snapshots/reasoningWithOutput/bedrock/response-streaming.json @@ -0,0 +1,365 @@ +[ + { + "messageStart": { + "role": "assistant" + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "The sky is" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " typically" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " **" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "blue**" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " during" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " the day," + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " cause" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "d by" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " Rayleigh scattering of sun" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "light by atmospheric" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " molecules." + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "\n\nHowever, the sky" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "'s" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " color" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " varies" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " depending" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " on conditions" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": ":\n- **Orange" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "," + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " red, or pink** at" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " sunrise an" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "d sunset\n- **Gray" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " or" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " white** on" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " cloudy days\n- **Deep" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " blue or" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " nearly" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " black** at high" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " altitudes or" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " in space" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "\n- **Purple" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " or violet** can" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " occasionally" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " appear," + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " though" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " blue" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " domin" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "ates due" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " to how" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " our" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " eyes" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " perceive light" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockStop": { + "contentBlockIndex": 0 + } + }, + { + "messageStop": { + "stopReason": "end_turn" + } + }, + { + "metadata": { + "usage": { + "inputTokens": 13, + "outputTokens": 106, + "totalTokens": 119 + }, + "metrics": { + "latencyMs": 1636 + } + } + } +] \ No newline at end of file diff --git a/payloads/snapshots/reasoningWithOutput/bedrock/response.json b/payloads/snapshots/reasoningWithOutput/bedrock/response.json new file mode 100644 index 00000000..6feacd02 --- /dev/null +++ b/payloads/snapshots/reasoningWithOutput/bedrock/response.json @@ -0,0 +1,29 @@ +{ + "output": { + "message": { + "role": "assistant", + "content": [ + { + "text": "The sky typically appears **blue** during the day. This happens because of a phenomenon called Rayleigh scattering, where shorter blue wavelengths of sunlight scatter more in Earth's atmosphere than longer red wavelengths.\n\nHowever, the sky can appear different colors depending on conditions:\n- **Orange or red** during sunrise and sunset\n- **Gray or white** on cloudy days\n- **Deep blue or purple** at high altitudes\n- **Black** at night (in space, the sky is always black)" + } + ] + } + }, + "stopReason": "end_turn", + "usage": { + "inputTokens": 13, + "outputTokens": 115, + "totalTokens": 128, + "cacheReadInputTokens": 0, + "cacheWriteInputTokens": 0 + }, + "metrics": { + "latencyMs": 1822 + }, + "$metadata": { + "httpStatusCode": 200, + "requestId": "920c64fe-dc25-4f01-939e-9a09f794a11c", + "attempts": 1, + "totalRetryDelay": 0 + } +} \ No newline at end of file diff --git a/payloads/snapshots/reasoningWithOutput/google/followup-request.json b/payloads/snapshots/reasoningWithOutput/google/followup-request.json new file mode 100644 index 00000000..d20c236a --- /dev/null +++ b/payloads/snapshots/reasoningWithOutput/google/followup-request.json @@ -0,0 +1,28 @@ +{ + "contents": [ + { + "role": "user", + "parts": [ + { + "text": "What color is the sky?" + } + ] + }, + { + "parts": [ + { + "text": "The sky is most commonly **blue** during the day.\n\nThis is due to a phenomenon called **Rayleigh scattering**. Sunlight contains all the colors of the rainbow. When sunlight enters Earth's atmosphere, the shorter wavelengths (like blue and violet) are scattered more efficiently by the tiny nitrogen and oxygen molecules than the longer wavelengths (like red and yellow). Because blue light is scattered in all directions, it makes the sky appear blue to our eyes.\n\nHowever, the sky's color can vary greatly depending on several factors:\n\n* **Sunrise and Sunset:** It often appears **red, orange, pink, or purple**. At these times, the sun's light has to travel through more of the atmosphere, scattering away most of the blue light, leaving the longer red and yellow wavelengths to reach our eyes.\n* **Clouds:** On cloudy or stormy days, the sky can appear **grey** or even **white**.\n* **Night:** At night, without the sun's light, the sky appears **black** (though we can see stars).\n* **Pollution/Haze:** In some conditions, pollution or haze can give the sky a brownish, yellowish, or dull white tint.\n\nSo, while **blue** is the most typical answer, it's definitely not the only color the sky can be!" + } + ], + "role": "model" + }, + { + "role": "user", + "parts": [ + { + "text": "What should I do next?" + } + ] + } + ] +} \ No newline at end of file diff --git a/payloads/snapshots/reasoningWithOutput/google/followup-response-streaming.json b/payloads/snapshots/reasoningWithOutput/google/followup-response-streaming.json new file mode 100644 index 00000000..ecf132aa --- /dev/null +++ b/payloads/snapshots/reasoningWithOutput/google/followup-response-streaming.json @@ -0,0 +1,575 @@ +[ + { + "candidates": [ + { + "content": { + "parts": [ + { + "text": "That's a fun, open-ended question! To give you the best suggestion, I need a little more context about what you're looking for. Tell me:\n\n1. **What kind of mood are you in?" + } + ], + "role": "model" + }, + "index": 0 + } + ], + "modelVersion": "gemini-2.5-flash", + "responseId": "IfJHaZfAFuGxjrEP66Ww8Ao", + "usageMetadata": { + "promptTokenCount": 291, + "candidatesTokenCount": 48, + "totalTokenCount": 1203, + "promptTokensDetails": [ + { + "modality": "TEXT", + "tokenCount": 291 + } + ], + "thoughtsTokenCount": 864 + }, + "sdkHttpResponse": { + "headers": { + "alt-svc": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000", + "content-disposition": "attachment", + "content-type": "text/event-stream", + "date": "Sun, 21 Dec 2025 13:12:05 GMT", + "server": "scaffolding on HTTPServer2", + "server-timing": "gfet4t7; dur=4642", + "transfer-encoding": "chunked", + "vary": "Origin, X-Origin, Referer", + "x-content-type-options": "nosniff", + "x-frame-options": "SAMEORIGIN", + "x-xss-protection": "0" + } + } + }, + { + "candidates": [ + { + "content": { + "parts": [ + { + "text": "** (e.g., bored, energetic, tired, stressed, creative, social, hungry, curious)\n2. **What's your general goal right now?** (e.g., relax, be productive, learn something" + } + ], + "role": "model" + }, + "index": 0 + } + ], + "modelVersion": "gemini-2.5-flash", + "responseId": "IfJHaZfAFuGxjrEP66Ww8Ao", + "usageMetadata": { + "promptTokenCount": 291, + "candidatesTokenCount": 97, + "totalTokenCount": 1252, + "promptTokensDetails": [ + { + "modality": "TEXT", + "tokenCount": 291 + } + ], + "thoughtsTokenCount": 864 + }, + "sdkHttpResponse": { + "headers": { + "alt-svc": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000", + "content-disposition": "attachment", + "content-type": "text/event-stream", + "date": "Sun, 21 Dec 2025 13:12:05 GMT", + "server": "scaffolding on HTTPServer2", + "server-timing": "gfet4t7; dur=4642", + "transfer-encoding": "chunked", + "vary": "Origin, X-Origin, Referer", + "x-content-type-options": "nosniff", + "x-frame-options": "SAMEORIGIN", + "x-xss-protection": "0" + } + } + }, + { + "candidates": [ + { + "content": { + "parts": [ + { + "text": " new, have fun, connect with someone)\n3. **What resources do you have available?** (e.g., are you at home, outside, with friends, alone, near a computer, have art supplies, etc.)" + } + ], + "role": "model" + }, + "index": 0 + } + ], + "modelVersion": "gemini-2.5-flash", + "responseId": "IfJHaZfAFuGxjrEP66Ww8Ao", + "usageMetadata": { + "promptTokenCount": 291, + "candidatesTokenCount": 146, + "totalTokenCount": 1301, + "promptTokensDetails": [ + { + "modality": "TEXT", + "tokenCount": 291 + } + ], + "thoughtsTokenCount": 864 + }, + "sdkHttpResponse": { + "headers": { + "alt-svc": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000", + "content-disposition": "attachment", + "content-type": "text/event-stream", + "date": "Sun, 21 Dec 2025 13:12:05 GMT", + "server": "scaffolding on HTTPServer2", + "server-timing": "gfet4t7; dur=4642", + "transfer-encoding": "chunked", + "vary": "Origin, X-Origin, Referer", + "x-content-type-options": "nosniff", + "x-frame-options": "SAMEORIGIN", + "x-xss-protection": "0" + } + } + }, + { + "candidates": [ + { + "content": { + "parts": [ + { + "text": "\n4. **How much time do you have?** (e.g., 5 minutes, an hour, all afternoon, the whole evening)\n\nIn the meantime, here are some general categories of things you could do," + } + ], + "role": "model" + }, + "index": 0 + } + ], + "modelVersion": "gemini-2.5-flash", + "responseId": "IfJHaZfAFuGxjrEP66Ww8Ao", + "usageMetadata": { + "promptTokenCount": 291, + "candidatesTokenCount": 193, + "totalTokenCount": 1348, + "promptTokensDetails": [ + { + "modality": "TEXT", + "tokenCount": 291 + } + ], + "thoughtsTokenCount": 864 + }, + "sdkHttpResponse": { + "headers": { + "alt-svc": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000", + "content-disposition": "attachment", + "content-type": "text/event-stream", + "date": "Sun, 21 Dec 2025 13:12:05 GMT", + "server": "scaffolding on HTTPServer2", + "server-timing": "gfet4t7; dur=4642", + "transfer-encoding": "chunked", + "vary": "Origin, X-Origin, Referer", + "x-content-type-options": "nosniff", + "x-frame-options": "SAMEORIGIN", + "x-xss-protection": "0" + } + } + }, + { + "candidates": [ + { + "content": { + "parts": [ + { + "text": " pick one that resonates:\n\n**For Relaxation & Self-Care:**\n* Take a few deep breaths or meditate for a few minutes.\n* Listen to some calming music or a podcast.\n* Read a book or" + } + ], + "role": "model" + }, + "index": 0 + } + ], + "modelVersion": "gemini-2.5-flash", + "responseId": "IfJHaZfAFuGxjrEP66Ww8Ao", + "usageMetadata": { + "promptTokenCount": 291, + "candidatesTokenCount": 241, + "totalTokenCount": 1396, + "promptTokensDetails": [ + { + "modality": "TEXT", + "tokenCount": 291 + } + ], + "thoughtsTokenCount": 864 + }, + "sdkHttpResponse": { + "headers": { + "alt-svc": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000", + "content-disposition": "attachment", + "content-type": "text/event-stream", + "date": "Sun, 21 Dec 2025 13:12:05 GMT", + "server": "scaffolding on HTTPServer2", + "server-timing": "gfet4t7; dur=4642", + "transfer-encoding": "chunked", + "vary": "Origin, X-Origin, Referer", + "x-content-type-options": "nosniff", + "x-frame-options": "SAMEORIGIN", + "x-xss-protection": "0" + } + } + }, + { + "candidates": [ + { + "content": { + "parts": [ + { + "text": " an interesting article.\n* Make a cup of tea or coffee.\n* Take a short nap or rest your eyes.\n* Stretch or do some gentle yoga.\n\n**For Productivity & Organization:**\n* Make" + } + ], + "role": "model" + }, + "index": 0 + } + ], + "modelVersion": "gemini-2.5-flash", + "responseId": "IfJHaZfAFuGxjrEP66Ww8Ao", + "usageMetadata": { + "promptTokenCount": 291, + "candidatesTokenCount": 289, + "totalTokenCount": 1444, + "promptTokensDetails": [ + { + "modality": "TEXT", + "tokenCount": 291 + } + ], + "thoughtsTokenCount": 864 + }, + "sdkHttpResponse": { + "headers": { + "alt-svc": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000", + "content-disposition": "attachment", + "content-type": "text/event-stream", + "date": "Sun, 21 Dec 2025 13:12:05 GMT", + "server": "scaffolding on HTTPServer2", + "server-timing": "gfet4t7; dur=4642", + "transfer-encoding": "chunked", + "vary": "Origin, X-Origin, Referer", + "x-content-type-options": "nosniff", + "x-frame-options": "SAMEORIGIN", + "x-xss-protection": "0" + } + } + }, + { + "candidates": [ + { + "content": { + "parts": [ + { + "text": " a to-do list for the rest of your day/week.\n* Tidy up a small area (your desk, a drawer, the kitchen counter).\n* Answer any pending emails or messages.\n* Plan" + } + ], + "role": "model" + }, + "index": 0 + } + ], + "modelVersion": "gemini-2.5-flash", + "responseId": "IfJHaZfAFuGxjrEP66Ww8Ao", + "usageMetadata": { + "promptTokenCount": 291, + "candidatesTokenCount": 337, + "totalTokenCount": 1492, + "promptTokensDetails": [ + { + "modality": "TEXT", + "tokenCount": 291 + } + ], + "thoughtsTokenCount": 864 + }, + "sdkHttpResponse": { + "headers": { + "alt-svc": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000", + "content-disposition": "attachment", + "content-type": "text/event-stream", + "date": "Sun, 21 Dec 2025 13:12:05 GMT", + "server": "scaffolding on HTTPServer2", + "server-timing": "gfet4t7; dur=4642", + "transfer-encoding": "chunked", + "vary": "Origin, X-Origin, Referer", + "x-content-type-options": "nosniff", + "x-frame-options": "SAMEORIGIN", + "x-xss-protection": "0" + } + } + }, + { + "candidates": [ + { + "content": { + "parts": [ + { + "text": " your next meal or grocery list.\n* Do a quick chore you've been putting off.\n\n**For Learning & Growth:**\n* Watch a documentary or an educational YouTube video.\n* Learn a few words in a new" + } + ], + "role": "model" + }, + "index": 0 + } + ], + "modelVersion": "gemini-2.5-flash", + "responseId": "IfJHaZfAFuGxjrEP66Ww8Ao", + "usageMetadata": { + "promptTokenCount": 291, + "candidatesTokenCount": 387, + "totalTokenCount": 1542, + "promptTokensDetails": [ + { + "modality": "TEXT", + "tokenCount": 291 + } + ], + "thoughtsTokenCount": 864 + }, + "sdkHttpResponse": { + "headers": { + "alt-svc": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000", + "content-disposition": "attachment", + "content-type": "text/event-stream", + "date": "Sun, 21 Dec 2025 13:12:05 GMT", + "server": "scaffolding on HTTPServer2", + "server-timing": "gfet4t7; dur=4642", + "transfer-encoding": "chunked", + "vary": "Origin, X-Origin, Referer", + "x-content-type-options": "nosniff", + "x-frame-options": "SAMEORIGIN", + "x-xss-protection": "0" + } + } + }, + { + "candidates": [ + { + "content": { + "parts": [ + { + "text": " language.\n* Read about a topic you're curious about.\n* Try out a new recipe.\n* Practice a skill you're trying to develop.\n\n**For Fun & Creativity:**\n* Listen" + } + ], + "role": "model" + }, + "index": 0 + } + ], + "modelVersion": "gemini-2.5-flash", + "responseId": "IfJHaZfAFuGxjrEP66Ww8Ao", + "usageMetadata": { + "promptTokenCount": 291, + "candidatesTokenCount": 435, + "totalTokenCount": 1590, + "promptTokensDetails": [ + { + "modality": "TEXT", + "tokenCount": 291 + } + ], + "thoughtsTokenCount": 864 + }, + "sdkHttpResponse": { + "headers": { + "alt-svc": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000", + "content-disposition": "attachment", + "content-type": "text/event-stream", + "date": "Sun, 21 Dec 2025 13:12:05 GMT", + "server": "scaffolding on HTTPServer2", + "server-timing": "gfet4t7; dur=4642", + "transfer-encoding": "chunked", + "vary": "Origin, X-Origin, Referer", + "x-content-type-options": "nosniff", + "x-frame-options": "SAMEORIGIN", + "x-xss-protection": "0" + } + } + }, + { + "candidates": [ + { + "content": { + "parts": [ + { + "text": " to your favorite music and dance.\n* Draw, doodle, or write something.\n* Play a game (video game, board game, puzzle).\n* Watch an episode of a show or a movie.\n* " + } + ], + "role": "model" + }, + "index": 0 + } + ], + "modelVersion": "gemini-2.5-flash", + "responseId": "IfJHaZfAFuGxjrEP66Ww8Ao", + "usageMetadata": { + "promptTokenCount": 291, + "candidatesTokenCount": 483, + "totalTokenCount": 1638, + "promptTokensDetails": [ + { + "modality": "TEXT", + "tokenCount": 291 + } + ], + "thoughtsTokenCount": 864 + }, + "sdkHttpResponse": { + "headers": { + "alt-svc": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000", + "content-disposition": "attachment", + "content-type": "text/event-stream", + "date": "Sun, 21 Dec 2025 13:12:05 GMT", + "server": "scaffolding on HTTPServer2", + "server-timing": "gfet4t7; dur=4642", + "transfer-encoding": "chunked", + "vary": "Origin, X-Origin, Referer", + "x-content-type-options": "nosniff", + "x-frame-options": "SAMEORIGIN", + "x-xss-protection": "0" + } + } + }, + { + "candidates": [ + { + "content": { + "parts": [ + { + "text": "Do something artistic (paint, knit, play an instrument).\n\n**For Physical Activity & Outdoors:**\n* Go for a short walk outside.\n* Do some quick exercises (jumping jacks, push-ups).\n* Step" + } + ], + "role": "model" + }, + "index": 0 + } + ], + "modelVersion": "gemini-2.5-flash", + "responseId": "IfJHaZfAFuGxjrEP66Ww8Ao", + "usageMetadata": { + "promptTokenCount": 291, + "candidatesTokenCount": 532, + "totalTokenCount": 1687, + "promptTokensDetails": [ + { + "modality": "TEXT", + "tokenCount": 291 + } + ], + "thoughtsTokenCount": 864 + }, + "sdkHttpResponse": { + "headers": { + "alt-svc": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000", + "content-disposition": "attachment", + "content-type": "text/event-stream", + "date": "Sun, 21 Dec 2025 13:12:05 GMT", + "server": "scaffolding on HTTPServer2", + "server-timing": "gfet4t7; dur=4642", + "transfer-encoding": "chunked", + "vary": "Origin, X-Origin, Referer", + "x-content-type-options": "nosniff", + "x-frame-options": "SAMEORIGIN", + "x-xss-protection": "0" + } + } + }, + { + "candidates": [ + { + "content": { + "parts": [ + { + "text": " outside and get some fresh air.\n* Do some gardening if you have a garden.\n\n**For Social Connection:**\n* Text or call a friend or family member.\n* Plan a future get-together.\n\nOnce you give" + } + ], + "role": "model" + }, + "index": 0 + } + ], + "modelVersion": "gemini-2.5-flash", + "responseId": "IfJHaZfAFuGxjrEP66Ww8Ao", + "usageMetadata": { + "promptTokenCount": 291, + "candidatesTokenCount": 583, + "totalTokenCount": 1738, + "promptTokensDetails": [ + { + "modality": "TEXT", + "tokenCount": 291 + } + ], + "thoughtsTokenCount": 864 + }, + "sdkHttpResponse": { + "headers": { + "alt-svc": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000", + "content-disposition": "attachment", + "content-type": "text/event-stream", + "date": "Sun, 21 Dec 2025 13:12:05 GMT", + "server": "scaffolding on HTTPServer2", + "server-timing": "gfet4t7; dur=4642", + "transfer-encoding": "chunked", + "vary": "Origin, X-Origin, Referer", + "x-content-type-options": "nosniff", + "x-frame-options": "SAMEORIGIN", + "x-xss-protection": "0" + } + } + }, + { + "candidates": [ + { + "content": { + "parts": [ + { + "text": " me a bit more info, I can give you a more tailored suggestion!" + } + ], + "role": "model" + }, + "finishReason": "STOP", + "index": 0 + } + ], + "modelVersion": "gemini-2.5-flash", + "responseId": "IfJHaZfAFuGxjrEP66Ww8Ao", + "usageMetadata": { + "promptTokenCount": 291, + "candidatesTokenCount": 598, + "totalTokenCount": 1753, + "promptTokensDetails": [ + { + "modality": "TEXT", + "tokenCount": 291 + } + ], + "thoughtsTokenCount": 864 + }, + "sdkHttpResponse": { + "headers": { + "alt-svc": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000", + "content-disposition": "attachment", + "content-type": "text/event-stream", + "date": "Sun, 21 Dec 2025 13:12:05 GMT", + "server": "scaffolding on HTTPServer2", + "server-timing": "gfet4t7; dur=4642", + "transfer-encoding": "chunked", + "vary": "Origin, X-Origin, Referer", + "x-content-type-options": "nosniff", + "x-frame-options": "SAMEORIGIN", + "x-xss-protection": "0" + } + } + } +] \ No newline at end of file diff --git a/payloads/snapshots/reasoningWithOutput/google/followup-response.json b/payloads/snapshots/reasoningWithOutput/google/followup-response.json new file mode 100644 index 00000000..b31debdc --- /dev/null +++ b/payloads/snapshots/reasoningWithOutput/google/followup-response.json @@ -0,0 +1,45 @@ +{ + "sdkHttpResponse": { + "headers": { + "alt-svc": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000", + "content-encoding": "gzip", + "content-type": "application/json; charset=UTF-8", + "date": "Sun, 21 Dec 2025 13:12:10 GMT", + "server": "scaffolding on HTTPServer2", + "server-timing": "gfet4t7; dur=9325", + "transfer-encoding": "chunked", + "vary": "Origin, X-Origin, Referer", + "x-content-type-options": "nosniff", + "x-frame-options": "SAMEORIGIN", + "x-xss-protection": "0" + } + }, + "candidates": [ + { + "content": { + "parts": [ + { + "text": "That's a fantastic, open-ended question! To give you the best advice, I need a little more context. However, I can offer some general frameworks and suggestions.\n\nTo figure out \"what you should do next,\" consider these factors:\n\n**1. Your Current State:**\n* **Energy Level:** Do you feel energized, tired, or somewhere in between?\n* **Mood:** Are you feeling productive, bored, stressed, happy, restless, relaxed?\n* **Time Available:** Do you have 5 minutes, an hour, an afternoon, or the whole day?\n* **Location:** Are you at home, work, outside, with others, alone?\n\n**2. Your Goals & Priorities:**\n* **Obligations:** Is there anything you *have* to do (work, chores, appointments)?\n* **Urgency:** What's the most pressing thing on your plate?\n* **Long-Term Goals:** Is there anything you can do that moves you closer to a personal or professional goal?\n* **What would make you feel accomplished/happy/relaxed?**\n\n---\n\n**Based on those considerations, here are some broad categories of things you could do:**\n\n**A. If you need to be PRODUCTIVE/ACCOMPLISH Something:**\n* **Work/Study:** Tackle a pending task, reply to emails, organize your digital files.\n* **Household Chores:** Do a quick tidy-up, do laundry, plan your meals for the week.\n* **Planning:** Make a to-do list, plan your next day/week, set some goals.\n* **Errands:** Pay a bill, make an appointment, pick up groceries.\n\n**B. If you need to RELAX/RECHARGE:**\n* **Mindfulness/Meditation:** Do a short guided meditation, practice deep breathing.\n* **Physical Relaxation:** Take a warm bath/shower, stretch, lie down for a bit.\n* **Sensory Input:** Listen to calming music, light a candle, enjoy a warm beverage.\n* **Nature:** Look out a window, step outside for a breath of fresh air, water plants.\n\n**C. If you need to be ACTIVE/MOVE:**\n* **Exercise:** Go for a walk, do some quick stretches, dance to music, do a short workout.\n* **Active Chores:** Garden, clean a room thoroughly, rearrange furniture.\n* **Outdoor Activity:** Go for a bike ride, play a sport (if you have the means).\n\n**D. If you need to LEARN/GROW:**\n* **Read:** Pick up a book, read an article, browse a topic of interest online.\n* **Skill Development:** Practice a hobby, learn a new word, watch a tutorial video.\n* **Listen:** Listen to a podcast, an audiobook, or a TED Talk.\n\n**E. If you need to be CREATIVE/ENTERTAINED:**\n* **Hobbies:** Engage in a craft, draw, write, play a musical instrument.\n* **Entertainment:** Watch a short video, listen to music, play a game, watch an episode of a show.\n* **Cook/Bake:** Try a new recipe or make a favorite comfort food.\n\n**F. If you need to CONNECT/SOCIALIZE:**\n* **Reach Out:** Text a friend, call a family member, send an email.\n* **Help Others:** Do something kind for someone, offer assistance.\n\n---\n\n**My Best Recommendation Without Context:**\nIf you're truly stumped, try doing **one small, easy thing** that you've been putting off. Even a 5-minute task can create momentum and a sense of accomplishment.\n\nSo, tell me more, or pick one of the categories above that resonates with you right now!" + } + ], + "role": "model" + }, + "finishReason": "STOP", + "index": 0 + } + ], + "modelVersion": "gemini-2.5-flash", + "responseId": "KvJHaaOzGKua-8YPlJ7rsAM", + "usageMetadata": { + "promptTokenCount": 291, + "candidatesTokenCount": 822, + "totalTokenCount": 2255, + "promptTokensDetails": [ + { + "modality": "TEXT", + "tokenCount": 291 + } + ], + "thoughtsTokenCount": 1142 + } +} \ No newline at end of file diff --git a/payloads/snapshots/reasoningWithOutput/google/request.json b/payloads/snapshots/reasoningWithOutput/google/request.json new file mode 100644 index 00000000..8b4851f7 --- /dev/null +++ b/payloads/snapshots/reasoningWithOutput/google/request.json @@ -0,0 +1,12 @@ +{ + "contents": [ + { + "role": "user", + "parts": [ + { + "text": "What color is the sky?" + } + ] + } + ] +} \ No newline at end of file diff --git a/payloads/snapshots/reasoningWithOutput/google/response-streaming.json b/payloads/snapshots/reasoningWithOutput/google/response-streaming.json new file mode 100644 index 00000000..159f56c6 --- /dev/null +++ b/payloads/snapshots/reasoningWithOutput/google/response-streaming.json @@ -0,0 +1,311 @@ +[ + { + "candidates": [ + { + "content": { + "parts": [ + { + "text": "The sky is most commonly **blue**.\n\nHowever, its color can change dramatically depending on the time of day, weather, and atmospheric conditions:\n\n* **Blue:** This is due to Rayleigh scattering. Sunlight contains all colors, but when it" + } + ], + "role": "model" + }, + "index": 0 + } + ], + "modelVersion": "gemini-2.5-flash", + "responseId": "HfJHaauWF-bRjrEP4LfaKQ", + "usageMetadata": { + "promptTokenCount": 7, + "candidatesTokenCount": 50, + "totalTokenCount": 566, + "promptTokensDetails": [ + { + "modality": "TEXT", + "tokenCount": 7 + } + ], + "thoughtsTokenCount": 509 + }, + "sdkHttpResponse": { + "headers": { + "alt-svc": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000", + "content-disposition": "attachment", + "content-type": "text/event-stream", + "date": "Sun, 21 Dec 2025 13:11:59 GMT", + "server": "scaffolding on HTTPServer2", + "server-timing": "gfet4t7; dur=2857", + "transfer-encoding": "chunked", + "vary": "Origin, X-Origin, Referer", + "x-content-type-options": "nosniff", + "x-frame-options": "SAMEORIGIN", + "x-xss-protection": "0" + } + } + }, + { + "candidates": [ + { + "content": { + "parts": [ + { + "text": " enters Earth's atmosphere, blue light (which has shorter wavelengths) is scattered more efficiently by the tiny nitrogen and oxygen molecules. This scattered blue light reaches our eyes from all directions, making the sky appear blue.\n* **Red," + } + ], + "role": "model" + }, + "index": 0 + } + ], + "modelVersion": "gemini-2.5-flash", + "responseId": "HfJHaauWF-bRjrEP4LfaKQ", + "usageMetadata": { + "promptTokenCount": 7, + "candidatesTokenCount": 99, + "totalTokenCount": 615, + "promptTokensDetails": [ + { + "modality": "TEXT", + "tokenCount": 7 + } + ], + "thoughtsTokenCount": 509 + }, + "sdkHttpResponse": { + "headers": { + "alt-svc": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000", + "content-disposition": "attachment", + "content-type": "text/event-stream", + "date": "Sun, 21 Dec 2025 13:11:59 GMT", + "server": "scaffolding on HTTPServer2", + "server-timing": "gfet4t7; dur=2857", + "transfer-encoding": "chunked", + "vary": "Origin, X-Origin, Referer", + "x-content-type-options": "nosniff", + "x-frame-options": "SAMEORIGIN", + "x-xss-protection": "0" + } + } + }, + { + "candidates": [ + { + "content": { + "parts": [ + { + "text": " Orange, Pink, Purple:** At **sunrise and sunset**, the sun's light has to travel through more of the atmosphere to reach our eyes. Most of the blue and green light gets scattered away, leaving the longer-wavelength red," + } + ], + "role": "model" + }, + "index": 0 + } + ], + "modelVersion": "gemini-2.5-flash", + "responseId": "HfJHaauWF-bRjrEP4LfaKQ", + "usageMetadata": { + "promptTokenCount": 7, + "candidatesTokenCount": 147, + "totalTokenCount": 663, + "promptTokensDetails": [ + { + "modality": "TEXT", + "tokenCount": 7 + } + ], + "thoughtsTokenCount": 509 + }, + "sdkHttpResponse": { + "headers": { + "alt-svc": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000", + "content-disposition": "attachment", + "content-type": "text/event-stream", + "date": "Sun, 21 Dec 2025 13:11:59 GMT", + "server": "scaffolding on HTTPServer2", + "server-timing": "gfet4t7; dur=2857", + "transfer-encoding": "chunked", + "vary": "Origin, X-Origin, Referer", + "x-content-type-options": "nosniff", + "x-frame-options": "SAMEORIGIN", + "x-xss-protection": "0" + } + } + }, + { + "candidates": [ + { + "content": { + "parts": [ + { + "text": " orange, and yellow light to be seen. Clouds can also reflect these colors, creating stunning pinks and purples.\n* **Grey/Dark Blue:** When it's **cloudy or stormy**, clouds block and reflect sunlight, making" + } + ], + "role": "model" + }, + "index": 0 + } + ], + "modelVersion": "gemini-2.5-flash", + "responseId": "HfJHaauWF-bRjrEP4LfaKQ", + "usageMetadata": { + "promptTokenCount": 7, + "candidatesTokenCount": 197, + "totalTokenCount": 713, + "promptTokensDetails": [ + { + "modality": "TEXT", + "tokenCount": 7 + } + ], + "thoughtsTokenCount": 509 + }, + "sdkHttpResponse": { + "headers": { + "alt-svc": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000", + "content-disposition": "attachment", + "content-type": "text/event-stream", + "date": "Sun, 21 Dec 2025 13:11:59 GMT", + "server": "scaffolding on HTTPServer2", + "server-timing": "gfet4t7; dur=2857", + "transfer-encoding": "chunked", + "vary": "Origin, X-Origin, Referer", + "x-content-type-options": "nosniff", + "x-frame-options": "SAMEORIGIN", + "x-xss-protection": "0" + } + } + }, + { + "candidates": [ + { + "content": { + "parts": [ + { + "text": " the sky appear grey or a very dark, ominous blue.\n* **Black:** At **night**, without the sun's light interacting with the atmosphere, the sky appears black, allowing us to see stars.\n* **Hazy/" + } + ], + "role": "model" + }, + "index": 0 + } + ], + "modelVersion": "gemini-2.5-flash", + "responseId": "HfJHaauWF-bRjrEP4LfaKQ", + "usageMetadata": { + "promptTokenCount": 7, + "candidatesTokenCount": 248, + "totalTokenCount": 764, + "promptTokensDetails": [ + { + "modality": "TEXT", + "tokenCount": 7 + } + ], + "thoughtsTokenCount": 509 + }, + "sdkHttpResponse": { + "headers": { + "alt-svc": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000", + "content-disposition": "attachment", + "content-type": "text/event-stream", + "date": "Sun, 21 Dec 2025 13:11:59 GMT", + "server": "scaffolding on HTTPServer2", + "server-timing": "gfet4t7; dur=2857", + "transfer-encoding": "chunked", + "vary": "Origin, X-Origin, Referer", + "x-content-type-options": "nosniff", + "x-frame-options": "SAMEORIGIN", + "x-xss-protection": "0" + } + } + }, + { + "candidates": [ + { + "content": { + "parts": [ + { + "text": "Yellowish/Reddish:** Sometimes, due to **pollution, dust, or smoke** (e.g., from wildfires), the sky can take on a hazy, yellowish, or reddish tint, as these particles scatter light differently.\n\nSo" + } + ], + "role": "model" + }, + "index": 0 + } + ], + "modelVersion": "gemini-2.5-flash", + "responseId": "HfJHaauWF-bRjrEP4LfaKQ", + "usageMetadata": { + "promptTokenCount": 7, + "candidatesTokenCount": 297, + "totalTokenCount": 813, + "promptTokensDetails": [ + { + "modality": "TEXT", + "tokenCount": 7 + } + ], + "thoughtsTokenCount": 509 + }, + "sdkHttpResponse": { + "headers": { + "alt-svc": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000", + "content-disposition": "attachment", + "content-type": "text/event-stream", + "date": "Sun, 21 Dec 2025 13:11:59 GMT", + "server": "scaffolding on HTTPServer2", + "server-timing": "gfet4t7; dur=2857", + "transfer-encoding": "chunked", + "vary": "Origin, X-Origin, Referer", + "x-content-type-options": "nosniff", + "x-frame-options": "SAMEORIGIN", + "x-xss-protection": "0" + } + } + }, + { + "candidates": [ + { + "content": { + "parts": [ + { + "text": ", while blue is its most iconic color, the sky is a dynamic canvas of many hues!" + } + ], + "role": "model" + }, + "finishReason": "STOP", + "index": 0 + } + ], + "modelVersion": "gemini-2.5-flash", + "responseId": "HfJHaauWF-bRjrEP4LfaKQ", + "usageMetadata": { + "promptTokenCount": 7, + "candidatesTokenCount": 316, + "totalTokenCount": 832, + "promptTokensDetails": [ + { + "modality": "TEXT", + "tokenCount": 7 + } + ], + "thoughtsTokenCount": 509 + }, + "sdkHttpResponse": { + "headers": { + "alt-svc": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000", + "content-disposition": "attachment", + "content-type": "text/event-stream", + "date": "Sun, 21 Dec 2025 13:11:59 GMT", + "server": "scaffolding on HTTPServer2", + "server-timing": "gfet4t7; dur=2857", + "transfer-encoding": "chunked", + "vary": "Origin, X-Origin, Referer", + "x-content-type-options": "nosniff", + "x-frame-options": "SAMEORIGIN", + "x-xss-protection": "0" + } + } + } +] \ No newline at end of file diff --git a/payloads/snapshots/reasoningWithOutput/google/response.json b/payloads/snapshots/reasoningWithOutput/google/response.json new file mode 100644 index 00000000..2c25bf9c --- /dev/null +++ b/payloads/snapshots/reasoningWithOutput/google/response.json @@ -0,0 +1,45 @@ +{ + "sdkHttpResponse": { + "headers": { + "alt-svc": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000", + "content-encoding": "gzip", + "content-type": "application/json; charset=UTF-8", + "date": "Sun, 21 Dec 2025 13:12:01 GMT", + "server": "scaffolding on HTTPServer2", + "server-timing": "gfet4t7; dur=4010", + "transfer-encoding": "chunked", + "vary": "Origin, X-Origin, Referer", + "x-content-type-options": "nosniff", + "x-frame-options": "SAMEORIGIN", + "x-xss-protection": "0" + } + }, + "candidates": [ + { + "content": { + "parts": [ + { + "text": "The sky is most commonly **blue** during the day.\n\nThis is due to a phenomenon called **Rayleigh scattering**. Sunlight contains all the colors of the rainbow. When sunlight enters Earth's atmosphere, the shorter wavelengths (like blue and violet) are scattered more efficiently by the tiny nitrogen and oxygen molecules than the longer wavelengths (like red and yellow). Because blue light is scattered in all directions, it makes the sky appear blue to our eyes.\n\nHowever, the sky's color can vary greatly depending on several factors:\n\n* **Sunrise and Sunset:** It often appears **red, orange, pink, or purple**. At these times, the sun's light has to travel through more of the atmosphere, scattering away most of the blue light, leaving the longer red and yellow wavelengths to reach our eyes.\n* **Clouds:** On cloudy or stormy days, the sky can appear **grey** or even **white**.\n* **Night:** At night, without the sun's light, the sky appears **black** (though we can see stars).\n* **Pollution/Haze:** In some conditions, pollution or haze can give the sky a brownish, yellowish, or dull white tint.\n\nSo, while **blue** is the most typical answer, it's definitely not the only color the sky can be!" + } + ], + "role": "model" + }, + "finishReason": "STOP", + "index": 0 + } + ], + "modelVersion": "gemini-2.5-flash", + "responseId": "IPJHaZGAPZ_I-8YP_oCuoAs", + "usageMetadata": { + "promptTokenCount": 7, + "candidatesTokenCount": 276, + "totalTokenCount": 715, + "promptTokensDetails": [ + { + "modality": "TEXT", + "tokenCount": 7 + } + ], + "thoughtsTokenCount": 432 + } +} \ No newline at end of file diff --git a/payloads/snapshots/simpleRequest/bedrock/followup-request.json b/payloads/snapshots/simpleRequest/bedrock/followup-request.json new file mode 100644 index 00000000..0fa4b640 --- /dev/null +++ b/payloads/snapshots/simpleRequest/bedrock/followup-request.json @@ -0,0 +1,29 @@ +{ + "modelId": "us.anthropic.claude-haiku-4-5-20251001-v1:0", + "messages": [ + { + "role": "user", + "content": [ + { + "text": "What is the capital of France?" + } + ] + }, + { + "role": "assistant", + "content": [ + { + "text": "The capital of France is Paris." + } + ] + }, + { + "role": "user", + "content": [ + { + "text": "What should I do next?" + } + ] + } + ] +} \ No newline at end of file diff --git a/payloads/snapshots/simpleRequest/bedrock/followup-response-streaming.json b/payloads/snapshots/simpleRequest/bedrock/followup-response-streaming.json new file mode 100644 index 00000000..aaa6ee61 --- /dev/null +++ b/payloads/snapshots/simpleRequest/bedrock/followup-response-streaming.json @@ -0,0 +1,293 @@ +[ + { + "messageStart": { + "role": "assistant" + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "That" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " depends" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " on what you'" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "d like to know" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " or" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " accomplish! Here are some possibilities" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": ":\n\n-" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " **" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "Ask" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " another" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " question** - about" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " France" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "," + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " Paris, geography" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": ", or anything else you" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "'re curious about\n- **Continue" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " a" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " conversation** - if you have follow" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "-up questions on" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " a" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " topic we" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "'re" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " discussing\n- **Get" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " help with a task** - writing" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": ", coding" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": ", analysis, bra" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "instorming, etc.\n-" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " **Learn something" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " new** - ask" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " about a" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " subject" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " you're interested in\n\nWhat would be" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " most helpful for you right now?" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockStop": { + "contentBlockIndex": 0 + } + }, + { + "messageStop": { + "stopReason": "end_turn" + } + }, + { + "metadata": { + "usage": { + "inputTokens": 33, + "outputTokens": 113, + "totalTokens": 146 + }, + "metrics": { + "latencyMs": 1463 + } + } + } +] \ No newline at end of file diff --git a/payloads/snapshots/simpleRequest/bedrock/followup-response.json b/payloads/snapshots/simpleRequest/bedrock/followup-response.json new file mode 100644 index 00000000..962ee3f2 --- /dev/null +++ b/payloads/snapshots/simpleRequest/bedrock/followup-response.json @@ -0,0 +1,29 @@ +{ + "output": { + "message": { + "role": "assistant", + "content": [ + { + "text": "That depends on what you're interested in! Here are some common options:\n\n- **Learn more** - Ask me about Paris, France, or any other topic you're curious about\n- **Continue a conversation** - Tell me what you'd like to discuss or work on\n- **Get help with a task** - I can assist with writing, analysis, coding, math, and much more\n- **Ask a different question** - Anything else on your mind?\n\nWhat would be most helpful for you?" + } + ] + } + }, + "stopReason": "end_turn", + "usage": { + "inputTokens": 33, + "outputTokens": 109, + "totalTokens": 142, + "cacheReadInputTokens": 0, + "cacheWriteInputTokens": 0 + }, + "metrics": { + "latencyMs": 1625 + }, + "$metadata": { + "httpStatusCode": 200, + "requestId": "a6e208da-7ba4-4f64-ae25-ba4506cddcd2", + "attempts": 1, + "totalRetryDelay": 0 + } +} \ No newline at end of file diff --git a/payloads/snapshots/simpleRequest/bedrock/request.json b/payloads/snapshots/simpleRequest/bedrock/request.json new file mode 100644 index 00000000..cafdaed5 --- /dev/null +++ b/payloads/snapshots/simpleRequest/bedrock/request.json @@ -0,0 +1,13 @@ +{ + "modelId": "us.anthropic.claude-haiku-4-5-20251001-v1:0", + "messages": [ + { + "role": "user", + "content": [ + { + "text": "What is the capital of France?" + } + ] + } + ] +} \ No newline at end of file diff --git a/payloads/snapshots/simpleRequest/bedrock/response-streaming.json b/payloads/snapshots/simpleRequest/bedrock/response-streaming.json new file mode 100644 index 00000000..b9be17c7 --- /dev/null +++ b/payloads/snapshots/simpleRequest/bedrock/response-streaming.json @@ -0,0 +1,37 @@ +[ + { + "messageStart": { + "role": "assistant" + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "The capital of France is Paris." + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockStop": { + "contentBlockIndex": 0 + } + }, + { + "messageStop": { + "stopReason": "end_turn" + } + }, + { + "metadata": { + "usage": { + "inputTokens": 14, + "outputTokens": 10, + "totalTokens": 24 + }, + "metrics": { + "latencyMs": 1687 + } + } + } +] \ No newline at end of file diff --git a/payloads/snapshots/simpleRequest/bedrock/response.json b/payloads/snapshots/simpleRequest/bedrock/response.json new file mode 100644 index 00000000..5cdd2fa3 --- /dev/null +++ b/payloads/snapshots/simpleRequest/bedrock/response.json @@ -0,0 +1,29 @@ +{ + "output": { + "message": { + "role": "assistant", + "content": [ + { + "text": "The capital of France is Paris." + } + ] + } + }, + "stopReason": "end_turn", + "usage": { + "inputTokens": 14, + "outputTokens": 10, + "totalTokens": 24, + "cacheReadInputTokens": 0, + "cacheWriteInputTokens": 0 + }, + "metrics": { + "latencyMs": 1118 + }, + "$metadata": { + "httpStatusCode": 200, + "requestId": "ea8de8ab-e094-4b22-b225-6007ec9f2103", + "attempts": 2, + "totalRetryDelay": 473 + } +} \ No newline at end of file diff --git a/payloads/snapshots/simpleRequest/google/followup-request.json b/payloads/snapshots/simpleRequest/google/followup-request.json new file mode 100644 index 00000000..a1ad123c --- /dev/null +++ b/payloads/snapshots/simpleRequest/google/followup-request.json @@ -0,0 +1,28 @@ +{ + "contents": [ + { + "role": "user", + "parts": [ + { + "text": "What is the capital of France?" + } + ] + }, + { + "parts": [ + { + "text": "The capital of France is **Paris**." + } + ], + "role": "model" + }, + { + "role": "user", + "parts": [ + { + "text": "What should I do next?" + } + ] + } + ] +} \ No newline at end of file diff --git a/payloads/snapshots/simpleRequest/google/followup-response-streaming.json b/payloads/snapshots/simpleRequest/google/followup-response-streaming.json new file mode 100644 index 00000000..6a43a4f4 --- /dev/null +++ b/payloads/snapshots/simpleRequest/google/followup-response-streaming.json @@ -0,0 +1,179 @@ +[ + { + "candidates": [ + { + "content": { + "parts": [ + { + "text": "That's a very open-ended question! To give you the best suggestion, could you tell me a little more about what kind of \"next\" you're thinking of?\n\nFor example, are you wondering:\n\n* " + } + ], + "role": "model" + }, + "index": 0 + } + ], + "modelVersion": "gemini-2.5-flash", + "responseId": "HfJHabLsOKLujrEP29jTwAk", + "usageMetadata": { + "promptTokenCount": 24, + "candidatesTokenCount": 47, + "totalTokenCount": 1124, + "promptTokensDetails": [ + { + "modality": "TEXT", + "tokenCount": 24 + } + ], + "thoughtsTokenCount": 1053 + }, + "sdkHttpResponse": { + "headers": { + "alt-svc": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000", + "content-disposition": "attachment", + "content-type": "text/event-stream", + "date": "Sun, 21 Dec 2025 13:12:02 GMT", + "server": "scaffolding on HTTPServer2", + "server-timing": "gfet4t7; dur=5193", + "transfer-encoding": "chunked", + "vary": "Origin, X-Origin, Referer", + "x-content-type-options": "nosniff", + "x-frame-options": "SAMEORIGIN", + "x-xss-protection": "0" + } + } + }, + { + "candidates": [ + { + "content": { + "parts": [ + { + "text": "**What to ask me next?** (e.g., about another country, a different topic entirely, a creative writing prompt, a game, a joke?)\n* **What to do related to France/Paris?** (" + } + ], + "role": "model" + }, + "index": 0 + } + ], + "modelVersion": "gemini-2.5-flash", + "responseId": "HfJHabLsOKLujrEP29jTwAk", + "usageMetadata": { + "promptTokenCount": 24, + "candidatesTokenCount": 95, + "totalTokenCount": 1172, + "promptTokensDetails": [ + { + "modality": "TEXT", + "tokenCount": 24 + } + ], + "thoughtsTokenCount": 1053 + }, + "sdkHttpResponse": { + "headers": { + "alt-svc": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000", + "content-disposition": "attachment", + "content-type": "text/event-stream", + "date": "Sun, 21 Dec 2025 13:12:02 GMT", + "server": "scaffolding on HTTPServer2", + "server-timing": "gfet4t7; dur=5193", + "transfer-encoding": "chunked", + "vary": "Origin, X-Origin, Referer", + "x-content-type-options": "nosniff", + "x-frame-options": "SAMEORIGIN", + "x-xss-protection": "0" + } + } + }, + { + "candidates": [ + { + "content": { + "parts": [ + { + "text": "e.g., learn more about its history, famous landmarks, culture, food, or plan a hypothetical trip?)\n* **What to do in general?** (e.g., suggestions for a hobby, a task, something" + } + ], + "role": "model" + }, + "index": 0 + } + ], + "modelVersion": "gemini-2.5-flash", + "responseId": "HfJHabLsOKLujrEP29jTwAk", + "usageMetadata": { + "promptTokenCount": 24, + "candidatesTokenCount": 143, + "totalTokenCount": 1220, + "promptTokensDetails": [ + { + "modality": "TEXT", + "tokenCount": 24 + } + ], + "thoughtsTokenCount": 1053 + }, + "sdkHttpResponse": { + "headers": { + "alt-svc": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000", + "content-disposition": "attachment", + "content-type": "text/event-stream", + "date": "Sun, 21 Dec 2025 13:12:02 GMT", + "server": "scaffolding on HTTPServer2", + "server-timing": "gfet4t7; dur=5193", + "transfer-encoding": "chunked", + "vary": "Origin, X-Origin, Referer", + "x-content-type-options": "nosniff", + "x-frame-options": "SAMEORIGIN", + "x-xss-protection": "0" + } + } + }, + { + "candidates": [ + { + "content": { + "parts": [ + { + "text": " fun to do on your computer, a relaxation idea?)\n\nOnce I know what you're looking for, I can give you a more specific idea!" + } + ], + "role": "model" + }, + "finishReason": "STOP", + "index": 0 + } + ], + "modelVersion": "gemini-2.5-flash", + "responseId": "HfJHabLsOKLujrEP29jTwAk", + "usageMetadata": { + "promptTokenCount": 24, + "candidatesTokenCount": 174, + "totalTokenCount": 1251, + "promptTokensDetails": [ + { + "modality": "TEXT", + "tokenCount": 24 + } + ], + "thoughtsTokenCount": 1053 + }, + "sdkHttpResponse": { + "headers": { + "alt-svc": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000", + "content-disposition": "attachment", + "content-type": "text/event-stream", + "date": "Sun, 21 Dec 2025 13:12:02 GMT", + "server": "scaffolding on HTTPServer2", + "server-timing": "gfet4t7; dur=5193", + "transfer-encoding": "chunked", + "vary": "Origin, X-Origin, Referer", + "x-content-type-options": "nosniff", + "x-frame-options": "SAMEORIGIN", + "x-xss-protection": "0" + } + } + } +] \ No newline at end of file diff --git a/payloads/snapshots/simpleRequest/google/followup-response.json b/payloads/snapshots/simpleRequest/google/followup-response.json new file mode 100644 index 00000000..00777ffa --- /dev/null +++ b/payloads/snapshots/simpleRequest/google/followup-response.json @@ -0,0 +1,45 @@ +{ + "sdkHttpResponse": { + "headers": { + "alt-svc": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000", + "content-encoding": "gzip", + "content-type": "application/json; charset=UTF-8", + "date": "Sun, 21 Dec 2025 13:12:03 GMT", + "server": "scaffolding on HTTPServer2", + "server-timing": "gfet4t7; dur=6063", + "transfer-encoding": "chunked", + "vary": "Origin, X-Origin, Referer", + "x-content-type-options": "nosniff", + "x-frame-options": "SAMEORIGIN", + "x-xss-protection": "0" + } + }, + "candidates": [ + { + "content": { + "parts": [ + { + "text": "That's a great question! It really depends on what you're curious about or what you're trying to achieve.\n\nHere are a few ideas for what you could do next:\n\n1. **Ask me another question:** You could ask me about anything at all – history, science, technology, current events, culture, or even just random facts.\n2. **Dive deeper into France/Paris:** We could explore more about France, Paris, its history, famous landmarks, cuisine, or culture.\n3. **Start a new topic entirely:** Tell me a topic you're interested in, and we can discuss it. For example, \"Tell me about the Amazon rainforest\" or \"Explain quantum physics in simple terms.\"\n4. **Get help with a task:** I can help you brainstorm ideas, write a short paragraph, summarize information, or even help you outline a plan.\n5. **Just for fun:** Ask me to tell you a joke, a fun fact, or suggest a creative writing prompt.\n\nWhat sounds most appealing to you, or do you have something else in mind?" + } + ], + "role": "model" + }, + "finishReason": "STOP", + "index": 0 + } + ], + "modelVersion": "gemini-2.5-flash", + "responseId": "I_JHacr4J7-4jrEPg5fzqQo", + "usageMetadata": { + "promptTokenCount": 24, + "candidatesTokenCount": 233, + "totalTokenCount": 1334, + "promptTokensDetails": [ + { + "modality": "TEXT", + "tokenCount": 24 + } + ], + "thoughtsTokenCount": 1077 + } +} \ No newline at end of file diff --git a/payloads/snapshots/simpleRequest/google/request.json b/payloads/snapshots/simpleRequest/google/request.json new file mode 100644 index 00000000..0ea9fc39 --- /dev/null +++ b/payloads/snapshots/simpleRequest/google/request.json @@ -0,0 +1,12 @@ +{ + "contents": [ + { + "role": "user", + "parts": [ + { + "text": "What is the capital of France?" + } + ] + } + ] +} \ No newline at end of file diff --git a/payloads/snapshots/simpleRequest/google/response-streaming.json b/payloads/snapshots/simpleRequest/google/response-streaming.json new file mode 100644 index 00000000..b01f437e --- /dev/null +++ b/payloads/snapshots/simpleRequest/google/response-streaming.json @@ -0,0 +1,47 @@ +[ + { + "candidates": [ + { + "content": { + "parts": [ + { + "text": "The capital of France is **Paris**." + } + ], + "role": "model" + }, + "finishReason": "STOP", + "index": 0 + } + ], + "modelVersion": "gemini-2.5-flash", + "responseId": "HfJHabbDFbHvjrEPmILAgAY", + "usageMetadata": { + "promptTokenCount": 8, + "candidatesTokenCount": 8, + "totalTokenCount": 44, + "promptTokensDetails": [ + { + "modality": "TEXT", + "tokenCount": 8 + } + ], + "thoughtsTokenCount": 28 + }, + "sdkHttpResponse": { + "headers": { + "alt-svc": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000", + "content-disposition": "attachment", + "content-type": "text/event-stream", + "date": "Sun, 21 Dec 2025 13:11:57 GMT", + "server": "scaffolding on HTTPServer2", + "server-timing": "gfet4t7; dur=496", + "transfer-encoding": "chunked", + "vary": "Origin, X-Origin, Referer", + "x-content-type-options": "nosniff", + "x-frame-options": "SAMEORIGIN", + "x-xss-protection": "0" + } + } + } +] \ No newline at end of file diff --git a/payloads/snapshots/simpleRequest/google/response.json b/payloads/snapshots/simpleRequest/google/response.json new file mode 100644 index 00000000..effe0a72 --- /dev/null +++ b/payloads/snapshots/simpleRequest/google/response.json @@ -0,0 +1,45 @@ +{ + "sdkHttpResponse": { + "headers": { + "alt-svc": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000", + "content-encoding": "gzip", + "content-type": "application/json; charset=UTF-8", + "date": "Sun, 21 Dec 2025 13:11:57 GMT", + "server": "scaffolding on HTTPServer2", + "server-timing": "gfet4t7; dur=598", + "transfer-encoding": "chunked", + "vary": "Origin, X-Origin, Referer", + "x-content-type-options": "nosniff", + "x-frame-options": "SAMEORIGIN", + "x-xss-protection": "0" + } + }, + "candidates": [ + { + "content": { + "parts": [ + { + "text": "The capital of France is **Paris**." + } + ], + "role": "model" + }, + "finishReason": "STOP", + "index": 0 + } + ], + "modelVersion": "gemini-2.5-flash", + "responseId": "HfJHafWMIvW2jrEPlpKP6A0", + "usageMetadata": { + "promptTokenCount": 8, + "candidatesTokenCount": 8, + "totalTokenCount": 46, + "promptTokensDetails": [ + { + "modality": "TEXT", + "tokenCount": 8 + } + ], + "thoughtsTokenCount": 30 + } +} \ No newline at end of file diff --git a/payloads/snapshots/toolCallRequest/bedrock/followup-request.json b/payloads/snapshots/toolCallRequest/bedrock/followup-request.json new file mode 100644 index 00000000..67c39f69 --- /dev/null +++ b/payloads/snapshots/toolCallRequest/bedrock/followup-request.json @@ -0,0 +1,67 @@ +{ + "modelId": "us.anthropic.claude-haiku-4-5-20251001-v1:0", + "messages": [ + { + "role": "user", + "content": [ + { + "text": "What's the weather like in San Francisco?" + } + ] + }, + { + "role": "assistant", + "content": [ + { + "toolUse": { + "toolUseId": "tooluse_r_trKjU2Tku-Vem9prfOww", + "name": "get_weather", + "input": { + "location": "San Francisco, CA" + }, + "type": "tool_use" + } + } + ] + }, + { + "role": "user", + "content": [ + { + "toolResult": { + "toolUseId": "tooluse_r_trKjU2Tku-Vem9prfOww", + "content": [ + { + "text": "71 degrees" + } + ] + } + } + ] + } + ], + "toolConfig": { + "tools": [ + { + "toolSpec": { + "name": "get_weather", + "description": "Get the current weather for a location", + "inputSchema": { + "json": { + "type": "object", + "properties": { + "location": { + "type": "string", + "description": "The city and state, e.g. San Francisco, CA" + } + }, + "required": [ + "location" + ] + } + } + } + } + ] + } +} \ No newline at end of file diff --git a/payloads/snapshots/toolCallRequest/bedrock/followup-response-streaming.json b/payloads/snapshots/toolCallRequest/bedrock/followup-response-streaming.json new file mode 100644 index 00000000..a7b12c53 --- /dev/null +++ b/payloads/snapshots/toolCallRequest/bedrock/followup-response-streaming.json @@ -0,0 +1,109 @@ +[ + { + "messageStart": { + "role": "assistant" + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "The" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " weather in San Francisco is currently" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " **" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "71 degrees**. It" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "'s a pleasant," + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " mil" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": "d temperature" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " typical" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " for San" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "text": " Francisco!" + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockStop": { + "contentBlockIndex": 0 + } + }, + { + "messageStop": { + "stopReason": "end_turn" + } + }, + { + "metadata": { + "usage": { + "inputTokens": 657, + "outputTokens": 28, + "totalTokens": 685 + }, + "metrics": { + "latencyMs": 963 + } + } + } +] \ No newline at end of file diff --git a/payloads/snapshots/toolCallRequest/bedrock/followup-response.json b/payloads/snapshots/toolCallRequest/bedrock/followup-response.json new file mode 100644 index 00000000..46c220ef --- /dev/null +++ b/payloads/snapshots/toolCallRequest/bedrock/followup-response.json @@ -0,0 +1,29 @@ +{ + "output": { + "message": { + "role": "assistant", + "content": [ + { + "text": "The weather in San Francisco, CA is currently **71 degrees**. It's a pleasant day! For more detailed information like precipitation or wind conditions, you might want to check a full weather service." + } + ] + } + }, + "stopReason": "end_turn", + "usage": { + "inputTokens": 657, + "outputTokens": 44, + "totalTokens": 701, + "cacheReadInputTokens": 0, + "cacheWriteInputTokens": 0 + }, + "metrics": { + "latencyMs": 870 + }, + "$metadata": { + "httpStatusCode": 200, + "requestId": "f7a9d3a5-2074-4b86-9417-7b304ff2c496", + "attempts": 1, + "totalRetryDelay": 0 + } +} \ No newline at end of file diff --git a/payloads/snapshots/toolCallRequest/bedrock/request.json b/payloads/snapshots/toolCallRequest/bedrock/request.json new file mode 100644 index 00000000..24bda8b9 --- /dev/null +++ b/payloads/snapshots/toolCallRequest/bedrock/request.json @@ -0,0 +1,37 @@ +{ + "modelId": "us.anthropic.claude-haiku-4-5-20251001-v1:0", + "messages": [ + { + "role": "user", + "content": [ + { + "text": "What's the weather like in San Francisco?" + } + ] + } + ], + "toolConfig": { + "tools": [ + { + "toolSpec": { + "name": "get_weather", + "description": "Get the current weather for a location", + "inputSchema": { + "json": { + "type": "object", + "properties": { + "location": { + "type": "string", + "description": "The city and state, e.g. San Francisco, CA" + } + }, + "required": [ + "location" + ] + } + } + } + } + ] + } +} \ No newline at end of file diff --git a/payloads/snapshots/toolCallRequest/bedrock/response-streaming.json b/payloads/snapshots/toolCallRequest/bedrock/response-streaming.json new file mode 100644 index 00000000..560bf24c --- /dev/null +++ b/payloads/snapshots/toolCallRequest/bedrock/response-streaming.json @@ -0,0 +1,101 @@ +[ + { + "messageStart": { + "role": "assistant" + } + }, + { + "contentBlockStart": { + "start": { + "toolUse": { + "toolUseId": "tooluse_goAizSZrTlKUF-GLdqmWSA", + "name": "get_weather", + "type": "tool_use" + } + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "toolUse": { + "input": "" + } + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "toolUse": { + "input": "{\"locati" + } + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "toolUse": { + "input": "on\": \"San " + } + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "toolUse": { + "input": "Fr" + } + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "toolUse": { + "input": "ancisco, CA" + } + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockDelta": { + "delta": { + "toolUse": { + "input": "\"}" + } + }, + "contentBlockIndex": 0 + } + }, + { + "contentBlockStop": { + "contentBlockIndex": 0 + } + }, + { + "messageStop": { + "stopReason": "tool_use" + } + }, + { + "metadata": { + "usage": { + "inputTokens": 585, + "outputTokens": 57, + "totalTokens": 642 + }, + "metrics": { + "latencyMs": 762 + } + } + } +] \ No newline at end of file diff --git a/payloads/snapshots/toolCallRequest/bedrock/response.json b/payloads/snapshots/toolCallRequest/bedrock/response.json new file mode 100644 index 00000000..7dd4f677 --- /dev/null +++ b/payloads/snapshots/toolCallRequest/bedrock/response.json @@ -0,0 +1,36 @@ +{ + "output": { + "message": { + "role": "assistant", + "content": [ + { + "toolUse": { + "toolUseId": "tooluse_r_trKjU2Tku-Vem9prfOww", + "name": "get_weather", + "input": { + "location": "San Francisco, CA" + }, + "type": "tool_use" + } + } + ] + } + }, + "stopReason": "tool_use", + "usage": { + "inputTokens": 585, + "outputTokens": 57, + "totalTokens": 642, + "cacheReadInputTokens": 0, + "cacheWriteInputTokens": 0 + }, + "metrics": { + "latencyMs": 981 + }, + "$metadata": { + "httpStatusCode": 200, + "requestId": "51c86866-9a9a-45be-b94c-29c3fcf8d2fd", + "attempts": 1, + "totalRetryDelay": 0 + } +} \ No newline at end of file diff --git a/payloads/snapshots/toolCallRequest/google/followup-request.json b/payloads/snapshots/toolCallRequest/google/followup-request.json new file mode 100644 index 00000000..5a8b8ed2 --- /dev/null +++ b/payloads/snapshots/toolCallRequest/google/followup-request.json @@ -0,0 +1,51 @@ +{ + "contents": [ + { + "role": "user", + "parts": [ + { + "text": "What's the weather like in San Francisco?" + } + ] + }, + { + "parts": [ + { + "text": "I need to know which state San Francisco is in.", + "thoughtSignature": "CpQDAXLI2nycZHzmwtbR1O0II6PzWoBs+ZkmPt7RS4c2JQ/GFJ8cz3U103KezG75qcvOf+Gny2dpm2aHuL9c35lpiiNZahNH42sZTxD4ntsuOrzOI+cg/GoTyypYBLvAss222NvlErwnAKh11nS/y4MKDbyRuD9QQKxKl20D4MjiXreI9RLFv9F4zRU8egMUwGxuGavgv50J47XVJniB/00pCeQzAJP9YRawHd9bN0NWomkgdwg5X3Ra6WnG22sJuf35GVIgFkfzXnT9YCSAtJx2hrmn0wLi0olVjexhJnNquxdqvo4rFxCXQgFi1Jrqp3n5C6nZ/8v57AZM9o5B3UKheUeLLBFcVorB4ZdJ7U0ZioPr6QJlex+g6NN84+2GpcXMUb/5LV48sAjQZGoI8xjmNXInm3wHKZfsqD+vXYXiKmA8ue6joVqh6fZ5aa5p36DplLwXfkFcsPSzaZP0D+yfyLY6kEBhTowoqlK1AU7wEngyE/Cfbb4YBvv1F+tkWje65SfOvd28MngWMMe52LhSjVk7jBM=" + } + ], + "role": "model" + }, + { + "role": "user", + "parts": [ + { + "text": "What should I do next?" + } + ] + } + ], + "tools": [ + { + "functionDeclarations": [ + { + "name": "get_weather", + "description": "Get the current weather for a location", + "parameters": { + "type": "OBJECT", + "properties": { + "location": { + "type": "STRING", + "description": "The city and state, e.g. San Francisco, CA" + } + }, + "required": [ + "location" + ] + } + } + ] + } + ] +} \ No newline at end of file diff --git a/payloads/snapshots/toolCallRequest/google/followup-response-streaming.json b/payloads/snapshots/toolCallRequest/google/followup-response-streaming.json new file mode 100644 index 00000000..49877c11 --- /dev/null +++ b/payloads/snapshots/toolCallRequest/google/followup-response-streaming.json @@ -0,0 +1,48 @@ +[ + { + "candidates": [ + { + "content": { + "parts": [ + { + "text": "Please tell me which state San Francisco is in, and I can tell you the weather there.", + "thoughtSignature": "CiIBcsjafKFermw4cNm2Votcf/U/iYte2JTSGwqL6BP8snQ3CmABcsjafLx6aHHqXsuhQf7EGNcIfIzgQwZ5Rk7JMiW0WeFF4U8Do0jNH92PJXK1RtA7xFk7XP+jq6DnT/mG8Uz7WTPZNVCESLY82Lda86nrwsIkndMrRcFS/Agh9QkJPv4K4AEBcsjafExgJYYvYpLqhn0ie0I+L9ZlP0ymIcrfQOWNZKPmeOqKDe/hzBsTEKP6HjFgEp9BP68pjZkslqqKibWFb5fgObAuW4dkDy9hKVDsKiODI8AqR/wIvKKaXNXE/XB8/rgjO24AmFbr6soJfZbkkMWOCxpW8cs5kMdUUAv9rrDYRn8JVtlMNUz7QBlDCfIr+6mFtQMu23YCYmJ1+BsmMUvFWj1EFTWEkREptNY+gdh1YfHbaWDVlOieC9B+xf/ocZkC/jP+6t5j/DcnKvc3Kipr6vy+/gHBMBqSNbY8IArqAQFyyNp8v4rV4ccOQSdzOJJAkP2exdjglb1ztlX4IDvd58MCi0uhhHi/23hoEsVTm5dQ19c8a+g2bvNonBcTcjkUl4rVBeBTfp7Bwwto9hCUej1SeuwJAilnyYAloSG0YkXQRwfCwHhSN+0yzMf92YrUy8g1o38gv8lu8jEpWrD664gR3bzBrdHeO9nWRjO0LDAy99LzXddR4UBwx5Z89QLaMqHJeZDREfwsdDG7ZZX96kwIlbGs6mf9FsZDOSWUVtfcCNY4+Rz2ffs419pbHbgmy8wJWn8QNPTLXt282l3x8eCp57cP1FKy6grxAQFyyNp87UtTUbAEm3degu4eQyng/e72PRDtFXZwgKwbQoLD1Jl4JCO8kvwmWSZrxV7C23n7vgehx3cZBEMUFftO72AUn4+vf8DGy47zwe+1Ukq6ud794d/4PCgge3rj8tdjmPt1AUB4rUKvFwweKvHB3R+xU4Guo23c7UfsdvsfiGOQVGf+whmZWNFM896rhEeAJ9g2v/J4dVHquRiqFYN34CatRjz4sJQ9nn4ew8ftc4R/jBkTNbBPm5wZg1efbeb1cfV8u/I4qwcuTXGwqtDHY73TziRQ0ptPbq4AeXfBjGrH/ApyBGiMOjZ3Chcqyw0K+QEBcsjafJGzafzu0QWoTqBwOYV1H69rQ50FNesCVexj7kOF/PmD7QZQj6r19ne8f93jKVrXOWD1P8ngyhns898YlD1OC2Ke+JB6CJ4BK1XkwwlhF1XYBrkWMs7k9qLUPiM1VbHoM0gc3yjfmTdQ/9tAvwN4nPsDDlKZ7GVrZOJeqLdzlJq7cNcFpHIob7HUZ7TOPjvuKfWdcSbbekNs0ahb1rJrRvC2NpEEEqj3Jv96CxWcHFOGzObnGyMrlQPww9OM25e9njofZGSdI0YcE4RpLsghVkf2oMAooulPpA+gIDLVQYPo0kKj2vsNBPuyTlgBRqnaEOjlykMKpAIBcsjafJlyeIDye3yo3WADPnib+u39TClGNsxKNHjnzN2RpQVallhsqBIgmJkCZYvuX6djyflVTXY2fQiKunm4Rl1Cpmleeni2q1y7OOGePkaedWvgyylvgcn7IDtWodumRUNgm9+ptoCNt4K5HvITvfkfoX3/UOUr+2mLWQV+vFPE3J/L0KQsMay89VvY1moGAdaQKeuE/AL1/PDbiFBlwO+RU0NK7Nppi5dewU9JQ3BDXGhn4g3lc5J6zZWTvS8rsLZNjeX3UsvyonBUfz8QfNkQ3QnkAprE32ZAudrTSQr/TvsUE2PXoCu8jX4fu0pm2LWtXeIygX9do9ukUCg091hVUbjQHspWTxcff1IWG8e6PKQePShiJGmnxdFmh7MTx0iyCuIBAXLI2nzlkgZAfqIEU2JsAXsw1AaDdicB/su7WbA/ehhv3spqtdNcpEb1tNqxbBKsSoQNvnzKqlT6G5zy+TiWPivKouq3IZAt4xj8oGD6thpHyF+/03WpnPy5VU6n2XIpClt+DMlVWQLu5u2tVFSOhQklqUzAs/ssvK2HNFRsA4bV2uN5is7m7srmIplbnm/yfWYYWuC4ykaay16QVGldQZL9xoiskjwmCgppKvCR6cPV6x8naT9iKDRAu5n+TzgtndKq3mvYbARrDK3OFggERsh+9OEWXK5+4PM28huJmxvSKgpdAXLI2nzAJHbPdnan+4WoZuognNz9jIA0ZvmHIBXipJYybGGqLB9BLVbpbenTW48vpSWBBZDVwJVxx1ESIRZLP06e7hWR/gBcKlikZY+mHOPZMrlOXMud/HafA7As" + } + ], + "role": "model" + }, + "finishReason": "STOP", + "index": 0 + } + ], + "modelVersion": "gemini-2.5-flash", + "responseId": "HvJHafXUCsjvjrEPws-ymAY", + "usageMetadata": { + "promptTokenCount": 81, + "candidatesTokenCount": 19, + "totalTokenCount": 422, + "promptTokensDetails": [ + { + "modality": "TEXT", + "tokenCount": 81 + } + ], + "thoughtsTokenCount": 322 + }, + "sdkHttpResponse": { + "headers": { + "alt-svc": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000", + "content-disposition": "attachment", + "content-type": "text/event-stream", + "date": "Sun, 21 Dec 2025 13:11:59 GMT", + "server": "scaffolding on HTTPServer2", + "server-timing": "gfet4t7; dur=1864", + "transfer-encoding": "chunked", + "vary": "Origin, X-Origin, Referer", + "x-content-type-options": "nosniff", + "x-frame-options": "SAMEORIGIN", + "x-xss-protection": "0" + } + } + } +] \ No newline at end of file diff --git a/payloads/snapshots/toolCallRequest/google/followup-response.json b/payloads/snapshots/toolCallRequest/google/followup-response.json new file mode 100644 index 00000000..0cd04200 --- /dev/null +++ b/payloads/snapshots/toolCallRequest/google/followup-response.json @@ -0,0 +1,46 @@ +{ + "sdkHttpResponse": { + "headers": { + "alt-svc": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000", + "content-encoding": "gzip", + "content-type": "application/json; charset=UTF-8", + "date": "Sun, 21 Dec 2025 13:11:58 GMT", + "server": "scaffolding on HTTPServer2", + "server-timing": "gfet4t7; dur=794", + "transfer-encoding": "chunked", + "vary": "Origin, X-Origin, Referer", + "x-content-type-options": "nosniff", + "x-frame-options": "SAMEORIGIN", + "x-xss-protection": "0" + } + }, + "candidates": [ + { + "content": { + "parts": [ + { + "text": "Please tell me what you would like to do next, and I will try to help! I can tell you the weather in a particular location if you provide the city and state.", + "thoughtSignature": "CuoBAXLI2nxWvixXM2LAU9HXkrQbE+RuNUbY73/MnDG3Dtz/ac3XvvKexPoRXTrPXKMfXtezaw+aGS+E0V5Gb9zV1B4CR1ytCARaKDJVhCmvF6sNmznDdEZpcvIKbSlucK6MN5amICVD8FQkk7m9PY6kTz2Fj9ZNmLaZ3iN5Wl6T2v14+9ZmIDjHypwAVdCJpxJAQo2SNyjgMrvynoiwtFAL4inYFjjOf6vDINnvL03suw27beivkSsPSAlTw0DFj3DfXh1Opr6XIOMJFmfXXjfvYAO2OXe2CdOqB6cSJ9COf7MnPtfkbrzksoH6" + } + ], + "role": "model" + }, + "finishReason": "STOP", + "index": 0 + } + ], + "modelVersion": "gemini-2.5-flash", + "responseId": "HfJHaarwONLfjrEP2LjLyA4", + "usageMetadata": { + "promptTokenCount": 81, + "candidatesTokenCount": 36, + "totalTokenCount": 158, + "promptTokensDetails": [ + { + "modality": "TEXT", + "tokenCount": 81 + } + ], + "thoughtsTokenCount": 41 + } +} \ No newline at end of file diff --git a/payloads/snapshots/toolCallRequest/google/request.json b/payloads/snapshots/toolCallRequest/google/request.json new file mode 100644 index 00000000..66ba324d --- /dev/null +++ b/payloads/snapshots/toolCallRequest/google/request.json @@ -0,0 +1,34 @@ +{ + "contents": [ + { + "role": "user", + "parts": [ + { + "text": "What's the weather like in San Francisco?" + } + ] + } + ], + "tools": [ + { + "functionDeclarations": [ + { + "name": "get_weather", + "description": "Get the current weather for a location", + "parameters": { + "type": "OBJECT", + "properties": { + "location": { + "type": "STRING", + "description": "The city and state, e.g. San Francisco, CA" + } + }, + "required": [ + "location" + ] + } + } + ] + } + ] +} \ No newline at end of file diff --git a/payloads/snapshots/toolCallRequest/google/response-streaming.json b/payloads/snapshots/toolCallRequest/google/response-streaming.json new file mode 100644 index 00000000..b1ff4c8f --- /dev/null +++ b/payloads/snapshots/toolCallRequest/google/response-streaming.json @@ -0,0 +1,53 @@ +[ + { + "candidates": [ + { + "content": { + "parts": [ + { + "functionCall": { + "name": "get_weather", + "args": { + "location": "San Francisco, CA" + } + }, + "thoughtSignature": "CiQBcsjafLpjXzdrfX6/TW5aZ93PbKQUx6Yr3C5ovooPZQXF5kEKawFyyNp808QOQLd3k8RgqUO3LLqceJwIUjxdjBKMz6yt9flS/+Zo6+XsPXNm+96jeg6TOZ6WnTS1uZrkJftiTLZdhVxS5fkvbXZ082kFUtC7GARgHR1GwOq+2BV8LjLcKSjpubG0VgyAVG2aCpACAXLI2nyOiofAE8ACDYCqlLlNeRrmSIkrZPS6qpYTOgEW/NqN2k5CPfnn5XW+ubVQUiqCAOaqLwd6/F3Im2uJqarf/Vc5N0dcwz7PQPhDvKmhwjKUiJog4czvVz7VLV4FXrZZ539Iq2Bv/rreHXDSERIw5TCvM58TQXcTo8xcD4v13lH5kz4zm3FdYRCDvN7gxf7UW20DGU4TeIwHQ7ELDyBoES25KtJfAfS2/TN1f7qzDWvdT7YD/yJ+qcaVtaQgMfJXr2ZZ0gjWQpBR8nQJVHm3okIbYCLEapgsE1idgjhmGXlFuE/WbCJKSU6GAV0h06mWUNgMcIp9sv1pgR2kd2OktST09q2bZU6t9YKamIsKIwFyyNp8JdTRCA9Vh/DwwhHbO79fOJZnZT/eNUzYD4fAVxyg" + } + ], + "role": "model" + }, + "finishReason": "STOP", + "index": 0 + } + ], + "modelVersion": "gemini-2.5-flash", + "responseId": "HfJHadHaFuOzjrEPsYao4Ac", + "usageMetadata": { + "promptTokenCount": 62, + "candidatesTokenCount": 18, + "totalTokenCount": 150, + "promptTokensDetails": [ + { + "modality": "TEXT", + "tokenCount": 62 + } + ], + "thoughtsTokenCount": 70 + }, + "sdkHttpResponse": { + "headers": { + "alt-svc": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000", + "content-disposition": "attachment", + "content-type": "text/event-stream", + "date": "Sun, 21 Dec 2025 13:11:57 GMT", + "server": "scaffolding on HTTPServer2", + "server-timing": "gfet4t7; dur=743", + "transfer-encoding": "chunked", + "vary": "Origin, X-Origin, Referer", + "x-content-type-options": "nosniff", + "x-frame-options": "SAMEORIGIN", + "x-xss-protection": "0" + } + } + } +] \ No newline at end of file diff --git a/payloads/snapshots/toolCallRequest/google/response.json b/payloads/snapshots/toolCallRequest/google/response.json new file mode 100644 index 00000000..8ba66fa4 --- /dev/null +++ b/payloads/snapshots/toolCallRequest/google/response.json @@ -0,0 +1,46 @@ +{ + "sdkHttpResponse": { + "headers": { + "alt-svc": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000", + "content-encoding": "gzip", + "content-type": "application/json; charset=UTF-8", + "date": "Sun, 21 Dec 2025 13:11:57 GMT", + "server": "scaffolding on HTTPServer2", + "server-timing": "gfet4t7; dur=720", + "transfer-encoding": "chunked", + "vary": "Origin, X-Origin, Referer", + "x-content-type-options": "nosniff", + "x-frame-options": "SAMEORIGIN", + "x-xss-protection": "0" + } + }, + "candidates": [ + { + "content": { + "parts": [ + { + "text": "I need to know which state San Francisco is in.", + "thoughtSignature": "CpQDAXLI2nycZHzmwtbR1O0II6PzWoBs+ZkmPt7RS4c2JQ/GFJ8cz3U103KezG75qcvOf+Gny2dpm2aHuL9c35lpiiNZahNH42sZTxD4ntsuOrzOI+cg/GoTyypYBLvAss222NvlErwnAKh11nS/y4MKDbyRuD9QQKxKl20D4MjiXreI9RLFv9F4zRU8egMUwGxuGavgv50J47XVJniB/00pCeQzAJP9YRawHd9bN0NWomkgdwg5X3Ra6WnG22sJuf35GVIgFkfzXnT9YCSAtJx2hrmn0wLi0olVjexhJnNquxdqvo4rFxCXQgFi1Jrqp3n5C6nZ/8v57AZM9o5B3UKheUeLLBFcVorB4ZdJ7U0ZioPr6QJlex+g6NN84+2GpcXMUb/5LV48sAjQZGoI8xjmNXInm3wHKZfsqD+vXYXiKmA8ue6joVqh6fZ5aa5p36DplLwXfkFcsPSzaZP0D+yfyLY6kEBhTowoqlK1AU7wEngyE/Cfbb4YBvv1F+tkWje65SfOvd28MngWMMe52LhSjVk7jBM=" + } + ], + "role": "model" + }, + "finishReason": "STOP", + "index": 0 + } + ], + "modelVersion": "gemini-2.5-flash", + "responseId": "HfJHaeSNLZjO-8YPg-iv0Ak", + "usageMetadata": { + "promptTokenCount": 62, + "candidatesTokenCount": 11, + "totalTokenCount": 162, + "promptTokensDetails": [ + { + "modality": "TEXT", + "tokenCount": 62 + } + ], + "thoughtsTokenCount": 89 + } +} \ No newline at end of file diff --git a/payloads/snapshots/transformations/anthropic/followup-request.json b/payloads/snapshots/transformations/anthropic/followup-request.json new file mode 100644 index 00000000..73182156 --- /dev/null +++ b/payloads/snapshots/transformations/anthropic/followup-request.json @@ -0,0 +1,24 @@ +{ + "model": "claude-3-7-sonnet-20250219", + "max_tokens": 2048, + "messages": [ + { + "role": "user", + "content": "Please acknowledge the reasoning instructions." + }, + { + "role": "assistant", + "content": [ + { + "type": "text", + "text": "Acknowledged. I'm ready to help with the reasoning task." + } + ] + }, + { + "role": "user", + "content": "What transformation should I apply next?" + } + ] +} + diff --git a/payloads/snapshots/transformations/anthropic/followup-response-streaming.json b/payloads/snapshots/transformations/anthropic/followup-response-streaming.json new file mode 100644 index 00000000..c0c847ad --- /dev/null +++ b/payloads/snapshots/transformations/anthropic/followup-response-streaming.json @@ -0,0 +1,78 @@ +[ + { + "type": "message_start", + "message": { + "id": "msg_transformations_followup_stream", + "type": "message", + "role": "assistant", + "model": "claude-3-7-sonnet-20250219", + "content": [], + "stop_reason": null, + "stop_sequence": null, + "usage": { + "input_tokens": 42, + "cache_creation_input_tokens": 0, + "cache_read_input_tokens": 0, + "cache_creation": { + "ephemeral_5m_input_tokens": 0, + "ephemeral_1h_input_tokens": 0 + }, + "output_tokens": 1, + "service_tier": "standard" + } + } + }, + { + "type": "content_block_start", + "index": 0, + "content_block": { + "type": "text", + "text": "" + } + }, + { + "type": "content_block_delta", + "index": 0, + "delta": { + "type": "text_delta", + "text": "I don't have context" + } + }, + { + "type": "content_block_delta", + "index": 0, + "delta": { + "type": "text_delta", + "text": " about what specific transformation" + } + }, + { + "type": "content_block_delta", + "index": 0, + "delta": { + "type": "text_delta", + "text": " you're working on." + } + }, + { + "type": "content_block_stop", + "index": 0 + }, + { + "type": "message_delta", + "delta": { + "stop_reason": "end_turn", + "stop_sequence": null + }, + "usage": { + "input_tokens": 42, + "cache_creation_input_tokens": 0, + "cache_read_input_tokens": 0, + "output_tokens": 68 + } + }, + { + "type": "message_stop" + } +] + diff --git a/payloads/snapshots/transformations/anthropic/followup-response.json b/payloads/snapshots/transformations/anthropic/followup-response.json new file mode 100644 index 00000000..40ebbd93 --- /dev/null +++ b/payloads/snapshots/transformations/anthropic/followup-response.json @@ -0,0 +1,26 @@ +{ + "id": "msg_transformations_followup", + "type": "message", + "role": "assistant", + "model": "claude-3-7-sonnet-20250219", + "content": [ + { + "type": "text", + "text": "I don't have context about what specific transformation you're working on. Could you tell me more about:\n- What data or content you're transforming?\n- What format changes you need?\n- What your end goal is?\n\nWith more details, I can suggest the appropriate next transformation step." + } + ], + "stop_reason": "end_turn", + "stop_sequence": null, + "usage": { + "input_tokens": 42, + "cache_creation_input_tokens": 0, + "cache_read_input_tokens": 0, + "cache_creation": { + "ephemeral_5m_input_tokens": 0, + "ephemeral_1h_input_tokens": 0 + }, + "output_tokens": 68, + "service_tier": "standard" + } +} + diff --git a/payloads/snapshots/transformations/anthropic/request.json b/payloads/snapshots/transformations/anthropic/request.json new file mode 100644 index 00000000..2b3ce1fd --- /dev/null +++ b/payloads/snapshots/transformations/anthropic/request.json @@ -0,0 +1,12 @@ +{ + "model": "claude-3-7-sonnet-20250219", + "max_tokens": 2048, + "messages": [ + { + "role": "user", + "content": "Please acknowledge the reasoning instructions." + } + ] +} + + diff --git a/payloads/snapshots/transformations/anthropic/response-streaming.json b/payloads/snapshots/transformations/anthropic/response-streaming.json new file mode 100644 index 00000000..88bdb4ab --- /dev/null +++ b/payloads/snapshots/transformations/anthropic/response-streaming.json @@ -0,0 +1,63 @@ +[ + { + "type": "message_start", + "message": { + "id": "msg_transformations_stream", + "type": "message", + "role": "assistant", + "model": "claude-3-7-sonnet-20250219", + "content": [], + "stop_reason": null, + "stop_sequence": null, + "usage": { + "input_tokens": 23, + "cache_creation_input_tokens": 0, + "cache_read_input_tokens": 0, + "cache_creation": { + "ephemeral_5m_input_tokens": 0, + "ephemeral_1h_input_tokens": 0 + }, + "output_tokens": 1, + "service_tier": "standard" + } + } + }, + { + "type": "content_block_start", + "index": 0, + "content_block": { + "type": "text", + "text": "" + } + }, + { + "type": "content_block_delta", + "index": 0, + "delta": { + "type": "text_delta", + "text": "Acknowledged." + } + }, + { + "type": "content_block_stop", + "index": 0 + }, + { + "type": "message_delta", + "delta": { + "stop_reason": "end_turn", + "stop_sequence": null + }, + "usage": { + "input_tokens": 23, + "cache_creation_input_tokens": 0, + "cache_read_input_tokens": 0, + "output_tokens": 14 + } + }, + { + "type": "message_stop" + } +] + + diff --git a/payloads/snapshots/transformations/anthropic/response.json b/payloads/snapshots/transformations/anthropic/response.json new file mode 100644 index 00000000..a5e36199 --- /dev/null +++ b/payloads/snapshots/transformations/anthropic/response.json @@ -0,0 +1,27 @@ +{ + "id": "msg_transformations_first_turn", + "type": "message", + "role": "assistant", + "model": "claude-3-7-sonnet-20250219", + "content": [ + { + "type": "text", + "text": "Acknowledged. I'm ready to help with the reasoning task." + } + ], + "stop_reason": "end_turn", + "stop_sequence": null, + "usage": { + "input_tokens": 23, + "cache_creation_input_tokens": 0, + "cache_read_input_tokens": 0, + "cache_creation": { + "ephemeral_5m_input_tokens": 0, + "ephemeral_1h_input_tokens": 0 + }, + "output_tokens": 14, + "service_tier": "standard" + } +} + + diff --git a/payloads/snapshots/transformations/chat-completions/followup-request.json b/payloads/snapshots/transformations/chat-completions/followup-request.json new file mode 100644 index 00000000..266adc47 --- /dev/null +++ b/payloads/snapshots/transformations/chat-completions/followup-request.json @@ -0,0 +1,27 @@ +{ + "model": "o1-mini", + "max_tokens": 256, + "temperature": 0.4, + "parallel_tool_calls": true, + "messages": [ + { + "role": "system", + "content": "system instructions" + }, + { + "role": "user", + "content": "hello" + }, + { + "role": "assistant", + "content": "I've noted your instructions. How can I assist you further?", + "refusal": null, + "annotations": [] + }, + { + "role": "user", + "content": "What transformation should I apply next?" + } + ] +} + diff --git a/payloads/snapshots/transformations/chat-completions/followup-response-streaming.json b/payloads/snapshots/transformations/chat-completions/followup-response-streaming.json new file mode 100644 index 00000000..07e87334 --- /dev/null +++ b/payloads/snapshots/transformations/chat-completions/followup-response-streaming.json @@ -0,0 +1,88 @@ +[ + { + "id": "chatcmpl-transformations-followup", + "object": "chat.completion.chunk", + "created": 1758621960, + "model": "o1-mini-2024-09-12", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "role": "assistant", + "content": "", + "refusal": null + }, + "finish_reason": null + } + ] + }, + { + "id": "chatcmpl-transformations-followup", + "object": "chat.completion.chunk", + "created": 1758621960, + "model": "o1-mini-2024-09-12", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "content": "I don't have context" + }, + "finish_reason": null + } + ] + }, + { + "id": "chatcmpl-transformations-followup", + "object": "chat.completion.chunk", + "created": 1758621960, + "model": "o1-mini-2024-09-12", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "content": " about what specific transformation" + }, + "finish_reason": null + } + ] + }, + { + "id": "chatcmpl-transformations-followup", + "object": "chat.completion.chunk", + "created": 1758621960, + "model": "o1-mini-2024-09-12", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "content": " you're working on." + }, + "finish_reason": null + } + ] + }, + { + "id": "chatcmpl-transformations-followup", + "object": "chat.completion.chunk", + "created": 1758621960, + "model": "o1-mini-2024-09-12", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": {}, + "finish_reason": "stop" + } + ] + } +] + diff --git a/payloads/snapshots/transformations/chat-completions/followup-response.json b/payloads/snapshots/transformations/chat-completions/followup-response.json new file mode 100644 index 00000000..3026189b --- /dev/null +++ b/payloads/snapshots/transformations/chat-completions/followup-response.json @@ -0,0 +1,36 @@ +{ + "id": "chatcmpl-transformations-followup", + "object": "chat.completion", + "created": 1758621960, + "model": "o1-mini-2024-09-12", + "choices": [ + { + "index": 0, + "message": { + "role": "assistant", + "content": "I don't have context about what specific transformation you're working on. Could you provide more details about the data or format you need to transform?", + "refusal": null, + "annotations": [] + }, + "finish_reason": "stop" + } + ], + "usage": { + "prompt_tokens": 56, + "completion_tokens": 32, + "total_tokens": 88, + "prompt_tokens_details": { + "cached_tokens": 0, + "audio_tokens": 0 + }, + "completion_tokens_details": { + "reasoning_tokens": 8, + "audio_tokens": 0, + "accepted_prediction_tokens": 0, + "rejected_prediction_tokens": 0 + } + }, + "service_tier": "default", + "system_fingerprint": null +} + diff --git a/payloads/snapshots/transformations/chat-completions/request.json b/payloads/snapshots/transformations/chat-completions/request.json new file mode 100644 index 00000000..0a77169f --- /dev/null +++ b/payloads/snapshots/transformations/chat-completions/request.json @@ -0,0 +1,18 @@ +{ + "model": "o1-mini", + "max_tokens": 256, + "temperature": 0.4, + "parallel_tool_calls": true, + "messages": [ + { + "role": "system", + "content": "system instructions" + }, + { + "role": "user", + "content": "hello" + } + ] +} + + diff --git a/payloads/snapshots/transformations/chat-completions/response-streaming.json b/payloads/snapshots/transformations/chat-completions/response-streaming.json new file mode 100644 index 00000000..d9147e1a --- /dev/null +++ b/payloads/snapshots/transformations/chat-completions/response-streaming.json @@ -0,0 +1,55 @@ +[ + { + "id": "chatcmpl-transformations-first", + "object": "chat.completion.chunk", + "created": 1758621958, + "model": "o1-mini-2024-09-12", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "role": "assistant", + "content": "", + "refusal": null + }, + "finish_reason": null + } + ] + }, + { + "id": "chatcmpl-transformations-first", + "object": "chat.completion.chunk", + "created": 1758621959, + "model": "o1-mini-2024-09-12", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "content": "Understood." + }, + "finish_reason": null + } + ] + }, + { + "id": "chatcmpl-transformations-first", + "object": "chat.completion.chunk", + "created": 1758621960, + "model": "o1-mini-2024-09-12", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": {}, + "finish_reason": "stop" + } + ] + } +] + + diff --git a/payloads/snapshots/transformations/chat-completions/response.json b/payloads/snapshots/transformations/chat-completions/response.json new file mode 100644 index 00000000..abb8a894 --- /dev/null +++ b/payloads/snapshots/transformations/chat-completions/response.json @@ -0,0 +1,37 @@ +{ + "id": "chatcmpl-transformations-first", + "object": "chat.completion", + "created": 1758621958, + "model": "o1-mini-2024-09-12", + "choices": [ + { + "index": 0, + "message": { + "role": "assistant", + "content": "I've noted your instructions. How can I assist you further?", + "refusal": null, + "annotations": [] + }, + "finish_reason": "stop" + } + ], + "usage": { + "prompt_tokens": 28, + "completion_tokens": 14, + "total_tokens": 42, + "prompt_tokens_details": { + "cached_tokens": 0, + "audio_tokens": 0 + }, + "completion_tokens_details": { + "reasoning_tokens": 6, + "audio_tokens": 0, + "accepted_prediction_tokens": 0, + "rejected_prediction_tokens": 0 + } + }, + "service_tier": "default", + "system_fingerprint": null +} + + diff --git a/payloads/snapshots/transformations/pdf_normalization/expected.json b/payloads/snapshots/transformations/pdf_normalization/expected.json new file mode 100644 index 00000000..79771b67 --- /dev/null +++ b/payloads/snapshots/transformations/pdf_normalization/expected.json @@ -0,0 +1,22 @@ +{ + "model": "gpt-4o", + "messages": [ + { + "role": "user", + "content": [ + { + "type": "text", + "text": "Summarize this PDF" + }, + { + "type": "file", + "file": { + "file_data": "data:application/pdf;base64,JVBERi0xLjQKMSAwIG9iago8PAovVHlwZSAvQ2F0YWxvZwo+PgplbmRvYmoKdHJhaWxlcgo8PAovUm9vdCAxIDAgUgo+PgolJUVPRgo=", + "filename": "file_from_base64.pdf" + } + } + ] + } + ] +} + diff --git a/payloads/snapshots/transformations/pdf_normalization/request.json b/payloads/snapshots/transformations/pdf_normalization/request.json new file mode 100644 index 00000000..69683424 --- /dev/null +++ b/payloads/snapshots/transformations/pdf_normalization/request.json @@ -0,0 +1,21 @@ +{ + "model": "gpt-4o", + "messages": [ + { + "role": "user", + "content": [ + { + "type": "text", + "text": "Summarize this PDF" + }, + { + "type": "image_url", + "image_url": { + "url": "data:application/pdf;base64,JVBERi0xLjQKMSAwIG9iago8PAovVHlwZSAvQ2F0YWxvZwo+PgplbmRvYmoKdHJhaWxlcgo8PAovUm9vdCAxIDAgUgo+PgolJUVPRgo=" + } + } + ] + } + ] +} + diff --git a/payloads/snapshots/transformations/provider_sanitization_azure/expected.json b/payloads/snapshots/transformations/provider_sanitization_azure/expected.json new file mode 100644 index 00000000..fbbf938a --- /dev/null +++ b/payloads/snapshots/transformations/provider_sanitization_azure/expected.json @@ -0,0 +1,13 @@ +{ + "model": "gpt-4", + "messages": [ + { + "role": "user", + "content": "Hello" + } + ], + "stream_options": { + "include_usage": true + } +} + diff --git a/payloads/snapshots/transformations/provider_sanitization_azure/request.json b/payloads/snapshots/transformations/provider_sanitization_azure/request.json new file mode 100644 index 00000000..559980e8 --- /dev/null +++ b/payloads/snapshots/transformations/provider_sanitization_azure/request.json @@ -0,0 +1,14 @@ +{ + "model": "gpt-4", + "messages": [ + { + "role": "user", + "content": "Hello" + } + ], + "parallel_tool_calls": true, + "stream_options": { + "include_usage": true + } +} + diff --git a/payloads/snapshots/transformations/provider_sanitization_azure_seed/expected.json b/payloads/snapshots/transformations/provider_sanitization_azure_seed/expected.json new file mode 100644 index 00000000..01b74643 --- /dev/null +++ b/payloads/snapshots/transformations/provider_sanitization_azure_seed/expected.json @@ -0,0 +1,10 @@ +{ + "model": "gpt-4", + "messages": [ + { + "role": "user", + "content": "Hello" + } + ] +} + diff --git a/payloads/snapshots/transformations/provider_sanitization_azure_seed/request.json b/payloads/snapshots/transformations/provider_sanitization_azure_seed/request.json new file mode 100644 index 00000000..b278b126 --- /dev/null +++ b/payloads/snapshots/transformations/provider_sanitization_azure_seed/request.json @@ -0,0 +1,12 @@ +{ + "model": "gpt-4", + "messages": [ + { + "role": "user", + "content": "Hello" + } + ], + "seed": 42, + "parallel_tool_calls": true +} + diff --git a/payloads/snapshots/transformations/provider_sanitization_databricks/expected.json b/payloads/snapshots/transformations/provider_sanitization_databricks/expected.json new file mode 100644 index 00000000..60ff3a5c --- /dev/null +++ b/payloads/snapshots/transformations/provider_sanitization_databricks/expected.json @@ -0,0 +1,11 @@ +{ + "model": "databricks-meta-llama-3-70b-instruct", + "messages": [ + { + "role": "user", + "content": "Hello" + } + ], + "temperature": 0.7 +} + diff --git a/payloads/snapshots/transformations/provider_sanitization_databricks/request.json b/payloads/snapshots/transformations/provider_sanitization_databricks/request.json new file mode 100644 index 00000000..0e24d799 --- /dev/null +++ b/payloads/snapshots/transformations/provider_sanitization_databricks/request.json @@ -0,0 +1,15 @@ +{ + "model": "databricks-meta-llama-3-70b-instruct", + "messages": [ + { + "role": "user", + "content": "Hello" + } + ], + "stream_options": { + "include_usage": true + }, + "parallel_tool_calls": true, + "temperature": 0.7 +} + diff --git a/payloads/snapshots/transformations/provider_sanitization_fireworks/expected.json b/payloads/snapshots/transformations/provider_sanitization_fireworks/expected.json new file mode 100644 index 00000000..cfd7b266 --- /dev/null +++ b/payloads/snapshots/transformations/provider_sanitization_fireworks/expected.json @@ -0,0 +1,12 @@ +{ + "model": "accounts/fireworks/models/llama-v3p1-70b-instruct", + "messages": [ + { + "role": "user", + "content": "Hello" + } + ], + "parallel_tool_calls": true, + "temperature": 0.7 +} + diff --git a/payloads/snapshots/transformations/provider_sanitization_fireworks/request.json b/payloads/snapshots/transformations/provider_sanitization_fireworks/request.json new file mode 100644 index 00000000..ffbd6125 --- /dev/null +++ b/payloads/snapshots/transformations/provider_sanitization_fireworks/request.json @@ -0,0 +1,15 @@ +{ + "model": "accounts/fireworks/models/llama-v3p1-70b-instruct", + "messages": [ + { + "role": "user", + "content": "Hello" + } + ], + "stream_options": { + "include_usage": true + }, + "parallel_tool_calls": true, + "temperature": 0.7 +} + diff --git a/payloads/snapshots/transformations/provider_sanitization_mistral/expected.json b/payloads/snapshots/transformations/provider_sanitization_mistral/expected.json new file mode 100644 index 00000000..0a1a5a7b --- /dev/null +++ b/payloads/snapshots/transformations/provider_sanitization_mistral/expected.json @@ -0,0 +1,11 @@ +{ + "model": "mistral-large-latest", + "messages": [ + { + "role": "user", + "content": "Hello" + } + ], + "temperature": 0.7 +} + diff --git a/payloads/snapshots/transformations/provider_sanitization_mistral/request.json b/payloads/snapshots/transformations/provider_sanitization_mistral/request.json new file mode 100644 index 00000000..457ce758 --- /dev/null +++ b/payloads/snapshots/transformations/provider_sanitization_mistral/request.json @@ -0,0 +1,15 @@ +{ + "model": "mistral-large-latest", + "messages": [ + { + "role": "user", + "content": "Hello" + } + ], + "stream_options": { + "include_usage": true + }, + "parallel_tool_calls": true, + "temperature": 0.7 +} + diff --git a/payloads/snapshots/transformations/reasoning/expected.json b/payloads/snapshots/transformations/reasoning/expected.json new file mode 100644 index 00000000..fec4d18c --- /dev/null +++ b/payloads/snapshots/transformations/reasoning/expected.json @@ -0,0 +1,15 @@ +{ + "model": "o1-mini", + "max_completion_tokens": 256, + "messages": [ + { + "role": "user", + "content": "system instructions" + }, + { + "role": "user", + "content": "hello" + } + ] +} + diff --git a/payloads/snapshots/transformations/reasoning/request.json b/payloads/snapshots/transformations/reasoning/request.json new file mode 100644 index 00000000..cec46e2a --- /dev/null +++ b/payloads/snapshots/transformations/reasoning/request.json @@ -0,0 +1,17 @@ +{ + "model": "o1-mini", + "max_tokens": 256, + "temperature": 0.4, + "parallel_tool_calls": true, + "messages": [ + { + "role": "system", + "content": "system instructions" + }, + { + "role": "user", + "content": "hello" + } + ] +} + diff --git a/payloads/snapshots/transformations/responses/followup-request.json b/payloads/snapshots/transformations/responses/followup-request.json new file mode 100644 index 00000000..53002966 --- /dev/null +++ b/payloads/snapshots/transformations/responses/followup-request.json @@ -0,0 +1,39 @@ +{ + "model": "o1-mini", + "reasoning": { + "effort": "medium" + }, + "text": { + "verbosity": "low" + }, + "input": [ + { + "role": "user", + "content": "Please confirm you received the transformation instructions." + }, + { + "id": "rs_transformations_reasoning", + "type": "reasoning", + "summary": [] + }, + { + "id": "msg_transformations_output", + "type": "message", + "status": "completed", + "content": [ + { + "type": "output_text", + "annotations": [], + "logprobs": [], + "text": "Acknowledged. Ready to apply the requested transformations." + } + ], + "role": "assistant" + }, + { + "role": "user", + "content": "What transformation should I apply next?" + } + ] +} + diff --git a/payloads/snapshots/transformations/responses/followup-response-streaming.json b/payloads/snapshots/transformations/responses/followup-response-streaming.json new file mode 100644 index 00000000..b9ca4d6e --- /dev/null +++ b/payloads/snapshots/transformations/responses/followup-response-streaming.json @@ -0,0 +1,275 @@ +[ + { + "type": "response.created", + "sequence_number": 0, + "response": { + "id": "resp_transformations_followup", + "object": "response", + "created_at": 1758621960, + "status": "in_progress", + "background": false, + "error": null, + "incomplete_details": null, + "instructions": null, + "max_output_tokens": null, + "max_tool_calls": null, + "model": "o1-mini", + "output": [], + "parallel_tool_calls": true, + "previous_response_id": null, + "prompt_cache_key": null, + "reasoning": { + "effort": "medium", + "summary": null + }, + "safety_identifier": null, + "service_tier": "default", + "store": true, + "temperature": 1, + "text": { + "format": { + "type": "text" + }, + "verbosity": "low" + }, + "tool_choice": "auto", + "tools": [], + "top_logprobs": 0, + "top_p": 1, + "truncation": "disabled", + "usage": null, + "user": null, + "metadata": {} + } + }, + { + "type": "response.in_progress", + "sequence_number": 1, + "response": { + "id": "resp_transformations_followup", + "object": "response", + "created_at": 1758621960, + "status": "in_progress", + "background": false, + "error": null, + "incomplete_details": null, + "instructions": null, + "max_output_tokens": null, + "max_tool_calls": null, + "model": "o1-mini", + "output": [], + "parallel_tool_calls": true, + "previous_response_id": null, + "prompt_cache_key": null, + "reasoning": { + "effort": "medium", + "summary": null + }, + "safety_identifier": null, + "service_tier": "default", + "store": true, + "temperature": 1, + "text": { + "format": { + "type": "text" + }, + "verbosity": "low" + }, + "tool_choice": "auto", + "tools": [], + "top_logprobs": 0, + "top_p": 1, + "truncation": "disabled", + "usage": null, + "user": null, + "metadata": {} + } + }, + { + "type": "response.output_item.added", + "sequence_number": 2, + "output_index": 0, + "item": { + "id": "rs_transformations_followup_reasoning", + "type": "reasoning", + "summary": [] + } + }, + { + "type": "response.output_item.done", + "sequence_number": 3, + "output_index": 0, + "item": { + "id": "rs_transformations_followup_reasoning", + "type": "reasoning", + "summary": [] + } + }, + { + "type": "response.output_item.added", + "sequence_number": 4, + "output_index": 1, + "item": { + "id": "msg_transformations_followup_output", + "type": "message", + "status": "in_progress", + "content": [], + "role": "assistant" + } + }, + { + "type": "response.content_part.added", + "sequence_number": 5, + "item_id": "msg_transformations_followup_output", + "output_index": 1, + "content_index": 0, + "part": { + "type": "output_text", + "annotations": [], + "logprobs": [], + "text": "" + } + }, + { + "type": "response.output_text.delta", + "sequence_number": 6, + "item_id": "msg_transformations_followup_output", + "output_index": 1, + "content_index": 0, + "delta": "I don't have context", + "logprobs": [] + }, + { + "type": "response.output_text.delta", + "sequence_number": 7, + "item_id": "msg_transformations_followup_output", + "output_index": 1, + "content_index": 0, + "delta": " about what specific transformation", + "logprobs": [] + }, + { + "type": "response.output_text.delta", + "sequence_number": 8, + "item_id": "msg_transformations_followup_output", + "output_index": 1, + "content_index": 0, + "delta": " you're working on.", + "logprobs": [] + }, + { + "type": "response.output_text.done", + "sequence_number": 9, + "item_id": "msg_transformations_followup_output", + "output_index": 1, + "content_index": 0, + "text": "I don't have context about what specific transformation you're working on.", + "logprobs": [] + }, + { + "type": "response.content_part.done", + "sequence_number": 10, + "item_id": "msg_transformations_followup_output", + "output_index": 1, + "content_index": 0, + "part": { + "type": "output_text", + "annotations": [], + "logprobs": [], + "text": "I don't have context about what specific transformation you're working on." + } + }, + { + "type": "response.output_item.done", + "sequence_number": 11, + "output_index": 1, + "item": { + "id": "msg_transformations_followup_output", + "type": "message", + "status": "completed", + "content": [ + { + "type": "output_text", + "annotations": [], + "logprobs": [], + "text": "I don't have context about what specific transformation you're working on." + } + ], + "role": "assistant" + } + }, + { + "type": "response.completed", + "sequence_number": 12, + "response": { + "id": "resp_transformations_followup", + "object": "response", + "created_at": 1758621960, + "status": "completed", + "background": false, + "error": null, + "incomplete_details": null, + "instructions": null, + "max_output_tokens": null, + "max_tool_calls": null, + "model": "o1-mini", + "output": [ + { + "id": "rs_transformations_followup_reasoning", + "type": "reasoning", + "summary": [] + }, + { + "id": "msg_transformations_followup_output", + "type": "message", + "status": "completed", + "content": [ + { + "type": "output_text", + "annotations": [], + "logprobs": [], + "text": "I don't have context about what specific transformation you're working on." + } + ], + "role": "assistant" + } + ], + "parallel_tool_calls": true, + "previous_response_id": null, + "prompt_cache_key": null, + "reasoning": { + "effort": "medium", + "summary": null + }, + "safety_identifier": null, + "service_tier": "default", + "store": true, + "temperature": 1, + "text": { + "format": { + "type": "text" + }, + "verbosity": "low" + }, + "tool_choice": "auto", + "tools": [], + "top_logprobs": 0, + "top_p": 1, + "truncation": "disabled", + "usage": { + "input_tokens": 58, + "input_tokens_details": { + "cached_tokens": 0 + }, + "output_tokens": 38, + "output_tokens_details": { + "reasoning_tokens": 6 + }, + "total_tokens": 96 + }, + "user": null, + "metadata": {} + } + } +] + diff --git a/payloads/snapshots/transformations/responses/followup-response.json b/payloads/snapshots/transformations/responses/followup-response.json new file mode 100644 index 00000000..0a51ddf7 --- /dev/null +++ b/payloads/snapshots/transformations/responses/followup-response.json @@ -0,0 +1,74 @@ +{ + "id": "resp_transformations_followup", + "object": "response", + "created_at": 1758621960, + "status": "completed", + "background": false, + "billing": { + "payer": "developer" + }, + "error": null, + "incomplete_details": null, + "instructions": null, + "max_output_tokens": null, + "max_tool_calls": null, + "model": "o1-mini", + "output": [ + { + "id": "rs_transformations_followup_reasoning", + "type": "reasoning", + "summary": [] + }, + { + "id": "msg_transformations_followup_output", + "type": "message", + "status": "completed", + "content": [ + { + "type": "output_text", + "annotations": [], + "logprobs": [], + "text": "I don't have context about what specific transformation you're working on. Could you provide more details about the data or format you need to transform?" + } + ], + "role": "assistant" + } + ], + "parallel_tool_calls": true, + "previous_response_id": null, + "prompt_cache_key": null, + "reasoning": { + "effort": "medium", + "summary": null + }, + "safety_identifier": null, + "service_tier": "default", + "store": true, + "temperature": 1, + "text": { + "format": { + "type": "text" + }, + "verbosity": "low" + }, + "tool_choice": "auto", + "tools": [], + "top_logprobs": 0, + "top_p": 1, + "truncation": "disabled", + "usage": { + "input_tokens": 58, + "input_tokens_details": { + "cached_tokens": 0 + }, + "output_tokens": 38, + "output_tokens_details": { + "reasoning_tokens": 6 + }, + "total_tokens": 96 + }, + "user": null, + "metadata": {}, + "output_text": "I don't have context about what specific transformation you're working on. Could you provide more details about the data or format you need to transform?" +} + diff --git a/payloads/snapshots/transformations/responses/request.json b/payloads/snapshots/transformations/responses/request.json new file mode 100644 index 00000000..7e17994c --- /dev/null +++ b/payloads/snapshots/transformations/responses/request.json @@ -0,0 +1,17 @@ +{ + "model": "o1-mini", + "reasoning": { + "effort": "medium" + }, + "text": { + "verbosity": "low" + }, + "input": [ + { + "role": "user", + "content": "Please confirm you received the transformation instructions." + } + ] +} + + diff --git a/payloads/snapshots/transformations/responses/response-streaming.json b/payloads/snapshots/transformations/responses/response-streaming.json new file mode 100644 index 00000000..1927d20a --- /dev/null +++ b/payloads/snapshots/transformations/responses/response-streaming.json @@ -0,0 +1,258 @@ +[ + { + "type": "response.created", + "sequence_number": 0, + "response": { + "id": "resp_transformations_first_turn", + "object": "response", + "created_at": 1758621958, + "status": "in_progress", + "background": false, + "error": null, + "incomplete_details": null, + "instructions": null, + "max_output_tokens": null, + "max_tool_calls": null, + "model": "o1-mini", + "output": [], + "parallel_tool_calls": true, + "previous_response_id": null, + "prompt_cache_key": null, + "reasoning": { + "effort": "medium", + "summary": null + }, + "safety_identifier": null, + "service_tier": "default", + "store": true, + "temperature": 1, + "text": { + "format": { + "type": "text" + }, + "verbosity": "low" + }, + "tool_choice": "auto", + "tools": [], + "top_logprobs": 0, + "top_p": 1, + "truncation": "disabled", + "usage": null, + "user": null, + "metadata": {} + } + }, + { + "type": "response.in_progress", + "sequence_number": 1, + "response": { + "id": "resp_transformations_first_turn", + "object": "response", + "created_at": 1758621958, + "status": "in_progress", + "background": false, + "error": null, + "incomplete_details": null, + "instructions": null, + "max_output_tokens": null, + "max_tool_calls": null, + "model": "o1-mini", + "output": [], + "parallel_tool_calls": true, + "previous_response_id": null, + "prompt_cache_key": null, + "reasoning": { + "effort": "medium", + "summary": null + }, + "safety_identifier": null, + "service_tier": "default", + "store": true, + "temperature": 1, + "text": { + "format": { + "type": "text" + }, + "verbosity": "low" + }, + "tool_choice": "auto", + "tools": [], + "top_logprobs": 0, + "top_p": 1, + "truncation": "disabled", + "usage": null, + "user": null, + "metadata": {} + } + }, + { + "type": "response.output_item.added", + "sequence_number": 2, + "output_index": 0, + "item": { + "id": "rs_transformations_reasoning", + "type": "reasoning", + "summary": [] + } + }, + { + "type": "response.output_item.done", + "sequence_number": 3, + "output_index": 0, + "item": { + "id": "rs_transformations_reasoning", + "type": "reasoning", + "summary": [] + } + }, + { + "type": "response.output_item.added", + "sequence_number": 4, + "output_index": 1, + "item": { + "id": "msg_transformations_output", + "type": "message", + "status": "in_progress", + "content": [], + "role": "assistant" + } + }, + { + "type": "response.content_part.added", + "sequence_number": 5, + "item_id": "msg_transformations_output", + "output_index": 1, + "content_index": 0, + "part": { + "type": "output_text", + "annotations": [], + "logprobs": [], + "text": "" + } + }, + { + "type": "response.output_text.delta", + "sequence_number": 6, + "item_id": "msg_transformations_output", + "output_index": 1, + "content_index": 0, + "delta": "Acknowledged.", + "logprobs": [] + }, + { + "type": "response.output_text.done", + "sequence_number": 7, + "item_id": "msg_transformations_output", + "output_index": 1, + "content_index": 0, + "text": "Acknowledged.", + "logprobs": [] + }, + { + "type": "response.content_part.done", + "sequence_number": 8, + "item_id": "msg_transformations_output", + "output_index": 1, + "content_index": 0, + "part": { + "type": "output_text", + "annotations": [], + "logprobs": [], + "text": "Acknowledged." + } + }, + { + "type": "response.output_item.done", + "sequence_number": 9, + "output_index": 1, + "item": { + "id": "msg_transformations_output", + "type": "message", + "status": "completed", + "content": [ + { + "type": "output_text", + "annotations": [], + "logprobs": [], + "text": "Acknowledged." + } + ], + "role": "assistant" + } + }, + { + "type": "response.completed", + "sequence_number": 10, + "response": { + "id": "resp_transformations_first_turn", + "object": "response", + "created_at": 1758621958, + "status": "completed", + "background": false, + "error": null, + "incomplete_details": null, + "instructions": null, + "max_output_tokens": null, + "max_tool_calls": null, + "model": "o1-mini", + "output": [ + { + "id": "rs_transformations_reasoning", + "type": "reasoning", + "summary": [] + }, + { + "id": "msg_transformations_output", + "type": "message", + "status": "completed", + "content": [ + { + "type": "output_text", + "annotations": [], + "logprobs": [], + "text": "Acknowledged." + } + ], + "role": "assistant" + } + ], + "parallel_tool_calls": true, + "previous_response_id": null, + "prompt_cache_key": null, + "reasoning": { + "effort": "medium", + "summary": null + }, + "safety_identifier": null, + "service_tier": "default", + "store": true, + "temperature": 1, + "text": { + "format": { + "type": "text" + }, + "verbosity": "low" + }, + "tool_choice": "auto", + "tools": [], + "top_logprobs": 0, + "top_p": 1, + "truncation": "disabled", + "usage": { + "input_tokens": 32, + "input_tokens_details": { + "cached_tokens": 0 + }, + "output_tokens": 18, + "output_tokens_details": { + "reasoning_tokens": 6 + }, + "total_tokens": 50 + }, + "user": null, + "metadata": {} + } + } +] + + diff --git a/payloads/snapshots/transformations/responses/response.json b/payloads/snapshots/transformations/responses/response.json new file mode 100644 index 00000000..14eec84f --- /dev/null +++ b/payloads/snapshots/transformations/responses/response.json @@ -0,0 +1,75 @@ +{ + "id": "resp_transformations_first_turn", + "object": "response", + "created_at": 1758621958, + "status": "completed", + "background": false, + "billing": { + "payer": "developer" + }, + "error": null, + "incomplete_details": null, + "instructions": null, + "max_output_tokens": null, + "max_tool_calls": null, + "model": "o1-mini", + "output": [ + { + "id": "rs_transformations_reasoning", + "type": "reasoning", + "summary": [] + }, + { + "id": "msg_transformations_output", + "type": "message", + "status": "completed", + "content": [ + { + "type": "output_text", + "annotations": [], + "logprobs": [], + "text": "Acknowledged. Ready to apply the requested transformations." + } + ], + "role": "assistant" + } + ], + "parallel_tool_calls": true, + "previous_response_id": null, + "prompt_cache_key": null, + "reasoning": { + "effort": "medium", + "summary": null + }, + "safety_identifier": null, + "service_tier": "default", + "store": true, + "temperature": 1, + "text": { + "format": { + "type": "text" + }, + "verbosity": "low" + }, + "tool_choice": "auto", + "tools": [], + "top_logprobs": 0, + "top_p": 1, + "truncation": "disabled", + "usage": { + "input_tokens": 32, + "input_tokens_details": { + "cached_tokens": 0 + }, + "output_tokens": 18, + "output_tokens_details": { + "reasoning_tokens": 6 + }, + "total_tokens": 50 + }, + "user": null, + "metadata": {}, + "output_text": "Acknowledged. Ready to apply the requested transformations." +} + + diff --git a/payloads/snapshots/transformations/responses_api_routing/expected.json b/payloads/snapshots/transformations/responses_api_routing/expected.json new file mode 100644 index 00000000..9a73daf6 --- /dev/null +++ b/payloads/snapshots/transformations/responses_api_routing/expected.json @@ -0,0 +1,11 @@ +{ + "model": "o1-pro", + "max_completion_tokens": 1024, + "messages": [ + { + "role": "user", + "content": "Solve this complex problem" + } + ] +} + diff --git a/payloads/snapshots/transformations/responses_api_routing/request.json b/payloads/snapshots/transformations/responses_api_routing/request.json new file mode 100644 index 00000000..29890133 --- /dev/null +++ b/payloads/snapshots/transformations/responses_api_routing/request.json @@ -0,0 +1,12 @@ +{ + "model": "o1-pro", + "max_tokens": 1024, + "temperature": 0.5, + "messages": [ + { + "role": "user", + "content": "Solve this complex problem" + } + ] +} + diff --git a/payloads/snapshots/transformations/structured_output/expected.json b/payloads/snapshots/transformations/structured_output/expected.json new file mode 100644 index 00000000..e0ada207 --- /dev/null +++ b/payloads/snapshots/transformations/structured_output/expected.json @@ -0,0 +1,37 @@ +{ + "model": "mistral-small-latest", + "messages": [ + { + "role": "user", + "content": "generate structured output" + } + ], + "tools": [ + { + "type": "function", + "function": { + "name": "json", + "description": "Output the result in JSON format", + "parameters": { + "type": "object", + "properties": { + "answer": { + "type": "string" + } + }, + "required": [ + "answer" + ] + }, + "strict": true + } + } + ], + "tool_choice": { + "type": "function", + "function": { + "name": "json" + } + } +} + diff --git a/payloads/snapshots/transformations/structured_output/request.json b/payloads/snapshots/transformations/structured_output/request.json new file mode 100644 index 00000000..6c55dd18 --- /dev/null +++ b/payloads/snapshots/transformations/structured_output/request.json @@ -0,0 +1,28 @@ +{ + "model": "mistral-small-latest", + "messages": [ + { + "role": "user", + "content": "generate structured output" + } + ], + "response_format": { + "type": "json_schema", + "json_schema": { + "name": "result", + "schema": { + "type": "object", + "properties": { + "answer": { + "type": "string" + } + }, + "required": [ + "answer" + ] + }, + "strict": true + } + } +} + diff --git a/payloads/snapshots/transformations/structured_output_native/expected.json b/payloads/snapshots/transformations/structured_output_native/expected.json new file mode 100644 index 00000000..fe946681 --- /dev/null +++ b/payloads/snapshots/transformations/structured_output_native/expected.json @@ -0,0 +1,25 @@ +{ + "model": "gpt-4o", + "messages": [ + { + "role": "user", + "content": "Extract the name and age from: John is 25 years old" + } + ], + "response_format": { + "type": "json_schema", + "json_schema": { + "name": "person", + "schema": { + "type": "object", + "properties": { + "name": { "type": "string" }, + "age": { "type": "integer" } + }, + "required": ["name", "age"] + }, + "strict": true + } + } +} + diff --git a/payloads/snapshots/transformations/structured_output_native/request.json b/payloads/snapshots/transformations/structured_output_native/request.json new file mode 100644 index 00000000..fe946681 --- /dev/null +++ b/payloads/snapshots/transformations/structured_output_native/request.json @@ -0,0 +1,25 @@ +{ + "model": "gpt-4o", + "messages": [ + { + "role": "user", + "content": "Extract the name and age from: John is 25 years old" + } + ], + "response_format": { + "type": "json_schema", + "json_schema": { + "name": "person", + "schema": { + "type": "object", + "properties": { + "name": { "type": "string" }, + "age": { "type": "integer" } + }, + "required": ["name", "age"] + }, + "strict": true + } + } +} + diff --git a/payloads/snapshots/transformations/vertex_model_normalization/expected.json b/payloads/snapshots/transformations/vertex_model_normalization/expected.json new file mode 100644 index 00000000..96da982f --- /dev/null +++ b/payloads/snapshots/transformations/vertex_model_normalization/expected.json @@ -0,0 +1,10 @@ +{ + "model": "gemini-1.5-pro", + "messages": [ + { + "role": "user", + "content": "Hello" + } + ] +} + diff --git a/payloads/snapshots/transformations/vertex_model_normalization/request.json b/payloads/snapshots/transformations/vertex_model_normalization/request.json new file mode 100644 index 00000000..d74108d7 --- /dev/null +++ b/payloads/snapshots/transformations/vertex_model_normalization/request.json @@ -0,0 +1,10 @@ +{ + "model": "publishers/google/models/gemini-1.5-pro", + "messages": [ + { + "role": "user", + "content": "Hello" + } + ] +} + diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 98820401..d832586b 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -25,7 +25,7 @@ importers: version: 10.0.0 openai: specifier: ^5.22.0 - version: 5.23.2 + version: 5.23.2(ws@8.18.3) tsup: specifier: ^8.5.0 version: 8.5.1(@swc/core@1.15.7)(postcss@8.5.6)(tsx@4.20.6)(typescript@5.9.3) @@ -49,10 +49,10 @@ importers: version: 0.63.1 '@braintrust/lingua': specifier: file:../../bindings/typescript - version: file:bindings/typescript(@anthropic-ai/sdk@0.63.1)(openai@5.23.2) + version: file:bindings/typescript(@anthropic-ai/sdk@0.63.1)(openai@5.23.2(ws@8.18.3)) openai: specifier: ^5.22.0 - version: 5.23.2 + version: 5.23.2(ws@8.18.3) devDependencies: '@types/node': specifier: ^22.9.0 @@ -72,9 +72,15 @@ importers: '@anthropic-ai/sdk': specifier: ^0.63.0 version: 0.63.1 + '@aws-sdk/client-bedrock-runtime': + specifier: ^3.700.0 + version: 3.958.0 + '@google/genai': + specifier: ^1.34.0 + version: 1.34.0 openai: specifier: ^5.22.0 - version: 5.23.2 + version: 5.23.2(ws@8.18.3) devDependencies: '@types/node': specifier: ^22.9.0 @@ -112,6 +118,143 @@ packages: zod: optional: true + '@aws-crypto/crc32@5.2.0': + resolution: {integrity: sha512-nLbCWqQNgUiwwtFsen1AdzAtvuLRsQS8rYgMuxCrdKf9kOssamGLuPwyTY9wyYblNr9+1XM8v6zoDTPPSIeANg==} + engines: {node: '>=16.0.0'} + + '@aws-crypto/sha256-browser@5.2.0': + resolution: {integrity: sha512-AXfN/lGotSQwu6HNcEsIASo7kWXZ5HYWvfOmSNKDsEqC4OashTp8alTmaz+F7TC2L083SFv5RdB+qU3Vs1kZqw==} + + '@aws-crypto/sha256-js@5.2.0': + resolution: {integrity: sha512-FFQQyu7edu4ufvIZ+OadFpHHOt+eSTBaYaki44c+akjg7qZg9oOQeLlk77F6tSYqjDAFClrHJk9tMf0HdVyOvA==} + engines: {node: '>=16.0.0'} + + '@aws-crypto/supports-web-crypto@5.2.0': + resolution: {integrity: sha512-iAvUotm021kM33eCdNfwIN//F77/IADDSs58i+MDaOqFrVjZo9bAal0NK7HurRuWLLpF1iLX7gbWrjHjeo+YFg==} + + '@aws-crypto/util@5.2.0': + resolution: {integrity: sha512-4RkU9EsI6ZpBve5fseQlGNUWKMa1RLPQ1dnjnQoe07ldfIzcsGb5hC5W0Dm7u423KWzawlrpbjXBrXCEv9zazQ==} + + '@aws-sdk/client-bedrock-runtime@3.958.0': + resolution: {integrity: sha512-GmcgfGsBvZ+ZJv/AS62MugfMnIO3sA6cbW1gfAWgyaGrQH0mo5Tb1S437sm0uBFHgKWRZPrc1DovXKD45B0mEw==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/client-sso@3.958.0': + resolution: {integrity: sha512-6qNCIeaMzKzfqasy2nNRuYnMuaMebCcCPP4J2CVGkA8QYMbIVKPlkn9bpB20Vxe6H/r3jtCCLQaOJjVTx/6dXg==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/core@3.957.0': + resolution: {integrity: sha512-DrZgDnF1lQZv75a52nFWs6MExihJF2GZB6ETZRqr6jMwhrk2kbJPUtvgbifwcL7AYmVqHQDJBrR/MqkwwFCpiw==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/credential-provider-env@3.957.0': + resolution: {integrity: sha512-475mkhGaWCr+Z52fOOVb/q2VHuNvqEDixlYIkeaO6xJ6t9qR0wpLt4hOQaR6zR1wfZV0SlE7d8RErdYq/PByog==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/credential-provider-http@3.957.0': + resolution: {integrity: sha512-8dS55QHRxXgJlHkEYaCGZIhieCs9NU1HU1BcqQ4RfUdSsfRdxxktqUKgCnBnOOn0oD3PPA8cQOCAVgIyRb3Rfw==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/credential-provider-ini@3.958.0': + resolution: {integrity: sha512-u7twvZa1/6GWmPBZs6DbjlegCoNzNjBsMS/6fvh5quByYrcJr/uLd8YEr7S3UIq4kR/gSnHqcae7y2nL2bqZdg==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/credential-provider-login@3.958.0': + resolution: {integrity: sha512-sDwtDnBSszUIbzbOORGh5gmXGl9aK25+BHb4gb1aVlqB+nNL2+IUEJA62+CE55lXSH8qXF90paivjK8tOHTwPA==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/credential-provider-node@3.958.0': + resolution: {integrity: sha512-vdoZbNG2dt66I7EpN3fKCzi6fp9xjIiwEA/vVVgqO4wXCGw8rKPIdDUus4e13VvTr330uQs2W0UNg/7AgtquEQ==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/credential-provider-process@3.957.0': + resolution: {integrity: sha512-/KIz9kadwbeLy6SKvT79W81Y+hb/8LMDyeloA2zhouE28hmne+hLn0wNCQXAAupFFlYOAtZR2NTBs7HBAReJlg==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/credential-provider-sso@3.958.0': + resolution: {integrity: sha512-CBYHJ5ufp8HC4q+o7IJejCUctJXWaksgpmoFpXerbjAso7/Fg7LLUu9inXVOxlHKLlvYekDXjIUBXDJS2WYdgg==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/credential-provider-web-identity@3.958.0': + resolution: {integrity: sha512-dgnvwjMq5Y66WozzUzxNkCFap+umHUtqMMKlr8z/vl9NYMLem/WUbWNpFFOVFWquXikc+ewtpBMR4KEDXfZ+KA==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/eventstream-handler-node@3.957.0': + resolution: {integrity: sha512-X3e/PBEl66efNCRR840IU2HM4oLMaP/Krc1w7vEqgKKhIbyiLRJ43NSrxNEYadQ19P/U0U7JHMCC9HbwhIMTeg==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/middleware-eventstream@3.957.0': + resolution: {integrity: sha512-zFAx12yGEJcf35cnlv4zepqxZA0Z3orrhQdN7mjzvbHQGqDX+7gAnKEyTEsYdCD5ICZHuHxvhEnfE+pVIx0e7A==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/middleware-host-header@3.957.0': + resolution: {integrity: sha512-BBgKawVyfQZglEkNTuBBdC3azlyqNXsvvN4jPkWAiNYcY0x1BasaJFl+7u/HisfULstryweJq/dAvIZIxzlZaA==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/middleware-logger@3.957.0': + resolution: {integrity: sha512-w1qfKrSKHf9b5a8O76yQ1t69u6NWuBjr5kBX+jRWFx/5mu6RLpqERXRpVJxfosbep7k3B+DSB5tZMZ82GKcJtQ==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/middleware-recursion-detection@3.957.0': + resolution: {integrity: sha512-D2H/WoxhAZNYX+IjkKTdOhOkWQaK0jjJrDBj56hKjU5c9ltQiaX/1PqJ4dfjHntEshJfu0w+E6XJ+/6A6ILBBA==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/middleware-user-agent@3.957.0': + resolution: {integrity: sha512-50vcHu96XakQnIvlKJ1UoltrFODjsq2KvtTgHiPFteUS884lQnK5VC/8xd1Msz/1ONpLMzdCVproCQqhDTtMPQ==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/middleware-websocket@3.957.0': + resolution: {integrity: sha512-/VyCEDTS56V2UZ+nNUDhZ9fuMgrKkO+9Od47umpgn9Mq7BZ7Cw9emJkvMSNNZAbtMeDaHN4lUYmmF8XhYgJOPQ==} + engines: {node: '>= 14.0.0'} + + '@aws-sdk/nested-clients@3.958.0': + resolution: {integrity: sha512-/KuCcS8b5TpQXkYOrPLYytrgxBhv81+5pChkOlhegbeHttjM69pyUpQVJqyfDM/A7wPLnDrzCAnk4zaAOkY0Nw==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/region-config-resolver@3.957.0': + resolution: {integrity: sha512-V8iY3blh8l2iaOqXWW88HbkY5jDoWjH56jonprG/cpyqqCnprvpMUZWPWYJoI8rHRf2bqzZeql1slxG6EnKI7A==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/token-providers@3.958.0': + resolution: {integrity: sha512-UCj7lQXODduD1myNJQkV+LYcGYJ9iiMggR8ow8Hva1g3A/Na5imNXzz6O67k7DAee0TYpy+gkNw+SizC6min8Q==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/types@3.957.0': + resolution: {integrity: sha512-wzWC2Nrt859ABk6UCAVY/WYEbAd7FjkdrQL6m24+tfmWYDNRByTJ9uOgU/kw9zqLCAwb//CPvrJdhqjTznWXAg==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/util-endpoints@3.957.0': + resolution: {integrity: sha512-xwF9K24mZSxcxKS3UKQFeX/dPYkEps9wF1b+MGON7EvnbcucrJGyQyK1v1xFPn1aqXkBTFi+SZaMRx5E5YCVFw==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/util-format-url@3.957.0': + resolution: {integrity: sha512-Yyo/tlc0iGFGTPPkuxub1uRAv6XrnVnvSNjslZh5jIYA8GZoeEFPgJa3Qdu0GUS/YwoK8GOLnnaL9h/eH5LDJQ==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/util-locate-window@3.957.0': + resolution: {integrity: sha512-nhmgKHnNV9K+i9daumaIz8JTLsIIML9PE/HUks5liyrjUzenjW/aHoc7WJ9/Td/gPZtayxFnXQSJRb/fDlBuJw==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/util-user-agent-browser@3.957.0': + resolution: {integrity: sha512-exueuwxef0lUJRnGaVkNSC674eAiWU07ORhxBnevFFZEKisln+09Qrtw823iyv5I1N8T+wKfh95xvtWQrNKNQw==} + + '@aws-sdk/util-user-agent-node@3.957.0': + resolution: {integrity: sha512-ycbYCwqXk4gJGp0Oxkzf2KBeeGBdTxz559D41NJP8FlzSej1Gh7Rk40Zo6AyTfsNWkrl/kVi1t937OIzC5t+9Q==} + engines: {node: '>=18.0.0'} + peerDependencies: + aws-crt: '>=1.0.0' + peerDependenciesMeta: + aws-crt: + optional: true + + '@aws-sdk/xml-builder@3.957.0': + resolution: {integrity: sha512-Ai5iiQqS8kJ5PjzMhWcLKN0G2yasAkvpnPlq2EnqlIMdB48HsizElt62qcktdxp4neRMyGkFq4NzgmDbXnhRiA==} + engines: {node: '>=18.0.0'} + + '@aws/lambda-invoke-store@0.2.2': + resolution: {integrity: sha512-C0NBLsIqzDIae8HFw9YIrIBsbc0xTiOtt7fAukGPnqQ/+zZNaq+4jhuccltK0QuWHBnNm/a6kLIRA6GFiM10eg==} + engines: {node: '>=18.0.0'} + '@babel/runtime@7.28.4': resolution: {integrity: sha512-Q/N6JNWvIvPnLDvjlE1OUBLPQHH6l3CltCEsHIujp45zQUSSh8K+gHnaEX45yAT1nyngnINhvWtzN+Nb9D8RAQ==} engines: {node: '>=6.9.0'} @@ -590,6 +733,15 @@ packages: resolution: {integrity: sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + '@google/genai@1.34.0': + resolution: {integrity: sha512-vu53UMPvjmb7PGzlYu6Tzxso8Dfhn+a7eQFaS2uNemVtDZKwzSpJ5+ikqBbXplF7RGB1STcVDqCkPvquiwb2sw==} + engines: {node: '>=20.0.0'} + peerDependencies: + '@modelcontextprotocol/sdk': ^1.24.0 + peerDependenciesMeta: + '@modelcontextprotocol/sdk': + optional: true + '@humanwhocodes/config-array@0.13.0': resolution: {integrity: sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==} engines: {node: '>=10.10.0'} @@ -603,6 +755,10 @@ packages: resolution: {integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==} deprecated: Use @eslint/object-schema instead + '@isaacs/cliui@8.0.2': + resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} + engines: {node: '>=12'} + '@jest/schemas@29.6.3': resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -632,6 +788,10 @@ packages: resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} engines: {node: '>= 8'} + '@pkgjs/parseargs@0.11.0': + resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} + engines: {node: '>=14'} + '@rollup/plugin-virtual@3.0.2': resolution: {integrity: sha512-10monEYsBp3scM4/ND4LNH5Rxvh3e/cVeL3jWTgZ2SrQ+BmUoQcopVQvnaMcOnykb1VkxUFuDAN+0FnpTFRy2A==} engines: {node: '>=14.0.0'} @@ -754,6 +914,198 @@ packages: '@sinclair/typebox@0.27.8': resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} + '@smithy/abort-controller@4.2.7': + resolution: {integrity: sha512-rzMY6CaKx2qxrbYbqjXWS0plqEy7LOdKHS0bg4ixJ6aoGDPNUcLWk/FRNuCILh7GKLG9TFUXYYeQQldMBBwuyw==} + engines: {node: '>=18.0.0'} + + '@smithy/config-resolver@4.4.5': + resolution: {integrity: sha512-HAGoUAFYsUkoSckuKbCPayECeMim8pOu+yLy1zOxt1sifzEbrsRpYa+mKcMdiHKMeiqOibyPG0sFJnmaV/OGEg==} + engines: {node: '>=18.0.0'} + + '@smithy/core@3.20.0': + resolution: {integrity: sha512-WsSHCPq/neD5G/MkK4csLI5Y5Pkd9c1NMfpYEKeghSGaD4Ja1qLIohRQf2D5c1Uy5aXp76DeKHkzWZ9KAlHroQ==} + engines: {node: '>=18.0.0'} + + '@smithy/credential-provider-imds@4.2.7': + resolution: {integrity: sha512-CmduWdCiILCRNbQWFR0OcZlUPVtyE49Sr8yYL0rZQ4D/wKxiNzBNS/YHemvnbkIWj623fplgkexUd/c9CAKdoA==} + engines: {node: '>=18.0.0'} + + '@smithy/eventstream-codec@4.2.7': + resolution: {integrity: sha512-DrpkEoM3j9cBBWhufqBwnbbn+3nf1N9FP6xuVJ+e220jbactKuQgaZwjwP5CP1t+O94brm2JgVMD2atMGX3xIQ==} + engines: {node: '>=18.0.0'} + + '@smithy/eventstream-serde-browser@4.2.7': + resolution: {integrity: sha512-ujzPk8seYoDBmABDE5YqlhQZAXLOrtxtJLrbhHMKjBoG5b4dK4i6/mEU+6/7yXIAkqOO8sJ6YxZl+h0QQ1IJ7g==} + engines: {node: '>=18.0.0'} + + '@smithy/eventstream-serde-config-resolver@4.3.7': + resolution: {integrity: sha512-x7BtAiIPSaNaWuzm24Q/mtSkv+BrISO/fmheiJ39PKRNH3RmH2Hph/bUKSOBOBC9unqfIYDhKTHwpyZycLGPVQ==} + engines: {node: '>=18.0.0'} + + '@smithy/eventstream-serde-node@4.2.7': + resolution: {integrity: sha512-roySCtHC5+pQq5lK4be1fZ/WR6s/AxnPaLfCODIPArtN2du8s5Ot4mKVK3pPtijL/L654ws592JHJ1PbZFF6+A==} + engines: {node: '>=18.0.0'} + + '@smithy/eventstream-serde-universal@4.2.7': + resolution: {integrity: sha512-QVD+g3+icFkThoy4r8wVFZMsIP08taHVKjE6Jpmz8h5CgX/kk6pTODq5cht0OMtcapUx+xrPzUTQdA+TmO0m1g==} + engines: {node: '>=18.0.0'} + + '@smithy/fetch-http-handler@5.3.8': + resolution: {integrity: sha512-h/Fi+o7mti4n8wx1SR6UHWLaakwHRx29sizvp8OOm7iqwKGFneT06GCSFhml6Bha5BT6ot5pj3CYZnCHhGC2Rg==} + engines: {node: '>=18.0.0'} + + '@smithy/hash-node@4.2.7': + resolution: {integrity: sha512-PU/JWLTBCV1c8FtB8tEFnY4eV1tSfBc7bDBADHfn1K+uRbPgSJ9jnJp0hyjiFN2PMdPzxsf1Fdu0eo9fJ760Xw==} + engines: {node: '>=18.0.0'} + + '@smithy/invalid-dependency@4.2.7': + resolution: {integrity: sha512-ncvgCr9a15nPlkhIUx3CU4d7E7WEuVJOV7fS7nnK2hLtPK9tYRBkMHQbhXU1VvvKeBm/O0x26OEoBq+ngFpOEQ==} + engines: {node: '>=18.0.0'} + + '@smithy/is-array-buffer@2.2.0': + resolution: {integrity: sha512-GGP3O9QFD24uGeAXYUjwSTXARoqpZykHadOmA8G5vfJPK0/DC67qa//0qvqrJzL1xc8WQWX7/yc7fwudjPHPhA==} + engines: {node: '>=14.0.0'} + + '@smithy/is-array-buffer@4.2.0': + resolution: {integrity: sha512-DZZZBvC7sjcYh4MazJSGiWMI2L7E0oCiRHREDzIxi/M2LY79/21iXt6aPLHge82wi5LsuRF5A06Ds3+0mlh6CQ==} + engines: {node: '>=18.0.0'} + + '@smithy/middleware-content-length@4.2.7': + resolution: {integrity: sha512-GszfBfCcvt7kIbJ41LuNa5f0wvQCHhnGx/aDaZJCCT05Ld6x6U2s0xsc/0mBFONBZjQJp2U/0uSJ178OXOwbhg==} + engines: {node: '>=18.0.0'} + + '@smithy/middleware-endpoint@4.4.1': + resolution: {integrity: sha512-gpLspUAoe6f1M6H0u4cVuFzxZBrsGZmjx2O9SigurTx4PbntYa4AJ+o0G0oGm1L2oSX6oBhcGHwrfJHup2JnJg==} + engines: {node: '>=18.0.0'} + + '@smithy/middleware-retry@4.4.17': + resolution: {integrity: sha512-MqbXK6Y9uq17h+4r0ogu/sBT6V/rdV+5NvYL7ZV444BKfQygYe8wAhDrVXagVebN6w2RE0Fm245l69mOsPGZzg==} + engines: {node: '>=18.0.0'} + + '@smithy/middleware-serde@4.2.8': + resolution: {integrity: sha512-8rDGYen5m5+NV9eHv9ry0sqm2gI6W7mc1VSFMtn6Igo25S507/HaOX9LTHAS2/J32VXD0xSzrY0H5FJtOMS4/w==} + engines: {node: '>=18.0.0'} + + '@smithy/middleware-stack@4.2.7': + resolution: {integrity: sha512-bsOT0rJ+HHlZd9crHoS37mt8qRRN/h9jRve1SXUhVbkRzu0QaNYZp1i1jha4n098tsvROjcwfLlfvcFuJSXEsw==} + engines: {node: '>=18.0.0'} + + '@smithy/node-config-provider@4.3.7': + resolution: {integrity: sha512-7r58wq8sdOcrwWe+klL9y3bc4GW1gnlfnFOuL7CXa7UzfhzhxKuzNdtqgzmTV+53lEp9NXh5hY/S4UgjLOzPfw==} + engines: {node: '>=18.0.0'} + + '@smithy/node-http-handler@4.4.7': + resolution: {integrity: sha512-NELpdmBOO6EpZtWgQiHjoShs1kmweaiNuETUpuup+cmm/xJYjT4eUjfhrXRP4jCOaAsS3c3yPsP3B+K+/fyPCQ==} + engines: {node: '>=18.0.0'} + + '@smithy/property-provider@4.2.7': + resolution: {integrity: sha512-jmNYKe9MGGPoSl/D7JDDs1C8b3dC8f/w78LbaVfoTtWy4xAd5dfjaFG9c9PWPihY4ggMQNQSMtzU77CNgAJwmA==} + engines: {node: '>=18.0.0'} + + '@smithy/protocol-http@5.3.7': + resolution: {integrity: sha512-1r07pb994I20dD/c2seaZhoCuNYm0rWrvBxhCQ70brNh11M5Ml2ew6qJVo0lclB3jMIXirD4s2XRXRe7QEi0xA==} + engines: {node: '>=18.0.0'} + + '@smithy/querystring-builder@4.2.7': + resolution: {integrity: sha512-eKONSywHZxK4tBxe2lXEysh8wbBdvDWiA+RIuaxZSgCMmA0zMgoDpGLJhnyj+c0leOQprVnXOmcB4m+W9Rw7sg==} + engines: {node: '>=18.0.0'} + + '@smithy/querystring-parser@4.2.7': + resolution: {integrity: sha512-3X5ZvzUHmlSTHAXFlswrS6EGt8fMSIxX/c3Rm1Pni3+wYWB6cjGocmRIoqcQF9nU5OgGmL0u7l9m44tSUpfj9w==} + engines: {node: '>=18.0.0'} + + '@smithy/service-error-classification@4.2.7': + resolution: {integrity: sha512-YB7oCbukqEb2Dlh3340/8g8vNGbs/QsNNRms+gv3N2AtZz9/1vSBx6/6tpwQpZMEJFs7Uq8h4mmOn48ZZ72MkA==} + engines: {node: '>=18.0.0'} + + '@smithy/shared-ini-file-loader@4.4.2': + resolution: {integrity: sha512-M7iUUff/KwfNunmrgtqBfvZSzh3bmFgv/j/t1Y1dQ+8dNo34br1cqVEqy6v0mYEgi0DkGO7Xig0AnuOaEGVlcg==} + engines: {node: '>=18.0.0'} + + '@smithy/signature-v4@5.3.7': + resolution: {integrity: sha512-9oNUlqBlFZFOSdxgImA6X5GFuzE7V2H7VG/7E70cdLhidFbdtvxxt81EHgykGK5vq5D3FafH//X+Oy31j3CKOg==} + engines: {node: '>=18.0.0'} + + '@smithy/smithy-client@4.10.2': + resolution: {integrity: sha512-D5z79xQWpgrGpAHb054Fn2CCTQZpog7JELbVQ6XAvXs5MNKWf28U9gzSBlJkOyMl9LA1TZEjRtwvGXfP0Sl90g==} + engines: {node: '>=18.0.0'} + + '@smithy/types@4.11.0': + resolution: {integrity: sha512-mlrmL0DRDVe3mNrjTcVcZEgkFmufITfUAPBEA+AHYiIeYyJebso/He1qLbP3PssRe22KUzLRpQSdBPbXdgZ2VA==} + engines: {node: '>=18.0.0'} + + '@smithy/url-parser@4.2.7': + resolution: {integrity: sha512-/RLtVsRV4uY3qPWhBDsjwahAtt3x2IsMGnP5W1b2VZIe+qgCqkLxI1UOHDZp1Q1QSOrdOR32MF3Ph2JfWT1VHg==} + engines: {node: '>=18.0.0'} + + '@smithy/util-base64@4.3.0': + resolution: {integrity: sha512-GkXZ59JfyxsIwNTWFnjmFEI8kZpRNIBfxKjv09+nkAWPt/4aGaEWMM04m4sxgNVWkbt2MdSvE3KF/PfX4nFedQ==} + engines: {node: '>=18.0.0'} + + '@smithy/util-body-length-browser@4.2.0': + resolution: {integrity: sha512-Fkoh/I76szMKJnBXWPdFkQJl2r9SjPt3cMzLdOB6eJ4Pnpas8hVoWPYemX/peO0yrrvldgCUVJqOAjUrOLjbxg==} + engines: {node: '>=18.0.0'} + + '@smithy/util-body-length-node@4.2.1': + resolution: {integrity: sha512-h53dz/pISVrVrfxV1iqXlx5pRg3V2YWFcSQyPyXZRrZoZj4R4DeWRDo1a7dd3CPTcFi3kE+98tuNyD2axyZReA==} + engines: {node: '>=18.0.0'} + + '@smithy/util-buffer-from@2.2.0': + resolution: {integrity: sha512-IJdWBbTcMQ6DA0gdNhh/BwrLkDR+ADW5Kr1aZmd4k3DIF6ezMV4R2NIAmT08wQJ3yUK82thHWmC/TnK/wpMMIA==} + engines: {node: '>=14.0.0'} + + '@smithy/util-buffer-from@4.2.0': + resolution: {integrity: sha512-kAY9hTKulTNevM2nlRtxAG2FQ3B2OR6QIrPY3zE5LqJy1oxzmgBGsHLWTcNhWXKchgA0WHW+mZkQrng/pgcCew==} + engines: {node: '>=18.0.0'} + + '@smithy/util-config-provider@4.2.0': + resolution: {integrity: sha512-YEjpl6XJ36FTKmD+kRJJWYvrHeUvm5ykaUS5xK+6oXffQPHeEM4/nXlZPe+Wu0lsgRUcNZiliYNh/y7q9c2y6Q==} + engines: {node: '>=18.0.0'} + + '@smithy/util-defaults-mode-browser@4.3.16': + resolution: {integrity: sha512-/eiSP3mzY3TsvUOYMeL4EqUX6fgUOj2eUOU4rMMgVbq67TiRLyxT7Xsjxq0bW3OwuzK009qOwF0L2OgJqperAQ==} + engines: {node: '>=18.0.0'} + + '@smithy/util-defaults-mode-node@4.2.19': + resolution: {integrity: sha512-3a4+4mhf6VycEJyHIQLypRbiwG6aJvbQAeRAVXydMmfweEPnLLabRbdyo/Pjw8Rew9vjsh5WCdhmDaHkQnhhhA==} + engines: {node: '>=18.0.0'} + + '@smithy/util-endpoints@3.2.7': + resolution: {integrity: sha512-s4ILhyAvVqhMDYREeTS68R43B1V5aenV5q/V1QpRQJkCXib5BPRo4s7uNdzGtIKxaPHCfU/8YkvPAEvTpxgspg==} + engines: {node: '>=18.0.0'} + + '@smithy/util-hex-encoding@4.2.0': + resolution: {integrity: sha512-CCQBwJIvXMLKxVbO88IukazJD9a4kQ9ZN7/UMGBjBcJYvatpWk+9g870El4cB8/EJxfe+k+y0GmR9CAzkF+Nbw==} + engines: {node: '>=18.0.0'} + + '@smithy/util-middleware@4.2.7': + resolution: {integrity: sha512-i1IkpbOae6NvIKsEeLLM9/2q4X+M90KV3oCFgWQI4q0Qz+yUZvsr+gZPdAEAtFhWQhAHpTsJO8DRJPuwVyln+w==} + engines: {node: '>=18.0.0'} + + '@smithy/util-retry@4.2.7': + resolution: {integrity: sha512-SvDdsQyF5CIASa4EYVT02LukPHVzAgUA4kMAuZ97QJc2BpAqZfA4PINB8/KOoCXEw9tsuv/jQjMeaHFvxdLNGg==} + engines: {node: '>=18.0.0'} + + '@smithy/util-stream@4.5.8': + resolution: {integrity: sha512-ZnnBhTapjM0YPGUSmOs0Mcg/Gg87k503qG4zU2v/+Js2Gu+daKOJMeqcQns8ajepY8tgzzfYxl6kQyZKml6O2w==} + engines: {node: '>=18.0.0'} + + '@smithy/util-uri-escape@4.2.0': + resolution: {integrity: sha512-igZpCKV9+E/Mzrpq6YacdTQ0qTiLm85gD6N/IrmyDvQFA4UnU3d5g3m8tMT/6zG/vVkWSU+VxeUyGonL62DuxA==} + engines: {node: '>=18.0.0'} + + '@smithy/util-utf8@2.3.0': + resolution: {integrity: sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A==} + engines: {node: '>=14.0.0'} + + '@smithy/util-utf8@4.2.0': + resolution: {integrity: sha512-zBPfuzoI8xyBtR2P6WQj63Rz8i3AmfAaJLuNG8dWsfvPe8lO4aCPYLn879mEgHndZH1zQ2oXmG8O1GGzzaoZiw==} + engines: {node: '>=18.0.0'} + + '@smithy/uuid@1.1.0': + resolution: {integrity: sha512-4aUIteuyxtBUhVdiQqcDhKFitwfd9hqoSDYY2KRXiWtgoWJ9Bmise+KfEPDiVHWeJepvF8xJO9/9+WDIciMFFw==} + engines: {node: '>=18.0.0'} + '@swc/core-darwin-arm64@1.15.7': resolution: {integrity: sha512-+hNVUfezUid7LeSHqnhoC6Gh3BROABxjlDNInuZ/fie1RUxaEX4qzDwdTgozJELgHhvYxyPIg1ro8ibnKtgO4g==} engines: {node: '>=10'} @@ -929,6 +1281,10 @@ packages: engines: {node: '>=0.4.0'} hasBin: true + agent-base@7.1.4: + resolution: {integrity: sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==} + engines: {node: '>= 14'} + ajv@6.12.6: resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} @@ -936,6 +1292,10 @@ packages: resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} engines: {node: '>=8'} + ansi-regex@6.2.2: + resolution: {integrity: sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==} + engines: {node: '>=12'} + ansi-styles@4.3.0: resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} engines: {node: '>=8'} @@ -944,6 +1304,10 @@ packages: resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} engines: {node: '>=10'} + ansi-styles@6.2.3: + resolution: {integrity: sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==} + engines: {node: '>=12'} + any-promise@1.3.0: resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} @@ -956,12 +1320,24 @@ packages: balanced-match@1.0.2: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + base64-js@1.5.1: + resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} + + bignumber.js@9.3.1: + resolution: {integrity: sha512-Ko0uX15oIUS7wJ3Rb30Fs6SkVbLmPBAKdlm7q9+ak9bbIeFf0MwuBsQV6z7+X768/cHsfg+WlysDWJcmthjsjQ==} + + bowser@2.13.1: + resolution: {integrity: sha512-OHawaAbjwx6rqICCKgSG0SAnT05bzd7ppyKLVUITZpANBaaMFBAsaNkto3LoQ31tyFP5kNujE8Cdx85G9VzOkw==} + brace-expansion@1.1.12: resolution: {integrity: sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==} brace-expansion@2.0.2: resolution: {integrity: sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==} + buffer-equal-constant-time@1.0.1: + resolution: {integrity: sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==} + bundle-require@5.1.0: resolution: {integrity: sha512-3WrrOuZiyaaZPWiEt4G3+IffISVC9HYlWueJEBWED4ZH4aIAC2PnkdnuRrR94M+w6yGWn4AglWtJtBI8YqvgoA==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -1016,6 +1392,10 @@ packages: resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} engines: {node: '>= 8'} + data-uri-to-buffer@4.0.1: + resolution: {integrity: sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==} + engines: {node: '>= 12'} + debug@4.4.3: resolution: {integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==} engines: {node: '>=6.0'} @@ -1056,6 +1436,18 @@ packages: resolution: {integrity: sha512-JVUnt+DUIzu87TABbhPmNfVdBDt18BLOWjMUFJMSi/Qqg7NTYtabbvSNJGOJ7afbRuv9D/lngizHtP7QyLQ+9w==} engines: {node: '>=12'} + eastasianwidth@0.2.0: + resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} + + ecdsa-sig-formatter@1.0.11: + resolution: {integrity: sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==} + + emoji-regex@8.0.0: + resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} + + emoji-regex@9.2.2: + resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} + esbuild@0.21.5: resolution: {integrity: sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==} engines: {node: '>=12'} @@ -1126,6 +1518,9 @@ packages: resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==} engines: {node: '>=16.17'} + extend@3.0.2: + resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} + fast-deep-equal@3.1.3: resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} @@ -1135,6 +1530,10 @@ packages: fast-levenshtein@2.0.6: resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} + fast-xml-parser@5.2.5: + resolution: {integrity: sha512-pfX9uG9Ki0yekDHx2SiuRIyFdyAr1kMIMitPvb0YBo8SUfKvia7w7FIyd/l6av85pFYRhZscS75MwMnbvY+hcQ==} + hasBin: true + fastq@1.19.1: resolution: {integrity: sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==} @@ -1147,6 +1546,10 @@ packages: picomatch: optional: true + fetch-blob@3.2.0: + resolution: {integrity: sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==} + engines: {node: ^12.20 || >= 14.13} + file-entry-cache@6.0.1: resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} engines: {node: ^10.12.0 || >=12.0.0} @@ -1165,6 +1568,14 @@ packages: flatted@3.3.3: resolution: {integrity: sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==} + foreground-child@3.3.1: + resolution: {integrity: sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==} + engines: {node: '>=14'} + + formdata-polyfill@4.0.10: + resolution: {integrity: sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==} + engines: {node: '>=12.20.0'} + fs.realpath@1.0.0: resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} @@ -1173,6 +1584,14 @@ packages: engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} os: [darwin] + gaxios@7.1.3: + resolution: {integrity: sha512-YGGyuEdVIjqxkxVH1pUTMY/XtmmsApXrCVv5EU25iX6inEPbV+VakJfLealkBtJN69AQmh1eGOdCl9Sm1UP6XQ==} + engines: {node: '>=18'} + + gcp-metadata@8.1.2: + resolution: {integrity: sha512-zV/5HKTfCeKWnxG0Dmrw51hEWFGfcF2xiXqcA3+J90WDuP0SvoiSO5ORvcBsifmx/FoIjgQN3oNOGaQ5PhLFkg==} + engines: {node: '>=18'} + get-func-name@2.0.2: resolution: {integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==} @@ -1187,6 +1606,10 @@ packages: resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} engines: {node: '>=10.13.0'} + glob@10.5.0: + resolution: {integrity: sha512-DfXN8DfhJ7NH3Oe7cFmu3NCu1wKbkReJ8TorzSAFbSKrlNaQSKfIzqYqVY8zlbs2NLBbWpRiU52GX2PbaBVNkg==} + hasBin: true + glob@7.2.3: resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} deprecated: Glob versions prior to v9 are no longer supported @@ -1195,13 +1618,29 @@ packages: resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} engines: {node: '>=8'} + google-auth-library@10.5.0: + resolution: {integrity: sha512-7ABviyMOlX5hIVD60YOfHw4/CxOfBhyduaYB+wbFWCWoni4N7SLcV46hrVRktuBbZjFC9ONyqamZITN7q3n32w==} + engines: {node: '>=18'} + + google-logging-utils@1.1.3: + resolution: {integrity: sha512-eAmLkjDjAFCVXg7A1unxHsLf961m6y17QFqXqAXGj/gVkKFrEICfStRfwUlGNfeCEjNRa32JEWOUTlYXPyyKvA==} + engines: {node: '>=14'} + graphemer@1.4.0: resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} + gtoken@8.0.0: + resolution: {integrity: sha512-+CqsMbHPiSTdtSO14O51eMNlrp9N79gmeqmXeouJOhfucAedHw9noVe/n5uJk3tbKE6a+6ZCQg3RPhVhHByAIw==} + engines: {node: '>=18'} + has-flag@4.0.0: resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} engines: {node: '>=8'} + https-proxy-agent@7.0.6: + resolution: {integrity: sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==} + engines: {node: '>= 14'} + human-signals@5.0.0: resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==} engines: {node: '>=16.17.0'} @@ -1233,6 +1672,10 @@ packages: resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} engines: {node: '>=0.10.0'} + is-fullwidth-code-point@3.0.0: + resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} + engines: {node: '>=8'} + is-glob@4.0.3: resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} engines: {node: '>=0.10.0'} @@ -1248,6 +1691,9 @@ packages: isexe@2.0.0: resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + jackspeak@3.4.3: + resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==} + joycon@3.1.1: resolution: {integrity: sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==} engines: {node: '>=10'} @@ -1259,6 +1705,9 @@ packages: resolution: {integrity: sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==} hasBin: true + json-bigint@1.0.0: + resolution: {integrity: sha512-SiPv/8VpZuWbvLSMtTDU8hEfrZWg/mH/nV/b4o0CYbSxu1UIQPLdwKOCIyLQX+VIPO5vrLX3i8qtqFyhdPSUSQ==} + json-buffer@3.0.1: resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} @@ -1272,6 +1721,12 @@ packages: json-stable-stringify-without-jsonify@1.0.1: resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} + jwa@2.0.1: + resolution: {integrity: sha512-hRF04fqJIP8Abbkq5NKGN0Bbr3JxlQ+qhZufXVr0DvujKy93ZCbXZMHDL4EOtodSbCWxOqR8MS1tXA5hwqCXDg==} + + jws@4.0.1: + resolution: {integrity: sha512-EKI/M/yqPncGUUh44xz0PxSidXFr/+r0pA70+gIYhjv+et7yxM+s29Y+VGDkovRofQem0fs7Uvf4+YmAdyRduA==} + keyv@4.5.4: resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} @@ -1304,6 +1759,9 @@ packages: loupe@2.3.7: resolution: {integrity: sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==} + lru-cache@10.4.3: + resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} + magic-string@0.30.21: resolution: {integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==} @@ -1324,6 +1782,10 @@ packages: minimist@1.2.8: resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} + minipass@7.1.2: + resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} + engines: {node: '>=16 || 14 >=14.17'} + mlly@1.8.0: resolution: {integrity: sha512-l8D9ODSRWLe2KHJSifWGwBqpTZXIXTeo8mlKjY+E2HAakaTeNpqAyBZ8GSqLzHgw4XmHmC8whvpjJNMbFZN7/g==} @@ -1341,6 +1803,15 @@ packages: natural-compare@1.4.0: resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} + node-domexception@1.0.0: + resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==} + engines: {node: '>=10.5.0'} + deprecated: Use your platform's native DOMException instead + + node-fetch@3.3.2: + resolution: {integrity: sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + npm-run-path@5.3.0: resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -1384,6 +1855,9 @@ packages: resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} engines: {node: '>=10'} + package-json-from-dist@1.0.1: + resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==} + parent-module@1.0.1: resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} engines: {node: '>=6'} @@ -1404,6 +1878,10 @@ packages: resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} engines: {node: '>=12'} + path-scurry@1.11.1: + resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} + engines: {node: '>=16 || 14 >=14.18'} + pathe@1.1.2: resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==} @@ -1496,6 +1974,10 @@ packages: deprecated: Rimraf versions prior to v4 are no longer supported hasBin: true + rimraf@5.0.10: + resolution: {integrity: sha512-l0OE8wL34P4nJH/H2ffoaniAokM2qSmrtXHmlpvYr5AVVX8msAyW0l8NVJFDxlSK4u3Uh/f41cQheDVdnYijwQ==} + hasBin: true + rollup@4.53.3: resolution: {integrity: sha512-w8GmOxZfBmKknvdXU1sdM9NHcoQejwF/4mNgj2JuEEdRaHwwF12K7e9eXn1nLZ07ad+du76mkVsyeb2rKGllsA==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} @@ -1504,6 +1986,9 @@ packages: run-parallel@1.2.0: resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + safe-buffer@5.2.1: + resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} + semver@7.7.3: resolution: {integrity: sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==} engines: {node: '>=10'} @@ -1538,10 +2023,22 @@ packages: std-env@3.10.0: resolution: {integrity: sha512-5GS12FdOZNliM5mAOxFRg7Ir0pWz8MdpYm6AY6VPkGpbA7ZzmbzNcBJQ0GPvvyWgcY7QAhCgf9Uy89I03faLkg==} + string-width@4.2.3: + resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} + engines: {node: '>=8'} + + string-width@5.1.2: + resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} + engines: {node: '>=12'} + strip-ansi@6.0.1: resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} engines: {node: '>=8'} + strip-ansi@7.1.2: + resolution: {integrity: sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==} + engines: {node: '>=12'} + strip-final-newline@3.0.0: resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} engines: {node: '>=12'} @@ -1553,6 +2050,9 @@ packages: strip-literal@2.1.1: resolution: {integrity: sha512-631UJ6O00eNGfMiWG78ck80dfBab8X6IVFB51jZK5Icd7XAs60Z5y7QdSd/wGIklnWvRbUNloVzhOKKmutxQ6Q==} + strnum@2.1.2: + resolution: {integrity: sha512-l63NF9y/cLROq/yqKXSLtcMeeyOfnSQlfMSlzFt/K73oIaD8DGaQWd7Z34X9GPiKqP5rbSh84Hl4bOlLcjiSrQ==} + sucrase@3.35.1: resolution: {integrity: sha512-DhuTmvZWux4H1UOnWMB3sk0sbaCVOoQZjv8u1rDoTV0HTdGem9hkAZtl4JZy8P2z4Bg0nT+YMeOFyVr4zcG5Tw==} engines: {node: '>=16 || 14 >=14.17'} @@ -1606,6 +2106,9 @@ packages: ts-interface-checker@0.1.13: resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} + tslib@2.8.1: + resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} + tsup@8.5.1: resolution: {integrity: sha512-xtgkqwdhpKWr3tKPmCkvYmS9xnQK3m3XgxZHwSUjvfTjp7YfXe5tT3GgWi0F2N+ZSMsOeWeZFh7ZZFg5iPhing==} engines: {node: '>=18'} @@ -1731,6 +2234,10 @@ packages: jsdom: optional: true + web-streams-polyfill@3.3.3: + resolution: {integrity: sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==} + engines: {node: '>= 8'} + which@2.0.2: resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} engines: {node: '>= 8'} @@ -1745,9 +2252,29 @@ packages: resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} engines: {node: '>=0.10.0'} + wrap-ansi@7.0.0: + resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} + engines: {node: '>=10'} + + wrap-ansi@8.1.0: + resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} + engines: {node: '>=12'} + wrappy@1.0.2: resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} + ws@8.18.3: + resolution: {integrity: sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==} + engines: {node: '>=10.0.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: '>=5.0.2' + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + yocto-queue@0.1.0: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} engines: {node: '>=10'} @@ -1762,13 +2289,428 @@ snapshots: dependencies: json-schema-to-ts: 3.1.1 + '@aws-crypto/crc32@5.2.0': + dependencies: + '@aws-crypto/util': 5.2.0 + '@aws-sdk/types': 3.957.0 + tslib: 2.8.1 + + '@aws-crypto/sha256-browser@5.2.0': + dependencies: + '@aws-crypto/sha256-js': 5.2.0 + '@aws-crypto/supports-web-crypto': 5.2.0 + '@aws-crypto/util': 5.2.0 + '@aws-sdk/types': 3.957.0 + '@aws-sdk/util-locate-window': 3.957.0 + '@smithy/util-utf8': 2.3.0 + tslib: 2.8.1 + + '@aws-crypto/sha256-js@5.2.0': + dependencies: + '@aws-crypto/util': 5.2.0 + '@aws-sdk/types': 3.957.0 + tslib: 2.8.1 + + '@aws-crypto/supports-web-crypto@5.2.0': + dependencies: + tslib: 2.8.1 + + '@aws-crypto/util@5.2.0': + dependencies: + '@aws-sdk/types': 3.957.0 + '@smithy/util-utf8': 2.3.0 + tslib: 2.8.1 + + '@aws-sdk/client-bedrock-runtime@3.958.0': + dependencies: + '@aws-crypto/sha256-browser': 5.2.0 + '@aws-crypto/sha256-js': 5.2.0 + '@aws-sdk/core': 3.957.0 + '@aws-sdk/credential-provider-node': 3.958.0 + '@aws-sdk/eventstream-handler-node': 3.957.0 + '@aws-sdk/middleware-eventstream': 3.957.0 + '@aws-sdk/middleware-host-header': 3.957.0 + '@aws-sdk/middleware-logger': 3.957.0 + '@aws-sdk/middleware-recursion-detection': 3.957.0 + '@aws-sdk/middleware-user-agent': 3.957.0 + '@aws-sdk/middleware-websocket': 3.957.0 + '@aws-sdk/region-config-resolver': 3.957.0 + '@aws-sdk/token-providers': 3.958.0 + '@aws-sdk/types': 3.957.0 + '@aws-sdk/util-endpoints': 3.957.0 + '@aws-sdk/util-user-agent-browser': 3.957.0 + '@aws-sdk/util-user-agent-node': 3.957.0 + '@smithy/config-resolver': 4.4.5 + '@smithy/core': 3.20.0 + '@smithy/eventstream-serde-browser': 4.2.7 + '@smithy/eventstream-serde-config-resolver': 4.3.7 + '@smithy/eventstream-serde-node': 4.2.7 + '@smithy/fetch-http-handler': 5.3.8 + '@smithy/hash-node': 4.2.7 + '@smithy/invalid-dependency': 4.2.7 + '@smithy/middleware-content-length': 4.2.7 + '@smithy/middleware-endpoint': 4.4.1 + '@smithy/middleware-retry': 4.4.17 + '@smithy/middleware-serde': 4.2.8 + '@smithy/middleware-stack': 4.2.7 + '@smithy/node-config-provider': 4.3.7 + '@smithy/node-http-handler': 4.4.7 + '@smithy/protocol-http': 5.3.7 + '@smithy/smithy-client': 4.10.2 + '@smithy/types': 4.11.0 + '@smithy/url-parser': 4.2.7 + '@smithy/util-base64': 4.3.0 + '@smithy/util-body-length-browser': 4.2.0 + '@smithy/util-body-length-node': 4.2.1 + '@smithy/util-defaults-mode-browser': 4.3.16 + '@smithy/util-defaults-mode-node': 4.2.19 + '@smithy/util-endpoints': 3.2.7 + '@smithy/util-middleware': 4.2.7 + '@smithy/util-retry': 4.2.7 + '@smithy/util-stream': 4.5.8 + '@smithy/util-utf8': 4.2.0 + tslib: 2.8.1 + transitivePeerDependencies: + - aws-crt + + '@aws-sdk/client-sso@3.958.0': + dependencies: + '@aws-crypto/sha256-browser': 5.2.0 + '@aws-crypto/sha256-js': 5.2.0 + '@aws-sdk/core': 3.957.0 + '@aws-sdk/middleware-host-header': 3.957.0 + '@aws-sdk/middleware-logger': 3.957.0 + '@aws-sdk/middleware-recursion-detection': 3.957.0 + '@aws-sdk/middleware-user-agent': 3.957.0 + '@aws-sdk/region-config-resolver': 3.957.0 + '@aws-sdk/types': 3.957.0 + '@aws-sdk/util-endpoints': 3.957.0 + '@aws-sdk/util-user-agent-browser': 3.957.0 + '@aws-sdk/util-user-agent-node': 3.957.0 + '@smithy/config-resolver': 4.4.5 + '@smithy/core': 3.20.0 + '@smithy/fetch-http-handler': 5.3.8 + '@smithy/hash-node': 4.2.7 + '@smithy/invalid-dependency': 4.2.7 + '@smithy/middleware-content-length': 4.2.7 + '@smithy/middleware-endpoint': 4.4.1 + '@smithy/middleware-retry': 4.4.17 + '@smithy/middleware-serde': 4.2.8 + '@smithy/middleware-stack': 4.2.7 + '@smithy/node-config-provider': 4.3.7 + '@smithy/node-http-handler': 4.4.7 + '@smithy/protocol-http': 5.3.7 + '@smithy/smithy-client': 4.10.2 + '@smithy/types': 4.11.0 + '@smithy/url-parser': 4.2.7 + '@smithy/util-base64': 4.3.0 + '@smithy/util-body-length-browser': 4.2.0 + '@smithy/util-body-length-node': 4.2.1 + '@smithy/util-defaults-mode-browser': 4.3.16 + '@smithy/util-defaults-mode-node': 4.2.19 + '@smithy/util-endpoints': 3.2.7 + '@smithy/util-middleware': 4.2.7 + '@smithy/util-retry': 4.2.7 + '@smithy/util-utf8': 4.2.0 + tslib: 2.8.1 + transitivePeerDependencies: + - aws-crt + + '@aws-sdk/core@3.957.0': + dependencies: + '@aws-sdk/types': 3.957.0 + '@aws-sdk/xml-builder': 3.957.0 + '@smithy/core': 3.20.0 + '@smithy/node-config-provider': 4.3.7 + '@smithy/property-provider': 4.2.7 + '@smithy/protocol-http': 5.3.7 + '@smithy/signature-v4': 5.3.7 + '@smithy/smithy-client': 4.10.2 + '@smithy/types': 4.11.0 + '@smithy/util-base64': 4.3.0 + '@smithy/util-middleware': 4.2.7 + '@smithy/util-utf8': 4.2.0 + tslib: 2.8.1 + + '@aws-sdk/credential-provider-env@3.957.0': + dependencies: + '@aws-sdk/core': 3.957.0 + '@aws-sdk/types': 3.957.0 + '@smithy/property-provider': 4.2.7 + '@smithy/types': 4.11.0 + tslib: 2.8.1 + + '@aws-sdk/credential-provider-http@3.957.0': + dependencies: + '@aws-sdk/core': 3.957.0 + '@aws-sdk/types': 3.957.0 + '@smithy/fetch-http-handler': 5.3.8 + '@smithy/node-http-handler': 4.4.7 + '@smithy/property-provider': 4.2.7 + '@smithy/protocol-http': 5.3.7 + '@smithy/smithy-client': 4.10.2 + '@smithy/types': 4.11.0 + '@smithy/util-stream': 4.5.8 + tslib: 2.8.1 + + '@aws-sdk/credential-provider-ini@3.958.0': + dependencies: + '@aws-sdk/core': 3.957.0 + '@aws-sdk/credential-provider-env': 3.957.0 + '@aws-sdk/credential-provider-http': 3.957.0 + '@aws-sdk/credential-provider-login': 3.958.0 + '@aws-sdk/credential-provider-process': 3.957.0 + '@aws-sdk/credential-provider-sso': 3.958.0 + '@aws-sdk/credential-provider-web-identity': 3.958.0 + '@aws-sdk/nested-clients': 3.958.0 + '@aws-sdk/types': 3.957.0 + '@smithy/credential-provider-imds': 4.2.7 + '@smithy/property-provider': 4.2.7 + '@smithy/shared-ini-file-loader': 4.4.2 + '@smithy/types': 4.11.0 + tslib: 2.8.1 + transitivePeerDependencies: + - aws-crt + + '@aws-sdk/credential-provider-login@3.958.0': + dependencies: + '@aws-sdk/core': 3.957.0 + '@aws-sdk/nested-clients': 3.958.0 + '@aws-sdk/types': 3.957.0 + '@smithy/property-provider': 4.2.7 + '@smithy/protocol-http': 5.3.7 + '@smithy/shared-ini-file-loader': 4.4.2 + '@smithy/types': 4.11.0 + tslib: 2.8.1 + transitivePeerDependencies: + - aws-crt + + '@aws-sdk/credential-provider-node@3.958.0': + dependencies: + '@aws-sdk/credential-provider-env': 3.957.0 + '@aws-sdk/credential-provider-http': 3.957.0 + '@aws-sdk/credential-provider-ini': 3.958.0 + '@aws-sdk/credential-provider-process': 3.957.0 + '@aws-sdk/credential-provider-sso': 3.958.0 + '@aws-sdk/credential-provider-web-identity': 3.958.0 + '@aws-sdk/types': 3.957.0 + '@smithy/credential-provider-imds': 4.2.7 + '@smithy/property-provider': 4.2.7 + '@smithy/shared-ini-file-loader': 4.4.2 + '@smithy/types': 4.11.0 + tslib: 2.8.1 + transitivePeerDependencies: + - aws-crt + + '@aws-sdk/credential-provider-process@3.957.0': + dependencies: + '@aws-sdk/core': 3.957.0 + '@aws-sdk/types': 3.957.0 + '@smithy/property-provider': 4.2.7 + '@smithy/shared-ini-file-loader': 4.4.2 + '@smithy/types': 4.11.0 + tslib: 2.8.1 + + '@aws-sdk/credential-provider-sso@3.958.0': + dependencies: + '@aws-sdk/client-sso': 3.958.0 + '@aws-sdk/core': 3.957.0 + '@aws-sdk/token-providers': 3.958.0 + '@aws-sdk/types': 3.957.0 + '@smithy/property-provider': 4.2.7 + '@smithy/shared-ini-file-loader': 4.4.2 + '@smithy/types': 4.11.0 + tslib: 2.8.1 + transitivePeerDependencies: + - aws-crt + + '@aws-sdk/credential-provider-web-identity@3.958.0': + dependencies: + '@aws-sdk/core': 3.957.0 + '@aws-sdk/nested-clients': 3.958.0 + '@aws-sdk/types': 3.957.0 + '@smithy/property-provider': 4.2.7 + '@smithy/shared-ini-file-loader': 4.4.2 + '@smithy/types': 4.11.0 + tslib: 2.8.1 + transitivePeerDependencies: + - aws-crt + + '@aws-sdk/eventstream-handler-node@3.957.0': + dependencies: + '@aws-sdk/types': 3.957.0 + '@smithy/eventstream-codec': 4.2.7 + '@smithy/types': 4.11.0 + tslib: 2.8.1 + + '@aws-sdk/middleware-eventstream@3.957.0': + dependencies: + '@aws-sdk/types': 3.957.0 + '@smithy/protocol-http': 5.3.7 + '@smithy/types': 4.11.0 + tslib: 2.8.1 + + '@aws-sdk/middleware-host-header@3.957.0': + dependencies: + '@aws-sdk/types': 3.957.0 + '@smithy/protocol-http': 5.3.7 + '@smithy/types': 4.11.0 + tslib: 2.8.1 + + '@aws-sdk/middleware-logger@3.957.0': + dependencies: + '@aws-sdk/types': 3.957.0 + '@smithy/types': 4.11.0 + tslib: 2.8.1 + + '@aws-sdk/middleware-recursion-detection@3.957.0': + dependencies: + '@aws-sdk/types': 3.957.0 + '@aws/lambda-invoke-store': 0.2.2 + '@smithy/protocol-http': 5.3.7 + '@smithy/types': 4.11.0 + tslib: 2.8.1 + + '@aws-sdk/middleware-user-agent@3.957.0': + dependencies: + '@aws-sdk/core': 3.957.0 + '@aws-sdk/types': 3.957.0 + '@aws-sdk/util-endpoints': 3.957.0 + '@smithy/core': 3.20.0 + '@smithy/protocol-http': 5.3.7 + '@smithy/types': 4.11.0 + tslib: 2.8.1 + + '@aws-sdk/middleware-websocket@3.957.0': + dependencies: + '@aws-sdk/types': 3.957.0 + '@aws-sdk/util-format-url': 3.957.0 + '@smithy/eventstream-codec': 4.2.7 + '@smithy/eventstream-serde-browser': 4.2.7 + '@smithy/fetch-http-handler': 5.3.8 + '@smithy/protocol-http': 5.3.7 + '@smithy/signature-v4': 5.3.7 + '@smithy/types': 4.11.0 + '@smithy/util-hex-encoding': 4.2.0 + tslib: 2.8.1 + + '@aws-sdk/nested-clients@3.958.0': + dependencies: + '@aws-crypto/sha256-browser': 5.2.0 + '@aws-crypto/sha256-js': 5.2.0 + '@aws-sdk/core': 3.957.0 + '@aws-sdk/middleware-host-header': 3.957.0 + '@aws-sdk/middleware-logger': 3.957.0 + '@aws-sdk/middleware-recursion-detection': 3.957.0 + '@aws-sdk/middleware-user-agent': 3.957.0 + '@aws-sdk/region-config-resolver': 3.957.0 + '@aws-sdk/types': 3.957.0 + '@aws-sdk/util-endpoints': 3.957.0 + '@aws-sdk/util-user-agent-browser': 3.957.0 + '@aws-sdk/util-user-agent-node': 3.957.0 + '@smithy/config-resolver': 4.4.5 + '@smithy/core': 3.20.0 + '@smithy/fetch-http-handler': 5.3.8 + '@smithy/hash-node': 4.2.7 + '@smithy/invalid-dependency': 4.2.7 + '@smithy/middleware-content-length': 4.2.7 + '@smithy/middleware-endpoint': 4.4.1 + '@smithy/middleware-retry': 4.4.17 + '@smithy/middleware-serde': 4.2.8 + '@smithy/middleware-stack': 4.2.7 + '@smithy/node-config-provider': 4.3.7 + '@smithy/node-http-handler': 4.4.7 + '@smithy/protocol-http': 5.3.7 + '@smithy/smithy-client': 4.10.2 + '@smithy/types': 4.11.0 + '@smithy/url-parser': 4.2.7 + '@smithy/util-base64': 4.3.0 + '@smithy/util-body-length-browser': 4.2.0 + '@smithy/util-body-length-node': 4.2.1 + '@smithy/util-defaults-mode-browser': 4.3.16 + '@smithy/util-defaults-mode-node': 4.2.19 + '@smithy/util-endpoints': 3.2.7 + '@smithy/util-middleware': 4.2.7 + '@smithy/util-retry': 4.2.7 + '@smithy/util-utf8': 4.2.0 + tslib: 2.8.1 + transitivePeerDependencies: + - aws-crt + + '@aws-sdk/region-config-resolver@3.957.0': + dependencies: + '@aws-sdk/types': 3.957.0 + '@smithy/config-resolver': 4.4.5 + '@smithy/node-config-provider': 4.3.7 + '@smithy/types': 4.11.0 + tslib: 2.8.1 + + '@aws-sdk/token-providers@3.958.0': + dependencies: + '@aws-sdk/core': 3.957.0 + '@aws-sdk/nested-clients': 3.958.0 + '@aws-sdk/types': 3.957.0 + '@smithy/property-provider': 4.2.7 + '@smithy/shared-ini-file-loader': 4.4.2 + '@smithy/types': 4.11.0 + tslib: 2.8.1 + transitivePeerDependencies: + - aws-crt + + '@aws-sdk/types@3.957.0': + dependencies: + '@smithy/types': 4.11.0 + tslib: 2.8.1 + + '@aws-sdk/util-endpoints@3.957.0': + dependencies: + '@aws-sdk/types': 3.957.0 + '@smithy/types': 4.11.0 + '@smithy/url-parser': 4.2.7 + '@smithy/util-endpoints': 3.2.7 + tslib: 2.8.1 + + '@aws-sdk/util-format-url@3.957.0': + dependencies: + '@aws-sdk/types': 3.957.0 + '@smithy/querystring-builder': 4.2.7 + '@smithy/types': 4.11.0 + tslib: 2.8.1 + + '@aws-sdk/util-locate-window@3.957.0': + dependencies: + tslib: 2.8.1 + + '@aws-sdk/util-user-agent-browser@3.957.0': + dependencies: + '@aws-sdk/types': 3.957.0 + '@smithy/types': 4.11.0 + bowser: 2.13.1 + tslib: 2.8.1 + + '@aws-sdk/util-user-agent-node@3.957.0': + dependencies: + '@aws-sdk/middleware-user-agent': 3.957.0 + '@aws-sdk/types': 3.957.0 + '@smithy/node-config-provider': 4.3.7 + '@smithy/types': 4.11.0 + tslib: 2.8.1 + + '@aws-sdk/xml-builder@3.957.0': + dependencies: + '@smithy/types': 4.11.0 + fast-xml-parser: 5.2.5 + tslib: 2.8.1 + + '@aws/lambda-invoke-store@0.2.2': {} + '@babel/runtime@7.28.4': {} - '@braintrust/lingua@file:bindings/typescript(@anthropic-ai/sdk@0.63.1)(openai@5.23.2)': + '@braintrust/lingua@file:bindings/typescript(@anthropic-ai/sdk@0.63.1)(openai@5.23.2(ws@8.18.3))': dependencies: '@anthropic-ai/sdk': 0.63.1 '@braintrust/lingua-wasm': link:bindings/lingua-wasm - openai: 5.23.2 + openai: 5.23.2(ws@8.18.3) '@esbuild/aix-ppc64@0.21.5': optional: true @@ -2018,6 +2960,15 @@ snapshots: '@eslint/js@8.57.1': {} + '@google/genai@1.34.0': + dependencies: + google-auth-library: 10.5.0 + ws: 8.18.3 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + '@humanwhocodes/config-array@0.13.0': dependencies: '@humanwhocodes/object-schema': 2.0.3 @@ -2030,6 +2981,15 @@ snapshots: '@humanwhocodes/object-schema@2.0.3': {} + '@isaacs/cliui@8.0.2': + dependencies: + string-width: 5.1.2 + string-width-cjs: string-width@4.2.3 + strip-ansi: 7.1.2 + strip-ansi-cjs: strip-ansi@6.0.1 + wrap-ansi: 8.1.0 + wrap-ansi-cjs: wrap-ansi@7.0.0 + '@jest/schemas@29.6.3': dependencies: '@sinclair/typebox': 0.27.8 @@ -2060,6 +3020,9 @@ snapshots: '@nodelib/fs.scandir': 2.1.5 fastq: 1.19.1 + '@pkgjs/parseargs@0.11.0': + optional: true + '@rollup/plugin-virtual@3.0.2(rollup@4.53.3)': optionalDependencies: rollup: 4.53.3 @@ -2132,6 +3095,310 @@ snapshots: '@sinclair/typebox@0.27.8': {} + '@smithy/abort-controller@4.2.7': + dependencies: + '@smithy/types': 4.11.0 + tslib: 2.8.1 + + '@smithy/config-resolver@4.4.5': + dependencies: + '@smithy/node-config-provider': 4.3.7 + '@smithy/types': 4.11.0 + '@smithy/util-config-provider': 4.2.0 + '@smithy/util-endpoints': 3.2.7 + '@smithy/util-middleware': 4.2.7 + tslib: 2.8.1 + + '@smithy/core@3.20.0': + dependencies: + '@smithy/middleware-serde': 4.2.8 + '@smithy/protocol-http': 5.3.7 + '@smithy/types': 4.11.0 + '@smithy/util-base64': 4.3.0 + '@smithy/util-body-length-browser': 4.2.0 + '@smithy/util-middleware': 4.2.7 + '@smithy/util-stream': 4.5.8 + '@smithy/util-utf8': 4.2.0 + '@smithy/uuid': 1.1.0 + tslib: 2.8.1 + + '@smithy/credential-provider-imds@4.2.7': + dependencies: + '@smithy/node-config-provider': 4.3.7 + '@smithy/property-provider': 4.2.7 + '@smithy/types': 4.11.0 + '@smithy/url-parser': 4.2.7 + tslib: 2.8.1 + + '@smithy/eventstream-codec@4.2.7': + dependencies: + '@aws-crypto/crc32': 5.2.0 + '@smithy/types': 4.11.0 + '@smithy/util-hex-encoding': 4.2.0 + tslib: 2.8.1 + + '@smithy/eventstream-serde-browser@4.2.7': + dependencies: + '@smithy/eventstream-serde-universal': 4.2.7 + '@smithy/types': 4.11.0 + tslib: 2.8.1 + + '@smithy/eventstream-serde-config-resolver@4.3.7': + dependencies: + '@smithy/types': 4.11.0 + tslib: 2.8.1 + + '@smithy/eventstream-serde-node@4.2.7': + dependencies: + '@smithy/eventstream-serde-universal': 4.2.7 + '@smithy/types': 4.11.0 + tslib: 2.8.1 + + '@smithy/eventstream-serde-universal@4.2.7': + dependencies: + '@smithy/eventstream-codec': 4.2.7 + '@smithy/types': 4.11.0 + tslib: 2.8.1 + + '@smithy/fetch-http-handler@5.3.8': + dependencies: + '@smithy/protocol-http': 5.3.7 + '@smithy/querystring-builder': 4.2.7 + '@smithy/types': 4.11.0 + '@smithy/util-base64': 4.3.0 + tslib: 2.8.1 + + '@smithy/hash-node@4.2.7': + dependencies: + '@smithy/types': 4.11.0 + '@smithy/util-buffer-from': 4.2.0 + '@smithy/util-utf8': 4.2.0 + tslib: 2.8.1 + + '@smithy/invalid-dependency@4.2.7': + dependencies: + '@smithy/types': 4.11.0 + tslib: 2.8.1 + + '@smithy/is-array-buffer@2.2.0': + dependencies: + tslib: 2.8.1 + + '@smithy/is-array-buffer@4.2.0': + dependencies: + tslib: 2.8.1 + + '@smithy/middleware-content-length@4.2.7': + dependencies: + '@smithy/protocol-http': 5.3.7 + '@smithy/types': 4.11.0 + tslib: 2.8.1 + + '@smithy/middleware-endpoint@4.4.1': + dependencies: + '@smithy/core': 3.20.0 + '@smithy/middleware-serde': 4.2.8 + '@smithy/node-config-provider': 4.3.7 + '@smithy/shared-ini-file-loader': 4.4.2 + '@smithy/types': 4.11.0 + '@smithy/url-parser': 4.2.7 + '@smithy/util-middleware': 4.2.7 + tslib: 2.8.1 + + '@smithy/middleware-retry@4.4.17': + dependencies: + '@smithy/node-config-provider': 4.3.7 + '@smithy/protocol-http': 5.3.7 + '@smithy/service-error-classification': 4.2.7 + '@smithy/smithy-client': 4.10.2 + '@smithy/types': 4.11.0 + '@smithy/util-middleware': 4.2.7 + '@smithy/util-retry': 4.2.7 + '@smithy/uuid': 1.1.0 + tslib: 2.8.1 + + '@smithy/middleware-serde@4.2.8': + dependencies: + '@smithy/protocol-http': 5.3.7 + '@smithy/types': 4.11.0 + tslib: 2.8.1 + + '@smithy/middleware-stack@4.2.7': + dependencies: + '@smithy/types': 4.11.0 + tslib: 2.8.1 + + '@smithy/node-config-provider@4.3.7': + dependencies: + '@smithy/property-provider': 4.2.7 + '@smithy/shared-ini-file-loader': 4.4.2 + '@smithy/types': 4.11.0 + tslib: 2.8.1 + + '@smithy/node-http-handler@4.4.7': + dependencies: + '@smithy/abort-controller': 4.2.7 + '@smithy/protocol-http': 5.3.7 + '@smithy/querystring-builder': 4.2.7 + '@smithy/types': 4.11.0 + tslib: 2.8.1 + + '@smithy/property-provider@4.2.7': + dependencies: + '@smithy/types': 4.11.0 + tslib: 2.8.1 + + '@smithy/protocol-http@5.3.7': + dependencies: + '@smithy/types': 4.11.0 + tslib: 2.8.1 + + '@smithy/querystring-builder@4.2.7': + dependencies: + '@smithy/types': 4.11.0 + '@smithy/util-uri-escape': 4.2.0 + tslib: 2.8.1 + + '@smithy/querystring-parser@4.2.7': + dependencies: + '@smithy/types': 4.11.0 + tslib: 2.8.1 + + '@smithy/service-error-classification@4.2.7': + dependencies: + '@smithy/types': 4.11.0 + + '@smithy/shared-ini-file-loader@4.4.2': + dependencies: + '@smithy/types': 4.11.0 + tslib: 2.8.1 + + '@smithy/signature-v4@5.3.7': + dependencies: + '@smithy/is-array-buffer': 4.2.0 + '@smithy/protocol-http': 5.3.7 + '@smithy/types': 4.11.0 + '@smithy/util-hex-encoding': 4.2.0 + '@smithy/util-middleware': 4.2.7 + '@smithy/util-uri-escape': 4.2.0 + '@smithy/util-utf8': 4.2.0 + tslib: 2.8.1 + + '@smithy/smithy-client@4.10.2': + dependencies: + '@smithy/core': 3.20.0 + '@smithy/middleware-endpoint': 4.4.1 + '@smithy/middleware-stack': 4.2.7 + '@smithy/protocol-http': 5.3.7 + '@smithy/types': 4.11.0 + '@smithy/util-stream': 4.5.8 + tslib: 2.8.1 + + '@smithy/types@4.11.0': + dependencies: + tslib: 2.8.1 + + '@smithy/url-parser@4.2.7': + dependencies: + '@smithy/querystring-parser': 4.2.7 + '@smithy/types': 4.11.0 + tslib: 2.8.1 + + '@smithy/util-base64@4.3.0': + dependencies: + '@smithy/util-buffer-from': 4.2.0 + '@smithy/util-utf8': 4.2.0 + tslib: 2.8.1 + + '@smithy/util-body-length-browser@4.2.0': + dependencies: + tslib: 2.8.1 + + '@smithy/util-body-length-node@4.2.1': + dependencies: + tslib: 2.8.1 + + '@smithy/util-buffer-from@2.2.0': + dependencies: + '@smithy/is-array-buffer': 2.2.0 + tslib: 2.8.1 + + '@smithy/util-buffer-from@4.2.0': + dependencies: + '@smithy/is-array-buffer': 4.2.0 + tslib: 2.8.1 + + '@smithy/util-config-provider@4.2.0': + dependencies: + tslib: 2.8.1 + + '@smithy/util-defaults-mode-browser@4.3.16': + dependencies: + '@smithy/property-provider': 4.2.7 + '@smithy/smithy-client': 4.10.2 + '@smithy/types': 4.11.0 + tslib: 2.8.1 + + '@smithy/util-defaults-mode-node@4.2.19': + dependencies: + '@smithy/config-resolver': 4.4.5 + '@smithy/credential-provider-imds': 4.2.7 + '@smithy/node-config-provider': 4.3.7 + '@smithy/property-provider': 4.2.7 + '@smithy/smithy-client': 4.10.2 + '@smithy/types': 4.11.0 + tslib: 2.8.1 + + '@smithy/util-endpoints@3.2.7': + dependencies: + '@smithy/node-config-provider': 4.3.7 + '@smithy/types': 4.11.0 + tslib: 2.8.1 + + '@smithy/util-hex-encoding@4.2.0': + dependencies: + tslib: 2.8.1 + + '@smithy/util-middleware@4.2.7': + dependencies: + '@smithy/types': 4.11.0 + tslib: 2.8.1 + + '@smithy/util-retry@4.2.7': + dependencies: + '@smithy/service-error-classification': 4.2.7 + '@smithy/types': 4.11.0 + tslib: 2.8.1 + + '@smithy/util-stream@4.5.8': + dependencies: + '@smithy/fetch-http-handler': 5.3.8 + '@smithy/node-http-handler': 4.4.7 + '@smithy/types': 4.11.0 + '@smithy/util-base64': 4.3.0 + '@smithy/util-buffer-from': 4.2.0 + '@smithy/util-hex-encoding': 4.2.0 + '@smithy/util-utf8': 4.2.0 + tslib: 2.8.1 + + '@smithy/util-uri-escape@4.2.0': + dependencies: + tslib: 2.8.1 + + '@smithy/util-utf8@2.3.0': + dependencies: + '@smithy/util-buffer-from': 2.2.0 + tslib: 2.8.1 + + '@smithy/util-utf8@4.2.0': + dependencies: + '@smithy/util-buffer-from': 4.2.0 + tslib: 2.8.1 + + '@smithy/uuid@1.1.0': + dependencies: + tslib: 2.8.1 + '@swc/core-darwin-arm64@1.15.7': optional: true @@ -2325,6 +3592,8 @@ snapshots: acorn@8.15.0: {} + agent-base@7.1.4: {} + ajv@6.12.6: dependencies: fast-deep-equal: 3.1.3 @@ -2334,12 +3603,16 @@ snapshots: ansi-regex@5.0.1: {} + ansi-regex@6.2.2: {} + ansi-styles@4.3.0: dependencies: color-convert: 2.0.1 ansi-styles@5.2.0: {} + ansi-styles@6.2.3: {} + any-promise@1.3.0: {} argparse@2.0.1: {} @@ -2348,6 +3621,12 @@ snapshots: balanced-match@1.0.2: {} + base64-js@1.5.1: {} + + bignumber.js@9.3.1: {} + + bowser@2.13.1: {} + brace-expansion@1.1.12: dependencies: balanced-match: 1.0.2 @@ -2357,6 +3636,8 @@ snapshots: dependencies: balanced-match: 1.0.2 + buffer-equal-constant-time@1.0.1: {} + bundle-require@5.1.0(esbuild@0.27.0): dependencies: esbuild: 0.27.0 @@ -2409,6 +3690,8 @@ snapshots: shebang-command: 2.0.0 which: 2.0.2 + data-uri-to-buffer@4.0.1: {} + debug@4.4.3: dependencies: ms: 2.1.3 @@ -2440,6 +3723,16 @@ snapshots: dotenv@17.2.3: {} + eastasianwidth@0.2.0: {} + + ecdsa-sig-formatter@1.0.11: + dependencies: + safe-buffer: 5.2.1 + + emoji-regex@8.0.0: {} + + emoji-regex@9.2.2: {} + esbuild@0.21.5: optionalDependencies: '@esbuild/aix-ppc64': 0.21.5 @@ -2616,12 +3909,18 @@ snapshots: signal-exit: 4.1.0 strip-final-newline: 3.0.0 + extend@3.0.2: {} + fast-deep-equal@3.1.3: {} fast-json-stable-stringify@2.1.0: {} fast-levenshtein@2.0.6: {} + fast-xml-parser@5.2.5: + dependencies: + strnum: 2.1.2 + fastq@1.19.1: dependencies: reusify: 1.1.0 @@ -2630,6 +3929,11 @@ snapshots: optionalDependencies: picomatch: 4.0.3 + fetch-blob@3.2.0: + dependencies: + node-domexception: 1.0.0 + web-streams-polyfill: 3.3.3 + file-entry-cache@6.0.1: dependencies: flat-cache: 3.2.0 @@ -2653,11 +3957,37 @@ snapshots: flatted@3.3.3: {} + foreground-child@3.3.1: + dependencies: + cross-spawn: 7.0.6 + signal-exit: 4.1.0 + + formdata-polyfill@4.0.10: + dependencies: + fetch-blob: 3.2.0 + fs.realpath@1.0.0: {} fsevents@2.3.3: optional: true + gaxios@7.1.3: + dependencies: + extend: 3.0.2 + https-proxy-agent: 7.0.6 + node-fetch: 3.3.2 + rimraf: 5.0.10 + transitivePeerDependencies: + - supports-color + + gcp-metadata@8.1.2: + dependencies: + gaxios: 7.1.3 + google-logging-utils: 1.1.3 + json-bigint: 1.0.0 + transitivePeerDependencies: + - supports-color + get-func-name@2.0.2: {} get-stream@8.0.1: {} @@ -2670,6 +4000,15 @@ snapshots: dependencies: is-glob: 4.0.3 + glob@10.5.0: + dependencies: + foreground-child: 3.3.1 + jackspeak: 3.4.3 + minimatch: 9.0.5 + minipass: 7.1.2 + package-json-from-dist: 1.0.1 + path-scurry: 1.11.1 + glob@7.2.3: dependencies: fs.realpath: 1.0.0 @@ -2683,10 +4022,38 @@ snapshots: dependencies: type-fest: 0.20.2 + google-auth-library@10.5.0: + dependencies: + base64-js: 1.5.1 + ecdsa-sig-formatter: 1.0.11 + gaxios: 7.1.3 + gcp-metadata: 8.1.2 + google-logging-utils: 1.1.3 + gtoken: 8.0.0 + jws: 4.0.1 + transitivePeerDependencies: + - supports-color + + google-logging-utils@1.1.3: {} + graphemer@1.4.0: {} + gtoken@8.0.0: + dependencies: + gaxios: 7.1.3 + jws: 4.0.1 + transitivePeerDependencies: + - supports-color + has-flag@4.0.0: {} + https-proxy-agent@7.0.6: + dependencies: + agent-base: 7.1.4 + debug: 4.4.3 + transitivePeerDependencies: + - supports-color + human-signals@5.0.0: {} ignore@5.3.2: {} @@ -2709,6 +4076,8 @@ snapshots: is-extglob@2.1.1: {} + is-fullwidth-code-point@3.0.0: {} + is-glob@4.0.3: dependencies: is-extglob: 2.1.1 @@ -2719,6 +4088,12 @@ snapshots: isexe@2.0.0: {} + jackspeak@3.4.3: + dependencies: + '@isaacs/cliui': 8.0.2 + optionalDependencies: + '@pkgjs/parseargs': 0.11.0 + joycon@3.1.1: {} js-tokens@9.0.1: {} @@ -2727,6 +4102,10 @@ snapshots: dependencies: argparse: 2.0.1 + json-bigint@1.0.0: + dependencies: + bignumber.js: 9.3.1 + json-buffer@3.0.1: {} json-schema-to-ts@3.1.1: @@ -2738,6 +4117,17 @@ snapshots: json-stable-stringify-without-jsonify@1.0.1: {} + jwa@2.0.1: + dependencies: + buffer-equal-constant-time: 1.0.1 + ecdsa-sig-formatter: 1.0.11 + safe-buffer: 5.2.1 + + jws@4.0.1: + dependencies: + jwa: 2.0.1 + safe-buffer: 5.2.1 + keyv@4.5.4: dependencies: json-buffer: 3.0.1 @@ -2768,6 +4158,8 @@ snapshots: dependencies: get-func-name: 2.0.2 + lru-cache@10.4.3: {} + magic-string@0.30.21: dependencies: '@jridgewell/sourcemap-codec': 1.5.5 @@ -2786,6 +4178,8 @@ snapshots: minimist@1.2.8: {} + minipass@7.1.2: {} + mlly@1.8.0: dependencies: acorn: 8.15.0 @@ -2805,6 +4199,14 @@ snapshots: natural-compare@1.4.0: {} + node-domexception@1.0.0: {} + + node-fetch@3.3.2: + dependencies: + data-uri-to-buffer: 4.0.1 + fetch-blob: 3.2.0 + formdata-polyfill: 4.0.10 + npm-run-path@5.3.0: dependencies: path-key: 4.0.0 @@ -2819,7 +4221,9 @@ snapshots: dependencies: mimic-fn: 4.0.0 - openai@5.23.2: {} + openai@5.23.2(ws@8.18.3): + optionalDependencies: + ws: 8.18.3 optionator@0.9.4: dependencies: @@ -2842,6 +4246,8 @@ snapshots: dependencies: p-limit: 3.1.0 + package-json-from-dist@1.0.1: {} + parent-module@1.0.1: dependencies: callsites: 3.1.0 @@ -2854,6 +4260,11 @@ snapshots: path-key@4.0.0: {} + path-scurry@1.11.1: + dependencies: + lru-cache: 10.4.3 + minipass: 7.1.2 + pathe@1.1.2: {} pathe@2.0.3: {} @@ -2915,6 +4326,10 @@ snapshots: dependencies: glob: 7.2.3 + rimraf@5.0.10: + dependencies: + glob: 10.5.0 + rollup@4.53.3: dependencies: '@types/estree': 1.0.8 @@ -2947,6 +4362,8 @@ snapshots: dependencies: queue-microtask: 1.2.3 + safe-buffer@5.2.1: {} + semver@7.7.3: {} shebang-command@2.0.0: @@ -2967,10 +4384,26 @@ snapshots: std-env@3.10.0: {} + string-width@4.2.3: + dependencies: + emoji-regex: 8.0.0 + is-fullwidth-code-point: 3.0.0 + strip-ansi: 6.0.1 + + string-width@5.1.2: + dependencies: + eastasianwidth: 0.2.0 + emoji-regex: 9.2.2 + strip-ansi: 7.1.2 + strip-ansi@6.0.1: dependencies: ansi-regex: 5.0.1 + strip-ansi@7.1.2: + dependencies: + ansi-regex: 6.2.2 + strip-final-newline@3.0.0: {} strip-json-comments@3.1.1: {} @@ -2979,6 +4412,8 @@ snapshots: dependencies: js-tokens: 9.0.1 + strnum@2.1.2: {} + sucrase@3.35.1: dependencies: '@jridgewell/gen-mapping': 0.3.13 @@ -3026,6 +4461,8 @@ snapshots: ts-interface-checker@0.1.13: {} + tslib@2.8.1: {} + tsup@8.5.1(@swc/core@1.15.7)(postcss@8.5.6)(tsx@4.20.6)(typescript@5.9.3): dependencies: bundle-require: 5.1.0(esbuild@0.27.0) @@ -3158,6 +4595,8 @@ snapshots: - supports-color - terser + web-streams-polyfill@3.3.3: {} + which@2.0.2: dependencies: isexe: 2.0.0 @@ -3169,8 +4608,22 @@ snapshots: word-wrap@1.2.5: {} + wrap-ansi@7.0.0: + dependencies: + ansi-styles: 4.3.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + + wrap-ansi@8.1.0: + dependencies: + ansi-styles: 6.2.3 + string-width: 5.1.2 + strip-ansi: 7.1.2 + wrappy@1.0.2: {} + ws@8.18.3: {} + yocto-queue@0.1.0: {} yocto-queue@1.2.2: {}