@absolutejs/absolute 0.19.0-beta.263 → 0.19.0-beta.265
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.absolutejs/tsconfig.tsbuildinfo +1 -1
- package/dist/ai/index.js +23 -1
- package/dist/ai/index.js.map +3 -3
- package/dist/ai/providers/openaiResponses.js +23 -1
- package/dist/ai/providers/openaiResponses.js.map +3 -3
- package/dist/src/ai/providers/openaiResponses.d.ts +3 -0
- package/package.json +1 -1
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/ai/providers/openaiResponses.ts"],
|
|
4
4
|
"sourcesContent": [
|
|
5
|
-
"import type {\n\tAIProviderConfig,\n\tAIProviderContentBlock,\n\tAIProviderMessage,\n\tAIProviderStreamParams,\n\tAIProviderToolDefinition,\n\tAIUsage\n} from '../../../types/ai';\n\ntype OpenAIResponsesConfig = {\n\tapiKey: string;\n\tbaseUrl?: string;\n\timageModels?: Set<string> | string[];\n};\n\ntype PendingFunctionCall = {\n\tcallId: string;\n\tname: string;\n\targuments: string;\n};\n\ntype StreamState = {\n\tbuffer: string;\n\tcurrentEvent: string;\n\tpendingCalls: Map<string, PendingFunctionCall>;\n\tusage: AIUsage | undefined;\n};\n\nconst DEFAULT_BASE_URL = 'https://api.openai.com';\nconst EVENT_PREFIX_LENGTH = 7;\nconst DATA_PREFIX_LENGTH = 6;\n\nconst isRecord = (value: unknown): value is Record<string, unknown> =>\n\ttypeof value === 'object' && value !== null;\n\nconst isRecordArray = (\n\tvalue: unknown\n): value is Array<Record<string, unknown>> =>\n\tArray.isArray(value) && value.length > 0 && isRecord(value[0]);\n\n/* ─── Message conversion ─── */\n\nconst mapBlockToResponsesFormat = (block: AIProviderContentBlock) => {\n\tif (block.type === 'text') {\n\t\treturn { text: block.content, type: 'input_text' };\n\t}\n\n\tif (block.type === 'image') {\n\t\treturn {\n\t\t\timage_url: {\n\t\t\t\turl: `data:${block.source.media_type};base64,${block.source.data}`\n\t\t\t},\n\t\t\ttype: 'input_image'\n\t\t};\n\t}\n\n\tif (block.type === 'document') {\n\t\treturn {\n\t\t\tfile: {\n\t\t\t\tfile_data: `data:${block.source.media_type};base64,${block.source.data}`,\n\t\t\t\tfilename: block.name ?? 'document.pdf'\n\t\t\t},\n\t\t\ttype: 'input_file'\n\t\t};\n\t}\n\n\treturn null;\n};\n\nconst mapContentToResponsesFormat = (\n\tcontent: string | AIProviderContentBlock[]\n) => {\n\tif (typeof content === 'string') {\n\t\treturn content;\n\t}\n\n\tconst parts = content\n\t\t.map(mapBlockToResponsesFormat)\n\t\t.filter((mapped) => mapped !== null);\n\n\treturn parts.length > 0 ? parts : '';\n};\n\nconst hasToolBlocks = (content: AIProviderContentBlock[]) =>\n\tcontent.some(\n\t\t(block) => block.type === 'tool_use' || block.type === 'tool_result'\n\t);\n\nconst convertToolBlock = (block: AIProviderContentBlock) => {\n\tif (block.type === 'tool_use') {\n\t\treturn {\n\t\t\targuments:\n\t\t\t\ttypeof block.input === 'string'\n\t\t\t\t\t? block.input\n\t\t\t\t\t: JSON.stringify(block.input),\n\t\t\tcall_id: block.id,\n\t\t\tname: block.name,\n\t\t\ttype: 'function_call'\n\t\t};\n\t}\n\n\tif (block.type === 'tool_result') {\n\t\treturn {\n\t\t\tcall_id: block.tool_use_id,\n\t\t\toutput: typeof block.content === 'string' ? block.content : '',\n\t\t\ttype: 'function_call_output'\n\t\t};\n\t}\n\n\treturn null;\n};\n\nconst convertToolBlocks = (content: AIProviderContentBlock[]) =>\n\tcontent.map(convertToolBlock).filter((converted) => converted !== null);\n\nconst convertMessage = (msg: AIProviderMessage) => {\n\tif (\n\t\ttypeof msg.content !== 'string' &&\n\t\tArray.isArray(msg.content) &&\n\t\thasToolBlocks(msg.content)\n\t) {\n\t\treturn convertToolBlocks(msg.content);\n\t}\n\n\tconst content = mapContentToResponsesFormat(msg.content);\n\n\treturn [\n\t\t{\n\t\t\tcontent,\n\t\t\trole: msg.role === 'system' ? 'developer' : msg.role,\n\t\t\ttype: 'message'\n\t\t}\n\t];\n};\n\nconst buildInput = (messages: AIProviderMessage[]) => {\n\tconst input: Array<Record<string, unknown>> = [];\n\n\tfor (const msg of messages) {\n\t\tinput.push(...convertMessage(msg));\n\t}\n\n\treturn input;\n};\n\nconst mapToolDefinition = (tool: AIProviderToolDefinition) => ({\n\tdescription: tool.description,\n\tname: tool.name,\n\tparameters: tool.input_schema,\n\ttype: 'function'\n});\n\nconst buildTools = (\n\ttools: AIProviderToolDefinition[] | undefined,\n\tisImageModel: boolean\n) => {\n\tconst mapped = tools ? tools.map(mapToolDefinition) : [];\n\tconst result: Array<Record<string, unknown>> = [...mapped];\n\n\tif (isImageModel) {\n\t\tresult.push({ type: 'image_generation' });\n\t}\n\n\treturn result.length > 0 ? result : undefined;\n};\n\nconst buildRequestBody = (\n\tparams: AIProviderStreamParams,\n\tisImageModel: boolean\n) => {\n\tconst body: Record<string, unknown> = {\n\t\tinput: buildInput(params.messages),\n\t\tmodel: params.model,\n\t\tstream: true\n\t};\n\n\tif (params.systemPrompt) {\n\t\tbody.instructions = params.systemPrompt;\n\t}\n\n\tconst tools = buildTools(params.tools, isImageModel);\n\n\tif (tools) {\n\t\tbody.tools = tools;\n\t}\n\n\treturn body;\n};\n\n/* ─── SSE parsing ─── */\n\nconst parseJSON = (data: string) => {\n\ttry {\n\t\treturn JSON.parse(data);\n\t} catch {\n\t\treturn null;\n\t}\n};\n\nconst parseToolInput = (rawArguments: string) => {\n\ttry {\n\t\treturn JSON.parse(rawArguments);\n\t} catch {\n\t\treturn rawArguments;\n\t}\n};\n\nconst extractUsage = (response: Record<string, unknown>) => {\n\tif (!isRecord(response.usage)) {\n\t\treturn undefined;\n\t}\n\n\tconst { usage } = response;\n\n\treturn {\n\t\tinputTokens:\n\t\t\ttypeof usage.input_tokens === 'number' ? usage.input_tokens : 0,\n\t\toutputTokens:\n\t\t\ttypeof usage.output_tokens === 'number' ? usage.output_tokens : 0\n\t};\n};\n\nconst extractMimeFormat = (mimeType: unknown) => {\n\tif (typeof mimeType !== 'string') {\n\t\treturn 'png';\n\t}\n\n\tif (mimeType.includes('jpeg')) return 'jpeg';\n\tif (mimeType.includes('webp')) return 'webp';\n\n\treturn 'png';\n};\n\nconst processTextDelta = function* (parsed: Record<string, unknown>) {\n\tif (typeof parsed.delta === 'string') {\n\t\tyield { content: parsed.delta, type: 'text' as const };\n\t}\n};\n\nconst processPartialImage = function* (parsed: Record<string, unknown>) {\n\tconst itemId =\n\t\ttypeof parsed.item_id === 'string' ? parsed.item_id : undefined;\n\tconst b64 =\n\t\ttypeof parsed.partial_image_b64 === 'string'\n\t\t\t? parsed.partial_image_b64\n\t\t\t: undefined;\n\n\tif (b64) {\n\t\tyield {\n\t\t\tdata: b64,\n\t\t\tformat: 'png',\n\t\t\timageId: itemId,\n\t\t\tisPartial: true,\n\t\t\ttype: 'image' as const\n\t\t};\n\t}\n};\n\nconst processFunctionCallArgumentsDelta = (\n\tparsed: Record<string, unknown>,\n\tpendingCalls: Map<string, PendingFunctionCall>\n) => {\n\tconst itemId = typeof parsed.item_id === 'string' ? parsed.item_id : '';\n\tconst callId = typeof parsed.call_id === 'string' ? parsed.call_id : '';\n\tconst delta =\n\t\ttypeof parsed.arguments_delta === 'string'\n\t\t\t? parsed.arguments_delta\n\t\t\t: '';\n\n\tconst existing = pendingCalls.get(itemId);\n\n\tif (existing) {\n\t\texisting.arguments += delta;\n\t} else {\n\t\tpendingCalls.set(itemId, {\n\t\t\targuments: delta,\n\t\t\tcallId,\n\t\t\tname: ''\n\t\t});\n\t}\n};\n\nconst processFunctionCallArgumentsDone = function* (\n\tparsed: Record<string, unknown>,\n\tpendingCalls: Map<string, PendingFunctionCall>\n) {\n\tconst itemId = typeof parsed.item_id === 'string' ? parsed.item_id : '';\n\tconst callId = typeof parsed.call_id === 'string' ? parsed.call_id : '';\n\tconst fullArgs =\n\t\ttypeof parsed.arguments === 'string' ? parsed.arguments : '';\n\n\tconst pending = pendingCalls.get(itemId);\n\tconst name = pending?.name ?? '';\n\tconst args = fullArgs || pending?.arguments || '';\n\n\tpendingCalls.delete(itemId);\n\n\tyield {\n\t\tid: callId || pending?.callId || itemId,\n\t\tinput: parseToolInput(args),\n\t\tname,\n\t\ttype: 'tool_use' as const\n\t};\n};\n\nconst processOutputItemAdded = (\n\tparsed: Record<string, unknown>,\n\tpendingCalls: Map<string, PendingFunctionCall>\n) => {\n\tif (!isRecord(parsed.item)) {\n\t\treturn;\n\t}\n\n\tconst { item } = parsed;\n\tconst itemId = typeof item.id === 'string' ? item.id : '';\n\tconst itemType = typeof item.type === 'string' ? item.type : '';\n\n\tif (itemType !== 'function_call') {\n\t\treturn;\n\t}\n\n\tconst callId = typeof item.call_id === 'string' ? item.call_id : '';\n\tconst name = typeof item.name === 'string' ? item.name : '';\n\n\tpendingCalls.set(itemId, {\n\t\targuments: '',\n\t\tcallId,\n\t\tname\n\t});\n};\n\nconst isCompletedImageGeneration = (item: Record<string, unknown>) =>\n\titem.type === 'image_generation_call' &&\n\titem.status === 'completed' &&\n\ttypeof item.result === 'string' &&\n\titem.result !== '';\n\nconst buildImageChunk = (item: Record<string, unknown>) => ({\n\tdata: typeof item.result === 'string' ? item.result : '',\n\tformat: extractMimeFormat(item.output_format),\n\timageId: typeof item.id === 'string' ? item.id : undefined,\n\tisPartial: false,\n\trevisedPrompt:\n\t\ttypeof item.revised_prompt === 'string'\n\t\t\t? item.revised_prompt\n\t\t\t: undefined,\n\ttype: 'image' as const\n});\n\nconst extractImageFromOutput = function* (\n\toutput: Array<Record<string, unknown>>\n) {\n\tconst completedImages = output.filter(isCompletedImageGeneration);\n\n\tfor (const item of completedImages) {\n\t\tyield buildImageChunk(item);\n\t}\n};\n\nconst processCompleted = function* (parsed: Record<string, unknown>) {\n\tif (!isRecord(parsed.response)) {\n\t\tyield { type: 'done' as const, usage: undefined };\n\n\t\treturn;\n\t}\n\n\tconst { response } = parsed;\n\tconst usage = extractUsage(response);\n\n\tif (isRecordArray(response.output)) {\n\t\tyield* extractImageFromOutput(response.output);\n\t}\n\n\tyield { type: 'done' as const, usage };\n};\n\nconst processSSEEvent = function* (\n\teventType: string,\n\tparsed: Record<string, unknown>,\n\tpendingCalls: Map<string, PendingFunctionCall>\n) {\n\tswitch (eventType) {\n\t\tcase 'response.output_text.delta':\n\t\t\tyield* processTextDelta(parsed);\n\t\t\tbreak;\n\n\t\tcase 'response.image_generation_call.partial_image':\n\t\t\tyield* processPartialImage(parsed);\n\t\t\tbreak;\n\n\t\tcase 'response.output_item.added':\n\t\t\tprocessOutputItemAdded(parsed, pendingCalls);\n\t\t\tbreak;\n\n\t\tcase 'response.function_call_arguments.delta':\n\t\t\tprocessFunctionCallArgumentsDelta(parsed, pendingCalls);\n\t\t\tbreak;\n\n\t\tcase 'response.function_call_arguments.done':\n\t\t\tyield* processFunctionCallArgumentsDone(parsed, pendingCalls);\n\t\t\tbreak;\n\n\t\tcase 'response.completed':\n\t\t\tyield* processCompleted(parsed);\n\t\t\tbreak;\n\t}\n};\n\nconst flushSSEBuffer = function* (state: StreamState) {\n\tif (!state.currentEvent || !state.buffer) {\n\t\treturn;\n\t}\n\n\tconst parsed = parseJSON(state.buffer);\n\n\tif (parsed) {\n\t\tyield* processSSEEvent(state.currentEvent, parsed, state.pendingCalls);\n\t}\n\n\tstate.currentEvent = '';\n\tstate.buffer = '';\n};\n\nconst parseSSELine = (trimmed: string, state: StreamState) => {\n\tif (trimmed.startsWith('event: ')) {\n\t\tstate.currentEvent = trimmed.slice(EVENT_PREFIX_LENGTH);\n\t} else if (trimmed.startsWith('data: ')) {\n\t\tstate.buffer = trimmed.slice(DATA_PREFIX_LENGTH);\n\t}\n};\n\nconst processSSELine = function* (line: string, state: StreamState) {\n\tconst trimmed = line.trim();\n\n\tif (trimmed) {\n\t\tparseSSELine(trimmed, state);\n\n\t\treturn;\n\t}\n\n\tyield* flushSSEBuffer(state);\n};\n\nconst processSSELines = function* (lines: string[], state: StreamState) {\n\tfor (const line of lines) {\n\t\tyield* processSSELine(line, state);\n\t}\n};\n\nconst drainReader = async function* (\n\treader: ReadableStreamDefaultReader<Uint8Array>,\n\tdecoder: TextDecoder,\n\tstate: StreamState,\n\tsignal?: AbortSignal\n) {\n\tlet textBuffer = '';\n\n\tfor (\n\t\tlet result = await reader.read();\n\t\t!result.done && !signal?.aborted;\n\t\t// eslint-disable-next-line no-await-in-loop\n\t\tresult = await reader.read()\n\t) {\n\t\ttextBuffer += decoder.decode(result.value, { stream: true });\n\t\tconst lines = textBuffer.split('\\n');\n\t\ttextBuffer = lines.pop() ?? '';\n\n\t\tyield* processSSELines(lines, state);\n\t}\n\n\tif (textBuffer.trim()) {\n\t\tyield* processSSELines([textBuffer, ''], state);\n\t}\n};\n\nconst parseSSEStream = async function* (\n\tbody: ReadableStream<Uint8Array>,\n\tsignal?: AbortSignal\n) {\n\tconst reader = body.getReader();\n\tconst decoder = new TextDecoder();\n\tconst state: StreamState = {\n\t\tbuffer: '',\n\t\tcurrentEvent: '',\n\t\tpendingCalls: new Map(),\n\t\tusage: undefined\n\t};\n\n\ttry {\n\t\tyield* drainReader(reader, decoder, state, signal);\n\t} finally {\n\t\treader.releaseLock();\n\t}\n};\n\nconst fetchResponsesStream = async function* (\n\tbaseUrl: string,\n\tapiKey: string,\n\tbody: Record<string, unknown>,\n\tsignal?: AbortSignal\n) {\n\tconst response = await fetch(`${baseUrl}/v1/responses`, {\n\t\tbody: JSON.stringify(body),\n\t\theaders: {\n\t\t\tAuthorization: `Bearer ${apiKey}`,\n\t\t\t'Content-Type': 'application/json'\n\t\t},\n\t\tmethod: 'POST',\n\t\tsignal\n\t});\n\n\tif (!response.ok) {\n\t\tconst errorText = await response.text();\n\t\tthrow new Error(\n\t\t\t`OpenAI Responses API error ${response.status}: ${errorText}`\n\t\t);\n\t}\n\n\tif (!response.body) {\n\t\tthrow new Error('OpenAI Responses API returned no response body');\n\t}\n\n\tyield* parseSSEStream(response.body, signal);\n};\n\nconst resolveImageModels = (\n\timageModels: Set<string> | string[] | undefined\n) => {\n\tif (!imageModels) {\n\t\treturn new Set<string>();\n\t}\n\n\tif (imageModels instanceof Set) {\n\t\treturn imageModels;\n\t}\n\n\treturn new Set(imageModels);\n};\n\nexport const openaiResponses = (config: OpenAIResponsesConfig) => {\n\tconst baseUrl = config.baseUrl ?? DEFAULT_BASE_URL;\n\tconst imageModels = resolveImageModels(config.imageModels);\n\n\treturn {\n\t\tstream: (params: AIProviderStreamParams) => {\n\t\t\tconst isImageModel = imageModels.has(params.model);\n\t\t\tconst body = buildRequestBody(params, isImageModel);\n\n\t\t\treturn fetchResponsesStream(\n\t\t\t\tbaseUrl,\n\t\t\t\tconfig.apiKey,\n\t\t\t\tbody,\n\t\t\t\tparams.signal\n\t\t\t);\n\t\t}\n\t} satisfies AIProviderConfig;\n};\n"
|
|
5
|
+
"import type {\n\tAIProviderConfig,\n\tAIProviderContentBlock,\n\tAIProviderMessage,\n\tAIProviderStreamParams,\n\tAIProviderToolDefinition,\n\tAIUsage\n} from '../../../types/ai';\n\ntype OpenAIResponsesConfig = {\n\tapiKey: string;\n\tbaseUrl?: string;\n\timageModels?: Set<string> | string[];\n};\n\ntype PendingFunctionCall = {\n\tcallId: string;\n\tname: string;\n\targuments: string;\n};\n\ntype StreamState = {\n\tbuffer: string;\n\tcurrentEvent: string;\n\tpendingCalls: Map<string, PendingFunctionCall>;\n\tusage: AIUsage | undefined;\n};\n\nconst DEFAULT_BASE_URL = 'https://api.openai.com';\nconst EVENT_PREFIX_LENGTH = 7;\nconst DATA_PREFIX_LENGTH = 6;\n\nconst isRecord = (value: unknown): value is Record<string, unknown> =>\n\ttypeof value === 'object' && value !== null;\n\nconst isRecordArray = (\n\tvalue: unknown\n): value is Array<Record<string, unknown>> =>\n\tArray.isArray(value) && value.length > 0 && isRecord(value[0]);\n\n/* ─── Message conversion ─── */\n\nconst mapBlockToResponsesFormat = (block: AIProviderContentBlock) => {\n\tif (block.type === 'text') {\n\t\treturn { text: block.content, type: 'input_text' };\n\t}\n\n\tif (block.type === 'image') {\n\t\treturn {\n\t\t\timage_url: {\n\t\t\t\turl: `data:${block.source.media_type};base64,${block.source.data}`\n\t\t\t},\n\t\t\ttype: 'input_image'\n\t\t};\n\t}\n\n\tif (block.type === 'document') {\n\t\treturn {\n\t\t\tfile: {\n\t\t\t\tfile_data: `data:${block.source.media_type};base64,${block.source.data}`,\n\t\t\t\tfilename: block.name ?? 'document.pdf'\n\t\t\t},\n\t\t\ttype: 'input_file'\n\t\t};\n\t}\n\n\treturn null;\n};\n\nconst mapContentToResponsesFormat = (\n\tcontent: string | AIProviderContentBlock[]\n) => {\n\tif (typeof content === 'string') {\n\t\treturn content;\n\t}\n\n\tconst parts = content\n\t\t.map(mapBlockToResponsesFormat)\n\t\t.filter((mapped) => mapped !== null);\n\n\treturn parts.length > 0 ? parts : '';\n};\n\nconst hasToolBlocks = (content: AIProviderContentBlock[]) =>\n\tcontent.some(\n\t\t(block) => block.type === 'tool_use' || block.type === 'tool_result'\n\t);\n\nconst convertToolBlock = (block: AIProviderContentBlock) => {\n\tif (block.type === 'tool_use') {\n\t\treturn {\n\t\t\targuments:\n\t\t\t\ttypeof block.input === 'string'\n\t\t\t\t\t? block.input\n\t\t\t\t\t: JSON.stringify(block.input),\n\t\t\tcall_id: block.id,\n\t\t\tname: block.name,\n\t\t\ttype: 'function_call'\n\t\t};\n\t}\n\n\tif (block.type === 'tool_result') {\n\t\treturn {\n\t\t\tcall_id: block.tool_use_id,\n\t\t\toutput: typeof block.content === 'string' ? block.content : '',\n\t\t\ttype: 'function_call_output'\n\t\t};\n\t}\n\n\treturn null;\n};\n\nconst convertToolBlocks = (content: AIProviderContentBlock[]) =>\n\tcontent.map(convertToolBlock).filter((converted) => converted !== null);\n\nconst convertMessage = (msg: AIProviderMessage) => {\n\tif (\n\t\ttypeof msg.content !== 'string' &&\n\t\tArray.isArray(msg.content) &&\n\t\thasToolBlocks(msg.content)\n\t) {\n\t\treturn convertToolBlocks(msg.content);\n\t}\n\n\tconst content = mapContentToResponsesFormat(msg.content);\n\n\treturn [\n\t\t{\n\t\t\tcontent,\n\t\t\trole: msg.role === 'system' ? 'developer' : msg.role,\n\t\t\ttype: 'message'\n\t\t}\n\t];\n};\n\nconst buildInput = (messages: AIProviderMessage[]) => {\n\tconst input: Array<Record<string, unknown>> = [];\n\n\tfor (const msg of messages) {\n\t\tinput.push(...convertMessage(msg));\n\t}\n\n\treturn input;\n};\n\nconst mapToolDefinition = (tool: AIProviderToolDefinition) => ({\n\tdescription: tool.description,\n\tname: tool.name,\n\tparameters: tool.input_schema,\n\ttype: 'function'\n});\n\nconst buildTools = (\n\ttools: AIProviderToolDefinition[] | undefined,\n\tisImageModel: boolean\n) => {\n\tconst mapped = tools ? tools.map(mapToolDefinition) : [];\n\tconst result: Array<Record<string, unknown>> = [...mapped];\n\n\tif (isImageModel) {\n\t\tresult.push({ type: 'image_generation' });\n\t}\n\n\treturn result.length > 0 ? result : undefined;\n};\n\nconst buildRequestBody = (\n\tparams: AIProviderStreamParams,\n\tisImageModel: boolean\n) => {\n\tconst body: Record<string, unknown> = {\n\t\tinput: buildInput(params.messages),\n\t\tmodel: params.model,\n\t\tstream: true\n\t};\n\n\tif (params.systemPrompt) {\n\t\tbody.instructions = params.systemPrompt;\n\t}\n\n\tconst tools = buildTools(params.tools, isImageModel);\n\n\tif (tools) {\n\t\tbody.tools = tools;\n\t}\n\n\t// Enable reasoning summary for models that support thinking/reasoning\n\tif (params.thinking) {\n\t\tbody.reasoning = {\n\t\t\teffort: 'high',\n\t\t\tsummary: 'auto'\n\t\t};\n\t}\n\n\treturn body;\n};\n\n/* ─── SSE parsing ─── */\n\nconst parseJSON = (data: string) => {\n\ttry {\n\t\treturn JSON.parse(data);\n\t} catch {\n\t\treturn null;\n\t}\n};\n\nconst parseToolInput = (rawArguments: string) => {\n\ttry {\n\t\treturn JSON.parse(rawArguments);\n\t} catch {\n\t\treturn rawArguments;\n\t}\n};\n\nconst extractUsage = (response: Record<string, unknown>) => {\n\tif (!isRecord(response.usage)) {\n\t\treturn undefined;\n\t}\n\n\tconst { usage } = response;\n\n\treturn {\n\t\tinputTokens:\n\t\t\ttypeof usage.input_tokens === 'number' ? usage.input_tokens : 0,\n\t\toutputTokens:\n\t\t\ttypeof usage.output_tokens === 'number' ? usage.output_tokens : 0\n\t};\n};\n\nconst extractMimeFormat = (mimeType: unknown) => {\n\tif (typeof mimeType !== 'string') {\n\t\treturn 'png';\n\t}\n\n\tif (mimeType.includes('jpeg')) return 'jpeg';\n\tif (mimeType.includes('webp')) return 'webp';\n\n\treturn 'png';\n};\n\nconst processTextDelta = function* (parsed: Record<string, unknown>) {\n\tif (typeof parsed.delta === 'string') {\n\t\tyield { content: parsed.delta, type: 'text' as const };\n\t}\n};\n\nconst processPartialImage = function* (parsed: Record<string, unknown>) {\n\tconst itemId =\n\t\ttypeof parsed.item_id === 'string' ? parsed.item_id : undefined;\n\tconst b64 =\n\t\ttypeof parsed.partial_image_b64 === 'string'\n\t\t\t? parsed.partial_image_b64\n\t\t\t: undefined;\n\n\tif (b64) {\n\t\tyield {\n\t\t\tdata: b64,\n\t\t\tformat: 'png',\n\t\t\timageId: itemId,\n\t\t\tisPartial: true,\n\t\t\ttype: 'image' as const\n\t\t};\n\t}\n};\n\nconst processFunctionCallArgumentsDelta = (\n\tparsed: Record<string, unknown>,\n\tpendingCalls: Map<string, PendingFunctionCall>\n) => {\n\tconst itemId = typeof parsed.item_id === 'string' ? parsed.item_id : '';\n\tconst callId = typeof parsed.call_id === 'string' ? parsed.call_id : '';\n\tconst delta =\n\t\ttypeof parsed.arguments_delta === 'string'\n\t\t\t? parsed.arguments_delta\n\t\t\t: '';\n\n\tconst existing = pendingCalls.get(itemId);\n\n\tif (existing) {\n\t\texisting.arguments += delta;\n\t} else {\n\t\tpendingCalls.set(itemId, {\n\t\t\targuments: delta,\n\t\t\tcallId,\n\t\t\tname: ''\n\t\t});\n\t}\n};\n\nconst processFunctionCallArgumentsDone = function* (\n\tparsed: Record<string, unknown>,\n\tpendingCalls: Map<string, PendingFunctionCall>\n) {\n\tconst itemId = typeof parsed.item_id === 'string' ? parsed.item_id : '';\n\tconst callId = typeof parsed.call_id === 'string' ? parsed.call_id : '';\n\tconst fullArgs =\n\t\ttypeof parsed.arguments === 'string' ? parsed.arguments : '';\n\n\tconst pending = pendingCalls.get(itemId);\n\tconst name = pending?.name ?? '';\n\tconst args = fullArgs || pending?.arguments || '';\n\n\tpendingCalls.delete(itemId);\n\n\tyield {\n\t\tid: callId || pending?.callId || itemId,\n\t\tinput: parseToolInput(args),\n\t\tname,\n\t\ttype: 'tool_use' as const\n\t};\n};\n\nconst processOutputItemAdded = (\n\tparsed: Record<string, unknown>,\n\tpendingCalls: Map<string, PendingFunctionCall>\n) => {\n\tif (!isRecord(parsed.item)) {\n\t\treturn;\n\t}\n\n\tconst { item } = parsed;\n\tconst itemId = typeof item.id === 'string' ? item.id : '';\n\tconst itemType = typeof item.type === 'string' ? item.type : '';\n\n\tif (itemType !== 'function_call') {\n\t\treturn;\n\t}\n\n\tconst callId = typeof item.call_id === 'string' ? item.call_id : '';\n\tconst name = typeof item.name === 'string' ? item.name : '';\n\n\tpendingCalls.set(itemId, {\n\t\targuments: '',\n\t\tcallId,\n\t\tname\n\t});\n};\n\nconst isCompletedImageGeneration = (item: Record<string, unknown>) =>\n\titem.type === 'image_generation_call' &&\n\titem.status === 'completed' &&\n\ttypeof item.result === 'string' &&\n\titem.result !== '';\n\nconst buildImageChunk = (item: Record<string, unknown>) => ({\n\tdata: typeof item.result === 'string' ? item.result : '',\n\tformat: extractMimeFormat(item.output_format),\n\timageId: typeof item.id === 'string' ? item.id : undefined,\n\tisPartial: false,\n\trevisedPrompt:\n\t\ttypeof item.revised_prompt === 'string'\n\t\t\t? item.revised_prompt\n\t\t\t: undefined,\n\ttype: 'image' as const\n});\n\nconst extractImageFromOutput = function* (\n\toutput: Array<Record<string, unknown>>\n) {\n\tconst completedImages = output.filter(isCompletedImageGeneration);\n\n\tfor (const item of completedImages) {\n\t\tyield buildImageChunk(item);\n\t}\n};\n\nconst processCompleted = function* (parsed: Record<string, unknown>) {\n\tif (!isRecord(parsed.response)) {\n\t\tyield { type: 'done' as const, usage: undefined };\n\n\t\treturn;\n\t}\n\n\tconst { response } = parsed;\n\tconst usage = extractUsage(response);\n\n\tif (isRecordArray(response.output)) {\n\t\tyield* extractImageFromOutput(response.output);\n\t}\n\n\tyield { type: 'done' as const, usage };\n};\n\nconst processSSEEvent = function* (\n\teventType: string,\n\tparsed: Record<string, unknown>,\n\tpendingCalls: Map<string, PendingFunctionCall>\n) {\n\tswitch (eventType) {\n\t\tcase 'response.reasoning_summary_text.delta': {\n\t\t\tconst delta =\n\t\t\t\ttypeof parsed.delta === 'string' ? parsed.delta : '';\n\n\t\t\tif (delta) {\n\t\t\t\tyield {\n\t\t\t\t\tcontent: delta,\n\t\t\t\t\ttype: 'thinking' as const\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tbreak;\n\t\t}\n\n\t\tcase 'response.output_text.delta':\n\t\t\tyield* processTextDelta(parsed);\n\t\t\tbreak;\n\n\t\tcase 'response.image_generation_call.partial_image':\n\t\t\tyield* processPartialImage(parsed);\n\t\t\tbreak;\n\n\t\tcase 'response.output_item.added':\n\t\t\tprocessOutputItemAdded(parsed, pendingCalls);\n\t\t\tbreak;\n\n\t\tcase 'response.function_call_arguments.delta':\n\t\t\tprocessFunctionCallArgumentsDelta(parsed, pendingCalls);\n\t\t\tbreak;\n\n\t\tcase 'response.function_call_arguments.done':\n\t\t\tyield* processFunctionCallArgumentsDone(parsed, pendingCalls);\n\t\t\tbreak;\n\n\t\tcase 'response.completed':\n\t\t\tyield* processCompleted(parsed);\n\t\t\tbreak;\n\n\t\tcase 'response.failed':\n\t\tcase 'response.incomplete': {\n\t\t\tconst respObj = isRecord(parsed.response) ? parsed.response : parsed;\n\t\t\tconst errMsg =\n\t\t\t\tisRecord(respObj.error) && typeof respObj.error.message === 'string'\n\t\t\t\t\t? respObj.error.message\n\t\t\t\t\t: `OpenAI Responses API: ${eventType}`;\n\t\t\tthrow new Error(errMsg);\n\t\t}\n\t}\n};\n\nconst flushSSEBuffer = function* (state: StreamState) {\n\tif (!state.currentEvent || !state.buffer) {\n\t\treturn;\n\t}\n\n\tconst parsed = parseJSON(state.buffer);\n\n\tif (parsed) {\n\t\tyield* processSSEEvent(state.currentEvent, parsed, state.pendingCalls);\n\t}\n\n\tstate.currentEvent = '';\n\tstate.buffer = '';\n};\n\nconst parseSSELine = (trimmed: string, state: StreamState) => {\n\tif (trimmed.startsWith('event: ')) {\n\t\tstate.currentEvent = trimmed.slice(EVENT_PREFIX_LENGTH);\n\t} else if (trimmed.startsWith('data: ')) {\n\t\tstate.buffer = trimmed.slice(DATA_PREFIX_LENGTH);\n\t}\n};\n\nconst processSSELine = function* (line: string, state: StreamState) {\n\tconst trimmed = line.trim();\n\n\tif (trimmed) {\n\t\tparseSSELine(trimmed, state);\n\n\t\treturn;\n\t}\n\n\tyield* flushSSEBuffer(state);\n};\n\nconst processSSELines = function* (lines: string[], state: StreamState) {\n\tfor (const line of lines) {\n\t\tyield* processSSELine(line, state);\n\t}\n};\n\nconst drainReader = async function* (\n\treader: ReadableStreamDefaultReader<Uint8Array>,\n\tdecoder: TextDecoder,\n\tstate: StreamState,\n\tsignal?: AbortSignal\n) {\n\tlet textBuffer = '';\n\n\tfor (\n\t\tlet result = await reader.read();\n\t\t!result.done && !signal?.aborted;\n\t\t// eslint-disable-next-line no-await-in-loop\n\t\tresult = await reader.read()\n\t) {\n\t\ttextBuffer += decoder.decode(result.value, { stream: true });\n\t\tconst lines = textBuffer.split('\\n');\n\t\ttextBuffer = lines.pop() ?? '';\n\n\t\tyield* processSSELines(lines, state);\n\t}\n\n\tif (textBuffer.trim()) {\n\t\tyield* processSSELines([textBuffer, ''], state);\n\t}\n};\n\nconst parseSSEStream = async function* (\n\tbody: ReadableStream<Uint8Array>,\n\tsignal?: AbortSignal\n) {\n\tconst reader = body.getReader();\n\tconst decoder = new TextDecoder();\n\tconst state: StreamState = {\n\t\tbuffer: '',\n\t\tcurrentEvent: '',\n\t\tpendingCalls: new Map(),\n\t\tusage: undefined\n\t};\n\n\ttry {\n\t\tyield* drainReader(reader, decoder, state, signal);\n\t} finally {\n\t\treader.releaseLock();\n\t}\n};\n\nconst fetchResponsesStream = async function* (\n\tbaseUrl: string,\n\tapiKey: string,\n\tbody: Record<string, unknown>,\n\tsignal?: AbortSignal\n) {\n\tconst response = await fetch(`${baseUrl}/v1/responses`, {\n\t\tbody: JSON.stringify(body),\n\t\theaders: {\n\t\t\tAuthorization: `Bearer ${apiKey}`,\n\t\t\t'Content-Type': 'application/json'\n\t\t},\n\t\tmethod: 'POST',\n\t\tsignal\n\t});\n\n\tif (!response.ok) {\n\t\tconst errorText = await response.text();\n\t\tthrow new Error(\n\t\t\t`OpenAI Responses API error ${response.status}: ${errorText}`\n\t\t);\n\t}\n\n\tif (!response.body) {\n\t\tthrow new Error('OpenAI Responses API returned no response body');\n\t}\n\n\tyield* parseSSEStream(response.body, signal);\n};\n\nconst resolveImageModels = (\n\timageModels: Set<string> | string[] | undefined\n) => {\n\tif (!imageModels) {\n\t\treturn new Set<string>();\n\t}\n\n\tif (imageModels instanceof Set) {\n\t\treturn imageModels;\n\t}\n\n\treturn new Set(imageModels);\n};\n\nexport const openaiResponses = (config: OpenAIResponsesConfig) => {\n\tconst baseUrl = config.baseUrl ?? DEFAULT_BASE_URL;\n\tconst imageModels = resolveImageModels(config.imageModels);\n\n\treturn {\n\t\tstream: (params: AIProviderStreamParams) => {\n\t\t\tconst isImageModel = imageModels.has(params.model);\n\t\t\tconst body = buildRequestBody(params, isImageModel);\n\n\t\t\treturn fetchResponsesStream(\n\t\t\t\tbaseUrl,\n\t\t\t\tconfig.apiKey,\n\t\t\t\tbody,\n\t\t\t\tparams.signal\n\t\t\t);\n\t\t}\n\t} satisfies AIProviderConfig;\n};\n"
|
|
6
6
|
],
|
|
7
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4BA,IAAM,mBAAmB;AACzB,IAAM,sBAAsB;AAC5B,IAAM,qBAAqB;AAE3B,IAAM,WAAW,CAAC,UACjB,OAAO,UAAU,YAAY,UAAU;AAExC,IAAM,gBAAgB,CACrB,UAEA,MAAM,QAAQ,KAAK,KAAK,MAAM,SAAS,KAAK,SAAS,MAAM,EAAE;AAI9D,IAAM,4BAA4B,CAAC,UAAkC;AAAA,EACpE,IAAI,MAAM,SAAS,QAAQ;AAAA,IAC1B,OAAO,EAAE,MAAM,MAAM,SAAS,MAAM,aAAa;AAAA,EAClD;AAAA,EAEA,IAAI,MAAM,SAAS,SAAS;AAAA,IAC3B,OAAO;AAAA,MACN,WAAW;AAAA,QACV,KAAK,QAAQ,MAAM,OAAO,qBAAqB,MAAM,OAAO;AAAA,MAC7D;AAAA,MACA,MAAM;AAAA,IACP;AAAA,EACD;AAAA,EAEA,IAAI,MAAM,SAAS,YAAY;AAAA,IAC9B,OAAO;AAAA,MACN,MAAM;AAAA,QACL,WAAW,QAAQ,MAAM,OAAO,qBAAqB,MAAM,OAAO;AAAA,QAClE,UAAU,MAAM,QAAQ;AAAA,MACzB;AAAA,MACA,MAAM;AAAA,IACP;AAAA,EACD;AAAA,EAEA,OAAO;AAAA;AAGR,IAAM,8BAA8B,CACnC,YACI;AAAA,EACJ,IAAI,OAAO,YAAY,UAAU;AAAA,IAChC,OAAO;AAAA,EACR;AAAA,EAEA,MAAM,QAAQ,QACZ,IAAI,yBAAyB,EAC7B,OAAO,CAAC,WAAW,WAAW,IAAI;AAAA,EAEpC,OAAO,MAAM,SAAS,IAAI,QAAQ;AAAA;AAGnC,IAAM,gBAAgB,CAAC,YACtB,QAAQ,KACP,CAAC,UAAU,MAAM,SAAS,cAAc,MAAM,SAAS,aACxD;AAED,IAAM,mBAAmB,CAAC,UAAkC;AAAA,EAC3D,IAAI,MAAM,SAAS,YAAY;AAAA,IAC9B,OAAO;AAAA,MACN,WACC,OAAO,MAAM,UAAU,WACpB,MAAM,QACN,KAAK,UAAU,MAAM,KAAK;AAAA,MAC9B,SAAS,MAAM;AAAA,MACf,MAAM,MAAM;AAAA,MACZ,MAAM;AAAA,IACP;AAAA,EACD;AAAA,EAEA,IAAI,MAAM,SAAS,eAAe;AAAA,IACjC,OAAO;AAAA,MACN,SAAS,MAAM;AAAA,MACf,QAAQ,OAAO,MAAM,YAAY,WAAW,MAAM,UAAU;AAAA,MAC5D,MAAM;AAAA,IACP;AAAA,EACD;AAAA,EAEA,OAAO;AAAA;AAGR,IAAM,oBAAoB,CAAC,YAC1B,QAAQ,IAAI,gBAAgB,EAAE,OAAO,CAAC,cAAc,cAAc,IAAI;AAEvE,IAAM,iBAAiB,CAAC,QAA2B;AAAA,EAClD,IACC,OAAO,IAAI,YAAY,YACvB,MAAM,QAAQ,IAAI,OAAO,KACzB,cAAc,IAAI,OAAO,GACxB;AAAA,IACD,OAAO,kBAAkB,IAAI,OAAO;AAAA,EACrC;AAAA,EAEA,MAAM,UAAU,4BAA4B,IAAI,OAAO;AAAA,EAEvD,OAAO;AAAA,IACN;AAAA,MACC;AAAA,MACA,MAAM,IAAI,SAAS,WAAW,cAAc,IAAI;AAAA,MAChD,MAAM;AAAA,IACP;AAAA,EACD;AAAA;AAGD,IAAM,aAAa,CAAC,aAAkC;AAAA,EACrD,MAAM,QAAwC,CAAC;AAAA,EAE/C,WAAW,OAAO,UAAU;AAAA,IAC3B,MAAM,KAAK,GAAG,eAAe,GAAG,CAAC;AAAA,EAClC;AAAA,EAEA,OAAO;AAAA;AAGR,IAAM,oBAAoB,CAAC,UAAoC;AAAA,EAC9D,aAAa,KAAK;AAAA,EAClB,MAAM,KAAK;AAAA,EACX,YAAY,KAAK;AAAA,EACjB,MAAM;AACP;AAEA,IAAM,aAAa,CAClB,OACA,iBACI;AAAA,EACJ,MAAM,SAAS,QAAQ,MAAM,IAAI,iBAAiB,IAAI,CAAC;AAAA,EACvD,MAAM,SAAyC,CAAC,GAAG,MAAM;AAAA,EAEzD,IAAI,cAAc;AAAA,IACjB,OAAO,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAAA,EACzC;AAAA,EAEA,OAAO,OAAO,SAAS,IAAI,SAAS;AAAA;AAGrC,IAAM,mBAAmB,CACxB,QACA,iBACI;AAAA,EACJ,MAAM,OAAgC;AAAA,IACrC,OAAO,WAAW,OAAO,QAAQ;AAAA,IACjC,OAAO,OAAO;AAAA,IACd,QAAQ;AAAA,EACT;AAAA,EAEA,IAAI,OAAO,cAAc;AAAA,IACxB,KAAK,eAAe,OAAO;AAAA,EAC5B;AAAA,EAEA,MAAM,QAAQ,WAAW,OAAO,OAAO,YAAY;AAAA,EAEnD,IAAI,OAAO;AAAA,IACV,KAAK,QAAQ;AAAA,EACd;AAAA,EAEA,OAAO;AAAA;AAKR,IAAM,YAAY,CAAC,SAAiB;AAAA,EACnC,IAAI;AAAA,IACH,OAAO,KAAK,MAAM,IAAI;AAAA,IACrB,MAAM;AAAA,IACP,OAAO;AAAA;AAAA;AAIT,IAAM,iBAAiB,CAAC,iBAAyB;AAAA,EAChD,IAAI;AAAA,IACH,OAAO,KAAK,MAAM,YAAY;AAAA,IAC7B,MAAM;AAAA,IACP,OAAO;AAAA;AAAA;AAIT,IAAM,eAAe,CAAC,aAAsC;AAAA,EAC3D,IAAI,CAAC,SAAS,SAAS,KAAK,GAAG;AAAA,IAC9B;AAAA,EACD;AAAA,EAEA,QAAQ,UAAU;AAAA,EAElB,OAAO;AAAA,IACN,aACC,OAAO,MAAM,iBAAiB,WAAW,MAAM,eAAe;AAAA,IAC/D,cACC,OAAO,MAAM,kBAAkB,WAAW,MAAM,gBAAgB;AAAA,EAClE;AAAA;AAGD,IAAM,oBAAoB,CAAC,aAAsB;AAAA,EAChD,IAAI,OAAO,aAAa,UAAU;AAAA,IACjC,OAAO;AAAA,EACR;AAAA,EAEA,IAAI,SAAS,SAAS,MAAM;AAAA,IAAG,OAAO;AAAA,EACtC,IAAI,SAAS,SAAS,MAAM;AAAA,IAAG,OAAO;AAAA,EAEtC,OAAO;AAAA;AAGR,IAAM,mBAAmB,UAAU,CAAC,QAAiC;AAAA,EACpE,IAAI,OAAO,OAAO,UAAU,UAAU;AAAA,IACrC,MAAM,EAAE,SAAS,OAAO,OAAO,MAAM,OAAgB;AAAA,EACtD;AAAA;AAGD,IAAM,sBAAsB,UAAU,CAAC,QAAiC;AAAA,EACvE,MAAM,SACL,OAAO,OAAO,YAAY,WAAW,OAAO,UAAU;AAAA,EACvD,MAAM,MACL,OAAO,OAAO,sBAAsB,WACjC,OAAO,oBACP;AAAA,EAEJ,IAAI,KAAK;AAAA,IACR,MAAM;AAAA,MACL,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,SAAS;AAAA,MACT,WAAW;AAAA,MACX,MAAM;AAAA,IACP;AAAA,EACD;AAAA;AAGD,IAAM,oCAAoC,CACzC,QACA,iBACI;AAAA,EACJ,MAAM,SAAS,OAAO,OAAO,YAAY,WAAW,OAAO,UAAU;AAAA,EACrE,MAAM,SAAS,OAAO,OAAO,YAAY,WAAW,OAAO,UAAU;AAAA,EACrE,MAAM,QACL,OAAO,OAAO,oBAAoB,WAC/B,OAAO,kBACP;AAAA,EAEJ,MAAM,WAAW,aAAa,IAAI,MAAM;AAAA,EAExC,IAAI,UAAU;AAAA,IACb,SAAS,aAAa;AAAA,EACvB,EAAO;AAAA,IACN,aAAa,IAAI,QAAQ;AAAA,MACxB,WAAW;AAAA,MACX;AAAA,MACA,MAAM;AAAA,IACP,CAAC;AAAA;AAAA;AAIH,IAAM,mCAAmC,UAAU,CAClD,QACA,cACC;AAAA,EACD,MAAM,SAAS,OAAO,OAAO,YAAY,WAAW,OAAO,UAAU;AAAA,EACrE,MAAM,SAAS,OAAO,OAAO,YAAY,WAAW,OAAO,UAAU;AAAA,EACrE,MAAM,WACL,OAAO,OAAO,cAAc,WAAW,OAAO,YAAY;AAAA,EAE3D,MAAM,UAAU,aAAa,IAAI,MAAM;AAAA,EACvC,MAAM,OAAO,SAAS,QAAQ;AAAA,EAC9B,MAAM,OAAO,YAAY,SAAS,aAAa;AAAA,EAE/C,aAAa,OAAO,MAAM;AAAA,EAE1B,MAAM;AAAA,IACL,IAAI,UAAU,SAAS,UAAU;AAAA,IACjC,OAAO,eAAe,IAAI;AAAA,IAC1B;AAAA,IACA,MAAM;AAAA,EACP;AAAA;AAGD,IAAM,yBAAyB,CAC9B,QACA,iBACI;AAAA,EACJ,IAAI,CAAC,SAAS,OAAO,IAAI,GAAG;AAAA,IAC3B;AAAA,EACD;AAAA,EAEA,QAAQ,SAAS;AAAA,EACjB,MAAM,SAAS,OAAO,KAAK,OAAO,WAAW,KAAK,KAAK;AAAA,EACvD,MAAM,WAAW,OAAO,KAAK,SAAS,WAAW,KAAK,OAAO;AAAA,EAE7D,IAAI,aAAa,iBAAiB;AAAA,IACjC;AAAA,EACD;AAAA,EAEA,MAAM,SAAS,OAAO,KAAK,YAAY,WAAW,KAAK,UAAU;AAAA,EACjE,MAAM,OAAO,OAAO,KAAK,SAAS,WAAW,KAAK,OAAO;AAAA,EAEzD,aAAa,IAAI,QAAQ;AAAA,IACxB,WAAW;AAAA,IACX;AAAA,IACA;AAAA,EACD,CAAC;AAAA;AAGF,IAAM,6BAA6B,CAAC,SACnC,KAAK,SAAS,2BACd,KAAK,WAAW,eAChB,OAAO,KAAK,WAAW,YACvB,KAAK,WAAW;AAEjB,IAAM,kBAAkB,CAAC,UAAmC;AAAA,EAC3D,MAAM,OAAO,KAAK,WAAW,WAAW,KAAK,SAAS;AAAA,EACtD,QAAQ,kBAAkB,KAAK,aAAa;AAAA,EAC5C,SAAS,OAAO,KAAK,OAAO,WAAW,KAAK,KAAK;AAAA,EACjD,WAAW;AAAA,EACX,eACC,OAAO,KAAK,mBAAmB,WAC5B,KAAK,iBACL;AAAA,EACJ,MAAM;AACP;AAEA,IAAM,yBAAyB,UAAU,CACxC,QACC;AAAA,EACD,MAAM,kBAAkB,OAAO,OAAO,0BAA0B;AAAA,EAEhE,WAAW,QAAQ,iBAAiB;AAAA,IACnC,MAAM,gBAAgB,IAAI;AAAA,EAC3B;AAAA;AAGD,IAAM,mBAAmB,UAAU,CAAC,QAAiC;AAAA,EACpE,IAAI,CAAC,SAAS,OAAO,QAAQ,GAAG;AAAA,IAC/B,MAAM,EAAE,MAAM,QAAiB,OAAO,UAAU;AAAA,IAEhD;AAAA,EACD;AAAA,EAEA,QAAQ,aAAa;AAAA,EACrB,MAAM,QAAQ,aAAa,QAAQ;AAAA,EAEnC,IAAI,cAAc,SAAS,MAAM,GAAG;AAAA,IACnC,OAAO,uBAAuB,SAAS,MAAM;AAAA,EAC9C;AAAA,EAEA,MAAM,EAAE,MAAM,QAAiB,MAAM;AAAA;AAGtC,IAAM,kBAAkB,UAAU,CACjC,WACA,QACA,cACC;AAAA,EACD,QAAQ;AAAA,SACF;AAAA,MACJ,OAAO,iBAAiB,MAAM;AAAA,MAC9B;AAAA,SAEI;AAAA,MACJ,OAAO,oBAAoB,MAAM;AAAA,MACjC;AAAA,SAEI;AAAA,MACJ,uBAAuB,QAAQ,YAAY;AAAA,MAC3C;AAAA,SAEI;AAAA,MACJ,kCAAkC,QAAQ,YAAY;AAAA,MACtD;AAAA,SAEI;AAAA,MACJ,OAAO,iCAAiC,QAAQ,YAAY;AAAA,MAC5D;AAAA,SAEI;AAAA,MACJ,OAAO,iBAAiB,MAAM;AAAA,MAC9B;AAAA;AAAA;
|
|
8
|
-
"debugId": "
|
|
7
|
+
"mappings": "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",
|
|
8
|
+
"debugId": "57953BBCC9BB033964756E2164756E21",
|
|
9
9
|
"names": []
|
|
10
10
|
}
|
package/package.json
CHANGED