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: {}