@assistant-ui/react 0.5.21 → 0.5.23
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/dist/{AssistantTypes-D93BmqD5.d.mts → AssistantTypes-BNB-knVq.d.mts} +1 -1
 - package/dist/{AssistantTypes-D93BmqD5.d.ts → AssistantTypes-BNB-knVq.d.ts} +1 -1
 - package/dist/chunk-DCHYNTHI.js +11 -0
 - package/dist/chunk-DCHYNTHI.js.map +1 -0
 - package/dist/chunk-NSPHKRLF.js +819 -0
 - package/dist/chunk-NSPHKRLF.js.map +1 -0
 - package/dist/{chunk-2RKUKZSZ.mjs → chunk-ZWRFAYHH.mjs} +61 -3
 - package/dist/chunk-ZWRFAYHH.mjs.map +1 -0
 - package/dist/edge.d.mts +90 -5
 - package/dist/edge.d.ts +90 -5
 - package/dist/edge.js +0 -1
 - package/dist/edge.js.map +1 -1
 - package/dist/edge.mjs +799 -49
 - package/dist/edge.mjs.map +1 -1
 - package/dist/index.d.mts +164 -7
 - package/dist/index.d.ts +164 -7
 - package/dist/index.js +761 -1607
 - package/dist/index.js.map +1 -1
 - package/dist/index.mjs +833 -252
 - package/dist/index.mjs.map +1 -1
 - package/dist/tailwindcss/index.js +24 -53
 - package/dist/tailwindcss/index.js.map +1 -1
 - package/package.json +1 -12
 - package/dist/Thread-BbLf1cc4.d.mts +0 -156
 - package/dist/Thread-jfAlPLli.d.ts +0 -156
 - package/dist/chunk-2RKUKZSZ.mjs.map +0 -1
 - package/dist/chunk-QBS6JLLN.mjs +0 -63
 - package/dist/chunk-QBS6JLLN.mjs.map +0 -1
 - package/dist/chunk-V66MVXBH.mjs +0 -608
 - package/dist/chunk-V66MVXBH.mjs.map +0 -1
 - package/dist/internal.d.mts +0 -9
 - package/dist/internal.d.ts +0 -9
 - package/dist/internal.js +0 -620
 - package/dist/internal.js.map +0 -1
 - package/dist/internal.mjs +0 -24
 - package/dist/internal.mjs.map +0 -1
 - package/internal/README.md +0 -1
 - package/internal/package.json +0 -5
 
    
        package/dist/edge.mjs
    CHANGED
    
    | 
         @@ -1,17 +1,3 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            "use client";
         
     | 
| 
       2 
     | 
    
         
            -
            import {
         
     | 
| 
       3 
     | 
    
         
            -
              runResultStream,
         
     | 
| 
       4 
     | 
    
         
            -
              toCoreMessage,
         
     | 
| 
       5 
     | 
    
         
            -
              toLanguageModelMessages,
         
     | 
| 
       6 
     | 
    
         
            -
              toLanguageModelTools,
         
     | 
| 
       7 
     | 
    
         
            -
              toolResultStream
         
     | 
| 
       8 
     | 
    
         
            -
            } from "./chunk-2RKUKZSZ.mjs";
         
     | 
| 
       9 
     | 
    
         
            -
            import {
         
     | 
| 
       10 
     | 
    
         
            -
              LanguageModelConfigSchema,
         
     | 
| 
       11 
     | 
    
         
            -
              LanguageModelV1CallSettingsSchema
         
     | 
| 
       12 
     | 
    
         
            -
            } from "./chunk-QBS6JLLN.mjs";
         
     | 
| 
       13 
     | 
    
         
            -
            import "./chunk-BJPOCE4O.mjs";
         
     | 
| 
       14 
     | 
    
         
            -
             
     | 
| 
       15 
1 
     | 
    
         
             
            // src/runtimes/edge/streams/assistantEncoderStream.ts
         
     | 
| 
       16 
2 
     | 
    
         
             
            function assistantEncoderStream() {
         
     | 
| 
       17 
3 
     | 
    
         
             
              const toolCalls = /* @__PURE__ */ new Set();
         
     | 
| 
         @@ -83,65 +69,829 @@ function formatStreamPart(...[code, value]) { 
     | 
|
| 
       83 
69 
     | 
    
         
             
            `;
         
     | 
| 
       84 
70 
     | 
    
         
             
            }
         
     | 
| 
       85 
71 
     | 
    
         | 
| 
       86 
     | 
    
         
            -
            // src/ 
     | 
| 
      
 72 
     | 
    
         
            +
            // src/types/ModelConfigTypes.ts
         
     | 
| 
       87 
73 
     | 
    
         
             
            import { z } from "zod";
         
     | 
| 
       88 
     | 
    
         
            -
            var  
     | 
| 
       89 
     | 
    
         
            -
               
     | 
| 
       90 
     | 
    
         
            -
               
     | 
| 
       91 
     | 
    
         
            -
               
     | 
| 
       92 
     | 
    
         
            -
               
     | 
| 
      
 74 
     | 
    
         
            +
            var LanguageModelV1CallSettingsSchema = z.object({
         
     | 
| 
      
 75 
     | 
    
         
            +
              maxTokens: z.number().int().positive().optional(),
         
     | 
| 
      
 76 
     | 
    
         
            +
              temperature: z.number().optional(),
         
     | 
| 
      
 77 
     | 
    
         
            +
              topP: z.number().optional(),
         
     | 
| 
      
 78 
     | 
    
         
            +
              presencePenalty: z.number().optional(),
         
     | 
| 
      
 79 
     | 
    
         
            +
              frequencyPenalty: z.number().optional(),
         
     | 
| 
      
 80 
     | 
    
         
            +
              seed: z.number().int().optional(),
         
     | 
| 
      
 81 
     | 
    
         
            +
              headers: z.record(z.string().optional()).optional()
         
     | 
| 
      
 82 
     | 
    
         
            +
            });
         
     | 
| 
      
 83 
     | 
    
         
            +
            var LanguageModelConfigSchema = z.object({
         
     | 
| 
      
 84 
     | 
    
         
            +
              apiKey: z.string().optional(),
         
     | 
| 
      
 85 
     | 
    
         
            +
              baseUrl: z.string().optional(),
         
     | 
| 
      
 86 
     | 
    
         
            +
              modelName: z.string().optional()
         
     | 
| 
      
 87 
     | 
    
         
            +
            });
         
     | 
| 
      
 88 
     | 
    
         
            +
             
     | 
| 
      
 89 
     | 
    
         
            +
            // src/runtimes/edge/EdgeRuntimeRequestOptions.ts
         
     | 
| 
      
 90 
     | 
    
         
            +
            import { z as z2 } from "zod";
         
     | 
| 
      
 91 
     | 
    
         
            +
            var LanguageModelV1FunctionToolSchema = z2.object({
         
     | 
| 
      
 92 
     | 
    
         
            +
              type: z2.literal("function"),
         
     | 
| 
      
 93 
     | 
    
         
            +
              name: z2.string(),
         
     | 
| 
      
 94 
     | 
    
         
            +
              description: z2.string().optional(),
         
     | 
| 
      
 95 
     | 
    
         
            +
              parameters: z2.custom(
         
     | 
| 
       93 
96 
     | 
    
         
             
                (val) => typeof val === "object" && val !== null
         
     | 
| 
       94 
97 
     | 
    
         
             
              )
         
     | 
| 
       95 
98 
     | 
    
         
             
            });
         
     | 
| 
       96 
     | 
    
         
            -
            var TextContentPartSchema =  
     | 
| 
       97 
     | 
    
         
            -
              type:  
     | 
| 
       98 
     | 
    
         
            -
              text:  
     | 
| 
      
 99 
     | 
    
         
            +
            var TextContentPartSchema = z2.object({
         
     | 
| 
      
 100 
     | 
    
         
            +
              type: z2.literal("text"),
         
     | 
| 
      
 101 
     | 
    
         
            +
              text: z2.string()
         
     | 
| 
       99 
102 
     | 
    
         
             
            });
         
     | 
| 
       100 
     | 
    
         
            -
            var ImageContentPartSchema =  
     | 
| 
       101 
     | 
    
         
            -
              type:  
     | 
| 
       102 
     | 
    
         
            -
              image:  
     | 
| 
      
 103 
     | 
    
         
            +
            var ImageContentPartSchema = z2.object({
         
     | 
| 
      
 104 
     | 
    
         
            +
              type: z2.literal("image"),
         
     | 
| 
      
 105 
     | 
    
         
            +
              image: z2.string()
         
     | 
| 
       103 
106 
     | 
    
         
             
            });
         
     | 
| 
       104 
     | 
    
         
            -
            var CoreToolCallContentPartSchema =  
     | 
| 
       105 
     | 
    
         
            -
              type:  
     | 
| 
       106 
     | 
    
         
            -
              toolCallId:  
     | 
| 
       107 
     | 
    
         
            -
              toolName:  
     | 
| 
       108 
     | 
    
         
            -
              args:  
     | 
| 
       109 
     | 
    
         
            -
              result:  
     | 
| 
       110 
     | 
    
         
            -
              isError:  
     | 
| 
      
 107 
     | 
    
         
            +
            var CoreToolCallContentPartSchema = z2.object({
         
     | 
| 
      
 108 
     | 
    
         
            +
              type: z2.literal("tool-call"),
         
     | 
| 
      
 109 
     | 
    
         
            +
              toolCallId: z2.string(),
         
     | 
| 
      
 110 
     | 
    
         
            +
              toolName: z2.string(),
         
     | 
| 
      
 111 
     | 
    
         
            +
              args: z2.record(z2.unknown()),
         
     | 
| 
      
 112 
     | 
    
         
            +
              result: z2.unknown().optional(),
         
     | 
| 
      
 113 
     | 
    
         
            +
              isError: z2.boolean().optional()
         
     | 
| 
       111 
114 
     | 
    
         
             
            });
         
     | 
| 
       112 
     | 
    
         
            -
            var CoreUserMessageSchema =  
     | 
| 
       113 
     | 
    
         
            -
              role:  
     | 
| 
       114 
     | 
    
         
            -
              content:  
     | 
| 
       115 
     | 
    
         
            -
                 
     | 
| 
      
 115 
     | 
    
         
            +
            var CoreUserMessageSchema = z2.object({
         
     | 
| 
      
 116 
     | 
    
         
            +
              role: z2.literal("user"),
         
     | 
| 
      
 117 
     | 
    
         
            +
              content: z2.array(
         
     | 
| 
      
 118 
     | 
    
         
            +
                z2.discriminatedUnion("type", [
         
     | 
| 
       116 
119 
     | 
    
         
             
                  TextContentPartSchema,
         
     | 
| 
       117 
120 
     | 
    
         
             
                  ImageContentPartSchema
         
     | 
| 
       118 
121 
     | 
    
         
             
                ])
         
     | 
| 
       119 
122 
     | 
    
         
             
              ).min(1)
         
     | 
| 
       120 
123 
     | 
    
         
             
            });
         
     | 
| 
       121 
     | 
    
         
            -
            var CoreAssistantMessageSchema =  
     | 
| 
       122 
     | 
    
         
            -
              role:  
     | 
| 
       123 
     | 
    
         
            -
              content:  
     | 
| 
       124 
     | 
    
         
            -
                 
     | 
| 
      
 124 
     | 
    
         
            +
            var CoreAssistantMessageSchema = z2.object({
         
     | 
| 
      
 125 
     | 
    
         
            +
              role: z2.literal("assistant"),
         
     | 
| 
      
 126 
     | 
    
         
            +
              content: z2.array(
         
     | 
| 
      
 127 
     | 
    
         
            +
                z2.discriminatedUnion("type", [
         
     | 
| 
       125 
128 
     | 
    
         
             
                  TextContentPartSchema,
         
     | 
| 
       126 
129 
     | 
    
         
             
                  CoreToolCallContentPartSchema
         
     | 
| 
       127 
130 
     | 
    
         
             
                ])
         
     | 
| 
       128 
131 
     | 
    
         
             
              ).min(1)
         
     | 
| 
       129 
132 
     | 
    
         
             
            });
         
     | 
| 
       130 
     | 
    
         
            -
            var CoreSystemMessageSchema =  
     | 
| 
       131 
     | 
    
         
            -
              role:  
     | 
| 
       132 
     | 
    
         
            -
              content:  
     | 
| 
      
 133 
     | 
    
         
            +
            var CoreSystemMessageSchema = z2.object({
         
     | 
| 
      
 134 
     | 
    
         
            +
              role: z2.literal("system"),
         
     | 
| 
      
 135 
     | 
    
         
            +
              content: z2.tuple([TextContentPartSchema])
         
     | 
| 
       133 
136 
     | 
    
         
             
            });
         
     | 
| 
       134 
     | 
    
         
            -
            var CoreMessageSchema =  
     | 
| 
      
 137 
     | 
    
         
            +
            var CoreMessageSchema = z2.discriminatedUnion("role", [
         
     | 
| 
       135 
138 
     | 
    
         
             
              CoreSystemMessageSchema,
         
     | 
| 
       136 
139 
     | 
    
         
             
              CoreUserMessageSchema,
         
     | 
| 
       137 
140 
     | 
    
         
             
              CoreAssistantMessageSchema
         
     | 
| 
       138 
141 
     | 
    
         
             
            ]);
         
     | 
| 
       139 
     | 
    
         
            -
            var EdgeRuntimeRequestOptionsSchema =  
     | 
| 
       140 
     | 
    
         
            -
              system:  
     | 
| 
       141 
     | 
    
         
            -
              messages:  
     | 
| 
       142 
     | 
    
         
            -
              tools:  
     | 
| 
      
 142 
     | 
    
         
            +
            var EdgeRuntimeRequestOptionsSchema = z2.object({
         
     | 
| 
      
 143 
     | 
    
         
            +
              system: z2.string().optional(),
         
     | 
| 
      
 144 
     | 
    
         
            +
              messages: z2.array(CoreMessageSchema).min(1),
         
     | 
| 
      
 145 
     | 
    
         
            +
              tools: z2.array(LanguageModelV1FunctionToolSchema).optional()
         
     | 
| 
       143 
146 
     | 
    
         
             
            }).merge(LanguageModelV1CallSettingsSchema).merge(LanguageModelConfigSchema);
         
     | 
| 
       144 
147 
     | 
    
         | 
| 
      
 148 
     | 
    
         
            +
            // src/runtimes/edge/converters/toLanguageModelMessages.ts
         
     | 
| 
      
 149 
     | 
    
         
            +
            var assistantMessageSplitter = () => {
         
     | 
| 
      
 150 
     | 
    
         
            +
              const stash = [];
         
     | 
| 
      
 151 
     | 
    
         
            +
              let assistantMessage = {
         
     | 
| 
      
 152 
     | 
    
         
            +
                role: "assistant",
         
     | 
| 
      
 153 
     | 
    
         
            +
                content: []
         
     | 
| 
      
 154 
     | 
    
         
            +
              };
         
     | 
| 
      
 155 
     | 
    
         
            +
              let toolMessage = {
         
     | 
| 
      
 156 
     | 
    
         
            +
                role: "tool",
         
     | 
| 
      
 157 
     | 
    
         
            +
                content: []
         
     | 
| 
      
 158 
     | 
    
         
            +
              };
         
     | 
| 
      
 159 
     | 
    
         
            +
              return {
         
     | 
| 
      
 160 
     | 
    
         
            +
                addTextContentPart: (part) => {
         
     | 
| 
      
 161 
     | 
    
         
            +
                  if (toolMessage.content.length > 0) {
         
     | 
| 
      
 162 
     | 
    
         
            +
                    stash.push(assistantMessage);
         
     | 
| 
      
 163 
     | 
    
         
            +
                    stash.push(toolMessage);
         
     | 
| 
      
 164 
     | 
    
         
            +
                    assistantMessage = {
         
     | 
| 
      
 165 
     | 
    
         
            +
                      role: "assistant",
         
     | 
| 
      
 166 
     | 
    
         
            +
                      content: []
         
     | 
| 
      
 167 
     | 
    
         
            +
                    };
         
     | 
| 
      
 168 
     | 
    
         
            +
                    toolMessage = {
         
     | 
| 
      
 169 
     | 
    
         
            +
                      role: "tool",
         
     | 
| 
      
 170 
     | 
    
         
            +
                      content: []
         
     | 
| 
      
 171 
     | 
    
         
            +
                    };
         
     | 
| 
      
 172 
     | 
    
         
            +
                  }
         
     | 
| 
      
 173 
     | 
    
         
            +
                  assistantMessage.content.push(part);
         
     | 
| 
      
 174 
     | 
    
         
            +
                },
         
     | 
| 
      
 175 
     | 
    
         
            +
                addToolCallPart: (part) => {
         
     | 
| 
      
 176 
     | 
    
         
            +
                  assistantMessage.content.push({
         
     | 
| 
      
 177 
     | 
    
         
            +
                    type: "tool-call",
         
     | 
| 
      
 178 
     | 
    
         
            +
                    toolCallId: part.toolCallId,
         
     | 
| 
      
 179 
     | 
    
         
            +
                    toolName: part.toolName,
         
     | 
| 
      
 180 
     | 
    
         
            +
                    args: part.args
         
     | 
| 
      
 181 
     | 
    
         
            +
                  });
         
     | 
| 
      
 182 
     | 
    
         
            +
                  if (part.result) {
         
     | 
| 
      
 183 
     | 
    
         
            +
                    toolMessage.content.push({
         
     | 
| 
      
 184 
     | 
    
         
            +
                      type: "tool-result",
         
     | 
| 
      
 185 
     | 
    
         
            +
                      toolCallId: part.toolCallId,
         
     | 
| 
      
 186 
     | 
    
         
            +
                      toolName: part.toolName,
         
     | 
| 
      
 187 
     | 
    
         
            +
                      result: part.result
         
     | 
| 
      
 188 
     | 
    
         
            +
                      // isError
         
     | 
| 
      
 189 
     | 
    
         
            +
                    });
         
     | 
| 
      
 190 
     | 
    
         
            +
                  }
         
     | 
| 
      
 191 
     | 
    
         
            +
                },
         
     | 
| 
      
 192 
     | 
    
         
            +
                getMessages: () => {
         
     | 
| 
      
 193 
     | 
    
         
            +
                  if (toolMessage.content.length > 0) {
         
     | 
| 
      
 194 
     | 
    
         
            +
                    return [...stash, assistantMessage, toolMessage];
         
     | 
| 
      
 195 
     | 
    
         
            +
                  }
         
     | 
| 
      
 196 
     | 
    
         
            +
                  return [...stash, assistantMessage];
         
     | 
| 
      
 197 
     | 
    
         
            +
                }
         
     | 
| 
      
 198 
     | 
    
         
            +
              };
         
     | 
| 
      
 199 
     | 
    
         
            +
            };
         
     | 
| 
      
 200 
     | 
    
         
            +
            function toLanguageModelMessages(message) {
         
     | 
| 
      
 201 
     | 
    
         
            +
              return message.flatMap((message2) => {
         
     | 
| 
      
 202 
     | 
    
         
            +
                const role = message2.role;
         
     | 
| 
      
 203 
     | 
    
         
            +
                switch (role) {
         
     | 
| 
      
 204 
     | 
    
         
            +
                  case "system": {
         
     | 
| 
      
 205 
     | 
    
         
            +
                    return [{ role: "system", content: message2.content[0].text }];
         
     | 
| 
      
 206 
     | 
    
         
            +
                  }
         
     | 
| 
      
 207 
     | 
    
         
            +
                  case "user": {
         
     | 
| 
      
 208 
     | 
    
         
            +
                    const msg = {
         
     | 
| 
      
 209 
     | 
    
         
            +
                      role: "user",
         
     | 
| 
      
 210 
     | 
    
         
            +
                      content: message2.content.map(
         
     | 
| 
      
 211 
     | 
    
         
            +
                        (part) => {
         
     | 
| 
      
 212 
     | 
    
         
            +
                          const type = part.type;
         
     | 
| 
      
 213 
     | 
    
         
            +
                          switch (type) {
         
     | 
| 
      
 214 
     | 
    
         
            +
                            case "text": {
         
     | 
| 
      
 215 
     | 
    
         
            +
                              return part;
         
     | 
| 
      
 216 
     | 
    
         
            +
                            }
         
     | 
| 
      
 217 
     | 
    
         
            +
                            case "image": {
         
     | 
| 
      
 218 
     | 
    
         
            +
                              return {
         
     | 
| 
      
 219 
     | 
    
         
            +
                                type: "image",
         
     | 
| 
      
 220 
     | 
    
         
            +
                                image: new URL(part.image)
         
     | 
| 
      
 221 
     | 
    
         
            +
                              };
         
     | 
| 
      
 222 
     | 
    
         
            +
                            }
         
     | 
| 
      
 223 
     | 
    
         
            +
                            default: {
         
     | 
| 
      
 224 
     | 
    
         
            +
                              const unhandledType = type;
         
     | 
| 
      
 225 
     | 
    
         
            +
                              throw new Error(
         
     | 
| 
      
 226 
     | 
    
         
            +
                                `Unspported content part type: ${unhandledType}`
         
     | 
| 
      
 227 
     | 
    
         
            +
                              );
         
     | 
| 
      
 228 
     | 
    
         
            +
                            }
         
     | 
| 
      
 229 
     | 
    
         
            +
                          }
         
     | 
| 
      
 230 
     | 
    
         
            +
                        }
         
     | 
| 
      
 231 
     | 
    
         
            +
                      )
         
     | 
| 
      
 232 
     | 
    
         
            +
                    };
         
     | 
| 
      
 233 
     | 
    
         
            +
                    return [msg];
         
     | 
| 
      
 234 
     | 
    
         
            +
                  }
         
     | 
| 
      
 235 
     | 
    
         
            +
                  case "assistant": {
         
     | 
| 
      
 236 
     | 
    
         
            +
                    const splitter = assistantMessageSplitter();
         
     | 
| 
      
 237 
     | 
    
         
            +
                    for (const part of message2.content) {
         
     | 
| 
      
 238 
     | 
    
         
            +
                      const type = part.type;
         
     | 
| 
      
 239 
     | 
    
         
            +
                      switch (type) {
         
     | 
| 
      
 240 
     | 
    
         
            +
                        case "text": {
         
     | 
| 
      
 241 
     | 
    
         
            +
                          splitter.addTextContentPart(part);
         
     | 
| 
      
 242 
     | 
    
         
            +
                          break;
         
     | 
| 
      
 243 
     | 
    
         
            +
                        }
         
     | 
| 
      
 244 
     | 
    
         
            +
                        case "tool-call": {
         
     | 
| 
      
 245 
     | 
    
         
            +
                          splitter.addToolCallPart(part);
         
     | 
| 
      
 246 
     | 
    
         
            +
                          break;
         
     | 
| 
      
 247 
     | 
    
         
            +
                        }
         
     | 
| 
      
 248 
     | 
    
         
            +
                        default: {
         
     | 
| 
      
 249 
     | 
    
         
            +
                          const unhandledType = type;
         
     | 
| 
      
 250 
     | 
    
         
            +
                          throw new Error(`Unhandled content part type: ${unhandledType}`);
         
     | 
| 
      
 251 
     | 
    
         
            +
                        }
         
     | 
| 
      
 252 
     | 
    
         
            +
                      }
         
     | 
| 
      
 253 
     | 
    
         
            +
                    }
         
     | 
| 
      
 254 
     | 
    
         
            +
                    return splitter.getMessages();
         
     | 
| 
      
 255 
     | 
    
         
            +
                  }
         
     | 
| 
      
 256 
     | 
    
         
            +
                  default: {
         
     | 
| 
      
 257 
     | 
    
         
            +
                    const unhandledRole = role;
         
     | 
| 
      
 258 
     | 
    
         
            +
                    throw new Error(`Unknown message role: ${unhandledRole}`);
         
     | 
| 
      
 259 
     | 
    
         
            +
                  }
         
     | 
| 
      
 260 
     | 
    
         
            +
                }
         
     | 
| 
      
 261 
     | 
    
         
            +
              });
         
     | 
| 
      
 262 
     | 
    
         
            +
            }
         
     | 
| 
      
 263 
     | 
    
         
            +
             
     | 
| 
      
 264 
     | 
    
         
            +
            // src/runtimes/edge/converters/toLanguageModelTools.ts
         
     | 
| 
      
 265 
     | 
    
         
            +
            import { z as z3 } from "zod";
         
     | 
| 
      
 266 
     | 
    
         
            +
            import zodToJsonSchema from "zod-to-json-schema";
         
     | 
| 
      
 267 
     | 
    
         
            +
            var toLanguageModelTools = (tools) => {
         
     | 
| 
      
 268 
     | 
    
         
            +
              return Object.entries(tools).map(([name, tool]) => ({
         
     | 
| 
      
 269 
     | 
    
         
            +
                type: "function",
         
     | 
| 
      
 270 
     | 
    
         
            +
                name,
         
     | 
| 
      
 271 
     | 
    
         
            +
                ...tool.description ? { description: tool.description } : void 0,
         
     | 
| 
      
 272 
     | 
    
         
            +
                parameters: tool.parameters instanceof z3.ZodType ? zodToJsonSchema(tool.parameters) : tool.parameters
         
     | 
| 
      
 273 
     | 
    
         
            +
              }));
         
     | 
| 
      
 274 
     | 
    
         
            +
            };
         
     | 
| 
      
 275 
     | 
    
         
            +
             
     | 
| 
      
 276 
     | 
    
         
            +
            // src/runtimes/edge/streams/toolResultStream.ts
         
     | 
| 
      
 277 
     | 
    
         
            +
            import { z as z4 } from "zod";
         
     | 
| 
      
 278 
     | 
    
         
            +
            import sjson from "secure-json-parse";
         
     | 
| 
      
 279 
     | 
    
         
            +
            function toolResultStream(tools) {
         
     | 
| 
      
 280 
     | 
    
         
            +
              const toolCallExecutions = /* @__PURE__ */ new Map();
         
     | 
| 
      
 281 
     | 
    
         
            +
              return new TransformStream({
         
     | 
| 
      
 282 
     | 
    
         
            +
                transform(chunk, controller) {
         
     | 
| 
      
 283 
     | 
    
         
            +
                  controller.enqueue(chunk);
         
     | 
| 
      
 284 
     | 
    
         
            +
                  const chunkType = chunk.type;
         
     | 
| 
      
 285 
     | 
    
         
            +
                  switch (chunkType) {
         
     | 
| 
      
 286 
     | 
    
         
            +
                    case "tool-call": {
         
     | 
| 
      
 287 
     | 
    
         
            +
                      const { toolCallId, toolCallType, toolName, args: argsText } = chunk;
         
     | 
| 
      
 288 
     | 
    
         
            +
                      const tool = tools?.[toolName];
         
     | 
| 
      
 289 
     | 
    
         
            +
                      if (!tool || !tool.execute) return;
         
     | 
| 
      
 290 
     | 
    
         
            +
                      const args = sjson.parse(argsText);
         
     | 
| 
      
 291 
     | 
    
         
            +
                      if (tool.parameters instanceof z4.ZodType) {
         
     | 
| 
      
 292 
     | 
    
         
            +
                        const result = tool.parameters.safeParse(args);
         
     | 
| 
      
 293 
     | 
    
         
            +
                        if (!result.success) {
         
     | 
| 
      
 294 
     | 
    
         
            +
                          controller.enqueue({
         
     | 
| 
      
 295 
     | 
    
         
            +
                            type: "tool-result",
         
     | 
| 
      
 296 
     | 
    
         
            +
                            toolCallType,
         
     | 
| 
      
 297 
     | 
    
         
            +
                            toolCallId,
         
     | 
| 
      
 298 
     | 
    
         
            +
                            toolName,
         
     | 
| 
      
 299 
     | 
    
         
            +
                            result: "Function parameter validation failed. " + JSON.stringify(result.error.issues),
         
     | 
| 
      
 300 
     | 
    
         
            +
                            isError: true
         
     | 
| 
      
 301 
     | 
    
         
            +
                          });
         
     | 
| 
      
 302 
     | 
    
         
            +
                          return;
         
     | 
| 
      
 303 
     | 
    
         
            +
                        } else {
         
     | 
| 
      
 304 
     | 
    
         
            +
                          toolCallExecutions.set(
         
     | 
| 
      
 305 
     | 
    
         
            +
                            toolCallId,
         
     | 
| 
      
 306 
     | 
    
         
            +
                            (async () => {
         
     | 
| 
      
 307 
     | 
    
         
            +
                              try {
         
     | 
| 
      
 308 
     | 
    
         
            +
                                const result2 = await tool.execute(args);
         
     | 
| 
      
 309 
     | 
    
         
            +
                                controller.enqueue({
         
     | 
| 
      
 310 
     | 
    
         
            +
                                  type: "tool-result",
         
     | 
| 
      
 311 
     | 
    
         
            +
                                  toolCallType,
         
     | 
| 
      
 312 
     | 
    
         
            +
                                  toolCallId,
         
     | 
| 
      
 313 
     | 
    
         
            +
                                  toolName,
         
     | 
| 
      
 314 
     | 
    
         
            +
                                  result: result2
         
     | 
| 
      
 315 
     | 
    
         
            +
                                });
         
     | 
| 
      
 316 
     | 
    
         
            +
                              } catch (error) {
         
     | 
| 
      
 317 
     | 
    
         
            +
                                console.error("Error: ", error);
         
     | 
| 
      
 318 
     | 
    
         
            +
                                controller.enqueue({
         
     | 
| 
      
 319 
     | 
    
         
            +
                                  type: "tool-result",
         
     | 
| 
      
 320 
     | 
    
         
            +
                                  toolCallType,
         
     | 
| 
      
 321 
     | 
    
         
            +
                                  toolCallId,
         
     | 
| 
      
 322 
     | 
    
         
            +
                                  toolName,
         
     | 
| 
      
 323 
     | 
    
         
            +
                                  result: "Error: " + error,
         
     | 
| 
      
 324 
     | 
    
         
            +
                                  isError: true
         
     | 
| 
      
 325 
     | 
    
         
            +
                                });
         
     | 
| 
      
 326 
     | 
    
         
            +
                              } finally {
         
     | 
| 
      
 327 
     | 
    
         
            +
                                toolCallExecutions.delete(toolCallId);
         
     | 
| 
      
 328 
     | 
    
         
            +
                              }
         
     | 
| 
      
 329 
     | 
    
         
            +
                            })()
         
     | 
| 
      
 330 
     | 
    
         
            +
                          );
         
     | 
| 
      
 331 
     | 
    
         
            +
                        }
         
     | 
| 
      
 332 
     | 
    
         
            +
                      }
         
     | 
| 
      
 333 
     | 
    
         
            +
                      break;
         
     | 
| 
      
 334 
     | 
    
         
            +
                    }
         
     | 
| 
      
 335 
     | 
    
         
            +
                    case "text-delta":
         
     | 
| 
      
 336 
     | 
    
         
            +
                    case "tool-call-delta":
         
     | 
| 
      
 337 
     | 
    
         
            +
                    case "tool-result":
         
     | 
| 
      
 338 
     | 
    
         
            +
                    case "finish":
         
     | 
| 
      
 339 
     | 
    
         
            +
                    case "error":
         
     | 
| 
      
 340 
     | 
    
         
            +
                      break;
         
     | 
| 
      
 341 
     | 
    
         
            +
                    default: {
         
     | 
| 
      
 342 
     | 
    
         
            +
                      const unhandledType = chunkType;
         
     | 
| 
      
 343 
     | 
    
         
            +
                      throw new Error(`Unhandled chunk type: ${unhandledType}`);
         
     | 
| 
      
 344 
     | 
    
         
            +
                    }
         
     | 
| 
      
 345 
     | 
    
         
            +
                  }
         
     | 
| 
      
 346 
     | 
    
         
            +
                },
         
     | 
| 
      
 347 
     | 
    
         
            +
                async flush() {
         
     | 
| 
      
 348 
     | 
    
         
            +
                  await Promise.all(toolCallExecutions.values());
         
     | 
| 
      
 349 
     | 
    
         
            +
                }
         
     | 
| 
      
 350 
     | 
    
         
            +
              });
         
     | 
| 
      
 351 
     | 
    
         
            +
            }
         
     | 
| 
      
 352 
     | 
    
         
            +
             
     | 
| 
      
 353 
     | 
    
         
            +
            // src/runtimes/edge/partial-json/parse-partial-json.ts
         
     | 
| 
      
 354 
     | 
    
         
            +
            import sjson2 from "secure-json-parse";
         
     | 
| 
      
 355 
     | 
    
         
            +
             
     | 
| 
      
 356 
     | 
    
         
            +
            // src/runtimes/edge/partial-json/fix-json.ts
         
     | 
| 
      
 357 
     | 
    
         
            +
            function fixJson(input) {
         
     | 
| 
      
 358 
     | 
    
         
            +
              const stack = ["ROOT"];
         
     | 
| 
      
 359 
     | 
    
         
            +
              let lastValidIndex = -1;
         
     | 
| 
      
 360 
     | 
    
         
            +
              let literalStart = null;
         
     | 
| 
      
 361 
     | 
    
         
            +
              function processValueStart(char, i, swapState) {
         
     | 
| 
      
 362 
     | 
    
         
            +
                {
         
     | 
| 
      
 363 
     | 
    
         
            +
                  switch (char) {
         
     | 
| 
      
 364 
     | 
    
         
            +
                    case '"': {
         
     | 
| 
      
 365 
     | 
    
         
            +
                      lastValidIndex = i;
         
     | 
| 
      
 366 
     | 
    
         
            +
                      stack.pop();
         
     | 
| 
      
 367 
     | 
    
         
            +
                      stack.push(swapState);
         
     | 
| 
      
 368 
     | 
    
         
            +
                      stack.push("INSIDE_STRING");
         
     | 
| 
      
 369 
     | 
    
         
            +
                      break;
         
     | 
| 
      
 370 
     | 
    
         
            +
                    }
         
     | 
| 
      
 371 
     | 
    
         
            +
                    case "f":
         
     | 
| 
      
 372 
     | 
    
         
            +
                    case "t":
         
     | 
| 
      
 373 
     | 
    
         
            +
                    case "n": {
         
     | 
| 
      
 374 
     | 
    
         
            +
                      lastValidIndex = i;
         
     | 
| 
      
 375 
     | 
    
         
            +
                      literalStart = i;
         
     | 
| 
      
 376 
     | 
    
         
            +
                      stack.pop();
         
     | 
| 
      
 377 
     | 
    
         
            +
                      stack.push(swapState);
         
     | 
| 
      
 378 
     | 
    
         
            +
                      stack.push("INSIDE_LITERAL");
         
     | 
| 
      
 379 
     | 
    
         
            +
                      break;
         
     | 
| 
      
 380 
     | 
    
         
            +
                    }
         
     | 
| 
      
 381 
     | 
    
         
            +
                    case "-": {
         
     | 
| 
      
 382 
     | 
    
         
            +
                      stack.pop();
         
     | 
| 
      
 383 
     | 
    
         
            +
                      stack.push(swapState);
         
     | 
| 
      
 384 
     | 
    
         
            +
                      stack.push("INSIDE_NUMBER");
         
     | 
| 
      
 385 
     | 
    
         
            +
                      break;
         
     | 
| 
      
 386 
     | 
    
         
            +
                    }
         
     | 
| 
      
 387 
     | 
    
         
            +
                    case "0":
         
     | 
| 
      
 388 
     | 
    
         
            +
                    case "1":
         
     | 
| 
      
 389 
     | 
    
         
            +
                    case "2":
         
     | 
| 
      
 390 
     | 
    
         
            +
                    case "3":
         
     | 
| 
      
 391 
     | 
    
         
            +
                    case "4":
         
     | 
| 
      
 392 
     | 
    
         
            +
                    case "5":
         
     | 
| 
      
 393 
     | 
    
         
            +
                    case "6":
         
     | 
| 
      
 394 
     | 
    
         
            +
                    case "7":
         
     | 
| 
      
 395 
     | 
    
         
            +
                    case "8":
         
     | 
| 
      
 396 
     | 
    
         
            +
                    case "9": {
         
     | 
| 
      
 397 
     | 
    
         
            +
                      lastValidIndex = i;
         
     | 
| 
      
 398 
     | 
    
         
            +
                      stack.pop();
         
     | 
| 
      
 399 
     | 
    
         
            +
                      stack.push(swapState);
         
     | 
| 
      
 400 
     | 
    
         
            +
                      stack.push("INSIDE_NUMBER");
         
     | 
| 
      
 401 
     | 
    
         
            +
                      break;
         
     | 
| 
      
 402 
     | 
    
         
            +
                    }
         
     | 
| 
      
 403 
     | 
    
         
            +
                    case "{": {
         
     | 
| 
      
 404 
     | 
    
         
            +
                      lastValidIndex = i;
         
     | 
| 
      
 405 
     | 
    
         
            +
                      stack.pop();
         
     | 
| 
      
 406 
     | 
    
         
            +
                      stack.push(swapState);
         
     | 
| 
      
 407 
     | 
    
         
            +
                      stack.push("INSIDE_OBJECT_START");
         
     | 
| 
      
 408 
     | 
    
         
            +
                      break;
         
     | 
| 
      
 409 
     | 
    
         
            +
                    }
         
     | 
| 
      
 410 
     | 
    
         
            +
                    case "[": {
         
     | 
| 
      
 411 
     | 
    
         
            +
                      lastValidIndex = i;
         
     | 
| 
      
 412 
     | 
    
         
            +
                      stack.pop();
         
     | 
| 
      
 413 
     | 
    
         
            +
                      stack.push(swapState);
         
     | 
| 
      
 414 
     | 
    
         
            +
                      stack.push("INSIDE_ARRAY_START");
         
     | 
| 
      
 415 
     | 
    
         
            +
                      break;
         
     | 
| 
      
 416 
     | 
    
         
            +
                    }
         
     | 
| 
      
 417 
     | 
    
         
            +
                  }
         
     | 
| 
      
 418 
     | 
    
         
            +
                }
         
     | 
| 
      
 419 
     | 
    
         
            +
              }
         
     | 
| 
      
 420 
     | 
    
         
            +
              function processAfterObjectValue(char, i) {
         
     | 
| 
      
 421 
     | 
    
         
            +
                switch (char) {
         
     | 
| 
      
 422 
     | 
    
         
            +
                  case ",": {
         
     | 
| 
      
 423 
     | 
    
         
            +
                    stack.pop();
         
     | 
| 
      
 424 
     | 
    
         
            +
                    stack.push("INSIDE_OBJECT_AFTER_COMMA");
         
     | 
| 
      
 425 
     | 
    
         
            +
                    break;
         
     | 
| 
      
 426 
     | 
    
         
            +
                  }
         
     | 
| 
      
 427 
     | 
    
         
            +
                  case "}": {
         
     | 
| 
      
 428 
     | 
    
         
            +
                    lastValidIndex = i;
         
     | 
| 
      
 429 
     | 
    
         
            +
                    stack.pop();
         
     | 
| 
      
 430 
     | 
    
         
            +
                    break;
         
     | 
| 
      
 431 
     | 
    
         
            +
                  }
         
     | 
| 
      
 432 
     | 
    
         
            +
                }
         
     | 
| 
      
 433 
     | 
    
         
            +
              }
         
     | 
| 
      
 434 
     | 
    
         
            +
              function processAfterArrayValue(char, i) {
         
     | 
| 
      
 435 
     | 
    
         
            +
                switch (char) {
         
     | 
| 
      
 436 
     | 
    
         
            +
                  case ",": {
         
     | 
| 
      
 437 
     | 
    
         
            +
                    stack.pop();
         
     | 
| 
      
 438 
     | 
    
         
            +
                    stack.push("INSIDE_ARRAY_AFTER_COMMA");
         
     | 
| 
      
 439 
     | 
    
         
            +
                    break;
         
     | 
| 
      
 440 
     | 
    
         
            +
                  }
         
     | 
| 
      
 441 
     | 
    
         
            +
                  case "]": {
         
     | 
| 
      
 442 
     | 
    
         
            +
                    lastValidIndex = i;
         
     | 
| 
      
 443 
     | 
    
         
            +
                    stack.pop();
         
     | 
| 
      
 444 
     | 
    
         
            +
                    break;
         
     | 
| 
      
 445 
     | 
    
         
            +
                  }
         
     | 
| 
      
 446 
     | 
    
         
            +
                }
         
     | 
| 
      
 447 
     | 
    
         
            +
              }
         
     | 
| 
      
 448 
     | 
    
         
            +
              for (let i = 0; i < input.length; i++) {
         
     | 
| 
      
 449 
     | 
    
         
            +
                const char = input[i];
         
     | 
| 
      
 450 
     | 
    
         
            +
                const currentState = stack[stack.length - 1];
         
     | 
| 
      
 451 
     | 
    
         
            +
                switch (currentState) {
         
     | 
| 
      
 452 
     | 
    
         
            +
                  case "ROOT":
         
     | 
| 
      
 453 
     | 
    
         
            +
                    processValueStart(char, i, "FINISH");
         
     | 
| 
      
 454 
     | 
    
         
            +
                    break;
         
     | 
| 
      
 455 
     | 
    
         
            +
                  case "INSIDE_OBJECT_START": {
         
     | 
| 
      
 456 
     | 
    
         
            +
                    switch (char) {
         
     | 
| 
      
 457 
     | 
    
         
            +
                      case '"': {
         
     | 
| 
      
 458 
     | 
    
         
            +
                        stack.pop();
         
     | 
| 
      
 459 
     | 
    
         
            +
                        stack.push("INSIDE_OBJECT_KEY");
         
     | 
| 
      
 460 
     | 
    
         
            +
                        break;
         
     | 
| 
      
 461 
     | 
    
         
            +
                      }
         
     | 
| 
      
 462 
     | 
    
         
            +
                      case "}": {
         
     | 
| 
      
 463 
     | 
    
         
            +
                        lastValidIndex = i;
         
     | 
| 
      
 464 
     | 
    
         
            +
                        stack.pop();
         
     | 
| 
      
 465 
     | 
    
         
            +
                        break;
         
     | 
| 
      
 466 
     | 
    
         
            +
                      }
         
     | 
| 
      
 467 
     | 
    
         
            +
                    }
         
     | 
| 
      
 468 
     | 
    
         
            +
                    break;
         
     | 
| 
      
 469 
     | 
    
         
            +
                  }
         
     | 
| 
      
 470 
     | 
    
         
            +
                  case "INSIDE_OBJECT_AFTER_COMMA": {
         
     | 
| 
      
 471 
     | 
    
         
            +
                    switch (char) {
         
     | 
| 
      
 472 
     | 
    
         
            +
                      case '"': {
         
     | 
| 
      
 473 
     | 
    
         
            +
                        stack.pop();
         
     | 
| 
      
 474 
     | 
    
         
            +
                        stack.push("INSIDE_OBJECT_KEY");
         
     | 
| 
      
 475 
     | 
    
         
            +
                        break;
         
     | 
| 
      
 476 
     | 
    
         
            +
                      }
         
     | 
| 
      
 477 
     | 
    
         
            +
                    }
         
     | 
| 
      
 478 
     | 
    
         
            +
                    break;
         
     | 
| 
      
 479 
     | 
    
         
            +
                  }
         
     | 
| 
      
 480 
     | 
    
         
            +
                  case "INSIDE_OBJECT_KEY": {
         
     | 
| 
      
 481 
     | 
    
         
            +
                    switch (char) {
         
     | 
| 
      
 482 
     | 
    
         
            +
                      case '"': {
         
     | 
| 
      
 483 
     | 
    
         
            +
                        stack.pop();
         
     | 
| 
      
 484 
     | 
    
         
            +
                        stack.push("INSIDE_OBJECT_AFTER_KEY");
         
     | 
| 
      
 485 
     | 
    
         
            +
                        break;
         
     | 
| 
      
 486 
     | 
    
         
            +
                      }
         
     | 
| 
      
 487 
     | 
    
         
            +
                    }
         
     | 
| 
      
 488 
     | 
    
         
            +
                    break;
         
     | 
| 
      
 489 
     | 
    
         
            +
                  }
         
     | 
| 
      
 490 
     | 
    
         
            +
                  case "INSIDE_OBJECT_AFTER_KEY": {
         
     | 
| 
      
 491 
     | 
    
         
            +
                    switch (char) {
         
     | 
| 
      
 492 
     | 
    
         
            +
                      case ":": {
         
     | 
| 
      
 493 
     | 
    
         
            +
                        stack.pop();
         
     | 
| 
      
 494 
     | 
    
         
            +
                        stack.push("INSIDE_OBJECT_BEFORE_VALUE");
         
     | 
| 
      
 495 
     | 
    
         
            +
                        break;
         
     | 
| 
      
 496 
     | 
    
         
            +
                      }
         
     | 
| 
      
 497 
     | 
    
         
            +
                    }
         
     | 
| 
      
 498 
     | 
    
         
            +
                    break;
         
     | 
| 
      
 499 
     | 
    
         
            +
                  }
         
     | 
| 
      
 500 
     | 
    
         
            +
                  case "INSIDE_OBJECT_BEFORE_VALUE": {
         
     | 
| 
      
 501 
     | 
    
         
            +
                    processValueStart(char, i, "INSIDE_OBJECT_AFTER_VALUE");
         
     | 
| 
      
 502 
     | 
    
         
            +
                    break;
         
     | 
| 
      
 503 
     | 
    
         
            +
                  }
         
     | 
| 
      
 504 
     | 
    
         
            +
                  case "INSIDE_OBJECT_AFTER_VALUE": {
         
     | 
| 
      
 505 
     | 
    
         
            +
                    processAfterObjectValue(char, i);
         
     | 
| 
      
 506 
     | 
    
         
            +
                    break;
         
     | 
| 
      
 507 
     | 
    
         
            +
                  }
         
     | 
| 
      
 508 
     | 
    
         
            +
                  case "INSIDE_STRING": {
         
     | 
| 
      
 509 
     | 
    
         
            +
                    switch (char) {
         
     | 
| 
      
 510 
     | 
    
         
            +
                      case '"': {
         
     | 
| 
      
 511 
     | 
    
         
            +
                        stack.pop();
         
     | 
| 
      
 512 
     | 
    
         
            +
                        lastValidIndex = i;
         
     | 
| 
      
 513 
     | 
    
         
            +
                        break;
         
     | 
| 
      
 514 
     | 
    
         
            +
                      }
         
     | 
| 
      
 515 
     | 
    
         
            +
                      case "\\": {
         
     | 
| 
      
 516 
     | 
    
         
            +
                        stack.push("INSIDE_STRING_ESCAPE");
         
     | 
| 
      
 517 
     | 
    
         
            +
                        break;
         
     | 
| 
      
 518 
     | 
    
         
            +
                      }
         
     | 
| 
      
 519 
     | 
    
         
            +
                      default: {
         
     | 
| 
      
 520 
     | 
    
         
            +
                        lastValidIndex = i;
         
     | 
| 
      
 521 
     | 
    
         
            +
                      }
         
     | 
| 
      
 522 
     | 
    
         
            +
                    }
         
     | 
| 
      
 523 
     | 
    
         
            +
                    break;
         
     | 
| 
      
 524 
     | 
    
         
            +
                  }
         
     | 
| 
      
 525 
     | 
    
         
            +
                  case "INSIDE_ARRAY_START": {
         
     | 
| 
      
 526 
     | 
    
         
            +
                    switch (char) {
         
     | 
| 
      
 527 
     | 
    
         
            +
                      case "]": {
         
     | 
| 
      
 528 
     | 
    
         
            +
                        lastValidIndex = i;
         
     | 
| 
      
 529 
     | 
    
         
            +
                        stack.pop();
         
     | 
| 
      
 530 
     | 
    
         
            +
                        break;
         
     | 
| 
      
 531 
     | 
    
         
            +
                      }
         
     | 
| 
      
 532 
     | 
    
         
            +
                      default: {
         
     | 
| 
      
 533 
     | 
    
         
            +
                        lastValidIndex = i;
         
     | 
| 
      
 534 
     | 
    
         
            +
                        processValueStart(char, i, "INSIDE_ARRAY_AFTER_VALUE");
         
     | 
| 
      
 535 
     | 
    
         
            +
                        break;
         
     | 
| 
      
 536 
     | 
    
         
            +
                      }
         
     | 
| 
      
 537 
     | 
    
         
            +
                    }
         
     | 
| 
      
 538 
     | 
    
         
            +
                    break;
         
     | 
| 
      
 539 
     | 
    
         
            +
                  }
         
     | 
| 
      
 540 
     | 
    
         
            +
                  case "INSIDE_ARRAY_AFTER_VALUE": {
         
     | 
| 
      
 541 
     | 
    
         
            +
                    switch (char) {
         
     | 
| 
      
 542 
     | 
    
         
            +
                      case ",": {
         
     | 
| 
      
 543 
     | 
    
         
            +
                        stack.pop();
         
     | 
| 
      
 544 
     | 
    
         
            +
                        stack.push("INSIDE_ARRAY_AFTER_COMMA");
         
     | 
| 
      
 545 
     | 
    
         
            +
                        break;
         
     | 
| 
      
 546 
     | 
    
         
            +
                      }
         
     | 
| 
      
 547 
     | 
    
         
            +
                      case "]": {
         
     | 
| 
      
 548 
     | 
    
         
            +
                        lastValidIndex = i;
         
     | 
| 
      
 549 
     | 
    
         
            +
                        stack.pop();
         
     | 
| 
      
 550 
     | 
    
         
            +
                        break;
         
     | 
| 
      
 551 
     | 
    
         
            +
                      }
         
     | 
| 
      
 552 
     | 
    
         
            +
                      default: {
         
     | 
| 
      
 553 
     | 
    
         
            +
                        lastValidIndex = i;
         
     | 
| 
      
 554 
     | 
    
         
            +
                        break;
         
     | 
| 
      
 555 
     | 
    
         
            +
                      }
         
     | 
| 
      
 556 
     | 
    
         
            +
                    }
         
     | 
| 
      
 557 
     | 
    
         
            +
                    break;
         
     | 
| 
      
 558 
     | 
    
         
            +
                  }
         
     | 
| 
      
 559 
     | 
    
         
            +
                  case "INSIDE_ARRAY_AFTER_COMMA": {
         
     | 
| 
      
 560 
     | 
    
         
            +
                    processValueStart(char, i, "INSIDE_ARRAY_AFTER_VALUE");
         
     | 
| 
      
 561 
     | 
    
         
            +
                    break;
         
     | 
| 
      
 562 
     | 
    
         
            +
                  }
         
     | 
| 
      
 563 
     | 
    
         
            +
                  case "INSIDE_STRING_ESCAPE": {
         
     | 
| 
      
 564 
     | 
    
         
            +
                    stack.pop();
         
     | 
| 
      
 565 
     | 
    
         
            +
                    lastValidIndex = i;
         
     | 
| 
      
 566 
     | 
    
         
            +
                    break;
         
     | 
| 
      
 567 
     | 
    
         
            +
                  }
         
     | 
| 
      
 568 
     | 
    
         
            +
                  case "INSIDE_NUMBER": {
         
     | 
| 
      
 569 
     | 
    
         
            +
                    switch (char) {
         
     | 
| 
      
 570 
     | 
    
         
            +
                      case "0":
         
     | 
| 
      
 571 
     | 
    
         
            +
                      case "1":
         
     | 
| 
      
 572 
     | 
    
         
            +
                      case "2":
         
     | 
| 
      
 573 
     | 
    
         
            +
                      case "3":
         
     | 
| 
      
 574 
     | 
    
         
            +
                      case "4":
         
     | 
| 
      
 575 
     | 
    
         
            +
                      case "5":
         
     | 
| 
      
 576 
     | 
    
         
            +
                      case "6":
         
     | 
| 
      
 577 
     | 
    
         
            +
                      case "7":
         
     | 
| 
      
 578 
     | 
    
         
            +
                      case "8":
         
     | 
| 
      
 579 
     | 
    
         
            +
                      case "9": {
         
     | 
| 
      
 580 
     | 
    
         
            +
                        lastValidIndex = i;
         
     | 
| 
      
 581 
     | 
    
         
            +
                        break;
         
     | 
| 
      
 582 
     | 
    
         
            +
                      }
         
     | 
| 
      
 583 
     | 
    
         
            +
                      case "e":
         
     | 
| 
      
 584 
     | 
    
         
            +
                      case "E":
         
     | 
| 
      
 585 
     | 
    
         
            +
                      case "-":
         
     | 
| 
      
 586 
     | 
    
         
            +
                      case ".": {
         
     | 
| 
      
 587 
     | 
    
         
            +
                        break;
         
     | 
| 
      
 588 
     | 
    
         
            +
                      }
         
     | 
| 
      
 589 
     | 
    
         
            +
                      case ",": {
         
     | 
| 
      
 590 
     | 
    
         
            +
                        stack.pop();
         
     | 
| 
      
 591 
     | 
    
         
            +
                        if (stack[stack.length - 1] === "INSIDE_ARRAY_AFTER_VALUE") {
         
     | 
| 
      
 592 
     | 
    
         
            +
                          processAfterArrayValue(char, i);
         
     | 
| 
      
 593 
     | 
    
         
            +
                        }
         
     | 
| 
      
 594 
     | 
    
         
            +
                        if (stack[stack.length - 1] === "INSIDE_OBJECT_AFTER_VALUE") {
         
     | 
| 
      
 595 
     | 
    
         
            +
                          processAfterObjectValue(char, i);
         
     | 
| 
      
 596 
     | 
    
         
            +
                        }
         
     | 
| 
      
 597 
     | 
    
         
            +
                        break;
         
     | 
| 
      
 598 
     | 
    
         
            +
                      }
         
     | 
| 
      
 599 
     | 
    
         
            +
                      case "}": {
         
     | 
| 
      
 600 
     | 
    
         
            +
                        stack.pop();
         
     | 
| 
      
 601 
     | 
    
         
            +
                        if (stack[stack.length - 1] === "INSIDE_OBJECT_AFTER_VALUE") {
         
     | 
| 
      
 602 
     | 
    
         
            +
                          processAfterObjectValue(char, i);
         
     | 
| 
      
 603 
     | 
    
         
            +
                        }
         
     | 
| 
      
 604 
     | 
    
         
            +
                        break;
         
     | 
| 
      
 605 
     | 
    
         
            +
                      }
         
     | 
| 
      
 606 
     | 
    
         
            +
                      case "]": {
         
     | 
| 
      
 607 
     | 
    
         
            +
                        stack.pop();
         
     | 
| 
      
 608 
     | 
    
         
            +
                        if (stack[stack.length - 1] === "INSIDE_ARRAY_AFTER_VALUE") {
         
     | 
| 
      
 609 
     | 
    
         
            +
                          processAfterArrayValue(char, i);
         
     | 
| 
      
 610 
     | 
    
         
            +
                        }
         
     | 
| 
      
 611 
     | 
    
         
            +
                        break;
         
     | 
| 
      
 612 
     | 
    
         
            +
                      }
         
     | 
| 
      
 613 
     | 
    
         
            +
                      default: {
         
     | 
| 
      
 614 
     | 
    
         
            +
                        stack.pop();
         
     | 
| 
      
 615 
     | 
    
         
            +
                        break;
         
     | 
| 
      
 616 
     | 
    
         
            +
                      }
         
     | 
| 
      
 617 
     | 
    
         
            +
                    }
         
     | 
| 
      
 618 
     | 
    
         
            +
                    break;
         
     | 
| 
      
 619 
     | 
    
         
            +
                  }
         
     | 
| 
      
 620 
     | 
    
         
            +
                  case "INSIDE_LITERAL": {
         
     | 
| 
      
 621 
     | 
    
         
            +
                    const partialLiteral = input.substring(literalStart, i + 1);
         
     | 
| 
      
 622 
     | 
    
         
            +
                    if (!"false".startsWith(partialLiteral) && !"true".startsWith(partialLiteral) && !"null".startsWith(partialLiteral)) {
         
     | 
| 
      
 623 
     | 
    
         
            +
                      stack.pop();
         
     | 
| 
      
 624 
     | 
    
         
            +
                      if (stack[stack.length - 1] === "INSIDE_OBJECT_AFTER_VALUE") {
         
     | 
| 
      
 625 
     | 
    
         
            +
                        processAfterObjectValue(char, i);
         
     | 
| 
      
 626 
     | 
    
         
            +
                      } else if (stack[stack.length - 1] === "INSIDE_ARRAY_AFTER_VALUE") {
         
     | 
| 
      
 627 
     | 
    
         
            +
                        processAfterArrayValue(char, i);
         
     | 
| 
      
 628 
     | 
    
         
            +
                      }
         
     | 
| 
      
 629 
     | 
    
         
            +
                    } else {
         
     | 
| 
      
 630 
     | 
    
         
            +
                      lastValidIndex = i;
         
     | 
| 
      
 631 
     | 
    
         
            +
                    }
         
     | 
| 
      
 632 
     | 
    
         
            +
                    break;
         
     | 
| 
      
 633 
     | 
    
         
            +
                  }
         
     | 
| 
      
 634 
     | 
    
         
            +
                }
         
     | 
| 
      
 635 
     | 
    
         
            +
              }
         
     | 
| 
      
 636 
     | 
    
         
            +
              let result = input.slice(0, lastValidIndex + 1);
         
     | 
| 
      
 637 
     | 
    
         
            +
              for (let i = stack.length - 1; i >= 0; i--) {
         
     | 
| 
      
 638 
     | 
    
         
            +
                const state = stack[i];
         
     | 
| 
      
 639 
     | 
    
         
            +
                switch (state) {
         
     | 
| 
      
 640 
     | 
    
         
            +
                  case "INSIDE_STRING": {
         
     | 
| 
      
 641 
     | 
    
         
            +
                    result += '"';
         
     | 
| 
      
 642 
     | 
    
         
            +
                    break;
         
     | 
| 
      
 643 
     | 
    
         
            +
                  }
         
     | 
| 
      
 644 
     | 
    
         
            +
                  case "INSIDE_OBJECT_KEY":
         
     | 
| 
      
 645 
     | 
    
         
            +
                  case "INSIDE_OBJECT_AFTER_KEY":
         
     | 
| 
      
 646 
     | 
    
         
            +
                  case "INSIDE_OBJECT_AFTER_COMMA":
         
     | 
| 
      
 647 
     | 
    
         
            +
                  case "INSIDE_OBJECT_START":
         
     | 
| 
      
 648 
     | 
    
         
            +
                  case "INSIDE_OBJECT_BEFORE_VALUE":
         
     | 
| 
      
 649 
     | 
    
         
            +
                  case "INSIDE_OBJECT_AFTER_VALUE": {
         
     | 
| 
      
 650 
     | 
    
         
            +
                    result += "}";
         
     | 
| 
      
 651 
     | 
    
         
            +
                    break;
         
     | 
| 
      
 652 
     | 
    
         
            +
                  }
         
     | 
| 
      
 653 
     | 
    
         
            +
                  case "INSIDE_ARRAY_START":
         
     | 
| 
      
 654 
     | 
    
         
            +
                  case "INSIDE_ARRAY_AFTER_COMMA":
         
     | 
| 
      
 655 
     | 
    
         
            +
                  case "INSIDE_ARRAY_AFTER_VALUE": {
         
     | 
| 
      
 656 
     | 
    
         
            +
                    result += "]";
         
     | 
| 
      
 657 
     | 
    
         
            +
                    break;
         
     | 
| 
      
 658 
     | 
    
         
            +
                  }
         
     | 
| 
      
 659 
     | 
    
         
            +
                  case "INSIDE_LITERAL": {
         
     | 
| 
      
 660 
     | 
    
         
            +
                    const partialLiteral = input.substring(literalStart, input.length);
         
     | 
| 
      
 661 
     | 
    
         
            +
                    if ("true".startsWith(partialLiteral)) {
         
     | 
| 
      
 662 
     | 
    
         
            +
                      result += "true".slice(partialLiteral.length);
         
     | 
| 
      
 663 
     | 
    
         
            +
                    } else if ("false".startsWith(partialLiteral)) {
         
     | 
| 
      
 664 
     | 
    
         
            +
                      result += "false".slice(partialLiteral.length);
         
     | 
| 
      
 665 
     | 
    
         
            +
                    } else if ("null".startsWith(partialLiteral)) {
         
     | 
| 
      
 666 
     | 
    
         
            +
                      result += "null".slice(partialLiteral.length);
         
     | 
| 
      
 667 
     | 
    
         
            +
                    }
         
     | 
| 
      
 668 
     | 
    
         
            +
                  }
         
     | 
| 
      
 669 
     | 
    
         
            +
                }
         
     | 
| 
      
 670 
     | 
    
         
            +
              }
         
     | 
| 
      
 671 
     | 
    
         
            +
              return result;
         
     | 
| 
      
 672 
     | 
    
         
            +
            }
         
     | 
| 
      
 673 
     | 
    
         
            +
             
     | 
| 
      
 674 
     | 
    
         
            +
            // src/runtimes/edge/partial-json/parse-partial-json.ts
         
     | 
| 
      
 675 
     | 
    
         
            +
            var parsePartialJson = (json) => {
         
     | 
| 
      
 676 
     | 
    
         
            +
              try {
         
     | 
| 
      
 677 
     | 
    
         
            +
                return sjson2.parse(json);
         
     | 
| 
      
 678 
     | 
    
         
            +
              } catch {
         
     | 
| 
      
 679 
     | 
    
         
            +
                try {
         
     | 
| 
      
 680 
     | 
    
         
            +
                  return sjson2.parse(fixJson(json));
         
     | 
| 
      
 681 
     | 
    
         
            +
                } catch {
         
     | 
| 
      
 682 
     | 
    
         
            +
                  return void 0;
         
     | 
| 
      
 683 
     | 
    
         
            +
                }
         
     | 
| 
      
 684 
     | 
    
         
            +
              }
         
     | 
| 
      
 685 
     | 
    
         
            +
            };
         
     | 
| 
      
 686 
     | 
    
         
            +
             
     | 
| 
      
 687 
     | 
    
         
            +
            // src/runtimes/edge/streams/runResultStream.ts
         
     | 
| 
      
 688 
     | 
    
         
            +
            function runResultStream() {
         
     | 
| 
      
 689 
     | 
    
         
            +
              let message = {
         
     | 
| 
      
 690 
     | 
    
         
            +
                content: [],
         
     | 
| 
      
 691 
     | 
    
         
            +
                status: { type: "running" }
         
     | 
| 
      
 692 
     | 
    
         
            +
              };
         
     | 
| 
      
 693 
     | 
    
         
            +
              const currentToolCall = { toolCallId: "", argsText: "" };
         
     | 
| 
      
 694 
     | 
    
         
            +
              return new TransformStream({
         
     | 
| 
      
 695 
     | 
    
         
            +
                transform(chunk, controller) {
         
     | 
| 
      
 696 
     | 
    
         
            +
                  const chunkType = chunk.type;
         
     | 
| 
      
 697 
     | 
    
         
            +
                  switch (chunkType) {
         
     | 
| 
      
 698 
     | 
    
         
            +
                    case "text-delta": {
         
     | 
| 
      
 699 
     | 
    
         
            +
                      message = appendOrUpdateText(message, chunk.textDelta);
         
     | 
| 
      
 700 
     | 
    
         
            +
                      controller.enqueue(message);
         
     | 
| 
      
 701 
     | 
    
         
            +
                      break;
         
     | 
| 
      
 702 
     | 
    
         
            +
                    }
         
     | 
| 
      
 703 
     | 
    
         
            +
                    case "tool-call-delta": {
         
     | 
| 
      
 704 
     | 
    
         
            +
                      const { toolCallId, toolName, argsTextDelta } = chunk;
         
     | 
| 
      
 705 
     | 
    
         
            +
                      if (currentToolCall.toolCallId !== toolCallId) {
         
     | 
| 
      
 706 
     | 
    
         
            +
                        currentToolCall.toolCallId = toolCallId;
         
     | 
| 
      
 707 
     | 
    
         
            +
                        currentToolCall.argsText = argsTextDelta;
         
     | 
| 
      
 708 
     | 
    
         
            +
                      } else {
         
     | 
| 
      
 709 
     | 
    
         
            +
                        currentToolCall.argsText += argsTextDelta;
         
     | 
| 
      
 710 
     | 
    
         
            +
                      }
         
     | 
| 
      
 711 
     | 
    
         
            +
                      message = appendOrUpdateToolCall(
         
     | 
| 
      
 712 
     | 
    
         
            +
                        message,
         
     | 
| 
      
 713 
     | 
    
         
            +
                        toolCallId,
         
     | 
| 
      
 714 
     | 
    
         
            +
                        toolName,
         
     | 
| 
      
 715 
     | 
    
         
            +
                        currentToolCall.argsText
         
     | 
| 
      
 716 
     | 
    
         
            +
                      );
         
     | 
| 
      
 717 
     | 
    
         
            +
                      controller.enqueue(message);
         
     | 
| 
      
 718 
     | 
    
         
            +
                      break;
         
     | 
| 
      
 719 
     | 
    
         
            +
                    }
         
     | 
| 
      
 720 
     | 
    
         
            +
                    case "tool-call": {
         
     | 
| 
      
 721 
     | 
    
         
            +
                      break;
         
     | 
| 
      
 722 
     | 
    
         
            +
                    }
         
     | 
| 
      
 723 
     | 
    
         
            +
                    case "tool-result": {
         
     | 
| 
      
 724 
     | 
    
         
            +
                      message = appendOrUpdateToolResult(
         
     | 
| 
      
 725 
     | 
    
         
            +
                        message,
         
     | 
| 
      
 726 
     | 
    
         
            +
                        chunk.toolCallId,
         
     | 
| 
      
 727 
     | 
    
         
            +
                        chunk.toolName,
         
     | 
| 
      
 728 
     | 
    
         
            +
                        chunk.result
         
     | 
| 
      
 729 
     | 
    
         
            +
                      );
         
     | 
| 
      
 730 
     | 
    
         
            +
                      controller.enqueue(message);
         
     | 
| 
      
 731 
     | 
    
         
            +
                      break;
         
     | 
| 
      
 732 
     | 
    
         
            +
                    }
         
     | 
| 
      
 733 
     | 
    
         
            +
                    case "finish": {
         
     | 
| 
      
 734 
     | 
    
         
            +
                      message = appendOrUpdateFinish(message, chunk);
         
     | 
| 
      
 735 
     | 
    
         
            +
                      controller.enqueue(message);
         
     | 
| 
      
 736 
     | 
    
         
            +
                      break;
         
     | 
| 
      
 737 
     | 
    
         
            +
                    }
         
     | 
| 
      
 738 
     | 
    
         
            +
                    case "error": {
         
     | 
| 
      
 739 
     | 
    
         
            +
                      if (chunk.error instanceof Error && chunk.error.name === "AbortError") {
         
     | 
| 
      
 740 
     | 
    
         
            +
                        message = appendOrUpdateCancel(message);
         
     | 
| 
      
 741 
     | 
    
         
            +
                        controller.enqueue(message);
         
     | 
| 
      
 742 
     | 
    
         
            +
                        break;
         
     | 
| 
      
 743 
     | 
    
         
            +
                      } else {
         
     | 
| 
      
 744 
     | 
    
         
            +
                        throw chunk.error;
         
     | 
| 
      
 745 
     | 
    
         
            +
                      }
         
     | 
| 
      
 746 
     | 
    
         
            +
                    }
         
     | 
| 
      
 747 
     | 
    
         
            +
                    default: {
         
     | 
| 
      
 748 
     | 
    
         
            +
                      const unhandledType = chunkType;
         
     | 
| 
      
 749 
     | 
    
         
            +
                      throw new Error(`Unhandled chunk type: ${unhandledType}`);
         
     | 
| 
      
 750 
     | 
    
         
            +
                    }
         
     | 
| 
      
 751 
     | 
    
         
            +
                  }
         
     | 
| 
      
 752 
     | 
    
         
            +
                }
         
     | 
| 
      
 753 
     | 
    
         
            +
              });
         
     | 
| 
      
 754 
     | 
    
         
            +
            }
         
     | 
| 
      
 755 
     | 
    
         
            +
            var appendOrUpdateText = (message, textDelta) => {
         
     | 
| 
      
 756 
     | 
    
         
            +
              let contentParts = message.content;
         
     | 
| 
      
 757 
     | 
    
         
            +
              let contentPart = message.content.at(-1);
         
     | 
| 
      
 758 
     | 
    
         
            +
              if (contentPart?.type !== "text") {
         
     | 
| 
      
 759 
     | 
    
         
            +
                contentPart = { type: "text", text: textDelta };
         
     | 
| 
      
 760 
     | 
    
         
            +
              } else {
         
     | 
| 
      
 761 
     | 
    
         
            +
                contentParts = contentParts.slice(0, -1);
         
     | 
| 
      
 762 
     | 
    
         
            +
                contentPart = { type: "text", text: contentPart.text + textDelta };
         
     | 
| 
      
 763 
     | 
    
         
            +
              }
         
     | 
| 
      
 764 
     | 
    
         
            +
              return {
         
     | 
| 
      
 765 
     | 
    
         
            +
                ...message,
         
     | 
| 
      
 766 
     | 
    
         
            +
                content: contentParts.concat([contentPart])
         
     | 
| 
      
 767 
     | 
    
         
            +
              };
         
     | 
| 
      
 768 
     | 
    
         
            +
            };
         
     | 
| 
      
 769 
     | 
    
         
            +
            var appendOrUpdateToolCall = (message, toolCallId, toolName, argsText) => {
         
     | 
| 
      
 770 
     | 
    
         
            +
              let contentParts = message.content;
         
     | 
| 
      
 771 
     | 
    
         
            +
              let contentPart = message.content.at(-1);
         
     | 
| 
      
 772 
     | 
    
         
            +
              if (contentPart?.type !== "tool-call" || contentPart.toolCallId !== toolCallId) {
         
     | 
| 
      
 773 
     | 
    
         
            +
                contentPart = {
         
     | 
| 
      
 774 
     | 
    
         
            +
                  type: "tool-call",
         
     | 
| 
      
 775 
     | 
    
         
            +
                  toolCallId,
         
     | 
| 
      
 776 
     | 
    
         
            +
                  toolName,
         
     | 
| 
      
 777 
     | 
    
         
            +
                  argsText,
         
     | 
| 
      
 778 
     | 
    
         
            +
                  args: parsePartialJson(argsText)
         
     | 
| 
      
 779 
     | 
    
         
            +
                };
         
     | 
| 
      
 780 
     | 
    
         
            +
              } else {
         
     | 
| 
      
 781 
     | 
    
         
            +
                contentParts = contentParts.slice(0, -1);
         
     | 
| 
      
 782 
     | 
    
         
            +
                contentPart = {
         
     | 
| 
      
 783 
     | 
    
         
            +
                  ...contentPart,
         
     | 
| 
      
 784 
     | 
    
         
            +
                  argsText,
         
     | 
| 
      
 785 
     | 
    
         
            +
                  args: parsePartialJson(argsText)
         
     | 
| 
      
 786 
     | 
    
         
            +
                };
         
     | 
| 
      
 787 
     | 
    
         
            +
              }
         
     | 
| 
      
 788 
     | 
    
         
            +
              return {
         
     | 
| 
      
 789 
     | 
    
         
            +
                ...message,
         
     | 
| 
      
 790 
     | 
    
         
            +
                content: contentParts.concat([contentPart])
         
     | 
| 
      
 791 
     | 
    
         
            +
              };
         
     | 
| 
      
 792 
     | 
    
         
            +
            };
         
     | 
| 
      
 793 
     | 
    
         
            +
            var appendOrUpdateToolResult = (message, toolCallId, toolName, result) => {
         
     | 
| 
      
 794 
     | 
    
         
            +
              let found = false;
         
     | 
| 
      
 795 
     | 
    
         
            +
              const newContentParts = message.content.map((part) => {
         
     | 
| 
      
 796 
     | 
    
         
            +
                if (part.type !== "tool-call" || part.toolCallId !== toolCallId)
         
     | 
| 
      
 797 
     | 
    
         
            +
                  return part;
         
     | 
| 
      
 798 
     | 
    
         
            +
                found = true;
         
     | 
| 
      
 799 
     | 
    
         
            +
                if (part.toolName !== toolName)
         
     | 
| 
      
 800 
     | 
    
         
            +
                  throw new Error(
         
     | 
| 
      
 801 
     | 
    
         
            +
                    `Tool call ${toolCallId} found with tool name ${part.toolName}, but expected ${toolName}`
         
     | 
| 
      
 802 
     | 
    
         
            +
                  );
         
     | 
| 
      
 803 
     | 
    
         
            +
                return {
         
     | 
| 
      
 804 
     | 
    
         
            +
                  ...part,
         
     | 
| 
      
 805 
     | 
    
         
            +
                  result
         
     | 
| 
      
 806 
     | 
    
         
            +
                };
         
     | 
| 
      
 807 
     | 
    
         
            +
              });
         
     | 
| 
      
 808 
     | 
    
         
            +
              if (!found)
         
     | 
| 
      
 809 
     | 
    
         
            +
                throw new Error(
         
     | 
| 
      
 810 
     | 
    
         
            +
                  `Received tool result for unknown tool call "${toolName}" / "${toolCallId}". This is likely an internal bug in assistant-ui.`
         
     | 
| 
      
 811 
     | 
    
         
            +
                );
         
     | 
| 
      
 812 
     | 
    
         
            +
              return {
         
     | 
| 
      
 813 
     | 
    
         
            +
                ...message,
         
     | 
| 
      
 814 
     | 
    
         
            +
                content: newContentParts
         
     | 
| 
      
 815 
     | 
    
         
            +
              };
         
     | 
| 
      
 816 
     | 
    
         
            +
            };
         
     | 
| 
      
 817 
     | 
    
         
            +
            var appendOrUpdateFinish = (message, chunk) => {
         
     | 
| 
      
 818 
     | 
    
         
            +
              const { type, ...rest } = chunk;
         
     | 
| 
      
 819 
     | 
    
         
            +
              return {
         
     | 
| 
      
 820 
     | 
    
         
            +
                ...message,
         
     | 
| 
      
 821 
     | 
    
         
            +
                status: getStatus(chunk),
         
     | 
| 
      
 822 
     | 
    
         
            +
                roundtrips: [
         
     | 
| 
      
 823 
     | 
    
         
            +
                  ...message.roundtrips ?? [],
         
     | 
| 
      
 824 
     | 
    
         
            +
                  {
         
     | 
| 
      
 825 
     | 
    
         
            +
                    logprobs: rest.logprobs,
         
     | 
| 
      
 826 
     | 
    
         
            +
                    usage: rest.usage
         
     | 
| 
      
 827 
     | 
    
         
            +
                  }
         
     | 
| 
      
 828 
     | 
    
         
            +
                ]
         
     | 
| 
      
 829 
     | 
    
         
            +
              };
         
     | 
| 
      
 830 
     | 
    
         
            +
            };
         
     | 
| 
      
 831 
     | 
    
         
            +
            var getStatus = (chunk) => {
         
     | 
| 
      
 832 
     | 
    
         
            +
              if (chunk.finishReason === "tool-calls") {
         
     | 
| 
      
 833 
     | 
    
         
            +
                return {
         
     | 
| 
      
 834 
     | 
    
         
            +
                  type: "requires-action",
         
     | 
| 
      
 835 
     | 
    
         
            +
                  reason: "tool-calls"
         
     | 
| 
      
 836 
     | 
    
         
            +
                };
         
     | 
| 
      
 837 
     | 
    
         
            +
              } else if (chunk.finishReason === "stop" || chunk.finishReason === "unknown") {
         
     | 
| 
      
 838 
     | 
    
         
            +
                return {
         
     | 
| 
      
 839 
     | 
    
         
            +
                  type: "complete",
         
     | 
| 
      
 840 
     | 
    
         
            +
                  reason: chunk.finishReason
         
     | 
| 
      
 841 
     | 
    
         
            +
                };
         
     | 
| 
      
 842 
     | 
    
         
            +
              } else {
         
     | 
| 
      
 843 
     | 
    
         
            +
                return {
         
     | 
| 
      
 844 
     | 
    
         
            +
                  type: "incomplete",
         
     | 
| 
      
 845 
     | 
    
         
            +
                  reason: chunk.finishReason
         
     | 
| 
      
 846 
     | 
    
         
            +
                };
         
     | 
| 
      
 847 
     | 
    
         
            +
              }
         
     | 
| 
      
 848 
     | 
    
         
            +
            };
         
     | 
| 
      
 849 
     | 
    
         
            +
            var appendOrUpdateCancel = (message) => {
         
     | 
| 
      
 850 
     | 
    
         
            +
              return {
         
     | 
| 
      
 851 
     | 
    
         
            +
                ...message,
         
     | 
| 
      
 852 
     | 
    
         
            +
                status: {
         
     | 
| 
      
 853 
     | 
    
         
            +
                  type: "incomplete",
         
     | 
| 
      
 854 
     | 
    
         
            +
                  reason: "cancelled"
         
     | 
| 
      
 855 
     | 
    
         
            +
                }
         
     | 
| 
      
 856 
     | 
    
         
            +
              };
         
     | 
| 
      
 857 
     | 
    
         
            +
            };
         
     | 
| 
      
 858 
     | 
    
         
            +
             
     | 
| 
      
 859 
     | 
    
         
            +
            // src/runtimes/edge/converters/toCoreMessages.ts
         
     | 
| 
      
 860 
     | 
    
         
            +
            var toCoreMessage = (message) => {
         
     | 
| 
      
 861 
     | 
    
         
            +
              const role = message.role;
         
     | 
| 
      
 862 
     | 
    
         
            +
              switch (role) {
         
     | 
| 
      
 863 
     | 
    
         
            +
                case "assistant":
         
     | 
| 
      
 864 
     | 
    
         
            +
                  return {
         
     | 
| 
      
 865 
     | 
    
         
            +
                    role,
         
     | 
| 
      
 866 
     | 
    
         
            +
                    content: message.content.map((part) => {
         
     | 
| 
      
 867 
     | 
    
         
            +
                      if (part.type === "ui") throw new Error("UI parts are not supported");
         
     | 
| 
      
 868 
     | 
    
         
            +
                      if (part.type === "tool-call") {
         
     | 
| 
      
 869 
     | 
    
         
            +
                        const { argsText, ...rest } = part;
         
     | 
| 
      
 870 
     | 
    
         
            +
                        return rest;
         
     | 
| 
      
 871 
     | 
    
         
            +
                      }
         
     | 
| 
      
 872 
     | 
    
         
            +
                      return part;
         
     | 
| 
      
 873 
     | 
    
         
            +
                    })
         
     | 
| 
      
 874 
     | 
    
         
            +
                  };
         
     | 
| 
      
 875 
     | 
    
         
            +
                case "user":
         
     | 
| 
      
 876 
     | 
    
         
            +
                  return {
         
     | 
| 
      
 877 
     | 
    
         
            +
                    role,
         
     | 
| 
      
 878 
     | 
    
         
            +
                    content: message.content.map((part) => {
         
     | 
| 
      
 879 
     | 
    
         
            +
                      if (part.type === "ui") throw new Error("UI parts are not supported");
         
     | 
| 
      
 880 
     | 
    
         
            +
                      return part;
         
     | 
| 
      
 881 
     | 
    
         
            +
                    })
         
     | 
| 
      
 882 
     | 
    
         
            +
                  };
         
     | 
| 
      
 883 
     | 
    
         
            +
                case "system":
         
     | 
| 
      
 884 
     | 
    
         
            +
                  return {
         
     | 
| 
      
 885 
     | 
    
         
            +
                    role,
         
     | 
| 
      
 886 
     | 
    
         
            +
                    content: message.content
         
     | 
| 
      
 887 
     | 
    
         
            +
                  };
         
     | 
| 
      
 888 
     | 
    
         
            +
                default: {
         
     | 
| 
      
 889 
     | 
    
         
            +
                  const unsupportedRole = role;
         
     | 
| 
      
 890 
     | 
    
         
            +
                  throw new Error(`Unknown message role: ${unsupportedRole}`);
         
     | 
| 
      
 891 
     | 
    
         
            +
                }
         
     | 
| 
      
 892 
     | 
    
         
            +
              }
         
     | 
| 
      
 893 
     | 
    
         
            +
            };
         
     | 
| 
      
 894 
     | 
    
         
            +
             
     | 
| 
       145 
895 
     | 
    
         
             
            // src/runtimes/edge/createEdgeRuntimeAPI.ts
         
     | 
| 
       146 
896 
     | 
    
         
             
            var voidStream = () => {
         
     | 
| 
       147 
897 
     | 
    
         
             
              return new WritableStream({
         
     |