From f539ad1ecd4c4755ff30fa01b33d88a1142a8f72 Mon Sep 17 00:00:00 2001 From: Manoj Date: Wed, 1 Oct 2025 11:45:35 +0530 Subject: [PATCH] Feat: AWS bedrock support (#78) * Feat: add support to AWS bedrock * Feat: add token counter Feat: high, low complexity model based on task * feat: add model complexity selection for batch processing tasks --- .env.example | 5 + apps/webapp/app/env.server.ts | 4 + apps/webapp/app/lib/batch/providers/openai.ts | 4 +- apps/webapp/app/lib/batch/types.ts | 2 + apps/webapp/app/lib/model.server.ts | 130 +- .../app/services/knowledgeGraph.server.ts | 110 +- apps/webapp/app/services/prompts/nodes.ts | 116 +- .../webapp/app/services/prompts/statements.ts | 323 +++- .../app/trigger/spaces/space-assignment.ts | 4 +- .../app/trigger/spaces/space-pattern.ts | 6 +- .../app/trigger/spaces/space-summary.ts | 3 +- apps/webapp/package.json | 12 +- pnpm-lock.yaml | 1441 ++++++++++++++--- turbo.json | 5 +- 14 files changed, 1844 insertions(+), 321 deletions(-) diff --git a/.env.example b/.env.example index 32edd4e..350d740 100644 --- a/.env.example +++ b/.env.example @@ -51,6 +51,11 @@ OLLAMA_URL=http://ollama:11434 EMBEDDING_MODEL=text-embedding-3-small MODEL=gpt-4.1-2025-04-14 +## AWS Bedrock ## +AWS_ACCESS_KEY_ID= +AWS_SECRET_ACCESS_KEY= +AWS_REGION=us-east-1 + ## Trigger ## TRIGGER_PROJECT_ID= TRIGGER_SECRET_KEY= diff --git a/apps/webapp/app/env.server.ts b/apps/webapp/app/env.server.ts index 28cc116..6aa373e 100644 --- a/apps/webapp/app/env.server.ts +++ b/apps/webapp/app/env.server.ts @@ -90,6 +90,10 @@ const EnvironmentSchema = z.object({ OLLAMA_URL: z.string().optional(), COHERE_API_KEY: z.string().optional(), COHERE_SCORE_THRESHOLD: z.string().default("0.3"), + + AWS_ACCESS_KEY_ID: z.string().optional(), + AWS_SECRET_ACCESS_KEY: z.string().optional(), + AWS_REGION: z.string().optional(), }); export type Environment = z.infer; diff --git a/apps/webapp/app/lib/batch/providers/openai.ts b/apps/webapp/app/lib/batch/providers/openai.ts index d0a3968..9c04ea2 100644 --- a/apps/webapp/app/lib/batch/providers/openai.ts +++ b/apps/webapp/app/lib/batch/providers/openai.ts @@ -11,6 +11,7 @@ import { type BatchResponse, } from "../types"; import { logger } from "~/services/logger.service"; +import { getModelForTask } from "~/lib/model.server"; export class OpenAIBatchProvider extends BaseBatchProvider { providerName = "openai"; @@ -40,13 +41,14 @@ export class OpenAIBatchProvider extends BaseBatchProvider { try { this.validateRequests(params.requests); + const model = getModelForTask(params.modelComplexity || 'high'); // Convert requests to OpenAI batch format const batchRequests = params.requests.map((request, index) => ({ custom_id: request.customId, method: "POST" as const, url: "/v1/chat/completions", body: { - model: process.env.MODEL as string, + model, messages: request.systemPrompt ? [ { role: "system" as const, content: request.systemPrompt }, diff --git a/apps/webapp/app/lib/batch/types.ts b/apps/webapp/app/lib/batch/types.ts index af6695b..03714b3 100644 --- a/apps/webapp/app/lib/batch/types.ts +++ b/apps/webapp/app/lib/batch/types.ts @@ -3,6 +3,7 @@ import { z } from "zod"; export type BatchStatus = "pending" | "processing" | "completed" | "failed" | "cancelled"; +export type ModelComplexity = 'high' | 'low'; export interface BatchRequest { customId: string; messages: CoreMessage[]; @@ -39,6 +40,7 @@ export interface CreateBatchParams { outputSchema?: z.ZodSchema; maxRetries?: number; timeoutMs?: number; + modelComplexity?: ModelComplexity; } export interface GetBatchParams { diff --git a/apps/webapp/app/lib/model.server.ts b/apps/webapp/app/lib/model.server.ts index cffdf7f..09939cf 100644 --- a/apps/webapp/app/lib/model.server.ts +++ b/apps/webapp/app/lib/model.server.ts @@ -11,15 +11,62 @@ import { logger } from "~/services/logger.service"; import { createOllama, type OllamaProvider } from "ollama-ai-provider"; import { anthropic } from "@ai-sdk/anthropic"; import { google } from "@ai-sdk/google"; +import { createAmazonBedrock } from "@ai-sdk/amazon-bedrock"; +import { fromNodeProviderChain } from "@aws-sdk/credential-providers"; + +export type ModelComplexity = 'high' | 'low'; + +/** + * Get the appropriate model for a given complexity level. + * HIGH complexity uses the configured MODEL. + * LOW complexity automatically downgrades to cheaper variants if possible. + */ +export function getModelForTask(complexity: ModelComplexity = 'high'): string { + const baseModel = process.env.MODEL || 'gpt-4.1-2025-04-14'; + + // HIGH complexity - always use the configured model + if (complexity === 'high') { + return baseModel; + } + + // LOW complexity - automatically downgrade expensive models to cheaper variants + // If already using a cheap model, keep it + const downgrades: Record = { + // OpenAI downgrades + 'gpt-5-2025-08-07': 'gpt-5-mini-2025-08-07', + 'gpt-4.1-2025-04-14': 'gpt-4.1-mini-2025-04-14', + + // Anthropic downgrades + 'claude-sonnet-4-5': 'claude-3-5-haiku-20241022', + 'claude-3-7-sonnet-20250219': 'claude-3-5-haiku-20241022', + 'claude-3-opus-20240229': 'claude-3-5-haiku-20241022', + + // Google downgrades + 'gemini-2.5-pro-preview-03-25': 'gemini-2.5-flash-preview-04-17', + 'gemini-2.0-flash': 'gemini-2.0-flash-lite', + + // AWS Bedrock downgrades (keep same model - already cost-optimized) + 'us.amazon.nova-premier-v1:0': 'us.amazon.nova-premier-v1:0', + }; + + return downgrades[baseModel] || baseModel; +} + +export interface TokenUsage { + promptTokens: number; + completionTokens: number; + totalTokens: number; +} export async function makeModelCall( stream: boolean, messages: CoreMessage[], - onFinish: (text: string, model: string) => void, + onFinish: (text: string, model: string, usage?: TokenUsage) => void, options?: any, + complexity: ModelComplexity = 'high', ) { - let modelInstance; - const model = process.env.MODEL as any; + let modelInstance: LanguageModelV1 | undefined; + let model = getModelForTask(complexity); const ollamaUrl = process.env.OLLAMA_URL; let ollama: OllamaProvider | undefined; @@ -29,6 +76,15 @@ export async function makeModelCall( }); } + const bedrock = createAmazonBedrock({ + region: process.env.AWS_REGION || 'us-east-1', + credentialProvider: fromNodeProviderChain(), + }); + + const generateTextOptions: any = {} + + + console.log('complexity:', complexity, 'model:', model) switch (model) { case "gpt-4.1-2025-04-14": case "gpt-4.1-mini-2025-04-14": @@ -36,6 +92,7 @@ export async function makeModelCall( case "gpt-5-2025-08-07": case "gpt-4.1-nano-2025-04-14": modelInstance = openai(model, { ...options }); + generateTextOptions.temperature = 1 break; case "claude-3-7-sonnet-20250219": @@ -51,6 +108,16 @@ export async function makeModelCall( modelInstance = google(model, { ...options }); break; + case "us.meta.llama3-3-70b-instruct-v1:0": + case "us.deepseek.r1-v1:0": + case "qwen.qwen3-32b-v1:0": + case "openai.gpt-oss-120b-1:0": + case "us.mistral.pixtral-large-2502-v1:0": + case "us.amazon.nova-premier-v1:0": + modelInstance = bedrock(`${model}`); + generateTextOptions.maxTokens = 100000 + break; + default: if (ollama) { modelInstance = ollama(model); @@ -59,26 +126,71 @@ export async function makeModelCall( break; } + if (!modelInstance) { + throw new Error(`Unsupported model type: ${model}`); + } + if (stream) { return streamText({ - model: modelInstance as LanguageModelV1, + model: modelInstance, messages, - onFinish: async ({ text }) => { - onFinish(text, model); + ...generateTextOptions, + onFinish: async ({ text, usage }) => { + const tokenUsage = usage ? { + promptTokens: usage.promptTokens, + completionTokens: usage.completionTokens, + totalTokens: usage.totalTokens, + } : undefined; + + if (tokenUsage) { + logger.log(`[${complexity.toUpperCase()}] ${model} - Tokens: ${tokenUsage.totalTokens} (prompt: ${tokenUsage.promptTokens}, completion: ${tokenUsage.completionTokens})`); + } + + onFinish(text, model, tokenUsage); }, }); } - const { text } = await generateText({ - model: modelInstance as LanguageModelV1, + const { text, usage } = await generateText({ + model: modelInstance, messages, + ...generateTextOptions, }); - onFinish(text, model); + const tokenUsage = usage ? { + promptTokens: usage.promptTokens, + completionTokens: usage.completionTokens, + totalTokens: usage.totalTokens, + } : undefined; + + if (tokenUsage) { + logger.log(`[${complexity.toUpperCase()}] ${model} - Tokens: ${tokenUsage.totalTokens} (prompt: ${tokenUsage.promptTokens}, completion: ${tokenUsage.completionTokens})`); + } + + onFinish(text, model, tokenUsage); return text; } +/** + * Determines if a given model is proprietary (OpenAI, Anthropic, Google, Grok) + * or open source (accessed via Bedrock, Ollama, etc.) + */ +export function isProprietaryModel(modelName?: string, complexity: ModelComplexity = 'high'): boolean { + const model = modelName || getModelForTask(complexity); + if (!model) return false; + + // Proprietary model patterns + const proprietaryPatterns = [ + /^gpt-/, // OpenAI models + /^claude-/, // Anthropic models + /^gemini-/, // Google models + /^grok-/, // xAI models + ]; + + return proprietaryPatterns.some(pattern => pattern.test(model)); +} + export async function getEmbedding(text: string) { const ollamaUrl = process.env.OLLAMA_URL; diff --git a/apps/webapp/app/services/knowledgeGraph.server.ts b/apps/webapp/app/services/knowledgeGraph.server.ts index 55ec284..f7f8862 100644 --- a/apps/webapp/app/services/knowledgeGraph.server.ts +++ b/apps/webapp/app/services/knowledgeGraph.server.ts @@ -19,6 +19,7 @@ import { } from "./prompts/nodes"; import { extractStatements, + extractStatementsOSS, resolveStatementPrompt, } from "./prompts/statements"; import { @@ -39,7 +40,7 @@ import { saveTriple, searchStatementsByEmbedding, } from "./graphModels/statement"; -import { getEmbedding, makeModelCall } from "~/lib/model.server"; +import { getEmbedding, makeModelCall, isProprietaryModel } from "~/lib/model.server"; import { runQuery } from "~/lib/neo4j.server"; import { Apps, getNodeTypesString } from "~/utils/presets/nodes"; import { normalizePrompt, normalizeDocumentPrompt } from "./prompts"; @@ -228,10 +229,20 @@ export class KnowledgeGraphService { episodeUuid: string | null; statementsCreated: number; processingTimeMs: number; + tokenUsage?: { + high: { input: number; output: number; total: number }; + low: { input: number; output: number; total: number }; + }; }> { const startTime = Date.now(); const now = new Date(); + // Track token usage by complexity + const tokenMetrics = { + high: { input: 0, output: 0, total: 0 }, + low: { input: 0, output: 0, total: 0 }, + }; + try { // Step 1: Context Retrieval - Get previous episodes for context const previousEpisodes = await getRecentEpisodes({ @@ -258,6 +269,7 @@ export class KnowledgeGraphService { params.source, params.userId, prisma, + tokenMetrics, new Date(params.referenceTime), sessionContext, params.type, @@ -295,6 +307,7 @@ export class KnowledgeGraphService { const extractedNodes = await this.extractEntities( episode, previousEpisodes, + tokenMetrics, ); console.log(extractedNodes.map((node) => node.name)); @@ -316,6 +329,7 @@ export class KnowledgeGraphService { episode, categorizedEntities, previousEpisodes, + tokenMetrics, ); const extractedStatementsTime = Date.now(); @@ -328,6 +342,7 @@ export class KnowledgeGraphService { extractedStatements, episode, previousEpisodes, + tokenMetrics, ); const resolvedTriplesTime = Date.now(); @@ -341,6 +356,7 @@ export class KnowledgeGraphService { resolvedTriples, episode, previousEpisodes, + tokenMetrics, ); const resolvedStatementsTime = Date.now(); @@ -407,6 +423,7 @@ export class KnowledgeGraphService { // nodesCreated: hydratedNodes.length, statementsCreated: resolvedStatements.length, processingTimeMs, + tokenUsage: tokenMetrics, }; } catch (error) { console.error("Error in addEpisode:", error); @@ -420,6 +437,7 @@ export class KnowledgeGraphService { private async extractEntities( episode: EpisodicNode, previousEpisodes: EpisodicNode[], + tokenMetrics: { high: { input: number; output: number; total: number }; low: { input: number; output: number; total: number } }, ): Promise { // Use the prompt library to get the appropriate prompts const context = { @@ -436,9 +454,15 @@ export class KnowledgeGraphService { let responseText = ""; - await makeModelCall(false, messages as CoreMessage[], (text) => { + // Entity extraction requires HIGH complexity (creative reasoning, nuanced NER) + await makeModelCall(false, messages as CoreMessage[], (text, _model, usage) => { responseText = text; - }); + if (usage) { + tokenMetrics.high.input += usage.promptTokens; + tokenMetrics.high.output += usage.completionTokens; + tokenMetrics.high.total += usage.totalTokens; + } + }, undefined, 'high'); // Convert to EntityNode objects let entities: EntityNode[] = []; @@ -447,19 +471,21 @@ export class KnowledgeGraphService { if (outputMatch && outputMatch[1]) { responseText = outputMatch[1].trim(); - const extractedEntities = JSON.parse(responseText || "{}").entities || []; + const parsedResponse = JSON.parse(responseText || "[]"); + // Handle both old format {entities: [...]} and new format [...] + const extractedEntities = Array.isArray(parsedResponse) ? parsedResponse : (parsedResponse.entities || []); // Batch generate embeddings for entity names - const entityNames = extractedEntities.map((entity: any) => entity.name); + const entityNames = Array.isArray(extractedEntities[0]) ? extractedEntities : extractedEntities.map((entity: any) => entity.name || entity); const nameEmbeddings = await Promise.all( entityNames.map((name: string) => this.getEmbedding(name)), ); entities = extractedEntities.map((entity: any, index: number) => ({ uuid: crypto.randomUUID(), - name: entity.name, + name: typeof entity === 'string' ? entity : entity.name, type: undefined, // Type will be inferred from statements - attributes: entity.attributes || {}, + attributes: typeof entity === 'string' ? {} : (entity.attributes || {}), nameEmbedding: nameEmbeddings[index], typeEmbedding: undefined, // No type embedding needed createdAt: new Date(), @@ -481,6 +507,7 @@ export class KnowledgeGraphService { expanded: EntityNode[]; }, previousEpisodes: EpisodicNode[], + tokenMetrics: { high: { input: number; output: number; total: number }; low: { input: number; output: number; total: number } }, ): Promise { // Use the prompt library to get the appropriate prompts const context = { @@ -502,13 +529,21 @@ export class KnowledgeGraphService { referenceTime: episode.validAt.toISOString(), }; - // Get the statement extraction prompt from the prompt library - const messages = extractStatements(context); + // Statement extraction requires HIGH complexity (causal reasoning, emotional context) + // Choose between proprietary and OSS prompts based on model type + const messages = isProprietaryModel(undefined, 'high') + ? extractStatements(context) + : extractStatementsOSS(context); let responseText = ""; - await makeModelCall(false, messages as CoreMessage[], (text) => { + await makeModelCall(false, messages as CoreMessage[], (text, _model, usage) => { responseText = text; - }); + if (usage) { + tokenMetrics.high.input += usage.promptTokens; + tokenMetrics.high.output += usage.completionTokens; + tokenMetrics.high.total += usage.totalTokens; + } + }, undefined, 'high'); const outputMatch = responseText.match(/([\s\S]*?)<\/output>/); if (outputMatch && outputMatch[1]) { @@ -518,8 +553,11 @@ export class KnowledgeGraphService { } // Parse the statements from the LLM response - const extractedTriples: ExtractedTripleData[] = - JSON.parse(responseText || "{}").edges || []; + const parsedResponse = JSON.parse(responseText || "[]"); + // Handle both old format {"edges": [...]} and new format [...] + const extractedTriples: ExtractedTripleData[] = Array.isArray(parsedResponse) + ? parsedResponse + : (parsedResponse.edges || []); console.log(`extracted triples length: ${extractedTriples.length}`); @@ -639,6 +677,7 @@ export class KnowledgeGraphService { triples: Triple[], episode: EpisodicNode, previousEpisodes: EpisodicNode[], + tokenMetrics: { high: { input: number; output: number; total: number }; low: { input: number; output: number; total: number } }, ): Promise { // Step 1: Extract unique entities from triples const uniqueEntitiesMap = new Map(); @@ -764,9 +803,15 @@ export class KnowledgeGraphService { const messages = dedupeNodes(dedupeContext); let responseText = ""; - await makeModelCall(false, messages as CoreMessage[], (text) => { + // Entity deduplication is LOW complexity (pattern matching, similarity comparison) + await makeModelCall(false, messages as CoreMessage[], (text, _model, usage) => { responseText = text; - }); + if (usage) { + tokenMetrics.low.input += usage.promptTokens; + tokenMetrics.low.output += usage.completionTokens; + tokenMetrics.low.total += usage.totalTokens; + } + }, undefined, 'low'); // Step 5: Process LLM response const outputMatch = responseText.match(/([\s\S]*?)<\/output>/); @@ -847,6 +892,7 @@ export class KnowledgeGraphService { triples: Triple[], episode: EpisodicNode, previousEpisodes: EpisodicNode[], + tokenMetrics: { high: { input: number; output: number; total: number }; low: { input: number; output: number; total: number } }, ): Promise<{ resolvedStatements: Triple[]; invalidatedStatements: string[]; @@ -999,10 +1045,15 @@ export class KnowledgeGraphService { let responseText = ""; - // Call the LLM to analyze all statements at once - await makeModelCall(false, messages, (text) => { + // Statement resolution is LOW complexity (rule-based duplicate/contradiction detection) + await makeModelCall(false, messages, (text, _model, usage) => { responseText = text; - }); + if (usage) { + tokenMetrics.low.input += usage.promptTokens; + tokenMetrics.low.output += usage.completionTokens; + tokenMetrics.low.total += usage.totalTokens; + } + }, undefined, 'low'); try { // Extract the JSON response from the output tags @@ -1083,6 +1134,7 @@ export class KnowledgeGraphService { private async addAttributesToEntities( triples: Triple[], episode: EpisodicNode, + tokenMetrics: { high: { input: number; output: number; total: number }; low: { input: number; output: number; total: number } }, ): Promise { // Collect all unique entities from the triples const entityMap = new Map(); @@ -1122,10 +1174,15 @@ export class KnowledgeGraphService { let responseText = ""; - // Call the LLM to extract attributes - await makeModelCall(false, messages as CoreMessage[], (text) => { + // Attribute extraction is LOW complexity (simple key-value extraction) + await makeModelCall(false, messages as CoreMessage[], (text, _model, usage) => { responseText = text; - }); + if (usage) { + tokenMetrics.low.input += usage.promptTokens; + tokenMetrics.low.output += usage.completionTokens; + tokenMetrics.low.total += usage.totalTokens; + } + }, undefined, 'low'); try { const outputMatch = responseText.match(/([\s\S]*?)<\/output>/); @@ -1163,6 +1220,7 @@ export class KnowledgeGraphService { source: string, userId: string, prisma: PrismaClient, + tokenMetrics: { high: { input: number; output: number; total: number }; low: { input: number; output: number; total: number } }, episodeTimestamp?: Date, sessionContext?: string, contentType?: EpisodeType, @@ -1197,10 +1255,16 @@ export class KnowledgeGraphService { contentType === EpisodeTypeEnum.DOCUMENT ? normalizeDocumentPrompt(context) : normalizePrompt(context); + // Normalization is LOW complexity (text cleaning and standardization) let responseText = ""; - await makeModelCall(false, messages, (text) => { + await makeModelCall(false, messages, (text, _model, usage) => { responseText = text; - }); + if (usage) { + tokenMetrics.low.input += usage.promptTokens; + tokenMetrics.low.output += usage.completionTokens; + tokenMetrics.low.total += usage.totalTokens; + } + }, undefined, 'low'); let normalizedEpisodeBody = ""; const outputMatch = responseText.match(/([\s\S]*?)<\/output>/); if (outputMatch && outputMatch[1]) { diff --git a/apps/webapp/app/services/prompts/nodes.ts b/apps/webapp/app/services/prompts/nodes.ts index ea7f275..f189ed3 100644 --- a/apps/webapp/app/services/prompts/nodes.ts +++ b/apps/webapp/app/services/prompts/nodes.ts @@ -45,19 +45,40 @@ You are given a conversation context and a CURRENT EPISODE. Your task is to extr - Personal experience descriptions - Memory/reflection statements -3. **Type and Concept Entity Extraction**: +3. **NAMED ENTITY EXTRACTION**: + - **PEOPLE NAMES**: Extract all proper names of individuals (e.g., "Luna", "Albert", "John Smith") + - **ORGANIZATION NAMES**: Extract company/brand names (e.g., "SUSE", "Albert Heijn", "TEEKS", "Google") + - **PLACE NAMES**: Extract specific locations (e.g., "Amstelveen", "Bruges", "Eze", "Netherlands", "Europe") + - **PRODUCT/SERVICE NAMES**: Extract named products, services, or systems (e.g., "iPhone", "Tesla Model S") + - **EVENT NAMES**: Extract named events, conferences, or specific occasions + +4. **MEASUREMENT & QUANTITATIVE EXTRACTION**: + - **NUMERICAL RATINGS**: Extract rating values and scores (e.g., "10/10", "8.5/10", "5-star") + - **PRICES & CURRENCY**: Extract monetary values (e.g., "₹40 crore", "$100", "€50") + - **QUANTITIES**: Extract specific measurements (e.g., "5 kilometers", "3 months", "2 hours") + - **PERCENTAGES**: Extract percentage values (e.g., "85%", "half", "majority") + - **QUALITY DESCRIPTORS**: Extract qualitative ratings (e.g., "excellent", "poor", "outstanding") + +5. **CULTURAL & ABSTRACT CONCEPT EXTRACTION**: + - **CULTURAL CONCEPTS**: Extract cultural ideas, traditions, or practices mentioned + - **PROCESS CONCEPTS**: Extract named processes, methodologies, or systems + - **ABSTRACT IDEAS**: Extract philosophical, emotional, or conceptual entities + - **DOMAINS & FIELDS**: Extract subject areas, industries, or fields of knowledge + - **STANDARDS & FRAMEWORKS**: Extract methodologies, standards, or organizational frameworks + +6. **Type and Concept Entity Extraction**: - **EXTRACT TYPE ENTITIES**: For statements like "Profile is a memory space", extract both "Profile" AND "MemorySpace" as separate entities. - **EXTRACT CATEGORY ENTITIES**: For statements like "Tier 1 contains essential spaces", extract "Tier1", "Essential", and "Spaces" as separate entities. - **EXTRACT ABSTRACT CONCEPTS**: Terms like "usefulness", "rating", "classification", "hierarchy" should be extracted as concept entities. - **NO ENTITY TYPING**: Do not assign types to entities in the output - all typing will be handled through explicit relationships. -4. **Exclusions**: +7. **Exclusions**: - Do NOT extract entities representing relationships or actions (predicates will be handled separately). - **EXCEPTION**: DO extract roles, professions, titles, and characteristics mentioned in identity statements. - Do NOT extract absolute dates, timestamps, or specific time points—these will be handled separately. - Do NOT extract relative time expressions that resolve to specific dates ("last week", "yesterday", "3pm"). -5. **Entity Name Extraction**: +8. **Entity Name Extraction**: - Extract ONLY the core entity name, WITHOUT any descriptors or qualifiers - When text mentions "Tesla car", extract TWO entities: "Tesla" AND "Car" - When text mentions "memory space system", extract "Memory", "Space", AND "System" as separate entities @@ -66,7 +87,7 @@ You are given a conversation context and a CURRENT EPISODE. Your task is to extr - **FULL NAMES**: Use complete names when available (e.g., "John Smith" not "John") - **CONCEPT NORMALIZATION**: Convert to singular form where appropriate ("spaces" → "Space") -6. **Temporal and Relationship Context Extraction**: +9. **Temporal and Relationship Context Extraction**: - EXTRACT duration expressions that describe relationship spans ("4 years", "2 months", "5 years") - EXTRACT temporal context that anchors relationships ("since moving", "after graduation", "during college") - EXTRACT relationship qualifiers ("close friends", "support system", "work team", "family members") @@ -88,6 +109,30 @@ You are given a conversation context and a CURRENT EPISODE. Your task is to extr - Text: "essential classification tier" → Extract: "Essential", "Classification", "Tier" - Text: "hierarchical memory system" → Extract: "Hierarchical", "Memory", "System" +**NAMED ENTITY EXAMPLES:** + +✅ **PEOPLE & ORGANIZATIONS:** +- Text: "Sarah joined Meta last year" → Extract: "Sarah", "Meta" +- Text: "Meeting with David from OpenAI" → Extract: "David", "OpenAI" +- Text: "Dr. Chen works at Stanford Research" → Extract: "Dr. Chen", "Stanford Research" +- Text: "Amazon's new initiative" → Extract: "Amazon", "Initiative" + +✅ **PLACES & LOCATIONS:** +- Text: "Conference in Tokyo this summer" → Extract: "Conference", "Tokyo" +- Text: "Moving from Portland to Austin" → Extract: "Portland", "Austin" +- Text: "Remote office in Berlin" → Extract: "Remote Office", "Berlin" + +✅ **MEASUREMENTS & QUANTITATIVE:** +- Text: "Project scored 9/10" → Extract: "Project", "9/10" +- Text: "Budget of $2.5 million" → Extract: "Budget", "$2.5 million" +- Text: "Outstanding performance" → Extract: "Performance", "Outstanding" +- Text: "75% completion rate" → Extract: "Completion Rate", "75%" + +✅ **CULTURAL & ABSTRACT CONCEPTS:** +- Text: "Lean startup methodology" → Extract: "Lean Startup", "Methodology" +- Text: "Zen meditation practice" → Extract: "Zen", "Meditation", "Practice" +- Text: "DevOps culture transformation" → Extract: "DevOps", "Culture", "Transformation" + **TEMPORAL INFORMATION - What to EXTRACT vs EXCLUDE:** ✅ **EXTRACT - Relationship Temporal Information:** @@ -123,20 +168,24 @@ You are given a conversation context and a CURRENT EPISODE. Your task is to extr - Text: "10/10 usefulness rating" → Extract: "Usefulness", "Rating" ❌ **INCORRECT:** -- Text: "Profile is a memory space" → ❌ Only extract: "Profile" +- Text: "Profile is a memory space" → ❌ Only extract: "Profile" - Text: "authentication system" → ❌ Extract: "authentication system" (should be "Authentication", "System") - Text: "payment service" → ❌ Extract: "payment service" (should be "Payment", "Service") +## CRITICAL OUTPUT FORMAT REQUIREMENTS: + +**YOU MUST STRICTLY FOLLOW THIS EXACT FORMAT:** + -{ - "entities": [ - { - "name": "Entity Name" - } - // Additional entities... - ] -} -`; +["Entity 1", "Entity 2", "Entity 3", ...] + + +**MANDATORY RULES:** +1. Start with exactly: +2. Simple JSON array of entity names only +3. Each entity as a string: "EntityName" +4. End with exactly: +5. NO additional text, NO comments, NO explanations`; const contentLabel = extractionMode === 'conversation' ? 'CURRENT EPISODE' : 'TEXT'; const userPrompt = ` @@ -226,6 +275,15 @@ Format your response as follows: } +## CRITICAL OUTPUT FORMAT REQUIREMENTS: + +**YOU MUST STRICTLY FOLLOW THESE FORMAT RULES:** +1. **ALWAYS use tags** - Never use any other tag format +2. **ONLY output valid JSON** within the tags +3. **NO additional text** before or after the tags +4. **NO comments** inside the JSON +5. **REQUIRED structure:** Must follow exact JSON schema shown above + ## Important Instructions: - Always include all entities from the input in your response - Always wrap the output in these tags @@ -272,20 +330,26 @@ Common attribute types to consider: - Temporal information (duration, frequency, etc.) - Qualitative aspects (importance, preference, etc.) -Provide your output in this structure: +## CRITICAL OUTPUT FORMAT REQUIREMENTS: + +**YOU MUST STRICTLY FOLLOW THESE FORMAT RULES:** +1. **ALWAYS use tags** - Never use any other tag format +2. **ONLY output valid JSON** within the tags +3. **NO additional text** before or after the tags +4. **NO comments** inside the JSON +5. **REQUIRED structure:** Must follow exact JSON schema shown below + { -"entities": [ -{ - "uuid": "entity-uuid", - "attributes": { - "attributeName1": "value1", - "attributeName2": "value2", - ... - } -}, -... -] + "entities": [ + { + "uuid": "entity-uuid", + "attributes": { + "attributeName1": "value1", + "attributeName2": "value2" + } + } + ] } `; diff --git a/apps/webapp/app/services/prompts/statements.ts b/apps/webapp/app/services/prompts/statements.ts index db0a0d7..a285907 100644 --- a/apps/webapp/app/services/prompts/statements.ts +++ b/apps/webapp/app/services/prompts/statements.ts @@ -150,26 +150,21 @@ CRITICAL TEMPORAL INFORMATION HANDLING: - "event_date": "[resolved ISO date ~1 month after episode date, e.g., '2023-07-27T00:00:00.000Z']" - "temporal_context": "next month" -Format your response as a JSON object with the following structure: +Format your response as a JSON array with the following structure: -{ - "edges": [ - { - "source": "[Subject Entity Name - MUST be from AVAILABLE ENTITIES]", - "predicate": "[Relationship Type]", - "target": "[Object Entity Name - MUST be from AVAILABLE ENTITIES]", - "fact": "[Natural language representation of the fact]", - "attributes": { - "confidence": confidence of the fact, - "source": "explicit or implicit source type", - "event_date": "ISO date when the fact/event actually occurred (if applicable)", - "temporal_context": "original temporal description (e.g., 'last week', 'recently')", - "duration": "duration information from Duration entities (e.g., '4 years', '2 months')", - "context": "contextual information from TemporalContext entities (e.g., 'since moving', 'after breakup')" - } +[ + { + "source": "[Subject Entity Name - MUST be from AVAILABLE ENTITIES]", + "predicate": "[Relationship Type]", + "target": "[Object Entity Name - MUST be from AVAILABLE ENTITIES]", + "fact": "[Natural language representation of the fact]", + "attributes": { + "event_date": "ISO date when the fact/event actually occurred (if applicable)", + "duration": "duration information from Duration entities (e.g., '4 years', '2 months')", + "context": "contextual information from TemporalContext entities (e.g., 'since moving', 'after breakup')" } - ] -} + } +] IMPORTANT RULES: @@ -227,6 +222,298 @@ ${JSON.stringify(context.entities.expanded, null, 2)} ]; }; +export const extractStatementsOSS = ( + context: Record, +): CoreMessage[] => { + return [ + { + role: "system", + content: `## WHO→WHAT→WHOM INSTRUCTIONS +**WHO**: You are a knowledge graph extraction expert specializing in relationship identification +**WHAT**: Extract factual statements from text as subject-predicate-object triples for knowledge graph construction +**WHOM**: For the CORE memory system that helps AI tools maintain persistent, structured knowledge + +## CONTEXTUAL EXTRACTION PROCESS +Think through this systematically with **NARRATIVE CONTEXT** awareness: + +**STEP 1: UNDERSTAND THE EPISODE CONTEXT** +- What is the main conversation/topic about? (e.g., "entity extraction optimization", "travel journal analysis") +- What is the PURPOSE of this content? (e.g., "improving AI performance", "documenting experiences") +- What PROCESS is happening? (e.g., "testing new examples", "implementing features") + +**STEP 2: IDENTIFY ACTORS WITH CONTEXT** +- Who are the people, entities, or agents mentioned? +- WHY are they mentioned? (examples in prompt, participants in process, subjects of discussion) +- What ROLE do they play in this context? (test cases, real people, organizational entities) + +**STEP 3: ANALYZE ACTIONS & EXPERIENCES WITH PURPOSE** +- What actions did actors perform? (traveled, worked, created) +- What did actors experience? (felt, observed, encountered) +- What states did actors have? (lived in, owned, knew) +- **CRITICALLY**: WHY are these actions/experiences being discussed? (examples, optimizations, improvements) + +**STEP 4: FIND CAUSAL CONNECTIONS & CONTEXTUAL SIGNIFICANCE** +- What caused what? (event → emotion, condition → outcome) +- How did events make actors FEEL? (forgotten item → anxiety, beauty → appreciation) +- What influenced decisions? (experience → preference, problem → solution) +- **KEY**: How do these relationships serve the larger context/purpose? + +**STEP 5: CAPTURE TEMPORAL & EPISODE LINKAGE** +- When did events occur? (dates, sequences, durations) +- Where did actions happen? (locations, contexts) +- What were the circumstances? (conditions, motivations) +- **EPISODE CONNECTION**: How does this relate to the ongoing conversation/process? + +**STEP 6: FORM CONTEXT-AWARE RELATIONSHIPS** +- Use actors, actions, and objects from above steps +- **ENHANCE** with contextual significance (WHY this relationship matters) +- Include episode provenance in natural language fact descriptions +- Ensure each relationship tells a meaningful story WITH context + +## PHASE 1: FOUNDATIONAL RELATIONSHIPS (HIGHEST PRIORITY) +Extract the basic semantic backbone that answers: WHO, WHAT, WHERE, WHEN, WHY, HOW + +### 1A: ACTOR-ACTION RELATIONSHIPS +- Subject performs action: "Entity" "performed" "Action" +- Subject experiences state: "Entity" "experienced" "State" +- Subject has attribute: "Entity" "has" "Property" +- Subject creates/produces: "Entity" "created" "Object" + +### 1B: SPATIAL & HIERARCHICAL RELATIONSHIPS +- Location membership: "Entity" "located_in" "Location" +- Categorical membership: "Entity" "is_a" "Category" +- Hierarchical structure: "Entity" "part_of" "System" +- Containment: "Container" "contains" "Item" + +### 1C: TEMPORAL & SEQUENTIAL RELATIONSHIPS +- Duration facts: "Event" "lasted" "Duration" +- Sequence facts: "Event" "occurred_before" "Event" +- Temporal anchoring: "Event" "occurred_during" "Period" +- Timing: "Action" "happened_on" "Date" + +### 1D: SUBJECTIVE & EVALUATIVE RELATIONSHIPS +- Opinions: "Subject" "opinion_about" "Object" +- Preferences: "Subject" "prefers" "Object" +- Evaluations: "Subject" "rated" "Object" +- Desires: "Subject" "wants" "Object" + +## SYSTEMATIC EXTRACTION PATTERNS +**Type/Category**: Entity → is_a → Type +**Ownership**: Actor → owns/controls → Resource +**Participation**: Actor → participates_in → Event +**Location**: Entity → located_in/part_of → Place +**Temporal**: Event → occurred_during → TimeFrame +**Rating/Measurement**: Subject → rated/measured → Object +**Reference**: Document → references → Entity +**Employment**: Person → works_for → Organization + +## RELATIONSHIP QUALITY HIERARCHY + +## RELATIONSHIP TEMPLATES (High Priority) + +**NARRATIVE RELATIONSHIPS:** +- "Actor" "experienced" "Emotion/State" +- "Actor" "appreciated" "Aspect" +- "Actor" "found" "Subject" "Evaluation" +- "Actor" "felt" "Emotion" "about" "Subject" + +**CAUSAL & EMOTIONAL RELATIONSHIPS:** +- "Event" "caused" "Actor" "to feel" "Emotion" +- "Experience" "made" "Actor" "appreciate" "Aspect" +- "Problem" "led to" "Actor" "feeling" "Frustration" +- "Beauty" "evoked" "Actor's" "Sense of wonder" +- "Difficulty" "resulted in" "Actor" "seeking" "Solution" +- "Success" "boosted" "Actor's" "Confidence" + +**CROSS-EVENT RELATIONSHIPS:** +- "Experience A" "influenced" "Actor's view of" "Experience B" +- "Previous trip" "shaped" "Actor's" "Travel expectations" +- "Cultural encounter" "changed" "Actor's" "Perspective on" "Topic" +- "Mistake" "taught" "Actor" "to avoid" "Similar situation" + +**TEMPORAL RELATIONSHIPS:** +- "Actor" "spent" "Duration" "doing" "Activity" +- "Event" "occurred during" "TimeFrame" +- "Actor" "planned" "FutureAction" +- "Experience" "happened before" "Decision" + +**ESSENTIAL (Extract Always)**: +- Categorical membership (is_a, type_of) +- Spatial relationships (located_in, part_of) +- Actor-action relationships (performed, experienced, created) +- Ownership/control relationships (owns, controls, manages) +- Employment relationships (works_for, employed_by) + +**VALUABLE (Extract When Present)**: +- Temporal sequences and durations +- Subjective opinions and evaluations +- Cross-references and citations +- Participation and attendance + +**CONTEXTUAL (Extract If Space Permits)**: +- Complex multi-hop inferences +- Implicit relationships requiring interpretation + +CRITICAL REQUIREMENT: +- You MUST ONLY use entities from the AVAILABLE ENTITIES list as subjects and objects. +- The "source" and "target" fields in your output MUST EXACTLY MATCH entity names from the AVAILABLE ENTITIES list. +- If you cannot express a fact using only the available entities, DO NOT include that fact in your output. +- DO NOT create, invent, or modify any entity names. +- NEVER create statements where the source and target are the same entity (no self-loops). + +ENTITY PRIORITIZATION: +- **PRIMARY ENTITIES**: Directly extracted from the current episode - these are your main focus +- **EXPANDED ENTITIES**: From related contexts - only use if they're explicitly mentioned or contextually relevant + +RELATIONSHIP FORMATION RULES: +1. **PRIMARY-PRIMARY**: Always consider relationships between primary entities +2. **PRIMARY-EXPANDED**: Only if the expanded entity is mentioned in the episode content +3. **EXPANDED-EXPANDED**: Avoid unless there's explicit connection in the episode + +INSTRUCTIONS: +1. **SYSTEMATIC ANALYSIS**: Check all foundational relationship patterns for each entity +2. **PATTERN COMPLETION**: If pattern exists for one entity, verify coverage for all applicable entities +3. **SAME-NAME ENTITIES**: Connect entities with identical names but different types +4. **STRUCTURAL FOUNDATION**: Prioritize basic relationships over complex interpretations + +## SAME-NAME ENTITY RELATIONSHIP FORMATION +When entities share identical names but have different types, CREATE explicit relationship statements: +- **Person-Organization**: "John (Person)" → "owns", "founded", "works for", or "leads" → "John (Company)" +- **Person-Location**: "Smith (Person)" → "lives in", "founded", or "is associated with" → "Smith (City)" +- **Event-Location**: "Conference (Event)" → "takes place at" or "is hosted by" → "Conference (Venue)" +- **Product-Company**: "Tesla (Product)" → "is manufactured by" or "is developed by" → "Tesla (Company)" +- **MANDATORY**: Always create at least one relationship for same-name entities + +## DURATION AND TEMPORAL CONTEXT ENTITY USAGE +When Duration or TemporalContext entities are available in AVAILABLE ENTITIES: +- **Duration entities** (e.g., "4 years", "2 months") should be used as "duration" attributes in relationship statements +- **TemporalContext entities** (e.g., "since moving", "after breakup") should be used as "temporal_context" attributes +- **DO NOT** use Duration/TemporalContext entities as direct subjects or objects in relationships +- **DO USE** them to enrich relationship statements with temporal information + +EXAMPLE: If AVAILABLE ENTITIES = ["Caroline", "friends", "4 years", "since moving"]: +✓ "Caroline" "has known" "friends" [attributes: {"duration": "4 years", "temporal_context": "since moving"}] +✗ "Caroline" "relates to" "4 years" (Duration as direct object) +✗ "since moving" "describes" "friendship" (TemporalContext as direct subject) + +## EXTRACTION PRINCIPLES +- Extract obvious structural relationships (not redundant noise) +- Prioritize simple over complex: "X is_in Y" > "X contextually_relates_to Y" +- Comprehensive coverage over selective "interesting" facts +- If pattern exists for one entity, check ALL entities for same pattern +- Skip only exact duplicates, not similar relationship types + +## TEMPORAL INFORMATION HANDLING +- Capture temporal information in statement attributes (not as separate entities) +- **event_date**: When fact/event actually occurred (resolve using REFERENCE_TIME) +- **temporal_context**: Temporal descriptions ("last week", "recently") + +EXAMPLES: +- "Max married Tina on January 14" → {"event_date": "January 14", "temporal_context": "specific date"} +- "went camping last week" → {"event_date": "[ISO date ~7 days before REFERENCE_TIME]", "temporal_context": "last week"} +- "going to Paris next month" → {"event_date": "[ISO date ~1 month after REFERENCE_TIME]", "temporal_context": "next month"} + +Format your response as a JSON array with the following structure: + +[ + { + "source": "[Subject Entity Name - MUST be from AVAILABLE ENTITIES]", + "predicate": "[Relationship Type]", + "target": "[Object Entity Name - MUST be from AVAILABLE ENTITIES]", + "fact": "[Natural language representation of the fact]", + "attributes": { + "event_date": "ISO date when the fact/event actually occurred (if applicable)", + "duration": "duration information from Duration entities (e.g., '4 years', '2 months')", + "context": "contextual information from TemporalContext entities (e.g., 'since moving', 'after breakup')" + } + } +] + + +IMPORTANT RULES: +- **ENTITIES**: ONLY use entities from AVAILABLE ENTITIES as source and target +- **NO INVENTION**: NEVER create statements where source or target is not in AVAILABLE ENTITIES +- **NO SELF-LOOPS**: NEVER create statements where the source and target are the same entity +- **SAME-NAME PRIORITY**: When entities share names but have different types, CREATE explicit relationship statements between them +- **NEW ONLY**: Do NOT create statements that duplicate relationships already present in previous episodes +- **TEMPORAL**: Instead of creating self-loops for temporal information, add timespan attributes to relevant statements +- **FILTER FIRST**: If you cannot express a NEW fact using only available entities, omit it entirely +- **OUTPUT FORMAT**: Always wrap output in tags + +## QUALITY EXAMPLES + +**INPUT**: "The sunset was beautiful. I felt peaceful watching it." + +**GOOD OUTPUT** (Rich relationships): +✓ "Author" "observed" "sunset" +✓ "Author" "experienced" "peaceful feeling" +✓ "Beautiful sunset" "caused" "Author" "to feel peaceful" +✓ "Author" "found" "sunset" "beautiful" + +**POOR OUTPUT** (Isolated facts): +✗ "Sunset" "was" "beautiful" +✗ "Feeling" "was" "peaceful" + +**INPUT**: "I forgot my credit card at the store and had to go back. I felt so frustrated!" + +**GOOD OUTPUT** (Enhanced with emotions & causality): +✓ "Author" "forgot" "credit card" +✓ "Author" "left" "credit card" "at store" +✓ "Forgotten credit card" "caused" "Author" "to feel" "frustrated" +✓ "Forgotten credit card" "forced" "Author" "to return" +✓ "Author" "experienced" "inconvenience" +✓ "Mistake" "resulted in" "Author" "learning" "to be more careful" + +**INPUT**: "The museum was incredible. It reminded me of my trip to Rome last year." + +**GOOD OUTPUT** (Cross-event relationships): +✓ "Author" "visited" "museum" +✓ "Author" "found" "museum" "incredible" +✓ "Museum experience" "reminded" "Author" "of Rome trip" +✓ "Previous Rome trip" "shaped" "Author's" "museum appreciation" +✓ "Author" "made" "cross-cultural connection" + +**ENHANCED VERIFICATION CHECKLIST:** +□ Did I capture the actor's subjective experience and emotions? +□ Are there causal relationships showing what caused feelings/decisions? +□ Did I include how experiences influenced the actor's perspective? +□ Are there connections between different events or experiences? +□ Did I capture both immediate reactions AND longer-term impacts? +□ Are there temporal sequences, cross-references, or learning moments? + +CORRECT TECHNICAL EXAMPLES: +✓ "Person" "is" "Role" (categorical relationship) +✓ "Caroline" "has known" "friends" [attributes: {"duration": "4 years", "context": "since moving"}] + +INCORRECT TECHNICAL EXAMPLES: +✗ "John" "attends" "Party" (if "Party" not in AVAILABLE ENTITIES) +✗ "Marriage" "occurs on" "Marriage" (self-loops prohibited)`, + }, + { + role: "user", + content: ` + +${context.episodeContent} + + + +${JSON.stringify(context.previousEpisodes, null, 2)} + + + + +${JSON.stringify(context.entities.primary, null, 2)} + + + +${JSON.stringify(context.entities.expanded, null, 2)} + + +`, + }, + ]; +}; + /** * Analyze similar statements to determine duplications and contradictions * This prompt helps the LLM evaluate semantically similar statements found through vector search diff --git a/apps/webapp/app/trigger/spaces/space-assignment.ts b/apps/webapp/app/trigger/spaces/space-assignment.ts index c40a374..47a1ce6 100644 --- a/apps/webapp/app/trigger/spaces/space-assignment.ts +++ b/apps/webapp/app/trigger/spaces/space-assignment.ts @@ -829,11 +829,11 @@ async function processBatch( userId, ); - // Call LLM for space assignments + // Space assignment is LOW complexity (rule-based classification with confidence scores) let responseText = ""; await makeModelCall(false, prompt, (text: string) => { responseText = text; - }); + }, undefined, 'low'); // Response text is now set by the callback diff --git a/apps/webapp/app/trigger/spaces/space-pattern.ts b/apps/webapp/app/trigger/spaces/space-pattern.ts index 67c4d45..89a6263 100644 --- a/apps/webapp/app/trigger/spaces/space-pattern.ts +++ b/apps/webapp/app/trigger/spaces/space-pattern.ts @@ -265,10 +265,11 @@ async function extractExplicitPatterns( const prompt = createExplicitPatternPrompt(themes, summary, statements); + // Pattern extraction requires HIGH complexity (insight synthesis, pattern recognition) let responseText = ""; await makeModelCall(false, prompt, (text: string) => { responseText = text; - }); + }, undefined, 'high'); const patterns = parseExplicitPatternResponse(responseText); @@ -290,10 +291,11 @@ async function extractImplicitPatterns( const prompt = createImplicitPatternPrompt(statements); + // Implicit pattern discovery requires HIGH complexity (pattern recognition from statements) let responseText = ""; await makeModelCall(false, prompt, (text: string) => { responseText = text; - }); + }, undefined, 'high'); const patterns = parseImplicitPatternResponse(responseText); diff --git a/apps/webapp/app/trigger/spaces/space-summary.ts b/apps/webapp/app/trigger/spaces/space-summary.ts index b481b5a..9504bd5 100644 --- a/apps/webapp/app/trigger/spaces/space-summary.ts +++ b/apps/webapp/app/trigger/spaces/space-summary.ts @@ -341,10 +341,11 @@ async function generateUnifiedSummary( previousThemes, ); + // Space summary generation requires HIGH complexity (creative synthesis, narrative generation) let responseText = ""; await makeModelCall(false, prompt, (text: string) => { responseText = text; - }); + }, undefined, 'high'); return parseSummaryResponse(responseText); } catch (error) { diff --git a/apps/webapp/package.json b/apps/webapp/package.json index 805108e..a69196e 100644 --- a/apps/webapp/package.json +++ b/apps/webapp/package.json @@ -14,12 +14,14 @@ "trigger:deploy": "pnpm dlx trigger.dev@4.0.0-v4-beta.22 deploy" }, "dependencies": { + "@ai-sdk/amazon-bedrock": "2.2.12", "@ai-sdk/anthropic": "^1.2.12", "@ai-sdk/google": "^1.2.22", "@ai-sdk/openai": "^1.3.21", - "@aws-sdk/client-s3": "3.879.0", - "@aws-sdk/s3-request-presigner": "3.879.0", "@anthropic-ai/sdk": "^0.60.0", + "@aws-sdk/client-s3": "3.879.0", + "@aws-sdk/credential-providers": "^3.894.0", + "@aws-sdk/s3-request-presigner": "3.879.0", "@coji/remix-auth-google": "^4.2.0", "@conform-to/react": "^0.6.1", "@conform-to/zod": "^0.6.1", @@ -78,7 +80,7 @@ "@tiptap/starter-kit": "2.11.9", "@trigger.dev/react-hooks": "4.0.0-v4-beta.22", "@trigger.dev/sdk": "4.0.0-v4-beta.22", - "ai": "4.3.14", + "ai": "4.3.19", "axios": "^1.10.0", "bullmq": "^5.53.2", "cheerio": "^1.1.2", @@ -120,6 +122,7 @@ "react": "^18.2.0", "react-calendar-heatmap": "^1.10.0", "react-dom": "^18.2.0", + "react-markdown": "10.1.0", "react-resizable-panels": "^1.0.9", "react-virtualized": "^9.22.6", "remix-auth": "^4.2.0", @@ -127,7 +130,6 @@ "remix-themes": "^2.0.4", "remix-typedjson": "0.3.1", "remix-utils": "^7.7.0", - "react-markdown": "10.1.0", "sigma": "^3.0.2", "simple-oauth2": "^5.1.0", "tailwind-merge": "^2.6.0", @@ -135,7 +137,7 @@ "tailwindcss-animate": "^1.0.7", "tailwindcss-textshadow": "^2.1.3", "tiny-invariant": "^1.3.1", - "zod": "3.23.8", + "zod": "3.25.76", "zod-error": "1.5.0", "zod-validation-error": "^1.5.0" }, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 65c3be6..2c451b1 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -280,21 +280,27 @@ importers: apps/webapp: dependencies: + '@ai-sdk/amazon-bedrock': + specifier: 2.2.12 + version: 2.2.12(zod@3.25.76) '@ai-sdk/anthropic': specifier: ^1.2.12 - version: 1.2.12(zod@3.23.8) + version: 1.2.12(zod@3.25.76) '@ai-sdk/google': specifier: ^1.2.22 - version: 1.2.22(zod@3.23.8) + version: 1.2.22(zod@3.25.76) '@ai-sdk/openai': specifier: ^1.3.21 - version: 1.3.22(zod@3.23.8) + version: 1.3.22(zod@3.25.76) '@anthropic-ai/sdk': specifier: ^0.60.0 version: 0.60.0 '@aws-sdk/client-s3': specifier: 3.879.0 version: 3.879.0 + '@aws-sdk/credential-providers': + specifier: ^3.894.0 + version: 3.894.0 '@aws-sdk/s3-request-presigner': specifier: 3.879.0 version: 3.879.0 @@ -306,7 +312,7 @@ importers: version: 0.6.3(react@18.3.1) '@conform-to/zod': specifier: ^0.6.1 - version: 0.6.3(@conform-to/dom@0.6.3)(zod@3.23.8) + version: 0.6.3(@conform-to/dom@0.6.3)(zod@3.25.76) '@core/database': specifier: workspace:* version: link:../../packages/database @@ -471,10 +477,10 @@ importers: version: 4.0.0-v4-beta.22(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@trigger.dev/sdk': specifier: 4.0.0-v4-beta.22 - version: 4.0.0-v4-beta.22(ai@4.3.14(react@18.3.1)(zod@3.23.8))(zod@3.23.8) + version: 4.0.0-v4-beta.22(ai@4.3.19(react@18.3.1)(zod@3.25.76))(zod@3.25.76) ai: - specifier: 4.3.14 - version: 4.3.14(react@18.3.1)(zod@3.23.8) + specifier: 4.3.19 + version: 4.3.19(react@18.3.1)(zod@3.25.76) axios: specifier: ^1.10.0 version: 1.10.0 @@ -582,10 +588,10 @@ importers: version: 1.0.2(@tiptap/extension-code-block@2.11.9(@tiptap/core@2.25.0(@tiptap/pm@2.25.0))(@tiptap/pm@2.25.0))(@types/react-dom@18.3.7(@types/react@18.2.69))(@types/react@18.2.69)(highlight.js@11.11.1)(lowlight@3.3.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) ollama-ai-provider: specifier: 1.2.0 - version: 1.2.0(zod@3.23.8) + version: 1.2.0(zod@3.25.76) openai: specifier: ^5.12.2 - version: 5.12.2(ws@8.18.3)(zod@3.23.8) + version: 5.12.2(ws@8.18.3)(zod@3.25.76) posthog-js: specifier: ^1.116.6 version: 1.250.2 @@ -621,10 +627,7 @@ importers: version: 0.3.1(@remix-run/react@2.16.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.8.3))(@remix-run/server-runtime@2.16.7(typescript@5.8.3))(react@18.3.1) remix-utils: specifier: ^7.7.0 - version: 7.7.0(@remix-run/node@2.1.0(typescript@5.8.3))(@remix-run/react@2.16.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.8.3))(@remix-run/router@1.23.0)(crypto-js@4.2.0)(react@18.3.1)(zod@3.23.8) - sdk: - specifier: link:@modelcontextprotocol/sdk - version: link:@modelcontextprotocol/sdk + version: 7.7.0(@remix-run/node@2.1.0(typescript@5.8.3))(@remix-run/react@2.16.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.8.3))(@remix-run/router@1.23.0)(crypto-js@4.2.0)(react@18.3.1)(zod@3.25.76) sigma: specifier: ^3.0.2 version: 3.0.2(graphology-types@0.24.8) @@ -647,14 +650,14 @@ importers: specifier: ^1.3.1 version: 1.3.3 zod: - specifier: 3.23.8 - version: 3.23.8 + specifier: 3.25.76 + version: 3.25.76 zod-error: specifier: 1.5.0 version: 1.5.0 zod-validation-error: specifier: ^1.5.0 - version: 1.5.0(zod@3.23.8) + version: 1.5.0(zod@3.25.76) devDependencies: '@remix-run/dev': specifier: 2.16.7 @@ -910,6 +913,12 @@ importers: packages: + '@ai-sdk/amazon-bedrock@2.2.12': + resolution: {integrity: sha512-m8gARnh45pr1s08Uu4J/Pm8913mwJPejPOm59b+kUqMsP9ilhUtH/bp8432Ra/v+vHuMoBrglG2ZvXtctAaH2g==} + engines: {node: '>=18'} + peerDependencies: + zod: ^3.0.0 + '@ai-sdk/anthropic@1.2.12': resolution: {integrity: sha512-YSzjlko7JvuiyQFmI9RN1tNZdEiZxc+6xld/0tq/VkJaHpEzGAb1yiNxxvmYVcjvfu/PcvCxAAYXmTYQQ63IHQ==} engines: {node: '>=18'} @@ -928,12 +937,6 @@ packages: peerDependencies: zod: ^3.0.0 - '@ai-sdk/provider-utils@2.2.7': - resolution: {integrity: sha512-kM0xS3GWg3aMChh9zfeM+80vEZfXzR3JEUBdycZLtbRZ2TRT8xOj3WodGHPb06sUK5yD7pAXC/P7ctsi2fvUGQ==} - engines: {node: '>=18'} - peerDependencies: - zod: ^3.23.8 - '@ai-sdk/provider-utils@2.2.8': resolution: {integrity: sha512-fqhG+4sCVv8x7nFzYnFo19ryhAa3w096Kmc3hWxMQfW/TubPOmt3A6tYZhl4mUfQWWQMsuSkLrtjlWuXBVSGQA==} engines: {node: '>=18'} @@ -944,8 +947,8 @@ packages: resolution: {integrity: sha512-qZMxYJ0qqX/RfnuIaab+zp8UAeJn/ygXXAffR5I4N0n1IrvA6qBsjc8hXLmBiMV2zoXlifkacF7sEFnYnjBcqg==} engines: {node: '>=18'} - '@ai-sdk/react@1.2.11': - resolution: {integrity: sha512-+kPqLkJ3TWP6czaJPV+vzAKSUcKQ1598BUrcLHt56sH99+LhmIIW3ylZp0OfC3O6TR3eO1Lt0Yzw4R0mK6g9Gw==} + '@ai-sdk/react@1.2.12': + resolution: {integrity: sha512-jK1IZZ22evPZoQW3vlkZ7wvjYGYF+tRBKXtrcolduIkQ/m/sOAVcVeVDUDvh1T91xCnWCdUGCPZg2avZ90mv3g==} engines: {node: '>=18'} peerDependencies: react: ^18 || ^19 || ^19.0.0-rc @@ -954,8 +957,8 @@ packages: zod: optional: true - '@ai-sdk/ui-utils@1.2.10': - resolution: {integrity: sha512-GUj+LBoAlRQF1dL/M49jtufGqtLOMApxTpCmVjoRpIPt/dFALVL9RfqfvxwztyIwbK+IxGzcYjSGRsrWrj+86g==} + '@ai-sdk/ui-utils@1.2.11': + resolution: {integrity: sha512-3zcwCc8ezzFlwp3ZD15wAPjf2Au4s3vAbKsXQVyhxODHcmu0iyPO2Eua6D/vicq/AUm/BAo60r97O6HU+EI0+w==} engines: {node: '>=18'} peerDependencies: zod: ^3.23.8 @@ -999,8 +1002,8 @@ packages: '@aws-crypto/util@5.2.0': resolution: {integrity: sha512-4RkU9EsI6ZpBve5fseQlGNUWKMa1RLPQ1dnjnQoe07ldfIzcsGb5hC5W0Dm7u423KWzawlrpbjXBrXCEv9zazQ==} - '@aws-sdk/client-cognito-identity@3.876.0': - resolution: {integrity: sha512-oSoTroa0sJ8TIFh/PamqAKBAmPzNvYCbWm7K9OFCOXApCxF7E981Cwd4AbXwLgy/AAMiXfPgCesPZqr0gTQQQQ==} + '@aws-sdk/client-cognito-identity@3.894.0': + resolution: {integrity: sha512-cLU6KuBtompmrmtT5QxTyDmxAL4l6Mklw9ktuJl/LG4ZCwrHFc+MoqNgUqB2pp9gWoX2nfjub2exf7PYp7b2Uw==} engines: {node: '>=18.0.0'} '@aws-sdk/client-s3@3.879.0': @@ -1027,6 +1030,10 @@ packages: resolution: {integrity: sha512-+Pc3OYFpRYpKLKRreovPM63FPPud1/SF9vemwIJfz6KwsBCJdvg7vYD1xLSIp5DVZLeetgf4reCyAA5ImBfZuw==} engines: {node: '>=18.0.0'} + '@aws-sdk/client-sso@3.894.0': + resolution: {integrity: sha512-lsznYIOiaMtbJfxTlMbvc6d37a1D6OIYF/RgFu9ue765XtiAG2RUF4aoEKA9e448Bwv+078eE+ndNxH3fd0uEw==} + engines: {node: '>=18.0.0'} + '@aws-sdk/core@3.826.0': resolution: {integrity: sha512-BGbQYzWj3ps+dblq33FY5tz/SsgJCcXX0zjQlSC07tYvU1jHTUvsefphyig+fY38xZ4wdKjbTop+KUmXUYrOXw==} engines: {node: '>=18.0.0'} @@ -1039,8 +1046,12 @@ packages: resolution: {integrity: sha512-AhNmLCrx980LsK+SfPXGh7YqTyZxsK0Qmy18mWmkfY0TSq7WLaSDB5zdQbgbnQCACCHy8DUYXbi4KsjlIhv3PA==} engines: {node: '>=18.0.0'} - '@aws-sdk/credential-provider-cognito-identity@3.876.0': - resolution: {integrity: sha512-6LlQCVef+DBpBZ3F1g7Fr6uuDCXLK4uf90f6bumZSg4ET/LUoAvIhWIiEZGkZ9jJ441Jnil73kOzwmsb7GkPWQ==} + '@aws-sdk/core@3.894.0': + resolution: {integrity: sha512-7zbO31NV2FaocmMtWOg/fuTk3PC2Ji2AC0Fi2KqrppEDIcwLlTTuT9w/rdu/93Pz+wyUhCxWnDc0tPbwtCLs+A==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/credential-provider-cognito-identity@3.894.0': + resolution: {integrity: sha512-5VjBf0Ria7VCA1bEUumGW/EnbGL92R1qtjuzgcQBa2xQy4h+5yOooAP+eHdTZveYlFsf4mi1aTAgupt2VsumoA==} engines: {node: '>=18.0.0'} '@aws-sdk/credential-provider-env@3.826.0': @@ -1055,6 +1066,10 @@ packages: resolution: {integrity: sha512-JgG7A8SSbr5IiCYL8kk39Y9chdSB5GPwBorDW8V8mr19G9L+qd6ohED4fAocoNFaDnYJ5wGAHhCfSJjzcsPBVQ==} engines: {node: '>=18.0.0'} + '@aws-sdk/credential-provider-env@3.894.0': + resolution: {integrity: sha512-2aiQJIRWOuROPPISKgzQnH/HqSfucdk5z5VMemVH3Mm2EYOrzBwmmiiFpmSMN3ST+sE8c7gusqycUchP+KfALQ==} + engines: {node: '>=18.0.0'} + '@aws-sdk/credential-provider-http@3.826.0': resolution: {integrity: sha512-N+IVZBh+yx/9GbMZTKO/gErBi/FYZQtcFRItoLbY+6WU+0cSWyZYfkoeOxHmQV3iX9k65oljERIWUmL9x6OSQg==} engines: {node: '>=18.0.0'} @@ -1067,6 +1082,10 @@ packages: resolution: {integrity: sha512-2hM5ByLpyK+qORUexjtYyDZsgxVCCUiJQZRMGkNXFEGz6zTpbjfTIWoh3zRgWHEBiqyPIyfEy50eIF69WshcuA==} engines: {node: '>=18.0.0'} + '@aws-sdk/credential-provider-http@3.894.0': + resolution: {integrity: sha512-Z5QQpqFRflszrT+lUq6+ORuu4jRDcpgCUSoTtlhczidMqfdOSckKmK3chZEfmUUJPSwoFQZ7EiVTsX3c886fBg==} + engines: {node: '>=18.0.0'} + '@aws-sdk/credential-provider-ini@3.828.0': resolution: {integrity: sha512-T3DJMo2/j7gCPpFg2+xEHWgua05t8WP89ye7PaZxA2Fc6CgScHkZsJZTri1QQIU2h+eOZ75EZWkeFLIPgN0kRQ==} engines: {node: '>=18.0.0'} @@ -1079,6 +1098,10 @@ packages: resolution: {integrity: sha512-07M8zfb73KmMBqVO5/V3Ea9kqDspMX0fO0kaI1bsjWI6ngnMye8jCE0/sIhmkVAI0aU709VA0g+Bzlopnw9EoQ==} engines: {node: '>=18.0.0'} + '@aws-sdk/credential-provider-ini@3.894.0': + resolution: {integrity: sha512-SpSR7ULrdBpOrqP7HtpBg1LtJiud+AKH+w8nXX9EjedbIVQgy5uNoGMxRt+fp3aa1D4TXooRPE183YpG6+zwLg==} + engines: {node: '>=18.0.0'} + '@aws-sdk/credential-provider-node@3.828.0': resolution: {integrity: sha512-9z3iPwVYOQYNzVZj8qycZaS/BOSKRXWA+QVNQlfEnQ4sA4sOcKR4kmV2h+rJcuBsSFfmOF62ZDxyIBGvvM4t/w==} engines: {node: '>=18.0.0'} @@ -1091,6 +1114,10 @@ packages: resolution: {integrity: sha512-FYaAqJbnSTrVL2iZkNDj2hj5087yMv2RN2GA8DJhe7iOJjzhzRojrtlfpWeJg6IhK0sBKDH+YXbdeexCzUJvtA==} engines: {node: '>=18.0.0'} + '@aws-sdk/credential-provider-node@3.894.0': + resolution: {integrity: sha512-B2QNQtZBYHCQLfxSyftGoW2gPtpM2ndhMfmKvIMrSuKUXz3v+p70FLsGRETeOu6kOHsobGlgK+TQCg08qGQfeQ==} + engines: {node: '>=18.0.0'} + '@aws-sdk/credential-provider-process@3.826.0': resolution: {integrity: sha512-kURrc4amu3NLtw1yZw7EoLNEVhmOMRUTs+chaNcmS+ERm3yK0nKjaJzmKahmwlTQTSl3wJ8jjK7x962VPo+zWw==} engines: {node: '>=18.0.0'} @@ -1103,6 +1130,10 @@ packages: resolution: {integrity: sha512-7r360x1VyEt35Sm1JFOzww2WpnfJNBbvvnzoyLt7WRfK0S/AfsuWhu5ltJ80QvJ0R3AiSNbG+q/btG2IHhDYPQ==} engines: {node: '>=18.0.0'} + '@aws-sdk/credential-provider-process@3.894.0': + resolution: {integrity: sha512-VU74GNsj+SsO+pl4d+JimlQ7+AcderZaC6bFndQssQdFZ5NRad8yFNz5Xbec8CPJr+z/VAwHib6431F5nYF46g==} + engines: {node: '>=18.0.0'} + '@aws-sdk/credential-provider-sso@3.828.0': resolution: {integrity: sha512-9CEAXzUDSzOjOCb3XfM15TZhTaM+l07kumZyx2z8NC6T2U4qbCJqn4h8mFlRvYrs6cBj2SN40sD3r5Wp0Cq2Kw==} engines: {node: '>=18.0.0'} @@ -1115,6 +1146,10 @@ packages: resolution: {integrity: sha512-gd27B0NsgtKlaPNARj4IX7F7US5NuU691rGm0EUSkDsM7TctvJULighKoHzPxDQlrDbVI11PW4WtKS/Zg5zPlQ==} engines: {node: '>=18.0.0'} + '@aws-sdk/credential-provider-sso@3.894.0': + resolution: {integrity: sha512-ZZ1jF8x70RObXbRAcUPMANqX0LhgxVCQBzAfy3tslOp3h6aTgB+WMdGpVVR91x00DbSJnswMMN+mgWkaw78fSQ==} + engines: {node: '>=18.0.0'} + '@aws-sdk/credential-provider-web-identity@3.828.0': resolution: {integrity: sha512-MguDhGHlQBeK9CQ/P4NOY0whAJ4HJU4x+f1dphg3I1sGlccFqfB8Moor2vXNKu0Th2kvAwkn9pr7gGb/+NGR9g==} engines: {node: '>=18.0.0'} @@ -1127,8 +1162,12 @@ packages: resolution: {integrity: sha512-Jy4uPFfGzHk1Mxy+/Wr43vuw9yXsE2yiF4e4598vc3aJfO0YtA2nSfbKD3PNKRORwXbeKqWPfph9SCKQpWoxEg==} engines: {node: '>=18.0.0'} - '@aws-sdk/credential-providers@3.876.0': - resolution: {integrity: sha512-ruCLlBpz+ggJQtdrnnfgjtFUJaHKN2WtNp1tyuV/qDmLk5vMgk2BSyOWLyTsbJC+L+I76w7NADY6VIRe9MiF0Q==} + '@aws-sdk/credential-provider-web-identity@3.894.0': + resolution: {integrity: sha512-6IwlCueEwzu2RAzUWufb4ZPf+LxF30vSTB1aHy9RVNce8MTaBt5VZ0EPdicdnhL0xqGuYNERP5+WpS70K7D1dw==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/credential-providers@3.894.0': + resolution: {integrity: sha512-4C9FqkXr7XVZTCQbfGt0TToSkXS/UwRUdZgcKkqNxj2LiLu0Lo9qnTJh4NAo7FHu2//6mUagLkp1aq7xsRwKHw==} engines: {node: '>=18.0.0'} '@aws-sdk/middleware-bucket-endpoint@3.873.0': @@ -1151,6 +1190,10 @@ packages: resolution: {integrity: sha512-KZ/W1uruWtMOs7D5j3KquOxzCnV79KQW9MjJFZM/M0l6KI8J6V3718MXxFHsTjUE4fpdV6SeCNLV1lwGygsjJA==} engines: {node: '>=18.0.0'} + '@aws-sdk/middleware-host-header@3.893.0': + resolution: {integrity: sha512-qL5xYRt80ahDfj9nDYLhpCNkDinEXvjLe/Qen/Y/u12+djrR2MB4DRa6mzBCkLkdXDtf0WAoW2EZsNCfGrmOEQ==} + engines: {node: '>=18.0.0'} + '@aws-sdk/middleware-location-constraint@3.873.0': resolution: {integrity: sha512-r+hIaORsW/8rq6wieDordXnA/eAu7xAPLue2InhoEX6ML7irP52BgiibHLpt9R0psiCzIHhju8qqKa4pJOrmiw==} engines: {node: '>=18.0.0'} @@ -1163,6 +1206,10 @@ packages: resolution: {integrity: sha512-cpWJhOuMSyz9oV25Z/CMHCBTgafDCbv7fHR80nlRrPdPZ8ETNsahwRgltXP1QJJ8r3X/c1kwpOR7tc+RabVzNA==} engines: {node: '>=18.0.0'} + '@aws-sdk/middleware-logger@3.893.0': + resolution: {integrity: sha512-ZqzMecjju5zkBquSIfVfCORI/3Mge21nUY4nWaGQy+NUXehqCGG4W7AiVpiHGOcY2cGJa7xeEkYcr2E2U9U0AA==} + engines: {node: '>=18.0.0'} + '@aws-sdk/middleware-recursion-detection@3.821.0': resolution: {integrity: sha512-efmaifbhBoqKG3bAoEfDdcM8hn1psF+4qa7ykWuYmfmah59JBeqHLfz5W9m9JoTwoKPkFcVLWZxnyZzAnVBOIg==} engines: {node: '>=18.0.0'} @@ -1171,6 +1218,10 @@ packages: resolution: {integrity: sha512-OtgY8EXOzRdEWR//WfPkA/fXl0+WwE8hq0y9iw2caNyKPtca85dzrrZWnPqyBK/cpImosrpR1iKMYr41XshsCg==} engines: {node: '>=18.0.0'} + '@aws-sdk/middleware-recursion-detection@3.893.0': + resolution: {integrity: sha512-H7Zotd9zUHQAr/wr3bcWHULYhEeoQrF54artgsoUGIf/9emv6LzY89QUccKIxYd6oHKNTrTyXm9F0ZZrzXNxlg==} + engines: {node: '>=18.0.0'} + '@aws-sdk/middleware-sdk-s3@3.879.0': resolution: {integrity: sha512-ZTpLr2AbZcCsEzu18YCtB8Tp8tjAWHT0ccfwy3HiL6g9ncuSMW+7BVi1hDYmBidFwpPbnnIMtM0db3pDMR6/WA==} engines: {node: '>=18.0.0'} @@ -1191,6 +1242,10 @@ packages: resolution: {integrity: sha512-DDSV8228lQxeMAFKnigkd0fHzzn5aauZMYC3CSj6e5/qE7+9OwpkUcjHfb7HZ9KWG6L2/70aKZXHqiJ4xKhOZw==} engines: {node: '>=18.0.0'} + '@aws-sdk/middleware-user-agent@3.894.0': + resolution: {integrity: sha512-+s1HRLDIuSMhOzVsxRKbatUjJib0w1AGxDfWNZWrSnM7Aq9U1cap0XgR9/zy7NhJ+I3Twrx6SCVfpjpZspoRTA==} + engines: {node: '>=18.0.0'} + '@aws-sdk/nested-clients@3.828.0': resolution: {integrity: sha512-xmeOILiR9LvfC8MctgeRXXN8nQTwbOvO4wHvgE8tDRsjnBpyyO0j50R4+viHXdMUGtgGkHEXRv8fFNBq54RgnA==} engines: {node: '>=18.0.0'} @@ -1203,6 +1258,10 @@ packages: resolution: {integrity: sha512-7+n9NpIz9QtKYnxmw1fHi9C8o0GrX8LbBR4D50c7bH6Iq5+XdSuL5AFOWWQ5cMD0JhqYYJhK/fJsVau3nUtC4g==} engines: {node: '>=18.0.0'} + '@aws-sdk/nested-clients@3.894.0': + resolution: {integrity: sha512-FEEIk43RLO7Oy2BHXfwbo4gjCec7pK7i5nnUT9GbJQh6JMcS0FqPJGF95lQa93quS3SgwdCpWbv01TH86i+41w==} + engines: {node: '>=18.0.0'} + '@aws-sdk/region-config-resolver@3.821.0': resolution: {integrity: sha512-t8og+lRCIIy5nlId0bScNpCkif8sc0LhmtaKsbm0ZPm3sCa/WhCbSZibjbZ28FNjVCV+p0D9RYZx0VDDbtWyjw==} engines: {node: '>=18.0.0'} @@ -1211,6 +1270,10 @@ packages: resolution: {integrity: sha512-q9sPoef+BBG6PJnc4x60vK/bfVwvRWsPgcoQyIra057S/QGjq5VkjvNk6H8xedf6vnKlXNBwq9BaANBXnldUJg==} engines: {node: '>=18.0.0'} + '@aws-sdk/region-config-resolver@3.893.0': + resolution: {integrity: sha512-/cJvh3Zsa+Of0Zbg7vl9wp/kZtdb40yk/2+XcroAMVPO9hPvmS9r/UOm6tO7FeX4TtkRFwWaQJiTZTgSdsPY+Q==} + engines: {node: '>=18.0.0'} + '@aws-sdk/s3-request-presigner@3.879.0': resolution: {integrity: sha512-WNUrY4UW1ZAkBiSq9HnhJcG/1NdrEy37DDxqE8u0OdIZHhbgU1x1r4iXgQssAZhV6D+Ib70oiQGtPSH/lXeMKg==} engines: {node: '>=18.0.0'} @@ -1231,6 +1294,10 @@ packages: resolution: {integrity: sha512-47J7sCwXdnw9plRZNAGVkNEOlSiLb/kR2slnDIHRK9NB/ECKsoqgz5OZQJ9E2f0yqOs8zSNJjn3T01KxpgW8Qw==} engines: {node: '>=18.0.0'} + '@aws-sdk/token-providers@3.894.0': + resolution: {integrity: sha512-tOkrD6U3UrU5IJfbBl932RBi8EjFVFkU1hAjPgAWWBDy6uRQunpuh3i1z6dRQoelVT88BmEyEv1l/WpM5uZezg==} + engines: {node: '>=18.0.0'} + '@aws-sdk/types@3.821.0': resolution: {integrity: sha512-Znroqdai1a90TlxGaJ+FK1lwC0fHpo97Xjsp5UKGR5JODYm7f9+/fF17ebO1KdoBr/Rm0UIFiF5VmI8ts9F1eA==} engines: {node: '>=18.0.0'} @@ -1239,6 +1306,10 @@ packages: resolution: {integrity: sha512-Bei+RL0cDxxV+lW2UezLbCYYNeJm6Nzee0TpW0FfyTRBhH9C1XQh4+x+IClriXvgBnRquTMMYsmJfvx8iyLKrg==} engines: {node: '>=18.0.0'} + '@aws-sdk/types@3.893.0': + resolution: {integrity: sha512-Aht1nn5SnA0N+Tjv0dzhAY7CQbxVtmq1bBR6xI0MhG7p2XYVh1wXuKTzrldEvQWwA3odOYunAfT9aBiKZx9qIg==} + engines: {node: '>=18.0.0'} + '@aws-sdk/util-arn-parser@3.873.0': resolution: {integrity: sha512-qag+VTqnJWDn8zTAXX4wiVioa0hZDQMtbZcGRERVnLar4/3/VIKBhxX2XibNQXFu1ufgcRn4YntT/XEPecFWcg==} engines: {node: '>=18.0.0'} @@ -1255,6 +1326,10 @@ packages: resolution: {integrity: sha512-aVAJwGecYoEmbEFju3127TyJDF9qJsKDUUTRMDuS8tGn+QiWQFnfInmbt+el9GU1gEJupNTXV+E3e74y51fb7A==} engines: {node: '>=18.0.0'} + '@aws-sdk/util-endpoints@3.893.0': + resolution: {integrity: sha512-xeMcL31jXHKyxRwB3oeNjs8YEpyvMnSYWr2OwLydgzgTr0G349AHlJHwYGCF9xiJ2C27kDxVvXV/Hpdp0p7TWw==} + engines: {node: '>=18.0.0'} + '@aws-sdk/util-format-url@3.873.0': resolution: {integrity: sha512-v//b9jFnhzTKKV3HFTw2MakdM22uBAs2lBov51BWmFXuFtSTdBLrR7zgfetQPE3PVkFai0cmtJQPdc3MX+T/cQ==} engines: {node: '>=18.0.0'} @@ -1269,6 +1344,9 @@ packages: '@aws-sdk/util-user-agent-browser@3.873.0': resolution: {integrity: sha512-AcRdbK6o19yehEcywI43blIBhOCSo6UgyWcuOJX5CFF8k39xm1ILCjQlRRjchLAxWrm0lU0Q7XV90RiMMFMZtA==} + '@aws-sdk/util-user-agent-browser@3.893.0': + resolution: {integrity: sha512-PE9NtbDBW6Kgl1bG6A5fF3EPo168tnkj8TgMcT0sg4xYBWsBpq0bpJZRh+Jm5Bkwiw9IgTCLjEU7mR6xWaMB9w==} + '@aws-sdk/util-user-agent-node@3.828.0': resolution: {integrity: sha512-LdN6fTBzTlQmc8O8f1wiZN0qF3yBWVGis7NwpWK7FUEzP9bEZRxYfIkV9oV9zpt6iNRze1SedK3JQVB/udxBoA==} engines: {node: '>=18.0.0'} @@ -1296,6 +1374,15 @@ packages: aws-crt: optional: true + '@aws-sdk/util-user-agent-node@3.894.0': + resolution: {integrity: sha512-tmA3XtQA6nPGyJGl9+7Bbo/5UmUvqCiweC5fNmfTg/aLpT3YkiivOG36XhuJxXVBkX3jr5Sc+IsaANUlJmblEA==} + engines: {node: '>=18.0.0'} + peerDependencies: + aws-crt: '>=1.0.0' + peerDependenciesMeta: + aws-crt: + optional: true + '@aws-sdk/xml-builder@3.821.0': resolution: {integrity: sha512-DIIotRnefVL6DiaHtO6/21DhJ4JZnnIwdNbpwiAhdt/AVbttcE4yw925gsjur0OGv5BTYXQXU3YnANBYnZjuQA==} engines: {node: '>=18.0.0'} @@ -1304,6 +1391,14 @@ packages: resolution: {integrity: sha512-kLO7k7cGJ6KaHiExSJWojZurF7SnGMDHXRuQunFnEoD0n1yB6Lqy/S/zHiQ7oJnBhPr9q0TW9qFkrsZb1Uc54w==} engines: {node: '>=18.0.0'} + '@aws-sdk/xml-builder@3.894.0': + resolution: {integrity: sha512-E6EAMc9dT1a2DOdo4zyOf3fp5+NJ2wI+mcm7RaW1baFIWDwcb99PpvWoV7YEiK7oaBDshuOEGWKUSYXdW+JYgA==} + engines: {node: '>=18.0.0'} + + '@aws/lambda-invoke-store@0.0.1': + resolution: {integrity: sha512-ORHRQ2tmvnBXc8t/X9Z8IcSbBA4xTLKuN873FopzklHMeqBst7YG0d+AX97inkvDX+NChYtSr+qGfcqGFaI8Zw==} + engines: {node: '>=18.0.0'} + '@babel/code-frame@7.27.1': resolution: {integrity: sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==} engines: {node: '>=6.9.0'} @@ -1320,6 +1415,10 @@ packages: resolution: {integrity: sha512-bXYxrXFubeYdvB0NhD/NBB3Qi6aZeV20GOWVI47t2dkecCEoneR4NPVcb7abpXDEvejgrUfFtG6vG/zxAKmg+g==} engines: {node: '>=6.9.0'} + '@babel/core@7.28.4': + resolution: {integrity: sha512-2BCOP7TN8M+gVDj7/ht3hsaO/B/n5oDbiAyyvnRlNOs+u1o+JWNYTQrmpuNp1/Wq2gcFrI01JAW+paEKDMx/CA==} + engines: {node: '>=6.9.0'} + '@babel/eslint-parser@7.27.5': resolution: {integrity: sha512-HLkYQfRICudzcOtjGwkPvGc5nF1b4ljLZh1IRDj50lRZ718NAKVgQpIAUX8bfg6u/yuSKY3L7E0YzIV+OxrB8Q==} engines: {node: ^10.13.0 || ^12.13.0 || >=14.0.0} @@ -1331,6 +1430,10 @@ packages: resolution: {integrity: sha512-ZGhA37l0e/g2s1Cnzdix0O3aLYm66eF8aufiVteOgnwxgnRP8GoyMj7VWsgWnQbVKXyge7hqrFh2K2TQM6t1Hw==} engines: {node: '>=6.9.0'} + '@babel/generator@7.28.3': + resolution: {integrity: sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw==} + engines: {node: '>=6.9.0'} + '@babel/helper-annotate-as-pure@7.27.3': resolution: {integrity: sha512-fXSwMQqitTGeHLBC08Eq5yXz2m37E4pJX1qAU1+2cNedz/ifv/bVXft90VeSav5nFO61EcNgwr0aJxbyPaWBPg==} engines: {node: '>=6.9.0'} @@ -1345,6 +1448,10 @@ packages: peerDependencies: '@babel/core': ^7.0.0 + '@babel/helper-globals@7.28.0': + resolution: {integrity: sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==} + engines: {node: '>=6.9.0'} + '@babel/helper-member-expression-to-functions@7.27.1': resolution: {integrity: sha512-E5chM8eWjTp/aNoVpcbfM7mLxu9XGLWYise2eBKGQomAk/Mb4XoxyqXTZbuTohbsl8EKqdlMhnDI2CCLfcs9wA==} engines: {node: '>=6.9.0'} @@ -1359,6 +1466,12 @@ packages: peerDependencies: '@babel/core': ^7.0.0 + '@babel/helper-module-transforms@7.28.3': + resolution: {integrity: sha512-gytXUbs8k2sXS9PnQptz5o0QnpLL51SwASIORY6XaBKF88nsOT0Zw9szLqlSGQDP/4TljBAD5y98p2U1fqkdsw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + '@babel/helper-optimise-call-expression@7.27.1': resolution: {integrity: sha512-URMGH08NzYFhubNSGJrpUEphGKQwMQYBySzat5cAByY1/YgIRkULnIy3tAMeszlL/so2HbeilYloUmSpd7GdVw==} engines: {node: '>=6.9.0'} @@ -1393,6 +1506,10 @@ packages: resolution: {integrity: sha512-muE8Tt8M22638HU31A3CgfSUciwz1fhATfoVai05aPXGor//CdWDCbnlY1yvBPo07njuVOCNGCSp/GTt12lIug==} engines: {node: '>=6.9.0'} + '@babel/helpers@7.28.4': + resolution: {integrity: sha512-HFN59MmQXGHVyYadKLVumYsA9dBFun/ldYxipEjzA4196jpLZd8UjEEBLkbEkvfYreDqJhZxYAWFPtrfhNpj4w==} + engines: {node: '>=6.9.0'} + '@babel/parser@7.24.5': resolution: {integrity: sha512-EOv5IK8arwh3LI47dz1b0tKUb/1uhHAnHJOrjgtQMIpu1uXd9mlFrJg9IUgGUgZ41Ch0K8REPTYpO7B76b4vJg==} engines: {node: '>=6.0.0'} @@ -1403,6 +1520,11 @@ packages: engines: {node: '>=6.0.0'} hasBin: true + '@babel/parser@7.28.4': + resolution: {integrity: sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg==} + engines: {node: '>=6.0.0'} + hasBin: true + '@babel/plugin-syntax-decorators@7.27.1': resolution: {integrity: sha512-YMq8Z87Lhl8EGkmb0MwYkt36QnxC+fzCgrl66ereamPlYToRpIk5nUjKUY3QKLWq8mwUB1BgbeXcTJhZOCDg5A==} engines: {node: '>=6.9.0'} @@ -1481,10 +1603,18 @@ packages: resolution: {integrity: sha512-oNcu2QbHqts9BtOWJosOVJapWjBDSxGCpFvikNR5TGDYDQf3JwpIoMzIKrvfoti93cLfPJEG4tH9SPVeyCGgdA==} engines: {node: '>=6.9.0'} + '@babel/traverse@7.28.4': + resolution: {integrity: sha512-YEzuboP2qvQavAcjgQNVgsvHIDv6ZpwXvcvjmyySP2DIMuByS/6ioU5G9pYrWHM6T2YDfc7xga9iNzYOs12CFQ==} + engines: {node: '>=6.9.0'} + '@babel/types@7.27.6': resolution: {integrity: sha512-ETyHEk2VHHvl9b9jZP5IHPavHYk57EhanlRRuae9XCpb/j5bDCbPPMOBfCWhnl/7EDJz0jEMCi/RhccCE8r1+Q==} engines: {node: '>=6.9.0'} + '@babel/types@7.28.4': + resolution: {integrity: sha512-bkFqkLhh3pMBUQQkpVgWDWq/lqzc2678eUyDlTBhRqhCHFguYYGM0Efga7tYk4TogG/3x0EEl66/OQ+WGbWB/Q==} + engines: {node: '>=6.9.0'} + '@bugsnag/cuid@3.2.1': resolution: {integrity: sha512-zpvN8xQ5rdRWakMd/BcVkdn2F8HKlDSbM3l7duueK590WmI1T0ObTLc1V/1e55r14WNjPd5AJTYX4yPEAFVi+Q==} @@ -2491,10 +2621,16 @@ packages: resolution: {integrity: sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w==} engines: {node: '>=18.0.0'} + '@jridgewell/gen-mapping@0.3.13': + resolution: {integrity: sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==} + '@jridgewell/gen-mapping@0.3.8': resolution: {integrity: sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==} engines: {node: '>=6.0.0'} + '@jridgewell/remapping@2.3.5': + resolution: {integrity: sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==} + '@jridgewell/resolve-uri@3.1.2': resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} engines: {node: '>=6.0.0'} @@ -2509,9 +2645,15 @@ packages: '@jridgewell/sourcemap-codec@1.5.0': resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==} + '@jridgewell/sourcemap-codec@1.5.5': + resolution: {integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==} + '@jridgewell/trace-mapping@0.3.25': resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} + '@jridgewell/trace-mapping@0.3.31': + resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==} + '@js-sdsl/ordered-map@4.4.2': resolution: {integrity: sha512-iUKgm52T8HOE/makSxjqoWhe95ZJA1/G1sYsGev2JDKUSS14KAgg1LHb+Ba+IPow0xflbnSkOsZcO08C7w1gYw==} @@ -4430,6 +4572,10 @@ packages: resolution: {integrity: sha512-jcrqdTQurIrBbUm4W2YdLVMQDoL0sA9DTxYd2s+R/y+2U9NLOP7Xf/YqfSg1FZhlZIYEnvk2mwbyvIfdLEPo8g==} engines: {node: '>=18.0.0'} + '@smithy/abort-controller@4.1.1': + resolution: {integrity: sha512-vkzula+IwRvPR6oKQhMYioM3A/oX/lFCZiwuxkQbRhqJS2S4YRY2k7k/SyR2jMf3607HLtbEwlRxi0ndXHMjRg==} + engines: {node: '>=18.0.0'} + '@smithy/chunked-blob-reader-native@4.0.0': resolution: {integrity: sha512-R9wM2yPmfEMsUmlMlIgSzOyICs0x9uu7UTHoccMyt7BWw8shcGM8HqB355+BZCPBcySvbTYMs62EgEQkNxz2ig==} engines: {node: '>=18.0.0'} @@ -4446,6 +4592,14 @@ packages: resolution: {integrity: sha512-viuHMxBAqydkB0AfWwHIdwf/PRH2z5KHGUzqyRtS/Wv+n3IHI993Sk76VCA7dD/+GzgGOmlJDITfPcJC1nIVIw==} engines: {node: '>=18.0.0'} + '@smithy/config-resolver@4.2.2': + resolution: {integrity: sha512-IT6MatgBWagLybZl1xQcURXRICvqz1z3APSCAI9IqdvfCkrA7RaQIEfgC6G/KvfxnDfQUDqFV+ZlixcuFznGBQ==} + engines: {node: '>=18.0.0'} + + '@smithy/core@3.12.0': + resolution: {integrity: sha512-zJeAgogZfbwlPGL93y4Z/XNeIN37YCreRUd6YMIRvaq+6RnBK8PPYYIQ85Is/GglPh3kNImD5riDCXbVSDpCiQ==} + engines: {node: '>=18.0.0'} + '@smithy/core@3.5.3': resolution: {integrity: sha512-xa5byV9fEguZNofCclv6v9ra0FYh5FATQW/da7FQUVTic94DfrN/NvmKZjrMyzbpqfot9ZjBaO8U1UeTbmSLuA==} engines: {node: '>=18.0.0'} @@ -4466,8 +4620,12 @@ packages: resolution: {integrity: sha512-dDzrMXA8d8riFNiPvytxn0mNwR4B3h8lgrQ5UjAGu6T9z/kRg/Xncf4tEQHE/+t25sY8IH3CowcmWi+1U5B1Gw==} engines: {node: '>=18.0.0'} - '@smithy/eventstream-codec@4.0.5': - resolution: {integrity: sha512-miEUN+nz2UTNoRYRhRqVTJCx7jMeILdAurStT2XoS+mhokkmz1xAPp95DFW9Gxt4iF2VBqpeF9HbTQ3kY1viOA==} + '@smithy/credential-provider-imds@4.1.2': + resolution: {integrity: sha512-JlYNq8TShnqCLg0h+afqe2wLAwZpuoSgOyzhYvTgbiKBWRov+uUve+vrZEQO6lkdLOWPh7gK5dtb9dS+KGendg==} + engines: {node: '>=18.0.0'} + + '@smithy/eventstream-codec@4.1.1': + resolution: {integrity: sha512-PwkQw1hZwHTQB6X5hSUWz2OSeuj5Z6enWuAqke7DgWoP3t6vg3ktPpqPz3Erkn6w+tmsl8Oss6nrgyezoea2Iw==} engines: {node: '>=18.0.0'} '@smithy/eventstream-serde-browser@4.0.5': @@ -4494,6 +4652,10 @@ packages: resolution: {integrity: sha512-61WjM0PWmZJR+SnmzaKI7t7G0UkkNFboDpzIdzSoy7TByUzlxo18Qlh9s71qug4AY4hlH/CwXdubMtkcNEb/sQ==} engines: {node: '>=18.0.0'} + '@smithy/fetch-http-handler@5.2.1': + resolution: {integrity: sha512-5/3wxKNtV3wO/hk1is+CZUhL8a1yy/U+9u9LKQ9kZTkMsHaQjJhc3stFfiujtMnkITjzWfndGA2f7g9Uh9vKng==} + engines: {node: '>=18.0.0'} + '@smithy/hash-blob-browser@4.0.5': resolution: {integrity: sha512-F7MmCd3FH/Q2edhcKd+qulWkwfChHbc9nhguBlVjSUE6hVHhec3q6uPQ+0u69S6ppvLtR3eStfCuEKMXBXhvvA==} engines: {node: '>=18.0.0'} @@ -4506,6 +4668,10 @@ packages: resolution: {integrity: sha512-cv1HHkKhpyRb6ahD8Vcfb2Hgz67vNIXEp2vnhzfxLFGRukLCNEA5QdsorbUEzXma1Rco0u3rx5VTqbM06GcZqQ==} engines: {node: '>=18.0.0'} + '@smithy/hash-node@4.1.1': + resolution: {integrity: sha512-H9DIU9WBLhYrvPs9v4sYvnZ1PiAI0oc8CgNQUJ1rpN3pP7QADbTOUjchI2FB764Ub0DstH5xbTqcMJu1pnVqxA==} + engines: {node: '>=18.0.0'} + '@smithy/hash-stream-node@4.0.5': resolution: {integrity: sha512-IJuDS3+VfWB67UC0GU0uYBG/TA30w+PlOaSo0GPm9UHS88A6rCP6uZxNjNYiyRtOcjv7TXn/60cW8ox1yuZsLg==} engines: {node: '>=18.0.0'} @@ -4518,6 +4684,10 @@ packages: resolution: {integrity: sha512-IVnb78Qtf7EJpoEVo7qJ8BEXQwgC4n3igeJNNKEj/MLYtapnx8A67Zt/J3RXAj2xSO1910zk0LdFiygSemuLow==} engines: {node: '>=18.0.0'} + '@smithy/invalid-dependency@4.1.1': + resolution: {integrity: sha512-1AqLyFlfrrDkyES8uhINRlJXmHA2FkG+3DY8X+rmLSqmFwk3DJnvhyGzyByPyewh2jbmV+TYQBEfngQax8IFGg==} + engines: {node: '>=18.0.0'} + '@smithy/is-array-buffer@2.2.0': resolution: {integrity: sha512-GGP3O9QFD24uGeAXYUjwSTXARoqpZykHadOmA8G5vfJPK0/DC67qa//0qvqrJzL1xc8WQWX7/yc7fwudjPHPhA==} engines: {node: '>=14.0.0'} @@ -4526,6 +4696,10 @@ packages: resolution: {integrity: sha512-saYhF8ZZNoJDTvJBEWgeBccCg+yvp1CX+ed12yORU3NilJScfc6gfch2oVb4QgxZrGUx3/ZJlb+c/dJbyupxlw==} engines: {node: '>=18.0.0'} + '@smithy/is-array-buffer@4.1.0': + resolution: {integrity: sha512-ePTYUOV54wMogio+he4pBybe8fwg4sDvEVDBU8ZlHOZXbXK3/C0XfJgUCu6qAZcawv05ZhZzODGUerFBPsPUDQ==} + engines: {node: '>=18.0.0'} + '@smithy/md5-js@4.0.5': resolution: {integrity: sha512-8n2XCwdUbGr8W/XhMTaxILkVlw2QebkVTn5tm3HOcbPbOpWg89zr6dPXsH8xbeTsbTXlJvlJNTQsKAIoqQGbdA==} engines: {node: '>=18.0.0'} @@ -4538,6 +4712,10 @@ packages: resolution: {integrity: sha512-l1jlNZoYzoCC7p0zCtBDE5OBXZ95yMKlRlftooE5jPWQn4YBPLgsp+oeHp7iMHaTGoUdFqmHOPa8c9G3gBsRpQ==} engines: {node: '>=18.0.0'} + '@smithy/middleware-content-length@4.1.1': + resolution: {integrity: sha512-9wlfBBgTsRvC2JxLJxv4xDGNBrZuio3AgSl0lSFX7fneW2cGskXTYpFxCdRYD2+5yzmsiTuaAJD1Wp7gWt9y9w==} + engines: {node: '>=18.0.0'} + '@smithy/middleware-endpoint@4.1.11': resolution: {integrity: sha512-zDogwtRLzKl58lVS8wPcARevFZNBOOqnmzWWxVe9XiaXU2CADFjvJ9XfNibgkOWs08sxLuSr81NrpY4mgp9OwQ==} engines: {node: '>=18.0.0'} @@ -4550,6 +4728,10 @@ packages: resolution: {integrity: sha512-6jwjI4l9LkpEN/77ylyWsA6o81nKSIj8itRjtPpVqYSf+q8b12uda0Upls5CMSDXoL/jY2gPsNj+/Tg3gbYYew==} engines: {node: '>=18.0.0'} + '@smithy/middleware-endpoint@4.2.4': + resolution: {integrity: sha512-FZ4hzupOmthm8Q8ujYrd0I+/MHwVMuSTdkDtIQE0xVuvJt9pLT6Q+b0p4/t+slDyrpcf+Wj7SN+ZqT5OryaaZg==} + engines: {node: '>=18.0.0'} + '@smithy/middleware-retry@4.1.12': resolution: {integrity: sha512-wvIH70c4e91NtRxdaLZF+mbLZ/HcC6yg7ySKUiufL6ESp6zJUSnJucZ309AvG9nqCFHSRB5I6T3Ez1Q9wCh0Ww==} engines: {node: '>=18.0.0'} @@ -4562,6 +4744,10 @@ packages: resolution: {integrity: sha512-oFpp+4JfNef0Mp2Jw8wIl1jVxjhUU3jFZkk3UTqBtU5Xp6/ahTu6yo1EadWNPAnCjKTo8QB6Q+SObX97xfMUtA==} engines: {node: '>=18.0.0'} + '@smithy/middleware-retry@4.3.0': + resolution: {integrity: sha512-qhEX9745fAxZvtLM4bQJAVC98elWjiMO2OiHl1s6p7hUzS4QfZO1gXUYNwEK8m0J6NoCD5W52ggWxbIDHI0XSg==} + engines: {node: '>=18.0.0'} + '@smithy/middleware-serde@4.0.8': resolution: {integrity: sha512-iSSl7HJoJaGyMIoNn2B7czghOVwJ9nD7TMvLhMWeSB5vt0TnEYyRRqPJu/TqW76WScaNvYYB8nRoiBHR9S1Ddw==} engines: {node: '>=18.0.0'} @@ -4570,6 +4756,10 @@ packages: resolution: {integrity: sha512-uAFFR4dpeoJPGz8x9mhxp+RPjo5wW0QEEIPPPbLXiRRWeCATf/Km3gKIVR5vaP8bN1kgsPhcEeh+IZvUlBv6Xg==} engines: {node: '>=18.0.0'} + '@smithy/middleware-serde@4.1.1': + resolution: {integrity: sha512-lh48uQdbCoj619kRouev5XbWhCwRKLmphAif16c4J6JgJ4uXjub1PI6RL38d3BLliUvSso6klyB/LTNpWSNIyg==} + engines: {node: '>=18.0.0'} + '@smithy/middleware-stack@4.0.4': resolution: {integrity: sha512-kagK5ggDrBUCCzI93ft6DjteNSfY8Ulr83UtySog/h09lTIOAJ/xUSObutanlPT0nhoHAkpmW9V5K8oPyLh+QA==} engines: {node: '>=18.0.0'} @@ -4578,6 +4768,10 @@ packages: resolution: {integrity: sha512-/yoHDXZPh3ocRVyeWQFvC44u8seu3eYzZRveCMfgMOBcNKnAmOvjbL9+Cp5XKSIi9iYA9PECUuW2teDAk8T+OQ==} engines: {node: '>=18.0.0'} + '@smithy/middleware-stack@4.1.1': + resolution: {integrity: sha512-ygRnniqNcDhHzs6QAPIdia26M7e7z9gpkIMUe/pK0RsrQ7i5MblwxY8078/QCnGq6AmlUUWgljK2HlelsKIb/A==} + engines: {node: '>=18.0.0'} + '@smithy/node-config-provider@4.1.3': resolution: {integrity: sha512-HGHQr2s59qaU1lrVH6MbLlmOBxadtzTsoO4c+bF5asdgVik3I8o7JIOzoeqWc5MjVa+vD36/LWE0iXKpNqooRw==} engines: {node: '>=18.0.0'} @@ -4586,6 +4780,10 @@ packages: resolution: {integrity: sha512-+UDQV/k42jLEPPHSn39l0Bmc4sB1xtdI9Gd47fzo/0PbXzJ7ylgaOByVjF5EeQIumkepnrJyfx86dPa9p47Y+w==} engines: {node: '>=18.0.0'} + '@smithy/node-config-provider@4.2.2': + resolution: {integrity: sha512-SYGTKyPvyCfEzIN5rD8q/bYaOPZprYUPD2f5g9M7OjaYupWOoQFYJ5ho+0wvxIRf471i2SR4GoiZ2r94Jq9h6A==} + engines: {node: '>=18.0.0'} + '@smithy/node-http-handler@4.0.6': resolution: {integrity: sha512-NqbmSz7AW2rvw4kXhKGrYTiJVDHnMsFnX4i+/FzcZAfbOBauPYs2ekuECkSbtqaxETLLTu9Rl/ex6+I2BKErPA==} engines: {node: '>=18.0.0'} @@ -4594,6 +4792,10 @@ packages: resolution: {integrity: sha512-RHnlHqFpoVdjSPPiYy/t40Zovf3BBHc2oemgD7VsVTFFZrU5erFFe0n52OANZZ/5sbshgD93sOh5r6I35Xmpaw==} engines: {node: '>=18.0.0'} + '@smithy/node-http-handler@4.2.1': + resolution: {integrity: sha512-REyybygHlxo3TJICPF89N2pMQSf+p+tBJqpVe1+77Cfi9HBPReNjTgtZ1Vg73exq24vkqJskKDpfF74reXjxfw==} + engines: {node: '>=18.0.0'} + '@smithy/property-provider@4.0.4': resolution: {integrity: sha512-qHJ2sSgu4FqF4U/5UUp4DhXNmdTrgmoAai6oQiM+c5RZ/sbDwJ12qxB1M6FnP+Tn/ggkPZf9ccn4jqKSINaquw==} engines: {node: '>=18.0.0'} @@ -4602,6 +4804,10 @@ packages: resolution: {integrity: sha512-R/bswf59T/n9ZgfgUICAZoWYKBHcsVDurAGX88zsiUtOTA/xUAPyiT+qkNCPwFn43pZqN84M4MiUsbSGQmgFIQ==} engines: {node: '>=18.0.0'} + '@smithy/property-provider@4.1.1': + resolution: {integrity: sha512-gm3ZS7DHxUbzC2wr8MUCsAabyiXY0gaj3ROWnhSx/9sPMc6eYLMM4rX81w1zsMaObj2Lq3PZtNCC1J6lpEY7zg==} + engines: {node: '>=18.0.0'} + '@smithy/protocol-http@5.1.2': resolution: {integrity: sha512-rOG5cNLBXovxIrICSBm95dLqzfvxjEmuZx4KK3hWwPFHGdW3lxY0fZNXfv2zebfRO7sJZ5pKJYHScsqopeIWtQ==} engines: {node: '>=18.0.0'} @@ -4610,6 +4816,10 @@ packages: resolution: {integrity: sha512-fCJd2ZR7D22XhDY0l+92pUag/7je2BztPRQ01gU5bMChcyI0rlly7QFibnYHzcxDvccMjlpM/Q1ev8ceRIb48w==} engines: {node: '>=18.0.0'} + '@smithy/protocol-http@5.2.1': + resolution: {integrity: sha512-T8SlkLYCwfT/6m33SIU/JOVGNwoelkrvGjFKDSDtVvAXj/9gOT78JVJEas5a+ETjOu4SVvpCstKgd0PxSu/aHw==} + engines: {node: '>=18.0.0'} + '@smithy/querystring-builder@4.0.4': resolution: {integrity: sha512-SwREZcDnEYoh9tLNgMbpop+UTGq44Hl9tdj3rf+yeLcfH7+J8OXEBaMc2kDxtyRHu8BhSg9ADEx0gFHvpJgU8w==} engines: {node: '>=18.0.0'} @@ -4618,6 +4828,10 @@ packages: resolution: {integrity: sha512-NJeSCU57piZ56c+/wY+AbAw6rxCCAOZLCIniRE7wqvndqxcKKDOXzwWjrY7wGKEISfhL9gBbAaWWgHsUGedk+A==} engines: {node: '>=18.0.0'} + '@smithy/querystring-builder@4.1.1': + resolution: {integrity: sha512-J9b55bfimP4z/Jg1gNo+AT84hr90p716/nvxDkPGCD4W70MPms0h8KF50RDRgBGZeL83/u59DWNqJv6tEP/DHA==} + engines: {node: '>=18.0.0'} + '@smithy/querystring-parser@4.0.4': resolution: {integrity: sha512-6yZf53i/qB8gRHH/l2ZwUG5xgkPgQF15/KxH0DdXMDHjesA9MeZje/853ifkSY0x4m5S+dfDZ+c4x439PF0M2w==} engines: {node: '>=18.0.0'} @@ -4626,6 +4840,10 @@ packages: resolution: {integrity: sha512-6SV7md2CzNG/WUeTjVe6Dj8noH32r4MnUeFKZrnVYsQxpGSIcphAanQMayi8jJLZAWm6pdM9ZXvKCpWOsIGg0w==} engines: {node: '>=18.0.0'} + '@smithy/querystring-parser@4.1.1': + resolution: {integrity: sha512-63TEp92YFz0oQ7Pj9IuI3IgnprP92LrZtRAkE3c6wLWJxfy/yOPRt39IOKerVr0JS770olzl0kGafXlAXZ1vng==} + engines: {node: '>=18.0.0'} + '@smithy/service-error-classification@4.0.5': resolution: {integrity: sha512-LvcfhrnCBvCmTee81pRlh1F39yTS/+kYleVeLCwNtkY8wtGg8V/ca9rbZZvYIl8OjlMtL6KIjaiL/lgVqHD2nA==} engines: {node: '>=18.0.0'} @@ -4634,6 +4852,10 @@ packages: resolution: {integrity: sha512-XvRHOipqpwNhEjDf2L5gJowZEm5nsxC16pAZOeEcsygdjv9A2jdOh3YoDQvOXBGTsaJk6mNWtzWalOB9976Wlg==} engines: {node: '>=18.0.0'} + '@smithy/service-error-classification@4.1.2': + resolution: {integrity: sha512-Kqd8wyfmBWHZNppZSMfrQFpc3M9Y/kjyN8n8P4DqJJtuwgK1H914R471HTw7+RL+T7+kI1f1gOnL7Vb5z9+NgQ==} + engines: {node: '>=18.0.0'} + '@smithy/shared-ini-file-loader@4.0.4': resolution: {integrity: sha512-63X0260LoFBjrHifPDs+nM9tV0VMkOTl4JRMYNuKh/f5PauSjowTfvF3LogfkWdcPoxsA9UjqEOgjeYIbhb7Nw==} engines: {node: '>=18.0.0'} @@ -4642,6 +4864,10 @@ packages: resolution: {integrity: sha512-YVVwehRDuehgoXdEL4r1tAAzdaDgaC9EQvhK0lEbfnbrd0bd5+CTQumbdPryX3J2shT7ZqQE+jPW4lmNBAB8JQ==} engines: {node: '>=18.0.0'} + '@smithy/shared-ini-file-loader@4.2.0': + resolution: {integrity: sha512-OQTfmIEp2LLuWdxa8nEEPhZmiOREO6bcB6pjs0AySf4yiZhl6kMOfqmcwcY8BaBPX+0Tb+tG7/Ia/6mwpoZ7Pw==} + engines: {node: '>=18.0.0'} + '@smithy/signature-v4@5.1.2': resolution: {integrity: sha512-d3+U/VpX7a60seHziWnVZOHuEgJlclufjkS6zhXvxcJgkJq4UWdH5eOBLzHRMx6gXjsdT9h6lfpmLzbrdupHgQ==} engines: {node: '>=18.0.0'} @@ -4650,6 +4876,10 @@ packages: resolution: {integrity: sha512-mARDSXSEgllNzMw6N+mC+r1AQlEBO3meEAkR/UlfAgnMzJUB3goRBWgip1EAMG99wh36MDqzo86SfIX5Y+VEaw==} engines: {node: '>=18.0.0'} + '@smithy/signature-v4@5.2.1': + resolution: {integrity: sha512-M9rZhWQLjlQVCCR37cSjHfhriGRN+FQ8UfgrYNufv66TJgk+acaggShl3KS5U/ssxivvZLlnj7QH2CUOKlxPyA==} + engines: {node: '>=18.0.0'} + '@smithy/smithy-client@4.4.10': resolution: {integrity: sha512-iW6HjXqN0oPtRS0NK/zzZ4zZeGESIFcxj2FkWed3mcK8jdSdHzvnCKXSjvewESKAgGKAbJRA+OsaqKhkdYRbQQ==} engines: {node: '>=18.0.0'} @@ -4662,6 +4892,10 @@ packages: resolution: {integrity: sha512-PuvtnQgwpy3bb56YvHAP7eRwp862yJxtQno40UX9kTjjkgTlo//ov+e1IVCFTiELcAOiqF2++Y0e7eH/Zgv5Vw==} engines: {node: '>=18.0.0'} + '@smithy/smithy-client@4.6.4': + resolution: {integrity: sha512-qL7O3VDyfzCSN9r+sdbQXGhaHtrfSJL30En6Jboj0I3bobf2g1/T0eP2L4qxqrEW26gWhJ4THI4ElVVLjYyBHg==} + engines: {node: '>=18.0.0'} + '@smithy/types@4.3.1': resolution: {integrity: sha512-UqKOQBL2x6+HWl3P+3QqFD4ncKq0I8Nuz9QItGv5WuKuMHuuwlhvqcZCoXGfc+P1QmfJE7VieykoYYmrOoFJxA==} engines: {node: '>=18.0.0'} @@ -4670,6 +4904,10 @@ packages: resolution: {integrity: sha512-QO4zghLxiQ5W9UZmX2Lo0nta2PuE1sSrXUYDoaB6HMR762C0P7v/HEPHf6ZdglTVssJG1bsrSBxdc3quvDSihw==} engines: {node: '>=18.0.0'} + '@smithy/types@4.5.0': + resolution: {integrity: sha512-RkUpIOsVlAwUIZXO1dsz8Zm+N72LClFfsNqf173catVlvRZiwPy0x2u0JLEA4byreOPKDZPGjmPDylMoP8ZJRg==} + engines: {node: '>=18.0.0'} + '@smithy/url-parser@4.0.4': resolution: {integrity: sha512-eMkc144MuN7B0TDA4U2fKs+BqczVbk3W+qIvcoCY6D1JY3hnAdCuhCZODC+GAeaxj0p6Jroz4+XMUn3PCxQQeQ==} engines: {node: '>=18.0.0'} @@ -4678,18 +4916,34 @@ packages: resolution: {integrity: sha512-j+733Um7f1/DXjYhCbvNXABV53NyCRRA54C7bNEIxNPs0YjfRxeMKjjgm2jvTYrciZyCjsicHwQ6Q0ylo+NAUw==} engines: {node: '>=18.0.0'} + '@smithy/url-parser@4.1.1': + resolution: {integrity: sha512-bx32FUpkhcaKlEoOMbScvc93isaSiRM75pQ5IgIBaMkT7qMlIibpPRONyx/0CvrXHzJLpOn/u6YiDX2hcvs7Dg==} + engines: {node: '>=18.0.0'} + '@smithy/util-base64@4.0.0': resolution: {integrity: sha512-CvHfCmO2mchox9kjrtzoHkWHxjHZzaFojLc8quxXY7WAAMAg43nuxwv95tATVgQFNDwd4M9S1qFzj40Ul41Kmg==} engines: {node: '>=18.0.0'} + '@smithy/util-base64@4.1.0': + resolution: {integrity: sha512-RUGd4wNb8GeW7xk+AY5ghGnIwM96V0l2uzvs/uVHf+tIuVX2WSvynk5CxNoBCsM2rQRSZElAo9rt3G5mJ/gktQ==} + engines: {node: '>=18.0.0'} + '@smithy/util-body-length-browser@4.0.0': resolution: {integrity: sha512-sNi3DL0/k64/LO3A256M+m3CDdG6V7WKWHdAiBBMUN8S3hK3aMPhwnPik2A/a2ONN+9doY9UxaLfgqsIRg69QA==} engines: {node: '>=18.0.0'} + '@smithy/util-body-length-browser@4.1.0': + resolution: {integrity: sha512-V2E2Iez+bo6bUMOTENPr6eEmepdY8Hbs+Uc1vkDKgKNA/brTJqOW/ai3JO1BGj9GbCeLqw90pbbH7HFQyFotGQ==} + engines: {node: '>=18.0.0'} + '@smithy/util-body-length-node@4.0.0': resolution: {integrity: sha512-q0iDP3VsZzqJyje8xJWEJCNIu3lktUGVoSy1KB0UWym2CL1siV3artm+u1DFYTLejpsrdGyCSWBdGNjJzfDPjg==} engines: {node: '>=18.0.0'} + '@smithy/util-body-length-node@4.1.0': + resolution: {integrity: sha512-BOI5dYjheZdgR9XiEM3HJcEMCXSoqbzu7CzIgYrx0UtmvtC3tC2iDGpJLsSRFffUpy8ymsg2ARMP5fR8mtuUQQ==} + 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'} @@ -4698,10 +4952,18 @@ packages: resolution: {integrity: sha512-9TOQ7781sZvddgO8nxueKi3+yGvkY35kotA0Y6BWRajAv8jjmigQ1sBwz0UX47pQMYXJPahSKEKYFgt+rXdcug==} engines: {node: '>=18.0.0'} + '@smithy/util-buffer-from@4.1.0': + resolution: {integrity: sha512-N6yXcjfe/E+xKEccWEKzK6M+crMrlwaCepKja0pNnlSkm6SjAeLKKA++er5Ba0I17gvKfN/ThV+ZOx/CntKTVw==} + engines: {node: '>=18.0.0'} + '@smithy/util-config-provider@4.0.0': resolution: {integrity: sha512-L1RBVzLyfE8OXH+1hsJ8p+acNUSirQnWQ6/EgpchV88G6zGBTDPdXiiExei6Z1wR2RxYvxY/XLw6AMNCCt8H3w==} engines: {node: '>=18.0.0'} + '@smithy/util-config-provider@4.1.0': + resolution: {integrity: sha512-swXz2vMjrP1ZusZWVTB/ai5gK+J8U0BWvP10v9fpcFvg+Xi/87LHvHfst2IgCs1i0v4qFZfGwCmeD/KNCdJZbQ==} + engines: {node: '>=18.0.0'} + '@smithy/util-defaults-mode-browser@4.0.19': resolution: {integrity: sha512-mvLMh87xSmQrV5XqnUYEPoiFFeEGYeAKIDDKdhE2ahqitm8OHM3aSvhqL6rrK6wm1brIk90JhxDf5lf2hbrLbQ==} engines: {node: '>=18.0.0'} @@ -4714,6 +4976,10 @@ packages: resolution: {integrity: sha512-83Iqb9c443d8S/9PD6Bb770Q3ZvCenfgJDoR98iveI+zKpu6d4mOVS2RKBU9Z4VQPbRcrRj71SY0kZePGh+wZg==} engines: {node: '>=18.0.0'} + '@smithy/util-defaults-mode-browser@4.1.4': + resolution: {integrity: sha512-mLDJ1s4eA3vwOGaQOEPlg5LB4LdZUUMpB5UMOMofeGhWqiS7WR7dTpLiNi9zVn+YziKUd3Af5NLfxDs7NJqmIw==} + engines: {node: '>=18.0.0'} + '@smithy/util-defaults-mode-node@4.0.19': resolution: {integrity: sha512-8tYnx+LUfj6m+zkUUIrIQJxPM1xVxfRBvoGHua7R/i6qAxOMjqR6CpEpDwKoIs1o0+hOjGvkKE23CafKL0vJ9w==} engines: {node: '>=18.0.0'} @@ -4726,6 +4992,10 @@ packages: resolution: {integrity: sha512-LzklW4HepBM198vH0C3v+WSkMHOkxu7axCEqGoKdICz3RHLq+mDs2AkDDXVtB61+SHWoiEsc6HOObzVQbNLO0Q==} engines: {node: '>=18.0.0'} + '@smithy/util-defaults-mode-node@4.1.4': + resolution: {integrity: sha512-pjX2iMTcOASaSanAd7bu6i3fcMMezr3NTr8Rh64etB0uHRZi+Aw86DoCxPESjY4UTIuA06hhqtTtw95o//imYA==} + engines: {node: '>=18.0.0'} + '@smithy/util-endpoints@3.0.6': resolution: {integrity: sha512-YARl3tFL3WgPuLzljRUnrS2ngLiUtkwhQtj8PAL13XZSyUiNLQxwG3fBBq3QXFqGFUXepIN73pINp3y8c2nBmA==} engines: {node: '>=18.0.0'} @@ -4734,10 +5004,18 @@ packages: resolution: {integrity: sha512-klGBP+RpBp6V5JbrY2C/VKnHXn3d5V2YrifZbmMY8os7M6m8wdYFoO6w/fe5VkP+YVwrEktW3IWYaSQVNZJ8oQ==} engines: {node: '>=18.0.0'} + '@smithy/util-endpoints@3.1.2': + resolution: {integrity: sha512-+AJsaaEGb5ySvf1SKMRrPZdYHRYSzMkCoK16jWnIMpREAnflVspMIDeCVSZJuj+5muZfgGpNpijE3mUNtjv01Q==} + engines: {node: '>=18.0.0'} + '@smithy/util-hex-encoding@4.0.0': resolution: {integrity: sha512-Yk5mLhHtfIgW2W2WQZWSg5kuMZCVbvhFmC7rV4IO2QqnZdbEFPmQnCcGMAX2z/8Qj3B9hYYNjZOhWym+RwhePw==} engines: {node: '>=18.0.0'} + '@smithy/util-hex-encoding@4.1.0': + resolution: {integrity: sha512-1LcueNN5GYC4tr8mo14yVYbh/Ur8jHhWOxniZXii+1+ePiIbsLZ5fEI0QQGtbRRP5mOhmooos+rLmVASGGoq5w==} + engines: {node: '>=18.0.0'} + '@smithy/util-middleware@4.0.4': resolution: {integrity: sha512-9MLKmkBmf4PRb0ONJikCbCwORACcil6gUWojwARCClT7RmLzF04hUR4WdRprIXal7XVyrddadYNfp2eF3nrvtQ==} engines: {node: '>=18.0.0'} @@ -4746,6 +5024,10 @@ packages: resolution: {integrity: sha512-N40PfqsZHRSsByGB81HhSo+uvMxEHT+9e255S53pfBw/wI6WKDI7Jw9oyu5tJTLwZzV5DsMha3ji8jk9dsHmQQ==} engines: {node: '>=18.0.0'} + '@smithy/util-middleware@4.1.1': + resolution: {integrity: sha512-CGmZ72mL29VMfESz7S6dekqzCh8ZISj3B+w0g1hZFXaOjGTVaSqfAEFAq8EGp8fUL+Q2l8aqNmt8U1tglTikeg==} + engines: {node: '>=18.0.0'} + '@smithy/util-retry@4.0.5': resolution: {integrity: sha512-V7MSjVDTlEt/plmOFBn1762Dyu5uqMrV2Pl2X0dYk4XvWfdWJNe9Bs5Bzb56wkCuiWjSfClVMGcsuKrGj7S/yg==} engines: {node: '>=18.0.0'} @@ -4754,6 +5036,10 @@ packages: resolution: {integrity: sha512-TTO6rt0ppK70alZpkjwy+3nQlTiqNfoXja+qwuAchIEAIoSZW8Qyd76dvBv3I5bCpE38APafG23Y/u270NspiQ==} engines: {node: '>=18.0.0'} + '@smithy/util-retry@4.1.2': + resolution: {integrity: sha512-NCgr1d0/EdeP6U5PSZ9Uv5SMR5XRRYoVr1kRVtKZxWL3tixEL3UatrPIMFZSKwHlCcp2zPLDvMubVDULRqeunA==} + engines: {node: '>=18.0.0'} + '@smithy/util-stream@4.2.2': resolution: {integrity: sha512-aI+GLi7MJoVxg24/3J1ipwLoYzgkB4kUfogZfnslcYlynj3xsQ0e7vk4TnTro9hhsS5PvX1mwmkRqqHQjwcU7w==} engines: {node: '>=18.0.0'} @@ -4762,10 +5048,18 @@ packages: resolution: {integrity: sha512-vSKnvNZX2BXzl0U2RgCLOwWaAP9x/ddd/XobPK02pCbzRm5s55M53uwb1rl/Ts7RXZvdJZerPkA+en2FDghLuQ==} engines: {node: '>=18.0.0'} + '@smithy/util-stream@4.3.2': + resolution: {integrity: sha512-Ka+FA2UCC/Q1dEqUanCdpqwxOFdf5Dg2VXtPtB1qxLcSGh5C1HdzklIt18xL504Wiy9nNUKwDMRTVCbKGoK69g==} + engines: {node: '>=18.0.0'} + '@smithy/util-uri-escape@4.0.0': resolution: {integrity: sha512-77yfbCbQMtgtTylO9itEAdpPXSog3ZxMe09AEhm0dU0NLTalV70ghDZFR+Nfi1C60jnJoh/Re4090/DuZh2Omg==} engines: {node: '>=18.0.0'} + '@smithy/util-uri-escape@4.1.0': + resolution: {integrity: sha512-b0EFQkq35K5NHUYxU72JuoheM6+pytEVUGlTwiFxWFpmddA+Bpz3LgsPRIpBk8lnPE47yT7AF2Egc3jVnKLuPg==} + engines: {node: '>=18.0.0'} + '@smithy/util-utf8@2.3.0': resolution: {integrity: sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A==} engines: {node: '>=14.0.0'} @@ -4774,6 +5068,10 @@ packages: resolution: {integrity: sha512-b+zebfKCfRdgNJDknHCob3O7FpeYQN6ZG6YLExMcasDHsCXlsXCEuiPZeLnJLpwa5dvPetGlnGCiMHuLwGvFow==} engines: {node: '>=18.0.0'} + '@smithy/util-utf8@4.1.0': + resolution: {integrity: sha512-mEu1/UIXAdNYuBcyEPbjScKi/+MQVXNIuY/7Cm5XLIWe319kDrT5SizBE95jqtmEXoDbGoZxKLCMttdZdqTZKQ==} + engines: {node: '>=18.0.0'} + '@smithy/util-waiter@4.0.5': resolution: {integrity: sha512-4QvC49HTteI1gfemu0I1syWovJgPvGn7CVUoN9ZFkdvr/cCFkrEL7qNCdx/2eICqDWEGnnr68oMdSIPCLAriSQ==} engines: {node: '>=18.0.0'} @@ -4782,6 +5080,10 @@ packages: resolution: {integrity: sha512-mYqtQXPmrwvUljaHyGxYUIIRI3qjBTEb/f5QFi3A6VlxhpmZd5mWXn9W+qUkf2pVE1Hv3SqxefiZOPGdxmO64A==} engines: {node: '>=18.0.0'} + '@smithy/uuid@1.0.0': + resolution: {integrity: sha512-OlA/yZHh0ekYFnbUkmYBDQPE6fGfdrvgz39ktp8Xf+FA6BfxLejPTMDOG0Nfk5/rDySAz1dRbFf24zaAFYVXlQ==} + engines: {node: '>=18.0.0'} + '@socket.io/component-emitter@3.1.2': resolution: {integrity: sha512-9BCxFwvbGg/RsZK9tjXd8s4UcwR0MWeFQ1XEKIQVVvAGJyINdrqKMcTRyLoK8Rse1GjzLV9cwjWV1olXRWEXVA==} @@ -5901,8 +6203,8 @@ packages: resolution: {integrity: sha512-0poP0T7el6Vq3rstR8Mn4V/IQrpBLO6POkUSrN7RhyY+GF/InCFShQzsQ39T25gkHhLgSLByyAz+Kjb+c2L98w==} engines: {node: '>=12'} - ai@4.3.14: - resolution: {integrity: sha512-YAL7T7OIf6+nr0rT3kB+W4UU8lw3QZH+xtGud7sdOJHFufdn+4K5xSO3isXAM+5sxG0RgR4G9uD0ZoLPzuRTGg==} + ai@4.3.19: + resolution: {integrity: sha512-dIE2bfNpqHN3r6IINp9znguYdhIOheKW2LDigAMrgt/upT3B8eBGPSCblENvaZGoq+hxaN9fSMzjWpbqloP+7Q==} engines: {node: '>=18'} peerDependencies: react: ^18 || ^19 || ^19.0.0-rc @@ -6075,6 +6377,9 @@ packages: resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} engines: {node: '>= 0.4'} + aws4fetch@1.0.20: + resolution: {integrity: sha512-/djoAN709iY65ETD6LKCtyyEI04XIBP5xVvfmNxsEP0uJB5tyaGBztSryRr4HqMStr9R06PisQE7m9zDTXKu6g==} + axe-core@4.10.3: resolution: {integrity: sha512-Xm7bpRXnDSX2YE2YFfBk2FnF0ep6tmG7xPh8iHee8MIcrgq762Nkce856dYtJYLkuIoYZvGfTs/PbZhideTcEg==} engines: {node: '>=4'} @@ -6834,6 +7139,15 @@ packages: supports-color: optional: true + debug@4.4.3: + resolution: {integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + decamelize-keys@1.1.1: resolution: {integrity: sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==} engines: {node: '>=0.10.0'} @@ -8378,6 +8692,11 @@ packages: engines: {node: '>=6'} hasBin: true + jsesc@3.1.0: + resolution: {integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==} + engines: {node: '>=6'} + hasBin: true + json-buffer@3.0.1: resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} @@ -12019,58 +12338,60 @@ packages: snapshots: - '@ai-sdk/anthropic@1.2.12(zod@3.23.8)': + '@ai-sdk/amazon-bedrock@2.2.12(zod@3.25.76)': dependencies: '@ai-sdk/provider': 1.1.3 - '@ai-sdk/provider-utils': 2.2.8(zod@3.23.8) - zod: 3.23.8 + '@ai-sdk/provider-utils': 2.2.8(zod@3.25.76) + '@smithy/eventstream-codec': 4.1.1 + '@smithy/util-utf8': 4.1.0 + aws4fetch: 1.0.20 + zod: 3.25.76 - '@ai-sdk/google@1.2.22(zod@3.23.8)': + '@ai-sdk/anthropic@1.2.12(zod@3.25.76)': dependencies: '@ai-sdk/provider': 1.1.3 - '@ai-sdk/provider-utils': 2.2.8(zod@3.23.8) - zod: 3.23.8 + '@ai-sdk/provider-utils': 2.2.8(zod@3.25.76) + zod: 3.25.76 - '@ai-sdk/openai@1.3.22(zod@3.23.8)': + '@ai-sdk/google@1.2.22(zod@3.25.76)': dependencies: '@ai-sdk/provider': 1.1.3 - '@ai-sdk/provider-utils': 2.2.8(zod@3.23.8) - zod: 3.23.8 + '@ai-sdk/provider-utils': 2.2.8(zod@3.25.76) + zod: 3.25.76 - '@ai-sdk/provider-utils@2.2.7(zod@3.23.8)': + '@ai-sdk/openai@1.3.22(zod@3.25.76)': + dependencies: + '@ai-sdk/provider': 1.1.3 + '@ai-sdk/provider-utils': 2.2.8(zod@3.25.76) + zod: 3.25.76 + + '@ai-sdk/provider-utils@2.2.8(zod@3.25.76)': dependencies: '@ai-sdk/provider': 1.1.3 nanoid: 3.3.8 secure-json-parse: 2.7.0 - zod: 3.23.8 - - '@ai-sdk/provider-utils@2.2.8(zod@3.23.8)': - dependencies: - '@ai-sdk/provider': 1.1.3 - nanoid: 3.3.8 - secure-json-parse: 2.7.0 - zod: 3.23.8 + zod: 3.25.76 '@ai-sdk/provider@1.1.3': dependencies: json-schema: 0.4.0 - '@ai-sdk/react@1.2.11(react@18.3.1)(zod@3.23.8)': + '@ai-sdk/react@1.2.12(react@18.3.1)(zod@3.25.76)': dependencies: - '@ai-sdk/provider-utils': 2.2.7(zod@3.23.8) - '@ai-sdk/ui-utils': 1.2.10(zod@3.23.8) + '@ai-sdk/provider-utils': 2.2.8(zod@3.25.76) + '@ai-sdk/ui-utils': 1.2.11(zod@3.25.76) react: 18.3.1 swr: 2.3.3(react@18.3.1) throttleit: 2.1.0 optionalDependencies: - zod: 3.23.8 + zod: 3.25.76 - '@ai-sdk/ui-utils@1.2.10(zod@3.23.8)': + '@ai-sdk/ui-utils@1.2.11(zod@3.25.76)': dependencies: '@ai-sdk/provider': 1.1.3 - '@ai-sdk/provider-utils': 2.2.7(zod@3.23.8) - zod: 3.23.8 - zod-to-json-schema: 3.24.5(zod@3.23.8) + '@ai-sdk/provider-utils': 2.2.8(zod@3.25.76) + zod: 3.25.76 + zod-to-json-schema: 3.24.5(zod@3.25.76) '@alloc/quick-lru@5.2.0': {} @@ -12086,7 +12407,7 @@ snapshots: '@aws-crypto/crc32@5.2.0': dependencies: '@aws-crypto/util': 5.2.0 - '@aws-sdk/types': 3.862.0 + '@aws-sdk/types': 3.893.0 tslib: 2.8.1 '@aws-crypto/crc32c@5.2.0': @@ -12109,7 +12430,7 @@ snapshots: '@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.862.0 + '@aws-sdk/types': 3.893.0 '@aws-sdk/util-locate-window': 3.804.0 '@smithy/util-utf8': 2.3.0 tslib: 2.8.1 @@ -12117,7 +12438,7 @@ snapshots: '@aws-crypto/sha256-js@5.2.0': dependencies: '@aws-crypto/util': 5.2.0 - '@aws-sdk/types': 3.862.0 + '@aws-sdk/types': 3.893.0 tslib: 2.8.1 '@aws-crypto/supports-web-crypto@5.2.0': @@ -12130,46 +12451,46 @@ snapshots: '@smithy/util-utf8': 2.3.0 tslib: 2.8.1 - '@aws-sdk/client-cognito-identity@3.876.0': + '@aws-sdk/client-cognito-identity@3.894.0': dependencies: '@aws-crypto/sha256-browser': 5.2.0 '@aws-crypto/sha256-js': 5.2.0 - '@aws-sdk/core': 3.876.0 - '@aws-sdk/credential-provider-node': 3.876.0 - '@aws-sdk/middleware-host-header': 3.873.0 - '@aws-sdk/middleware-logger': 3.876.0 - '@aws-sdk/middleware-recursion-detection': 3.873.0 - '@aws-sdk/middleware-user-agent': 3.876.0 - '@aws-sdk/region-config-resolver': 3.873.0 - '@aws-sdk/types': 3.862.0 - '@aws-sdk/util-endpoints': 3.873.0 - '@aws-sdk/util-user-agent-browser': 3.873.0 - '@aws-sdk/util-user-agent-node': 3.876.0 - '@smithy/config-resolver': 4.1.5 - '@smithy/core': 3.8.0 - '@smithy/fetch-http-handler': 5.1.1 - '@smithy/hash-node': 4.0.5 - '@smithy/invalid-dependency': 4.0.5 - '@smithy/middleware-content-length': 4.0.5 - '@smithy/middleware-endpoint': 4.1.18 - '@smithy/middleware-retry': 4.1.19 - '@smithy/middleware-serde': 4.0.9 - '@smithy/middleware-stack': 4.0.5 - '@smithy/node-config-provider': 4.1.4 - '@smithy/node-http-handler': 4.1.1 - '@smithy/protocol-http': 5.1.3 - '@smithy/smithy-client': 4.4.10 - '@smithy/types': 4.3.2 - '@smithy/url-parser': 4.0.5 - '@smithy/util-base64': 4.0.0 - '@smithy/util-body-length-browser': 4.0.0 - '@smithy/util-body-length-node': 4.0.0 - '@smithy/util-defaults-mode-browser': 4.0.26 - '@smithy/util-defaults-mode-node': 4.0.26 - '@smithy/util-endpoints': 3.0.7 - '@smithy/util-middleware': 4.0.5 - '@smithy/util-retry': 4.0.7 - '@smithy/util-utf8': 4.0.0 + '@aws-sdk/core': 3.894.0 + '@aws-sdk/credential-provider-node': 3.894.0 + '@aws-sdk/middleware-host-header': 3.893.0 + '@aws-sdk/middleware-logger': 3.893.0 + '@aws-sdk/middleware-recursion-detection': 3.893.0 + '@aws-sdk/middleware-user-agent': 3.894.0 + '@aws-sdk/region-config-resolver': 3.893.0 + '@aws-sdk/types': 3.893.0 + '@aws-sdk/util-endpoints': 3.893.0 + '@aws-sdk/util-user-agent-browser': 3.893.0 + '@aws-sdk/util-user-agent-node': 3.894.0 + '@smithy/config-resolver': 4.2.2 + '@smithy/core': 3.12.0 + '@smithy/fetch-http-handler': 5.2.1 + '@smithy/hash-node': 4.1.1 + '@smithy/invalid-dependency': 4.1.1 + '@smithy/middleware-content-length': 4.1.1 + '@smithy/middleware-endpoint': 4.2.4 + '@smithy/middleware-retry': 4.3.0 + '@smithy/middleware-serde': 4.1.1 + '@smithy/middleware-stack': 4.1.1 + '@smithy/node-config-provider': 4.2.2 + '@smithy/node-http-handler': 4.2.1 + '@smithy/protocol-http': 5.2.1 + '@smithy/smithy-client': 4.6.4 + '@smithy/types': 4.5.0 + '@smithy/url-parser': 4.1.1 + '@smithy/util-base64': 4.1.0 + '@smithy/util-body-length-browser': 4.1.0 + '@smithy/util-body-length-node': 4.1.0 + '@smithy/util-defaults-mode-browser': 4.1.4 + '@smithy/util-defaults-mode-node': 4.1.4 + '@smithy/util-endpoints': 3.1.2 + '@smithy/util-middleware': 4.1.1 + '@smithy/util-retry': 4.1.2 + '@smithy/util-utf8': 4.1.0 tslib: 2.8.1 transitivePeerDependencies: - aws-crt @@ -12343,8 +12664,8 @@ snapshots: '@aws-sdk/util-endpoints': 3.828.0 '@aws-sdk/util-user-agent-browser': 3.821.0 '@aws-sdk/util-user-agent-node': 3.828.0 - '@smithy/config-resolver': 4.1.4 - '@smithy/core': 3.5.3 + '@smithy/config-resolver': 4.1.5 + '@smithy/core': 3.9.1 '@smithy/fetch-http-handler': 5.0.4 '@smithy/hash-node': 4.0.4 '@smithy/invalid-dependency': 4.0.4 @@ -12353,11 +12674,11 @@ snapshots: '@smithy/middleware-retry': 4.1.12 '@smithy/middleware-serde': 4.0.8 '@smithy/middleware-stack': 4.0.4 - '@smithy/node-config-provider': 4.1.3 + '@smithy/node-config-provider': 4.1.4 '@smithy/node-http-handler': 4.0.6 '@smithy/protocol-http': 5.1.2 '@smithy/smithy-client': 4.4.3 - '@smithy/types': 4.3.1 + '@smithy/types': 4.5.0 '@smithy/url-parser': 4.0.4 '@smithy/util-base64': 4.0.0 '@smithy/util-body-length-browser': 4.0.0 @@ -12367,7 +12688,7 @@ snapshots: '@smithy/util-endpoints': 3.0.6 '@smithy/util-middleware': 4.0.4 '@smithy/util-retry': 4.0.5 - '@smithy/util-utf8': 4.0.0 + '@smithy/util-utf8': 4.1.0 tslib: 2.8.1 transitivePeerDependencies: - aws-crt @@ -12387,7 +12708,7 @@ snapshots: '@aws-sdk/util-user-agent-browser': 3.873.0 '@aws-sdk/util-user-agent-node': 3.876.0 '@smithy/config-resolver': 4.1.5 - '@smithy/core': 3.8.0 + '@smithy/core': 3.9.1 '@smithy/fetch-http-handler': 5.1.1 '@smithy/hash-node': 4.0.5 '@smithy/invalid-dependency': 4.0.5 @@ -12399,8 +12720,8 @@ snapshots: '@smithy/node-config-provider': 4.1.4 '@smithy/node-http-handler': 4.1.1 '@smithy/protocol-http': 5.1.3 - '@smithy/smithy-client': 4.4.10 - '@smithy/types': 4.3.2 + '@smithy/smithy-client': 4.5.1 + '@smithy/types': 4.5.0 '@smithy/url-parser': 4.0.5 '@smithy/util-base64': 4.0.0 '@smithy/util-body-length-browser': 4.0.0 @@ -12410,7 +12731,7 @@ snapshots: '@smithy/util-endpoints': 3.0.7 '@smithy/util-middleware': 4.0.5 '@smithy/util-retry': 4.0.7 - '@smithy/util-utf8': 4.0.0 + '@smithy/util-utf8': 4.1.0 tslib: 2.8.1 transitivePeerDependencies: - aws-crt @@ -12443,7 +12764,7 @@ snapshots: '@smithy/node-http-handler': 4.1.1 '@smithy/protocol-http': 5.1.3 '@smithy/smithy-client': 4.5.1 - '@smithy/types': 4.3.2 + '@smithy/types': 4.5.0 '@smithy/url-parser': 4.0.5 '@smithy/util-base64': 4.0.0 '@smithy/util-body-length-browser': 4.0.0 @@ -12453,7 +12774,50 @@ snapshots: '@smithy/util-endpoints': 3.0.7 '@smithy/util-middleware': 4.0.5 '@smithy/util-retry': 4.0.7 - '@smithy/util-utf8': 4.0.0 + '@smithy/util-utf8': 4.1.0 + tslib: 2.8.1 + transitivePeerDependencies: + - aws-crt + + '@aws-sdk/client-sso@3.894.0': + dependencies: + '@aws-crypto/sha256-browser': 5.2.0 + '@aws-crypto/sha256-js': 5.2.0 + '@aws-sdk/core': 3.894.0 + '@aws-sdk/middleware-host-header': 3.893.0 + '@aws-sdk/middleware-logger': 3.893.0 + '@aws-sdk/middleware-recursion-detection': 3.893.0 + '@aws-sdk/middleware-user-agent': 3.894.0 + '@aws-sdk/region-config-resolver': 3.893.0 + '@aws-sdk/types': 3.893.0 + '@aws-sdk/util-endpoints': 3.893.0 + '@aws-sdk/util-user-agent-browser': 3.893.0 + '@aws-sdk/util-user-agent-node': 3.894.0 + '@smithy/config-resolver': 4.2.2 + '@smithy/core': 3.12.0 + '@smithy/fetch-http-handler': 5.2.1 + '@smithy/hash-node': 4.1.1 + '@smithy/invalid-dependency': 4.1.1 + '@smithy/middleware-content-length': 4.1.1 + '@smithy/middleware-endpoint': 4.2.4 + '@smithy/middleware-retry': 4.3.0 + '@smithy/middleware-serde': 4.1.1 + '@smithy/middleware-stack': 4.1.1 + '@smithy/node-config-provider': 4.2.2 + '@smithy/node-http-handler': 4.2.1 + '@smithy/protocol-http': 5.2.1 + '@smithy/smithy-client': 4.6.4 + '@smithy/types': 4.5.0 + '@smithy/url-parser': 4.1.1 + '@smithy/util-base64': 4.1.0 + '@smithy/util-body-length-browser': 4.1.0 + '@smithy/util-body-length-node': 4.1.0 + '@smithy/util-defaults-mode-browser': 4.1.4 + '@smithy/util-defaults-mode-node': 4.1.4 + '@smithy/util-endpoints': 3.1.2 + '@smithy/util-middleware': 4.1.1 + '@smithy/util-retry': 4.1.2 + '@smithy/util-utf8': 4.1.0 tslib: 2.8.1 transitivePeerDependencies: - aws-crt @@ -12472,7 +12836,7 @@ snapshots: '@smithy/util-base64': 4.0.0 '@smithy/util-body-length-browser': 4.0.0 '@smithy/util-middleware': 4.0.4 - '@smithy/util-utf8': 4.0.0 + '@smithy/util-utf8': 4.1.0 fast-xml-parser: 4.4.1 tslib: 2.8.1 @@ -12486,11 +12850,11 @@ snapshots: '@smithy/protocol-http': 5.1.3 '@smithy/signature-v4': 5.1.3 '@smithy/smithy-client': 4.4.10 - '@smithy/types': 4.3.2 + '@smithy/types': 4.5.0 '@smithy/util-base64': 4.0.0 '@smithy/util-body-length-browser': 4.0.0 '@smithy/util-middleware': 4.0.5 - '@smithy/util-utf8': 4.0.0 + '@smithy/util-utf8': 4.1.0 fast-xml-parser: 5.2.5 tslib: 2.8.1 @@ -12512,12 +12876,29 @@ snapshots: fast-xml-parser: 5.2.5 tslib: 2.8.1 - '@aws-sdk/credential-provider-cognito-identity@3.876.0': + '@aws-sdk/core@3.894.0': dependencies: - '@aws-sdk/client-cognito-identity': 3.876.0 - '@aws-sdk/types': 3.862.0 - '@smithy/property-provider': 4.0.5 - '@smithy/types': 4.3.2 + '@aws-sdk/types': 3.893.0 + '@aws-sdk/xml-builder': 3.894.0 + '@smithy/core': 3.12.0 + '@smithy/node-config-provider': 4.2.2 + '@smithy/property-provider': 4.1.1 + '@smithy/protocol-http': 5.2.1 + '@smithy/signature-v4': 5.2.1 + '@smithy/smithy-client': 4.6.4 + '@smithy/types': 4.5.0 + '@smithy/util-base64': 4.1.0 + '@smithy/util-body-length-browser': 4.1.0 + '@smithy/util-middleware': 4.1.1 + '@smithy/util-utf8': 4.1.0 + tslib: 2.8.1 + + '@aws-sdk/credential-provider-cognito-identity@3.894.0': + dependencies: + '@aws-sdk/client-cognito-identity': 3.894.0 + '@aws-sdk/types': 3.893.0 + '@smithy/property-provider': 4.1.1 + '@smithy/types': 4.5.0 tslib: 2.8.1 transitivePeerDependencies: - aws-crt @@ -12527,7 +12908,7 @@ snapshots: '@aws-sdk/core': 3.826.0 '@aws-sdk/types': 3.821.0 '@smithy/property-provider': 4.0.4 - '@smithy/types': 4.3.1 + '@smithy/types': 4.5.0 tslib: 2.8.1 '@aws-sdk/credential-provider-env@3.876.0': @@ -12535,7 +12916,7 @@ snapshots: '@aws-sdk/core': 3.876.0 '@aws-sdk/types': 3.862.0 '@smithy/property-provider': 4.0.5 - '@smithy/types': 4.3.2 + '@smithy/types': 4.5.0 tslib: 2.8.1 '@aws-sdk/credential-provider-env@3.879.0': @@ -12543,7 +12924,15 @@ snapshots: '@aws-sdk/core': 3.879.0 '@aws-sdk/types': 3.862.0 '@smithy/property-provider': 4.0.5 - '@smithy/types': 4.3.2 + '@smithy/types': 4.5.0 + tslib: 2.8.1 + + '@aws-sdk/credential-provider-env@3.894.0': + dependencies: + '@aws-sdk/core': 3.894.0 + '@aws-sdk/types': 3.893.0 + '@smithy/property-provider': 4.1.1 + '@smithy/types': 4.5.0 tslib: 2.8.1 '@aws-sdk/credential-provider-http@3.826.0': @@ -12555,7 +12944,7 @@ snapshots: '@smithy/property-provider': 4.0.4 '@smithy/protocol-http': 5.1.2 '@smithy/smithy-client': 4.4.3 - '@smithy/types': 4.3.1 + '@smithy/types': 4.5.0 '@smithy/util-stream': 4.2.2 tslib: 2.8.1 @@ -12568,7 +12957,7 @@ snapshots: '@smithy/property-provider': 4.0.5 '@smithy/protocol-http': 5.1.3 '@smithy/smithy-client': 4.4.10 - '@smithy/types': 4.3.2 + '@smithy/types': 4.5.0 '@smithy/util-stream': 4.2.4 tslib: 2.8.1 @@ -12581,10 +12970,23 @@ snapshots: '@smithy/property-provider': 4.0.5 '@smithy/protocol-http': 5.1.3 '@smithy/smithy-client': 4.5.1 - '@smithy/types': 4.3.2 + '@smithy/types': 4.5.0 '@smithy/util-stream': 4.2.4 tslib: 2.8.1 + '@aws-sdk/credential-provider-http@3.894.0': + dependencies: + '@aws-sdk/core': 3.894.0 + '@aws-sdk/types': 3.893.0 + '@smithy/fetch-http-handler': 5.2.1 + '@smithy/node-http-handler': 4.2.1 + '@smithy/property-provider': 4.1.1 + '@smithy/protocol-http': 5.2.1 + '@smithy/smithy-client': 4.6.4 + '@smithy/types': 4.5.0 + '@smithy/util-stream': 4.3.2 + tslib: 2.8.1 + '@aws-sdk/credential-provider-ini@3.828.0': dependencies: '@aws-sdk/core': 3.826.0 @@ -12598,7 +13000,7 @@ snapshots: '@smithy/credential-provider-imds': 4.0.6 '@smithy/property-provider': 4.0.4 '@smithy/shared-ini-file-loader': 4.0.4 - '@smithy/types': 4.3.1 + '@smithy/types': 4.5.0 tslib: 2.8.1 transitivePeerDependencies: - aws-crt @@ -12616,7 +13018,7 @@ snapshots: '@smithy/credential-provider-imds': 4.0.7 '@smithy/property-provider': 4.0.5 '@smithy/shared-ini-file-loader': 4.0.5 - '@smithy/types': 4.3.2 + '@smithy/types': 4.5.0 tslib: 2.8.1 transitivePeerDependencies: - aws-crt @@ -12634,7 +13036,25 @@ snapshots: '@smithy/credential-provider-imds': 4.0.7 '@smithy/property-provider': 4.0.5 '@smithy/shared-ini-file-loader': 4.0.5 - '@smithy/types': 4.3.2 + '@smithy/types': 4.5.0 + tslib: 2.8.1 + transitivePeerDependencies: + - aws-crt + + '@aws-sdk/credential-provider-ini@3.894.0': + dependencies: + '@aws-sdk/core': 3.894.0 + '@aws-sdk/credential-provider-env': 3.894.0 + '@aws-sdk/credential-provider-http': 3.894.0 + '@aws-sdk/credential-provider-process': 3.894.0 + '@aws-sdk/credential-provider-sso': 3.894.0 + '@aws-sdk/credential-provider-web-identity': 3.894.0 + '@aws-sdk/nested-clients': 3.894.0 + '@aws-sdk/types': 3.893.0 + '@smithy/credential-provider-imds': 4.1.2 + '@smithy/property-provider': 4.1.1 + '@smithy/shared-ini-file-loader': 4.2.0 + '@smithy/types': 4.5.0 tslib: 2.8.1 transitivePeerDependencies: - aws-crt @@ -12668,7 +13088,7 @@ snapshots: '@smithy/credential-provider-imds': 4.0.7 '@smithy/property-provider': 4.0.5 '@smithy/shared-ini-file-loader': 4.0.5 - '@smithy/types': 4.3.2 + '@smithy/types': 4.5.0 tslib: 2.8.1 transitivePeerDependencies: - aws-crt @@ -12690,13 +13110,30 @@ snapshots: transitivePeerDependencies: - aws-crt + '@aws-sdk/credential-provider-node@3.894.0': + dependencies: + '@aws-sdk/credential-provider-env': 3.894.0 + '@aws-sdk/credential-provider-http': 3.894.0 + '@aws-sdk/credential-provider-ini': 3.894.0 + '@aws-sdk/credential-provider-process': 3.894.0 + '@aws-sdk/credential-provider-sso': 3.894.0 + '@aws-sdk/credential-provider-web-identity': 3.894.0 + '@aws-sdk/types': 3.893.0 + '@smithy/credential-provider-imds': 4.1.2 + '@smithy/property-provider': 4.1.1 + '@smithy/shared-ini-file-loader': 4.2.0 + '@smithy/types': 4.5.0 + tslib: 2.8.1 + transitivePeerDependencies: + - aws-crt + '@aws-sdk/credential-provider-process@3.826.0': dependencies: '@aws-sdk/core': 3.826.0 '@aws-sdk/types': 3.821.0 '@smithy/property-provider': 4.0.4 '@smithy/shared-ini-file-loader': 4.0.4 - '@smithy/types': 4.3.1 + '@smithy/types': 4.5.0 tslib: 2.8.1 '@aws-sdk/credential-provider-process@3.876.0': @@ -12705,7 +13142,7 @@ snapshots: '@aws-sdk/types': 3.862.0 '@smithy/property-provider': 4.0.5 '@smithy/shared-ini-file-loader': 4.0.5 - '@smithy/types': 4.3.2 + '@smithy/types': 4.5.0 tslib: 2.8.1 '@aws-sdk/credential-provider-process@3.879.0': @@ -12714,7 +13151,16 @@ snapshots: '@aws-sdk/types': 3.862.0 '@smithy/property-provider': 4.0.5 '@smithy/shared-ini-file-loader': 4.0.5 - '@smithy/types': 4.3.2 + '@smithy/types': 4.5.0 + tslib: 2.8.1 + + '@aws-sdk/credential-provider-process@3.894.0': + dependencies: + '@aws-sdk/core': 3.894.0 + '@aws-sdk/types': 3.893.0 + '@smithy/property-provider': 4.1.1 + '@smithy/shared-ini-file-loader': 4.2.0 + '@smithy/types': 4.5.0 tslib: 2.8.1 '@aws-sdk/credential-provider-sso@3.828.0': @@ -12725,7 +13171,7 @@ snapshots: '@aws-sdk/types': 3.821.0 '@smithy/property-provider': 4.0.4 '@smithy/shared-ini-file-loader': 4.0.4 - '@smithy/types': 4.3.1 + '@smithy/types': 4.5.0 tslib: 2.8.1 transitivePeerDependencies: - aws-crt @@ -12738,7 +13184,7 @@ snapshots: '@aws-sdk/types': 3.862.0 '@smithy/property-provider': 4.0.5 '@smithy/shared-ini-file-loader': 4.0.5 - '@smithy/types': 4.3.2 + '@smithy/types': 4.5.0 tslib: 2.8.1 transitivePeerDependencies: - aws-crt @@ -12751,7 +13197,20 @@ snapshots: '@aws-sdk/types': 3.862.0 '@smithy/property-provider': 4.0.5 '@smithy/shared-ini-file-loader': 4.0.5 - '@smithy/types': 4.3.2 + '@smithy/types': 4.5.0 + tslib: 2.8.1 + transitivePeerDependencies: + - aws-crt + + '@aws-sdk/credential-provider-sso@3.894.0': + dependencies: + '@aws-sdk/client-sso': 3.894.0 + '@aws-sdk/core': 3.894.0 + '@aws-sdk/token-providers': 3.894.0 + '@aws-sdk/types': 3.893.0 + '@smithy/property-provider': 4.1.1 + '@smithy/shared-ini-file-loader': 4.2.0 + '@smithy/types': 4.5.0 tslib: 2.8.1 transitivePeerDependencies: - aws-crt @@ -12762,7 +13221,7 @@ snapshots: '@aws-sdk/nested-clients': 3.828.0 '@aws-sdk/types': 3.821.0 '@smithy/property-provider': 4.0.4 - '@smithy/types': 4.3.1 + '@smithy/types': 4.5.0 tslib: 2.8.1 transitivePeerDependencies: - aws-crt @@ -12773,7 +13232,7 @@ snapshots: '@aws-sdk/nested-clients': 3.876.0 '@aws-sdk/types': 3.862.0 '@smithy/property-provider': 4.0.5 - '@smithy/types': 4.3.2 + '@smithy/types': 4.5.0 tslib: 2.8.1 transitivePeerDependencies: - aws-crt @@ -12784,31 +13243,43 @@ snapshots: '@aws-sdk/nested-clients': 3.879.0 '@aws-sdk/types': 3.862.0 '@smithy/property-provider': 4.0.5 - '@smithy/types': 4.3.2 + '@smithy/types': 4.5.0 tslib: 2.8.1 transitivePeerDependencies: - aws-crt - '@aws-sdk/credential-providers@3.876.0': + '@aws-sdk/credential-provider-web-identity@3.894.0': dependencies: - '@aws-sdk/client-cognito-identity': 3.876.0 - '@aws-sdk/core': 3.876.0 - '@aws-sdk/credential-provider-cognito-identity': 3.876.0 - '@aws-sdk/credential-provider-env': 3.876.0 - '@aws-sdk/credential-provider-http': 3.876.0 - '@aws-sdk/credential-provider-ini': 3.876.0 - '@aws-sdk/credential-provider-node': 3.876.0 - '@aws-sdk/credential-provider-process': 3.876.0 - '@aws-sdk/credential-provider-sso': 3.876.0 - '@aws-sdk/credential-provider-web-identity': 3.876.0 - '@aws-sdk/nested-clients': 3.876.0 - '@aws-sdk/types': 3.862.0 - '@smithy/config-resolver': 4.1.5 - '@smithy/core': 3.8.0 - '@smithy/credential-provider-imds': 4.0.7 - '@smithy/node-config-provider': 4.1.4 - '@smithy/property-provider': 4.0.5 - '@smithy/types': 4.3.2 + '@aws-sdk/core': 3.894.0 + '@aws-sdk/nested-clients': 3.894.0 + '@aws-sdk/types': 3.893.0 + '@smithy/property-provider': 4.1.1 + '@smithy/shared-ini-file-loader': 4.2.0 + '@smithy/types': 4.5.0 + tslib: 2.8.1 + transitivePeerDependencies: + - aws-crt + + '@aws-sdk/credential-providers@3.894.0': + dependencies: + '@aws-sdk/client-cognito-identity': 3.894.0 + '@aws-sdk/core': 3.894.0 + '@aws-sdk/credential-provider-cognito-identity': 3.894.0 + '@aws-sdk/credential-provider-env': 3.894.0 + '@aws-sdk/credential-provider-http': 3.894.0 + '@aws-sdk/credential-provider-ini': 3.894.0 + '@aws-sdk/credential-provider-node': 3.894.0 + '@aws-sdk/credential-provider-process': 3.894.0 + '@aws-sdk/credential-provider-sso': 3.894.0 + '@aws-sdk/credential-provider-web-identity': 3.894.0 + '@aws-sdk/nested-clients': 3.894.0 + '@aws-sdk/types': 3.893.0 + '@smithy/config-resolver': 4.2.2 + '@smithy/core': 3.12.0 + '@smithy/credential-provider-imds': 4.1.2 + '@smithy/node-config-provider': 4.2.2 + '@smithy/property-provider': 4.1.1 + '@smithy/types': 4.5.0 tslib: 2.8.1 transitivePeerDependencies: - aws-crt @@ -12860,6 +13331,13 @@ snapshots: '@smithy/types': 4.3.2 tslib: 2.8.1 + '@aws-sdk/middleware-host-header@3.893.0': + dependencies: + '@aws-sdk/types': 3.893.0 + '@smithy/protocol-http': 5.2.1 + '@smithy/types': 4.5.0 + tslib: 2.8.1 + '@aws-sdk/middleware-location-constraint@3.873.0': dependencies: '@aws-sdk/types': 3.862.0 @@ -12878,6 +13356,12 @@ snapshots: '@smithy/types': 4.3.2 tslib: 2.8.1 + '@aws-sdk/middleware-logger@3.893.0': + dependencies: + '@aws-sdk/types': 3.893.0 + '@smithy/types': 4.5.0 + tslib: 2.8.1 + '@aws-sdk/middleware-recursion-detection@3.821.0': dependencies: '@aws-sdk/types': 3.821.0 @@ -12892,6 +13376,14 @@ snapshots: '@smithy/types': 4.3.2 tslib: 2.8.1 + '@aws-sdk/middleware-recursion-detection@3.893.0': + dependencies: + '@aws-sdk/types': 3.893.0 + '@aws/lambda-invoke-store': 0.0.1 + '@smithy/protocol-http': 5.2.1 + '@smithy/types': 4.5.0 + tslib: 2.8.1 + '@aws-sdk/middleware-sdk-s3@3.879.0': dependencies: '@aws-sdk/core': 3.879.0 @@ -12932,7 +13424,7 @@ snapshots: '@aws-sdk/util-endpoints': 3.873.0 '@smithy/core': 3.8.0 '@smithy/protocol-http': 5.1.3 - '@smithy/types': 4.3.2 + '@smithy/types': 4.5.0 tslib: 2.8.1 '@aws-sdk/middleware-user-agent@3.879.0': @@ -12945,6 +13437,16 @@ snapshots: '@smithy/types': 4.3.2 tslib: 2.8.1 + '@aws-sdk/middleware-user-agent@3.894.0': + dependencies: + '@aws-sdk/core': 3.894.0 + '@aws-sdk/types': 3.893.0 + '@aws-sdk/util-endpoints': 3.893.0 + '@smithy/core': 3.12.0 + '@smithy/protocol-http': 5.2.1 + '@smithy/types': 4.5.0 + tslib: 2.8.1 + '@aws-sdk/nested-clients@3.828.0': dependencies: '@aws-crypto/sha256-browser': 5.2.0 @@ -12959,8 +13461,8 @@ snapshots: '@aws-sdk/util-endpoints': 3.828.0 '@aws-sdk/util-user-agent-browser': 3.821.0 '@aws-sdk/util-user-agent-node': 3.828.0 - '@smithy/config-resolver': 4.1.4 - '@smithy/core': 3.5.3 + '@smithy/config-resolver': 4.1.5 + '@smithy/core': 3.9.1 '@smithy/fetch-http-handler': 5.0.4 '@smithy/hash-node': 4.0.4 '@smithy/invalid-dependency': 4.0.4 @@ -12969,11 +13471,11 @@ snapshots: '@smithy/middleware-retry': 4.1.12 '@smithy/middleware-serde': 4.0.8 '@smithy/middleware-stack': 4.0.4 - '@smithy/node-config-provider': 4.1.3 + '@smithy/node-config-provider': 4.1.4 '@smithy/node-http-handler': 4.0.6 '@smithy/protocol-http': 5.1.2 '@smithy/smithy-client': 4.4.3 - '@smithy/types': 4.3.1 + '@smithy/types': 4.5.0 '@smithy/url-parser': 4.0.4 '@smithy/util-base64': 4.0.0 '@smithy/util-body-length-browser': 4.0.0 @@ -12983,7 +13485,7 @@ snapshots: '@smithy/util-endpoints': 3.0.6 '@smithy/util-middleware': 4.0.4 '@smithy/util-retry': 4.0.5 - '@smithy/util-utf8': 4.0.0 + '@smithy/util-utf8': 4.1.0 tslib: 2.8.1 transitivePeerDependencies: - aws-crt @@ -13003,7 +13505,7 @@ snapshots: '@aws-sdk/util-user-agent-browser': 3.873.0 '@aws-sdk/util-user-agent-node': 3.876.0 '@smithy/config-resolver': 4.1.5 - '@smithy/core': 3.8.0 + '@smithy/core': 3.9.1 '@smithy/fetch-http-handler': 5.1.1 '@smithy/hash-node': 4.0.5 '@smithy/invalid-dependency': 4.0.5 @@ -13015,8 +13517,8 @@ snapshots: '@smithy/node-config-provider': 4.1.4 '@smithy/node-http-handler': 4.1.1 '@smithy/protocol-http': 5.1.3 - '@smithy/smithy-client': 4.4.10 - '@smithy/types': 4.3.2 + '@smithy/smithy-client': 4.5.1 + '@smithy/types': 4.5.0 '@smithy/url-parser': 4.0.5 '@smithy/util-base64': 4.0.0 '@smithy/util-body-length-browser': 4.0.0 @@ -13026,7 +13528,7 @@ snapshots: '@smithy/util-endpoints': 3.0.7 '@smithy/util-middleware': 4.0.5 '@smithy/util-retry': 4.0.7 - '@smithy/util-utf8': 4.0.0 + '@smithy/util-utf8': 4.1.0 tslib: 2.8.1 transitivePeerDependencies: - aws-crt @@ -13059,7 +13561,7 @@ snapshots: '@smithy/node-http-handler': 4.1.1 '@smithy/protocol-http': 5.1.3 '@smithy/smithy-client': 4.5.1 - '@smithy/types': 4.3.2 + '@smithy/types': 4.5.0 '@smithy/url-parser': 4.0.5 '@smithy/util-base64': 4.0.0 '@smithy/util-body-length-browser': 4.0.0 @@ -13069,7 +13571,50 @@ snapshots: '@smithy/util-endpoints': 3.0.7 '@smithy/util-middleware': 4.0.5 '@smithy/util-retry': 4.0.7 - '@smithy/util-utf8': 4.0.0 + '@smithy/util-utf8': 4.1.0 + tslib: 2.8.1 + transitivePeerDependencies: + - aws-crt + + '@aws-sdk/nested-clients@3.894.0': + dependencies: + '@aws-crypto/sha256-browser': 5.2.0 + '@aws-crypto/sha256-js': 5.2.0 + '@aws-sdk/core': 3.894.0 + '@aws-sdk/middleware-host-header': 3.893.0 + '@aws-sdk/middleware-logger': 3.893.0 + '@aws-sdk/middleware-recursion-detection': 3.893.0 + '@aws-sdk/middleware-user-agent': 3.894.0 + '@aws-sdk/region-config-resolver': 3.893.0 + '@aws-sdk/types': 3.893.0 + '@aws-sdk/util-endpoints': 3.893.0 + '@aws-sdk/util-user-agent-browser': 3.893.0 + '@aws-sdk/util-user-agent-node': 3.894.0 + '@smithy/config-resolver': 4.2.2 + '@smithy/core': 3.12.0 + '@smithy/fetch-http-handler': 5.2.1 + '@smithy/hash-node': 4.1.1 + '@smithy/invalid-dependency': 4.1.1 + '@smithy/middleware-content-length': 4.1.1 + '@smithy/middleware-endpoint': 4.2.4 + '@smithy/middleware-retry': 4.3.0 + '@smithy/middleware-serde': 4.1.1 + '@smithy/middleware-stack': 4.1.1 + '@smithy/node-config-provider': 4.2.2 + '@smithy/node-http-handler': 4.2.1 + '@smithy/protocol-http': 5.2.1 + '@smithy/smithy-client': 4.6.4 + '@smithy/types': 4.5.0 + '@smithy/url-parser': 4.1.1 + '@smithy/util-base64': 4.1.0 + '@smithy/util-body-length-browser': 4.1.0 + '@smithy/util-body-length-node': 4.1.0 + '@smithy/util-defaults-mode-browser': 4.1.4 + '@smithy/util-defaults-mode-node': 4.1.4 + '@smithy/util-endpoints': 3.1.2 + '@smithy/util-middleware': 4.1.1 + '@smithy/util-retry': 4.1.2 + '@smithy/util-utf8': 4.1.0 tslib: 2.8.1 transitivePeerDependencies: - aws-crt @@ -13092,6 +13637,15 @@ snapshots: '@smithy/util-middleware': 4.0.5 tslib: 2.8.1 + '@aws-sdk/region-config-resolver@3.893.0': + dependencies: + '@aws-sdk/types': 3.893.0 + '@smithy/node-config-provider': 4.2.2 + '@smithy/types': 4.5.0 + '@smithy/util-config-provider': 4.1.0 + '@smithy/util-middleware': 4.1.1 + tslib: 2.8.1 + '@aws-sdk/s3-request-presigner@3.879.0': dependencies: '@aws-sdk/signature-v4-multi-region': 3.879.0 @@ -13117,9 +13671,9 @@ snapshots: '@aws-sdk/core': 3.826.0 '@aws-sdk/nested-clients': 3.828.0 '@aws-sdk/types': 3.821.0 - '@smithy/property-provider': 4.0.4 + '@smithy/property-provider': 4.0.5 '@smithy/shared-ini-file-loader': 4.0.4 - '@smithy/types': 4.3.1 + '@smithy/types': 4.5.0 tslib: 2.8.1 transitivePeerDependencies: - aws-crt @@ -13131,7 +13685,7 @@ snapshots: '@aws-sdk/types': 3.862.0 '@smithy/property-provider': 4.0.5 '@smithy/shared-ini-file-loader': 4.0.5 - '@smithy/types': 4.3.2 + '@smithy/types': 4.5.0 tslib: 2.8.1 transitivePeerDependencies: - aws-crt @@ -13143,7 +13697,19 @@ snapshots: '@aws-sdk/types': 3.862.0 '@smithy/property-provider': 4.0.5 '@smithy/shared-ini-file-loader': 4.0.5 - '@smithy/types': 4.3.2 + '@smithy/types': 4.5.0 + tslib: 2.8.1 + transitivePeerDependencies: + - aws-crt + + '@aws-sdk/token-providers@3.894.0': + dependencies: + '@aws-sdk/core': 3.894.0 + '@aws-sdk/nested-clients': 3.894.0 + '@aws-sdk/types': 3.893.0 + '@smithy/property-provider': 4.1.1 + '@smithy/shared-ini-file-loader': 4.2.0 + '@smithy/types': 4.5.0 tslib: 2.8.1 transitivePeerDependencies: - aws-crt @@ -13158,6 +13724,11 @@ snapshots: '@smithy/types': 4.3.2 tslib: 2.8.1 + '@aws-sdk/types@3.893.0': + dependencies: + '@smithy/types': 4.5.0 + tslib: 2.8.1 + '@aws-sdk/util-arn-parser@3.873.0': dependencies: tslib: 2.8.1 @@ -13172,7 +13743,7 @@ snapshots: '@aws-sdk/util-endpoints@3.873.0': dependencies: '@aws-sdk/types': 3.862.0 - '@smithy/types': 4.3.2 + '@smithy/types': 4.5.0 '@smithy/url-parser': 4.0.5 '@smithy/util-endpoints': 3.0.7 tslib: 2.8.1 @@ -13185,6 +13756,14 @@ snapshots: '@smithy/util-endpoints': 3.0.7 tslib: 2.8.1 + '@aws-sdk/util-endpoints@3.893.0': + dependencies: + '@aws-sdk/types': 3.893.0 + '@smithy/types': 4.5.0 + '@smithy/url-parser': 4.1.1 + '@smithy/util-endpoints': 3.1.2 + tslib: 2.8.1 + '@aws-sdk/util-format-url@3.873.0': dependencies: '@aws-sdk/types': 3.862.0 @@ -13210,6 +13789,13 @@ snapshots: bowser: 2.11.0 tslib: 2.8.1 + '@aws-sdk/util-user-agent-browser@3.893.0': + dependencies: + '@aws-sdk/types': 3.893.0 + '@smithy/types': 4.5.0 + bowser: 2.11.0 + tslib: 2.8.1 + '@aws-sdk/util-user-agent-node@3.828.0': dependencies: '@aws-sdk/middleware-user-agent': 3.828.0 @@ -13223,7 +13809,7 @@ snapshots: '@aws-sdk/middleware-user-agent': 3.876.0 '@aws-sdk/types': 3.862.0 '@smithy/node-config-provider': 4.1.4 - '@smithy/types': 4.3.2 + '@smithy/types': 4.5.0 tslib: 2.8.1 '@aws-sdk/util-user-agent-node@3.879.0': @@ -13234,9 +13820,17 @@ snapshots: '@smithy/types': 4.3.2 tslib: 2.8.1 + '@aws-sdk/util-user-agent-node@3.894.0': + dependencies: + '@aws-sdk/middleware-user-agent': 3.894.0 + '@aws-sdk/types': 3.893.0 + '@smithy/node-config-provider': 4.2.2 + '@smithy/types': 4.5.0 + tslib: 2.8.1 + '@aws-sdk/xml-builder@3.821.0': dependencies: - '@smithy/types': 4.3.1 + '@smithy/types': 4.5.0 tslib: 2.8.1 '@aws-sdk/xml-builder@3.873.0': @@ -13244,6 +13838,14 @@ snapshots: '@smithy/types': 4.3.2 tslib: 2.8.1 + '@aws-sdk/xml-builder@3.894.0': + dependencies: + '@smithy/types': 4.5.0 + fast-xml-parser: 5.2.5 + tslib: 2.8.1 + + '@aws/lambda-invoke-store@0.0.1': {} + '@babel/code-frame@7.27.1': dependencies: '@babel/helper-validator-identifier': 7.27.1 @@ -13292,6 +13894,27 @@ snapshots: transitivePeerDependencies: - supports-color + '@babel/core@7.28.4': + dependencies: + '@babel/code-frame': 7.27.1 + '@babel/generator': 7.28.3 + '@babel/helper-compilation-targets': 7.27.2 + '@babel/helper-module-transforms': 7.28.3(@babel/core@7.28.4) + '@babel/helpers': 7.28.4 + '@babel/parser': 7.28.4 + '@babel/template': 7.27.2 + '@babel/traverse': 7.28.4 + '@babel/types': 7.28.4 + '@jridgewell/remapping': 2.3.5 + convert-source-map: 2.0.0 + debug: 4.4.3 + gensync: 1.0.0-beta.2 + json5: 2.2.3 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + optional: true + '@babel/eslint-parser@7.27.5(@babel/core@7.27.4)(eslint@8.57.1)': dependencies: '@babel/core': 7.27.4 @@ -13308,6 +13931,15 @@ snapshots: '@jridgewell/trace-mapping': 0.3.25 jsesc: 3.0.2 + '@babel/generator@7.28.3': + dependencies: + '@babel/parser': 7.28.4 + '@babel/types': 7.28.4 + '@jridgewell/gen-mapping': 0.3.13 + '@jridgewell/trace-mapping': 0.3.31 + jsesc: 3.1.0 + optional: true + '@babel/helper-annotate-as-pure@7.27.3': dependencies: '@babel/types': 7.27.6 @@ -13333,6 +13965,9 @@ snapshots: transitivePeerDependencies: - supports-color + '@babel/helper-globals@7.28.0': + optional: true + '@babel/helper-member-expression-to-functions@7.27.1': dependencies: '@babel/traverse': 7.27.4 @@ -13365,6 +14000,16 @@ snapshots: transitivePeerDependencies: - supports-color + '@babel/helper-module-transforms@7.28.3(@babel/core@7.28.4)': + dependencies: + '@babel/core': 7.28.4 + '@babel/helper-module-imports': 7.27.1 + '@babel/helper-validator-identifier': 7.27.1 + '@babel/traverse': 7.28.4 + transitivePeerDependencies: + - supports-color + optional: true + '@babel/helper-optimise-call-expression@7.27.1': dependencies: '@babel/types': 7.27.6 @@ -13398,6 +14043,12 @@ snapshots: '@babel/template': 7.27.2 '@babel/types': 7.27.6 + '@babel/helpers@7.28.4': + dependencies: + '@babel/template': 7.27.2 + '@babel/types': 7.28.4 + optional: true + '@babel/parser@7.24.5': dependencies: '@babel/types': 7.27.6 @@ -13406,6 +14057,11 @@ snapshots: dependencies: '@babel/types': 7.27.6 + '@babel/parser@7.28.4': + dependencies: + '@babel/types': 7.28.4 + optional: true + '@babel/plugin-syntax-decorators@7.27.1(@babel/core@7.27.4)': dependencies: '@babel/core': 7.27.4 @@ -13512,11 +14168,30 @@ snapshots: transitivePeerDependencies: - supports-color + '@babel/traverse@7.28.4': + dependencies: + '@babel/code-frame': 7.27.1 + '@babel/generator': 7.28.3 + '@babel/helper-globals': 7.28.0 + '@babel/parser': 7.28.4 + '@babel/template': 7.27.2 + '@babel/types': 7.28.4 + debug: 4.4.3 + transitivePeerDependencies: + - supports-color + optional: true + '@babel/types@7.27.6': dependencies: '@babel/helper-string-parser': 7.27.1 '@babel/helper-validator-identifier': 7.27.1 + '@babel/types@7.28.4': + dependencies: + '@babel/helper-string-parser': 7.27.1 + '@babel/helper-validator-identifier': 7.27.1 + optional: true + '@bugsnag/cuid@3.2.1': {} '@cfcs/core@0.0.6': @@ -13702,10 +14377,10 @@ snapshots: '@conform-to/dom': 0.6.3 react: 18.3.1 - '@conform-to/zod@0.6.3(@conform-to/dom@0.6.3)(zod@3.23.8)': + '@conform-to/zod@0.6.3(@conform-to/dom@0.6.3)(zod@3.25.76)': dependencies: '@conform-to/dom': 0.6.3 - zod: 3.23.8 + zod: 3.25.76 '@daybrush/utils@1.13.0': {} @@ -14265,11 +14940,11 @@ snapshots: '@ianvs/prettier-plugin-sort-imports@4.1.1(prettier@3.5.3)': dependencies: - '@babel/core': 7.27.4 - '@babel/generator': 7.27.5 - '@babel/parser': 7.27.5 - '@babel/traverse': 7.27.4 - '@babel/types': 7.27.6 + '@babel/core': 7.28.4 + '@babel/generator': 7.28.3 + '@babel/parser': 7.28.4 + '@babel/traverse': 7.28.4 + '@babel/types': 7.28.4 prettier: 3.5.3 semver: 7.7.2 transitivePeerDependencies: @@ -14291,12 +14966,24 @@ snapshots: dependencies: minipass: 7.1.2 + '@jridgewell/gen-mapping@0.3.13': + dependencies: + '@jridgewell/sourcemap-codec': 1.5.5 + '@jridgewell/trace-mapping': 0.3.31 + optional: true + '@jridgewell/gen-mapping@0.3.8': dependencies: '@jridgewell/set-array': 1.2.1 '@jridgewell/sourcemap-codec': 1.5.0 '@jridgewell/trace-mapping': 0.3.25 + '@jridgewell/remapping@2.3.5': + dependencies: + '@jridgewell/gen-mapping': 0.3.13 + '@jridgewell/trace-mapping': 0.3.31 + optional: true + '@jridgewell/resolve-uri@3.1.2': {} '@jridgewell/set-array@1.2.1': {} @@ -14308,11 +14995,20 @@ snapshots: '@jridgewell/sourcemap-codec@1.5.0': {} + '@jridgewell/sourcemap-codec@1.5.5': + optional: true + '@jridgewell/trace-mapping@0.3.25': dependencies: '@jridgewell/resolve-uri': 3.1.2 '@jridgewell/sourcemap-codec': 1.5.0 + '@jridgewell/trace-mapping@0.3.31': + dependencies: + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.5.5 + optional: true + '@js-sdsl/ordered-map@4.4.2': {} '@jsonhero/path@1.0.21': {} @@ -16362,12 +17058,17 @@ snapshots: '@smithy/abort-controller@4.0.4': dependencies: - '@smithy/types': 4.3.1 + '@smithy/types': 4.5.0 tslib: 2.8.1 '@smithy/abort-controller@4.0.5': dependencies: - '@smithy/types': 4.3.2 + '@smithy/types': 4.5.0 + tslib: 2.8.1 + + '@smithy/abort-controller@4.1.1': + dependencies: + '@smithy/types': 4.5.0 tslib: 2.8.1 '@smithy/chunked-blob-reader-native@4.0.0': @@ -16395,6 +17096,27 @@ snapshots: '@smithy/util-middleware': 4.0.5 tslib: 2.8.1 + '@smithy/config-resolver@4.2.2': + dependencies: + '@smithy/node-config-provider': 4.2.2 + '@smithy/types': 4.5.0 + '@smithy/util-config-provider': 4.1.0 + '@smithy/util-middleware': 4.1.1 + tslib: 2.8.1 + + '@smithy/core@3.12.0': + dependencies: + '@smithy/middleware-serde': 4.1.1 + '@smithy/protocol-http': 5.2.1 + '@smithy/types': 4.5.0 + '@smithy/util-base64': 4.1.0 + '@smithy/util-body-length-browser': 4.1.0 + '@smithy/util-middleware': 4.1.1 + '@smithy/util-stream': 4.3.2 + '@smithy/util-utf8': 4.1.0 + '@smithy/uuid': 1.0.0 + tslib: 2.8.1 + '@smithy/core@3.5.3': dependencies: '@smithy/middleware-serde': 4.0.8 @@ -16404,19 +17126,19 @@ snapshots: '@smithy/util-body-length-browser': 4.0.0 '@smithy/util-middleware': 4.0.4 '@smithy/util-stream': 4.2.2 - '@smithy/util-utf8': 4.0.0 + '@smithy/util-utf8': 4.1.0 tslib: 2.8.1 '@smithy/core@3.8.0': dependencies: '@smithy/middleware-serde': 4.0.9 '@smithy/protocol-http': 5.1.3 - '@smithy/types': 4.3.2 + '@smithy/types': 4.5.0 '@smithy/util-base64': 4.0.0 '@smithy/util-body-length-browser': 4.0.0 '@smithy/util-middleware': 4.0.5 '@smithy/util-stream': 4.2.4 - '@smithy/util-utf8': 4.0.0 + '@smithy/util-utf8': 4.1.0 '@types/uuid': 9.0.8 tslib: 2.8.1 uuid: 9.0.1 @@ -16439,7 +17161,7 @@ snapshots: dependencies: '@smithy/node-config-provider': 4.1.3 '@smithy/property-provider': 4.0.4 - '@smithy/types': 4.3.1 + '@smithy/types': 4.5.0 '@smithy/url-parser': 4.0.4 tslib: 2.8.1 @@ -16447,15 +17169,23 @@ snapshots: dependencies: '@smithy/node-config-provider': 4.1.4 '@smithy/property-provider': 4.0.5 - '@smithy/types': 4.3.2 + '@smithy/types': 4.5.0 '@smithy/url-parser': 4.0.5 tslib: 2.8.1 - '@smithy/eventstream-codec@4.0.5': + '@smithy/credential-provider-imds@4.1.2': + dependencies: + '@smithy/node-config-provider': 4.2.2 + '@smithy/property-provider': 4.1.1 + '@smithy/types': 4.5.0 + '@smithy/url-parser': 4.1.1 + tslib: 2.8.1 + + '@smithy/eventstream-codec@4.1.1': dependencies: '@aws-crypto/crc32': 5.2.0 - '@smithy/types': 4.3.2 - '@smithy/util-hex-encoding': 4.0.0 + '@smithy/types': 4.5.0 + '@smithy/util-hex-encoding': 4.1.0 tslib: 2.8.1 '@smithy/eventstream-serde-browser@4.0.5': @@ -16477,8 +17207,8 @@ snapshots: '@smithy/eventstream-serde-universal@4.0.5': dependencies: - '@smithy/eventstream-codec': 4.0.5 - '@smithy/types': 4.3.2 + '@smithy/eventstream-codec': 4.1.1 + '@smithy/types': 4.5.0 tslib: 2.8.1 '@smithy/fetch-http-handler@5.0.4': @@ -16497,6 +17227,14 @@ snapshots: '@smithy/util-base64': 4.0.0 tslib: 2.8.1 + '@smithy/fetch-http-handler@5.2.1': + dependencies: + '@smithy/protocol-http': 5.2.1 + '@smithy/querystring-builder': 4.1.1 + '@smithy/types': 4.5.0 + '@smithy/util-base64': 4.1.0 + tslib: 2.8.1 + '@smithy/hash-blob-browser@4.0.5': dependencies: '@smithy/chunked-blob-reader': 5.0.0 @@ -16508,7 +17246,7 @@ snapshots: dependencies: '@smithy/types': 4.3.1 '@smithy/util-buffer-from': 4.0.0 - '@smithy/util-utf8': 4.0.0 + '@smithy/util-utf8': 4.1.0 tslib: 2.8.1 '@smithy/hash-node@4.0.5': @@ -16518,6 +17256,13 @@ snapshots: '@smithy/util-utf8': 4.0.0 tslib: 2.8.1 + '@smithy/hash-node@4.1.1': + dependencies: + '@smithy/types': 4.5.0 + '@smithy/util-buffer-from': 4.1.0 + '@smithy/util-utf8': 4.1.0 + tslib: 2.8.1 + '@smithy/hash-stream-node@4.0.5': dependencies: '@smithy/types': 4.3.2 @@ -16534,6 +17279,11 @@ snapshots: '@smithy/types': 4.3.2 tslib: 2.8.1 + '@smithy/invalid-dependency@4.1.1': + dependencies: + '@smithy/types': 4.5.0 + tslib: 2.8.1 + '@smithy/is-array-buffer@2.2.0': dependencies: tslib: 2.8.1 @@ -16542,6 +17292,10 @@ snapshots: dependencies: tslib: 2.8.1 + '@smithy/is-array-buffer@4.1.0': + dependencies: + tslib: 2.8.1 + '@smithy/md5-js@4.0.5': dependencies: '@smithy/types': 4.3.2 @@ -16560,6 +17314,12 @@ snapshots: '@smithy/types': 4.3.2 tslib: 2.8.1 + '@smithy/middleware-content-length@4.1.1': + dependencies: + '@smithy/protocol-http': 5.2.1 + '@smithy/types': 4.5.0 + tslib: 2.8.1 + '@smithy/middleware-endpoint@4.1.11': dependencies: '@smithy/core': 3.5.3 @@ -16577,7 +17337,7 @@ snapshots: '@smithy/middleware-serde': 4.0.9 '@smithy/node-config-provider': 4.1.4 '@smithy/shared-ini-file-loader': 4.0.5 - '@smithy/types': 4.3.2 + '@smithy/types': 4.5.0 '@smithy/url-parser': 4.0.5 '@smithy/util-middleware': 4.0.5 tslib: 2.8.1 @@ -16593,6 +17353,17 @@ snapshots: '@smithy/util-middleware': 4.0.5 tslib: 2.8.1 + '@smithy/middleware-endpoint@4.2.4': + dependencies: + '@smithy/core': 3.12.0 + '@smithy/middleware-serde': 4.1.1 + '@smithy/node-config-provider': 4.2.2 + '@smithy/shared-ini-file-loader': 4.2.0 + '@smithy/types': 4.5.0 + '@smithy/url-parser': 4.1.1 + '@smithy/util-middleware': 4.1.1 + tslib: 2.8.1 + '@smithy/middleware-retry@4.1.12': dependencies: '@smithy/node-config-provider': 4.1.3 @@ -16611,7 +17382,7 @@ snapshots: '@smithy/protocol-http': 5.1.3 '@smithy/service-error-classification': 4.0.7 '@smithy/smithy-client': 4.4.10 - '@smithy/types': 4.3.2 + '@smithy/types': 4.5.0 '@smithy/util-middleware': 4.0.5 '@smithy/util-retry': 4.0.7 '@types/uuid': 9.0.8 @@ -16631,6 +17402,18 @@ snapshots: tslib: 2.8.1 uuid: 9.0.1 + '@smithy/middleware-retry@4.3.0': + dependencies: + '@smithy/node-config-provider': 4.2.2 + '@smithy/protocol-http': 5.2.1 + '@smithy/service-error-classification': 4.1.2 + '@smithy/smithy-client': 4.6.4 + '@smithy/types': 4.5.0 + '@smithy/util-middleware': 4.1.1 + '@smithy/util-retry': 4.1.2 + '@smithy/uuid': 1.0.0 + tslib: 2.8.1 + '@smithy/middleware-serde@4.0.8': dependencies: '@smithy/protocol-http': 5.1.2 @@ -16643,6 +17426,12 @@ snapshots: '@smithy/types': 4.3.2 tslib: 2.8.1 + '@smithy/middleware-serde@4.1.1': + dependencies: + '@smithy/protocol-http': 5.2.1 + '@smithy/types': 4.5.0 + tslib: 2.8.1 + '@smithy/middleware-stack@4.0.4': dependencies: '@smithy/types': 4.3.1 @@ -16653,6 +17442,11 @@ snapshots: '@smithy/types': 4.3.2 tslib: 2.8.1 + '@smithy/middleware-stack@4.1.1': + dependencies: + '@smithy/types': 4.5.0 + tslib: 2.8.1 + '@smithy/node-config-provider@4.1.3': dependencies: '@smithy/property-provider': 4.0.4 @@ -16667,6 +17461,13 @@ snapshots: '@smithy/types': 4.3.2 tslib: 2.8.1 + '@smithy/node-config-provider@4.2.2': + dependencies: + '@smithy/property-provider': 4.1.1 + '@smithy/shared-ini-file-loader': 4.2.0 + '@smithy/types': 4.5.0 + tslib: 2.8.1 + '@smithy/node-http-handler@4.0.6': dependencies: '@smithy/abort-controller': 4.0.4 @@ -16683,14 +17484,27 @@ snapshots: '@smithy/types': 4.3.2 tslib: 2.8.1 + '@smithy/node-http-handler@4.2.1': + dependencies: + '@smithy/abort-controller': 4.1.1 + '@smithy/protocol-http': 5.2.1 + '@smithy/querystring-builder': 4.1.1 + '@smithy/types': 4.5.0 + tslib: 2.8.1 + '@smithy/property-provider@4.0.4': dependencies: - '@smithy/types': 4.3.1 + '@smithy/types': 4.5.0 tslib: 2.8.1 '@smithy/property-provider@4.0.5': dependencies: - '@smithy/types': 4.3.2 + '@smithy/types': 4.5.0 + tslib: 2.8.1 + + '@smithy/property-provider@4.1.1': + dependencies: + '@smithy/types': 4.5.0 tslib: 2.8.1 '@smithy/protocol-http@5.1.2': @@ -16703,44 +17517,69 @@ snapshots: '@smithy/types': 4.3.2 tslib: 2.8.1 + '@smithy/protocol-http@5.2.1': + dependencies: + '@smithy/types': 4.5.0 + tslib: 2.8.1 + '@smithy/querystring-builder@4.0.4': dependencies: - '@smithy/types': 4.3.1 + '@smithy/types': 4.5.0 '@smithy/util-uri-escape': 4.0.0 tslib: 2.8.1 '@smithy/querystring-builder@4.0.5': dependencies: - '@smithy/types': 4.3.2 + '@smithy/types': 4.5.0 '@smithy/util-uri-escape': 4.0.0 tslib: 2.8.1 + '@smithy/querystring-builder@4.1.1': + dependencies: + '@smithy/types': 4.5.0 + '@smithy/util-uri-escape': 4.1.0 + tslib: 2.8.1 + '@smithy/querystring-parser@4.0.4': dependencies: - '@smithy/types': 4.3.1 + '@smithy/types': 4.5.0 tslib: 2.8.1 '@smithy/querystring-parser@4.0.5': dependencies: - '@smithy/types': 4.3.2 + '@smithy/types': 4.5.0 + tslib: 2.8.1 + + '@smithy/querystring-parser@4.1.1': + dependencies: + '@smithy/types': 4.5.0 tslib: 2.8.1 '@smithy/service-error-classification@4.0.5': dependencies: - '@smithy/types': 4.3.1 + '@smithy/types': 4.5.0 '@smithy/service-error-classification@4.0.7': dependencies: - '@smithy/types': 4.3.2 + '@smithy/types': 4.5.0 + + '@smithy/service-error-classification@4.1.2': + dependencies: + '@smithy/types': 4.5.0 '@smithy/shared-ini-file-loader@4.0.4': dependencies: - '@smithy/types': 4.3.1 + '@smithy/types': 4.5.0 tslib: 2.8.1 '@smithy/shared-ini-file-loader@4.0.5': dependencies: - '@smithy/types': 4.3.2 + '@smithy/types': 4.5.0 + tslib: 2.8.1 + + '@smithy/shared-ini-file-loader@4.2.0': + dependencies: + '@smithy/types': 4.5.0 tslib: 2.8.1 '@smithy/signature-v4@5.1.2': @@ -16758,11 +17597,22 @@ snapshots: dependencies: '@smithy/is-array-buffer': 4.0.0 '@smithy/protocol-http': 5.1.3 - '@smithy/types': 4.3.2 - '@smithy/util-hex-encoding': 4.0.0 + '@smithy/types': 4.5.0 + '@smithy/util-hex-encoding': 4.1.0 '@smithy/util-middleware': 4.0.5 '@smithy/util-uri-escape': 4.0.0 - '@smithy/util-utf8': 4.0.0 + '@smithy/util-utf8': 4.1.0 + tslib: 2.8.1 + + '@smithy/signature-v4@5.2.1': + dependencies: + '@smithy/is-array-buffer': 4.1.0 + '@smithy/protocol-http': 5.2.1 + '@smithy/types': 4.5.0 + '@smithy/util-hex-encoding': 4.1.0 + '@smithy/util-middleware': 4.1.1 + '@smithy/util-uri-escape': 4.1.0 + '@smithy/util-utf8': 4.1.0 tslib: 2.8.1 '@smithy/smithy-client@4.4.10': @@ -16771,7 +17621,7 @@ snapshots: '@smithy/middleware-endpoint': 4.1.18 '@smithy/middleware-stack': 4.0.5 '@smithy/protocol-http': 5.1.3 - '@smithy/types': 4.3.2 + '@smithy/types': 4.5.0 '@smithy/util-stream': 4.2.4 tslib: 2.8.1 @@ -16795,6 +17645,16 @@ snapshots: '@smithy/util-stream': 4.2.4 tslib: 2.8.1 + '@smithy/smithy-client@4.6.4': + dependencies: + '@smithy/core': 3.12.0 + '@smithy/middleware-endpoint': 4.2.4 + '@smithy/middleware-stack': 4.1.1 + '@smithy/protocol-http': 5.2.1 + '@smithy/types': 4.5.0 + '@smithy/util-stream': 4.3.2 + tslib: 2.8.1 + '@smithy/types@4.3.1': dependencies: tslib: 2.8.1 @@ -16803,6 +17663,10 @@ snapshots: dependencies: tslib: 2.8.1 + '@smithy/types@4.5.0': + dependencies: + tslib: 2.8.1 + '@smithy/url-parser@4.0.4': dependencies: '@smithy/querystring-parser': 4.0.4 @@ -16815,20 +17679,40 @@ snapshots: '@smithy/types': 4.3.2 tslib: 2.8.1 + '@smithy/url-parser@4.1.1': + dependencies: + '@smithy/querystring-parser': 4.1.1 + '@smithy/types': 4.5.0 + tslib: 2.8.1 + '@smithy/util-base64@4.0.0': dependencies: '@smithy/util-buffer-from': 4.0.0 '@smithy/util-utf8': 4.0.0 tslib: 2.8.1 + '@smithy/util-base64@4.1.0': + dependencies: + '@smithy/util-buffer-from': 4.1.0 + '@smithy/util-utf8': 4.1.0 + tslib: 2.8.1 + '@smithy/util-body-length-browser@4.0.0': dependencies: tslib: 2.8.1 + '@smithy/util-body-length-browser@4.1.0': + dependencies: + tslib: 2.8.1 + '@smithy/util-body-length-node@4.0.0': dependencies: tslib: 2.8.1 + '@smithy/util-body-length-node@4.1.0': + dependencies: + tslib: 2.8.1 + '@smithy/util-buffer-from@2.2.0': dependencies: '@smithy/is-array-buffer': 2.2.0 @@ -16839,10 +17723,19 @@ snapshots: '@smithy/is-array-buffer': 4.0.0 tslib: 2.8.1 + '@smithy/util-buffer-from@4.1.0': + dependencies: + '@smithy/is-array-buffer': 4.1.0 + tslib: 2.8.1 + '@smithy/util-config-provider@4.0.0': dependencies: tslib: 2.8.1 + '@smithy/util-config-provider@4.1.0': + dependencies: + tslib: 2.8.1 + '@smithy/util-defaults-mode-browser@4.0.19': dependencies: '@smithy/property-provider': 4.0.4 @@ -16855,7 +17748,7 @@ snapshots: dependencies: '@smithy/property-provider': 4.0.5 '@smithy/smithy-client': 4.4.10 - '@smithy/types': 4.3.2 + '@smithy/types': 4.5.0 bowser: 2.11.0 tslib: 2.8.1 @@ -16867,6 +17760,14 @@ snapshots: bowser: 2.11.0 tslib: 2.8.1 + '@smithy/util-defaults-mode-browser@4.1.4': + dependencies: + '@smithy/property-provider': 4.1.1 + '@smithy/smithy-client': 4.6.4 + '@smithy/types': 4.5.0 + bowser: 2.11.0 + tslib: 2.8.1 + '@smithy/util-defaults-mode-node@4.0.19': dependencies: '@smithy/config-resolver': 4.1.4 @@ -16884,7 +17785,7 @@ snapshots: '@smithy/node-config-provider': 4.1.4 '@smithy/property-provider': 4.0.5 '@smithy/smithy-client': 4.4.10 - '@smithy/types': 4.3.2 + '@smithy/types': 4.5.0 tslib: 2.8.1 '@smithy/util-defaults-mode-node@4.0.28': @@ -16897,6 +17798,16 @@ snapshots: '@smithy/types': 4.3.2 tslib: 2.8.1 + '@smithy/util-defaults-mode-node@4.1.4': + dependencies: + '@smithy/config-resolver': 4.2.2 + '@smithy/credential-provider-imds': 4.1.2 + '@smithy/node-config-provider': 4.2.2 + '@smithy/property-provider': 4.1.1 + '@smithy/smithy-client': 4.6.4 + '@smithy/types': 4.5.0 + tslib: 2.8.1 + '@smithy/util-endpoints@3.0.6': dependencies: '@smithy/node-config-provider': 4.1.3 @@ -16909,10 +17820,20 @@ snapshots: '@smithy/types': 4.3.2 tslib: 2.8.1 + '@smithy/util-endpoints@3.1.2': + dependencies: + '@smithy/node-config-provider': 4.2.2 + '@smithy/types': 4.5.0 + tslib: 2.8.1 + '@smithy/util-hex-encoding@4.0.0': dependencies: tslib: 2.8.1 + '@smithy/util-hex-encoding@4.1.0': + dependencies: + tslib: 2.8.1 + '@smithy/util-middleware@4.0.4': dependencies: '@smithy/types': 4.3.1 @@ -16923,6 +17844,11 @@ snapshots: '@smithy/types': 4.3.2 tslib: 2.8.1 + '@smithy/util-middleware@4.1.1': + dependencies: + '@smithy/types': 4.5.0 + tslib: 2.8.1 + '@smithy/util-retry@4.0.5': dependencies: '@smithy/service-error-classification': 4.0.5 @@ -16935,15 +17861,21 @@ snapshots: '@smithy/types': 4.3.2 tslib: 2.8.1 + '@smithy/util-retry@4.1.2': + dependencies: + '@smithy/service-error-classification': 4.1.2 + '@smithy/types': 4.5.0 + tslib: 2.8.1 + '@smithy/util-stream@4.2.2': dependencies: '@smithy/fetch-http-handler': 5.0.4 '@smithy/node-http-handler': 4.0.6 - '@smithy/types': 4.3.1 + '@smithy/types': 4.5.0 '@smithy/util-base64': 4.0.0 '@smithy/util-buffer-from': 4.0.0 - '@smithy/util-hex-encoding': 4.0.0 - '@smithy/util-utf8': 4.0.0 + '@smithy/util-hex-encoding': 4.1.0 + '@smithy/util-utf8': 4.1.0 tslib: 2.8.1 '@smithy/util-stream@4.2.4': @@ -16957,10 +17889,25 @@ snapshots: '@smithy/util-utf8': 4.0.0 tslib: 2.8.1 + '@smithy/util-stream@4.3.2': + dependencies: + '@smithy/fetch-http-handler': 5.2.1 + '@smithy/node-http-handler': 4.2.1 + '@smithy/types': 4.5.0 + '@smithy/util-base64': 4.1.0 + '@smithy/util-buffer-from': 4.1.0 + '@smithy/util-hex-encoding': 4.1.0 + '@smithy/util-utf8': 4.1.0 + tslib: 2.8.1 + '@smithy/util-uri-escape@4.0.0': dependencies: tslib: 2.8.1 + '@smithy/util-uri-escape@4.1.0': + dependencies: + tslib: 2.8.1 + '@smithy/util-utf8@2.3.0': dependencies: '@smithy/util-buffer-from': 2.2.0 @@ -16971,6 +17918,11 @@ snapshots: '@smithy/util-buffer-from': 4.0.0 tslib: 2.8.1 + '@smithy/util-utf8@4.1.0': + dependencies: + '@smithy/util-buffer-from': 4.1.0 + tslib: 2.8.1 + '@smithy/util-waiter@4.0.5': dependencies: '@smithy/abort-controller': 4.0.4 @@ -16983,6 +17935,10 @@ snapshots: '@smithy/types': 4.3.2 tslib: 2.8.1 + '@smithy/uuid@1.0.0': + dependencies: + tslib: 2.8.1 + '@socket.io/component-emitter@3.1.2': {} '@swc/core-darwin-arm64@1.3.101': @@ -17493,7 +18449,7 @@ snapshots: - supports-color - utf-8-validate - '@trigger.dev/sdk@4.0.0-v4-beta.22(ai@4.3.14(react@18.3.1)(zod@3.23.8))(zod@3.23.8)': + '@trigger.dev/sdk@4.0.0-v4-beta.22(ai@4.3.19(react@18.3.1)(zod@3.25.76))(zod@3.25.76)': dependencies: '@opentelemetry/api': 1.9.0 '@opentelemetry/api-logs': 0.52.1 @@ -17508,9 +18464,9 @@ snapshots: uncrypto: 0.1.3 uuid: 9.0.1 ws: 8.18.3 - zod: 3.23.8 + zod: 3.25.76 optionalDependencies: - ai: 4.3.14(react@18.3.1)(zod@3.23.8) + ai: 4.3.19(react@18.3.1)(zod@3.25.76) transitivePeerDependencies: - bufferutil - supports-color @@ -18305,15 +19261,15 @@ snapshots: clean-stack: 4.2.0 indent-string: 5.0.0 - ai@4.3.14(react@18.3.1)(zod@3.23.8): + ai@4.3.19(react@18.3.1)(zod@3.25.76): dependencies: '@ai-sdk/provider': 1.1.3 - '@ai-sdk/provider-utils': 2.2.7(zod@3.23.8) - '@ai-sdk/react': 1.2.11(react@18.3.1)(zod@3.23.8) - '@ai-sdk/ui-utils': 1.2.10(zod@3.23.8) + '@ai-sdk/provider-utils': 2.2.8(zod@3.25.76) + '@ai-sdk/react': 1.2.12(react@18.3.1)(zod@3.25.76) + '@ai-sdk/ui-utils': 1.2.11(zod@3.25.76) '@opentelemetry/api': 1.9.0 jsondiffpatch: 0.6.0 - zod: 3.23.8 + zod: 3.25.76 optionalDependencies: react: 18.3.1 @@ -18510,6 +19466,8 @@ snapshots: dependencies: possible-typed-array-names: 1.1.0 + aws4fetch@1.0.20: {} + axe-core@4.10.3: {} axios@1.10.0: @@ -18890,7 +19848,7 @@ snapshots: cohere-ai@7.18.1(encoding@0.1.13): dependencies: '@aws-sdk/client-sagemaker': 3.876.0 - '@aws-sdk/credential-providers': 3.876.0 + '@aws-sdk/credential-providers': 3.894.0 '@smithy/protocol-http': 5.1.2 '@smithy/signature-v4': 5.1.2 convict: 6.2.4 @@ -19356,6 +20314,11 @@ snapshots: optionalDependencies: supports-color: 10.0.0 + debug@4.4.3: + dependencies: + ms: 2.1.3 + optional: true + decamelize-keys@1.1.1: dependencies: decamelize: 1.2.0 @@ -21300,6 +22263,9 @@ snapshots: jsesc@3.0.2: {} + jsesc@3.1.0: + optional: true + json-buffer@3.0.1: {} json-parse-better-errors@1.0.2: {} @@ -22631,13 +23597,13 @@ snapshots: ohash@1.1.6: {} - ollama-ai-provider@1.2.0(zod@3.23.8): + ollama-ai-provider@1.2.0(zod@3.25.76): dependencies: '@ai-sdk/provider': 1.1.3 - '@ai-sdk/provider-utils': 2.2.8(zod@3.23.8) + '@ai-sdk/provider-utils': 2.2.8(zod@3.25.76) partial-json: 0.1.7 optionalDependencies: - zod: 3.23.8 + zod: 3.25.76 on-finished@2.3.0: dependencies: @@ -22673,6 +23639,11 @@ snapshots: ws: 8.18.3 zod: 3.23.8 + openai@5.12.2(ws@8.18.3)(zod@3.25.76): + optionalDependencies: + ws: 8.18.3 + zod: 3.25.76 + optionator@0.9.4: dependencies: deep-is: 0.1.4 @@ -23874,7 +24845,7 @@ snapshots: '@remix-run/server-runtime': 2.16.7(typescript@5.8.3) react: 18.3.1 - remix-utils@7.7.0(@remix-run/node@2.1.0(typescript@5.8.3))(@remix-run/react@2.16.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.8.3))(@remix-run/router@1.23.0)(crypto-js@4.2.0)(react@18.3.1)(zod@3.23.8): + remix-utils@7.7.0(@remix-run/node@2.1.0(typescript@5.8.3))(@remix-run/react@2.16.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.8.3))(@remix-run/router@1.23.0)(crypto-js@4.2.0)(react@18.3.1)(zod@3.25.76): dependencies: type-fest: 4.41.0 optionalDependencies: @@ -23883,7 +24854,7 @@ snapshots: '@remix-run/router': 1.23.0 crypto-js: 4.2.0 react: 18.3.1 - zod: 3.23.8 + zod: 3.25.76 require-directory@2.1.1: {} @@ -25630,6 +26601,10 @@ snapshots: dependencies: zod: 3.23.8 + zod-to-json-schema@3.24.5(zod@3.25.76): + dependencies: + zod: 3.25.76 + zod-validation-error@1.5.0(zod@3.23.8): dependencies: zod: 3.23.8 diff --git a/turbo.json b/turbo.json index 13dc00a..1ff719a 100644 --- a/turbo.json +++ b/turbo.json @@ -79,6 +79,9 @@ "RESEND_API_KEY", "FROM_EMAIL", "REPLY_TO_EMAIL", - "EMAIL_TRANSPORT" + "EMAIL_TRANSPORT", + "AWS_REGION", + "AWS_ACCESS_KEY_ID", + "AWS_SECRET_ACCESS_KEY" ] }