@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
 
| 
         @@ -1,41 +1,9 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            "use client";
         
     | 
| 
       2 
     | 
    
         
            -
             
     | 
| 
       3 
     | 
    
         
            -
            var __create = Object.create;
         
     | 
| 
       4 
     | 
    
         
            -
            var __defProp = Object.defineProperty;
         
     | 
| 
       5 
     | 
    
         
            -
            var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
         
     | 
| 
       6 
     | 
    
         
            -
            var __getOwnPropNames = Object.getOwnPropertyNames;
         
     | 
| 
       7 
     | 
    
         
            -
            var __getProtoOf = Object.getPrototypeOf;
         
     | 
| 
       8 
     | 
    
         
            -
            var __hasOwnProp = Object.prototype.hasOwnProperty;
         
     | 
| 
       9 
     | 
    
         
            -
            var __export = (target, all) => {
         
     | 
| 
       10 
     | 
    
         
            -
              for (var name in all)
         
     | 
| 
       11 
     | 
    
         
            -
                __defProp(target, name, { get: all[name], enumerable: true });
         
     | 
| 
       12 
     | 
    
         
            -
            };
         
     | 
| 
       13 
     | 
    
         
            -
            var __copyProps = (to, from, except, desc) => {
         
     | 
| 
       14 
     | 
    
         
            -
              if (from && typeof from === "object" || typeof from === "function") {
         
     | 
| 
       15 
     | 
    
         
            -
                for (let key of __getOwnPropNames(from))
         
     | 
| 
       16 
     | 
    
         
            -
                  if (!__hasOwnProp.call(to, key) && key !== except)
         
     | 
| 
       17 
     | 
    
         
            -
                    __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
         
     | 
| 
       18 
     | 
    
         
            -
              }
         
     | 
| 
       19 
     | 
    
         
            -
              return to;
         
     | 
| 
       20 
     | 
    
         
            -
            };
         
     | 
| 
       21 
     | 
    
         
            -
            var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
         
     | 
| 
       22 
     | 
    
         
            -
              // If the importer is in node compatibility mode or this is not an ESM
         
     | 
| 
       23 
     | 
    
         
            -
              // file that has been converted to a CommonJS file using a Babel-
         
     | 
| 
       24 
     | 
    
         
            -
              // compatible transform (i.e. "__esModule" has not been set), then set
         
     | 
| 
       25 
     | 
    
         
            -
              // "default" to the CommonJS "module.exports" for node compatibility.
         
     | 
| 
       26 
     | 
    
         
            -
              isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
         
     | 
| 
       27 
     | 
    
         
            -
              mod
         
     | 
| 
       28 
     | 
    
         
            -
            ));
         
     | 
| 
       29 
     | 
    
         
            -
            var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
         
     | 
| 
      
 1 
     | 
    
         
            +
            "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }"use client";
         
     | 
| 
      
 2 
     | 
    
         
            +
            require('../chunk-DCHYNTHI.js');
         
     | 
| 
       30 
3 
     | 
    
         | 
| 
       31 
4 
     | 
    
         
             
            // src/tailwindcss/index.ts
         
     | 
| 
       32 
     | 
    
         
            -
            var  
     | 
| 
       33 
     | 
    
         
            -
             
     | 
| 
       34 
     | 
    
         
            -
              default: () => tailwindcss_default
         
     | 
| 
       35 
     | 
    
         
            -
            });
         
     | 
| 
       36 
     | 
    
         
            -
            module.exports = __toCommonJS(tailwindcss_exports);
         
     | 
| 
       37 
     | 
    
         
            -
            var import_plugin = __toESM(require("tailwindcss/plugin"));
         
     | 
| 
       38 
     | 
    
         
            -
            var auiPlugin = import_plugin.default.withOptions(
         
     | 
| 
      
 5 
     | 
    
         
            +
            var _plugin = require('tailwindcss/plugin'); var _plugin2 = _interopRequireDefault(_plugin);
         
     | 
| 
      
 6 
     | 
    
         
            +
            var auiPlugin = _plugin2.default.withOptions(
         
     | 
| 
       39 
7 
     | 
    
         
             
              ({ components = ["assistant-modal", "thread"], shadcn = false } = {}) => ({ addComponents }) => {
         
     | 
| 
       40 
8 
     | 
    
         
             
                const assistantModal = components.includes("assistant-modal");
         
     | 
| 
       41 
9 
     | 
    
         
             
                const thread = assistantModal || components.includes("thread");
         
     | 
| 
         @@ -71,38 +39,38 @@ var auiPlugin = import_plugin.default.withOptions( 
     | 
|
| 
       71 
39 
     | 
    
         
             
                    extend: {
         
     | 
| 
       72 
40 
     | 
    
         
             
                      colors: {
         
     | 
| 
       73 
41 
     | 
    
         
             
                        aui: {
         
     | 
| 
       74 
     | 
    
         
            -
                          border: colors.border  
     | 
| 
       75 
     | 
    
         
            -
                          input: colors.input  
     | 
| 
       76 
     | 
    
         
            -
                          ring: colors.ring  
     | 
| 
       77 
     | 
    
         
            -
                          background: colors.background  
     | 
| 
       78 
     | 
    
         
            -
                          foreground: colors.foreground  
     | 
| 
      
 42 
     | 
    
         
            +
                          border: _nullishCoalesce(colors.border, () => ( `hsl(var(${prefix}border))`)),
         
     | 
| 
      
 43 
     | 
    
         
            +
                          input: _nullishCoalesce(colors.input, () => ( `hsl(var(${prefix}input))`)),
         
     | 
| 
      
 44 
     | 
    
         
            +
                          ring: _nullishCoalesce(colors.ring, () => ( `hsl(var(${prefix}ring))`)),
         
     | 
| 
      
 45 
     | 
    
         
            +
                          background: _nullishCoalesce(colors.background, () => ( `hsl(var(${prefix}background))`)),
         
     | 
| 
      
 46 
     | 
    
         
            +
                          foreground: _nullishCoalesce(colors.foreground, () => ( `hsl(var(${prefix}foreground))`)),
         
     | 
| 
       79 
47 
     | 
    
         
             
                          primary: {
         
     | 
| 
       80 
     | 
    
         
            -
                            DEFAULT: colors.primary 
     | 
| 
       81 
     | 
    
         
            -
                            foreground: colors.primary 
     | 
| 
      
 48 
     | 
    
         
            +
                            DEFAULT: _nullishCoalesce(_optionalChain([colors, 'access', _ => _.primary, 'optionalAccess', _2 => _2.DEFAULT]), () => ( `hsl(var(${prefix}primary))`)),
         
     | 
| 
      
 49 
     | 
    
         
            +
                            foreground: _nullishCoalesce(_optionalChain([colors, 'access', _3 => _3.primary, 'optionalAccess', _4 => _4.foreground]), () => ( `hsl(var(${prefix}primary-foreground))`))
         
     | 
| 
       82 
50 
     | 
    
         
             
                          },
         
     | 
| 
       83 
51 
     | 
    
         
             
                          secondary: {
         
     | 
| 
       84 
     | 
    
         
            -
                            DEFAULT: colors.secondary 
     | 
| 
       85 
     | 
    
         
            -
                            foreground: colors.secondary 
     | 
| 
      
 52 
     | 
    
         
            +
                            DEFAULT: _nullishCoalesce(_optionalChain([colors, 'access', _5 => _5.secondary, 'optionalAccess', _6 => _6.DEFAULT]), () => ( `hsl(var(${prefix}secondary))`)),
         
     | 
| 
      
 53 
     | 
    
         
            +
                            foreground: _nullishCoalesce(_optionalChain([colors, 'access', _7 => _7.secondary, 'optionalAccess', _8 => _8.foreground]), () => ( `hsl(var(${prefix}secondary-foreground))`))
         
     | 
| 
       86 
54 
     | 
    
         
             
                          },
         
     | 
| 
       87 
55 
     | 
    
         
             
                          destructive: {
         
     | 
| 
       88 
     | 
    
         
            -
                            DEFAULT: colors.destructive 
     | 
| 
      
 56 
     | 
    
         
            +
                            DEFAULT: _nullishCoalesce(_optionalChain([colors, 'access', _9 => _9.destructive, 'optionalAccess', _10 => _10.DEFAULT]), () => ( `hsl(var(${prefix}destructive))`)),
         
     | 
| 
       89 
57 
     | 
    
         
             
                            foreground: `hsl(var(${prefix}destructive-foreground))`
         
     | 
| 
       90 
58 
     | 
    
         
             
                          },
         
     | 
| 
       91 
59 
     | 
    
         
             
                          muted: {
         
     | 
| 
       92 
60 
     | 
    
         
             
                            DEFAULT: `hsl(var(${prefix}muted))`,
         
     | 
| 
       93 
     | 
    
         
            -
                            foreground: colors.muted 
     | 
| 
      
 61 
     | 
    
         
            +
                            foreground: _nullishCoalesce(_optionalChain([colors, 'access', _11 => _11.muted, 'optionalAccess', _12 => _12.foreground]), () => ( `hsl(var(${prefix}muted-foreground))`))
         
     | 
| 
       94 
62 
     | 
    
         
             
                          },
         
     | 
| 
       95 
63 
     | 
    
         
             
                          accent: {
         
     | 
| 
       96 
     | 
    
         
            -
                            DEFAULT: colors.accent 
     | 
| 
       97 
     | 
    
         
            -
                            foreground: colors.accent 
     | 
| 
      
 64 
     | 
    
         
            +
                            DEFAULT: _nullishCoalesce(_optionalChain([colors, 'access', _13 => _13.accent, 'optionalAccess', _14 => _14.DEFAULT]), () => ( `hsl(var(${prefix}accent))`)),
         
     | 
| 
      
 65 
     | 
    
         
            +
                            foreground: _nullishCoalesce(_optionalChain([colors, 'access', _15 => _15.accent, 'optionalAccess', _16 => _16.foreground]), () => ( `hsl(var(${prefix}accent-foreground))`))
         
     | 
| 
       98 
66 
     | 
    
         
             
                          },
         
     | 
| 
       99 
67 
     | 
    
         
             
                          popover: {
         
     | 
| 
       100 
     | 
    
         
            -
                            DEFAULT: colors.popover 
     | 
| 
       101 
     | 
    
         
            -
                            foreground: colors.popover 
     | 
| 
      
 68 
     | 
    
         
            +
                            DEFAULT: _nullishCoalesce(_optionalChain([colors, 'access', _17 => _17.popover, 'optionalAccess', _18 => _18.DEFAULT]), () => ( `hsl(var(${prefix}popover))`)),
         
     | 
| 
      
 69 
     | 
    
         
            +
                            foreground: _nullishCoalesce(_optionalChain([colors, 'access', _19 => _19.popover, 'optionalAccess', _20 => _20.foreground]), () => ( `hsl(var(${prefix}popover-foreground))`))
         
     | 
| 
       102 
70 
     | 
    
         
             
                          },
         
     | 
| 
       103 
71 
     | 
    
         
             
                          card: {
         
     | 
| 
       104 
     | 
    
         
            -
                            DEFAULT: colors.card 
     | 
| 
       105 
     | 
    
         
            -
                            foreground: colors.card 
     | 
| 
      
 72 
     | 
    
         
            +
                            DEFAULT: _nullishCoalesce(_optionalChain([colors, 'access', _21 => _21.card, 'optionalAccess', _22 => _22.DEFAULT]), () => ( `hsl(var(${prefix}card))`)),
         
     | 
| 
      
 73 
     | 
    
         
            +
                            foreground: _nullishCoalesce(_optionalChain([colors, 'access', _23 => _23.card, 'optionalAccess', _24 => _24.foreground]), () => ( `hsl(var(${prefix}card-foreground))`))
         
     | 
| 
       106 
74 
     | 
    
         
             
                          }
         
     | 
| 
       107 
75 
     | 
    
         
             
                        }
         
     | 
| 
       108 
76 
     | 
    
         
             
                      }
         
     | 
| 
         @@ -112,4 +80,7 @@ var auiPlugin = import_plugin.default.withOptions( 
     | 
|
| 
       112 
80 
     | 
    
         
             
              }
         
     | 
| 
       113 
81 
     | 
    
         
             
            );
         
     | 
| 
       114 
82 
     | 
    
         
             
            var tailwindcss_default = auiPlugin;
         
     | 
| 
      
 83 
     | 
    
         
            +
             
     | 
| 
      
 84 
     | 
    
         
            +
             
     | 
| 
      
 85 
     | 
    
         
            +
            exports.default = tailwindcss_default;
         
     | 
| 
       115 
86 
     | 
    
         
             
            //# sourceMappingURL=index.js.map
         
     | 
| 
         @@ -1 +1 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            {"version":3,"sources":["../../src/tailwindcss/index.ts"],"sourcesContent":["import plugin from \"tailwindcss/plugin\";\n\ntype AssistantTailwindPluginColors = {\n  border: string;\n  input: string;\n  ring: string;\n  background: string;\n  foreground: string;\n  primary: {\n    DEFAULT: string;\n    foreground: string;\n  };\n  secondary: {\n    DEFAULT: string;\n    foreground: string;\n  };\n  destructive: {\n    DEFAULT: string;\n    foreground: string;\n  };\n  muted: {\n    DEFAULT: string;\n    foreground: string;\n  };\n  accent: {\n    DEFAULT: string;\n    foreground: string;\n  };\n  popover: {\n    DEFAULT: string;\n    foreground: string;\n  };\n  card: {\n    DEFAULT: string;\n    foreground: string;\n  };\n};\n\ntype AssisstantTailwindPluginOptions = {\n  components?: (\"default-theme\" | \"base\" | \"thread\" | \"assistant-modal\")[];\n  colors?: AssistantTailwindPluginColors;\n  shadcn?: boolean;\n};\n\nconst auiPlugin = plugin.withOptions<AssisstantTailwindPluginOptions>(\n  ({ components = [\"assistant-modal\", \"thread\"], shadcn = false } = {}) =>\n    ({ addComponents }) => {\n      const assistantModal = components.includes(\"assistant-modal\");\n      const thread = assistantModal || components.includes(\"thread\");\n      const base = thread || components.includes(\"base\");\n      const defaultTheme = components.includes(\"default-theme\");\n\n      if (defaultTheme && shadcn)\n        throw new Error(\"default-theme cannot be used with shadcn\");\n\n      if (defaultTheme || (base && !shadcn)) {\n        addComponents({\n          '@import \"@assistant-ui/react/styles/themes/default.css\"': \"\",\n        });\n      }\n\n      if (base) {\n        addComponents({\n          '@import \"@assistant-ui/react/styles/tailwindcss/base-components.css\"':\n            \"\",\n        });\n      }\n\n      if (thread) {\n        addComponents({\n          '@import \"@assistant-ui/react/styles/tailwindcss/thread.css\"': \"\",\n        });\n      }\n\n      if (assistantModal) {\n        addComponents({\n          '@import \"@assistant-ui/react/styles/tailwindcss/modal.css\"': \"\",\n        });\n      }\n    },\n  ({ shadcn = false, colors = {} } = {}) => {\n    const prefix = !shadcn ? \"--aui-\" : \"--\";\n    return {\n      theme: {\n        extend: {\n          colors: {\n            aui: {\n              border: colors.border ?? `hsl(var(${prefix}border))`,\n              input: colors.input ?? `hsl(var(${prefix}input))`,\n              ring: colors.ring ?? `hsl(var(${prefix}ring))`,\n              background: colors.background ?? `hsl(var(${prefix}background))`,\n              foreground: colors.foreground ?? `hsl(var(${prefix}foreground))`,\n              primary: {\n                DEFAULT:\n                  colors.primary?.DEFAULT ?? `hsl(var(${prefix}primary))`,\n                foreground:\n                  colors.primary?.foreground ??\n                  `hsl(var(${prefix}primary-foreground))`,\n              },\n              secondary: {\n                DEFAULT:\n                  colors.secondary?.DEFAULT ?? `hsl(var(${prefix}secondary))`,\n                foreground:\n                  colors.secondary?.foreground ??\n                  `hsl(var(${prefix}secondary-foreground))`,\n              },\n              destructive: {\n                DEFAULT:\n                  colors.destructive?.DEFAULT ??\n                  `hsl(var(${prefix}destructive))`,\n                foreground: `hsl(var(${prefix}destructive-foreground))`,\n              },\n              muted: {\n                DEFAULT: `hsl(var(${prefix}muted))`,\n                foreground:\n                  colors.muted?.foreground ??\n                  `hsl(var(${prefix}muted-foreground))`,\n              },\n              accent: {\n                DEFAULT: colors.accent?.DEFAULT ?? `hsl(var(${prefix}accent))`,\n                foreground:\n                  colors.accent?.foreground ??\n                  `hsl(var(${prefix}accent-foreground))`,\n              },\n              popover: {\n                DEFAULT:\n                  colors.popover?.DEFAULT ?? `hsl(var(${prefix}popover))`,\n                foreground:\n                  colors.popover?.foreground ??\n                  `hsl(var(${prefix}popover-foreground))`,\n              },\n              card: {\n                DEFAULT: colors.card?.DEFAULT ?? `hsl(var(${prefix}card))`,\n                foreground:\n                  colors.card?.foreground ??\n                  `hsl(var(${prefix}card-foreground))`,\n              },\n            },\n          },\n        },\n      },\n    };\n  },\n);\n\nexport default auiPlugin;\n"] 
     | 
| 
      
 1 
     | 
    
         
            +
            {"version":3,"sources":["/home/runner/work/assistant-ui/assistant-ui/packages/react/dist/tailwindcss/index.js","../../src/tailwindcss/index.ts"],"names":[],"mappings":"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","file":"/home/runner/work/assistant-ui/assistant-ui/packages/react/dist/tailwindcss/index.js","sourcesContent":[null,"import plugin from \"tailwindcss/plugin\";\n\ntype AssistantTailwindPluginColors = {\n  border: string;\n  input: string;\n  ring: string;\n  background: string;\n  foreground: string;\n  primary: {\n    DEFAULT: string;\n    foreground: string;\n  };\n  secondary: {\n    DEFAULT: string;\n    foreground: string;\n  };\n  destructive: {\n    DEFAULT: string;\n    foreground: string;\n  };\n  muted: {\n    DEFAULT: string;\n    foreground: string;\n  };\n  accent: {\n    DEFAULT: string;\n    foreground: string;\n  };\n  popover: {\n    DEFAULT: string;\n    foreground: string;\n  };\n  card: {\n    DEFAULT: string;\n    foreground: string;\n  };\n};\n\ntype AssisstantTailwindPluginOptions = {\n  components?: (\"default-theme\" | \"base\" | \"thread\" | \"assistant-modal\")[];\n  colors?: AssistantTailwindPluginColors;\n  shadcn?: boolean;\n};\n\nconst auiPlugin = plugin.withOptions<AssisstantTailwindPluginOptions>(\n  ({ components = [\"assistant-modal\", \"thread\"], shadcn = false } = {}) =>\n    ({ addComponents }) => {\n      const assistantModal = components.includes(\"assistant-modal\");\n      const thread = assistantModal || components.includes(\"thread\");\n      const base = thread || components.includes(\"base\");\n      const defaultTheme = components.includes(\"default-theme\");\n\n      if (defaultTheme && shadcn)\n        throw new Error(\"default-theme cannot be used with shadcn\");\n\n      if (defaultTheme || (base && !shadcn)) {\n        addComponents({\n          '@import \"@assistant-ui/react/styles/themes/default.css\"': \"\",\n        });\n      }\n\n      if (base) {\n        addComponents({\n          '@import \"@assistant-ui/react/styles/tailwindcss/base-components.css\"':\n            \"\",\n        });\n      }\n\n      if (thread) {\n        addComponents({\n          '@import \"@assistant-ui/react/styles/tailwindcss/thread.css\"': \"\",\n        });\n      }\n\n      if (assistantModal) {\n        addComponents({\n          '@import \"@assistant-ui/react/styles/tailwindcss/modal.css\"': \"\",\n        });\n      }\n    },\n  ({ shadcn = false, colors = {} } = {}) => {\n    const prefix = !shadcn ? \"--aui-\" : \"--\";\n    return {\n      theme: {\n        extend: {\n          colors: {\n            aui: {\n              border: colors.border ?? `hsl(var(${prefix}border))`,\n              input: colors.input ?? `hsl(var(${prefix}input))`,\n              ring: colors.ring ?? `hsl(var(${prefix}ring))`,\n              background: colors.background ?? `hsl(var(${prefix}background))`,\n              foreground: colors.foreground ?? `hsl(var(${prefix}foreground))`,\n              primary: {\n                DEFAULT:\n                  colors.primary?.DEFAULT ?? `hsl(var(${prefix}primary))`,\n                foreground:\n                  colors.primary?.foreground ??\n                  `hsl(var(${prefix}primary-foreground))`,\n              },\n              secondary: {\n                DEFAULT:\n                  colors.secondary?.DEFAULT ?? `hsl(var(${prefix}secondary))`,\n                foreground:\n                  colors.secondary?.foreground ??\n                  `hsl(var(${prefix}secondary-foreground))`,\n              },\n              destructive: {\n                DEFAULT:\n                  colors.destructive?.DEFAULT ??\n                  `hsl(var(${prefix}destructive))`,\n                foreground: `hsl(var(${prefix}destructive-foreground))`,\n              },\n              muted: {\n                DEFAULT: `hsl(var(${prefix}muted))`,\n                foreground:\n                  colors.muted?.foreground ??\n                  `hsl(var(${prefix}muted-foreground))`,\n              },\n              accent: {\n                DEFAULT: colors.accent?.DEFAULT ?? `hsl(var(${prefix}accent))`,\n                foreground:\n                  colors.accent?.foreground ??\n                  `hsl(var(${prefix}accent-foreground))`,\n              },\n              popover: {\n                DEFAULT:\n                  colors.popover?.DEFAULT ?? `hsl(var(${prefix}popover))`,\n                foreground:\n                  colors.popover?.foreground ??\n                  `hsl(var(${prefix}popover-foreground))`,\n              },\n              card: {\n                DEFAULT: colors.card?.DEFAULT ?? `hsl(var(${prefix}card))`,\n                foreground:\n                  colors.card?.foreground ??\n                  `hsl(var(${prefix}card-foreground))`,\n              },\n            },\n          },\n        },\n      },\n    };\n  },\n);\n\nexport default auiPlugin;\n"]}
         
     | 
    
        package/package.json
    CHANGED
    
    | 
         @@ -29,7 +29,7 @@ 
     | 
|
| 
       29 
29 
     | 
    
         
             
                "conversational-ui",
         
     | 
| 
       30 
30 
     | 
    
         
             
                "conversational-ai"
         
     | 
| 
       31 
31 
     | 
    
         
             
              ],
         
     | 
| 
       32 
     | 
    
         
            -
              "version": "0.5. 
     | 
| 
      
 32 
     | 
    
         
            +
              "version": "0.5.23",
         
     | 
| 
       33 
33 
     | 
    
         
             
              "license": "MIT",
         
     | 
| 
       34 
34 
     | 
    
         
             
              "exports": {
         
     | 
| 
       35 
35 
     | 
    
         
             
                ".": {
         
     | 
| 
         @@ -52,16 +52,6 @@ 
     | 
|
| 
       52 
52 
     | 
    
         
             
                    "default": "./dist/edge.js"
         
     | 
| 
       53 
53 
     | 
    
         
             
                  }
         
     | 
| 
       54 
54 
     | 
    
         
             
                },
         
     | 
| 
       55 
     | 
    
         
            -
                "./internal": {
         
     | 
| 
       56 
     | 
    
         
            -
                  "import": {
         
     | 
| 
       57 
     | 
    
         
            -
                    "types": "./dist/internal.d.mts",
         
     | 
| 
       58 
     | 
    
         
            -
                    "default": "./dist/internal.mjs"
         
     | 
| 
       59 
     | 
    
         
            -
                  },
         
     | 
| 
       60 
     | 
    
         
            -
                  "require": {
         
     | 
| 
       61 
     | 
    
         
            -
                    "types": "./dist/internal.d.ts",
         
     | 
| 
       62 
     | 
    
         
            -
                    "default": "./dist/internal.js"
         
     | 
| 
       63 
     | 
    
         
            -
                  }
         
     | 
| 
       64 
     | 
    
         
            -
                },
         
     | 
| 
       65 
55 
     | 
    
         
             
                "./tailwindcss": {
         
     | 
| 
       66 
56 
     | 
    
         
             
                  "import": {
         
     | 
| 
       67 
57 
     | 
    
         
             
                    "types": "./dist/tailwindcss/index.d.mts",
         
     | 
| 
         @@ -83,7 +73,6 @@ 
     | 
|
| 
       83 
73 
     | 
    
         
             
              "files": [
         
     | 
| 
       84 
74 
     | 
    
         
             
                "dist",
         
     | 
| 
       85 
75 
     | 
    
         
             
                "edge",
         
     | 
| 
       86 
     | 
    
         
            -
                "internal",
         
     | 
| 
       87 
76 
     | 
    
         
             
                "tailwindcss",
         
     | 
| 
       88 
77 
     | 
    
         
             
                "README.md"
         
     | 
| 
       89 
78 
     | 
    
         
             
              ],
         
     | 
| 
         @@ -1,156 +0,0 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            import { h as ModelConfigProvider, c as ModelConfig, b as ThreadMessage, g as CoreMessage, C as ContentPartStatus, f as ToolCallContentPartStatus, d as TextContentPart, I as ImageContentPart, U as UIContentPart, e as ToolCallContentPart, A as AppendMessage } from './AssistantTypes-D93BmqD5.mjs';
         
     | 
| 
       2 
     | 
    
         
            -
            import * as react from 'react';
         
     | 
| 
       3 
     | 
    
         
            -
            import { ComponentType } from 'react';
         
     | 
| 
       4 
     | 
    
         
            -
            import * as class_variance_authority from 'class-variance-authority';
         
     | 
| 
       5 
     | 
    
         
            -
            import { VariantProps } from 'class-variance-authority';
         
     | 
| 
       6 
     | 
    
         
            -
            import * as class_variance_authority_types from 'class-variance-authority/types';
         
     | 
| 
       7 
     | 
    
         
            -
            import { Primitive } from '@radix-ui/react-primitive';
         
     | 
| 
       8 
     | 
    
         
            -
             
     | 
| 
       9 
     | 
    
         
            -
            type Unsubscribe = () => void;
         
     | 
| 
       10 
     | 
    
         
            -
             
     | 
| 
       11 
     | 
    
         
            -
            type ReactThreadRuntime = ThreadRuntime & {
         
     | 
| 
       12 
     | 
    
         
            -
                unstable_synchronizer?: ComponentType;
         
     | 
| 
       13 
     | 
    
         
            -
            };
         
     | 
| 
       14 
     | 
    
         
            -
             
     | 
| 
       15 
     | 
    
         
            -
            declare abstract class BaseAssistantRuntime<TThreadRuntime extends ReactThreadRuntime> implements AssistantRuntime {
         
     | 
| 
       16 
     | 
    
         
            -
                private _thread;
         
     | 
| 
       17 
     | 
    
         
            -
                constructor(_thread: TThreadRuntime);
         
     | 
| 
       18 
     | 
    
         
            -
                get thread(): TThreadRuntime;
         
     | 
| 
       19 
     | 
    
         
            -
                set thread(thread: TThreadRuntime);
         
     | 
| 
       20 
     | 
    
         
            -
                abstract registerModelConfigProvider(provider: ModelConfigProvider): Unsubscribe;
         
     | 
| 
       21 
     | 
    
         
            -
                abstract switchToThread(threadId: string | null): void;
         
     | 
| 
       22 
     | 
    
         
            -
                private _subscriptions;
         
     | 
| 
       23 
     | 
    
         
            -
                subscribe(callback: () => void): Unsubscribe;
         
     | 
| 
       24 
     | 
    
         
            -
                private subscriptionHandler;
         
     | 
| 
       25 
     | 
    
         
            -
            }
         
     | 
| 
       26 
     | 
    
         
            -
             
     | 
| 
       27 
     | 
    
         
            -
            declare class ProxyConfigProvider implements ModelConfigProvider {
         
     | 
| 
       28 
     | 
    
         
            -
                private _providers;
         
     | 
| 
       29 
     | 
    
         
            -
                getModelConfig(): ModelConfig;
         
     | 
| 
       30 
     | 
    
         
            -
                registerModelConfigProvider(provider: ModelConfigProvider): () => void;
         
     | 
| 
       31 
     | 
    
         
            -
            }
         
     | 
| 
       32 
     | 
    
         
            -
             
     | 
| 
       33 
     | 
    
         
            -
            declare class MessageRepository {
         
     | 
| 
       34 
     | 
    
         
            -
                private messages;
         
     | 
| 
       35 
     | 
    
         
            -
                private head;
         
     | 
| 
       36 
     | 
    
         
            -
                private root;
         
     | 
| 
       37 
     | 
    
         
            -
                private performOp;
         
     | 
| 
       38 
     | 
    
         
            -
                getMessages(): ThreadMessage[];
         
     | 
| 
       39 
     | 
    
         
            -
                addOrUpdateMessage(parentId: string | null, message: ThreadMessage): void;
         
     | 
| 
       40 
     | 
    
         
            -
                getMessage(messageId: string): {
         
     | 
| 
       41 
     | 
    
         
            -
                    parentId: string | null;
         
     | 
| 
       42 
     | 
    
         
            -
                    message: ThreadMessage;
         
     | 
| 
       43 
     | 
    
         
            -
                };
         
     | 
| 
       44 
     | 
    
         
            -
                appendOptimisticMessage(parentId: string | null, message: CoreMessage): string;
         
     | 
| 
       45 
     | 
    
         
            -
                deleteMessage(messageId: string, replacementId?: string | null | undefined): void;
         
     | 
| 
       46 
     | 
    
         
            -
                getBranches(messageId: string): string[];
         
     | 
| 
       47 
     | 
    
         
            -
                switchToBranch(messageId: string): void;
         
     | 
| 
       48 
     | 
    
         
            -
                resetHead(messageId: string | null): void;
         
     | 
| 
       49 
     | 
    
         
            -
            }
         
     | 
| 
       50 
     | 
    
         
            -
             
     | 
| 
       51 
     | 
    
         
            -
            type TextContentPartState = Readonly<{
         
     | 
| 
       52 
     | 
    
         
            -
                status: ContentPartStatus;
         
     | 
| 
       53 
     | 
    
         
            -
                part: TextContentPart;
         
     | 
| 
       54 
     | 
    
         
            -
            }>;
         
     | 
| 
       55 
     | 
    
         
            -
            type ContentPartState = Readonly<{
         
     | 
| 
       56 
     | 
    
         
            -
                status: ContentPartStatus | ToolCallContentPartStatus;
         
     | 
| 
       57 
     | 
    
         
            -
                part: TextContentPart | ImageContentPart | UIContentPart | ToolCallContentPart;
         
     | 
| 
       58 
     | 
    
         
            -
            }>;
         
     | 
| 
       59 
     | 
    
         
            -
             
     | 
| 
       60 
     | 
    
         
            -
            declare const useSmooth: (state: TextContentPartState, smooth?: boolean) => TextContentPartState;
         
     | 
| 
       61 
     | 
    
         
            -
             
     | 
| 
       62 
     | 
    
         
            -
            declare const withSmoothContextProvider: <C extends React.ComponentType<any>>(Component: C) => C;
         
     | 
| 
       63 
     | 
    
         
            -
            declare const useSmoothStatus: () => {
         
     | 
| 
       64 
     | 
    
         
            -
                type: "running";
         
     | 
| 
       65 
     | 
    
         
            -
            } | {
         
     | 
| 
       66 
     | 
    
         
            -
                type: "complete";
         
     | 
| 
       67 
     | 
    
         
            -
            } | {
         
     | 
| 
       68 
     | 
    
         
            -
                type: "incomplete";
         
     | 
| 
       69 
     | 
    
         
            -
                reason: "cancelled" | "length" | "content-filter" | "other" | "error";
         
     | 
| 
       70 
     | 
    
         
            -
                error?: unknown;
         
     | 
| 
       71 
     | 
    
         
            -
            } | {
         
     | 
| 
       72 
     | 
    
         
            -
                type: "requires-action";
         
     | 
| 
       73 
     | 
    
         
            -
                reason: "tool-calls";
         
     | 
| 
       74 
     | 
    
         
            -
            };
         
     | 
| 
       75 
     | 
    
         
            -
             
     | 
| 
       76 
     | 
    
         
            -
            declare const buttonVariants: (props?: ({
         
     | 
| 
       77 
     | 
    
         
            -
                variant?: "default" | "outline" | "ghost" | null | undefined;
         
     | 
| 
       78 
     | 
    
         
            -
                size?: "default" | "icon" | null | undefined;
         
     | 
| 
       79 
     | 
    
         
            -
            } & class_variance_authority_types.ClassProp) | undefined) => string;
         
     | 
| 
       80 
     | 
    
         
            -
            type ButtonProps = React.ComponentPropsWithoutRef<typeof Primitive.button> & VariantProps<typeof buttonVariants>;
         
     | 
| 
       81 
     | 
    
         
            -
             
     | 
| 
       82 
     | 
    
         
            -
            type TooltipIconButtonProps = ButtonProps & {
         
     | 
| 
       83 
     | 
    
         
            -
                tooltip: string;
         
     | 
| 
       84 
     | 
    
         
            -
                side?: "top" | "bottom" | "left" | "right";
         
     | 
| 
       85 
     | 
    
         
            -
            };
         
     | 
| 
       86 
     | 
    
         
            -
            declare const TooltipIconButton: react.ForwardRefExoticComponent<Omit<Omit<react.DetailedHTMLProps<react.ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "ref"> & {
         
     | 
| 
       87 
     | 
    
         
            -
                ref?: ((instance: HTMLButtonElement | null) => void | react.DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES[keyof react.DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES]) | react.RefObject<HTMLButtonElement> | null | undefined;
         
     | 
| 
       88 
     | 
    
         
            -
            } & {
         
     | 
| 
       89 
     | 
    
         
            -
                asChild?: boolean;
         
     | 
| 
       90 
     | 
    
         
            -
            }, "ref"> & class_variance_authority.VariantProps<(props?: ({
         
     | 
| 
       91 
     | 
    
         
            -
                variant?: "default" | "outline" | "ghost" | null | undefined;
         
     | 
| 
       92 
     | 
    
         
            -
                size?: "default" | "icon" | null | undefined;
         
     | 
| 
       93 
     | 
    
         
            -
            } & class_variance_authority_types.ClassProp) | undefined) => string> & {
         
     | 
| 
       94 
     | 
    
         
            -
                tooltip: string;
         
     | 
| 
       95 
     | 
    
         
            -
                side?: "top" | "bottom" | "left" | "right";
         
     | 
| 
       96 
     | 
    
         
            -
            } & react.RefAttributes<HTMLButtonElement>>;
         
     | 
| 
       97 
     | 
    
         
            -
             
     | 
| 
       98 
     | 
    
         
            -
            declare const generateId: (size?: number) => string;
         
     | 
| 
       99 
     | 
    
         
            -
             
     | 
| 
       100 
     | 
    
         
            -
            type internal_BaseAssistantRuntime<TThreadRuntime extends ReactThreadRuntime> = BaseAssistantRuntime<TThreadRuntime>;
         
     | 
| 
       101 
     | 
    
         
            -
            declare const internal_BaseAssistantRuntime: typeof BaseAssistantRuntime;
         
     | 
| 
       102 
     | 
    
         
            -
            type internal_MessageRepository = MessageRepository;
         
     | 
| 
       103 
     | 
    
         
            -
            declare const internal_MessageRepository: typeof MessageRepository;
         
     | 
| 
       104 
     | 
    
         
            -
            type internal_ProxyConfigProvider = ProxyConfigProvider;
         
     | 
| 
       105 
     | 
    
         
            -
            declare const internal_ProxyConfigProvider: typeof ProxyConfigProvider;
         
     | 
| 
       106 
     | 
    
         
            -
            declare const internal_TooltipIconButton: typeof TooltipIconButton;
         
     | 
| 
       107 
     | 
    
         
            -
            declare const internal_generateId: typeof generateId;
         
     | 
| 
       108 
     | 
    
         
            -
            declare const internal_useSmooth: typeof useSmooth;
         
     | 
| 
       109 
     | 
    
         
            -
            declare const internal_useSmoothStatus: typeof useSmoothStatus;
         
     | 
| 
       110 
     | 
    
         
            -
            declare const internal_withSmoothContextProvider: typeof withSmoothContextProvider;
         
     | 
| 
       111 
     | 
    
         
            -
            declare namespace internal {
         
     | 
| 
       112 
     | 
    
         
            -
              export { internal_BaseAssistantRuntime as BaseAssistantRuntime, internal_MessageRepository as MessageRepository, internal_ProxyConfigProvider as ProxyConfigProvider, internal_TooltipIconButton as TooltipIconButton, internal_generateId as generateId, internal_useSmooth as useSmooth, internal_useSmoothStatus as useSmoothStatus, internal_withSmoothContextProvider as withSmoothContextProvider };
         
     | 
| 
       113 
     | 
    
         
            -
            }
         
     | 
| 
       114 
     | 
    
         
            -
             
     | 
| 
       115 
     | 
    
         
            -
            type AddToolResultOptions = {
         
     | 
| 
       116 
     | 
    
         
            -
                messageId: string;
         
     | 
| 
       117 
     | 
    
         
            -
                toolCallId: string;
         
     | 
| 
       118 
     | 
    
         
            -
                result: any;
         
     | 
| 
       119 
     | 
    
         
            -
            };
         
     | 
| 
       120 
     | 
    
         
            -
            type RuntimeCapabilities = {
         
     | 
| 
       121 
     | 
    
         
            -
                switchToBranch: boolean;
         
     | 
| 
       122 
     | 
    
         
            -
                edit: boolean;
         
     | 
| 
       123 
     | 
    
         
            -
                reload: boolean;
         
     | 
| 
       124 
     | 
    
         
            -
                cancel: boolean;
         
     | 
| 
       125 
     | 
    
         
            -
                copy: boolean;
         
     | 
| 
       126 
     | 
    
         
            -
            };
         
     | 
| 
       127 
     | 
    
         
            -
            type ThreadActionsState = Readonly<{
         
     | 
| 
       128 
     | 
    
         
            -
                capabilities: Readonly<RuntimeCapabilities>;
         
     | 
| 
       129 
     | 
    
         
            -
                getBranches: (messageId: string) => readonly string[];
         
     | 
| 
       130 
     | 
    
         
            -
                switchToBranch: (branchId: string) => void;
         
     | 
| 
       131 
     | 
    
         
            -
                append: (message: AppendMessage) => void;
         
     | 
| 
       132 
     | 
    
         
            -
                startRun: (parentId: string | null) => void;
         
     | 
| 
       133 
     | 
    
         
            -
                cancelRun: () => void;
         
     | 
| 
       134 
     | 
    
         
            -
                addToolResult: (options: AddToolResultOptions) => void;
         
     | 
| 
       135 
     | 
    
         
            -
            }>;
         
     | 
| 
       136 
     | 
    
         
            -
             
     | 
| 
       137 
     | 
    
         
            -
            type ThreadRuntime = Readonly<ThreadState & Omit<ThreadActionsState, "getRuntime"> & {
         
     | 
| 
       138 
     | 
    
         
            -
                messages: readonly ThreadMessage[];
         
     | 
| 
       139 
     | 
    
         
            -
                subscribe: (callback: () => void) => Unsubscribe;
         
     | 
| 
       140 
     | 
    
         
            -
            }>;
         
     | 
| 
       141 
     | 
    
         
            -
             
     | 
| 
       142 
     | 
    
         
            -
            type ThreadRuntimeWithSubscribe = {
         
     | 
| 
       143 
     | 
    
         
            -
                readonly thread: ThreadRuntime;
         
     | 
| 
       144 
     | 
    
         
            -
                subscribe: (callback: () => void) => Unsubscribe;
         
     | 
| 
       145 
     | 
    
         
            -
            };
         
     | 
| 
       146 
     | 
    
         
            -
            type AssistantRuntime = ThreadRuntimeWithSubscribe & {
         
     | 
| 
       147 
     | 
    
         
            -
                switchToThread: (threadId: string | null) => void;
         
     | 
| 
       148 
     | 
    
         
            -
                registerModelConfigProvider: (provider: ModelConfigProvider) => Unsubscribe;
         
     | 
| 
       149 
     | 
    
         
            -
            };
         
     | 
| 
       150 
     | 
    
         
            -
             
     | 
| 
       151 
     | 
    
         
            -
            type ThreadState = Readonly<{
         
     | 
| 
       152 
     | 
    
         
            -
                isRunning: boolean;
         
     | 
| 
       153 
     | 
    
         
            -
                isDisabled: boolean;
         
     | 
| 
       154 
     | 
    
         
            -
            }>;
         
     | 
| 
       155 
     | 
    
         
            -
             
     | 
| 
       156 
     | 
    
         
            -
            export { type AddToolResultOptions as A, BaseAssistantRuntime as B, type ContentPartState as C, MessageRepository as M, ProxyConfigProvider as P, type ReactThreadRuntime as R, type ThreadRuntime as T, type Unsubscribe as U, type AssistantRuntime as a, type ThreadState as b, type ThreadActionsState as c, type TooltipIconButtonProps as d, type ButtonProps as e, TooltipIconButton as f, generateId as g, useSmoothStatus as h, internal as i, useSmooth as u, withSmoothContextProvider as w };
         
     | 
| 
         @@ -1,156 +0,0 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            import { h as ModelConfigProvider, c as ModelConfig, b as ThreadMessage, g as CoreMessage, C as ContentPartStatus, f as ToolCallContentPartStatus, d as TextContentPart, I as ImageContentPart, U as UIContentPart, e as ToolCallContentPart, A as AppendMessage } from './AssistantTypes-D93BmqD5.js';
         
     | 
| 
       2 
     | 
    
         
            -
            import * as react from 'react';
         
     | 
| 
       3 
     | 
    
         
            -
            import { ComponentType } from 'react';
         
     | 
| 
       4 
     | 
    
         
            -
            import * as class_variance_authority from 'class-variance-authority';
         
     | 
| 
       5 
     | 
    
         
            -
            import { VariantProps } from 'class-variance-authority';
         
     | 
| 
       6 
     | 
    
         
            -
            import * as class_variance_authority_types from 'class-variance-authority/types';
         
     | 
| 
       7 
     | 
    
         
            -
            import { Primitive } from '@radix-ui/react-primitive';
         
     | 
| 
       8 
     | 
    
         
            -
             
     | 
| 
       9 
     | 
    
         
            -
            type Unsubscribe = () => void;
         
     | 
| 
       10 
     | 
    
         
            -
             
     | 
| 
       11 
     | 
    
         
            -
            type ReactThreadRuntime = ThreadRuntime & {
         
     | 
| 
       12 
     | 
    
         
            -
                unstable_synchronizer?: ComponentType;
         
     | 
| 
       13 
     | 
    
         
            -
            };
         
     | 
| 
       14 
     | 
    
         
            -
             
     | 
| 
       15 
     | 
    
         
            -
            declare abstract class BaseAssistantRuntime<TThreadRuntime extends ReactThreadRuntime> implements AssistantRuntime {
         
     | 
| 
       16 
     | 
    
         
            -
                private _thread;
         
     | 
| 
       17 
     | 
    
         
            -
                constructor(_thread: TThreadRuntime);
         
     | 
| 
       18 
     | 
    
         
            -
                get thread(): TThreadRuntime;
         
     | 
| 
       19 
     | 
    
         
            -
                set thread(thread: TThreadRuntime);
         
     | 
| 
       20 
     | 
    
         
            -
                abstract registerModelConfigProvider(provider: ModelConfigProvider): Unsubscribe;
         
     | 
| 
       21 
     | 
    
         
            -
                abstract switchToThread(threadId: string | null): void;
         
     | 
| 
       22 
     | 
    
         
            -
                private _subscriptions;
         
     | 
| 
       23 
     | 
    
         
            -
                subscribe(callback: () => void): Unsubscribe;
         
     | 
| 
       24 
     | 
    
         
            -
                private subscriptionHandler;
         
     | 
| 
       25 
     | 
    
         
            -
            }
         
     | 
| 
       26 
     | 
    
         
            -
             
     | 
| 
       27 
     | 
    
         
            -
            declare class ProxyConfigProvider implements ModelConfigProvider {
         
     | 
| 
       28 
     | 
    
         
            -
                private _providers;
         
     | 
| 
       29 
     | 
    
         
            -
                getModelConfig(): ModelConfig;
         
     | 
| 
       30 
     | 
    
         
            -
                registerModelConfigProvider(provider: ModelConfigProvider): () => void;
         
     | 
| 
       31 
     | 
    
         
            -
            }
         
     | 
| 
       32 
     | 
    
         
            -
             
     | 
| 
       33 
     | 
    
         
            -
            declare class MessageRepository {
         
     | 
| 
       34 
     | 
    
         
            -
                private messages;
         
     | 
| 
       35 
     | 
    
         
            -
                private head;
         
     | 
| 
       36 
     | 
    
         
            -
                private root;
         
     | 
| 
       37 
     | 
    
         
            -
                private performOp;
         
     | 
| 
       38 
     | 
    
         
            -
                getMessages(): ThreadMessage[];
         
     | 
| 
       39 
     | 
    
         
            -
                addOrUpdateMessage(parentId: string | null, message: ThreadMessage): void;
         
     | 
| 
       40 
     | 
    
         
            -
                getMessage(messageId: string): {
         
     | 
| 
       41 
     | 
    
         
            -
                    parentId: string | null;
         
     | 
| 
       42 
     | 
    
         
            -
                    message: ThreadMessage;
         
     | 
| 
       43 
     | 
    
         
            -
                };
         
     | 
| 
       44 
     | 
    
         
            -
                appendOptimisticMessage(parentId: string | null, message: CoreMessage): string;
         
     | 
| 
       45 
     | 
    
         
            -
                deleteMessage(messageId: string, replacementId?: string | null | undefined): void;
         
     | 
| 
       46 
     | 
    
         
            -
                getBranches(messageId: string): string[];
         
     | 
| 
       47 
     | 
    
         
            -
                switchToBranch(messageId: string): void;
         
     | 
| 
       48 
     | 
    
         
            -
                resetHead(messageId: string | null): void;
         
     | 
| 
       49 
     | 
    
         
            -
            }
         
     | 
| 
       50 
     | 
    
         
            -
             
     | 
| 
       51 
     | 
    
         
            -
            type TextContentPartState = Readonly<{
         
     | 
| 
       52 
     | 
    
         
            -
                status: ContentPartStatus;
         
     | 
| 
       53 
     | 
    
         
            -
                part: TextContentPart;
         
     | 
| 
       54 
     | 
    
         
            -
            }>;
         
     | 
| 
       55 
     | 
    
         
            -
            type ContentPartState = Readonly<{
         
     | 
| 
       56 
     | 
    
         
            -
                status: ContentPartStatus | ToolCallContentPartStatus;
         
     | 
| 
       57 
     | 
    
         
            -
                part: TextContentPart | ImageContentPart | UIContentPart | ToolCallContentPart;
         
     | 
| 
       58 
     | 
    
         
            -
            }>;
         
     | 
| 
       59 
     | 
    
         
            -
             
     | 
| 
       60 
     | 
    
         
            -
            declare const useSmooth: (state: TextContentPartState, smooth?: boolean) => TextContentPartState;
         
     | 
| 
       61 
     | 
    
         
            -
             
     | 
| 
       62 
     | 
    
         
            -
            declare const withSmoothContextProvider: <C extends React.ComponentType<any>>(Component: C) => C;
         
     | 
| 
       63 
     | 
    
         
            -
            declare const useSmoothStatus: () => {
         
     | 
| 
       64 
     | 
    
         
            -
                type: "running";
         
     | 
| 
       65 
     | 
    
         
            -
            } | {
         
     | 
| 
       66 
     | 
    
         
            -
                type: "complete";
         
     | 
| 
       67 
     | 
    
         
            -
            } | {
         
     | 
| 
       68 
     | 
    
         
            -
                type: "incomplete";
         
     | 
| 
       69 
     | 
    
         
            -
                reason: "cancelled" | "length" | "content-filter" | "other" | "error";
         
     | 
| 
       70 
     | 
    
         
            -
                error?: unknown;
         
     | 
| 
       71 
     | 
    
         
            -
            } | {
         
     | 
| 
       72 
     | 
    
         
            -
                type: "requires-action";
         
     | 
| 
       73 
     | 
    
         
            -
                reason: "tool-calls";
         
     | 
| 
       74 
     | 
    
         
            -
            };
         
     | 
| 
       75 
     | 
    
         
            -
             
     | 
| 
       76 
     | 
    
         
            -
            declare const buttonVariants: (props?: ({
         
     | 
| 
       77 
     | 
    
         
            -
                variant?: "default" | "outline" | "ghost" | null | undefined;
         
     | 
| 
       78 
     | 
    
         
            -
                size?: "default" | "icon" | null | undefined;
         
     | 
| 
       79 
     | 
    
         
            -
            } & class_variance_authority_types.ClassProp) | undefined) => string;
         
     | 
| 
       80 
     | 
    
         
            -
            type ButtonProps = React.ComponentPropsWithoutRef<typeof Primitive.button> & VariantProps<typeof buttonVariants>;
         
     | 
| 
       81 
     | 
    
         
            -
             
     | 
| 
       82 
     | 
    
         
            -
            type TooltipIconButtonProps = ButtonProps & {
         
     | 
| 
       83 
     | 
    
         
            -
                tooltip: string;
         
     | 
| 
       84 
     | 
    
         
            -
                side?: "top" | "bottom" | "left" | "right";
         
     | 
| 
       85 
     | 
    
         
            -
            };
         
     | 
| 
       86 
     | 
    
         
            -
            declare const TooltipIconButton: react.ForwardRefExoticComponent<Omit<Omit<react.DetailedHTMLProps<react.ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "ref"> & {
         
     | 
| 
       87 
     | 
    
         
            -
                ref?: ((instance: HTMLButtonElement | null) => void | react.DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES[keyof react.DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES]) | react.RefObject<HTMLButtonElement> | null | undefined;
         
     | 
| 
       88 
     | 
    
         
            -
            } & {
         
     | 
| 
       89 
     | 
    
         
            -
                asChild?: boolean;
         
     | 
| 
       90 
     | 
    
         
            -
            }, "ref"> & class_variance_authority.VariantProps<(props?: ({
         
     | 
| 
       91 
     | 
    
         
            -
                variant?: "default" | "outline" | "ghost" | null | undefined;
         
     | 
| 
       92 
     | 
    
         
            -
                size?: "default" | "icon" | null | undefined;
         
     | 
| 
       93 
     | 
    
         
            -
            } & class_variance_authority_types.ClassProp) | undefined) => string> & {
         
     | 
| 
       94 
     | 
    
         
            -
                tooltip: string;
         
     | 
| 
       95 
     | 
    
         
            -
                side?: "top" | "bottom" | "left" | "right";
         
     | 
| 
       96 
     | 
    
         
            -
            } & react.RefAttributes<HTMLButtonElement>>;
         
     | 
| 
       97 
     | 
    
         
            -
             
     | 
| 
       98 
     | 
    
         
            -
            declare const generateId: (size?: number) => string;
         
     | 
| 
       99 
     | 
    
         
            -
             
     | 
| 
       100 
     | 
    
         
            -
            type internal_BaseAssistantRuntime<TThreadRuntime extends ReactThreadRuntime> = BaseAssistantRuntime<TThreadRuntime>;
         
     | 
| 
       101 
     | 
    
         
            -
            declare const internal_BaseAssistantRuntime: typeof BaseAssistantRuntime;
         
     | 
| 
       102 
     | 
    
         
            -
            type internal_MessageRepository = MessageRepository;
         
     | 
| 
       103 
     | 
    
         
            -
            declare const internal_MessageRepository: typeof MessageRepository;
         
     | 
| 
       104 
     | 
    
         
            -
            type internal_ProxyConfigProvider = ProxyConfigProvider;
         
     | 
| 
       105 
     | 
    
         
            -
            declare const internal_ProxyConfigProvider: typeof ProxyConfigProvider;
         
     | 
| 
       106 
     | 
    
         
            -
            declare const internal_TooltipIconButton: typeof TooltipIconButton;
         
     | 
| 
       107 
     | 
    
         
            -
            declare const internal_generateId: typeof generateId;
         
     | 
| 
       108 
     | 
    
         
            -
            declare const internal_useSmooth: typeof useSmooth;
         
     | 
| 
       109 
     | 
    
         
            -
            declare const internal_useSmoothStatus: typeof useSmoothStatus;
         
     | 
| 
       110 
     | 
    
         
            -
            declare const internal_withSmoothContextProvider: typeof withSmoothContextProvider;
         
     | 
| 
       111 
     | 
    
         
            -
            declare namespace internal {
         
     | 
| 
       112 
     | 
    
         
            -
              export { internal_BaseAssistantRuntime as BaseAssistantRuntime, internal_MessageRepository as MessageRepository, internal_ProxyConfigProvider as ProxyConfigProvider, internal_TooltipIconButton as TooltipIconButton, internal_generateId as generateId, internal_useSmooth as useSmooth, internal_useSmoothStatus as useSmoothStatus, internal_withSmoothContextProvider as withSmoothContextProvider };
         
     | 
| 
       113 
     | 
    
         
            -
            }
         
     | 
| 
       114 
     | 
    
         
            -
             
     | 
| 
       115 
     | 
    
         
            -
            type AddToolResultOptions = {
         
     | 
| 
       116 
     | 
    
         
            -
                messageId: string;
         
     | 
| 
       117 
     | 
    
         
            -
                toolCallId: string;
         
     | 
| 
       118 
     | 
    
         
            -
                result: any;
         
     | 
| 
       119 
     | 
    
         
            -
            };
         
     | 
| 
       120 
     | 
    
         
            -
            type RuntimeCapabilities = {
         
     | 
| 
       121 
     | 
    
         
            -
                switchToBranch: boolean;
         
     | 
| 
       122 
     | 
    
         
            -
                edit: boolean;
         
     | 
| 
       123 
     | 
    
         
            -
                reload: boolean;
         
     | 
| 
       124 
     | 
    
         
            -
                cancel: boolean;
         
     | 
| 
       125 
     | 
    
         
            -
                copy: boolean;
         
     | 
| 
       126 
     | 
    
         
            -
            };
         
     | 
| 
       127 
     | 
    
         
            -
            type ThreadActionsState = Readonly<{
         
     | 
| 
       128 
     | 
    
         
            -
                capabilities: Readonly<RuntimeCapabilities>;
         
     | 
| 
       129 
     | 
    
         
            -
                getBranches: (messageId: string) => readonly string[];
         
     | 
| 
       130 
     | 
    
         
            -
                switchToBranch: (branchId: string) => void;
         
     | 
| 
       131 
     | 
    
         
            -
                append: (message: AppendMessage) => void;
         
     | 
| 
       132 
     | 
    
         
            -
                startRun: (parentId: string | null) => void;
         
     | 
| 
       133 
     | 
    
         
            -
                cancelRun: () => void;
         
     | 
| 
       134 
     | 
    
         
            -
                addToolResult: (options: AddToolResultOptions) => void;
         
     | 
| 
       135 
     | 
    
         
            -
            }>;
         
     | 
| 
       136 
     | 
    
         
            -
             
     | 
| 
       137 
     | 
    
         
            -
            type ThreadRuntime = Readonly<ThreadState & Omit<ThreadActionsState, "getRuntime"> & {
         
     | 
| 
       138 
     | 
    
         
            -
                messages: readonly ThreadMessage[];
         
     | 
| 
       139 
     | 
    
         
            -
                subscribe: (callback: () => void) => Unsubscribe;
         
     | 
| 
       140 
     | 
    
         
            -
            }>;
         
     | 
| 
       141 
     | 
    
         
            -
             
     | 
| 
       142 
     | 
    
         
            -
            type ThreadRuntimeWithSubscribe = {
         
     | 
| 
       143 
     | 
    
         
            -
                readonly thread: ThreadRuntime;
         
     | 
| 
       144 
     | 
    
         
            -
                subscribe: (callback: () => void) => Unsubscribe;
         
     | 
| 
       145 
     | 
    
         
            -
            };
         
     | 
| 
       146 
     | 
    
         
            -
            type AssistantRuntime = ThreadRuntimeWithSubscribe & {
         
     | 
| 
       147 
     | 
    
         
            -
                switchToThread: (threadId: string | null) => void;
         
     | 
| 
       148 
     | 
    
         
            -
                registerModelConfigProvider: (provider: ModelConfigProvider) => Unsubscribe;
         
     | 
| 
       149 
     | 
    
         
            -
            };
         
     | 
| 
       150 
     | 
    
         
            -
             
     | 
| 
       151 
     | 
    
         
            -
            type ThreadState = Readonly<{
         
     | 
| 
       152 
     | 
    
         
            -
                isRunning: boolean;
         
     | 
| 
       153 
     | 
    
         
            -
                isDisabled: boolean;
         
     | 
| 
       154 
     | 
    
         
            -
            }>;
         
     | 
| 
       155 
     | 
    
         
            -
             
     | 
| 
       156 
     | 
    
         
            -
            export { type AddToolResultOptions as A, BaseAssistantRuntime as B, type ContentPartState as C, MessageRepository as M, ProxyConfigProvider as P, type ReactThreadRuntime as R, type ThreadRuntime as T, type Unsubscribe as U, type AssistantRuntime as a, type ThreadState as b, type ThreadActionsState as c, type TooltipIconButtonProps as d, type ButtonProps as e, TooltipIconButton as f, generateId as g, useSmoothStatus as h, internal as i, useSmooth as u, withSmoothContextProvider as w };
         
     | 
| 
         @@ -1 +0,0 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            {"version":3,"sources":["../src/runtimes/edge/converters/toLanguageModelMessages.ts","../src/runtimes/edge/converters/toCoreMessages.ts","../src/runtimes/edge/converters/toLanguageModelTools.ts","../src/runtimes/edge/partial-json/parse-partial-json.ts","../src/runtimes/edge/partial-json/fix-json.ts","../src/runtimes/edge/streams/runResultStream.ts","../src/runtimes/edge/streams/toolResultStream.ts"],"sourcesContent":["import {\n  LanguageModelV1ImagePart,\n  LanguageModelV1Message,\n  LanguageModelV1TextPart,\n  LanguageModelV1ToolCallPart,\n  LanguageModelV1ToolResultPart,\n} from \"@ai-sdk/provider\";\nimport {\n  CoreMessage,\n  ThreadMessage,\n  TextContentPart,\n  CoreToolCallContentPart,\n} from \"../../../types/AssistantTypes\";\n\nconst assistantMessageSplitter = () => {\n  const stash: LanguageModelV1Message[] = [];\n  let assistantMessage = {\n    role: \"assistant\" as const,\n    content: [] as (LanguageModelV1TextPart | LanguageModelV1ToolCallPart)[],\n  };\n  let toolMessage = {\n    role: \"tool\" as const,\n    content: [] as LanguageModelV1ToolResultPart[],\n  };\n\n  return {\n    addTextContentPart: (part: TextContentPart) => {\n      if (toolMessage.content.length > 0) {\n        stash.push(assistantMessage);\n        stash.push(toolMessage);\n\n        assistantMessage = {\n          role: \"assistant\" as const,\n          content: [] as (\n            | LanguageModelV1TextPart\n            | LanguageModelV1ToolCallPart\n          )[],\n        };\n\n        toolMessage = {\n          role: \"tool\" as const,\n          content: [] as LanguageModelV1ToolResultPart[],\n        };\n      }\n\n      assistantMessage.content.push(part);\n    },\n    addToolCallPart: (part: CoreToolCallContentPart) => {\n      assistantMessage.content.push({\n        type: \"tool-call\",\n        toolCallId: part.toolCallId,\n        toolName: part.toolName,\n        args: part.args,\n      });\n      if (part.result) {\n        toolMessage.content.push({\n          type: \"tool-result\",\n          toolCallId: part.toolCallId,\n          toolName: part.toolName,\n          result: part.result,\n          // isError\n        });\n      }\n    },\n    getMessages: () => {\n      if (toolMessage.content.length > 0) {\n        return [...stash, assistantMessage, toolMessage];\n      }\n\n      return [...stash, assistantMessage];\n    },\n  };\n};\n\nexport function toLanguageModelMessages(\n  message: readonly CoreMessage[] | readonly ThreadMessage[],\n): LanguageModelV1Message[] {\n  return message.flatMap((message) => {\n    const role = message.role;\n    switch (role) {\n      case \"system\": {\n        return [{ role: \"system\", content: message.content[0].text }];\n      }\n\n      case \"user\": {\n        const msg: LanguageModelV1Message = {\n          role: \"user\",\n          content: message.content.map(\n            (part): LanguageModelV1TextPart | LanguageModelV1ImagePart => {\n              const type = part.type;\n              switch (type) {\n                case \"text\": {\n                  return part;\n                }\n\n                case \"image\": {\n                  return {\n                    type: \"image\",\n                    image: new URL(part.image),\n                  };\n                }\n\n                default: {\n                  const unhandledType: \"ui\" = type;\n                  throw new Error(\n                    `Unspported content part type: ${unhandledType}`,\n                  );\n                }\n              }\n            },\n          ),\n        };\n        return [msg];\n      }\n\n      case \"assistant\": {\n        const splitter = assistantMessageSplitter();\n        for (const part of message.content) {\n          const type = part.type;\n          switch (type) {\n            case \"text\": {\n              splitter.addTextContentPart(part);\n              break;\n            }\n            case \"tool-call\": {\n              splitter.addToolCallPart(part);\n              break;\n            }\n            default: {\n              const unhandledType: \"ui\" = type;\n              throw new Error(`Unhandled content part type: ${unhandledType}`);\n            }\n          }\n        }\n        return splitter.getMessages();\n      }\n\n      default: {\n        const unhandledRole: never = role;\n        throw new Error(`Unknown message role: ${unhandledRole}`);\n      }\n    }\n  });\n}\n","import { ThreadMessage, CoreMessage } from \"../../../types\";\n\nexport const toCoreMessages = (message: ThreadMessage[]): CoreMessage[] => {\n  return message.map(toCoreMessage);\n};\n\nexport const toCoreMessage = (message: ThreadMessage): CoreMessage => {\n  const role = message.role;\n  switch (role) {\n    case \"assistant\":\n      return {\n        role,\n        content: message.content.map((part) => {\n          if (part.type === \"ui\") throw new Error(\"UI parts are not supported\");\n          if (part.type === \"tool-call\") {\n            const { argsText, ...rest } = part;\n            return rest;\n          }\n          return part;\n        }),\n      };\n\n    case \"user\":\n      return {\n        role,\n        content: message.content.map((part) => {\n          if (part.type === \"ui\") throw new Error(\"UI parts are not supported\");\n          return part;\n        }),\n      };\n\n    case \"system\":\n      return {\n        role,\n        content: message.content,\n      };\n\n    default: {\n      const unsupportedRole: never = role;\n      throw new Error(`Unknown message role: ${unsupportedRole}`);\n    }\n  }\n};\n","import { LanguageModelV1FunctionTool } from \"@ai-sdk/provider\";\nimport { JSONSchema7 } from \"json-schema\";\nimport { z } from \"zod\";\nimport zodToJsonSchema from \"zod-to-json-schema\";\nimport { Tool } from \"../../../types/ModelConfigTypes\";\n\nexport const toLanguageModelTools = (\n  tools: Record<string, Tool<any, any>>,\n): LanguageModelV1FunctionTool[] => {\n  return Object.entries(tools).map(([name, tool]) => ({\n    type: \"function\",\n    name,\n    ...(tool.description ? { description: tool.description } : undefined),\n    parameters: (tool.parameters instanceof z.ZodType\n      ? zodToJsonSchema(tool.parameters)\n      : tool.parameters) as JSONSchema7,\n  }));\n};\n","import sjson from \"secure-json-parse\";\nimport { fixJson } from \"./fix-json\";\n\nexport const parsePartialJson = (json: string) => {\n  try {\n    return sjson.parse(json);\n  } catch {\n    try {\n      return sjson.parse(fixJson(json));\n    } catch {\n      return undefined;\n    }\n  }\n};\n","// LICENSE for this file only\n\n// Copyright 2023 Vercel, Inc.\n\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n\n//     http://www.apache.org/licenses/LICENSE-2.0\n\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n\ntype State =\n  | \"ROOT\"\n  | \"FINISH\"\n  | \"INSIDE_STRING\"\n  | \"INSIDE_STRING_ESCAPE\"\n  | \"INSIDE_LITERAL\"\n  | \"INSIDE_NUMBER\"\n  | \"INSIDE_OBJECT_START\"\n  | \"INSIDE_OBJECT_KEY\"\n  | \"INSIDE_OBJECT_AFTER_KEY\"\n  | \"INSIDE_OBJECT_BEFORE_VALUE\"\n  | \"INSIDE_OBJECT_AFTER_VALUE\"\n  | \"INSIDE_OBJECT_AFTER_COMMA\"\n  | \"INSIDE_ARRAY_START\"\n  | \"INSIDE_ARRAY_AFTER_VALUE\"\n  | \"INSIDE_ARRAY_AFTER_COMMA\";\n\n// Implemented as a scanner with additional fixing\n// that performs a single linear time scan pass over the partial JSON.\n//\n// The states should ideally match relevant states from the JSON spec:\n// https://www.json.org/json-en.html\n//\n// Please note that invalid JSON is not considered/covered, because it\n// is assumed that the resulting JSON will be processed by a standard\n// JSON parser that will detect any invalid JSON.\nexport function fixJson(input: string): string {\n  const stack: State[] = [\"ROOT\"];\n  let lastValidIndex = -1;\n  let literalStart: number | null = null;\n\n  function processValueStart(char: string, i: number, swapState: State) {\n    {\n      switch (char) {\n        case '\"': {\n          lastValidIndex = i;\n          stack.pop();\n          stack.push(swapState);\n          stack.push(\"INSIDE_STRING\");\n          break;\n        }\n\n        case \"f\":\n        case \"t\":\n        case \"n\": {\n          lastValidIndex = i;\n          literalStart = i;\n          stack.pop();\n          stack.push(swapState);\n          stack.push(\"INSIDE_LITERAL\");\n          break;\n        }\n\n        case \"-\": {\n          stack.pop();\n          stack.push(swapState);\n          stack.push(\"INSIDE_NUMBER\");\n          break;\n        }\n        case \"0\":\n        case \"1\":\n        case \"2\":\n        case \"3\":\n        case \"4\":\n        case \"5\":\n        case \"6\":\n        case \"7\":\n        case \"8\":\n        case \"9\": {\n          lastValidIndex = i;\n          stack.pop();\n          stack.push(swapState);\n          stack.push(\"INSIDE_NUMBER\");\n          break;\n        }\n\n        case \"{\": {\n          lastValidIndex = i;\n          stack.pop();\n          stack.push(swapState);\n          stack.push(\"INSIDE_OBJECT_START\");\n          break;\n        }\n\n        case \"[\": {\n          lastValidIndex = i;\n          stack.pop();\n          stack.push(swapState);\n          stack.push(\"INSIDE_ARRAY_START\");\n          break;\n        }\n      }\n    }\n  }\n\n  function processAfterObjectValue(char: string, i: number) {\n    switch (char) {\n      case \",\": {\n        stack.pop();\n        stack.push(\"INSIDE_OBJECT_AFTER_COMMA\");\n        break;\n      }\n      case \"}\": {\n        lastValidIndex = i;\n        stack.pop();\n        break;\n      }\n    }\n  }\n\n  function processAfterArrayValue(char: string, i: number) {\n    switch (char) {\n      case \",\": {\n        stack.pop();\n        stack.push(\"INSIDE_ARRAY_AFTER_COMMA\");\n        break;\n      }\n      case \"]\": {\n        lastValidIndex = i;\n        stack.pop();\n        break;\n      }\n    }\n  }\n\n  for (let i = 0; i < input.length; i++) {\n    const char = input[i]!;\n    const currentState = stack[stack.length - 1];\n\n    switch (currentState) {\n      case \"ROOT\":\n        processValueStart(char, i, \"FINISH\");\n        break;\n\n      case \"INSIDE_OBJECT_START\": {\n        switch (char) {\n          case '\"': {\n            stack.pop();\n            stack.push(\"INSIDE_OBJECT_KEY\");\n            break;\n          }\n          case \"}\": {\n            lastValidIndex = i;\n            stack.pop();\n            break;\n          }\n        }\n        break;\n      }\n\n      case \"INSIDE_OBJECT_AFTER_COMMA\": {\n        switch (char) {\n          case '\"': {\n            stack.pop();\n            stack.push(\"INSIDE_OBJECT_KEY\");\n            break;\n          }\n        }\n        break;\n      }\n\n      case \"INSIDE_OBJECT_KEY\": {\n        switch (char) {\n          case '\"': {\n            stack.pop();\n            stack.push(\"INSIDE_OBJECT_AFTER_KEY\");\n            break;\n          }\n        }\n        break;\n      }\n\n      case \"INSIDE_OBJECT_AFTER_KEY\": {\n        switch (char) {\n          case \":\": {\n            stack.pop();\n            stack.push(\"INSIDE_OBJECT_BEFORE_VALUE\");\n\n            break;\n          }\n        }\n        break;\n      }\n\n      case \"INSIDE_OBJECT_BEFORE_VALUE\": {\n        processValueStart(char, i, \"INSIDE_OBJECT_AFTER_VALUE\");\n        break;\n      }\n\n      case \"INSIDE_OBJECT_AFTER_VALUE\": {\n        processAfterObjectValue(char, i);\n        break;\n      }\n\n      case \"INSIDE_STRING\": {\n        switch (char) {\n          case '\"': {\n            stack.pop();\n            lastValidIndex = i;\n            break;\n          }\n\n          case \"\\\\\": {\n            stack.push(\"INSIDE_STRING_ESCAPE\");\n            break;\n          }\n\n          default: {\n            lastValidIndex = i;\n          }\n        }\n\n        break;\n      }\n\n      case \"INSIDE_ARRAY_START\": {\n        switch (char) {\n          case \"]\": {\n            lastValidIndex = i;\n            stack.pop();\n            break;\n          }\n\n          default: {\n            lastValidIndex = i;\n            processValueStart(char, i, \"INSIDE_ARRAY_AFTER_VALUE\");\n            break;\n          }\n        }\n        break;\n      }\n\n      case \"INSIDE_ARRAY_AFTER_VALUE\": {\n        switch (char) {\n          case \",\": {\n            stack.pop();\n            stack.push(\"INSIDE_ARRAY_AFTER_COMMA\");\n            break;\n          }\n\n          case \"]\": {\n            lastValidIndex = i;\n            stack.pop();\n            break;\n          }\n\n          default: {\n            lastValidIndex = i;\n            break;\n          }\n        }\n\n        break;\n      }\n\n      case \"INSIDE_ARRAY_AFTER_COMMA\": {\n        processValueStart(char, i, \"INSIDE_ARRAY_AFTER_VALUE\");\n        break;\n      }\n\n      case \"INSIDE_STRING_ESCAPE\": {\n        stack.pop();\n        lastValidIndex = i;\n\n        break;\n      }\n\n      case \"INSIDE_NUMBER\": {\n        switch (char) {\n          case \"0\":\n          case \"1\":\n          case \"2\":\n          case \"3\":\n          case \"4\":\n          case \"5\":\n          case \"6\":\n          case \"7\":\n          case \"8\":\n          case \"9\": {\n            lastValidIndex = i;\n            break;\n          }\n\n          case \"e\":\n          case \"E\":\n          case \"-\":\n          case \".\": {\n            break;\n          }\n\n          case \",\": {\n            stack.pop();\n\n            if (stack[stack.length - 1] === \"INSIDE_ARRAY_AFTER_VALUE\") {\n              processAfterArrayValue(char, i);\n            }\n\n            if (stack[stack.length - 1] === \"INSIDE_OBJECT_AFTER_VALUE\") {\n              processAfterObjectValue(char, i);\n            }\n\n            break;\n          }\n\n          case \"}\": {\n            stack.pop();\n\n            if (stack[stack.length - 1] === \"INSIDE_OBJECT_AFTER_VALUE\") {\n              processAfterObjectValue(char, i);\n            }\n\n            break;\n          }\n\n          case \"]\": {\n            stack.pop();\n\n            if (stack[stack.length - 1] === \"INSIDE_ARRAY_AFTER_VALUE\") {\n              processAfterArrayValue(char, i);\n            }\n\n            break;\n          }\n\n          default: {\n            stack.pop();\n            break;\n          }\n        }\n\n        break;\n      }\n\n      case \"INSIDE_LITERAL\": {\n        const partialLiteral = input.substring(literalStart!, i + 1);\n\n        if (\n          !\"false\".startsWith(partialLiteral) &&\n          !\"true\".startsWith(partialLiteral) &&\n          !\"null\".startsWith(partialLiteral)\n        ) {\n          stack.pop();\n\n          if (stack[stack.length - 1] === \"INSIDE_OBJECT_AFTER_VALUE\") {\n            processAfterObjectValue(char, i);\n          } else if (stack[stack.length - 1] === \"INSIDE_ARRAY_AFTER_VALUE\") {\n            processAfterArrayValue(char, i);\n          }\n        } else {\n          lastValidIndex = i;\n        }\n\n        break;\n      }\n    }\n  }\n\n  let result = input.slice(0, lastValidIndex + 1);\n\n  for (let i = stack.length - 1; i >= 0; i--) {\n    const state = stack[i];\n\n    switch (state) {\n      case \"INSIDE_STRING\": {\n        result += '\"';\n        break;\n      }\n\n      case \"INSIDE_OBJECT_KEY\":\n      case \"INSIDE_OBJECT_AFTER_KEY\":\n      case \"INSIDE_OBJECT_AFTER_COMMA\":\n      case \"INSIDE_OBJECT_START\":\n      case \"INSIDE_OBJECT_BEFORE_VALUE\":\n      case \"INSIDE_OBJECT_AFTER_VALUE\": {\n        result += \"}\";\n        break;\n      }\n\n      case \"INSIDE_ARRAY_START\":\n      case \"INSIDE_ARRAY_AFTER_COMMA\":\n      case \"INSIDE_ARRAY_AFTER_VALUE\": {\n        result += \"]\";\n        break;\n      }\n\n      case \"INSIDE_LITERAL\": {\n        const partialLiteral = input.substring(literalStart!, input.length);\n\n        if (\"true\".startsWith(partialLiteral)) {\n          result += \"true\".slice(partialLiteral.length);\n        } else if (\"false\".startsWith(partialLiteral)) {\n          result += \"false\".slice(partialLiteral.length);\n        } else if (\"null\".startsWith(partialLiteral)) {\n          result += \"null\".slice(partialLiteral.length);\n        }\n      }\n    }\n  }\n\n  return result;\n}\n","import { ChatModelRunResult } from \"../../local/ChatModelAdapter\";\nimport { parsePartialJson } from \"../partial-json/parse-partial-json\";\nimport { LanguageModelV1StreamPart } from \"@ai-sdk/provider\";\nimport { ToolResultStreamPart } from \"./toolResultStream\";\nimport { MessageStatus } from \"../../../types\";\n\nexport function runResultStream() {\n  let message: ChatModelRunResult = {\n    content: [],\n    status: { type: \"running\" },\n  };\n  const currentToolCall = { toolCallId: \"\", argsText: \"\" };\n\n  return new TransformStream<ToolResultStreamPart, ChatModelRunResult>({\n    transform(chunk, controller) {\n      const chunkType = chunk.type;\n      switch (chunkType) {\n        case \"text-delta\": {\n          message = appendOrUpdateText(message, chunk.textDelta);\n          controller.enqueue(message);\n          break;\n        }\n        case \"tool-call-delta\": {\n          const { toolCallId, toolName, argsTextDelta } = chunk;\n          if (currentToolCall.toolCallId !== toolCallId) {\n            currentToolCall.toolCallId = toolCallId;\n            currentToolCall.argsText = argsTextDelta;\n          } else {\n            currentToolCall.argsText += argsTextDelta;\n          }\n\n          message = appendOrUpdateToolCall(\n            message,\n            toolCallId,\n            toolName,\n            currentToolCall.argsText,\n          );\n          controller.enqueue(message);\n          break;\n        }\n        case \"tool-call\": {\n          break;\n        }\n        case \"tool-result\": {\n          message = appendOrUpdateToolResult(\n            message,\n            chunk.toolCallId,\n            chunk.toolName,\n            chunk.result,\n          );\n          controller.enqueue(message);\n          break;\n        }\n        case \"finish\": {\n          message = appendOrUpdateFinish(message, chunk);\n          controller.enqueue(message);\n          break;\n        }\n        case \"error\": {\n          if (\n            chunk.error instanceof Error &&\n            chunk.error.name === \"AbortError\"\n          ) {\n            message = appendOrUpdateCancel(message);\n            controller.enqueue(message);\n            break;\n          } else {\n            throw chunk.error;\n          }\n        }\n        default: {\n          const unhandledType: never = chunkType;\n          throw new Error(`Unhandled chunk type: ${unhandledType}`);\n        }\n      }\n    },\n  });\n}\n\nconst appendOrUpdateText = (message: ChatModelRunResult, textDelta: string) => {\n  let contentParts = message.content;\n  let contentPart = message.content.at(-1);\n  if (contentPart?.type !== \"text\") {\n    contentPart = { type: \"text\", text: textDelta };\n  } else {\n    contentParts = contentParts.slice(0, -1);\n    contentPart = { type: \"text\", text: contentPart.text + textDelta };\n  }\n  return {\n    ...message,\n    content: contentParts.concat([contentPart]),\n  };\n};\n\nconst appendOrUpdateToolCall = (\n  message: ChatModelRunResult,\n  toolCallId: string,\n  toolName: string,\n  argsText: string,\n) => {\n  let contentParts = message.content;\n  let contentPart = message.content.at(-1);\n  if (\n    contentPart?.type !== \"tool-call\" ||\n    contentPart.toolCallId !== toolCallId\n  ) {\n    contentPart = {\n      type: \"tool-call\",\n      toolCallId,\n      toolName,\n      argsText,\n      args: parsePartialJson(argsText),\n    };\n  } else {\n    contentParts = contentParts.slice(0, -1);\n    contentPart = {\n      ...contentPart,\n      argsText,\n      args: parsePartialJson(argsText),\n    };\n  }\n  return {\n    ...message,\n    content: contentParts.concat([contentPart]),\n  };\n};\n\nconst appendOrUpdateToolResult = (\n  message: ChatModelRunResult,\n  toolCallId: string,\n  toolName: string,\n  result: any,\n) => {\n  let found = false;\n  const newContentParts = message.content.map((part) => {\n    if (part.type !== \"tool-call\" || part.toolCallId !== toolCallId)\n      return part;\n    found = true;\n\n    if (part.toolName !== toolName)\n      throw new Error(\n        `Tool call ${toolCallId} found with tool name ${part.toolName}, but expected ${toolName}`,\n      );\n\n    return {\n      ...part,\n      result,\n    };\n  });\n  if (!found)\n    throw new Error(\n      `Received tool result for unknown tool call \"${toolName}\" / \"${toolCallId}\". This is likely an internal bug in assistant-ui.`,\n    );\n\n  return {\n    ...message,\n    content: newContentParts,\n  };\n};\n\nconst appendOrUpdateFinish = (\n  message: ChatModelRunResult,\n  chunk: LanguageModelV1StreamPart & { type: \"finish\" },\n): ChatModelRunResult => {\n  const { type, ...rest } = chunk;\n  return {\n    ...message,\n    status: getStatus(chunk),\n    roundtrips: [\n      ...(message.roundtrips ?? []),\n      {\n        logprobs: rest.logprobs,\n        usage: rest.usage,\n      },\n    ],\n  };\n};\n\nconst getStatus = (\n  chunk: LanguageModelV1StreamPart & { type: \"finish\" },\n): MessageStatus => {\n  if (chunk.finishReason === \"tool-calls\") {\n    return {\n      type: \"requires-action\",\n      reason: \"tool-calls\",\n    };\n  } else if (\n    chunk.finishReason === \"stop\" ||\n    chunk.finishReason === \"unknown\"\n  ) {\n    return {\n      type: \"complete\",\n      reason: chunk.finishReason,\n    };\n  } else {\n    return {\n      type: \"incomplete\",\n      reason: chunk.finishReason,\n    };\n  }\n};\n\nconst appendOrUpdateCancel = (\n  message: ChatModelRunResult,\n): ChatModelRunResult => {\n  return {\n    ...message,\n    status: {\n      type: \"incomplete\",\n      reason: \"cancelled\",\n    },\n  };\n};\n","import { Tool } from \"../../../types/ModelConfigTypes\";\nimport { LanguageModelV1StreamPart } from \"@ai-sdk/provider\";\nimport { z } from \"zod\";\nimport sjson from \"secure-json-parse\";\n\nexport type ToolResultStreamPart =\n  | LanguageModelV1StreamPart\n  | {\n      type: \"tool-result\";\n      toolCallType: \"function\";\n      toolCallId: string;\n      toolName: string;\n      result: unknown;\n      isError?: boolean;\n    };\n\nexport function toolResultStream(tools: Record<string, Tool> | undefined) {\n  const toolCallExecutions = new Map<string, Promise<any>>();\n\n  return new TransformStream<ToolResultStreamPart, ToolResultStreamPart>({\n    transform(chunk, controller) {\n      // forward everything\n      controller.enqueue(chunk);\n\n      // handle tool calls\n      const chunkType = chunk.type;\n      switch (chunkType) {\n        case \"tool-call\": {\n          const { toolCallId, toolCallType, toolName, args: argsText } = chunk;\n          const tool = tools?.[toolName];\n          if (!tool || !tool.execute) return;\n\n          const args = sjson.parse(argsText);\n          if (tool.parameters instanceof z.ZodType) {\n            const result = tool.parameters.safeParse(args);\n            if (!result.success) {\n              controller.enqueue({\n                type: \"tool-result\",\n                toolCallType,\n                toolCallId,\n                toolName,\n                result:\n                  \"Function parameter validation failed. \" +\n                  JSON.stringify(result.error.issues),\n                isError: true,\n              });\n              return;\n            } else {\n              toolCallExecutions.set(\n                toolCallId,\n                (async () => {\n                  try {\n                    const result = await tool.execute!(args);\n\n                    controller.enqueue({\n                      type: \"tool-result\",\n                      toolCallType,\n                      toolCallId,\n                      toolName,\n                      result,\n                    });\n                  } catch (error) {\n                    console.error(\"Error: \", error);\n                    controller.enqueue({\n                      type: \"tool-result\",\n                      toolCallType,\n                      toolCallId,\n                      toolName,\n                      result: \"Error: \" + error,\n                      isError: true,\n                    });\n                  } finally {\n                    toolCallExecutions.delete(toolCallId);\n                  }\n                })(),\n              );\n            }\n          }\n          break;\n        }\n\n        // ignore other parts\n        case \"text-delta\":\n        case \"tool-call-delta\":\n        case \"tool-result\":\n        case \"finish\":\n        case \"error\":\n          break;\n\n        default: {\n          const unhandledType: never = chunkType;\n          throw new Error(`Unhandled chunk type: ${unhandledType}`);\n        }\n      }\n    },\n\n    async flush() {\n      await Promise.all(toolCallExecutions.values());\n    },\n  });\n}\n"],"mappings":";;;AAcA,IAAM,2BAA2B,MAAM;AACrC,QAAM,QAAkC,CAAC;AACzC,MAAI,mBAAmB;AAAA,IACrB,MAAM;AAAA,IACN,SAAS,CAAC;AAAA,EACZ;AACA,MAAI,cAAc;AAAA,IAChB,MAAM;AAAA,IACN,SAAS,CAAC;AAAA,EACZ;AAEA,SAAO;AAAA,IACL,oBAAoB,CAAC,SAA0B;AAC7C,UAAI,YAAY,QAAQ,SAAS,GAAG;AAClC,cAAM,KAAK,gBAAgB;AAC3B,cAAM,KAAK,WAAW;AAEtB,2BAAmB;AAAA,UACjB,MAAM;AAAA,UACN,SAAS,CAAC;AAAA,QAIZ;AAEA,sBAAc;AAAA,UACZ,MAAM;AAAA,UACN,SAAS,CAAC;AAAA,QACZ;AAAA,MACF;AAEA,uBAAiB,QAAQ,KAAK,IAAI;AAAA,IACpC;AAAA,IACA,iBAAiB,CAAC,SAAkC;AAClD,uBAAiB,QAAQ,KAAK;AAAA,QAC5B,MAAM;AAAA,QACN,YAAY,KAAK;AAAA,QACjB,UAAU,KAAK;AAAA,QACf,MAAM,KAAK;AAAA,MACb,CAAC;AACD,UAAI,KAAK,QAAQ;AACf,oBAAY,QAAQ,KAAK;AAAA,UACvB,MAAM;AAAA,UACN,YAAY,KAAK;AAAA,UACjB,UAAU,KAAK;AAAA,UACf,QAAQ,KAAK;AAAA;AAAA,QAEf,CAAC;AAAA,MACH;AAAA,IACF;AAAA,IACA,aAAa,MAAM;AACjB,UAAI,YAAY,QAAQ,SAAS,GAAG;AAClC,eAAO,CAAC,GAAG,OAAO,kBAAkB,WAAW;AAAA,MACjD;AAEA,aAAO,CAAC,GAAG,OAAO,gBAAgB;AAAA,IACpC;AAAA,EACF;AACF;AAEO,SAAS,wBACd,SAC0B;AAC1B,SAAO,QAAQ,QAAQ,CAACA,aAAY;AAClC,UAAM,OAAOA,SAAQ;AACrB,YAAQ,MAAM;AAAA,MACZ,KAAK,UAAU;AACb,eAAO,CAAC,EAAE,MAAM,UAAU,SAASA,SAAQ,QAAQ,CAAC,EAAE,KAAK,CAAC;AAAA,MAC9D;AAAA,MAEA,KAAK,QAAQ;AACX,cAAM,MAA8B;AAAA,UAClC,MAAM;AAAA,UACN,SAASA,SAAQ,QAAQ;AAAA,YACvB,CAAC,SAA6D;AAC5D,oBAAM,OAAO,KAAK;AAClB,sBAAQ,MAAM;AAAA,gBACZ,KAAK,QAAQ;AACX,yBAAO;AAAA,gBACT;AAAA,gBAEA,KAAK,SAAS;AACZ,yBAAO;AAAA,oBACL,MAAM;AAAA,oBACN,OAAO,IAAI,IAAI,KAAK,KAAK;AAAA,kBAC3B;AAAA,gBACF;AAAA,gBAEA,SAAS;AACP,wBAAM,gBAAsB;AAC5B,wBAAM,IAAI;AAAA,oBACR,iCAAiC,aAAa;AAAA,kBAChD;AAAA,gBACF;AAAA,cACF;AAAA,YACF;AAAA,UACF;AAAA,QACF;AACA,eAAO,CAAC,GAAG;AAAA,MACb;AAAA,MAEA,KAAK,aAAa;AAChB,cAAM,WAAW,yBAAyB;AAC1C,mBAAW,QAAQA,SAAQ,SAAS;AAClC,gBAAM,OAAO,KAAK;AAClB,kBAAQ,MAAM;AAAA,YACZ,KAAK,QAAQ;AACX,uBAAS,mBAAmB,IAAI;AAChC;AAAA,YACF;AAAA,YACA,KAAK,aAAa;AAChB,uBAAS,gBAAgB,IAAI;AAC7B;AAAA,YACF;AAAA,YACA,SAAS;AACP,oBAAM,gBAAsB;AAC5B,oBAAM,IAAI,MAAM,gCAAgC,aAAa,EAAE;AAAA,YACjE;AAAA,UACF;AAAA,QACF;AACA,eAAO,SAAS,YAAY;AAAA,MAC9B;AAAA,MAEA,SAAS;AACP,cAAM,gBAAuB;AAC7B,cAAM,IAAI,MAAM,yBAAyB,aAAa,EAAE;AAAA,MAC1D;AAAA,IACF;AAAA,EACF,CAAC;AACH;;;AC7IO,IAAM,iBAAiB,CAAC,YAA4C;AACzE,SAAO,QAAQ,IAAI,aAAa;AAClC;AAEO,IAAM,gBAAgB,CAAC,YAAwC;AACpE,QAAM,OAAO,QAAQ;AACrB,UAAQ,MAAM;AAAA,IACZ,KAAK;AACH,aAAO;AAAA,QACL;AAAA,QACA,SAAS,QAAQ,QAAQ,IAAI,CAAC,SAAS;AACrC,cAAI,KAAK,SAAS,KAAM,OAAM,IAAI,MAAM,4BAA4B;AACpE,cAAI,KAAK,SAAS,aAAa;AAC7B,kBAAM,EAAE,UAAU,GAAG,KAAK,IAAI;AAC9B,mBAAO;AAAA,UACT;AACA,iBAAO;AAAA,QACT,CAAC;AAAA,MACH;AAAA,IAEF,KAAK;AACH,aAAO;AAAA,QACL;AAAA,QACA,SAAS,QAAQ,QAAQ,IAAI,CAAC,SAAS;AACrC,cAAI,KAAK,SAAS,KAAM,OAAM,IAAI,MAAM,4BAA4B;AACpE,iBAAO;AAAA,QACT,CAAC;AAAA,MACH;AAAA,IAEF,KAAK;AACH,aAAO;AAAA,QACL;AAAA,QACA,SAAS,QAAQ;AAAA,MACnB;AAAA,IAEF,SAAS;AACP,YAAM,kBAAyB;AAC/B,YAAM,IAAI,MAAM,yBAAyB,eAAe,EAAE;AAAA,IAC5D;AAAA,EACF;AACF;;;ACxCA,SAAS,SAAS;AAClB,OAAO,qBAAqB;AAGrB,IAAM,uBAAuB,CAClC,UACkC;AAClC,SAAO,OAAO,QAAQ,KAAK,EAAE,IAAI,CAAC,CAAC,MAAM,IAAI,OAAO;AAAA,IAClD,MAAM;AAAA,IACN;AAAA,IACA,GAAI,KAAK,cAAc,EAAE,aAAa,KAAK,YAAY,IAAI;AAAA,IAC3D,YAAa,KAAK,sBAAsB,EAAE,UACtC,gBAAgB,KAAK,UAAU,IAC/B,KAAK;AAAA,EACX,EAAE;AACJ;;;ACjBA,OAAO,WAAW;;;AC0CX,SAAS,QAAQ,OAAuB;AAC7C,QAAM,QAAiB,CAAC,MAAM;AAC9B,MAAI,iBAAiB;AACrB,MAAI,eAA8B;AAElC,WAAS,kBAAkB,MAAc,GAAW,WAAkB;AACpE;AACE,cAAQ,MAAM;AAAA,QACZ,KAAK,KAAK;AACR,2BAAiB;AACjB,gBAAM,IAAI;AACV,gBAAM,KAAK,SAAS;AACpB,gBAAM,KAAK,eAAe;AAC1B;AAAA,QACF;AAAA,QAEA,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK,KAAK;AACR,2BAAiB;AACjB,yBAAe;AACf,gBAAM,IAAI;AACV,gBAAM,KAAK,SAAS;AACpB,gBAAM,KAAK,gBAAgB;AAC3B;AAAA,QACF;AAAA,QAEA,KAAK,KAAK;AACR,gBAAM,IAAI;AACV,gBAAM,KAAK,SAAS;AACpB,gBAAM,KAAK,eAAe;AAC1B;AAAA,QACF;AAAA,QACA,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK,KAAK;AACR,2BAAiB;AACjB,gBAAM,IAAI;AACV,gBAAM,KAAK,SAAS;AACpB,gBAAM,KAAK,eAAe;AAC1B;AAAA,QACF;AAAA,QAEA,KAAK,KAAK;AACR,2BAAiB;AACjB,gBAAM,IAAI;AACV,gBAAM,KAAK,SAAS;AACpB,gBAAM,KAAK,qBAAqB;AAChC;AAAA,QACF;AAAA,QAEA,KAAK,KAAK;AACR,2BAAiB;AACjB,gBAAM,IAAI;AACV,gBAAM,KAAK,SAAS;AACpB,gBAAM,KAAK,oBAAoB;AAC/B;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAEA,WAAS,wBAAwB,MAAc,GAAW;AACxD,YAAQ,MAAM;AAAA,MACZ,KAAK,KAAK;AACR,cAAM,IAAI;AACV,cAAM,KAAK,2BAA2B;AACtC;AAAA,MACF;AAAA,MACA,KAAK,KAAK;AACR,yBAAiB;AACjB,cAAM,IAAI;AACV;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAEA,WAAS,uBAAuB,MAAc,GAAW;AACvD,YAAQ,MAAM;AAAA,MACZ,KAAK,KAAK;AACR,cAAM,IAAI;AACV,cAAM,KAAK,0BAA0B;AACrC;AAAA,MACF;AAAA,MACA,KAAK,KAAK;AACR,yBAAiB;AACjB,cAAM,IAAI;AACV;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAEA,WAAS,IAAI,GAAG,IAAI,MAAM,QAAQ,KAAK;AACrC,UAAM,OAAO,MAAM,CAAC;AACpB,UAAM,eAAe,MAAM,MAAM,SAAS,CAAC;AAE3C,YAAQ,cAAc;AAAA,MACpB,KAAK;AACH,0BAAkB,MAAM,GAAG,QAAQ;AACnC;AAAA,MAEF,KAAK,uBAAuB;AAC1B,gBAAQ,MAAM;AAAA,UACZ,KAAK,KAAK;AACR,kBAAM,IAAI;AACV,kBAAM,KAAK,mBAAmB;AAC9B;AAAA,UACF;AAAA,UACA,KAAK,KAAK;AACR,6BAAiB;AACjB,kBAAM,IAAI;AACV;AAAA,UACF;AAAA,QACF;AACA;AAAA,MACF;AAAA,MAEA,KAAK,6BAA6B;AAChC,gBAAQ,MAAM;AAAA,UACZ,KAAK,KAAK;AACR,kBAAM,IAAI;AACV,kBAAM,KAAK,mBAAmB;AAC9B;AAAA,UACF;AAAA,QACF;AACA;AAAA,MACF;AAAA,MAEA,KAAK,qBAAqB;AACxB,gBAAQ,MAAM;AAAA,UACZ,KAAK,KAAK;AACR,kBAAM,IAAI;AACV,kBAAM,KAAK,yBAAyB;AACpC;AAAA,UACF;AAAA,QACF;AACA;AAAA,MACF;AAAA,MAEA,KAAK,2BAA2B;AAC9B,gBAAQ,MAAM;AAAA,UACZ,KAAK,KAAK;AACR,kBAAM,IAAI;AACV,kBAAM,KAAK,4BAA4B;AAEvC;AAAA,UACF;AAAA,QACF;AACA;AAAA,MACF;AAAA,MAEA,KAAK,8BAA8B;AACjC,0BAAkB,MAAM,GAAG,2BAA2B;AACtD;AAAA,MACF;AAAA,MAEA,KAAK,6BAA6B;AAChC,gCAAwB,MAAM,CAAC;AAC/B;AAAA,MACF;AAAA,MAEA,KAAK,iBAAiB;AACpB,gBAAQ,MAAM;AAAA,UACZ,KAAK,KAAK;AACR,kBAAM,IAAI;AACV,6BAAiB;AACjB;AAAA,UACF;AAAA,UAEA,KAAK,MAAM;AACT,kBAAM,KAAK,sBAAsB;AACjC;AAAA,UACF;AAAA,UAEA,SAAS;AACP,6BAAiB;AAAA,UACnB;AAAA,QACF;AAEA;AAAA,MACF;AAAA,MAEA,KAAK,sBAAsB;AACzB,gBAAQ,MAAM;AAAA,UACZ,KAAK,KAAK;AACR,6BAAiB;AACjB,kBAAM,IAAI;AACV;AAAA,UACF;AAAA,UAEA,SAAS;AACP,6BAAiB;AACjB,8BAAkB,MAAM,GAAG,0BAA0B;AACrD;AAAA,UACF;AAAA,QACF;AACA;AAAA,MACF;AAAA,MAEA,KAAK,4BAA4B;AAC/B,gBAAQ,MAAM;AAAA,UACZ,KAAK,KAAK;AACR,kBAAM,IAAI;AACV,kBAAM,KAAK,0BAA0B;AACrC;AAAA,UACF;AAAA,UAEA,KAAK,KAAK;AACR,6BAAiB;AACjB,kBAAM,IAAI;AACV;AAAA,UACF;AAAA,UAEA,SAAS;AACP,6BAAiB;AACjB;AAAA,UACF;AAAA,QACF;AAEA;AAAA,MACF;AAAA,MAEA,KAAK,4BAA4B;AAC/B,0BAAkB,MAAM,GAAG,0BAA0B;AACrD;AAAA,MACF;AAAA,MAEA,KAAK,wBAAwB;AAC3B,cAAM,IAAI;AACV,yBAAiB;AAEjB;AAAA,MACF;AAAA,MAEA,KAAK,iBAAiB;AACpB,gBAAQ,MAAM;AAAA,UACZ,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK,KAAK;AACR,6BAAiB;AACjB;AAAA,UACF;AAAA,UAEA,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK;AAAA,UACL,KAAK,KAAK;AACR;AAAA,UACF;AAAA,UAEA,KAAK,KAAK;AACR,kBAAM,IAAI;AAEV,gBAAI,MAAM,MAAM,SAAS,CAAC,MAAM,4BAA4B;AAC1D,qCAAuB,MAAM,CAAC;AAAA,YAChC;AAEA,gBAAI,MAAM,MAAM,SAAS,CAAC,MAAM,6BAA6B;AAC3D,sCAAwB,MAAM,CAAC;AAAA,YACjC;AAEA;AAAA,UACF;AAAA,UAEA,KAAK,KAAK;AACR,kBAAM,IAAI;AAEV,gBAAI,MAAM,MAAM,SAAS,CAAC,MAAM,6BAA6B;AAC3D,sCAAwB,MAAM,CAAC;AAAA,YACjC;AAEA;AAAA,UACF;AAAA,UAEA,KAAK,KAAK;AACR,kBAAM,IAAI;AAEV,gBAAI,MAAM,MAAM,SAAS,CAAC,MAAM,4BAA4B;AAC1D,qCAAuB,MAAM,CAAC;AAAA,YAChC;AAEA;AAAA,UACF;AAAA,UAEA,SAAS;AACP,kBAAM,IAAI;AACV;AAAA,UACF;AAAA,QACF;AAEA;AAAA,MACF;AAAA,MAEA,KAAK,kBAAkB;AACrB,cAAM,iBAAiB,MAAM,UAAU,cAAe,IAAI,CAAC;AAE3D,YACE,CAAC,QAAQ,WAAW,cAAc,KAClC,CAAC,OAAO,WAAW,cAAc,KACjC,CAAC,OAAO,WAAW,cAAc,GACjC;AACA,gBAAM,IAAI;AAEV,cAAI,MAAM,MAAM,SAAS,CAAC,MAAM,6BAA6B;AAC3D,oCAAwB,MAAM,CAAC;AAAA,UACjC,WAAW,MAAM,MAAM,SAAS,CAAC,MAAM,4BAA4B;AACjE,mCAAuB,MAAM,CAAC;AAAA,UAChC;AAAA,QACF,OAAO;AACL,2BAAiB;AAAA,QACnB;AAEA;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAEA,MAAI,SAAS,MAAM,MAAM,GAAG,iBAAiB,CAAC;AAE9C,WAAS,IAAI,MAAM,SAAS,GAAG,KAAK,GAAG,KAAK;AAC1C,UAAM,QAAQ,MAAM,CAAC;AAErB,YAAQ,OAAO;AAAA,MACb,KAAK,iBAAiB;AACpB,kBAAU;AACV;AAAA,MACF;AAAA,MAEA,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK,6BAA6B;AAChC,kBAAU;AACV;AAAA,MACF;AAAA,MAEA,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK,4BAA4B;AAC/B,kBAAU;AACV;AAAA,MACF;AAAA,MAEA,KAAK,kBAAkB;AACrB,cAAM,iBAAiB,MAAM,UAAU,cAAe,MAAM,MAAM;AAElE,YAAI,OAAO,WAAW,cAAc,GAAG;AACrC,oBAAU,OAAO,MAAM,eAAe,MAAM;AAAA,QAC9C,WAAW,QAAQ,WAAW,cAAc,GAAG;AAC7C,oBAAU,QAAQ,MAAM,eAAe,MAAM;AAAA,QAC/C,WAAW,OAAO,WAAW,cAAc,GAAG;AAC5C,oBAAU,OAAO,MAAM,eAAe,MAAM;AAAA,QAC9C;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAEA,SAAO;AACT;;;AD7ZO,IAAM,mBAAmB,CAAC,SAAiB;AAChD,MAAI;AACF,WAAO,MAAM,MAAM,IAAI;AAAA,EACzB,QAAQ;AACN,QAAI;AACF,aAAO,MAAM,MAAM,QAAQ,IAAI,CAAC;AAAA,IAClC,QAAQ;AACN,aAAO;AAAA,IACT;AAAA,EACF;AACF;;;AEPO,SAAS,kBAAkB;AAChC,MAAI,UAA8B;AAAA,IAChC,SAAS,CAAC;AAAA,IACV,QAAQ,EAAE,MAAM,UAAU;AAAA,EAC5B;AACA,QAAM,kBAAkB,EAAE,YAAY,IAAI,UAAU,GAAG;AAEvD,SAAO,IAAI,gBAA0D;AAAA,IACnE,UAAU,OAAO,YAAY;AAC3B,YAAM,YAAY,MAAM;AACxB,cAAQ,WAAW;AAAA,QACjB,KAAK,cAAc;AACjB,oBAAU,mBAAmB,SAAS,MAAM,SAAS;AACrD,qBAAW,QAAQ,OAAO;AAC1B;AAAA,QACF;AAAA,QACA,KAAK,mBAAmB;AACtB,gBAAM,EAAE,YAAY,UAAU,cAAc,IAAI;AAChD,cAAI,gBAAgB,eAAe,YAAY;AAC7C,4BAAgB,aAAa;AAC7B,4BAAgB,WAAW;AAAA,UAC7B,OAAO;AACL,4BAAgB,YAAY;AAAA,UAC9B;AAEA,oBAAU;AAAA,YACR;AAAA,YACA;AAAA,YACA;AAAA,YACA,gBAAgB;AAAA,UAClB;AACA,qBAAW,QAAQ,OAAO;AAC1B;AAAA,QACF;AAAA,QACA,KAAK,aAAa;AAChB;AAAA,QACF;AAAA,QACA,KAAK,eAAe;AAClB,oBAAU;AAAA,YACR;AAAA,YACA,MAAM;AAAA,YACN,MAAM;AAAA,YACN,MAAM;AAAA,UACR;AACA,qBAAW,QAAQ,OAAO;AAC1B;AAAA,QACF;AAAA,QACA,KAAK,UAAU;AACb,oBAAU,qBAAqB,SAAS,KAAK;AAC7C,qBAAW,QAAQ,OAAO;AAC1B;AAAA,QACF;AAAA,QACA,KAAK,SAAS;AACZ,cACE,MAAM,iBAAiB,SACvB,MAAM,MAAM,SAAS,cACrB;AACA,sBAAU,qBAAqB,OAAO;AACtC,uBAAW,QAAQ,OAAO;AAC1B;AAAA,UACF,OAAO;AACL,kBAAM,MAAM;AAAA,UACd;AAAA,QACF;AAAA,QACA,SAAS;AACP,gBAAM,gBAAuB;AAC7B,gBAAM,IAAI,MAAM,yBAAyB,aAAa,EAAE;AAAA,QAC1D;AAAA,MACF;AAAA,IACF;AAAA,EACF,CAAC;AACH;AAEA,IAAM,qBAAqB,CAAC,SAA6B,cAAsB;AAC7E,MAAI,eAAe,QAAQ;AAC3B,MAAI,cAAc,QAAQ,QAAQ,GAAG,EAAE;AACvC,MAAI,aAAa,SAAS,QAAQ;AAChC,kBAAc,EAAE,MAAM,QAAQ,MAAM,UAAU;AAAA,EAChD,OAAO;AACL,mBAAe,aAAa,MAAM,GAAG,EAAE;AACvC,kBAAc,EAAE,MAAM,QAAQ,MAAM,YAAY,OAAO,UAAU;AAAA,EACnE;AACA,SAAO;AAAA,IACL,GAAG;AAAA,IACH,SAAS,aAAa,OAAO,CAAC,WAAW,CAAC;AAAA,EAC5C;AACF;AAEA,IAAM,yBAAyB,CAC7B,SACA,YACA,UACA,aACG;AACH,MAAI,eAAe,QAAQ;AAC3B,MAAI,cAAc,QAAQ,QAAQ,GAAG,EAAE;AACvC,MACE,aAAa,SAAS,eACtB,YAAY,eAAe,YAC3B;AACA,kBAAc;AAAA,MACZ,MAAM;AAAA,MACN;AAAA,MACA;AAAA,MACA;AAAA,MACA,MAAM,iBAAiB,QAAQ;AAAA,IACjC;AAAA,EACF,OAAO;AACL,mBAAe,aAAa,MAAM,GAAG,EAAE;AACvC,kBAAc;AAAA,MACZ,GAAG;AAAA,MACH;AAAA,MACA,MAAM,iBAAiB,QAAQ;AAAA,IACjC;AAAA,EACF;AACA,SAAO;AAAA,IACL,GAAG;AAAA,IACH,SAAS,aAAa,OAAO,CAAC,WAAW,CAAC;AAAA,EAC5C;AACF;AAEA,IAAM,2BAA2B,CAC/B,SACA,YACA,UACA,WACG;AACH,MAAI,QAAQ;AACZ,QAAM,kBAAkB,QAAQ,QAAQ,IAAI,CAAC,SAAS;AACpD,QAAI,KAAK,SAAS,eAAe,KAAK,eAAe;AACnD,aAAO;AACT,YAAQ;AAER,QAAI,KAAK,aAAa;AACpB,YAAM,IAAI;AAAA,QACR,aAAa,UAAU,yBAAyB,KAAK,QAAQ,kBAAkB,QAAQ;AAAA,MACzF;AAEF,WAAO;AAAA,MACL,GAAG;AAAA,MACH;AAAA,IACF;AAAA,EACF,CAAC;AACD,MAAI,CAAC;AACH,UAAM,IAAI;AAAA,MACR,+CAA+C,QAAQ,QAAQ,UAAU;AAAA,IAC3E;AAEF,SAAO;AAAA,IACL,GAAG;AAAA,IACH,SAAS;AAAA,EACX;AACF;AAEA,IAAM,uBAAuB,CAC3B,SACA,UACuB;AACvB,QAAM,EAAE,MAAM,GAAG,KAAK,IAAI;AAC1B,SAAO;AAAA,IACL,GAAG;AAAA,IACH,QAAQ,UAAU,KAAK;AAAA,IACvB,YAAY;AAAA,MACV,GAAI,QAAQ,cAAc,CAAC;AAAA,MAC3B;AAAA,QACE,UAAU,KAAK;AAAA,QACf,OAAO,KAAK;AAAA,MACd;AAAA,IACF;AAAA,EACF;AACF;AAEA,IAAM,YAAY,CAChB,UACkB;AAClB,MAAI,MAAM,iBAAiB,cAAc;AACvC,WAAO;AAAA,MACL,MAAM;AAAA,MACN,QAAQ;AAAA,IACV;AAAA,EACF,WACE,MAAM,iBAAiB,UACvB,MAAM,iBAAiB,WACvB;AACA,WAAO;AAAA,MACL,MAAM;AAAA,MACN,QAAQ,MAAM;AAAA,IAChB;AAAA,EACF,OAAO;AACL,WAAO;AAAA,MACL,MAAM;AAAA,MACN,QAAQ,MAAM;AAAA,IAChB;AAAA,EACF;AACF;AAEA,IAAM,uBAAuB,CAC3B,YACuB;AACvB,SAAO;AAAA,IACL,GAAG;AAAA,IACH,QAAQ;AAAA,MACN,MAAM;AAAA,MACN,QAAQ;AAAA,IACV;AAAA,EACF;AACF;;;AClNA,SAAS,KAAAC,UAAS;AAClB,OAAOC,YAAW;AAaX,SAAS,iBAAiB,OAAyC;AACxE,QAAM,qBAAqB,oBAAI,IAA0B;AAEzD,SAAO,IAAI,gBAA4D;AAAA,IACrE,UAAU,OAAO,YAAY;AAE3B,iBAAW,QAAQ,KAAK;AAGxB,YAAM,YAAY,MAAM;AACxB,cAAQ,WAAW;AAAA,QACjB,KAAK,aAAa;AAChB,gBAAM,EAAE,YAAY,cAAc,UAAU,MAAM,SAAS,IAAI;AAC/D,gBAAM,OAAO,QAAQ,QAAQ;AAC7B,cAAI,CAAC,QAAQ,CAAC,KAAK,QAAS;AAE5B,gBAAM,OAAOA,OAAM,MAAM,QAAQ;AACjC,cAAI,KAAK,sBAAsBD,GAAE,SAAS;AACxC,kBAAM,SAAS,KAAK,WAAW,UAAU,IAAI;AAC7C,gBAAI,CAAC,OAAO,SAAS;AACnB,yBAAW,QAAQ;AAAA,gBACjB,MAAM;AAAA,gBACN;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA,QACE,2CACA,KAAK,UAAU,OAAO,MAAM,MAAM;AAAA,gBACpC,SAAS;AAAA,cACX,CAAC;AACD;AAAA,YACF,OAAO;AACL,iCAAmB;AAAA,gBACjB;AAAA,iBACC,YAAY;AACX,sBAAI;AACF,0BAAME,UAAS,MAAM,KAAK,QAAS,IAAI;AAEvC,+BAAW,QAAQ;AAAA,sBACjB,MAAM;AAAA,sBACN;AAAA,sBACA;AAAA,sBACA;AAAA,sBACA,QAAAA;AAAA,oBACF,CAAC;AAAA,kBACH,SAAS,OAAO;AACd,4BAAQ,MAAM,WAAW,KAAK;AAC9B,+BAAW,QAAQ;AAAA,sBACjB,MAAM;AAAA,sBACN;AAAA,sBACA;AAAA,sBACA;AAAA,sBACA,QAAQ,YAAY;AAAA,sBACpB,SAAS;AAAA,oBACX,CAAC;AAAA,kBACH,UAAE;AACA,uCAAmB,OAAO,UAAU;AAAA,kBACtC;AAAA,gBACF,GAAG;AAAA,cACL;AAAA,YACF;AAAA,UACF;AACA;AAAA,QACF;AAAA,QAGA,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AACH;AAAA,QAEF,SAAS;AACP,gBAAM,gBAAuB;AAC7B,gBAAM,IAAI,MAAM,yBAAyB,aAAa,EAAE;AAAA,QAC1D;AAAA,MACF;AAAA,IACF;AAAA,IAEA,MAAM,QAAQ;AACZ,YAAM,QAAQ,IAAI,mBAAmB,OAAO,CAAC;AAAA,IAC/C;AAAA,EACF,CAAC;AACH;","names":["message","z","sjson","result"]}
         
     |