From 93cf1ea60213da5cde44d6a0a6320f9a5b45f4aa Mon Sep 17 00:00:00 2001 From: BRama10 Date: Wed, 25 Sep 2024 10:51:40 -0400 Subject: [PATCH] Aios deploy (#255) * new branch * agent conflict changes --- .../app/agents/ContentLayout/AgentCard.tsx | 2 +- agenthub/app/agents/[name]/page.tsx | 6 +- agenthub/app/agents/const.ts | 4 +- agenthub/app/api/download/route.ts | 3 + .../get_agent_by_name_and_version/route.ts | 29 + .../app/api/get_all_agents/light/route.ts | 2 +- agenthub/app/api/get_all_agents/route.ts | 2 +- pyopenagi/agents/agent_factory.py | 2 +- pyopenagi/agents/base_agent.py | 2 +- server.py | 4 +- web/.eslintrc.json | 3 - web/.gitignore | 2 - web/README.md | 36 - web/agents/agent.ts | 57 - web/agents/build.ts | 107 - web/agents/constants.ts | 1 - web/agents/graph.ts | 62 - web/agents/package-lock.json | 1155 -- web/agents/package.json | 16 - web/agents/pnpm-lock.yaml | 745 -- web/agents/tsconfig.json | 20 - web/app/_page.tsx | 228 - web/app/api/download/route.ts | 20 - web/app/api/get_all_agents/route.ts | 11 - web/app/api/upload/route.ts | 16 - web/app/deprecated/page.tsx | 86 - web/app/exampleagent/page.tsx | 5 - web/app/favicon.ico | Bin 25931 -> 0 bytes web/app/globals.css | 37 - web/app/layout.tsx | 33 - web/app/modern/page.tsx | 37 - web/app/page.tsx | 37 - web/app/playground/page.tsx | 206 - web/app/providers.tsx | 15 - web/backend/__init__.py | 0 web/backend/agent.py | 25 - web/backend/config.json | 15 - .../dongyuanjushi/academic_agent/agent.py | 103 - .../dongyuanjushi/academic_agent/config.json | 37 - .../academic_agent/meta_requirements.txt | 1 - web/backend/interact.py | 182 - web/backend/meta_new_agent1_reqs.txt | 3 - .../new_agent_download/interact_downloaded.py | 16 - .../meta_new_agent1_reqs.txt | 3 - web/backend/output.txt | 3066 ------ .../sample_output/interact_downloaded.py | 14 - web/backend/sample_output/meta_web2_reqs.txt | 3 - web/backend/web_agent.py | 21 - web/components/AgentContainer.tsx | 31 - web/components/agents/ChatMessage.tsx | 180 - web/components/agents/Container.tsx | 32 - web/components/agents/IdeaCard.tsx | 32 - web/components/agents/defaultMentionStyle.ts | 3 - web/components/agents/defaultStyle.ts | 58 - web/components/agents/s.css | 29 - web/components/modern/ChatMessage.tsx | 102 - web/components/modern/container.tsx | 32 - web/components/modern/instruction.tsx | 10 - web/components/modern/interface.tsx | 163 - web/components/modern/queryBox.tsx | 0 web/components/modern/settings.tsx | 27 - web/components/modern/sidebar.tsx | 5 - web/components/playground/Edge.tsx | 39 - web/components/playground/FunctionIcon.tsx | 27 - web/components/playground/Sidebar.tsx | 25 - .../playground/nodes/Conversational.tsx | 32 - web/components/playground/nodes/Decisive.tsx | 63 - web/components/playground/nodes/Laborious.tsx | 47 - web/components/playground/rewrites.css | 269 - .../rewrites/StrictModeDroppable.tsx | 18 - web/docs/example.json | 15 - web/docs/example_agent.py | 9 - web/docs/test.py | 6 - web/exports.tsx | 14 - web/hooks/useAutosizeTextArea.ts | 21 - web/lib/env.ts | 4 - web/lib/prisma.ts | 17 - web/next.config.mjs | 14 - web/package-lock.json | 9433 ----------------- web/package.json | 46 - web/postcss.config.mjs | 8 - web/prisma/schema.prisma | 22 - web/public/next.svg | 1 - web/public/vercel.svg | 1 - web/tailwind.config.ts | 23 - web/tsconfig.json | 27 - 86 files changed, 46 insertions(+), 17319 deletions(-) create mode 100644 agenthub/app/api/get_agent_by_name_and_version/route.ts delete mode 100644 web/.eslintrc.json delete mode 100644 web/.gitignore delete mode 100644 web/README.md delete mode 100644 web/agents/agent.ts delete mode 100644 web/agents/build.ts delete mode 100644 web/agents/constants.ts delete mode 100644 web/agents/graph.ts delete mode 100644 web/agents/package-lock.json delete mode 100644 web/agents/package.json delete mode 100644 web/agents/pnpm-lock.yaml delete mode 100644 web/agents/tsconfig.json delete mode 100644 web/app/_page.tsx delete mode 100644 web/app/api/download/route.ts delete mode 100644 web/app/api/get_all_agents/route.ts delete mode 100644 web/app/api/upload/route.ts delete mode 100644 web/app/deprecated/page.tsx delete mode 100644 web/app/exampleagent/page.tsx delete mode 100644 web/app/favicon.ico delete mode 100644 web/app/globals.css delete mode 100644 web/app/layout.tsx delete mode 100644 web/app/modern/page.tsx delete mode 100644 web/app/page.tsx delete mode 100644 web/app/playground/page.tsx delete mode 100644 web/app/providers.tsx delete mode 100644 web/backend/__init__.py delete mode 100644 web/backend/agent.py delete mode 100644 web/backend/config.json delete mode 100755 web/backend/dongyuanjushi/academic_agent/agent.py delete mode 100644 web/backend/dongyuanjushi/academic_agent/config.json delete mode 100644 web/backend/dongyuanjushi/academic_agent/meta_requirements.txt delete mode 100644 web/backend/interact.py delete mode 100644 web/backend/meta_new_agent1_reqs.txt delete mode 100644 web/backend/new_agent_download/interact_downloaded.py delete mode 100644 web/backend/new_agent_download/meta_new_agent1_reqs.txt delete mode 100644 web/backend/output.txt delete mode 100644 web/backend/sample_output/interact_downloaded.py delete mode 100644 web/backend/sample_output/meta_web2_reqs.txt delete mode 100644 web/backend/web_agent.py delete mode 100644 web/components/AgentContainer.tsx delete mode 100644 web/components/agents/ChatMessage.tsx delete mode 100644 web/components/agents/Container.tsx delete mode 100644 web/components/agents/IdeaCard.tsx delete mode 100644 web/components/agents/defaultMentionStyle.ts delete mode 100644 web/components/agents/defaultStyle.ts delete mode 100644 web/components/agents/s.css delete mode 100644 web/components/modern/ChatMessage.tsx delete mode 100644 web/components/modern/container.tsx delete mode 100644 web/components/modern/instruction.tsx delete mode 100644 web/components/modern/interface.tsx delete mode 100644 web/components/modern/queryBox.tsx delete mode 100644 web/components/modern/settings.tsx delete mode 100644 web/components/modern/sidebar.tsx delete mode 100644 web/components/playground/Edge.tsx delete mode 100644 web/components/playground/FunctionIcon.tsx delete mode 100644 web/components/playground/Sidebar.tsx delete mode 100644 web/components/playground/nodes/Conversational.tsx delete mode 100644 web/components/playground/nodes/Decisive.tsx delete mode 100644 web/components/playground/nodes/Laborious.tsx delete mode 100644 web/components/playground/rewrites.css delete mode 100644 web/components/rewrites/StrictModeDroppable.tsx delete mode 100644 web/docs/example.json delete mode 100644 web/docs/example_agent.py delete mode 100644 web/docs/test.py delete mode 100644 web/exports.tsx delete mode 100644 web/hooks/useAutosizeTextArea.ts delete mode 100644 web/lib/env.ts delete mode 100644 web/lib/prisma.ts delete mode 100644 web/next.config.mjs delete mode 100644 web/package-lock.json delete mode 100644 web/package.json delete mode 100644 web/postcss.config.mjs delete mode 100644 web/prisma/schema.prisma delete mode 100644 web/public/next.svg delete mode 100644 web/public/vercel.svg delete mode 100644 web/tailwind.config.ts delete mode 100644 web/tsconfig.json diff --git a/agenthub/app/agents/ContentLayout/AgentCard.tsx b/agenthub/app/agents/ContentLayout/AgentCard.tsx index cf05e606..07e59b8c 100644 --- a/agenthub/app/agents/ContentLayout/AgentCard.tsx +++ b/agenthub/app/agents/ContentLayout/AgentCard.tsx @@ -12,7 +12,7 @@ export default function AgentCard({ item }: AgentCardProps) { return (
- +

diff --git a/agenthub/app/agents/[name]/page.tsx b/agenthub/app/agents/[name]/page.tsx index d5412dd0..b2038835 100644 --- a/agenthub/app/agents/[name]/page.tsx +++ b/agenthub/app/agents/[name]/page.tsx @@ -4,9 +4,11 @@ import AgentPage, { Agent } from "./agent"; export default async function Page({ params }: { params: { name: string } }) { // let agentInfo: Agent; - - const res = await fetch(`${baseUrl}/api/get_agent_by_name?name=${params.name}`); + // console.log(params.name.split('%2B')) + const res = await fetch(`${baseUrl}/api/get_agent_by_name_and_version?name=${params.name.split('%2B')[0]}&version=${params.name.split('%2B')[1]}`); const agentInfo: Agent = await res.json(); + console.log(agentInfo) + return } \ No newline at end of file diff --git a/agenthub/app/agents/const.ts b/agenthub/app/agents/const.ts index 7f6d8338..dd344579 100644 --- a/agenthub/app/agents/const.ts +++ b/agenthub/app/agents/const.ts @@ -15,11 +15,13 @@ export const AgentList: AgentItem[] = []; // export const AgentList = export const AgentListGenerator: () => Promise = async () => { - const res = await fetch(`${baseUrl}/api/get_all_agents/light`); + const res = await fetch(`${baseUrl}/api/get_all_agents/light`, { cache: 'no-store' }); const res_ = await res.json(); const values: AgentItem[] = Object.values(res_); + console.log('length', res_) + return values; } diff --git a/agenthub/app/api/download/route.ts b/agenthub/app/api/download/route.ts index 72731aed..d998a925 100644 --- a/agenthub/app/api/download/route.ts +++ b/agenthub/app/api/download/route.ts @@ -28,6 +28,9 @@ export async function GET(request: Request): Promise { name, author }, + orderBy: { + version: 'desc' + }, include: { files: true } diff --git a/agenthub/app/api/get_agent_by_name_and_version/route.ts b/agenthub/app/api/get_agent_by_name_and_version/route.ts new file mode 100644 index 00000000..0a25a9e5 --- /dev/null +++ b/agenthub/app/api/get_agent_by_name_and_version/route.ts @@ -0,0 +1,29 @@ +import { NextResponse } from 'next/server'; +import prisma from '../../../lib/prisma' + +export async function GET(request: Request): Promise { + const { searchParams } = new URL(request.url); + const name = searchParams.get('name'); + const version = searchParams.get('version'); + + console.log(name, version) + + if (name && version) { + const result = await prisma.agent.findFirst({ + where: { + name, + version + }, + include: { + files: true + } + }); + + if (result != null) { + return NextResponse.json({ ...result }); + } + } + + + return NextResponse.json({ status: 'fail' }); +} \ No newline at end of file diff --git a/agenthub/app/api/get_all_agents/light/route.ts b/agenthub/app/api/get_all_agents/light/route.ts index feae6637..5fe7085e 100644 --- a/agenthub/app/api/get_all_agents/light/route.ts +++ b/agenthub/app/api/get_all_agents/light/route.ts @@ -5,7 +5,7 @@ import prisma from '../../../../lib/prisma' export async function GET(request: Request): Promise { //linter - console.log(request) + // console.log(request) const result = await prisma.agent.findMany({ select: { diff --git a/agenthub/app/api/get_all_agents/route.ts b/agenthub/app/api/get_all_agents/route.ts index 8f391370..0e68729d 100644 --- a/agenthub/app/api/get_all_agents/route.ts +++ b/agenthub/app/api/get_all_agents/route.ts @@ -5,7 +5,7 @@ import prisma from '../../../lib/prisma' export async function GET(request: Request): Promise { //linter - console.log(request) + // console.log(request) const result = await prisma.agent.findMany(); return NextResponse.json({...result}); diff --git a/pyopenagi/agents/agent_factory.py b/pyopenagi/agents/agent_factory.py index 269f1671..4e06bde5 100755 --- a/pyopenagi/agents/agent_factory.py +++ b/pyopenagi/agents/agent_factory.py @@ -27,7 +27,7 @@ def __init__(self, self.agent_log_mode = agent_log_mode - self.manager = AgentManager('https://agenthub.aios.foundation/') + self.manager = AgentManager('https://my.aios.foundation/') def snake_to_camel(self, snake_str): components = snake_str.split('_') diff --git a/pyopenagi/agents/base_agent.py b/pyopenagi/agents/base_agent.py index 99c1f536..a509c6ba 100755 --- a/pyopenagi/agents/base_agent.py +++ b/pyopenagi/agents/base_agent.py @@ -42,7 +42,7 @@ class BaseAgent: def __init__(self, agent_name, task_input, agent_process_factory, log_mode: str): # super().__init__() self.agent_name = agent_name - self.manager = AgentManager('https://agenthub-lite.vercel.app/') + self.manager = AgentManager('https://my.aios.foundation/') author, name, version = self.agent_name.split('/') diff --git a/server.py b/server.py index da15553e..c6721491 100644 --- a/server.py +++ b/server.py @@ -35,7 +35,7 @@ getFactory, setFactory, setFactoryCallback = useGlobalState() getManager, setManager, setManagerCallback = useGlobalState() -setManager(AgentManager('https://agenthub.aios.foundation/')) +setManager(AgentManager('https://my.aios.foundation')) # parser = parse_global_args() # args = parser.parse_args() @@ -133,7 +133,7 @@ def transform_string(input_string: str): input_string.split("/")[:-1] ) - agents = manager.list_available_agents() + agents = list(set(manager.list_available_agents())) print(agents) agent_names = [transform_string(a.get("agent")) for a in agents] diff --git a/web/.eslintrc.json b/web/.eslintrc.json deleted file mode 100644 index bffb357a..00000000 --- a/web/.eslintrc.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "extends": "next/core-web-vitals" -} diff --git a/web/.gitignore b/web/.gitignore deleted file mode 100644 index 057b5658..00000000 --- a/web/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. - diff --git a/web/README.md b/web/README.md deleted file mode 100644 index c4033664..00000000 --- a/web/README.md +++ /dev/null @@ -1,36 +0,0 @@ -This is a [Next.js](https://nextjs.org/) project bootstrapped with [`create-next-app`](https://github.com/vercel/next.js/tree/canary/packages/create-next-app). - -## Getting Started - -First, run the development server: - -```bash -npm run dev -# or -yarn dev -# or -pnpm dev -# or -bun dev -``` - -Open [http://localhost:3000](http://localhost:3000) with your browser to see the result. - -You can start editing the page by modifying `app/page.tsx`. The page auto-updates as you edit the file. - -This project uses [`next/font`](https://nextjs.org/docs/basic-features/font-optimization) to automatically optimize and load Inter, a custom Google Font. - -## Learn More - -To learn more about Next.js, take a look at the following resources: - -- [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js features and API. -- [Learn Next.js](https://nextjs.org/learn) - an interactive Next.js tutorial. - -You can check out [the Next.js GitHub repository](https://github.com/vercel/next.js/) - your feedback and contributions are welcome! - -## Deploy on Vercel - -The easiest way to deploy your Next.js app is to use the [Vercel Platform](https://vercel.com/new?utm_medium=default-template&filter=next.js&utm_source=create-next-app&utm_campaign=create-next-app-readme) from the creators of Next.js. - -Check out our [Next.js deployment documentation](https://nextjs.org/docs/deployment) for more details. diff --git a/web/agents/agent.ts b/web/agents/agent.ts deleted file mode 100644 index 70ff400e..00000000 --- a/web/agents/agent.ts +++ /dev/null @@ -1,57 +0,0 @@ -import Groq from 'groq-sdk'; -import { groq_token } from "./constants"; - -export type AgentType = 'decisive' | 'conversational' | 'laborious'; - - -export default class Agent { - private groq = new Groq({ - apiKey: groq_token, - dangerouslyAllowBrowser: true - }); - - private name: string; - // f - constructor(name: string) { - this.name = name; - } - - async inference(system: string, prompt: string, json: boolean, schema?: string) { - let response; - - if (json && schema) { - response = await this.groq.chat.completions.create({ - messages: [ - { - role: 'system', - content: `${system}. \n You output results in JSON. Make sure to follow the JSON schema ${schema}`, - }, - { - role: "user", - content: `${prompt}`, - }, - ], - model: "mixtral-8x7b-32768", - response_format: { "type": "json_object" } - }); - - return JSON.parse(response!.choices[0]!.message!.content!) - } else { - response = await this.groq.chat.completions.create({ - messages: [ - { - role: 'system', - content: `${system}.`, - }, - { - role: "user", - content: `${prompt}`, - }, - ], - model: "llama3-8b-8192", - }); - - return response!.choices[0]!.message!.content! - } - } -} diff --git a/web/agents/build.ts b/web/agents/build.ts deleted file mode 100644 index 98d8c37d..00000000 --- a/web/agents/build.ts +++ /dev/null @@ -1,107 +0,0 @@ -import { evaluate } from 'mathjs' -import Agent, { AgentType } from './agent' - -export const readSchemaFromObject = (obj: any): string => { - const schema: Record = {}; - - for (const key in obj) { - if (obj.hasOwnProperty(key)) { - schema[key] = obj[key]; - } - } - - return JSON.stringify(schema, null, 2); -} - -class AgentBuilder { - private agents: Record; - - constructor() { - this.agents = {} - } - - build(name: string, type: AgentType, system?: string, _schema?: any) { - const kernel = new Agent(name); - - let system_prompt = ''; - let schema = {}; - - switch (type) { - case 'decisive': - schema = { - isTrue: 'boolean true if statement is true, or false is statement is false' - } - system_prompt='You will be given a prompt, and you are to decide if it/its conditions are either true or false.' - case 'conversational': - system_prompt = 'Reword the given phrase or statement or text into a conversational manner that sounds like a human.' - case 'laborious': - schema = _schema; - system_prompt=system! - } - - const agentRun = async (instruct: string) => { - const result = await kernel.inference(system_prompt, instruct, Object.keys(schema).length === 0 ? false : true, readSchemaFromObject(schema)) - if (type == 'decisive') { - return result.isTrue - } else { - return result - } - } - - this.agents[name] = agentRun; - } - - async run(name: string, prompt: string) { - const agent = this.agents[name]; - console.log(agent); - - const result = await agent(prompt); - - return result; - } -} - -export const builder = new AgentBuilder(); - -builder.build('expression_agent', 'laborious', 'You are an agent that structures words problems into numerical math expressions that can be read by MathJS. YOU DO NOT EVALUATE THE PROBLEM OR SOLVE IT, SIMPLY MAKING IT INTO AN EXPRESSION', { - expression: 'math expression goes here' -}) - -builder.build('story_agent', 'laborious', 'You are an agent that writes a short story according to the instructions given. Use a maximum of 120 words.', {}) - - -export const ExpressionAgent = async (phrase: string) => { - const res = await builder.run('expression_agent', phrase) - return res.expression; -} - -export const EvalAgent = (phrase: string) => { - return evaluate(phrase); -} - -export const MathAgent = async (phrase: string) => { - console.log('here') - const res = await builder.run('expression_agent', phrase) - console.log(res.expression) - console.log(evaluate(res.expression)) - return evaluate(res.expression); -} - -export const StoryAgent = async (phrase: string) => { - const res = await builder.run('story_agent', phrase) - return res -} - -// if (import.meta.url === new URL(import.meta.url).href) { -// (async function () { -// // Your main code here -// const res = await ExpressionAgent('I have 59 chickens and my friend has 32 chickens, how many chickens are there in total?') -// console.log(`Expression Is: ${res}`); - -// const ans = EvalAgent(res); -// console.log(`Answer Is: ${ans}`); -// })(); -// } - - - diff --git a/web/agents/constants.ts b/web/agents/constants.ts deleted file mode 100644 index 5efa981a..00000000 --- a/web/agents/constants.ts +++ /dev/null @@ -1 +0,0 @@ -export const groq_token = '' \ No newline at end of file diff --git a/web/agents/graph.ts b/web/agents/graph.ts deleted file mode 100644 index 79f4e41a..00000000 --- a/web/agents/graph.ts +++ /dev/null @@ -1,62 +0,0 @@ -export interface Connection { - source: string; - sourceHandle: string | null; - target: string; - } - - interface WorkflowNode { - id: string; - isDecision: boolean; - next: { - yes?: WorkflowNode; - no?: WorkflowNode; - default?: WorkflowNode; - }; - } - - interface WorkflowStructure { - nodes: Map; - startNodes: WorkflowNode[]; - } - - export function createWorkflowStructure(connections: Connection[]): WorkflowStructure { - const nodes = new Map(); - const targetSet = new Set(); - - for (const conn of connections) { - if (!nodes.has(conn.source)) { - nodes.set(conn.source, { id: conn.source, isDecision: false, next: {} }); - } - if (!nodes.has(conn.target)) { - nodes.set(conn.target, { id: conn.target, isDecision: false, next: {} }); - } - - if (conn.sourceHandle !== null) { - nodes.get(conn.source)!.isDecision = true; - } - - targetSet.add(conn.target); - } - - for (const conn of connections) { - const sourceNode = nodes.get(conn.source)!; - const targetNode = nodes.get(conn.target)!; - - if (sourceNode.isDecision) { - if (conn.sourceHandle === 'yes') { - sourceNode.next.yes = targetNode; - } else if (conn.sourceHandle === 'no') { - sourceNode.next.no = targetNode; - } - } else { - sourceNode.next.default = targetNode; - } - } - - console.log(targetSet); - - const startNodes = Array.from(nodes.values()).filter(node => !targetSet.has(node.id)); - - return { nodes, startNodes }; - } - diff --git a/web/agents/package-lock.json b/web/agents/package-lock.json deleted file mode 100644 index 77541a05..00000000 --- a/web/agents/package-lock.json +++ /dev/null @@ -1,1155 +0,0 @@ -{ - "name": "agents", - "lockfileVersion": 3, - "requires": true, - "packages": { - "": { - "dependencies": { - "discord.js-selfbot-v13": "^3.1.4", - "openai": "^4.52.0", - "tslog": "^4.9.3", - "yaml": "^2.4.5" - }, - "devDependencies": { - "ts-node": "^10.9.2", - "tsx": "^4.15.7", - "typescript": "^5.5.2" - } - }, - "node_modules/@aikochan2k6/qrcode-terminal": { - "version": "0.12.1", - "resolved": "https://registry.npmjs.org/@aikochan2k6/qrcode-terminal/-/qrcode-terminal-0.12.1.tgz", - "integrity": "sha512-GfSrCCqKti0XyomCOaFRL//dnEpDux4tJleywuYChjHue+pqjM0lP39cQq8qtmfcOm1CqhWQeB6JS6kY4tQ8Tw==" - }, - "node_modules/@cspotcode/source-map-support": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", - "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", - "dev": true, - "dependencies": { - "@jridgewell/trace-mapping": "0.3.9" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/@discordjs/builders": { - "version": "1.8.2", - "resolved": "https://registry.npmjs.org/@discordjs/builders/-/builders-1.8.2.tgz", - "integrity": "sha512-6wvG3QaCjtMu0xnle4SoOIeFB4y6fKMN6WZfy3BMKJdQQtPLik8KGzDwBVL/+wTtcE/ZlFjgEk74GublyEVZ7g==", - "dependencies": { - "@discordjs/formatters": "^0.4.0", - "@discordjs/util": "^1.1.0", - "@sapphire/shapeshift": "^3.9.7", - "discord-api-types": "0.37.83", - "fast-deep-equal": "^3.1.3", - "ts-mixer": "^6.0.4", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.11.0" - }, - "funding": { - "url": "https://github.com/discordjs/discord.js?sponsor" - } - }, - "node_modules/@discordjs/builders/node_modules/discord-api-types": { - "version": "0.37.83", - "resolved": "https://registry.npmjs.org/discord-api-types/-/discord-api-types-0.37.83.tgz", - "integrity": "sha512-urGGYeWtWNYMKnYlZnOnDHm8fVRffQs3U0SpE8RHeiuLKb/u92APS8HoQnPTFbnXmY1vVnXjXO4dOxcAn3J+DA==" - }, - "node_modules/@discordjs/collection": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/@discordjs/collection/-/collection-1.5.3.tgz", - "integrity": "sha512-SVb428OMd3WO1paV3rm6tSjM4wC+Kecaa1EUGX7vc6/fddvw/6lg90z4QtCqm21zvVe92vMMDt9+DkIvjXImQQ==", - "engines": { - "node": ">=16.11.0" - } - }, - "node_modules/@discordjs/formatters": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/@discordjs/formatters/-/formatters-0.4.0.tgz", - "integrity": "sha512-fJ06TLC1NiruF35470q3Nr1bi95BdvKFAF+T5bNfZJ4bNdqZ3VZ+Ttg6SThqTxm6qumSG3choxLBHMC69WXNXQ==", - "dependencies": { - "discord-api-types": "0.37.83" - }, - "engines": { - "node": ">=16.11.0" - }, - "funding": { - "url": "https://github.com/discordjs/discord.js?sponsor" - } - }, - "node_modules/@discordjs/formatters/node_modules/discord-api-types": { - "version": "0.37.83", - "resolved": "https://registry.npmjs.org/discord-api-types/-/discord-api-types-0.37.83.tgz", - "integrity": "sha512-urGGYeWtWNYMKnYlZnOnDHm8fVRffQs3U0SpE8RHeiuLKb/u92APS8HoQnPTFbnXmY1vVnXjXO4dOxcAn3J+DA==" - }, - "node_modules/@discordjs/util": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@discordjs/util/-/util-1.1.0.tgz", - "integrity": "sha512-IndcI5hzlNZ7GS96RV3Xw1R2kaDuXEp7tRIy/KlhidpN/BQ1qh1NZt3377dMLTa44xDUNKT7hnXkA/oUAzD/lg==", - "engines": { - "node": ">=16.11.0" - }, - "funding": { - "url": "https://github.com/discordjs/discord.js?sponsor" - } - }, - "node_modules/@esbuild/aix-ppc64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz", - "integrity": "sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==", - "cpu": [ - "ppc64" - ], - "dev": true, - "optional": true, - "os": [ - "aix" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/android-arm": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.21.5.tgz", - "integrity": "sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/android-arm64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz", - "integrity": "sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/android-x64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.21.5.tgz", - "integrity": "sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/darwin-arm64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz", - "integrity": "sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/darwin-x64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz", - "integrity": "sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/freebsd-arm64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz", - "integrity": "sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/freebsd-x64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz", - "integrity": "sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-arm": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz", - "integrity": "sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-arm64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz", - "integrity": "sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-ia32": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz", - "integrity": "sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==", - "cpu": [ - "ia32" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-loong64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz", - "integrity": "sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==", - "cpu": [ - "loong64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-mips64el": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz", - "integrity": "sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==", - "cpu": [ - "mips64el" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-ppc64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz", - "integrity": "sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==", - "cpu": [ - "ppc64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-riscv64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz", - "integrity": "sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==", - "cpu": [ - "riscv64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-s390x": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz", - "integrity": "sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==", - "cpu": [ - "s390x" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-x64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz", - "integrity": "sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/netbsd-x64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz", - "integrity": "sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "netbsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/openbsd-x64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz", - "integrity": "sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "openbsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/sunos-x64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz", - "integrity": "sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "sunos" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/win32-arm64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz", - "integrity": "sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/win32-ia32": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz", - "integrity": "sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==", - "cpu": [ - "ia32" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/win32-x64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz", - "integrity": "sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", - "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", - "dev": true, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.15", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", - "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", - "dev": true - }, - "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.9", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", - "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", - "dev": true, - "dependencies": { - "@jridgewell/resolve-uri": "^3.0.3", - "@jridgewell/sourcemap-codec": "^1.4.10" - } - }, - "node_modules/@sapphire/async-queue": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/@sapphire/async-queue/-/async-queue-1.5.2.tgz", - "integrity": "sha512-7X7FFAA4DngXUl95+hYbUF19bp1LGiffjJtu7ygrZrbdCSsdDDBaSjB7Akw0ZbOu6k0xpXyljnJ6/RZUvLfRdg==", - "engines": { - "node": ">=v14.0.0", - "npm": ">=7.0.0" - } - }, - "node_modules/@sapphire/shapeshift": { - "version": "3.9.7", - "resolved": "https://registry.npmjs.org/@sapphire/shapeshift/-/shapeshift-3.9.7.tgz", - "integrity": "sha512-4It2mxPSr4OGn4HSQWGmhFMsNFGfFVhWeRPCRwbH972Ek2pzfGRZtb0pJ4Ze6oIzcyh2jw7nUDa6qGlWofgd9g==", - "dependencies": { - "fast-deep-equal": "^3.1.3", - "lodash": "^4.17.21" - }, - "engines": { - "node": ">=v16" - } - }, - "node_modules/@tsconfig/node10": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.11.tgz", - "integrity": "sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==", - "dev": true - }, - "node_modules/@tsconfig/node12": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", - "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==", - "dev": true - }, - "node_modules/@tsconfig/node14": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", - "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==", - "dev": true - }, - "node_modules/@tsconfig/node16": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz", - "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==", - "dev": true - }, - "node_modules/@types/node": { - "version": "20.14.9", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.14.9.tgz", - "integrity": "sha512-06OCtnTXtWOZBJlRApleWndH4JsRVs1pDCc8dLSQp+7PpUpX3ePdHyeNSFTeSe7FtKyQkrlPvHwJOW3SLd8Oyg==", - "dependencies": { - "undici-types": "~5.26.4" - } - }, - "node_modules/@types/node-fetch": { - "version": "2.6.11", - "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.6.11.tgz", - "integrity": "sha512-24xFj9R5+rfQJLRyM56qh+wnVSYhyXC2tkoBndtY0U+vubqNsYXGjufB2nn8Q6gt0LrARwL6UBtMCSVCwl4B1g==", - "dependencies": { - "@types/node": "*", - "form-data": "^4.0.0" - } - }, - "node_modules/@types/ws": { - "version": "8.5.10", - "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.10.tgz", - "integrity": "sha512-vmQSUcfalpIq0R9q7uTo2lXs6eGIpt9wtnLdMv9LVpIjCA/+ufZRozlVoVelIYixx1ugCBKDhn89vnsEGOCx9A==", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/abort-controller": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", - "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", - "dependencies": { - "event-target-shim": "^5.0.0" - }, - "engines": { - "node": ">=6.5" - } - }, - "node_modules/acorn": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.0.tgz", - "integrity": "sha512-RTvkC4w+KNXrM39/lWCUaG0IbRkWdCv7W/IOW9oU6SawyxulvkQy5HQPVTKxEjczcUvapcrw3cFx/60VN/NRNw==", - "dev": true, - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-walk": { - "version": "8.3.3", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.3.tgz", - "integrity": "sha512-MxXdReSRhGO7VlFe1bRG/oI7/mdLV9B9JJT0N8vZOhF7gFRR5l3M8W9G8JxmKV+JC5mGqJ0QvqfSOLsCPa4nUw==", - "dev": true, - "dependencies": { - "acorn": "^8.11.0" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/agentkeepalive": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.5.0.tgz", - "integrity": "sha512-5GG/5IbQQpC9FpkRGsSvZI5QYeSCzlJHdpBQntCsuTOxhKD8lqKhrleg2Yi7yvMIf82Ycmmqln9U8V9qwEiJew==", - "dependencies": { - "humanize-ms": "^1.2.1" - }, - "engines": { - "node": ">= 8.0.0" - } - }, - "node_modules/arg": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", - "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", - "dev": true - }, - "node_modules/asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" - }, - "node_modules/combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "dependencies": { - "delayed-stream": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/create-require": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", - "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", - "dev": true - }, - "node_modules/delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/diff": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", - "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", - "dev": true, - "engines": { - "node": ">=0.3.1" - } - }, - "node_modules/discord-api-types": { - "version": "0.37.90", - "resolved": "https://registry.npmjs.org/discord-api-types/-/discord-api-types-0.37.90.tgz", - "integrity": "sha512-lpOJSGrqHuXoM4FV/2HtjoaJpCClGFHpRNIdZEW8zPINlsCHNSfIwA2EQ8dxeE6k1QhhTuM9ZlOGVYXoU7FLgA==" - }, - "node_modules/discord.js-selfbot-v13": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/discord.js-selfbot-v13/-/discord.js-selfbot-v13-3.1.4.tgz", - "integrity": "sha512-MkUBnrRKIFsA8M/9IUxrGzZNJypzwA5mwyF3ZV4NJldHw6Z8GBAnkmH10rK8B2uUuCY+tfMSHbOxo796LUZiYg==", - "dependencies": { - "@aikochan2k6/qrcode-terminal": "^0.12.1", - "@discordjs/builders": "^1.6.3", - "@discordjs/collection": "^1.5.3", - "@sapphire/async-queue": "^1.5.1", - "@sapphire/shapeshift": "^3.9.5", - "@types/node-fetch": "^2.6.10", - "@types/ws": "^8.5.10", - "discord-api-types": "^0.37.61", - "fetch-cookie": "^2.1.0", - "form-data": "^4.0.0", - "node-fetch": "^2.6.9", - "tough-cookie": "^4.1.3", - "ws": "^8.16.0" - }, - "engines": { - "node": ">=16.6.0", - "npm": ">=7.0.0" - } - }, - "node_modules/esbuild": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz", - "integrity": "sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==", - "dev": true, - "hasInstallScript": true, - "bin": { - "esbuild": "bin/esbuild" - }, - "engines": { - "node": ">=12" - }, - "optionalDependencies": { - "@esbuild/aix-ppc64": "0.21.5", - "@esbuild/android-arm": "0.21.5", - "@esbuild/android-arm64": "0.21.5", - "@esbuild/android-x64": "0.21.5", - "@esbuild/darwin-arm64": "0.21.5", - "@esbuild/darwin-x64": "0.21.5", - "@esbuild/freebsd-arm64": "0.21.5", - "@esbuild/freebsd-x64": "0.21.5", - "@esbuild/linux-arm": "0.21.5", - "@esbuild/linux-arm64": "0.21.5", - "@esbuild/linux-ia32": "0.21.5", - "@esbuild/linux-loong64": "0.21.5", - "@esbuild/linux-mips64el": "0.21.5", - "@esbuild/linux-ppc64": "0.21.5", - "@esbuild/linux-riscv64": "0.21.5", - "@esbuild/linux-s390x": "0.21.5", - "@esbuild/linux-x64": "0.21.5", - "@esbuild/netbsd-x64": "0.21.5", - "@esbuild/openbsd-x64": "0.21.5", - "@esbuild/sunos-x64": "0.21.5", - "@esbuild/win32-arm64": "0.21.5", - "@esbuild/win32-ia32": "0.21.5", - "@esbuild/win32-x64": "0.21.5" - } - }, - "node_modules/event-target-shim": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", - "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==", - "engines": { - "node": ">=6" - } - }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" - }, - "node_modules/fetch-cookie": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/fetch-cookie/-/fetch-cookie-2.2.0.tgz", - "integrity": "sha512-h9AgfjURuCgA2+2ISl8GbavpUdR+WGAM2McW/ovn4tVccegp8ZqCKWSBR8uRdM8dDNlx5WdKRWxBYUwteLDCNQ==", - "dependencies": { - "set-cookie-parser": "^2.4.8", - "tough-cookie": "^4.0.0" - } - }, - "node_modules/form-data": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", - "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", - "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/form-data-encoder": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/form-data-encoder/-/form-data-encoder-1.7.2.tgz", - "integrity": "sha512-qfqtYan3rxrnCk1VYaA4H+Ms9xdpPqvLZa6xmMgFvhO32x7/3J/ExcTd6qpxM0vH2GdMI+poehyBZvqfMTto8A==" - }, - "node_modules/formdata-node": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/formdata-node/-/formdata-node-4.4.1.tgz", - "integrity": "sha512-0iirZp3uVDjVGt9p49aTaqjk84TrglENEDuqfdlZQ1roC9CWlPk6Avf8EEnZNcAqPonwkG35x4n3ww/1THYAeQ==", - "dependencies": { - "node-domexception": "1.0.0", - "web-streams-polyfill": "4.0.0-beta.3" - }, - "engines": { - "node": ">= 12.20" - } - }, - "node_modules/formdata-node/node_modules/web-streams-polyfill": { - "version": "4.0.0-beta.3", - "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-4.0.0-beta.3.tgz", - "integrity": "sha512-QW95TCTaHmsYfHDybGMwO5IJIM93I/6vTRk+daHTWFPhwh+C8Cg7j7XyKrwrj8Ib6vYXe0ocYNrmzY4xAAN6ug==", - "engines": { - "node": ">= 14" - } - }, - "node_modules/fsevents": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", - "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", - "dev": true, - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/get-tsconfig": { - "version": "4.7.5", - "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.7.5.tgz", - "integrity": "sha512-ZCuZCnlqNzjb4QprAzXKdpp/gh6KTxSJuw3IBsPnV/7fV4NxC9ckB+vPTt8w7fJA0TaSD7c55BR47JD6MEDyDw==", - "dev": true, - "dependencies": { - "resolve-pkg-maps": "^1.0.0" - }, - "funding": { - "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1" - } - }, - "node_modules/humanize-ms": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz", - "integrity": "sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==", - "dependencies": { - "ms": "^2.0.0" - } - }, - "node_modules/lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" - }, - "node_modules/make-error": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", - "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", - "dev": true - }, - "node_modules/mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "dependencies": { - "mime-db": "1.52.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" - }, - "node_modules/node-domexception": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/node-domexception/-/node-domexception-1.0.0.tgz", - "integrity": "sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/jimmywarting" - }, - { - "type": "github", - "url": "https://paypal.me/jimmywarting" - } - ], - "engines": { - "node": ">=10.5.0" - } - }, - "node_modules/node-fetch": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", - "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", - "dependencies": { - "whatwg-url": "^5.0.0" - }, - "engines": { - "node": "4.x || >=6.0.0" - }, - "peerDependencies": { - "encoding": "^0.1.0" - }, - "peerDependenciesMeta": { - "encoding": { - "optional": true - } - } - }, - "node_modules/openai": { - "version": "4.52.1", - "resolved": "https://registry.npmjs.org/openai/-/openai-4.52.1.tgz", - "integrity": "sha512-kv2hevAWZZ3I/vd2t8znGO2rd8wkowncsfcYpo8i+wU9ML+JEcdqiViANXXjWWGjIhajFNixE6gOY1fEgqILAg==", - "dependencies": { - "@types/node": "^18.11.18", - "@types/node-fetch": "^2.6.4", - "abort-controller": "^3.0.0", - "agentkeepalive": "^4.2.1", - "form-data-encoder": "1.7.2", - "formdata-node": "^4.3.2", - "node-fetch": "^2.6.7", - "web-streams-polyfill": "^3.2.1" - }, - "bin": { - "openai": "bin/cli" - } - }, - "node_modules/openai/node_modules/@types/node": { - "version": "18.19.39", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.39.tgz", - "integrity": "sha512-nPwTRDKUctxw3di5b4TfT3I0sWDiWoPQCZjXhvdkINntwr8lcoVCKsTgnXeRubKIlfnV+eN/HYk6Jb40tbcEAQ==", - "dependencies": { - "undici-types": "~5.26.4" - } - }, - "node_modules/psl": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", - "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==" - }, - "node_modules/punycode": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", - "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", - "engines": { - "node": ">=6" - } - }, - "node_modules/querystringify": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", - "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==" - }, - "node_modules/requires-port": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", - "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==" - }, - "node_modules/resolve-pkg-maps": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz", - "integrity": "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==", - "dev": true, - "funding": { - "url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1" - } - }, - "node_modules/set-cookie-parser": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-2.6.0.tgz", - "integrity": "sha512-RVnVQxTXuerk653XfuliOxBP81Sf0+qfQE73LIYKcyMYHG94AuH0kgrQpRDuTZnSmjpysHmzxJXKNfa6PjFhyQ==" - }, - "node_modules/tough-cookie": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.4.tgz", - "integrity": "sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==", - "dependencies": { - "psl": "^1.1.33", - "punycode": "^2.1.1", - "universalify": "^0.2.0", - "url-parse": "^1.5.3" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/tr46": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" - }, - "node_modules/ts-mixer": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/ts-mixer/-/ts-mixer-6.0.4.tgz", - "integrity": "sha512-ufKpbmrugz5Aou4wcr5Wc1UUFWOLhq+Fm6qa6P0w0K5Qw2yhaUoiWszhCVuNQyNwrlGiscHOmqYoAox1PtvgjA==" - }, - "node_modules/ts-node": { - "version": "10.9.2", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.2.tgz", - "integrity": "sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==", - "dev": true, - "dependencies": { - "@cspotcode/source-map-support": "^0.8.0", - "@tsconfig/node10": "^1.0.7", - "@tsconfig/node12": "^1.0.7", - "@tsconfig/node14": "^1.0.0", - "@tsconfig/node16": "^1.0.2", - "acorn": "^8.4.1", - "acorn-walk": "^8.1.1", - "arg": "^4.1.0", - "create-require": "^1.1.0", - "diff": "^4.0.1", - "make-error": "^1.1.1", - "v8-compile-cache-lib": "^3.0.1", - "yn": "3.1.1" - }, - "bin": { - "ts-node": "dist/bin.js", - "ts-node-cwd": "dist/bin-cwd.js", - "ts-node-esm": "dist/bin-esm.js", - "ts-node-script": "dist/bin-script.js", - "ts-node-transpile-only": "dist/bin-transpile.js", - "ts-script": "dist/bin-script-deprecated.js" - }, - "peerDependencies": { - "@swc/core": ">=1.2.50", - "@swc/wasm": ">=1.2.50", - "@types/node": "*", - "typescript": ">=2.7" - }, - "peerDependenciesMeta": { - "@swc/core": { - "optional": true - }, - "@swc/wasm": { - "optional": true - } - } - }, - "node_modules/tslib": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz", - "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==" - }, - "node_modules/tslog": { - "version": "4.9.3", - "resolved": "https://registry.npmjs.org/tslog/-/tslog-4.9.3.tgz", - "integrity": "sha512-oDWuGVONxhVEBtschLf2cs/Jy8i7h1T+CpdkTNWQgdAF7DhRo2G8vMCgILKe7ojdEkLhICWgI1LYSSKaJsRgcw==", - "engines": { - "node": ">=16" - }, - "funding": { - "url": "https://github.com/fullstack-build/tslog?sponsor=1" - } - }, - "node_modules/tsx": { - "version": "4.15.7", - "resolved": "https://registry.npmjs.org/tsx/-/tsx-4.15.7.tgz", - "integrity": "sha512-u3H0iSFDZM3za+VxkZ1kywdCeHCn+8/qHQS1MNoO2sONDgD95HlWtt8aB23OzeTmFP9IU4/8bZUdg58Uu5J4cg==", - "dev": true, - "dependencies": { - "esbuild": "~0.21.4", - "get-tsconfig": "^4.7.5" - }, - "bin": { - "tsx": "dist/cli.mjs" - }, - "engines": { - "node": ">=18.0.0" - }, - "optionalDependencies": { - "fsevents": "~2.3.3" - } - }, - "node_modules/typescript": { - "version": "5.5.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.5.2.tgz", - "integrity": "sha512-NcRtPEOsPFFWjobJEtfihkLCZCXZt/os3zf8nTxjVH3RvTSxjrCamJpbExGvYOF+tFHc3pA65qpdwPbzjohhew==", - "dev": true, - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=14.17" - } - }, - "node_modules/undici-types": { - "version": "5.26.5", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", - "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==" - }, - "node_modules/universalify": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", - "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==", - "engines": { - "node": ">= 4.0.0" - } - }, - "node_modules/url-parse": { - "version": "1.5.10", - "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", - "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", - "dependencies": { - "querystringify": "^2.1.1", - "requires-port": "^1.0.0" - } - }, - "node_modules/v8-compile-cache-lib": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", - "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==", - "dev": true - }, - "node_modules/web-streams-polyfill": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.3.3.tgz", - "integrity": "sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==", - "engines": { - "node": ">= 8" - } - }, - "node_modules/webidl-conversions": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", - "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" - }, - "node_modules/whatwg-url": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", - "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", - "dependencies": { - "tr46": "~0.0.3", - "webidl-conversions": "^3.0.0" - } - }, - "node_modules/ws": { - "version": "8.17.1", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.17.1.tgz", - "integrity": "sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==", - "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": ">=5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } - } - }, - "node_modules/yaml": { - "version": "2.4.5", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.4.5.tgz", - "integrity": "sha512-aBx2bnqDzVOyNKfsysjA2ms5ZlnjSAW2eG3/L5G/CSujfjLJTJsEw1bGw8kCf04KodQWk1pxlGnZ56CRxiawmg==", - "bin": { - "yaml": "bin.mjs" - }, - "engines": { - "node": ">= 14" - } - }, - "node_modules/yn": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", - "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", - "dev": true, - "engines": { - "node": ">=6" - } - } - } -} diff --git a/web/agents/package.json b/web/agents/package.json deleted file mode 100644 index eecd7df5..00000000 --- a/web/agents/package.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "scripts": { - "start": "tsx build.ts" - }, - "dependencies": { - "discord.js-selfbot-v13": "^3.1.4", - "openai": "^4.52.0", - "tslog": "^4.9.3", - "yaml": "^2.4.5" - }, - "devDependencies": { - "ts-node": "^10.9.2", - "tsx": "^4.15.7", - "typescript": "^5.5.2" - } -} diff --git a/web/agents/pnpm-lock.yaml b/web/agents/pnpm-lock.yaml deleted file mode 100644 index 21156f08..00000000 --- a/web/agents/pnpm-lock.yaml +++ /dev/null @@ -1,745 +0,0 @@ -lockfileVersion: '6.0' - -settings: - autoInstallPeers: true - excludeLinksFromLockfile: false - -dependencies: - discord.js-selfbot-v13: - specifier: ^3.1.4 - version: 3.1.4 - openai: - specifier: ^4.52.0 - version: 4.52.1 - tslog: - specifier: ^4.9.3 - version: 4.9.3 - yaml: - specifier: ^2.4.5 - version: 2.4.5 - -devDependencies: - ts-node: - specifier: ^10.9.2 - version: 10.9.2(@types/node@20.14.9)(typescript@5.5.2) - tsx: - specifier: ^4.15.7 - version: 4.15.7 - typescript: - specifier: ^5.5.2 - version: 5.5.2 - -packages: - - /@aikochan2k6/qrcode-terminal@0.12.1: - resolution: {integrity: sha512-GfSrCCqKti0XyomCOaFRL//dnEpDux4tJleywuYChjHue+pqjM0lP39cQq8qtmfcOm1CqhWQeB6JS6kY4tQ8Tw==} - dev: false - - /@cspotcode/source-map-support@0.8.1: - resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} - engines: {node: '>=12'} - dependencies: - '@jridgewell/trace-mapping': 0.3.9 - dev: true - - /@discordjs/builders@1.8.2: - resolution: {integrity: sha512-6wvG3QaCjtMu0xnle4SoOIeFB4y6fKMN6WZfy3BMKJdQQtPLik8KGzDwBVL/+wTtcE/ZlFjgEk74GublyEVZ7g==} - engines: {node: '>=16.11.0'} - dependencies: - '@discordjs/formatters': 0.4.0 - '@discordjs/util': 1.1.0 - '@sapphire/shapeshift': 3.9.7 - discord-api-types: 0.37.83 - fast-deep-equal: 3.1.3 - ts-mixer: 6.0.4 - tslib: 2.6.3 - dev: false - - /@discordjs/collection@1.5.3: - resolution: {integrity: sha512-SVb428OMd3WO1paV3rm6tSjM4wC+Kecaa1EUGX7vc6/fddvw/6lg90z4QtCqm21zvVe92vMMDt9+DkIvjXImQQ==} - engines: {node: '>=16.11.0'} - dev: false - - /@discordjs/formatters@0.4.0: - resolution: {integrity: sha512-fJ06TLC1NiruF35470q3Nr1bi95BdvKFAF+T5bNfZJ4bNdqZ3VZ+Ttg6SThqTxm6qumSG3choxLBHMC69WXNXQ==} - engines: {node: '>=16.11.0'} - dependencies: - discord-api-types: 0.37.83 - dev: false - - /@discordjs/util@1.1.0: - resolution: {integrity: sha512-IndcI5hzlNZ7GS96RV3Xw1R2kaDuXEp7tRIy/KlhidpN/BQ1qh1NZt3377dMLTa44xDUNKT7hnXkA/oUAzD/lg==} - engines: {node: '>=16.11.0'} - dev: false - - /@esbuild/aix-ppc64@0.21.5: - resolution: {integrity: sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==} - engines: {node: '>=12'} - cpu: [ppc64] - os: [aix] - requiresBuild: true - dev: true - optional: true - - /@esbuild/android-arm64@0.21.5: - resolution: {integrity: sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==} - engines: {node: '>=12'} - cpu: [arm64] - os: [android] - requiresBuild: true - dev: true - optional: true - - /@esbuild/android-arm@0.21.5: - resolution: {integrity: sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==} - engines: {node: '>=12'} - cpu: [arm] - os: [android] - requiresBuild: true - dev: true - optional: true - - /@esbuild/android-x64@0.21.5: - resolution: {integrity: sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==} - engines: {node: '>=12'} - cpu: [x64] - os: [android] - requiresBuild: true - dev: true - optional: true - - /@esbuild/darwin-arm64@0.21.5: - resolution: {integrity: sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==} - engines: {node: '>=12'} - cpu: [arm64] - os: [darwin] - requiresBuild: true - dev: true - optional: true - - /@esbuild/darwin-x64@0.21.5: - resolution: {integrity: sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==} - engines: {node: '>=12'} - cpu: [x64] - os: [darwin] - requiresBuild: true - dev: true - optional: true - - /@esbuild/freebsd-arm64@0.21.5: - resolution: {integrity: sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==} - engines: {node: '>=12'} - cpu: [arm64] - os: [freebsd] - requiresBuild: true - dev: true - optional: true - - /@esbuild/freebsd-x64@0.21.5: - resolution: {integrity: sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==} - engines: {node: '>=12'} - cpu: [x64] - os: [freebsd] - requiresBuild: true - dev: true - optional: true - - /@esbuild/linux-arm64@0.21.5: - resolution: {integrity: sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==} - engines: {node: '>=12'} - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@esbuild/linux-arm@0.21.5: - resolution: {integrity: sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==} - engines: {node: '>=12'} - cpu: [arm] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@esbuild/linux-ia32@0.21.5: - resolution: {integrity: sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==} - engines: {node: '>=12'} - cpu: [ia32] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@esbuild/linux-loong64@0.21.5: - resolution: {integrity: sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==} - engines: {node: '>=12'} - cpu: [loong64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@esbuild/linux-mips64el@0.21.5: - resolution: {integrity: sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==} - engines: {node: '>=12'} - cpu: [mips64el] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@esbuild/linux-ppc64@0.21.5: - resolution: {integrity: sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==} - engines: {node: '>=12'} - cpu: [ppc64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@esbuild/linux-riscv64@0.21.5: - resolution: {integrity: sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==} - engines: {node: '>=12'} - cpu: [riscv64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@esbuild/linux-s390x@0.21.5: - resolution: {integrity: sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==} - engines: {node: '>=12'} - cpu: [s390x] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@esbuild/linux-x64@0.21.5: - resolution: {integrity: sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==} - engines: {node: '>=12'} - cpu: [x64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@esbuild/netbsd-x64@0.21.5: - resolution: {integrity: sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==} - engines: {node: '>=12'} - cpu: [x64] - os: [netbsd] - requiresBuild: true - dev: true - optional: true - - /@esbuild/openbsd-x64@0.21.5: - resolution: {integrity: sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==} - engines: {node: '>=12'} - cpu: [x64] - os: [openbsd] - requiresBuild: true - dev: true - optional: true - - /@esbuild/sunos-x64@0.21.5: - resolution: {integrity: sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==} - engines: {node: '>=12'} - cpu: [x64] - os: [sunos] - requiresBuild: true - dev: true - optional: true - - /@esbuild/win32-arm64@0.21.5: - resolution: {integrity: sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==} - engines: {node: '>=12'} - cpu: [arm64] - os: [win32] - requiresBuild: true - dev: true - optional: true - - /@esbuild/win32-ia32@0.21.5: - resolution: {integrity: sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==} - engines: {node: '>=12'} - cpu: [ia32] - os: [win32] - requiresBuild: true - dev: true - optional: true - - /@esbuild/win32-x64@0.21.5: - resolution: {integrity: sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==} - engines: {node: '>=12'} - cpu: [x64] - os: [win32] - requiresBuild: true - dev: true - optional: true - - /@jridgewell/resolve-uri@3.1.2: - resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} - engines: {node: '>=6.0.0'} - dev: true - - /@jridgewell/sourcemap-codec@1.4.15: - resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} - dev: true - - /@jridgewell/trace-mapping@0.3.9: - resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} - dependencies: - '@jridgewell/resolve-uri': 3.1.2 - '@jridgewell/sourcemap-codec': 1.4.15 - dev: true - - /@sapphire/async-queue@1.5.2: - resolution: {integrity: sha512-7X7FFAA4DngXUl95+hYbUF19bp1LGiffjJtu7ygrZrbdCSsdDDBaSjB7Akw0ZbOu6k0xpXyljnJ6/RZUvLfRdg==} - engines: {node: '>=v14.0.0', npm: '>=7.0.0'} - dev: false - - /@sapphire/shapeshift@3.9.7: - resolution: {integrity: sha512-4It2mxPSr4OGn4HSQWGmhFMsNFGfFVhWeRPCRwbH972Ek2pzfGRZtb0pJ4Ze6oIzcyh2jw7nUDa6qGlWofgd9g==} - engines: {node: '>=v16'} - dependencies: - fast-deep-equal: 3.1.3 - lodash: 4.17.21 - dev: false - - /@tsconfig/node10@1.0.11: - resolution: {integrity: sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==} - dev: true - - /@tsconfig/node12@1.0.11: - resolution: {integrity: sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==} - dev: true - - /@tsconfig/node14@1.0.3: - resolution: {integrity: sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==} - dev: true - - /@tsconfig/node16@1.0.4: - resolution: {integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==} - dev: true - - /@types/node-fetch@2.6.11: - resolution: {integrity: sha512-24xFj9R5+rfQJLRyM56qh+wnVSYhyXC2tkoBndtY0U+vubqNsYXGjufB2nn8Q6gt0LrARwL6UBtMCSVCwl4B1g==} - dependencies: - '@types/node': 20.14.9 - form-data: 4.0.0 - dev: false - - /@types/node@18.19.39: - resolution: {integrity: sha512-nPwTRDKUctxw3di5b4TfT3I0sWDiWoPQCZjXhvdkINntwr8lcoVCKsTgnXeRubKIlfnV+eN/HYk6Jb40tbcEAQ==} - dependencies: - undici-types: 5.26.5 - dev: false - - /@types/node@20.14.9: - resolution: {integrity: sha512-06OCtnTXtWOZBJlRApleWndH4JsRVs1pDCc8dLSQp+7PpUpX3ePdHyeNSFTeSe7FtKyQkrlPvHwJOW3SLd8Oyg==} - dependencies: - undici-types: 5.26.5 - - /@types/ws@8.5.10: - resolution: {integrity: sha512-vmQSUcfalpIq0R9q7uTo2lXs6eGIpt9wtnLdMv9LVpIjCA/+ufZRozlVoVelIYixx1ugCBKDhn89vnsEGOCx9A==} - dependencies: - '@types/node': 20.14.9 - dev: false - - /abort-controller@3.0.0: - resolution: {integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==} - engines: {node: '>=6.5'} - dependencies: - event-target-shim: 5.0.1 - dev: false - - /acorn-walk@8.3.3: - resolution: {integrity: sha512-MxXdReSRhGO7VlFe1bRG/oI7/mdLV9B9JJT0N8vZOhF7gFRR5l3M8W9G8JxmKV+JC5mGqJ0QvqfSOLsCPa4nUw==} - engines: {node: '>=0.4.0'} - dependencies: - acorn: 8.12.0 - dev: true - - /acorn@8.12.0: - resolution: {integrity: sha512-RTvkC4w+KNXrM39/lWCUaG0IbRkWdCv7W/IOW9oU6SawyxulvkQy5HQPVTKxEjczcUvapcrw3cFx/60VN/NRNw==} - engines: {node: '>=0.4.0'} - hasBin: true - dev: true - - /agentkeepalive@4.5.0: - resolution: {integrity: sha512-5GG/5IbQQpC9FpkRGsSvZI5QYeSCzlJHdpBQntCsuTOxhKD8lqKhrleg2Yi7yvMIf82Ycmmqln9U8V9qwEiJew==} - engines: {node: '>= 8.0.0'} - dependencies: - humanize-ms: 1.2.1 - dev: false - - /arg@4.1.3: - resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==} - dev: true - - /asynckit@0.4.0: - resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} - dev: false - - /combined-stream@1.0.8: - resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} - engines: {node: '>= 0.8'} - dependencies: - delayed-stream: 1.0.0 - dev: false - - /create-require@1.1.1: - resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} - dev: true - - /delayed-stream@1.0.0: - resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} - engines: {node: '>=0.4.0'} - dev: false - - /diff@4.0.2: - resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==} - engines: {node: '>=0.3.1'} - dev: true - - /discord-api-types@0.37.83: - resolution: {integrity: sha512-urGGYeWtWNYMKnYlZnOnDHm8fVRffQs3U0SpE8RHeiuLKb/u92APS8HoQnPTFbnXmY1vVnXjXO4dOxcAn3J+DA==} - dev: false - - /discord-api-types@0.37.90: - resolution: {integrity: sha512-lpOJSGrqHuXoM4FV/2HtjoaJpCClGFHpRNIdZEW8zPINlsCHNSfIwA2EQ8dxeE6k1QhhTuM9ZlOGVYXoU7FLgA==} - dev: false - - /discord.js-selfbot-v13@3.1.4: - resolution: {integrity: sha512-MkUBnrRKIFsA8M/9IUxrGzZNJypzwA5mwyF3ZV4NJldHw6Z8GBAnkmH10rK8B2uUuCY+tfMSHbOxo796LUZiYg==} - engines: {node: '>=16.6.0', npm: '>=7.0.0'} - dependencies: - '@aikochan2k6/qrcode-terminal': 0.12.1 - '@discordjs/builders': 1.8.2 - '@discordjs/collection': 1.5.3 - '@sapphire/async-queue': 1.5.2 - '@sapphire/shapeshift': 3.9.7 - '@types/node-fetch': 2.6.11 - '@types/ws': 8.5.10 - discord-api-types: 0.37.90 - fetch-cookie: 2.2.0 - form-data: 4.0.0 - node-fetch: 2.7.0 - tough-cookie: 4.1.4 - ws: 8.17.1 - transitivePeerDependencies: - - bufferutil - - encoding - - utf-8-validate - dev: false - - /esbuild@0.21.5: - resolution: {integrity: sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==} - engines: {node: '>=12'} - hasBin: true - requiresBuild: true - optionalDependencies: - '@esbuild/aix-ppc64': 0.21.5 - '@esbuild/android-arm': 0.21.5 - '@esbuild/android-arm64': 0.21.5 - '@esbuild/android-x64': 0.21.5 - '@esbuild/darwin-arm64': 0.21.5 - '@esbuild/darwin-x64': 0.21.5 - '@esbuild/freebsd-arm64': 0.21.5 - '@esbuild/freebsd-x64': 0.21.5 - '@esbuild/linux-arm': 0.21.5 - '@esbuild/linux-arm64': 0.21.5 - '@esbuild/linux-ia32': 0.21.5 - '@esbuild/linux-loong64': 0.21.5 - '@esbuild/linux-mips64el': 0.21.5 - '@esbuild/linux-ppc64': 0.21.5 - '@esbuild/linux-riscv64': 0.21.5 - '@esbuild/linux-s390x': 0.21.5 - '@esbuild/linux-x64': 0.21.5 - '@esbuild/netbsd-x64': 0.21.5 - '@esbuild/openbsd-x64': 0.21.5 - '@esbuild/sunos-x64': 0.21.5 - '@esbuild/win32-arm64': 0.21.5 - '@esbuild/win32-ia32': 0.21.5 - '@esbuild/win32-x64': 0.21.5 - dev: true - - /event-target-shim@5.0.1: - resolution: {integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==} - engines: {node: '>=6'} - dev: false - - /fast-deep-equal@3.1.3: - resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} - dev: false - - /fetch-cookie@2.2.0: - resolution: {integrity: sha512-h9AgfjURuCgA2+2ISl8GbavpUdR+WGAM2McW/ovn4tVccegp8ZqCKWSBR8uRdM8dDNlx5WdKRWxBYUwteLDCNQ==} - dependencies: - set-cookie-parser: 2.6.0 - tough-cookie: 4.1.4 - dev: false - - /form-data-encoder@1.7.2: - resolution: {integrity: sha512-qfqtYan3rxrnCk1VYaA4H+Ms9xdpPqvLZa6xmMgFvhO32x7/3J/ExcTd6qpxM0vH2GdMI+poehyBZvqfMTto8A==} - dev: false - - /form-data@4.0.0: - resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==} - engines: {node: '>= 6'} - dependencies: - asynckit: 0.4.0 - combined-stream: 1.0.8 - mime-types: 2.1.35 - dev: false - - /formdata-node@4.4.1: - resolution: {integrity: sha512-0iirZp3uVDjVGt9p49aTaqjk84TrglENEDuqfdlZQ1roC9CWlPk6Avf8EEnZNcAqPonwkG35x4n3ww/1THYAeQ==} - engines: {node: '>= 12.20'} - dependencies: - node-domexception: 1.0.0 - web-streams-polyfill: 4.0.0-beta.3 - dev: false - - /fsevents@2.3.3: - resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} - engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} - os: [darwin] - requiresBuild: true - dev: true - optional: true - - /get-tsconfig@4.7.5: - resolution: {integrity: sha512-ZCuZCnlqNzjb4QprAzXKdpp/gh6KTxSJuw3IBsPnV/7fV4NxC9ckB+vPTt8w7fJA0TaSD7c55BR47JD6MEDyDw==} - dependencies: - resolve-pkg-maps: 1.0.0 - dev: true - - /humanize-ms@1.2.1: - resolution: {integrity: sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==} - dependencies: - ms: 2.1.3 - dev: false - - /lodash@4.17.21: - resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} - dev: false - - /make-error@1.3.6: - resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} - dev: true - - /mime-db@1.52.0: - resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} - engines: {node: '>= 0.6'} - dev: false - - /mime-types@2.1.35: - resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} - engines: {node: '>= 0.6'} - dependencies: - mime-db: 1.52.0 - dev: false - - /ms@2.1.3: - resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} - dev: false - - /node-domexception@1.0.0: - resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==} - engines: {node: '>=10.5.0'} - dev: false - - /node-fetch@2.7.0: - resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} - engines: {node: 4.x || >=6.0.0} - peerDependencies: - encoding: ^0.1.0 - peerDependenciesMeta: - encoding: - optional: true - dependencies: - whatwg-url: 5.0.0 - dev: false - - /openai@4.52.1: - resolution: {integrity: sha512-kv2hevAWZZ3I/vd2t8znGO2rd8wkowncsfcYpo8i+wU9ML+JEcdqiViANXXjWWGjIhajFNixE6gOY1fEgqILAg==} - hasBin: true - dependencies: - '@types/node': 18.19.39 - '@types/node-fetch': 2.6.11 - abort-controller: 3.0.0 - agentkeepalive: 4.5.0 - form-data-encoder: 1.7.2 - formdata-node: 4.4.1 - node-fetch: 2.7.0 - web-streams-polyfill: 3.3.3 - transitivePeerDependencies: - - encoding - dev: false - - /psl@1.9.0: - resolution: {integrity: sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==} - dev: false - - /punycode@2.3.1: - resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} - engines: {node: '>=6'} - dev: false - - /querystringify@2.2.0: - resolution: {integrity: sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==} - dev: false - - /requires-port@1.0.0: - resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==} - dev: false - - /resolve-pkg-maps@1.0.0: - resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} - dev: true - - /set-cookie-parser@2.6.0: - resolution: {integrity: sha512-RVnVQxTXuerk653XfuliOxBP81Sf0+qfQE73LIYKcyMYHG94AuH0kgrQpRDuTZnSmjpysHmzxJXKNfa6PjFhyQ==} - dev: false - - /tough-cookie@4.1.4: - resolution: {integrity: sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==} - engines: {node: '>=6'} - dependencies: - psl: 1.9.0 - punycode: 2.3.1 - universalify: 0.2.0 - url-parse: 1.5.10 - dev: false - - /tr46@0.0.3: - resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} - dev: false - - /ts-mixer@6.0.4: - resolution: {integrity: sha512-ufKpbmrugz5Aou4wcr5Wc1UUFWOLhq+Fm6qa6P0w0K5Qw2yhaUoiWszhCVuNQyNwrlGiscHOmqYoAox1PtvgjA==} - dev: false - - /ts-node@10.9.2(@types/node@20.14.9)(typescript@5.5.2): - resolution: {integrity: sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==} - hasBin: true - peerDependencies: - '@swc/core': '>=1.2.50' - '@swc/wasm': '>=1.2.50' - '@types/node': '*' - typescript: '>=2.7' - peerDependenciesMeta: - '@swc/core': - optional: true - '@swc/wasm': - optional: true - dependencies: - '@cspotcode/source-map-support': 0.8.1 - '@tsconfig/node10': 1.0.11 - '@tsconfig/node12': 1.0.11 - '@tsconfig/node14': 1.0.3 - '@tsconfig/node16': 1.0.4 - '@types/node': 20.14.9 - acorn: 8.12.0 - acorn-walk: 8.3.3 - arg: 4.1.3 - create-require: 1.1.1 - diff: 4.0.2 - make-error: 1.3.6 - typescript: 5.5.2 - v8-compile-cache-lib: 3.0.1 - yn: 3.1.1 - dev: true - - /tslib@2.6.3: - resolution: {integrity: sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==} - dev: false - - /tslog@4.9.3: - resolution: {integrity: sha512-oDWuGVONxhVEBtschLf2cs/Jy8i7h1T+CpdkTNWQgdAF7DhRo2G8vMCgILKe7ojdEkLhICWgI1LYSSKaJsRgcw==} - engines: {node: '>=16'} - dev: false - - /tsx@4.15.7: - resolution: {integrity: sha512-u3H0iSFDZM3za+VxkZ1kywdCeHCn+8/qHQS1MNoO2sONDgD95HlWtt8aB23OzeTmFP9IU4/8bZUdg58Uu5J4cg==} - engines: {node: '>=18.0.0'} - hasBin: true - dependencies: - esbuild: 0.21.5 - get-tsconfig: 4.7.5 - optionalDependencies: - fsevents: 2.3.3 - dev: true - - /typescript@5.5.2: - resolution: {integrity: sha512-NcRtPEOsPFFWjobJEtfihkLCZCXZt/os3zf8nTxjVH3RvTSxjrCamJpbExGvYOF+tFHc3pA65qpdwPbzjohhew==} - engines: {node: '>=14.17'} - hasBin: true - dev: true - - /undici-types@5.26.5: - resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} - - /universalify@0.2.0: - resolution: {integrity: sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==} - engines: {node: '>= 4.0.0'} - dev: false - - /url-parse@1.5.10: - resolution: {integrity: sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==} - dependencies: - querystringify: 2.2.0 - requires-port: 1.0.0 - dev: false - - /v8-compile-cache-lib@3.0.1: - resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} - dev: true - - /web-streams-polyfill@3.3.3: - resolution: {integrity: sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==} - engines: {node: '>= 8'} - dev: false - - /web-streams-polyfill@4.0.0-beta.3: - resolution: {integrity: sha512-QW95TCTaHmsYfHDybGMwO5IJIM93I/6vTRk+daHTWFPhwh+C8Cg7j7XyKrwrj8Ib6vYXe0ocYNrmzY4xAAN6ug==} - engines: {node: '>= 14'} - dev: false - - /webidl-conversions@3.0.1: - resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} - dev: false - - /whatwg-url@5.0.0: - resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} - dependencies: - tr46: 0.0.3 - webidl-conversions: 3.0.1 - dev: false - - /ws@8.17.1: - resolution: {integrity: sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==} - engines: {node: '>=10.0.0'} - peerDependencies: - bufferutil: ^4.0.1 - utf-8-validate: '>=5.0.2' - peerDependenciesMeta: - bufferutil: - optional: true - utf-8-validate: - optional: true - dev: false - - /yaml@2.4.5: - resolution: {integrity: sha512-aBx2bnqDzVOyNKfsysjA2ms5ZlnjSAW2eG3/L5G/CSujfjLJTJsEw1bGw8kCf04KodQWk1pxlGnZ56CRxiawmg==} - engines: {node: '>= 14'} - hasBin: true - dev: false - - /yn@3.1.1: - resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==} - engines: {node: '>=6'} - dev: true diff --git a/web/agents/tsconfig.json b/web/agents/tsconfig.json deleted file mode 100644 index 81645f44..00000000 --- a/web/agents/tsconfig.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "compilerOptions": { - "lib": ["dom", "dom.iterable", "esnext"], - "allowJs": true, - "skipLibCheck": true, - "strict": true, - "noEmit": true, - "esModuleInterop": true, - "module": "esnext", - "moduleResolution": "bundler", - "resolveJsonModule": true, - "downlevelIteration": true, - "isolatedModules": true, - "jsx": "preserve", - "incremental": true, - }, - "include": ["**/*.ts", "**/*.tsx"], - "exclude": ["node_modules"] - } - \ No newline at end of file diff --git a/web/app/_page.tsx b/web/app/_page.tsx deleted file mode 100644 index c58f3690..00000000 --- a/web/app/_page.tsx +++ /dev/null @@ -1,228 +0,0 @@ -"use client"; - -import Image from 'next/image' -import { Example, IdeaCard } from '@/components/agents/IdeaCard'; -import { useEffect, useRef, useState } from 'react'; -import useAutosizeTextArea from '@/hooks/useAutosizeTextArea'; -import { Textarea, Button } from '@nextui-org/react'; -import { SearchCode } from 'lucide-react'; - -import { Mention, MentionsInput } from 'react-mentions' - -import defaultStyle from '../components/agents/defaultStyle' -import defaultMentionStyle from '../components/agents/defaultMentionStyle'; - -import '../components/agents/s.css' -import Container from '@/components/agents/Container'; -import { AgentCommand, ChatBreak, ChatBreakProps, ChatMessage, ChatMessageProps, isChatBreakProps, isChatMessageProps } from '@/components/agents/ChatMessage'; -import axios from 'axios'; - -import { serverUrl } from '@/lib/env'; - -function parseAgentCommands(input: string): AgentCommand[] { - const result: AgentCommand[] = []; - const regex = /@\[([^\]]+)\]\(([^)]+)\)\s*([^@]*)/g; - let match; - - while ((match = regex.exec(input)) !== null) { - const [_, fullName, name, content] = match; - result.push({ - name: name.trim(), - content: content.trim() - }); - } - console.log('results', result) - return result; -} - -export default function AgentsPage() { - const [value, setValue] = useState(''); - const textAreaRef = useRef(null); - const [chatStarted, setChatStarted] = useState(false); - const [agents, setAgents] = useState(); - const target = useRef(null); - - useEffect(() => { - const _ = async () => { - const response = await axios.get(`${serverUrl}/get_all_agents`); - setAgents(response.data.agents) - } - - _() - }, []) - - const handleKeyDown = (event: any) => { - if (event.key === 'Enter' && !event.shiftKey && !event.ctrlKey && !event.altKey) { - event.preventDefault(); - // console.log('Enter key pressed without any modifiers'); - if (target.current) { - target.current.click() - } - } - }; - - useEffect(() => { - window.addEventListener('keydown', handleKeyDown); - - return () => { - window.removeEventListener('keydown', handleKeyDown); - }; - }, []); - - useAutosizeTextArea(textAreaRef.current, value); - - const handleQuery = () => { - if (!chatStarted) - setChatStarted(true); - - console.log('value is', value); - const parsed = parseAgentCommands(value); - - setMessages((prev) => { - return [ - ...prev, - { - direction: 'right', - agentName: 'user', - query: parsed - }, - { - size: 10 - }, - ...parsed.map(p => ({ - direction: 'left', - agentName: p.name, - query: p.content - } as ChatMessageProps)), - - { - size: 10 - }, - ] - - }) - - setValue('') - - - } - - const [messages, setMessages] = useState>([]); - - const callback = (a: Example[], phrase: string) => { - if (!chatStarted) - setChatStarted(true); - - console.log('value is', phrase); - const parsed = parseAgentCommands(phrase); - - setMessages((prev) => { - return [ - ...prev, - { - direction: 'right', - agentName: 'user', - query: parsed - }, - { - size: 10 - }, - ...parsed.map(p => ({ - direction: 'left', - agentName: p.name, - query: p.content - } as ChatMessageProps)), - - { - size: 10 - }, - ] - - }) - } - - // useEffect(() => { - // if (value.at(0) == ';' && value.at(1) == ';') { - - // } - // }, [value]) - - return ( -
-
-

Coming

-

Soon

-
-
- {!chatStarted ? (
- {'AGI -
- - - -
-
) : (
-
- {'AGI -

OpenAGI

-
- - {messages.map((message, index) => { - if (isChatBreakProps(message)) - return - else if (isChatMessageProps(message)) - return - })} - -
)} -
- setValue(e.target.value)} - style={defaultStyle} - className={'mention_input'} - placeholder={"Mention people using '@'"} - a11ySuggestionsListLabel={"Suggested mentions"} - allowSuggestionsAboveCursor={true} - customSuggestionsContainer={(children) =>

This container has customised suggestions

{children}
} - > - -
- - -
-
-
- ); -} - - - diff --git a/web/app/api/download/route.ts b/web/app/api/download/route.ts deleted file mode 100644 index 1e1c08ad..00000000 --- a/web/app/api/download/route.ts +++ /dev/null @@ -1,20 +0,0 @@ -import { NextResponse } from 'next/server'; -import prisma from '../../../lib/prisma' - -export async function GET(request: Request): Promise { - const { searchParams } = new URL(request.url); - const name = searchParams.get('name'); - const version = searchParams.get('version'); - - if (name) { - const result = await prisma.agentConfig.findFirst({where: { - name: name, - }}); - - if (result != null) { - return NextResponse.json({status : 'success', ...result}); - } - } - - return NextResponse.json({status : 'fail'}); - } \ No newline at end of file diff --git a/web/app/api/get_all_agents/route.ts b/web/app/api/get_all_agents/route.ts deleted file mode 100644 index 8dfe9245..00000000 --- a/web/app/api/get_all_agents/route.ts +++ /dev/null @@ -1,11 +0,0 @@ -export const dynamic = 'force-dynamic' - -import { NextResponse } from 'next/server'; -import prisma from '../../../lib/prisma' - -export async function GET(request: Request): Promise { - - const result = await prisma.agentConfig.findMany(); - - return NextResponse.json({status : 'success', ...result}); - } \ No newline at end of file diff --git a/web/app/api/upload/route.ts b/web/app/api/upload/route.ts deleted file mode 100644 index d992969e..00000000 --- a/web/app/api/upload/route.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { NextResponse } from 'next/server'; -import prisma from '../../../lib/prisma' - -export async function POST(request: Request): Promise { - if (request.body) { - const body = await request.json(); - - const result = await prisma.agentConfig.create({ - data: body - }) - - return NextResponse.json(result); - } else { - return NextResponse.json({status : 'fail'}); - } -} diff --git a/web/app/deprecated/page.tsx b/web/app/deprecated/page.tsx deleted file mode 100644 index c7a691e2..00000000 --- a/web/app/deprecated/page.tsx +++ /dev/null @@ -1,86 +0,0 @@ -'use client' -import { AgentContainer } from "@/components/AgentContainer"; -import { StrictModeDroppable } from "@/components/rewrites/StrictModeDroppable"; -import Image from "next/image"; -import { Calculator, LucideProps } from "lucide-react"; -import { ReactNode, useState } from "react"; - -import { DragDropContext, Droppable, OnDragEndResponder } from '@hello-pangea/dnd' - -export default function Home() { - const [agents, setAgents] = useState[]>([{ - name: 'Math Agent', - icon: - },{ - name: 'Story Agent', - icon: - }, - ]); - - function swap(array_: any[], index1: number, index2: number): any[] { - let array = [...array_] - // Ensure the indexes are within bounds - if (index1 >= 0 && index1 < array.length && index2 >= 0 && index2 < array.length) { - // Swap using a temporary variable - let temp = array[index1]; - array[index1] = array[index2]; - array[index2] = temp; - } else { - console.error("Invalid indexes provided"); - } - - return array; - } - - const onDragEnd = (result: any) => { - console.log(result); - - const destination = result.destination.index; - const source = result.source.index; - - setAgents((prev) => { - return swap(prev, source, destination) - }) - } - - return ( - -
- - {(provided) => ( -
- {agents.map((agent, index: number) => ())} -
)} -
-
- -
- - - {/* - {(provided) => ( -
- - {agents.map((agent: string, index: number) => ())} - {provided.placeholder} -
)} -
- - {(provided) => ( -
- - {agents.map((agent: string, index: number) => ())} - {provided.placeholder} -
)} -
*/} - -
-
- ); -} diff --git a/web/app/exampleagent/page.tsx b/web/app/exampleagent/page.tsx deleted file mode 100644 index bfbcfa06..00000000 --- a/web/app/exampleagent/page.tsx +++ /dev/null @@ -1,5 +0,0 @@ - - -export default function Page() { - return
This is agent 1
-} \ No newline at end of file diff --git a/web/app/favicon.ico b/web/app/favicon.ico deleted file mode 100644 index 718d6fea4835ec2d246af9800eddb7ffb276240c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 25931 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 LrJugUA?W`A8`#=m diff --git a/web/app/globals.css b/web/app/globals.css deleted file mode 100644 index f449c6cc..00000000 --- a/web/app/globals.css +++ /dev/null @@ -1,37 +0,0 @@ -@tailwind base; -@tailwind components; -@tailwind utilities; - -:root { - --foreground-rgb: 0, 0, 0; - --background-start-rgb: 214, 219, 220; - --background-end-rgb: 255, 255, 255; -} - -@media (prefers-color-scheme: dark) { - :root { - --foreground-rgb: 255, 255, 255; - --background-start-rgb: 0, 0, 0; - --background-end-rgb: 0, 0, 0; - } -} - -body { - color: rgb(var(--foreground-rgb)); - background: linear-gradient( - to bottom, - transparent, - rgb(var(--background-end-rgb)) - ) - rgb(var(--background-start-rgb)); -} - -@layer utilities { - .text-balance { - text-wrap: balance; - } -} - -/* * { - color: black -} */ diff --git a/web/app/layout.tsx b/web/app/layout.tsx deleted file mode 100644 index 199be1fb..00000000 --- a/web/app/layout.tsx +++ /dev/null @@ -1,33 +0,0 @@ -import type { Metadata } from "next"; -import { Inter } from "next/font/google"; -import "./globals.css"; -import { FlowProvider } from "./providers"; - -const inter = Inter({ subsets: ["latin"] }); - -export const metadata: Metadata = { - title: "AIOS", - description: "Built & Hosted by AGI Research", -}; - -export default function RootLayout({ - children, -}: Readonly<{ - children: React.ReactNode; -}>) { - return ( - - - - - {children} - - - - ); -} diff --git a/web/app/modern/page.tsx b/web/app/modern/page.tsx deleted file mode 100644 index d6c1e8eb..00000000 --- a/web/app/modern/page.tsx +++ /dev/null @@ -1,37 +0,0 @@ -'use client' - -import { Sidebar } from "@/components/modern/sidebar"; -import { Settings } from '@/components/modern/settings' -import { Instruction } from "@/components/modern/instruction"; -import { Interface } from "@/components/modern/interface"; - -import { useEffect, useState } from 'react'; -import Image from 'next/image' - -interface NightshadeProps { - // keys: string[] -} - -const Nightshade: React.FC = () => { - return
- -
-
-
- {'AGI -
- -

AIOS

-
-
- - - -
-
-
-} - -export default Nightshade \ No newline at end of file diff --git a/web/app/page.tsx b/web/app/page.tsx deleted file mode 100644 index 3ee8c966..00000000 --- a/web/app/page.tsx +++ /dev/null @@ -1,37 +0,0 @@ -'use client' - -import { Sidebar } from "@/components/modern/sidebar"; -import { Settings } from '@/components/modern/settings' -import { Instruction } from "@/components/modern/instruction"; -import { Interface } from "@/components/modern/interface"; - -import { useEffect, useState } from 'react'; -import Image from 'next/image' - -interface NightshadeProps { - // keys: string[] -} - -const Nightshade: React.FC = () => { - return
- -
-
-
- {'AGI -
- -

AIOS

-
-
- - - -
-
-
-} - -export default Nightshade diff --git a/web/app/playground/page.tsx b/web/app/playground/page.tsx deleted file mode 100644 index 4c926e82..00000000 --- a/web/app/playground/page.tsx +++ /dev/null @@ -1,206 +0,0 @@ -'use client' - -import React, { useCallback, useRef } from 'react'; -import ReactFlow, { Controls, useNodesState, useEdgesState, addEdge, Node, Edge, useReactFlow } from 'reactflow'; -import { FiFile } from 'react-icons/fi'; - -import 'reactflow/dist/base.css'; -import '@/components/playground/rewrites.css'; -import TurboEdge from '@/components/playground/Edge'; -import FunctionIcon from '@/components/playground/FunctionIcon'; -import Sidebar from '@/components/playground/Sidebar'; -import Decisive from '@/components/playground/nodes/Decisive'; -import Conversational from '@/components/playground/nodes/Conversational'; -import Laborious from '@/components/playground/nodes/Laborious'; -import { Connection, createWorkflowStructure } from '@/agents/graph'; - -const initialNodes: Node[] = []; - -import { AgentContainer } from '@/components/AgentContainer'; - -// [ -// { -// id: '1', -// position: { x: 0, y: 0 }, -// data: { icon: , title: 'readFile', subline: 'api.ts' }, -// type: 'turbo', -// }, -// { -// id: '2', -// position: { x: 250, y: 0 }, -// data: { icon: , title: 'bundle', subline: 'apiContents' }, -// type: 'turbo', -// }, -// { -// id: '3', -// position: { x: 0, y: 250 }, -// data: { icon: , title: 'readFile', subline: 'sdk.ts' }, -// type: 'turbo', -// }, -// { -// id: '4', -// position: { x: 250, y: 250 }, -// data: { icon: , title: 'bundle', subline: 'sdkContents' }, -// type: 'turbo', -// }, -// { -// id: '5', -// position: { x: 500, y: 125 }, -// data: { icon: , title: 'concat', subline: 'api, sdk' }, -// type: 'turbo', -// }, -// { -// id: '6', -// position: { x: 750, y: 125 }, -// data: { icon: , title: 'fullBundle' }, -// type: 'turbo', -// }, -// ]; - -const initialEdges: Edge[] = []; - -// [{ -// id: 'e1-2', -// source: '1', -// target: '2', -// }, -// ] - - -const nodeTypes = { - decisive: Decisive, - conversable: Conversational, - laborious: Laborious, -}; - -const edgeTypes = { - turbo: TurboEdge, -}; - -const defaultEdgeOptions = { - type: 'turbo', - markerEnd: 'edge-circle', -}; - -let id = 0; -const getId = () => `dndnode_${id++}`; - -const Flow = () => { - const reactFlowWrapper = useRef(null); - const [nodes, setNodes, onNodesChange] = useNodesState(initialNodes); - const [edges, setEdges, onEdgesChange] = useEdgesState(initialEdges); - const { screenToFlowPosition } = useReactFlow(); - - const onConnect = useCallback((params: any) => setEdges((els) => addEdge(params, els)), []); - - const onDragOver = useCallback((event: any) => { - event.preventDefault(); - event.dataTransfer.dropEffect = 'move'; - }, []); - - const onDrop = useCallback( - (event: any) => { - event.preventDefault(); - - const type = event.dataTransfer.getData('application/reactflow'); - - if (typeof type === 'undefined' || !type) { - return; - } - - const position = screenToFlowPosition({ - x: event.clientX, - y: event.clientY, - }); - - let data = {}; - - if (!(type == 'conversable')) { - data = { setter: (s: string) => console.log(s) }; - } - - const newNode = { - id: getId(), - type: type, - position, - data: { - ...data - }, - }; - - setNodes((nds) => nds.concat(newNode)); - }, - [screenToFlowPosition], - ); - - return ( -
-
-
- - - - - - - - - - - - - - - -
-
- -
-
- -
- -
- -
-
-
- ); -}; - -export default Flow; diff --git a/web/app/providers.tsx b/web/app/providers.tsx deleted file mode 100644 index 85f2449a..00000000 --- a/web/app/providers.tsx +++ /dev/null @@ -1,15 +0,0 @@ -'use client' - -import { ReactFlowProvider } from "reactflow" -import {NextUIProvider} from '@nextui-org/react' - - -export function FlowProvider({ children }: { children: React.ReactNode }) { - return ( - - - {children} - - - ) -} \ No newline at end of file diff --git a/web/backend/__init__.py b/web/backend/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/web/backend/agent.py b/web/backend/agent.py deleted file mode 100644 index 63a96473..00000000 --- a/web/backend/agent.py +++ /dev/null @@ -1,25 +0,0 @@ -import json - -class BaseAgent: - def __init__(self, config: str): - with open(config, 'r') as file: - data: dict[str, dict] = json.load(file) - - self.name = data.get('meta').get('name') - self.author = data.get('meta').get('author') - self.version = data.get('meta').get('version') - self.description = data.get('meta').get('description') - - def run(): - pass - - -class NewAgent(BaseAgent): - def __init__(self, config: str, *args, **kwargs): - super().__init__(self, config) - - #own stuff here - - def run(self): - pass - # own stuff here \ No newline at end of file diff --git a/web/backend/config.json b/web/backend/config.json deleted file mode 100644 index fc682fd3..00000000 --- a/web/backend/config.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "meta": { - "author": "Balaji Rama", - "version": "0.1", - "name": "new_agent1", - "description": "Description Here For the New Agent", - "license": "CC-0", - "logo": "Path To Logo" - }, - - "external": { - "ephemeral_cache_name": "Name Of Folder To Save Temp Data", - "persistent_cache_name": "Long Term Cache" - } -} diff --git a/web/backend/dongyuanjushi/academic_agent/agent.py b/web/backend/dongyuanjushi/academic_agent/agent.py deleted file mode 100755 index f778fd83..00000000 --- a/web/backend/dongyuanjushi/academic_agent/agent.py +++ /dev/null @@ -1,103 +0,0 @@ - -from ...base import BaseAgent - -import time - -from ...agent_process import ( - AgentProcess -) - -import numpy as np - -import argparse - -from concurrent.futures import as_completed - -from ....utils.chat_template import Query - -from ....tools.online.arxiv import Arxiv - -from ....tools.online.wikipedia import Wikipedia - -import json - -class AcademicAgent(BaseAgent): - def __init__(self, - agent_name, - task_input, - llm, - agent_process_queue, - agent_process_factory, - log_mode: str - ): - BaseAgent.__init__(self, agent_name, task_input, llm, agent_process_queue, agent_process_factory, log_mode) - self.tool_list = { - "arxiv": Arxiv() - } - - def run(self): - request_waiting_times = [] - request_turnaround_times = [] - - task_input = "The task you need to solve is: " + self.task_input - self.logger.log(f"{task_input}\n", level="info") - request_waiting_times = [] - request_turnaround_times = [] - - rounds = 0 - - for i, step in enumerate(self.workflow): - prompt = f"\nAt current step, you need to {step}. Output should focus on current step and don't be verbose!" - self.messages.append({ - "role": "user", - "content": prompt - }) - - tool_use = self.tools if i == 0 else None - response, start_times, end_times, waiting_times, turnaround_times = self.get_response( - query = Query( - messages = self.messages, - tools = tool_use - ) - ) - response_message = response.response_message - if i == 0: - self.set_start_time(start_times[0]) - - tool_calls = response.tool_calls - - request_waiting_times.extend(waiting_times) - request_turnaround_times.extend(turnaround_times) - - if tool_calls: - tool_call_responses = self.call_tools(tool_calls=tool_calls) - - if response_message is None: - response_message = tool_call_responses - if i == len(self.workflow) - 1: - final_result = response_message - - else: - self.messages.append({ - "role": "assistant", - "content": response_message - }) - if i == len(self.workflow) - 1: - final_result = response_message - - self.logger.log(f"{response_message}\n", level="info") - - rounds += 1 - - self.set_status("done") - self.set_end_time(time=time.time()) - - return { - "agent_name": self.agent_name, - "result": final_result, - "rounds": rounds, - "agent_waiting_time": self.start_time - self.created_time, - "agent_turnaround_time": self.end_time - self.created_time, - "request_waiting_times": request_waiting_times, - "request_turnaround_times": request_turnaround_times, - } diff --git a/web/backend/dongyuanjushi/academic_agent/config.json b/web/backend/dongyuanjushi/academic_agent/config.json deleted file mode 100644 index b6370138..00000000 --- a/web/backend/dongyuanjushi/academic_agent/config.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "name": "AcademicAgent", - "description": [ - "You are an expert who is good at looking up and summarizing academic articles. " - ], - "workflow": [ - "identify the tool to call based on the academic requirements and call the tool. ", - "gather the information obtained from the tool to write an outline or summarization. " - ], - "tools": [ - { - "type": "function", - "function": { - "name": "arxiv", - "description": "Query articles or topics in arxiv", - "parameters": { - "type": "object", - "properties": { - "query": { - "type": "string", - "description": "Input query that describes what to search in arxiv" - } - }, - "required": [ - "query" - ] - } - } - } - ], - "meta":{ - "author": "dongyuanjushi", - "name": "academic_agent", - "version": "0.1", - "license": "CC 4.0" - } -} diff --git a/web/backend/dongyuanjushi/academic_agent/meta_requirements.txt b/web/backend/dongyuanjushi/academic_agent/meta_requirements.txt deleted file mode 100644 index 164782d5..00000000 --- a/web/backend/dongyuanjushi/academic_agent/meta_requirements.txt +++ /dev/null @@ -1 +0,0 @@ -arxiv \ No newline at end of file diff --git a/web/backend/interact.py b/web/backend/interact.py deleted file mode 100644 index 003fc2c2..00000000 --- a/web/backend/interact.py +++ /dev/null @@ -1,182 +0,0 @@ -import gzip -import base64 -import subprocess -import sys -import json -import pprint -import requests -import argparse -import os - -class Interactor: - def __init__(self, base_folder="./"): - script_path = os.path.abspath(__file__) - script_dir = os.path.dirname(script_path) - self.base_folder = os.path.join(script_dir, base_folder) - - def upload_agent(self, agent_name): - agent_dir = os.path.join(self.base_folder, agent_name) - - author, name = agent_name.split("/") - - config_file = os.path.join(agent_dir, "config.json") - with open(config_file, 'r') as f: - config_data: dict[str, dict] = json.load(f) - - # print(config_data) - - meta_data = config_data.get('meta') - - headers = { - "Content-Type": "application/json", - } - - # compress python code - encoded_code = self.compress( - self.minify_python_code(agent_dir) - ) - - # compress meta_requirements.txt - encoded_reqs = self.compress( - self.minify_reqs(agent_dir) - ) - - # compress config.json - config_str = json.dumps(config_data) - encoded_config = self.compress(config_str) - - upload_content = { - 'author': author, - 'name': name, - 'version': float(meta_data.get('version')), - 'license': meta_data.get('license'), - 'config': encoded_config, - 'code': encoded_code, - 'dependencies': encoded_reqs - } - - url = 'https://openagi-beta.vercel.app/api/upload' - - pprint.pprint(upload_content) - - response = requests.post( - url, - data=json.dumps(upload_content), - headers=headers - ) - - pprint.pprint(response.content) - - def minify_python_code(self, agent_dir): - code_path = os.path.join(agent_dir, "agent.py") - with open(code_path, 'r') as file: - lines: list[str] = file.readlines() - minified_lines = [] - for line in lines: - stripped_line = line.rstrip() - if stripped_line and not stripped_line.lstrip().startswith("#"): - minified_lines.append(stripped_line) - minified_code = "\n".join(minified_lines) - return minified_code - - def minify_reqs(self, agent_dir): - req_path = os.path.join(agent_dir, "meta_requirements.txt") - with open(req_path, 'r') as file: - self.reqs: str = file.read() - cleaned = [line.strip() for line in self.reqs.split( - '\n') if line.strip() and not line.startswith('#')] - minified_reqs = ';'.join(cleaned) - return minified_reqs - - def minify_config(self, config_data): - minified_config = self.compress(config_data) - return minified_config - - def compress(self, minified_data): - compressed_data = gzip.compress(minified_data.encode('utf-8')) - encoded_data = base64.b64encode(compressed_data) - encoded_data = encoded_data.decode('utf-8') - return encoded_data - - # download agent - def download_agent(self, agent_name): - assert "/" in agent_name, 'agent_name should in the format of "author/agent_name"' - author, name = agent_name.split("/") - # print(author, name) - print(author) - print(name) - query = f'https://openagi-beta.vercel.app/api/download?author={author}&name={name}' - response = requests.get(query) - print(response) - response: dict = response.json() - - agent_folder = os.path.join(self.base_folder, agent_name) - - if not os.path.exists(agent_folder): - os.makedirs(agent_folder) - - encoded_config = response.get('config') - encoded_code = response.get("agent_code") - encoded_reqs = response.get('dependencies') - - self.download_config( - self.decompress(encoded_config), - agent_name - ) - self.download_code( - self.decompress(encoded_code), - agent_name - ) - self.download_reqs( - self.decompress(encoded_reqs), - agent_name - ) - - def decompress(self, encoded_data): - compressed_data = base64.b64decode(encoded_data) - decompressed_data = gzip.decompress(compressed_data) - decompressed_data.replace(";", "\n") - return decompressed_data - - def download_config(self, config_data, agent_name) : - config_path = os.path.join(self.base_folder, agent_name, "config.json") - with open(config_path, "w", "utf-8") as w: - json.dump(config_data, w, indent=2) - - def download_reqs(self, reqs_data, agent_name): - reqs_path = os.path.join(self.base_folder, agent_name, "meta_requirements.txt") - - with open(reqs_path, 'w') as file: - file.write(reqs_data) - - subprocess.check_call([sys.executable, "-m", "pip install -r", reqs_path]) - - def download_code(self): - compressed_data = base64.b64decode(self.encoded_string) - decompressed_data = gzip.decompress(compressed_data) - - with open(self.output_file_path, 'w', newline='') as file: - file.write(decompressed_data.decode('utf-8')) - - return self - -def parse_args(): - parser = argparse.ArgumentParser() - parser.add_argument("--mode", required=True, choices=["download", "upload"]) - parser.add_argument("--agent_name", required=True, - help="agent_name should be named as author/name in order for deduplication" - ) - args = parser.parse_args() - return args - -if __name__ == '__main__': - args = parse_args() - mode = args.mode - agent_name = args.agent_name - - client = Interactor() - if mode == "download": - client.download_agent(agent_name) - else: - assert mode == "upload" - client.upload_agent(agent_name) \ No newline at end of file diff --git a/web/backend/meta_new_agent1_reqs.txt b/web/backend/meta_new_agent1_reqs.txt deleted file mode 100644 index f8e8aaa8..00000000 --- a/web/backend/meta_new_agent1_reqs.txt +++ /dev/null @@ -1,3 +0,0 @@ -beautifulsoup4==4.12.3 -playwright==1.44.0 -requests==2.32.3 \ No newline at end of file diff --git a/web/backend/new_agent_download/interact_downloaded.py b/web/backend/new_agent_download/interact_downloaded.py deleted file mode 100644 index b3ab3ce5..00000000 --- a/web/backend/new_agent_download/interact_downloaded.py +++ /dev/null @@ -1,16 +0,0 @@ -import json -class BaseAgent: - def __init__(self, config: str): - with open(config, 'r') as file: - data: dict[str, dict] = json.load(file) - self.name = data.get('meta').get('name') - self.author = data.get('meta').get('author') - self.version = data.get('meta').get('version') - self.description = data.get('meta').get('description') - def run(): - pass -class NewAgent(BaseAgent): - def __init__(self, config: str, *args, **kwargs): - super().__init__(self, config) - def run(self): - pass \ No newline at end of file diff --git a/web/backend/new_agent_download/meta_new_agent1_reqs.txt b/web/backend/new_agent_download/meta_new_agent1_reqs.txt deleted file mode 100644 index f8e8aaa8..00000000 --- a/web/backend/new_agent_download/meta_new_agent1_reqs.txt +++ /dev/null @@ -1,3 +0,0 @@ -beautifulsoup4==4.12.3 -playwright==1.44.0 -requests==2.32.3 \ No newline at end of file diff --git a/web/backend/output.txt b/web/backend/output.txt deleted file mode 100644 index fe9904a1..00000000 --- a/web/backend/output.txt +++ /dev/null @@ -1,3066 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - GitHub: Let’s build from here · GitHub - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-
-
-
- - diff --git a/web/backend/sample_output/interact_downloaded.py b/web/backend/sample_output/interact_downloaded.py deleted file mode 100644 index e95e8a8a..00000000 --- a/web/backend/sample_output/interact_downloaded.py +++ /dev/null @@ -1,14 +0,0 @@ -import asyncio -from playwright.async_api import async_playwright, Page -from bs4 import BeautifulSoup -async def main(url: str): - async with async_playwright() as p: - browser = await p.chromium.launch(headless=False) - page = await browser.new_page() - await page.goto(url) - await page.wait_for_load_state("domcontentloaded") - content = await page.content() - soup = BeautifulSoup(content, 'lxml') - with open("output.txt", "w") as file: - file.write(soup.prettify()) -asyncio.run(main('https://github.com')) \ No newline at end of file diff --git a/web/backend/sample_output/meta_web2_reqs.txt b/web/backend/sample_output/meta_web2_reqs.txt deleted file mode 100644 index f8e8aaa8..00000000 --- a/web/backend/sample_output/meta_web2_reqs.txt +++ /dev/null @@ -1,3 +0,0 @@ -beautifulsoup4==4.12.3 -playwright==1.44.0 -requests==2.32.3 \ No newline at end of file diff --git a/web/backend/web_agent.py b/web/backend/web_agent.py deleted file mode 100644 index 303d44b1..00000000 --- a/web/backend/web_agent.py +++ /dev/null @@ -1,21 +0,0 @@ -import asyncio -from playwright.async_api import async_playwright, Page -from bs4 import BeautifulSoup - - -async def main(url: str): - async with async_playwright() as p: - browser = await p.chromium.launch(headless=False) - page = await browser.new_page() - - await page.goto(url) - await page.wait_for_load_state("domcontentloaded") - - content = await page.content() - soup = BeautifulSoup(content, 'lxml') - - with open("output.txt", "w") as file: - file.write(soup.prettify()) - - -asyncio.run(main('https://github.com')) \ No newline at end of file diff --git a/web/components/AgentContainer.tsx b/web/components/AgentContainer.tsx deleted file mode 100644 index ebf180d8..00000000 --- a/web/components/AgentContainer.tsx +++ /dev/null @@ -1,31 +0,0 @@ -import { Draggable } from "@hello-pangea/dnd"; -import { ReactNode } from "react"; - -interface AgentContainerProps { - name: string; - unique: string; - index: number; - icon: React.ReactNode -} - -export const AgentContainer: React.FC = ({ - name, - unique, - index, - icon, -}) => { - return ( - - {(provided) => ( -
-

{icon as ReactNode} {' '}{name}

-
- )} -
- ); -}; diff --git a/web/components/agents/ChatMessage.tsx b/web/components/agents/ChatMessage.tsx deleted file mode 100644 index 8b23d398..00000000 --- a/web/components/agents/ChatMessage.tsx +++ /dev/null @@ -1,180 +0,0 @@ -import { FC, useEffect, useState } from "react"; -import axios from 'axios'; -import { Card, CardBody, Chip } from "@nextui-org/react"; -// import { AgentMapping } from "@/exports"; - -import { Calculator, User, User2 } from "lucide-react"; -import { TypeAnimation } from 'react-type-animation'; -import type { } from 'ldrs' - -import { StoryAgent, MathAgent } from '@/agents/build'; - -import { serverUrl } from "@/lib/env"; - -// export const agents = [ -// { -// id: 'math', -// display: 'Math Agent' -// }, -// { -// id: 'story', -// display: 'Story Agent' -// }, -// ] - - -export interface AgentCommand { - name: string; - content: string; -} - - -//testing purposes -// async function delayedString(str: string): Promise { -// return new Promise((resolve) => { -// setTimeout(() => { -// resolve(str); -// }, 6000); -// }); -// } - - - -// const _ = async (s: string) => { -// const r = await delayedString(s); -// return r; -// } - -export interface ChatMessageProps { - direction: 'right' | 'left'; - agentName: 'math' | 'story' | 'user'; - query: string | AgentCommand[]; -} - -export interface ChatBreakProps { - size: number -} - -export const ChatBreak: FC = ({ - size -}) => { - return
-} - -export function isChatMessageProps(item: ChatBreakProps | ChatMessageProps): item is ChatMessageProps { - return 'direction' in item && 'agentName' in item && 'query' in item; -} - -export function isChatBreakProps(item: ChatBreakProps | ChatMessageProps): item is ChatBreakProps { - return 'size' in item; -} - -export const ChatMessage: FC = ({ - direction, - agentName, - query -}) => { - const [response, setResponse] = useState(''); - - // useEffect(() => { - // const _ = async (s: string, v: string) => { - // console.log(s, v) - // let q = ''; - // if (v == 'story') { - // q = await StoryAgent(s); - // } else if (v == 'math') { - // q = await MathAgent(s); - // q = `The answer to the problem is ${q}` - // } - - // setResponse(`${q}`); - // } - - // if (agentName != 'user') - // _(query as string, agentName) - // }, []) - - useEffect(() => { - const _ = async (s: string, v: string) => { - const _submit = await axios.post(`${serverUrl}/add_agent`, { - agent_name: v, - task_input: s - }); - - console.log(_submit.data) - - await new Promise(resolve => setTimeout(resolve, 1050)); - - const response = await axios.get(`${serverUrl}/execute_agent?pid=${_submit.data.pid}`) - - console.log(response.data) - - // const recent_response = response.data.response[response.data.response.length-1].result.content - const recent_response = response.data.response.result.content - - setResponse(recent_response) - } - - if (agentName != 'user') - _(query as string, agentName) - - }, []) - - // const getAgentProperNameByKey = (key: string) => { - // for (const x of agents) { - // if (x.id == key) { - // return x.display - // } - // } - // } - - - return
- - {agentName != 'user' && -
- {/* {AgentMapping[agentName].icon} */} - - - {/*

{AgentMapping[agentName].displayName}

*/} -

{agentName}

-
-
- - {response != '' ? : - } -
-
} - {agentName == 'user' && -
- -

User

-
-
- {(query as AgentCommand[]).map((q, index) => -
- {/* {getAgentProperNameByKey(q.name)} */} - {q.name} - {q.content} -
)} -
-
} -
-
-} \ No newline at end of file diff --git a/web/components/agents/Container.tsx b/web/components/agents/Container.tsx deleted file mode 100644 index 27dc43ef..00000000 --- a/web/components/agents/Container.tsx +++ /dev/null @@ -1,32 +0,0 @@ -import React, { ReactNode, useEffect, useRef } from 'react'; - -const Container = ({ children }: { children: ReactNode | ReactNode[] }) => { - const containerRef = useRef(null); - let priorRef = useRef(null); - - useEffect(() => { - if (containerRef.current) { - const container = containerRef.current; - const lastChild = container.lastElementChild; - - if (lastChild && priorRef.current == null) { - priorRef.current = lastChild; - } else if (lastChild && lastChild != priorRef.current) { - setTimeout(() => { - lastChild.scrollIntoView({ behavior: 'smooth', block: 'end' }); - }, 40); // Delay of 100ms - priorRef.current = lastChild; - } - - - } - }, [children]); - - return ( -
- {children} -
- ); -}; - -export default Container; \ No newline at end of file diff --git a/web/components/agents/IdeaCard.tsx b/web/components/agents/IdeaCard.tsx deleted file mode 100644 index 06de8c3f..00000000 --- a/web/components/agents/IdeaCard.tsx +++ /dev/null @@ -1,32 +0,0 @@ -import { Chip } from "@nextui-org/react"; -import { FC } from "react"; - -export interface Example { - agent_name: string; - task: string; -} - -export interface IdeaCardProps { - examples: Example[]; - phrase: string; - cb: (a: Example[], s: string) => void -} - -export const IdeaCard: FC = ({ - examples, - phrase, - cb -}) => { - return
{ - cb(examples, phrase); - }}> - { - examples.map((example, index) => { - return
- {example.agent_name} -

{example.task}

-
- }) - } -
-} \ No newline at end of file diff --git a/web/components/agents/defaultMentionStyle.ts b/web/components/agents/defaultMentionStyle.ts deleted file mode 100644 index 51d1b572..00000000 --- a/web/components/agents/defaultMentionStyle.ts +++ /dev/null @@ -1,3 +0,0 @@ -export default { - backgroundColor: '#cee4e5', -} \ No newline at end of file diff --git a/web/components/agents/defaultStyle.ts b/web/components/agents/defaultStyle.ts deleted file mode 100644 index 72ca6155..00000000 --- a/web/components/agents/defaultStyle.ts +++ /dev/null @@ -1,58 +0,0 @@ -export default { - control: { - backgroundColor: 'inherit', - fontSize: 14, - fontWeight: 'normal', - width: '100%', - flexGrow: 1, - // padding: '0.5rem', - // borderColor: 'white', - // borderRadius: '1rem', - // borderWidth:'1px', - // borderStyle: 'solid', - // display: 'flex', - // alignItems: 'center', - // justifyContent: 'center', - // position: 'relative' - }, - - // input: { - // left: '50%', - // top: '50%', - // transform: 'translate(-50%, -50%)', - // }, - - '&multiLine': { - control: { - fontFamily: 'monospace', - // minHeight: 63, - maxHeight: 150 - }, - highlighter: { - padding: 3, - border: '1px solid transparent', - }, - input: { - padding: 3, - border: '1px solid transparent', - outline: '2px solid transparent', - outlineOffset: '2px', - }, - }, - - suggestions: { - list: { - backgroundColor: '#3c3937', - border: '1px solid rgba(0,0,0,0.15)', - fontSize: 14, - // color: 'white' - }, - item: { - padding: '5px 15px', - borderBottom: '1px solid rgba(0,0,0,0.15)', - '&focused': { - backgroundColor: '#4acb91', - }, - }, - }, - } \ No newline at end of file diff --git a/web/components/agents/s.css b/web/components/agents/s.css deleted file mode 100644 index 1bd59caf..00000000 --- a/web/components/agents/s.css +++ /dev/null @@ -1,29 +0,0 @@ -.mention_input { - display: 'flex'; - flex-grow: 1; - /* overflow-y: auto !important; */ -} - -.mention_input__suggestions { - background-color: #3c3937; - border-color: white; - border-radius: 1rem; - border-width:1px; - border-style: solid; -} - -.mention_input__suggestions__list { - padding: 0.5rem; - border-bottom-left-radius: 1rem; - border-bottom-right-radius: 1rem; -} - -strong { - background-color: darkslategray !important; - color:aqua !important; - z-index: 5000; - /* border-radius: 0.5rem; */ - /* color:brown; */ - /* padding: 0.5rem; */ - /* padding:0.25rem; */ -} \ No newline at end of file diff --git a/web/components/modern/ChatMessage.tsx b/web/components/modern/ChatMessage.tsx deleted file mode 100644 index 92179cb7..00000000 --- a/web/components/modern/ChatMessage.tsx +++ /dev/null @@ -1,102 +0,0 @@ -import { FC, useEffect, useState } from "react"; -import axios from 'axios'; -import { Card, CardBody, Chip } from "@nextui-org/react"; - -import { Calculator, User, User2 } from "lucide-react"; -import { TypeAnimation } from 'react-type-animation'; -import type { } from 'ldrs' - -import { serverUrl } from "@/lib/env"; - -export interface AgentCommand { - name: string; - content: string; -} - - -export interface ChatMessageProps { - direction: 'right' | 'left'; - agentName: 'math' | 'story' | 'user'; - query: string | AgentCommand[]; -} - -export const ChatMessage: FC = ({ - direction, - agentName, - query -}) => { - const [response, setResponse] = useState(''); - - - useEffect(() => { - const _ = async (s: string, v: string) => { - const _submit = await axios.post(`${serverUrl}/add_agent`, { - agent_name: v, - task_input: s - }); - - console.log(_submit.data) - - await new Promise(resolve => setTimeout(resolve, 1050)); - - const response = await axios.get(`${serverUrl}/execute_agent?pid=${_submit.data.pid}`) - - console.log(response.data) - const recent_response = response.data.response.result.content - - setResponse(recent_response) - } - - if (agentName != 'user') - _(query as string, agentName) - - }, []) - - - return
- - {agentName != 'user' && -
- - -

{agentName}

-
-
- - {response != '' ? : - } -
-
} - {agentName == 'user' && -
- -

User

-
-
- {(query as AgentCommand[]).map((q, index) => -
- {/* {getAgentProperNameByKey(q.name)} */} - {q.name} - {q.content} -
)} -
-
} -
-
-} \ No newline at end of file diff --git a/web/components/modern/container.tsx b/web/components/modern/container.tsx deleted file mode 100644 index 5f5f81a2..00000000 --- a/web/components/modern/container.tsx +++ /dev/null @@ -1,32 +0,0 @@ -import React, { ReactNode, useEffect, useRef } from 'react'; - -const Container = ({ children }: { children: ReactNode[] }) => { - const containerRef = useRef(null); - let priorRef = useRef(null); - - useEffect(() => { - if (containerRef.current) { - const container = containerRef.current; - const lastChild = container.lastElementChild; - - if (lastChild && priorRef.current == null) { - priorRef.current = lastChild; - } else if (lastChild && lastChild != priorRef.current) { - setTimeout(() => { - lastChild.scrollIntoView({ behavior: 'smooth', block: 'end' }); - }, 170); // Delay of 100ms - priorRef.current = lastChild; - } - - - } - }, [children]); - - return ( -
- {children} -
- ); -}; - -export default Container; \ No newline at end of file diff --git a/web/components/modern/instruction.tsx b/web/components/modern/instruction.tsx deleted file mode 100644 index acaacff4..00000000 --- a/web/components/modern/instruction.tsx +++ /dev/null @@ -1,10 +0,0 @@ - - - -export const Instruction = () => { - return
-

- -

-
-} \ No newline at end of file diff --git a/web/components/modern/interface.tsx b/web/components/modern/interface.tsx deleted file mode 100644 index ee503b3f..00000000 --- a/web/components/modern/interface.tsx +++ /dev/null @@ -1,163 +0,0 @@ -/* eslint-disable react-hooks/exhaustive-deps */ -'use client'; - -import { useEffect, useRef, useState } from "react"; - -import axios from 'axios'; - -import Container from "./container" - -import { AgentCommand, ChatMessage, ChatMessageProps } from "./ChatMessage"; -import { serverUrl } from '@/lib/env'; - -import defaultStyle from '@/components/agents/defaultStyle' -import defaultMentionStyle from '@/components/agents/defaultMentionStyle'; -import { Mention, MentionsInput } from "react-mentions"; - -import '@/components/agents/s.css' -import { Example } from "../agents/IdeaCard"; - -interface InterfaceProps { - // secureHandler: (request: (data: string, key: string) => Promise, d: string) => Promise -} - -function parseAgentCommands(input: string): AgentCommand[] { - const result: AgentCommand[] = []; - const regex = /@\[([^\]]+)\]\(([^)]+)\)\s*([^@]*)/g; - let match; - - while ((match = regex.exec(input)) !== null) { - const [_, fullName, name, content] = match; - result.push({ - name: name.trim(), - content: content.trim() - }); - } - console.log('results', result) - return result; -} - -export const Interface: React.FC = () => { - const [agents, setAgents] = useState(); - const target = useRef(null); - const [value, setValue] = useState(''); - - const [chatStarted, setChatStarted] = useState(false); - const [messages, setMessages] = useState>([]); - - useEffect(() => { - const _ = async () => { - const response = await axios.get(`${serverUrl}/get_all_agents`); - setAgents(response.data.agents) - } - - _() - }, []) - - const handleKeyDown = (event: any) => { - if (event.key === 'Enter' && !event.shiftKey && !event.ctrlKey && !event.altKey) { - event.preventDefault(); - // console.log('Enter key pressed without any modifiers'); - if (target.current) { - target.current.click() - } - } - }; - - useEffect(() => { - window.addEventListener('keydown', handleKeyDown); - - return () => { - window.removeEventListener('keydown', handleKeyDown); - }; - }, []); - - const handleQuery = () => { - if (!chatStarted) - setChatStarted(true); - - console.log('value is', value); - const parsed = parseAgentCommands(value); - - setMessages((prev) => { - return [ - ...prev, - { - direction: 'right', - agentName: 'user', - query: parsed - }, - ...parsed.map(p => ({ - direction: 'left', - agentName: p.name, - query: p.content - } as ChatMessageProps)), - ] - - }) - - setValue('') - } - - const callback = (a: Example[], phrase: string) => { - if (!chatStarted) - setChatStarted(true); - - console.log('value is', phrase); - const parsed = parseAgentCommands(phrase); - - setMessages((prev) => { - return [ - ...prev, - { - direction: 'right', - agentName: 'user', - query: parsed - }, - ...parsed.map(p => ({ - direction: 'left', - agentName: p.name, - query: p.content - } as ChatMessageProps)), - - ] - - }) - } - - - return
- - {messages.map((message, index) => { - - return - })} - -
- - -
-
-
- - setValue(e.target.value)} - style={defaultStyle} - className={'mention_input'} - placeholder={"Tag agents using '@'"} - a11ySuggestionsListLabel={"Suggested mentions"} - allowSuggestionsAboveCursor={true} - customSuggestionsContainer={(children) =>

Select an agent below

{children}
} - > - -
-
-
-
-
-} \ No newline at end of file diff --git a/web/components/modern/queryBox.tsx b/web/components/modern/queryBox.tsx deleted file mode 100644 index e69de29b..00000000 diff --git a/web/components/modern/settings.tsx b/web/components/modern/settings.tsx deleted file mode 100644 index 5b841f55..00000000 --- a/web/components/modern/settings.tsx +++ /dev/null @@ -1,27 +0,0 @@ -/* eslint-disable react-hooks/exhaustive-deps */ -'use client'; - -import { Button } from "@nextui-org/react" - -import { - Dropdown, - DropdownTrigger, - DropdownMenu, - DropdownSection, - DropdownItem -} from "@nextui-org/dropdown"; - -import { ChevronsUpDown } from "lucide-react"; -import React, { useEffect, useMemo, useState } from "react"; - -interface SettingsInterface { - // exportPresets: (a: string) => void -} - -export const Settings: React.FC = () => { - - - return
- -
-} \ No newline at end of file diff --git a/web/components/modern/sidebar.tsx b/web/components/modern/sidebar.tsx deleted file mode 100644 index 53287fc0..00000000 --- a/web/components/modern/sidebar.tsx +++ /dev/null @@ -1,5 +0,0 @@ -export const Sidebar = () => { - return
- -
-} \ No newline at end of file diff --git a/web/components/playground/Edge.tsx b/web/components/playground/Edge.tsx deleted file mode 100644 index c148d4cc..00000000 --- a/web/components/playground/Edge.tsx +++ /dev/null @@ -1,39 +0,0 @@ -import React from 'react'; -import { EdgeProps, getBezierPath } from 'reactflow'; - -export default function CustomEdge({ - id, - sourceX, - sourceY, - targetX, - targetY, - sourcePosition, - targetPosition, - style = {}, - markerEnd, -}: EdgeProps) { - const xEqual = sourceX === targetX; - const yEqual = sourceY === targetY; - - const [edgePath] = getBezierPath({ - // we need this little hack in order to display the gradient for a straight line - sourceX: xEqual ? sourceX + 0.0001 : sourceX, - sourceY: yEqual ? sourceY + 0.0001 : sourceY, - sourcePosition, - targetX, - targetY, - targetPosition, - }); - - return ( - <> - - - ); -} diff --git a/web/components/playground/FunctionIcon.tsx b/web/components/playground/FunctionIcon.tsx deleted file mode 100644 index ebbd5fd5..00000000 --- a/web/components/playground/FunctionIcon.tsx +++ /dev/null @@ -1,27 +0,0 @@ -import React from 'react'; - -function Icon() { - return ( - - - - - - ); -} - -export default Icon; diff --git a/web/components/playground/Sidebar.tsx b/web/components/playground/Sidebar.tsx deleted file mode 100644 index 0cc7b54e..00000000 --- a/web/components/playground/Sidebar.tsx +++ /dev/null @@ -1,25 +0,0 @@ -import React from 'react'; - -const Sidebar = () => { - const onDragStart = (event: any, nodeType: any) => { - event.dataTransfer.setData('application/reactflow', nodeType); - event.dataTransfer.effectAllowed = 'move'; - }; - - return ( - - ); -}; - -export default Sidebar; \ No newline at end of file diff --git a/web/components/playground/nodes/Conversational.tsx b/web/components/playground/nodes/Conversational.tsx deleted file mode 100644 index f5d3f3a4..00000000 --- a/web/components/playground/nodes/Conversational.tsx +++ /dev/null @@ -1,32 +0,0 @@ -import React, { memo, ReactNode } from 'react'; -import { Handle, NodeProps, Position } from 'reactflow'; -import { FiCloud } from 'react-icons/fi'; - -export type ConversationalNodeData = { - -}; - -const Conversational = ({ data }: NodeProps) => { - return ( - <> -
-
- -
-
-
-
-
-

Conversational Agent

-
- - - -
-
- - ); -}; - - -export default memo(Conversational); \ No newline at end of file diff --git a/web/components/playground/nodes/Decisive.tsx b/web/components/playground/nodes/Decisive.tsx deleted file mode 100644 index 4dbf1049..00000000 --- a/web/components/playground/nodes/Decisive.tsx +++ /dev/null @@ -1,63 +0,0 @@ -'use client' - -import React, { memo, ReactNode, useEffect, useState } from 'react'; -import { Handle, NodeProps, Position } from 'reactflow'; -import { FaQuestion } from 'react-icons/fa6'; - -export type DecisiveNodeData = { - setter: (s: string) => void - }; - - -const Decisive = ({ data }: NodeProps) => { - const [text, setText] = useState('') - - useEffect(() => { - if (text) - data.setter(text) - }, [text]) - - return ( - <> -
-
- -
-
-
-
-
-

Decisive Agent

- -
- - -
- - -
- - -
-
- - ); -}; - -export default memo(Decisive); diff --git a/web/components/playground/nodes/Laborious.tsx b/web/components/playground/nodes/Laborious.tsx deleted file mode 100644 index 0aa8f7cb..00000000 --- a/web/components/playground/nodes/Laborious.tsx +++ /dev/null @@ -1,47 +0,0 @@ -'use client' - -import React, { memo, ReactNode, useEffect, useState } from 'react'; -import { Handle, NodeProps, Position } from 'reactflow'; -import { FaHourglass } from 'react-icons/fa'; - -export type LaboriousNodeData = { - setter: (s: string) => void -}; - -const Laborious = ({ data }: NodeProps) => { - const [text, setText] = useState('') - - useEffect(() => { - if (text) - data.setter(text) - }, [text]) - - return ( - <> -
-
- -
-
-
-
-
-

Laborious Agent

- -
- - - -
-
- - ); -}; - -export default memo(Laborious); \ No newline at end of file diff --git a/web/components/playground/rewrites.css b/web/components/playground/rewrites.css deleted file mode 100644 index d2cc2ca6..00000000 --- a/web/components/playground/rewrites.css +++ /dev/null @@ -1,269 +0,0 @@ -.react-flow { - --bg-color: rgb(17, 17, 17); - --text-color: rgb(243, 244, 246); - --node-border-radius: 10px; - --node-box-shadow: 10px 0 15px rgba(42, 138, 246, 0.3), - -10px 0 15px rgba(233, 42, 103, 0.3); - background-color: var(--bg-color); - color: var(--text-color); -} - -.react-flow__node-turbo, -.react-flow__node-decisive { - border-radius: var(--node-border-radius); - display: flex; - min-height: 90px; - min-width: 210px; - font-family: 'Fira Mono', Monospace; - font-weight: 500; - letter-spacing: -0.2px; - box-shadow: var(--node-box-shadow); -} - -.wrapper { - overflow: hidden; - display: flex; - padding: 2px; - position: relative; - border-radius: var(--node-border-radius); - flex-grow: 1; -} - -.gradient:before { - content: ''; - position: absolute; - padding-bottom: calc(100% * 1.41421356237); - width: calc(100% * 1.41421356237); - background: conic-gradient(from -160deg at 50% 50%, - #e92a67 0deg, - #a853ba 120deg, - #2a8af6 240deg, - #e92a67 360deg); - left: 50%; - top: 50%; - transform: translate(-50%, -50%); - border-radius: 100%; -} - -.react-flow__node-turbo.selected .wrapper.gradient:before, .react-flow__node.selected .wrapper.gradient:before, .react-flow__node.selected .wrapper.laborious-gradient:before { - content: ''; - background: conic-gradient(from -160deg at 50% 50%, - #e92a67 0deg, - #a853ba 120deg, - #2a8af6 240deg, - rgba(42, 138, 246, 0) 360deg); - animation: spinner 4s linear infinite; - transform: translate(-50%, -50%) rotate(0deg); - z-index: -1; -} - - -@keyframes spinner { - 100% { - transform: translate(-50%, -50%) rotate(-360deg); - } -} - -.inner { - background: rgba(255, 255, 255, 0.5); - padding: 16px 20px; - border-radius: var(--node-border-radius); - display: flex; - flex-direction: column; - justify-content: center; - flex-grow: 1; - position: relative; -} - -.conversational, -.decisive { - background: var(--bg-color); -} - -.icon { - margin-right: 8px; -} - -.body { - display: flex; -} - -.title { - font-size: 16px; - margin-bottom: 2px; - line-height: 1; -} - -.subline { - font-size: 12px; - color: #777; -} - -.cloud { - border-radius: 100%; - width: 30px; - height: 30px; - right: 0; - position: absolute; - top: 0; - transform: translate(50%, -50%); - display: flex; - transform-origin: center center; - padding: 2px; - overflow: hidden; - box-shadow: var(--node-box-shadow); - z-index: 1; -} - -.cloud div { - background-color: var(--bg-color); - flex-grow: 1; - border-radius: 100%; - display: flex; - justify-content: center; - align-items: center; - position: relative; -} - -.react-flow__handle { - opacity: 0; -} - -.react-flow__handle.source.laborious-handle { - opacity: 1; - right: 5px; - width: 10px; - height: 10px; - z-index: 99999; - border-width: 2px; - border-style: dashed; - border-width: 1.5px; - border-radius: 100%; - background-color: inherit; - border-color: black; -} - - -.react-flow__handle.source.conversational-handle { - opacity: 1; - right: 5px; - width: 10px; - height: 10px; - z-index: 99999; - border-width: 2px; - border-style: dashed; - border-width: 1.5px; - border-radius: 100%; - background-color: inherit; - border-color: white; -} - -.react-flow__handle.source.decisive-handle { - opacity: 1; - right: 5px; - width: 10px; - height: 10px; - z-index: 99999; - border-width: 2px; - border-style: dashed; - border-width: 1.5px; - border-radius: 100%; - background-color: inherit; - border-color: white; -} - -.react-flow__handle.source.decisive-handle-a { - opacity: 1; - right: 5px; - width: 10px; - height: 10px; - z-index: 99999; - border-width: 2px; - border-style: dashed; - border-width: 1.5px; - border-radius: 100%; - background-color: inherit; - border-color: rgb(12, 231, 63); -} - -.react-flow__handle.source.decisive-handle-b { - opacity: 1; - right: 5px; - bottom: 5px; - width: 10px; - height: 10px; - z-index: 99999; - border-width: 2px; - border-style: dashed; - border-width: 1.5px; - border-radius: 100%; - background-color: inherit; - border-color: rgb(216, 23, 23); -} - -.react-flow__handle.target { - left: -10px; - /* left: 3px; */ - /* z-index: 99999; - border-width: 2px; - background-color: var(--bg-color); */ -} - -.react-flow__node:focus { - outline: none; -} - -.react-flow__edge .react-flow__edge-path { - stroke: url(#edge-gradient); - stroke-width: 2; - stroke-opacity: 0.75; -} - -.react-flow__controls button { - background-color: var(--bg-color); - color: var(--text-color); - border: 1px solid #95679e; - border-bottom: none; -} - -.react-flow__controls button:hover { - background-color: rgb(37, 37, 37); -} - -.react-flow__controls button:first-child { - border-radius: 5px 5px 0 0; -} - -.react-flow__controls button:last-child { - border-bottom: 1px solid #95679e; - border-radius: 0 0 5px 5px; -} - -.react-flow__controls button path { - fill: var(--text-color); -} - -.react-flow__attribution { - background: rgba(200, 200, 200, 0.2); -} - -.react-flow__attribution a { - color: #95679e; -} - - -.laborious-gradient:before { - content: ''; - position: absolute; - padding-bottom: calc(100% * 1.41421356237); - width: calc(100% * 1.41421356237); - background: conic-gradient(from -160deg at 50% 50%, - #e92a67 0deg, - #a853ba 120deg, - #2a8af6 240deg, - #e92a67 360deg); - left: 50%; - top: 50%; - transform: translate(-50%, -50%); - border-radius: 100%; -} \ No newline at end of file diff --git a/web/components/rewrites/StrictModeDroppable.tsx b/web/components/rewrites/StrictModeDroppable.tsx deleted file mode 100644 index 08e02191..00000000 --- a/web/components/rewrites/StrictModeDroppable.tsx +++ /dev/null @@ -1,18 +0,0 @@ -// StrictModeDroppable.tsx - -import { useEffect, useState } from "react"; -import { Droppable, DroppableProps } from "@hello-pangea/dnd"; -export const StrictModeDroppable = ({ children, ...props }: DroppableProps) => { - const [enabled, setEnabled] = useState(false); - useEffect(() => { - const animation = requestAnimationFrame(() => setEnabled(true)); - return () => { - cancelAnimationFrame(animation); - setEnabled(false); - }; - }, []); - if (!enabled) { - return null; - } - return {children} -}; \ No newline at end of file diff --git a/web/docs/example.json b/web/docs/example.json deleted file mode 100644 index 4510bda0..00000000 --- a/web/docs/example.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "meta": { - "author": "Balaji Rama", - "version": "0.0", - "name": "Example Agent", - "description": "Description Here", - "license": "CC-0", - "logo": "Path To Logo" - }, - - "external": { - "ephemeral_cache_name": "Name Of Folder To Save Temp Data", - "persistent_cache_name": "Long Term Cache" - } -} diff --git a/web/docs/example_agent.py b/web/docs/example_agent.py deleted file mode 100644 index bc128597..00000000 --- a/web/docs/example_agent.py +++ /dev/null @@ -1,9 +0,0 @@ -AUTHOR = 'Kai Mei' -VERSION = 0.2 -NAME = 'Example Agent 2' - -def agent(): - string = "test" - string += string - - return string \ No newline at end of file diff --git a/web/docs/test.py b/web/docs/test.py deleted file mode 100644 index e3ee4432..00000000 --- a/web/docs/test.py +++ /dev/null @@ -1,6 +0,0 @@ -import yaml - -with open('backend/test.yaml', 'r') as file: - data = yaml.safe_load(file) - -print(data) diff --git a/web/exports.tsx b/web/exports.tsx deleted file mode 100644 index 7be28300..00000000 --- a/web/exports.tsx +++ /dev/null @@ -1,14 +0,0 @@ -import { Calculator, LucideProps } from "lucide-react"; - -export const AgentMapping = { - story: { - displayName: 'Story Agent', - icon: , - color: 'red' - }, - math: { - displayName: 'Math Agent', - icon: , - color: 'green' - } -} \ No newline at end of file diff --git a/web/hooks/useAutosizeTextArea.ts b/web/hooks/useAutosizeTextArea.ts deleted file mode 100644 index 23e7ca10..00000000 --- a/web/hooks/useAutosizeTextArea.ts +++ /dev/null @@ -1,21 +0,0 @@ -import { useEffect } from "react"; - -// Updates the height of a
-
- - Skip to content - - - - - - - - - - - - - - - - - -
- -
-
- - - Join us for the 10th anniversary of GitHub Universe. - - - Get tickets now for 35% off, only until July 8. - -
- -
-
- - - - - - -
-
-
-
- -
- - -
-
-
-
- - -
-
-
-
-
-
-
-
-
-
-
-
-
- - - -
-
-
-
-
-
-
-
-

- - Let’s build from here - -

-

- The world’s leading AI-powered developer platform. -

-
- - - -
-
- - Start a free enterprise trial - - - - - - - -
-
-

- Trusted by the world’s leading organizations ↘︎ -

-
- 3M logo - KPMG logo -
-
- Mercedes-Benz logo - SAP logo -
-
-
-
- P&G logo - Telus logo -
-
-
-
-
-
-
- -
-
-
-
-
- - - -
-
-
-
-
-

- Productivity -

-

- - Accelerate innovation - - Our AI-powered platform increases the pace of software development. -

-
- -
-
- -
-
- -
-
-
- -
-
-
-
-
-

- - GitHub Copilot - - empowers developers to complete tasks 55% faster with contextualized AI coding assistance across workflows. -

- - Explore GitHub Copilot - - - - - - - -
-
-
-
-
-
- -
-
- -
- -
-
-
-
-
-
-
- - Did you know? - -
-

- 22% increase -

-

- in developer productivity after three years with GitHub -

- - Read the report - - - - - - - -
-
-
-
-
- -
-
-

- - GitHub Actions - - automates your build, test, and deployment workflow with simple and secure CI/CD. -

- -
-
- - - - - - - -
-
-
-
-
-
-
-
- -
-
-

- - GitHub Codespaces - - offers a complete dev environment in seconds. Code, build, test, and open pull requests from any repo. -

- -
-
- - - - - - - -
-
-
-
-
-
-
- -
-
-

- - GitHub Mobile and Copilot - - now let you manage projects and converse with your AI pair programmer on the go. -

- -
-
- - - - - -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- - - -
-
-
-
-
-

- Application security -

-

- - Empower developers - - With GitHub, you can secure code in minutes. -

-
- -
- -
-
-
- cmake.yml -
- - on: push - -
-
-
-
-
    -
  • -
    - - - Build - -
    - - 1m 21s - -
  • -
-
-
-
-
-
-
-
-
-
-
-
-
- Steps -
-
-
    -
  • -
    - - - Initialize CodeQL - -
    - - 1m 42s - -
  • -
  • -
    - - - Autobuild - -
    - - 1m 24s - -
  • -
  • -
    - - - Perform CodeQL Analyses - -
    - - 1m 36s - -
  • -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-

- - GitHub Advanced Security - - enables you to find and fix vulnerabilities with ease and ship secure code quickly. -

- - Dive into GitHub Advanced Security - - - - - - - -
-
-
-
-
-
- -
- -
-
-
-
-
-
-
- - Did you know? - -
-

- 7x faster -

-

- vulnerability fixes with GitHub - - 1 - -

-
-
-
-
-
- -
-
-

- - Code scanning - - is our code analysis tool that helps you remediate issues in your code. -

- -
-
- - - - - - - -
-
-
-
-
-
-
-
- -
-
-

- - Dependabot - - makes it easy to find and fix vulnerable dependencies in your supply chain. -

- -
-
- - - - - - - -
-
-
-
-
-
-
- -
-
-

- - Secret scanning - - automatically looks for partner patterns and prevents fraudulent use of accidentally committed secrets. -

- -
-
- - - - - - - -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- - - -
-
-
-
-
-

- Collaboration -

-

- - Supercharge collaboration - - GitHub helps your teams work more efficiently together. -

-
- -
- - - - Illustration of project table view with cards grouped by 'Feature planning' phase. - - - -
-
-
-
- -
-
-
-
-
-

- - GitHub Issues and GitHub Projects - - supply project management tools that adapt to your team alongside your code. -

- - Get started with GitHub Issues - - - - - - - -
-
-
-
-
-
- -
- -
-
-
-
-
-
-
- - Did you know? - -
-

- 80% -

-

- reduction in onboarding time with GitHub - - 2 - -

-
-
-
-
-
-
- -
-
-

- - GitHub Discussions - - creates space to ask questions and have open-ended conversations. -

- -
-
- - - - - - - -
-
-
-
-
-
-
- -
-
-

- - Pull requests - - allow real-time communication and collaboration about code changes. -

- -
-
- - - - - - - -
-
-
-
-
-
-
- - - -
-
- -
-
    -
  • - - 1 - - This 7X times factor is based on data from the industry’s longest running analysis of fix rates -Veracode State of Software Security 2023, which cites the average time to fix 50% of flaws as 198 days vs. GitHub’s fix rates of 72% of flaws with in 28 days which is at a minimum of 7X faster when compared. -
  • -
  • - - 2 - - The Total Economic Impactâ„¢ Of GitHub Enterprise Cloud and Advanced Security, a commissioned study conducted by Forrester Consulting, 2022. Results are for a composite organization based on interviewed customers. -
  • -
  • - - 3 - - There are now 100 million developers around the world using GitHub. - - Read the blog post - - . -
  • -
-
-
-
- - - - - - - - - - -