├── CNAME
├── README.md
├── backend
├── .gitignore
├── index.js
├── package-lock.json
├── package.json
└── yarn.lock
├── images
├── dev-mode.png
├── logo1.png
├── logo2.png
├── umix-banner.png
└── unpacked.png
├── index.html
├── index.js
├── js-confetti.min.js
├── lib.js
├── lib
├── library.js
└── package.json
├── manifest.json
└── package-lock.json
/CNAME:
--------------------------------------------------------------------------------
1 | umix.dev
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | > ⚠️ **Security Disclaimer**: Do not use in production. This is experimental software. Here be dragons 🐉
2 |
3 |
4 |
5 | # [umix.dev](https://umix.dev)
6 |
7 | Umix is a browser extension and developer tool for remixing websites. Let's make the web fun.
8 |
9 | If you're just interested in just trying it out, go to our [Repl.it playground](https://replit.com/@aidenbai05/QuestionableRedForm#script.js). Or, [watch our video](https://youtu.be/8rdGUPiv2O0).
10 |
11 | Continue if you want to use it in real world websites.
12 |
13 | ## Umix as a Browser Extension
14 |
15 | > **Note:** Umix is pending approval on the Chrome Extension Store. For now, you can manually integrate it via Developer Mode. We currently only support Chrome and Chromium Browsers (Edge, Arc, Brave, Opera, etc.)
16 |
17 | 1. [Click to download the project ZIP](https://github.com/pranavnt/umix/archive/refs/heads/master.zip)
18 | 2. Unzip `umix-master.zip`.
19 | 3. Type `chrome://extensions` in your URL address bar
20 | 4. Activate Developer Mode
21 |
22 |
23 | 5. Click Load Unpacked
24 |
25 |
26 | 6. Select the `umix-master` folder
27 | 7. Profit.
28 |
29 | ## Umix as a Developer Tool
30 |
31 | Just drop a `
35 | ```
36 |
37 | ## Inspiration
38 |
39 | **The Web is boring.**
40 |
41 | Monotonous dashboards. Identical interfaces. All apps look the same.
42 |
43 | **The Web should be fun.**
44 |
45 | Our earliest memories, friends, and identities were made on the web. Deep in IRC chats and custom MySpace CSS and random Wikipedia docs, we found a home–a home in a community of folks who also found the Web fun.
46 |
47 | While the Web has matured over the past couple years, there’s an undeniable charm to it’s more hackable and playful past.
48 |
49 |
50 | ## What it does
51 |
52 | **Remix the web.** Umix is a browser extension and developer tool that allows internet users to easily remix, reimagine, and reshare web interfaces.
53 |
54 | Imagine being able to hover on any part of the page, ask an AI to change it to your desires, and see your creation live – that’s Umix.
55 |
56 |
57 |
58 | ## How we built it
59 |
60 | On the frontend, we built a chrome extension that traverses the in-memory DOM and updates the HTML based on our backend’s response.
61 |
62 | On the backend, we have a Node.js server that handles requests from the frontend. We equipped GPT-4 with a web browser, so it can browse websites and fetch content when it is unsure what to do. This happens multiple times, allowing us to get live information from the web.
63 |
64 | Finally, we built a developer tool that allows any web developer to integrate Umix as a JavaScript library. This allows developers to enable native remixing experiences on their own websites.
65 |
66 |
67 | ## Challenges we ran into
68 |
69 |
70 | - **Unreliability of LLMs** — GPT-4 hallucinated (made stuff up) multiple times or didn’t know the answer to various questions when testing — we couldn’t build directly on top of OpenAI and needed to connect GPT-4 to other tools. We connected it to a web browser using langchain.js and had it fetch factual information/documentation for tools from websites if it was unsure about the answer.
71 | - **DOM structure is hard** – we had to deal with ways to handle wrapper elements, excessive attributes, and overriding classes
72 | - **Designing the UI** – creating a very intuitive UI, especially for remixing use, is extremely difficult. We eventually landed on a very similar approach to v0.dev’s select tool
73 | - **CSR/CORS + Devtool fun** – creating a secure, safe, and robust developer tool and chrome extension, while ensuring security requirements are met took many arduous hours of crying
74 |
75 | ## What's next for Umix
76 |
77 | We made small demo post on Twitter (X) 12 hours ago and has been **viewed 25,000+ times**.
78 |
79 | We already have **80** people on our waitlist (as of 4 am)
80 |
81 | **It’s time to make the Web fun. Together, we can remix the web.**
82 |
--------------------------------------------------------------------------------
/backend/.gitignore:
--------------------------------------------------------------------------------
1 | .env
2 | node_modules/
--------------------------------------------------------------------------------
/backend/index.js:
--------------------------------------------------------------------------------
1 | const oai = require("openai");
2 | const express = require('express');
3 | const cors = require('cors'); // Import cors middleware
4 | const { OpenAI } = require("langchain/llms/openai");
5 | const { ChatOpenAI } = require("langchain/chat_models/openai");
6 | const { WebBrowser } = require("langchain/tools/webbrowser");
7 | const { OpenAIEmbeddings } = require("langchain/embeddings/openai");
8 | const { initializeAgentExecutorWithOptions } = require("langchain/agents");
9 | const app = express();
10 |
11 | // load dotenv
12 | require("dotenv").config();
13 |
14 |
15 | const port = process.env.PORT;
16 |
17 | const embeddings = new OpenAIEmbeddings();
18 | const model = new OpenAI({ modelName: "gpt-4", temperature: 0});
19 | const tools = [
20 | new WebBrowser({ model, embeddings }),
21 | ];
22 |
23 |
24 | app.use(express.json());
25 | app.use(cors({ origin: "*" }));
26 |
27 | app.post('/edit', async (req, res) => {
28 | const { html, edit } = req.body;
29 | console.log({html, edit});
30 | const executor = await initializeAgentExecutorWithOptions(tools, model, {
31 | agentType: "zero-shot-react-description",
32 | verbose: true,
33 | });
34 | console.log("Loaded agent.");
35 |
36 | console.log(executor);
37 |
38 | const input = `You are a HTML processer. You are given raw HTML, and a task.
39 | You must output the raw HTML and its original content and nothing else.
40 | // 1. Try to be additive, keep as much of the original structure and styles unless otherwise specified.
41 | // 2. In the final output, only include the raw HTML — NOTHING else.
42 | // 3. When image URLs are asked for, find an actual image URL on the internet to use.
43 | // 4. Do NOT use the web browser unless the user asks for information on the internet (such as a summary or image).
44 |
45 | ## Input
46 | HTML: ${html}
47 | Task: ${edit}
48 | // The output MUST be HTML and HTML only — no text`;
49 |
50 | const result = await executor.call({ input });
51 |
52 | console.log(result);
53 | res.json({output: result});
54 | });
55 |
56 | app.listen(port, () => {
57 | console.log(`Server listening at http://localhost:${port}`);
58 | });
59 |
--------------------------------------------------------------------------------
/backend/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "backend",
3 | "version": "1.0.0",
4 | "description": "",
5 | "main": "index.js",
6 | "scripts": {
7 | "test": "echo \"Error: no test specified\" && exit 1"
8 | },
9 | "keywords": [],
10 | "author": "Pranav Teegavarapu",
11 | "license": "ISC",
12 | "dependencies": {
13 | "axios": "^1.5.1",
14 | "cheerio": "^1.0.0-rc.12",
15 | "cors": "^2.8.5",
16 | "dotenv": "^16.3.1",
17 | "express": "^4.18.2",
18 | "langchain": "^0.0.167",
19 | "openai": "^4.12.1"
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/backend/yarn.lock:
--------------------------------------------------------------------------------
1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
2 | # yarn lockfile v1
3 |
4 |
5 | "@anthropic-ai/sdk@^0.6.2":
6 | version "0.6.2"
7 | resolved "https://registry.npmjs.org/@anthropic-ai/sdk/-/sdk-0.6.2.tgz"
8 | integrity sha512-fB9PUj9RFT+XjkL+E9Ol864ZIJi+1P8WnbHspN3N3/GK2uSzjd0cbVIKTGgf4v3N8MwaQu+UWnU7C4BG/fap/g==
9 | dependencies:
10 | "@types/node" "^18.11.18"
11 | "@types/node-fetch" "^2.6.4"
12 | abort-controller "^3.0.0"
13 | agentkeepalive "^4.2.1"
14 | digest-fetch "^1.3.0"
15 | form-data-encoder "1.7.2"
16 | formdata-node "^4.3.2"
17 | node-fetch "^2.6.7"
18 |
19 | "@types/node-fetch@^2.6.4":
20 | version "2.6.6"
21 | resolved "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.6.6.tgz"
22 | integrity sha512-95X8guJYhfqiuVVhRFxVQcf4hW/2bCuoPwDasMf/531STFoNoWTT7YDnWdXHEZKqAGUigmpG31r2FE70LwnzJw==
23 | dependencies:
24 | "@types/node" "*"
25 | form-data "^4.0.0"
26 |
27 | "@types/node@*":
28 | version "20.8.6"
29 | resolved "https://registry.npmjs.org/@types/node/-/node-20.8.6.tgz"
30 | integrity sha512-eWO4K2Ji70QzKUqRy6oyJWUeB7+g2cRagT3T/nxYibYcT4y2BDL8lqolRXjTHmkZCdJfIPaY73KbJAZmcryxTQ==
31 | dependencies:
32 | undici-types "~5.25.1"
33 |
34 | "@types/node@^18.11.18":
35 | version "18.18.5"
36 | resolved "https://registry.npmjs.org/@types/node/-/node-18.18.5.tgz"
37 | integrity sha512-4slmbtwV59ZxitY4ixUZdy1uRLf9eSIvBWPQxNjhHYWEtn0FryfKpyS2cvADYXTayWdKEIsJengncrVvkI4I6A==
38 |
39 | "@types/retry@0.12.0":
40 | version "0.12.0"
41 | resolved "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz"
42 | integrity sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==
43 |
44 | "@types/uuid@^9.0.1":
45 | version "9.0.5"
46 | resolved "https://registry.npmjs.org/@types/uuid/-/uuid-9.0.5.tgz"
47 | integrity sha512-xfHdwa1FMJ082prjSJpoEI57GZITiQz10r3vEJCHa2khEFQjKy91aWKz6+zybzssCvXUwE1LQWgWVwZ4nYUvHQ==
48 |
49 | abort-controller@^3.0.0:
50 | version "3.0.0"
51 | resolved "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz"
52 | integrity sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==
53 | dependencies:
54 | event-target-shim "^5.0.0"
55 |
56 | accepts@~1.3.8:
57 | version "1.3.8"
58 | resolved "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz"
59 | integrity sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==
60 | dependencies:
61 | mime-types "~2.1.34"
62 | negotiator "0.6.3"
63 |
64 | agentkeepalive@^4.2.1:
65 | version "4.5.0"
66 | resolved "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.5.0.tgz"
67 | integrity sha512-5GG/5IbQQpC9FpkRGsSvZI5QYeSCzlJHdpBQntCsuTOxhKD8lqKhrleg2Yi7yvMIf82Ycmmqln9U8V9qwEiJew==
68 | dependencies:
69 | humanize-ms "^1.2.1"
70 |
71 | ansi-styles@^5.0.0:
72 | version "5.2.0"
73 | resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz"
74 | integrity sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==
75 |
76 | argparse@^2.0.1:
77 | version "2.0.1"
78 | resolved "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz"
79 | integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==
80 |
81 | array-flatten@1.1.1:
82 | version "1.1.1"
83 | resolved "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz"
84 | integrity sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==
85 |
86 | asynckit@^0.4.0:
87 | version "0.4.0"
88 | resolved "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz"
89 | integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==
90 |
91 | axios@^1.5.1:
92 | version "1.5.1"
93 | resolved "https://registry.npmjs.org/axios/-/axios-1.5.1.tgz"
94 | integrity sha512-Q28iYCWzNHjAm+yEAot5QaAMxhMghWLFVf7rRdwhUI+c2jix2DUXjAHXVi+s1ibs3mjPO/cCgbA++3BjD0vP/A==
95 | dependencies:
96 | follow-redirects "^1.15.0"
97 | form-data "^4.0.0"
98 | proxy-from-env "^1.1.0"
99 |
100 | base-64@^0.1.0:
101 | version "0.1.0"
102 | resolved "https://registry.npmjs.org/base-64/-/base-64-0.1.0.tgz"
103 | integrity sha512-Y5gU45svrR5tI2Vt/X9GPd3L0HNIKzGu202EjxrXMpuc2V2CiKgemAbUUsqYmZJvPtCXoUKjNZwBJzsNScUbXA==
104 |
105 | base64-js@^1.5.1:
106 | version "1.5.1"
107 | resolved "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz"
108 | integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==
109 |
110 | binary-extensions@^2.2.0:
111 | version "2.2.0"
112 | resolved "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz"
113 | integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==
114 |
115 | binary-search@^1.3.5:
116 | version "1.3.6"
117 | resolved "https://registry.npmjs.org/binary-search/-/binary-search-1.3.6.tgz"
118 | integrity sha512-nbE1WxOTTrUWIfsfZ4aHGYu5DOuNkbxGokjV6Z2kxfJK3uaAb8zNK1muzOeipoLHZjInT4Br88BHpzevc681xA==
119 |
120 | body-parser@1.20.1:
121 | version "1.20.1"
122 | resolved "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz"
123 | integrity sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==
124 | dependencies:
125 | bytes "3.1.2"
126 | content-type "~1.0.4"
127 | debug "2.6.9"
128 | depd "2.0.0"
129 | destroy "1.2.0"
130 | http-errors "2.0.0"
131 | iconv-lite "0.4.24"
132 | on-finished "2.4.1"
133 | qs "6.11.0"
134 | raw-body "2.5.1"
135 | type-is "~1.6.18"
136 | unpipe "1.0.0"
137 |
138 | boolbase@^1.0.0:
139 | version "1.0.0"
140 | resolved "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz"
141 | integrity sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==
142 |
143 | bytes@3.1.2:
144 | version "3.1.2"
145 | resolved "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz"
146 | integrity sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==
147 |
148 | call-bind@^1.0.0:
149 | version "1.0.2"
150 | resolved "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz"
151 | integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==
152 | dependencies:
153 | function-bind "^1.1.1"
154 | get-intrinsic "^1.0.2"
155 |
156 | camelcase@6:
157 | version "6.3.0"
158 | resolved "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz"
159 | integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==
160 |
161 | charenc@0.0.2:
162 | version "0.0.2"
163 | resolved "https://registry.npmjs.org/charenc/-/charenc-0.0.2.tgz"
164 | integrity sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA==
165 |
166 | cheerio-select@^2.1.0:
167 | version "2.1.0"
168 | resolved "https://registry.npmjs.org/cheerio-select/-/cheerio-select-2.1.0.tgz"
169 | integrity sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==
170 | dependencies:
171 | boolbase "^1.0.0"
172 | css-select "^5.1.0"
173 | css-what "^6.1.0"
174 | domelementtype "^2.3.0"
175 | domhandler "^5.0.3"
176 | domutils "^3.0.1"
177 |
178 | cheerio@^1.0.0-rc.12:
179 | version "1.0.0-rc.12"
180 | resolved "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.12.tgz"
181 | integrity sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q==
182 | dependencies:
183 | cheerio-select "^2.1.0"
184 | dom-serializer "^2.0.0"
185 | domhandler "^5.0.3"
186 | domutils "^3.0.1"
187 | htmlparser2 "^8.0.1"
188 | parse5 "^7.0.0"
189 | parse5-htmlparser2-tree-adapter "^7.0.0"
190 |
191 | combined-stream@^1.0.8:
192 | version "1.0.8"
193 | resolved "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz"
194 | integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==
195 | dependencies:
196 | delayed-stream "~1.0.0"
197 |
198 | commander@^10.0.1:
199 | version "10.0.1"
200 | resolved "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz"
201 | integrity sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==
202 |
203 | content-disposition@0.5.4:
204 | version "0.5.4"
205 | resolved "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz"
206 | integrity sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==
207 | dependencies:
208 | safe-buffer "5.2.1"
209 |
210 | content-type@~1.0.4:
211 | version "1.0.5"
212 | resolved "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz"
213 | integrity sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==
214 |
215 | cookie-signature@1.0.6:
216 | version "1.0.6"
217 | resolved "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz"
218 | integrity sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==
219 |
220 | cookie@0.5.0:
221 | version "0.5.0"
222 | resolved "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz"
223 | integrity sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==
224 |
225 | cors@^2.8.5:
226 | version "2.8.5"
227 | resolved "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz"
228 | integrity sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==
229 | dependencies:
230 | object-assign "^4"
231 | vary "^1"
232 |
233 | crypt@0.0.2:
234 | version "0.0.2"
235 | resolved "https://registry.npmjs.org/crypt/-/crypt-0.0.2.tgz"
236 | integrity sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow==
237 |
238 | css-select@^5.1.0:
239 | version "5.1.0"
240 | resolved "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz"
241 | integrity sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==
242 | dependencies:
243 | boolbase "^1.0.0"
244 | css-what "^6.1.0"
245 | domhandler "^5.0.2"
246 | domutils "^3.0.1"
247 | nth-check "^2.0.1"
248 |
249 | css-what@^6.1.0:
250 | version "6.1.0"
251 | resolved "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz"
252 | integrity sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==
253 |
254 | debug@2.6.9:
255 | version "2.6.9"
256 | resolved "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz"
257 | integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==
258 | dependencies:
259 | ms "2.0.0"
260 |
261 | decamelize@^1.2.0:
262 | version "1.2.0"
263 | resolved "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz"
264 | integrity sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==
265 |
266 | delayed-stream@~1.0.0:
267 | version "1.0.0"
268 | resolved "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz"
269 | integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==
270 |
271 | depd@2.0.0:
272 | version "2.0.0"
273 | resolved "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz"
274 | integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==
275 |
276 | destroy@1.2.0:
277 | version "1.2.0"
278 | resolved "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz"
279 | integrity sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==
280 |
281 | digest-fetch@^1.3.0:
282 | version "1.3.0"
283 | resolved "https://registry.npmjs.org/digest-fetch/-/digest-fetch-1.3.0.tgz"
284 | integrity sha512-CGJuv6iKNM7QyZlM2T3sPAdZWd/p9zQiRNS9G+9COUCwzWFTs0Xp8NF5iePx7wtvhDykReiRRrSeNb4oMmB8lA==
285 | dependencies:
286 | base-64 "^0.1.0"
287 | md5 "^2.3.0"
288 |
289 | dom-serializer@^2.0.0:
290 | version "2.0.0"
291 | resolved "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz"
292 | integrity sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==
293 | dependencies:
294 | domelementtype "^2.3.0"
295 | domhandler "^5.0.2"
296 | entities "^4.2.0"
297 |
298 | domelementtype@^2.3.0:
299 | version "2.3.0"
300 | resolved "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz"
301 | integrity sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==
302 |
303 | domhandler@^5.0.2, domhandler@^5.0.3:
304 | version "5.0.3"
305 | resolved "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz"
306 | integrity sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==
307 | dependencies:
308 | domelementtype "^2.3.0"
309 |
310 | domutils@^3.0.1:
311 | version "3.1.0"
312 | resolved "https://registry.npmjs.org/domutils/-/domutils-3.1.0.tgz"
313 | integrity sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==
314 | dependencies:
315 | dom-serializer "^2.0.0"
316 | domelementtype "^2.3.0"
317 | domhandler "^5.0.3"
318 |
319 | dotenv@^16.3.1:
320 | version "16.3.1"
321 | resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-16.3.1.tgz#369034de7d7e5b120972693352a3bf112172cc3e"
322 | integrity sha512-IPzF4w4/Rd94bA9imS68tZBaYyBWSCE47V1RGuMrB94iyTOIEwRmVL2x/4An+6mETpLrKJ5hQkB8W4kFAadeIQ==
323 |
324 | ee-first@1.1.1:
325 | version "1.1.1"
326 | resolved "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz"
327 | integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==
328 |
329 | encodeurl@~1.0.2:
330 | version "1.0.2"
331 | resolved "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz"
332 | integrity sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==
333 |
334 | entities@^4.2.0, entities@^4.4.0:
335 | version "4.5.0"
336 | resolved "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz"
337 | integrity sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==
338 |
339 | escape-html@~1.0.3:
340 | version "1.0.3"
341 | resolved "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz"
342 | integrity sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==
343 |
344 | etag@~1.8.1:
345 | version "1.8.1"
346 | resolved "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz"
347 | integrity sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==
348 |
349 | event-target-shim@^5.0.0:
350 | version "5.0.1"
351 | resolved "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz"
352 | integrity sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==
353 |
354 | eventemitter3@^4.0.4:
355 | version "4.0.7"
356 | resolved "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz"
357 | integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==
358 |
359 | expr-eval@^2.0.2:
360 | version "2.0.2"
361 | resolved "https://registry.npmjs.org/expr-eval/-/expr-eval-2.0.2.tgz"
362 | integrity sha512-4EMSHGOPSwAfBiibw3ndnP0AvjDWLsMvGOvWEZ2F96IGk0bIVdjQisOHxReSkE13mHcfbuCiXw+G4y0zv6N8Eg==
363 |
364 | express@^4.18.2:
365 | version "4.18.2"
366 | resolved "https://registry.npmjs.org/express/-/express-4.18.2.tgz"
367 | integrity sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==
368 | dependencies:
369 | accepts "~1.3.8"
370 | array-flatten "1.1.1"
371 | body-parser "1.20.1"
372 | content-disposition "0.5.4"
373 | content-type "~1.0.4"
374 | cookie "0.5.0"
375 | cookie-signature "1.0.6"
376 | debug "2.6.9"
377 | depd "2.0.0"
378 | encodeurl "~1.0.2"
379 | escape-html "~1.0.3"
380 | etag "~1.8.1"
381 | finalhandler "1.2.0"
382 | fresh "0.5.2"
383 | http-errors "2.0.0"
384 | merge-descriptors "1.0.1"
385 | methods "~1.1.2"
386 | on-finished "2.4.1"
387 | parseurl "~1.3.3"
388 | path-to-regexp "0.1.7"
389 | proxy-addr "~2.0.7"
390 | qs "6.11.0"
391 | range-parser "~1.2.1"
392 | safe-buffer "5.2.1"
393 | send "0.18.0"
394 | serve-static "1.15.0"
395 | setprototypeof "1.2.0"
396 | statuses "2.0.1"
397 | type-is "~1.6.18"
398 | utils-merge "1.0.1"
399 | vary "~1.1.2"
400 |
401 | finalhandler@1.2.0:
402 | version "1.2.0"
403 | resolved "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz"
404 | integrity sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==
405 | dependencies:
406 | debug "2.6.9"
407 | encodeurl "~1.0.2"
408 | escape-html "~1.0.3"
409 | on-finished "2.4.1"
410 | parseurl "~1.3.3"
411 | statuses "2.0.1"
412 | unpipe "~1.0.0"
413 |
414 | flat@^5.0.2:
415 | version "5.0.2"
416 | resolved "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz"
417 | integrity sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==
418 |
419 | follow-redirects@^1.15.0:
420 | version "1.15.3"
421 | resolved "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.3.tgz"
422 | integrity sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q==
423 |
424 | form-data-encoder@1.7.2:
425 | version "1.7.2"
426 | resolved "https://registry.npmjs.org/form-data-encoder/-/form-data-encoder-1.7.2.tgz"
427 | integrity sha512-qfqtYan3rxrnCk1VYaA4H+Ms9xdpPqvLZa6xmMgFvhO32x7/3J/ExcTd6qpxM0vH2GdMI+poehyBZvqfMTto8A==
428 |
429 | form-data@^4.0.0:
430 | version "4.0.0"
431 | resolved "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz"
432 | integrity sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==
433 | dependencies:
434 | asynckit "^0.4.0"
435 | combined-stream "^1.0.8"
436 | mime-types "^2.1.12"
437 |
438 | formdata-node@^4.3.2:
439 | version "4.4.1"
440 | resolved "https://registry.npmjs.org/formdata-node/-/formdata-node-4.4.1.tgz"
441 | integrity sha512-0iirZp3uVDjVGt9p49aTaqjk84TrglENEDuqfdlZQ1roC9CWlPk6Avf8EEnZNcAqPonwkG35x4n3ww/1THYAeQ==
442 | dependencies:
443 | node-domexception "1.0.0"
444 | web-streams-polyfill "4.0.0-beta.3"
445 |
446 | forwarded@0.2.0:
447 | version "0.2.0"
448 | resolved "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz"
449 | integrity sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==
450 |
451 | fresh@0.5.2:
452 | version "0.5.2"
453 | resolved "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz"
454 | integrity sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==
455 |
456 | function-bind@^1.1.1:
457 | version "1.1.2"
458 | resolved "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz"
459 | integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==
460 |
461 | get-intrinsic@^1.0.2:
462 | version "1.2.1"
463 | resolved "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz"
464 | integrity sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==
465 | dependencies:
466 | function-bind "^1.1.1"
467 | has "^1.0.3"
468 | has-proto "^1.0.1"
469 | has-symbols "^1.0.3"
470 |
471 | has-proto@^1.0.1:
472 | version "1.0.1"
473 | resolved "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz"
474 | integrity sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==
475 |
476 | has-symbols@^1.0.3:
477 | version "1.0.3"
478 | resolved "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz"
479 | integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==
480 |
481 | has@^1.0.3:
482 | version "1.0.4"
483 | resolved "https://registry.npmjs.org/has/-/has-1.0.4.tgz"
484 | integrity sha512-qdSAmqLF6209RFj4VVItywPMbm3vWylknmB3nvNiUIs72xAimcM8nVYxYr7ncvZq5qzk9MKIZR8ijqD/1QuYjQ==
485 |
486 | htmlparser2@^8.0.1:
487 | version "8.0.2"
488 | resolved "https://registry.npmjs.org/htmlparser2/-/htmlparser2-8.0.2.tgz"
489 | integrity sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==
490 | dependencies:
491 | domelementtype "^2.3.0"
492 | domhandler "^5.0.3"
493 | domutils "^3.0.1"
494 | entities "^4.4.0"
495 |
496 | http-errors@2.0.0:
497 | version "2.0.0"
498 | resolved "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz"
499 | integrity sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==
500 | dependencies:
501 | depd "2.0.0"
502 | inherits "2.0.4"
503 | setprototypeof "1.2.0"
504 | statuses "2.0.1"
505 | toidentifier "1.0.1"
506 |
507 | humanize-ms@^1.2.1:
508 | version "1.2.1"
509 | resolved "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz"
510 | integrity sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==
511 | dependencies:
512 | ms "^2.0.0"
513 |
514 | iconv-lite@0.4.24:
515 | version "0.4.24"
516 | resolved "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz"
517 | integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==
518 | dependencies:
519 | safer-buffer ">= 2.1.2 < 3"
520 |
521 | inherits@2.0.4:
522 | version "2.0.4"
523 | resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz"
524 | integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
525 |
526 | ipaddr.js@1.9.1:
527 | version "1.9.1"
528 | resolved "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz"
529 | integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==
530 |
531 | is-any-array@^2.0.0:
532 | version "2.0.1"
533 | resolved "https://registry.npmjs.org/is-any-array/-/is-any-array-2.0.1.tgz"
534 | integrity sha512-UtilS7hLRu++wb/WBAw9bNuP1Eg04Ivn1vERJck8zJthEvXCBEBpGR/33u/xLKWEQf95803oalHrVDptcAvFdQ==
535 |
536 | is-buffer@~1.1.6:
537 | version "1.1.6"
538 | resolved "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz"
539 | integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==
540 |
541 | js-tiktoken@^1.0.7:
542 | version "1.0.7"
543 | resolved "https://registry.npmjs.org/js-tiktoken/-/js-tiktoken-1.0.7.tgz"
544 | integrity sha512-biba8u/clw7iesNEWLOLwrNGoBP2lA+hTaBLs/D45pJdUPFXyxD6nhcDVtADChghv4GgyAiMKYMiRx7x6h7Biw==
545 | dependencies:
546 | base64-js "^1.5.1"
547 |
548 | js-yaml@^4.1.0:
549 | version "4.1.0"
550 | resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz"
551 | integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==
552 | dependencies:
553 | argparse "^2.0.1"
554 |
555 | jsonpointer@^5.0.1:
556 | version "5.0.1"
557 | resolved "https://registry.npmjs.org/jsonpointer/-/jsonpointer-5.0.1.tgz"
558 | integrity sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==
559 |
560 | langchain@^0.0.167:
561 | version "0.0.167"
562 | resolved "https://registry.npmjs.org/langchain/-/langchain-0.0.167.tgz"
563 | integrity sha512-3unZvKe4HJ7kiP/G4zGivz3B1deHVhl5RqkBHAMlHbKGQ01ZukATUr9ITmbB28y3q+z1CwA5JRy+vgJv3qsETw==
564 | dependencies:
565 | "@anthropic-ai/sdk" "^0.6.2"
566 | ansi-styles "^5.0.0"
567 | binary-extensions "^2.2.0"
568 | camelcase "6"
569 | decamelize "^1.2.0"
570 | expr-eval "^2.0.2"
571 | flat "^5.0.2"
572 | js-tiktoken "^1.0.7"
573 | js-yaml "^4.1.0"
574 | jsonpointer "^5.0.1"
575 | langchainhub "~0.0.6"
576 | langsmith "~0.0.31"
577 | ml-distance "^4.0.0"
578 | object-hash "^3.0.0"
579 | openai "~4.4.0"
580 | openapi-types "^12.1.3"
581 | p-queue "^6.6.2"
582 | p-retry "4"
583 | uuid "^9.0.0"
584 | yaml "^2.2.1"
585 | zod "^3.22.3"
586 | zod-to-json-schema "^3.20.4"
587 |
588 | langchainhub@~0.0.6:
589 | version "0.0.6"
590 | resolved "https://registry.npmjs.org/langchainhub/-/langchainhub-0.0.6.tgz"
591 | integrity sha512-SW6105T+YP1cTe0yMf//7kyshCgvCTyFBMTgH2H3s9rTAR4e+78DA/BBrUL/Mt4Q5eMWui7iGuAYb3pgGsdQ9w==
592 |
593 | langsmith@~0.0.31:
594 | version "0.0.42"
595 | resolved "https://registry.npmjs.org/langsmith/-/langsmith-0.0.42.tgz"
596 | integrity sha512-sFuN+e7E+pPBIRaRgFqZh/BRBWNHTZNAwi6uj4kydQawooCZYoJmM5snOkiQrhVSvAhgu6xFhLvmfvkPcKzD7w==
597 | dependencies:
598 | "@types/uuid" "^9.0.1"
599 | commander "^10.0.1"
600 | p-queue "^6.6.2"
601 | p-retry "4"
602 | uuid "^9.0.0"
603 |
604 | md5@^2.3.0:
605 | version "2.3.0"
606 | resolved "https://registry.npmjs.org/md5/-/md5-2.3.0.tgz"
607 | integrity sha512-T1GITYmFaKuO91vxyoQMFETst+O71VUPEU3ze5GNzDm0OWdP8v1ziTaAEPUr/3kLsY3Sftgz242A1SetQiDL7g==
608 | dependencies:
609 | charenc "0.0.2"
610 | crypt "0.0.2"
611 | is-buffer "~1.1.6"
612 |
613 | media-typer@0.3.0:
614 | version "0.3.0"
615 | resolved "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz"
616 | integrity sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==
617 |
618 | merge-descriptors@1.0.1:
619 | version "1.0.1"
620 | resolved "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz"
621 | integrity sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==
622 |
623 | methods@~1.1.2:
624 | version "1.1.2"
625 | resolved "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz"
626 | integrity sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==
627 |
628 | mime-db@1.52.0:
629 | version "1.52.0"
630 | resolved "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz"
631 | integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==
632 |
633 | mime-types@^2.1.12, mime-types@~2.1.24, mime-types@~2.1.34:
634 | version "2.1.35"
635 | resolved "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz"
636 | integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==
637 | dependencies:
638 | mime-db "1.52.0"
639 |
640 | mime@1.6.0:
641 | version "1.6.0"
642 | resolved "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz"
643 | integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==
644 |
645 | ml-array-mean@^1.1.6:
646 | version "1.1.6"
647 | resolved "https://registry.npmjs.org/ml-array-mean/-/ml-array-mean-1.1.6.tgz"
648 | integrity sha512-MIdf7Zc8HznwIisyiJGRH9tRigg3Yf4FldW8DxKxpCCv/g5CafTw0RRu51nojVEOXuCQC7DRVVu5c7XXO/5joQ==
649 | dependencies:
650 | ml-array-sum "^1.1.6"
651 |
652 | ml-array-sum@^1.1.6:
653 | version "1.1.6"
654 | resolved "https://registry.npmjs.org/ml-array-sum/-/ml-array-sum-1.1.6.tgz"
655 | integrity sha512-29mAh2GwH7ZmiRnup4UyibQZB9+ZLyMShvt4cH4eTK+cL2oEMIZFnSyB3SS8MlsTh6q/w/yh48KmqLxmovN4Dw==
656 | dependencies:
657 | is-any-array "^2.0.0"
658 |
659 | ml-distance-euclidean@^2.0.0:
660 | version "2.0.0"
661 | resolved "https://registry.npmjs.org/ml-distance-euclidean/-/ml-distance-euclidean-2.0.0.tgz"
662 | integrity sha512-yC9/2o8QF0A3m/0IXqCTXCzz2pNEzvmcE/9HFKOZGnTjatvBbsn4lWYJkxENkA4Ug2fnYl7PXQxnPi21sgMy/Q==
663 |
664 | ml-distance@^4.0.0:
665 | version "4.0.1"
666 | resolved "https://registry.npmjs.org/ml-distance/-/ml-distance-4.0.1.tgz"
667 | integrity sha512-feZ5ziXs01zhyFUUUeZV5hwc0f5JW0Sh0ckU1koZe/wdVkJdGxcP06KNQuF0WBTj8FttQUzcvQcpcrOp/XrlEw==
668 | dependencies:
669 | ml-array-mean "^1.1.6"
670 | ml-distance-euclidean "^2.0.0"
671 | ml-tree-similarity "^1.0.0"
672 |
673 | ml-tree-similarity@^1.0.0:
674 | version "1.0.0"
675 | resolved "https://registry.npmjs.org/ml-tree-similarity/-/ml-tree-similarity-1.0.0.tgz"
676 | integrity sha512-XJUyYqjSuUQkNQHMscr6tcjldsOoAekxADTplt40QKfwW6nd++1wHWV9AArl0Zvw/TIHgNaZZNvr8QGvE8wLRg==
677 | dependencies:
678 | binary-search "^1.3.5"
679 | num-sort "^2.0.0"
680 |
681 | ms@2.0.0:
682 | version "2.0.0"
683 | resolved "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz"
684 | integrity sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==
685 |
686 | ms@2.1.3, ms@^2.0.0:
687 | version "2.1.3"
688 | resolved "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz"
689 | integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==
690 |
691 | negotiator@0.6.3:
692 | version "0.6.3"
693 | resolved "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz"
694 | integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==
695 |
696 | node-domexception@1.0.0:
697 | version "1.0.0"
698 | resolved "https://registry.npmjs.org/node-domexception/-/node-domexception-1.0.0.tgz"
699 | integrity sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==
700 |
701 | node-fetch@^2.6.7:
702 | version "2.7.0"
703 | resolved "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz"
704 | integrity sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==
705 | dependencies:
706 | whatwg-url "^5.0.0"
707 |
708 | nth-check@^2.0.1:
709 | version "2.1.1"
710 | resolved "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz"
711 | integrity sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==
712 | dependencies:
713 | boolbase "^1.0.0"
714 |
715 | num-sort@^2.0.0:
716 | version "2.1.0"
717 | resolved "https://registry.npmjs.org/num-sort/-/num-sort-2.1.0.tgz"
718 | integrity sha512-1MQz1Ed8z2yckoBeSfkQHHO9K1yDRxxtotKSJ9yvcTUUxSvfvzEq5GwBrjjHEpMlq/k5gvXdmJ1SbYxWtpNoVg==
719 |
720 | object-assign@^4:
721 | version "4.1.1"
722 | resolved "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz"
723 | integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==
724 |
725 | object-hash@^3.0.0:
726 | version "3.0.0"
727 | resolved "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz"
728 | integrity sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==
729 |
730 | object-inspect@^1.9.0:
731 | version "1.12.3"
732 | resolved "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz"
733 | integrity sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==
734 |
735 | on-finished@2.4.1:
736 | version "2.4.1"
737 | resolved "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz"
738 | integrity sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==
739 | dependencies:
740 | ee-first "1.1.1"
741 |
742 | openai@^4.12.1:
743 | version "4.12.1"
744 | resolved "https://registry.npmjs.org/openai/-/openai-4.12.1.tgz"
745 | integrity sha512-EAoUwm4dtiWvFwBhOCK/VfF8sj1ZU8+aAIJnfT4NyeTfrt1DM/6Gdd6fOZWTjBYryTAqu9Vpb5+9Wu6JMtm/gA==
746 | dependencies:
747 | "@types/node" "^18.11.18"
748 | "@types/node-fetch" "^2.6.4"
749 | abort-controller "^3.0.0"
750 | agentkeepalive "^4.2.1"
751 | digest-fetch "^1.3.0"
752 | form-data-encoder "1.7.2"
753 | formdata-node "^4.3.2"
754 | node-fetch "^2.6.7"
755 |
756 | openai@~4.4.0:
757 | version "4.4.0"
758 | resolved "https://registry.npmjs.org/openai/-/openai-4.4.0.tgz"
759 | integrity sha512-JN0t628Kh95T0IrXl0HdBqnlJg+4Vq0Bnh55tio+dfCnyzHvMLiWyCM9m726MAJD2YkDU4/8RQB6rNbEq9ct2w==
760 | dependencies:
761 | "@types/node" "^18.11.18"
762 | "@types/node-fetch" "^2.6.4"
763 | abort-controller "^3.0.0"
764 | agentkeepalive "^4.2.1"
765 | digest-fetch "^1.3.0"
766 | form-data-encoder "1.7.2"
767 | formdata-node "^4.3.2"
768 | node-fetch "^2.6.7"
769 |
770 | openapi-types@^12.1.3:
771 | version "12.1.3"
772 | resolved "https://registry.npmjs.org/openapi-types/-/openapi-types-12.1.3.tgz"
773 | integrity sha512-N4YtSYJqghVu4iek2ZUvcN/0aqH1kRDuNqzcycDxhOUpg7GdvLa2F3DgS6yBNhInhv2r/6I0Flkn7CqL8+nIcw==
774 |
775 | p-finally@^1.0.0:
776 | version "1.0.0"
777 | resolved "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz"
778 | integrity sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==
779 |
780 | p-queue@^6.6.2:
781 | version "6.6.2"
782 | resolved "https://registry.npmjs.org/p-queue/-/p-queue-6.6.2.tgz"
783 | integrity sha512-RwFpb72c/BhQLEXIZ5K2e+AhgNVmIejGlTgiB9MzZ0e93GRvqZ7uSi0dvRF7/XIXDeNkra2fNHBxTyPDGySpjQ==
784 | dependencies:
785 | eventemitter3 "^4.0.4"
786 | p-timeout "^3.2.0"
787 |
788 | p-retry@4:
789 | version "4.6.2"
790 | resolved "https://registry.npmjs.org/p-retry/-/p-retry-4.6.2.tgz"
791 | integrity sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==
792 | dependencies:
793 | "@types/retry" "0.12.0"
794 | retry "^0.13.1"
795 |
796 | p-timeout@^3.2.0:
797 | version "3.2.0"
798 | resolved "https://registry.npmjs.org/p-timeout/-/p-timeout-3.2.0.tgz"
799 | integrity sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg==
800 | dependencies:
801 | p-finally "^1.0.0"
802 |
803 | parse5-htmlparser2-tree-adapter@^7.0.0:
804 | version "7.0.0"
805 | resolved "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.0.0.tgz"
806 | integrity sha512-B77tOZrqqfUfnVcOrUvfdLbz4pu4RopLD/4vmu3HUPswwTA8OH0EMW9BlWR2B0RCoiZRAHEUu7IxeP1Pd1UU+g==
807 | dependencies:
808 | domhandler "^5.0.2"
809 | parse5 "^7.0.0"
810 |
811 | parse5@^7.0.0:
812 | version "7.1.2"
813 | resolved "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz"
814 | integrity sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==
815 | dependencies:
816 | entities "^4.4.0"
817 |
818 | parseurl@~1.3.3:
819 | version "1.3.3"
820 | resolved "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz"
821 | integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==
822 |
823 | path-to-regexp@0.1.7:
824 | version "0.1.7"
825 | resolved "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz"
826 | integrity sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==
827 |
828 | proxy-addr@~2.0.7:
829 | version "2.0.7"
830 | resolved "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz"
831 | integrity sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==
832 | dependencies:
833 | forwarded "0.2.0"
834 | ipaddr.js "1.9.1"
835 |
836 | proxy-from-env@^1.1.0:
837 | version "1.1.0"
838 | resolved "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz"
839 | integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==
840 |
841 | qs@6.11.0:
842 | version "6.11.0"
843 | resolved "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz"
844 | integrity sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==
845 | dependencies:
846 | side-channel "^1.0.4"
847 |
848 | range-parser@~1.2.1:
849 | version "1.2.1"
850 | resolved "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz"
851 | integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==
852 |
853 | raw-body@2.5.1:
854 | version "2.5.1"
855 | resolved "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz"
856 | integrity sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==
857 | dependencies:
858 | bytes "3.1.2"
859 | http-errors "2.0.0"
860 | iconv-lite "0.4.24"
861 | unpipe "1.0.0"
862 |
863 | retry@^0.13.1:
864 | version "0.13.1"
865 | resolved "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz"
866 | integrity sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==
867 |
868 | safe-buffer@5.2.1:
869 | version "5.2.1"
870 | resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz"
871 | integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==
872 |
873 | "safer-buffer@>= 2.1.2 < 3":
874 | version "2.1.2"
875 | resolved "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz"
876 | integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==
877 |
878 | send@0.18.0:
879 | version "0.18.0"
880 | resolved "https://registry.npmjs.org/send/-/send-0.18.0.tgz"
881 | integrity sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==
882 | dependencies:
883 | debug "2.6.9"
884 | depd "2.0.0"
885 | destroy "1.2.0"
886 | encodeurl "~1.0.2"
887 | escape-html "~1.0.3"
888 | etag "~1.8.1"
889 | fresh "0.5.2"
890 | http-errors "2.0.0"
891 | mime "1.6.0"
892 | ms "2.1.3"
893 | on-finished "2.4.1"
894 | range-parser "~1.2.1"
895 | statuses "2.0.1"
896 |
897 | serve-static@1.15.0:
898 | version "1.15.0"
899 | resolved "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz"
900 | integrity sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==
901 | dependencies:
902 | encodeurl "~1.0.2"
903 | escape-html "~1.0.3"
904 | parseurl "~1.3.3"
905 | send "0.18.0"
906 |
907 | setprototypeof@1.2.0:
908 | version "1.2.0"
909 | resolved "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz"
910 | integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==
911 |
912 | side-channel@^1.0.4:
913 | version "1.0.4"
914 | resolved "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz"
915 | integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==
916 | dependencies:
917 | call-bind "^1.0.0"
918 | get-intrinsic "^1.0.2"
919 | object-inspect "^1.9.0"
920 |
921 | statuses@2.0.1:
922 | version "2.0.1"
923 | resolved "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz"
924 | integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==
925 |
926 | toidentifier@1.0.1:
927 | version "1.0.1"
928 | resolved "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz"
929 | integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==
930 |
931 | tr46@~0.0.3:
932 | version "0.0.3"
933 | resolved "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz"
934 | integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==
935 |
936 | type-is@~1.6.18:
937 | version "1.6.18"
938 | resolved "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz"
939 | integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==
940 | dependencies:
941 | media-typer "0.3.0"
942 | mime-types "~2.1.24"
943 |
944 | undici-types@~5.25.1:
945 | version "5.25.3"
946 | resolved "https://registry.npmjs.org/undici-types/-/undici-types-5.25.3.tgz"
947 | integrity sha512-Ga1jfYwRn7+cP9v8auvEXN1rX3sWqlayd4HP7OKk4mZWylEmu3KzXDUGrQUN6Ol7qo1gPvB2e5gX6udnyEPgdA==
948 |
949 | unpipe@1.0.0, unpipe@~1.0.0:
950 | version "1.0.0"
951 | resolved "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz"
952 | integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==
953 |
954 | utils-merge@1.0.1:
955 | version "1.0.1"
956 | resolved "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz"
957 | integrity sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==
958 |
959 | uuid@^9.0.0:
960 | version "9.0.1"
961 | resolved "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz"
962 | integrity sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==
963 |
964 | vary@^1, vary@~1.1.2:
965 | version "1.1.2"
966 | resolved "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz"
967 | integrity sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==
968 |
969 | web-streams-polyfill@4.0.0-beta.3:
970 | version "4.0.0-beta.3"
971 | resolved "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-4.0.0-beta.3.tgz"
972 | integrity sha512-QW95TCTaHmsYfHDybGMwO5IJIM93I/6vTRk+daHTWFPhwh+C8Cg7j7XyKrwrj8Ib6vYXe0ocYNrmzY4xAAN6ug==
973 |
974 | webidl-conversions@^3.0.0:
975 | version "3.0.1"
976 | resolved "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz"
977 | integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==
978 |
979 | whatwg-url@^5.0.0:
980 | version "5.0.0"
981 | resolved "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz"
982 | integrity sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==
983 | dependencies:
984 | tr46 "~0.0.3"
985 | webidl-conversions "^3.0.0"
986 |
987 | yaml@^2.2.1:
988 | version "2.3.3"
989 | resolved "https://registry.npmjs.org/yaml/-/yaml-2.3.3.tgz"
990 | integrity sha512-zw0VAJxgeZ6+++/su5AFoqBbZbrEakwu+X0M5HmcwUiBL7AzcuPKjj5we4xfQLp78LkEMpD0cOnUhmgOVy3KdQ==
991 |
992 | zod-to-json-schema@^3.20.4:
993 | version "3.21.4"
994 | resolved "https://registry.npmjs.org/zod-to-json-schema/-/zod-to-json-schema-3.21.4.tgz"
995 | integrity sha512-fjUZh4nQ1s6HMccgIeE0VP4QG/YRGPmyjO9sAh890aQKPEk3nqbfUXhMFaC+Dr5KvYBm8BCyvfpZf2jY9aGSsw==
996 |
997 | zod@^3.22.3:
998 | version "3.22.4"
999 | resolved "https://registry.npmjs.org/zod/-/zod-3.22.4.tgz"
1000 | integrity sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg==
1001 |
--------------------------------------------------------------------------------
/images/dev-mode.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pranavnt/umix/4413b6fae24383e6904f970961609c546cfd604a/images/dev-mode.png
--------------------------------------------------------------------------------
/images/logo1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pranavnt/umix/4413b6fae24383e6904f970961609c546cfd604a/images/logo1.png
--------------------------------------------------------------------------------
/images/logo2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pranavnt/umix/4413b6fae24383e6904f970961609c546cfd604a/images/logo2.png
--------------------------------------------------------------------------------
/images/umix-banner.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pranavnt/umix/4413b6fae24383e6904f970961609c546cfd604a/images/umix-banner.png
--------------------------------------------------------------------------------
/images/unpacked.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pranavnt/umix/4413b6fae24383e6904f970961609c546cfd604a/images/unpacked.png
--------------------------------------------------------------------------------
/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | Umix
7 |
8 |
9 |
10 |
11 |
12 |
29 |
59 |
67 |
70 | Let's make the web fun again.
71 |
72 |
73 | Umix is a browser extension and JavaScript library that allows you
74 | to remix the web effortlessly – together, we can make the web fun
75 | again :)
76 |