diff --git a/.env.example b/.env.example
index f16f77609fe..37714174998 100644
--- a/.env.example
+++ b/.env.example
@@ -91,5 +91,34 @@ STARKNET_ADDRESS=
STARKNET_PRIVATE_KEY=
STARKNET_RPC_URL=
+
+# Farcaster
+FARCASTER_HUB_URL=
+FARCASTER_FID=
+FARCASTER_PRIVATE_KEY=
+
+# Coinbase
+COINBASE_COMMERCE_KEY= # from coinbase developer portal
+COINBASE_API_KEY= # from coinbase developer portal
+COINBASE_PRIVATE_KEY= # from coinbase developer portal
+# if not configured it will be generated and written to runtime.character.settings.secrets.COINBASE_GENERATED_WALLET_ID and runtime.character.settings.secrets.COINBASE_GENERATED_WALLET_HEX_SEED
+COINBASE_GENERATED_WALLET_ID= # not your address but the wallet id from generating a wallet through the plugin
+COINBASE_GENERATED_WALLET_HEX_SEED= # not your address but the wallet hex seed from generating a wallet through the plugin and calling export
+
+# Conflux Configuration
+CONFLUX_CORE_PRIVATE_KEY=
+CONFLUX_CORE_SPACE_RPC_URL=
+CONFLUX_ESPACE_PRIVATE_KEY=
+CONFLUX_ESPACE_RPC_URL=
+CONFLUX_MEME_CONTRACT_ADDRESS=
+
+#ZeroG
+ZEROG_INDEXER_RPC=
+ZEROG_EVM_RPC=
+ZEROG_PRIVATE_KEY=
+ZEROG_FLOW_ADDRESS=
+
+
# Coinbase Commerce
COINBASE_COMMERCE_KEY=
+
diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml
index b9947abf7bf..b86208b8f87 100644
--- a/.github/workflows/ci.yaml
+++ b/.github/workflows/ci.yaml
@@ -33,8 +33,8 @@ jobs:
echo "TEST_DATABASE_CLIENT=sqlite" > packages/core/.env.test
echo "NODE_ENV=test" >> packages/core/.env.test
- # - name: Run tests
- # run: cd packages/core && pnpm test // YOLO FOR NOW
+ - name: Run tests
+ run: cd packages/core && pnpm test
- name: Build packages
run: pnpm run build
diff --git a/.gitignore b/.gitignore
index fdecd8b95f2..c1bf4fc6dc1 100644
--- a/.gitignore
+++ b/.gitignore
@@ -40,3 +40,5 @@ characters/
packages/core/src/providers/cache
packages/core/src/providers/cache/*
cache/*
+packages/plugin-coinbase/src/plugins/transactions.csv
+packages/plugin-coinbase/package-lock.json
diff --git a/.husky/commit-msg b/.husky/commit-msg
deleted file mode 100755
index 88770231272..00000000000
--- a/.husky/commit-msg
+++ /dev/null
@@ -1,12 +0,0 @@
-#!/usr/bin/env sh
-
-# Inform the user about commit message format requirements
-echo "┌──────────────────────────────────────────────────────────────┐"
-echo "│ ℹ️ Commit message must follow the format: 'type: description' │"
-echo "│ Valid types: feat, fix, docs, style, refactor, test, chore │"
-echo "│ Example: 'feat: add new login feature' │"
-echo "└──────────────────────────────────────────────────────────────┘"
-echo ""
-
-# Run commitlint to validate the commit message
-npx --no -- commitlint --edit ${1}
diff --git a/.husky/pre-commit b/.husky/pre-commit
deleted file mode 100755
index afb45bee423..00000000000
--- a/.husky/pre-commit
+++ /dev/null
@@ -1,2 +0,0 @@
-pnpm run prettier-check
-pnpm run lint
\ No newline at end of file
diff --git a/agent/package.json b/agent/package.json
index 2eb890ba8a5..f9756b5d435 100644
--- a/agent/package.json
+++ b/agent/package.json
@@ -21,17 +21,19 @@
"@ai16z/client-twitter": "workspace:*",
"@ai16z/eliza": "workspace:*",
"@ai16z/plugin-bootstrap": "workspace:*",
+ "@ai16z/plugin-conflux": "workspace:*",
"@ai16z/plugin-image-generation": "workspace:*",
"@ai16z/plugin-node": "workspace:*",
"@ai16z/plugin-solana": "workspace:*",
+ "@ai16z/plugin-0g": "workspace:*",
"@ai16z/plugin-starknet": "workspace:*",
"@ai16z/plugin-coinbase": "workspace:*",
- "readline": "^1.3.0",
- "ws": "^8.18.0",
+ "readline": "1.3.0",
+ "ws": "8.18.0",
"yargs": "17.7.2"
},
"devDependencies": {
"ts-node": "10.9.2",
- "tsup": "^8.3.5"
+ "tsup": "8.3.5"
}
}
diff --git a/agent/src/index.ts b/agent/src/index.ts
index 8f000f18a7a..9d657f80ee8 100644
--- a/agent/src/index.ts
+++ b/agent/src/index.ts
@@ -23,9 +23,14 @@ import {
validateCharacterConfig,
} from "@ai16z/eliza";
import { bootstrapPlugin } from "@ai16z/plugin-bootstrap";
+import { confluxPlugin } from "@ai16z/plugin-conflux";
import { solanaPlugin } from "@ai16z/plugin-solana";
+import { zgPlugin } from "@ai16z/plugin-0g";
import { nodePlugin } from "@ai16z/plugin-node";
-import { coinbaseCommercePlugin } from "@ai16z/plugin-coinbase";
+import {
+ coinbaseCommercePlugin,
+ coinbaseMassPaymentsPlugin,
+} from "@ai16z/plugin-coinbase";
import Database from "better-sqlite3";
import fs from "fs";
import readline from "readline";
@@ -229,6 +234,10 @@ export async function initializeClients(
return clients;
}
+function getSecret(character: Character, secret: string) {
+ return character.settings.secrets?.[secret] || process.env[secret];
+}
+
export function createAgent(
character: Character,
db: IDatabaseAdapter,
@@ -248,12 +257,19 @@ export function createAgent(
character,
plugins: [
bootstrapPlugin,
+ getSecret(character, "CONFLUX_CORE_PRIVATE_KEY")
+ ? confluxPlugin
+ : null,
nodePlugin,
- character.settings.secrets?.WALLET_PUBLIC_KEY ? solanaPlugin : null,
- character.settings.secrets?.COINBASE_COMMERCE_KEY ||
- process.env.COINBASE_COMMERCE_KEY
+ getSecret(character, "WALLET_PUBLIC_KEY") ? solanaPlugin : null,
+ getSecret(character, "ZEROG_PRIVATE_KEY") ? zgPlugin : null,
+ getSecret(character, "COINBASE_COMMERCE_KEY")
? coinbaseCommercePlugin
: null,
+ getSecret(character, "COINBASE_API_KEY") &&
+ getSecret(character, "COINBASE_PRIVATE_KEY")
+ ? coinbaseMassPaymentsPlugin
+ : null,
].filter(Boolean),
providers: [],
actions: [],
diff --git a/client/README.md b/client/README.md
deleted file mode 100644
index b6897e3f0a9..00000000000
--- a/client/README.md
+++ /dev/null
@@ -1,50 +0,0 @@
-# React + TypeScript + Vite
-
-This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules.
-
-Currently, two official plugins are available:
-
-- [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react/README.md) uses [Babel](https://babeljs.io/) for Fast Refresh
-- [@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react-swc) uses [SWC](https://swc.rs/) for Fast Refresh
-
-## Expanding the ESLint configuration
-
-If you are developing a production application, we recommend updating the configuration to enable type aware lint rules:
-
-- Configure the top-level `parserOptions` property like this:
-
-```js
-export default tseslint.config({
- languageOptions: {
- // other options...
- parserOptions: {
- project: ["./tsconfig.node.json", "./tsconfig.app.json"],
- tsconfigRootDir: import.meta.dirname,
- },
- },
-});
-```
-
-- Replace `tseslint.configs.recommended` to `tseslint.configs.recommendedTypeChecked` or `tseslint.configs.strictTypeChecked`
-- Optionally add `...tseslint.configs.stylisticTypeChecked`
-- Install [eslint-plugin-react](https://github.com/jsx-eslint/eslint-plugin-react) and update the config:
-
-```js
-// eslint.config.js
-import react from "eslint-plugin-react";
-
-export default tseslint.config({
- // Set the react version
- settings: { react: { version: "18.3" } },
- plugins: {
- // Add the react plugin
- react,
- },
- rules: {
- // other rules...
- // Enable its recommended rules
- ...react.configs.recommended.rules,
- ...react.configs["jsx-runtime"].rules,
- },
-});
-```
diff --git a/client/index.html b/client/index.html
index e0ef3be8332..342f8872933 100644
--- a/client/index.html
+++ b/client/index.html
@@ -4,7 +4,7 @@
-
Vite + React + TS
+ Eliza
diff --git a/client/package.json b/client/package.json
index aad8c3c91f0..3c467263ece 100644
--- a/client/package.json
+++ b/client/package.json
@@ -1,5 +1,5 @@
{
- "name": "eliza",
+ "name": "eliza-client",
"private": true,
"version": "0.0.0",
"type": "module",
@@ -11,32 +11,37 @@
},
"dependencies": {
"@ai16z/eliza": "workspace:*",
- "@radix-ui/react-slot": "^1.1.0",
- "class-variance-authority": "^0.7.0",
+ "@radix-ui/react-dialog": "1.1.2",
+ "@radix-ui/react-separator": "1.1.0",
+ "@radix-ui/react-slot": "1.1.0",
+ "@radix-ui/react-tooltip": "1.1.4",
+ "@tanstack/react-query": "5.61.0",
+ "class-variance-authority": "0.7.0",
"clsx": "2.1.0",
- "lucide-react": "^0.460.0",
- "react": "^18.3.1",
- "react-dom": "^18.3.1",
- "tailwind-merge": "^2.5.4",
- "tailwindcss-animate": "^1.0.7",
- "vite-plugin-top-level-await": "^1.4.4",
- "vite-plugin-wasm": "^3.3.0"
+ "lucide-react": "0.460.0",
+ "react": "18.3.1",
+ "react-dom": "18.3.1",
+ "react-router-dom": "6.22.1",
+ "tailwind-merge": "2.5.4",
+ "tailwindcss-animate": "1.0.7",
+ "vite-plugin-top-level-await": "1.4.4",
+ "vite-plugin-wasm": "3.3.0"
},
"devDependencies": {
- "@eslint/js": "^9.13.0",
+ "@eslint/js": "9.15.0",
"@types/node": "22.8.4",
"@types/react": "18.3.12",
"@types/react-dom": "18.3.1",
- "@vitejs/plugin-react": "^4.3.3",
- "autoprefixer": "^10.4.20",
- "eslint": "^9.13.0",
- "eslint-plugin-react-hooks": "^5.0.0",
- "eslint-plugin-react-refresh": "^0.4.14",
- "globals": "^15.11.0",
- "postcss": "^8.4.49",
- "tailwindcss": "^3.4.15",
+ "@vitejs/plugin-react": "4.3.3",
+ "autoprefixer": "10.4.20",
+ "eslint": "9.13.0",
+ "eslint-plugin-react-hooks": "5.0.0",
+ "eslint-plugin-react-refresh": "0.4.14",
+ "globals": "15.11.0",
+ "postcss": "8.4.49",
+ "tailwindcss": "3.4.15",
"typescript": "~5.6.2",
- "typescript-eslint": "^8.11.0",
- "vite": "^5.4.10"
+ "typescript-eslint": "8.11.0",
+ "vite": "link:@tanstack/router-plugin/vite"
}
}
diff --git a/client/src/Agent.tsx b/client/src/Agent.tsx
new file mode 100644
index 00000000000..f3094f14ebb
--- /dev/null
+++ b/client/src/Agent.tsx
@@ -0,0 +1,10 @@
+export default function Agent() {
+ return (
+
+
+ Select an option from the sidebar to configure, view, or chat
+ with your ELIZA agent
+
+
+ );
+}
diff --git a/client/src/Agents.tsx b/client/src/Agents.tsx
new file mode 100644
index 00000000000..06e2c56b495
--- /dev/null
+++ b/client/src/Agents.tsx
@@ -0,0 +1,47 @@
+import { useQuery } from "@tanstack/react-query";
+import { Button } from "@/components/ui/button";
+import { useNavigate } from "react-router-dom";
+import "./App.css";
+
+type Agent = {
+ id: string;
+ name: string;
+};
+
+function Agents() {
+ const navigate = useNavigate();
+ const { data: agents, isLoading } = useQuery({
+ queryKey: ["agents"],
+ queryFn: async () => {
+ const res = await fetch("/api/agents");
+ const data = await res.json();
+ return data.agents as Agent[];
+ },
+ });
+
+ return (
+
+
Select your agent:
+
+ {isLoading ? (
+
Loading agents...
+ ) : (
+
+ {agents?.map((agent) => (
+
+ ))}
+
+ )}
+
+ );
+}
+
+export default Agents;
diff --git a/client/src/App.css b/client/src/App.css
index f44fb79ad33..d6055f0d020 100644
--- a/client/src/App.css
+++ b/client/src/App.css
@@ -1,7 +1,6 @@
#root {
max-width: 1280px;
margin: 0 auto;
- padding: 2rem;
text-align: center;
}
diff --git a/client/src/App.tsx b/client/src/App.tsx
index f48537f0cbb..c5b0826f12e 100644
--- a/client/src/App.tsx
+++ b/client/src/App.tsx
@@ -1,71 +1,10 @@
-import { useState } from "react";
-import { Input } from "@/components/ui/input";
-import { Button } from "@/components/ui/button";
import "./App.css";
-import { stringToUuid } from "@ai16z/eliza";
-
-type TextResponse = {
- text: string;
- user: string;
-};
+import Agents from "./Agents";
function App() {
- const [input, setInput] = useState("");
- const [response, setResponse] = useState([]);
- const [loading, setLoading] = useState(false);
-
- const handleSubmit = async (e: React.FormEvent) => {
- e.preventDefault();
- setLoading(true);
-
- try {
- const res = await fetch(`/api/${stringToUuid("Eliza")}/message`, {
- method: "POST",
- headers: {
- "Content-Type": "application/json",
- },
- body: JSON.stringify({
- text: input,
- userId: "user",
- roomId: `default-room-${stringToUuid("Eliza")}`,
- }),
- });
-
- const data: TextResponse[] = await res.json();
-
- console.log(data);
- setResponse(data);
- setInput("");
- } catch (error) {
- console.error("Error:", error);
- setResponse([{ text: "An error occurred", user: "system" }]);
- } finally {
- setLoading(false);
- }
- };
-
return (
-
Chat with Eliza
-
-
- {(loading || response) && (
-
- {response.map((r) => (
-
{r.text}
- ))}
-
- )}
+
);
}
diff --git a/client/src/Character.tsx b/client/src/Character.tsx
new file mode 100644
index 00000000000..bdb53882adf
--- /dev/null
+++ b/client/src/Character.tsx
@@ -0,0 +1,7 @@
+export default function Character() {
+ return (
+
+ );
+}
diff --git a/client/src/Chat.tsx b/client/src/Chat.tsx
new file mode 100644
index 00000000000..b32cc0b83ed
--- /dev/null
+++ b/client/src/Chat.tsx
@@ -0,0 +1,104 @@
+import { useState } from "react";
+import { useParams } from "react-router-dom";
+import { useMutation } from "@tanstack/react-query";
+import { Input } from "@/components/ui/input";
+import { Button } from "@/components/ui/button";
+import "./App.css";
+
+type TextResponse = {
+ text: string;
+ user: string;
+};
+
+export default function Chat() {
+ const { agentId } = useParams();
+ const [input, setInput] = useState("");
+ const [messages, setMessages] = useState([]);
+
+ const mutation = useMutation({
+ mutationFn: async (text: string) => {
+ const res = await fetch(`/api/${agentId}/message`, {
+ method: "POST",
+ headers: {
+ "Content-Type": "application/json",
+ },
+ body: JSON.stringify({
+ text,
+ userId: "user",
+ roomId: `default-room-${agentId}`,
+ }),
+ });
+ return res.json() as Promise;
+ },
+ onSuccess: (data) => {
+ setMessages((prev) => [...prev, ...data]);
+ },
+ });
+
+ const handleSubmit = async (e: React.FormEvent) => {
+ e.preventDefault();
+ if (!input.trim()) return;
+
+ // Add user message immediately to state
+ const userMessage: TextResponse = {
+ text: input,
+ user: "user",
+ };
+ setMessages((prev) => [...prev, userMessage]);
+
+ mutation.mutate(input);
+ setInput("");
+ };
+
+ return (
+
+
+
+ {messages.length > 0 ? (
+ messages.map((message, index) => (
+
+ ))
+ ) : (
+
+ No messages yet. Start a conversation!
+
+ )}
+
+
+
+
+
+ );
+}
diff --git a/client/src/Layout.tsx b/client/src/Layout.tsx
new file mode 100644
index 00000000000..70c79f74032
--- /dev/null
+++ b/client/src/Layout.tsx
@@ -0,0 +1,12 @@
+import { SidebarProvider } from "@/components/ui/sidebar";
+import { AppSidebar } from "@/components/app-sidebar";
+import { Outlet } from "react-router-dom";
+
+export default function Layout() {
+ return (
+
+
+
+
+ );
+}
diff --git a/client/src/components/app-sidebar.tsx b/client/src/components/app-sidebar.tsx
new file mode 100644
index 00000000000..5245ad8febd
--- /dev/null
+++ b/client/src/components/app-sidebar.tsx
@@ -0,0 +1,56 @@
+import { Calendar, Home, Inbox, Search, Settings } from "lucide-react";
+import { useParams } from "react-router-dom";
+
+import {
+ Sidebar,
+ SidebarContent,
+ SidebarGroup,
+ SidebarGroupContent,
+ SidebarGroupLabel,
+ SidebarMenu,
+ SidebarMenuButton,
+ SidebarMenuItem,
+ SidebarTrigger,
+} from "@/components/ui/sidebar";
+
+// Menu items.
+const items = [
+ {
+ title: "Chat",
+ url: "chat",
+ icon: Inbox,
+ },
+ {
+ title: "Character Overview",
+ url: "character",
+ icon: Calendar,
+ },
+];
+
+export function AppSidebar() {
+ const { agentId } = useParams();
+
+ return (
+
+
+
+ Application
+
+
+ {items.map((item) => (
+
+
+
+
+ {item.title}
+
+
+
+ ))}
+
+
+
+
+
+ );
+}
diff --git a/client/src/components/ui/separator.tsx b/client/src/components/ui/separator.tsx
new file mode 100644
index 00000000000..2af4ec891eb
--- /dev/null
+++ b/client/src/components/ui/separator.tsx
@@ -0,0 +1,33 @@
+"use client";
+
+import * as React from "react";
+import * as SeparatorPrimitive from "@radix-ui/react-separator";
+
+import { cn } from "@/lib/utils";
+
+const Separator = React.forwardRef<
+ React.ElementRef,
+ React.ComponentPropsWithoutRef
+>(
+ (
+ { className, orientation = "horizontal", decorative = true, ...props },
+ ref
+ ) => (
+
+ )
+);
+Separator.displayName = SeparatorPrimitive.Root.displayName;
+
+export { Separator };
diff --git a/client/src/components/ui/sheet.tsx b/client/src/components/ui/sheet.tsx
new file mode 100644
index 00000000000..e18e295c73c
--- /dev/null
+++ b/client/src/components/ui/sheet.tsx
@@ -0,0 +1,136 @@
+import * as React from "react";
+import * as SheetPrimitive from "@radix-ui/react-dialog";
+import { cva, type VariantProps } from "class-variance-authority";
+import { X } from "lucide-react";
+
+import { cn } from "@/lib/utils";
+
+const Sheet = SheetPrimitive.Root;
+
+const SheetTrigger = SheetPrimitive.Trigger;
+
+const SheetClose = SheetPrimitive.Close;
+
+const SheetPortal = SheetPrimitive.Portal;
+
+const SheetOverlay = React.forwardRef<
+ React.ElementRef,
+ React.ComponentPropsWithoutRef
+>(({ className, ...props }, ref) => (
+
+));
+SheetOverlay.displayName = SheetPrimitive.Overlay.displayName;
+
+const sheetVariants = cva(
+ "fixed z-50 gap-4 bg-background p-6 shadow-lg transition ease-in-out data-[state=closed]:duration-300 data-[state=open]:duration-500 data-[state=open]:animate-in data-[state=closed]:animate-out",
+ {
+ variants: {
+ side: {
+ top: "inset-x-0 top-0 border-b data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top",
+ bottom: "inset-x-0 bottom-0 border-t data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom",
+ left: "inset-y-0 left-0 h-full w-3/4 border-r data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left sm:max-w-sm",
+ right: "inset-y-0 right-0 h-full w-3/4 border-l data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right sm:max-w-sm",
+ },
+ },
+ defaultVariants: {
+ side: "right",
+ },
+ }
+);
+
+interface SheetContentProps
+ extends React.ComponentPropsWithoutRef,
+ VariantProps {}
+
+const SheetContent = React.forwardRef<
+ React.ElementRef,
+ SheetContentProps
+>(({ side = "right", className, children, ...props }, ref) => (
+
+
+
+
+
+ Close
+
+ {children}
+
+
+));
+SheetContent.displayName = SheetPrimitive.Content.displayName;
+
+const SheetHeader = ({
+ className,
+ ...props
+}: React.HTMLAttributes) => (
+
+);
+SheetHeader.displayName = "SheetHeader";
+
+const SheetFooter = ({
+ className,
+ ...props
+}: React.HTMLAttributes) => (
+
+);
+SheetFooter.displayName = "SheetFooter";
+
+const SheetTitle = React.forwardRef<
+ React.ElementRef,
+ React.ComponentPropsWithoutRef
+>(({ className, ...props }, ref) => (
+
+));
+SheetTitle.displayName = SheetPrimitive.Title.displayName;
+
+const SheetDescription = React.forwardRef<
+ React.ElementRef,
+ React.ComponentPropsWithoutRef
+>(({ className, ...props }, ref) => (
+
+));
+SheetDescription.displayName = SheetPrimitive.Description.displayName;
+
+export {
+ Sheet,
+ SheetPortal,
+ SheetOverlay,
+ SheetTrigger,
+ SheetClose,
+ SheetContent,
+ SheetHeader,
+ SheetFooter,
+ SheetTitle,
+ SheetDescription,
+};
diff --git a/client/src/components/ui/sidebar.tsx b/client/src/components/ui/sidebar.tsx
new file mode 100644
index 00000000000..ab5862ab35a
--- /dev/null
+++ b/client/src/components/ui/sidebar.tsx
@@ -0,0 +1,786 @@
+import * as React from "react";
+import { Slot } from "@radix-ui/react-slot";
+import { VariantProps, cva } from "class-variance-authority";
+import { PanelLeft } from "lucide-react";
+
+import { useIsMobile } from "@/hooks/use-mobile";
+import { cn } from "@/lib/utils";
+import { Button } from "@/components/ui/button";
+import { Input } from "@/components/ui/input";
+import { Separator } from "@/components/ui/separator";
+import { Sheet, SheetContent } from "@/components/ui/sheet";
+import { Skeleton } from "@/components/ui/skeleton";
+import {
+ Tooltip,
+ TooltipContent,
+ TooltipProvider,
+ TooltipTrigger,
+} from "@/components/ui/tooltip";
+
+const SIDEBAR_COOKIE_NAME = "sidebar:state";
+const SIDEBAR_COOKIE_MAX_AGE = 60 * 60 * 24 * 7;
+const SIDEBAR_WIDTH = "16rem";
+const SIDEBAR_WIDTH_MOBILE = "18rem";
+const SIDEBAR_WIDTH_ICON = "3rem";
+const SIDEBAR_KEYBOARD_SHORTCUT = "b";
+
+type SidebarContext = {
+ state: "expanded" | "collapsed";
+ open: boolean;
+ setOpen: (open: boolean) => void;
+ openMobile: boolean;
+ setOpenMobile: (open: boolean) => void;
+ isMobile: boolean;
+ toggleSidebar: () => void;
+};
+
+const SidebarContext = React.createContext(null);
+
+function useSidebar() {
+ const context = React.useContext(SidebarContext);
+ if (!context) {
+ throw new Error("useSidebar must be used within a SidebarProvider.");
+ }
+
+ return context;
+}
+
+const SidebarProvider = React.forwardRef<
+ HTMLDivElement,
+ React.ComponentProps<"div"> & {
+ defaultOpen?: boolean;
+ open?: boolean;
+ onOpenChange?: (open: boolean) => void;
+ }
+>(
+ (
+ {
+ defaultOpen = true,
+ open: openProp,
+ onOpenChange: setOpenProp,
+ className,
+ style,
+ children,
+ ...props
+ },
+ ref
+ ) => {
+ const isMobile = useIsMobile();
+ const [openMobile, setOpenMobile] = React.useState(false);
+
+ // This is the internal state of the sidebar.
+ // We use openProp and setOpenProp for control from outside the component.
+ const [_open, _setOpen] = React.useState(defaultOpen);
+ const open = openProp ?? _open;
+ const setOpen = React.useCallback(
+ (value: boolean | ((value: boolean) => boolean)) => {
+ const openState =
+ typeof value === "function" ? value(open) : value;
+ if (setOpenProp) {
+ setOpenProp(openState);
+ } else {
+ _setOpen(openState);
+ }
+
+ // This sets the cookie to keep the sidebar state.
+ document.cookie = `${SIDEBAR_COOKIE_NAME}=${openState}; path=/; max-age=${SIDEBAR_COOKIE_MAX_AGE}`;
+ },
+ [setOpenProp, open]
+ );
+
+ // Helper to toggle the sidebar.
+ const toggleSidebar = React.useCallback(() => {
+ return isMobile
+ ? setOpenMobile((open) => !open)
+ : setOpen((open) => !open);
+ }, [isMobile, setOpen, setOpenMobile]);
+
+ // Adds a keyboard shortcut to toggle the sidebar.
+ React.useEffect(() => {
+ const handleKeyDown = (event: KeyboardEvent) => {
+ if (
+ event.key === SIDEBAR_KEYBOARD_SHORTCUT &&
+ (event.metaKey || event.ctrlKey)
+ ) {
+ event.preventDefault();
+ toggleSidebar();
+ }
+ };
+
+ window.addEventListener("keydown", handleKeyDown);
+ return () => window.removeEventListener("keydown", handleKeyDown);
+ }, [toggleSidebar]);
+
+ // We add a state so that we can do data-state="expanded" or "collapsed".
+ // This makes it easier to style the sidebar with Tailwind classes.
+ const state = open ? "expanded" : "collapsed";
+
+ const contextValue = React.useMemo(
+ () => ({
+ state,
+ open,
+ setOpen,
+ isMobile,
+ openMobile,
+ setOpenMobile,
+ toggleSidebar,
+ }),
+ [
+ state,
+ open,
+ setOpen,
+ isMobile,
+ openMobile,
+ setOpenMobile,
+ toggleSidebar,
+ ]
+ );
+
+ return (
+
+
+
+ {children}
+
+
+
+ );
+ }
+);
+SidebarProvider.displayName = "SidebarProvider";
+
+const Sidebar = React.forwardRef<
+ HTMLDivElement,
+ React.ComponentProps<"div"> & {
+ side?: "left" | "right";
+ variant?: "sidebar" | "floating" | "inset";
+ collapsible?: "offcanvas" | "icon" | "none";
+ }
+>(
+ (
+ {
+ side = "left",
+ variant = "sidebar",
+ collapsible = "offcanvas",
+ className,
+ children,
+ ...props
+ },
+ ref
+ ) => {
+ const { isMobile, state, openMobile, setOpenMobile } = useSidebar();
+
+ if (collapsible === "none") {
+ return (
+
+ {children}
+
+ );
+ }
+
+ if (isMobile) {
+ return (
+
+
+
+ {children}
+
+
+
+ );
+ }
+
+ return (
+
+ {/* This is what handles the sidebar gap on desktop */}
+
+
+
+ );
+ }
+);
+Sidebar.displayName = "Sidebar";
+
+const SidebarTrigger = React.forwardRef<
+ React.ElementRef,
+ React.ComponentProps
+>(({ className, onClick, ...props }, ref) => {
+ const { toggleSidebar } = useSidebar();
+
+ return (
+
+ );
+});
+SidebarTrigger.displayName = "SidebarTrigger";
+
+const SidebarRail = React.forwardRef<
+ HTMLButtonElement,
+ React.ComponentProps<"button">
+>(({ className, ...props }, ref) => {
+ const { toggleSidebar } = useSidebar();
+
+ return (
+
+ );
+});
+SidebarRail.displayName = "SidebarRail";
+
+const SidebarInset = React.forwardRef<
+ HTMLDivElement,
+ React.ComponentProps<"main">
+>(({ className, ...props }, ref) => {
+ return (
+
+ );
+});
+SidebarInset.displayName = "SidebarInset";
+
+const SidebarInput = React.forwardRef<
+ React.ElementRef,
+ React.ComponentProps
+>(({ className, ...props }, ref) => {
+ return (
+
+ );
+});
+SidebarInput.displayName = "SidebarInput";
+
+const SidebarHeader = React.forwardRef<
+ HTMLDivElement,
+ React.ComponentProps<"div">
+>(({ className, ...props }, ref) => {
+ return (
+
+ );
+});
+SidebarHeader.displayName = "SidebarHeader";
+
+const SidebarFooter = React.forwardRef<
+ HTMLDivElement,
+ React.ComponentProps<"div">
+>(({ className, ...props }, ref) => {
+ return (
+
+ );
+});
+SidebarFooter.displayName = "SidebarFooter";
+
+const SidebarSeparator = React.forwardRef<
+ React.ElementRef,
+ React.ComponentProps
+>(({ className, ...props }, ref) => {
+ return (
+
+ );
+});
+SidebarSeparator.displayName = "SidebarSeparator";
+
+const SidebarContent = React.forwardRef<
+ HTMLDivElement,
+ React.ComponentProps<"div">
+>(({ className, ...props }, ref) => {
+ return (
+
+ );
+});
+SidebarContent.displayName = "SidebarContent";
+
+const SidebarGroup = React.forwardRef<
+ HTMLDivElement,
+ React.ComponentProps<"div">
+>(({ className, ...props }, ref) => {
+ return (
+
+ );
+});
+SidebarGroup.displayName = "SidebarGroup";
+
+const SidebarGroupLabel = React.forwardRef<
+ HTMLDivElement,
+ React.ComponentProps<"div"> & { asChild?: boolean }
+>(({ className, asChild = false, ...props }, ref) => {
+ const Comp = asChild ? Slot : "div";
+
+ return (
+ svg]:size-4 [&>svg]:shrink-0",
+ "group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0",
+ className
+ )}
+ {...props}
+ />
+ );
+});
+SidebarGroupLabel.displayName = "SidebarGroupLabel";
+
+const SidebarGroupAction = React.forwardRef<
+ HTMLButtonElement,
+ React.ComponentProps<"button"> & { asChild?: boolean }
+>(({ className, asChild = false, ...props }, ref) => {
+ const Comp = asChild ? Slot : "button";
+
+ return (
+ svg]:size-4 [&>svg]:shrink-0",
+ // Increases the hit area of the button on mobile.
+ "after:absolute after:-inset-2 after:md:hidden",
+ "group-data-[collapsible=icon]:hidden",
+ className
+ )}
+ {...props}
+ />
+ );
+});
+SidebarGroupAction.displayName = "SidebarGroupAction";
+
+const SidebarGroupContent = React.forwardRef<
+ HTMLDivElement,
+ React.ComponentProps<"div">
+>(({ className, ...props }, ref) => (
+
+));
+SidebarGroupContent.displayName = "SidebarGroupContent";
+
+const SidebarMenu = React.forwardRef<
+ HTMLUListElement,
+ React.ComponentProps<"ul">
+>(({ className, ...props }, ref) => (
+
+));
+SidebarMenu.displayName = "SidebarMenu";
+
+const SidebarMenuItem = React.forwardRef<
+ HTMLLIElement,
+ React.ComponentProps<"li">
+>(({ className, ...props }, ref) => (
+
+));
+SidebarMenuItem.displayName = "SidebarMenuItem";
+
+const sidebarMenuButtonVariants = cva(
+ "peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm outline-none ring-sidebar-ring transition-[width,height,padding] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 group-has-[[data-sidebar=menu-action]]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-accent data-[active=true]:font-medium data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:!size-8 group-data-[collapsible=icon]:!p-2 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0",
+ {
+ variants: {
+ variant: {
+ default:
+ "hover:bg-sidebar-accent hover:text-sidebar-accent-foreground",
+ outline:
+ "bg-background shadow-[0_0_0_1px_hsl(var(--sidebar-border))] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground hover:shadow-[0_0_0_1px_hsl(var(--sidebar-accent))]",
+ },
+ size: {
+ default: "h-8 text-sm",
+ sm: "h-7 text-xs",
+ lg: "h-12 text-sm group-data-[collapsible=icon]:!p-0",
+ },
+ },
+ defaultVariants: {
+ variant: "default",
+ size: "default",
+ },
+ }
+);
+
+const SidebarMenuButton = React.forwardRef<
+ HTMLButtonElement,
+ React.ComponentProps<"button"> & {
+ asChild?: boolean;
+ isActive?: boolean;
+ tooltip?: string | React.ComponentProps;
+ } & VariantProps
+>(
+ (
+ {
+ asChild = false,
+ isActive = false,
+ variant = "default",
+ size = "default",
+ tooltip,
+ className,
+ ...props
+ },
+ ref
+ ) => {
+ const Comp = asChild ? Slot : "button";
+ const { isMobile, state } = useSidebar();
+
+ const button = (
+
+ );
+
+ if (!tooltip) {
+ return button;
+ }
+
+ if (typeof tooltip === "string") {
+ tooltip = {
+ children: tooltip,
+ };
+ }
+
+ return (
+
+ {button}
+
+
+ );
+ }
+);
+SidebarMenuButton.displayName = "SidebarMenuButton";
+
+const SidebarMenuAction = React.forwardRef<
+ HTMLButtonElement,
+ React.ComponentProps<"button"> & {
+ asChild?: boolean;
+ showOnHover?: boolean;
+ }
+>(({ className, asChild = false, showOnHover = false, ...props }, ref) => {
+ const Comp = asChild ? Slot : "button";
+
+ return (
+ svg]:size-4 [&>svg]:shrink-0",
+ // Increases the hit area of the button on mobile.
+ "after:absolute after:-inset-2 after:md:hidden",
+ "peer-data-[size=sm]/menu-button:top-1",
+ "peer-data-[size=default]/menu-button:top-1.5",
+ "peer-data-[size=lg]/menu-button:top-2.5",
+ "group-data-[collapsible=icon]:hidden",
+ showOnHover &&
+ "group-focus-within/menu-item:opacity-100 group-hover/menu-item:opacity-100 data-[state=open]:opacity-100 peer-data-[active=true]/menu-button:text-sidebar-accent-foreground md:opacity-0",
+ className
+ )}
+ {...props}
+ />
+ );
+});
+SidebarMenuAction.displayName = "SidebarMenuAction";
+
+const SidebarMenuBadge = React.forwardRef<
+ HTMLDivElement,
+ React.ComponentProps<"div">
+>(({ className, ...props }, ref) => (
+
+));
+SidebarMenuBadge.displayName = "SidebarMenuBadge";
+
+const SidebarMenuSkeleton = React.forwardRef<
+ HTMLDivElement,
+ React.ComponentProps<"div"> & {
+ showIcon?: boolean;
+ }
+>(({ className, showIcon = false, ...props }, ref) => {
+ // Random width between 50 to 90%.
+ const width = React.useMemo(() => {
+ return `${Math.floor(Math.random() * 40) + 50}%`;
+ }, []);
+
+ return (
+
+ {showIcon && (
+
+ )}
+
+
+ );
+});
+SidebarMenuSkeleton.displayName = "SidebarMenuSkeleton";
+
+const SidebarMenuSub = React.forwardRef<
+ HTMLUListElement,
+ React.ComponentProps<"ul">
+>(({ className, ...props }, ref) => (
+
+));
+SidebarMenuSub.displayName = "SidebarMenuSub";
+
+const SidebarMenuSubItem = React.forwardRef<
+ HTMLLIElement,
+ React.ComponentProps<"li">
+>(({ ...props }, ref) => );
+SidebarMenuSubItem.displayName = "SidebarMenuSubItem";
+
+const SidebarMenuSubButton = React.forwardRef<
+ HTMLAnchorElement,
+ React.ComponentProps<"a"> & {
+ asChild?: boolean;
+ size?: "sm" | "md";
+ isActive?: boolean;
+ }
+>(({ asChild = false, size = "md", isActive, className, ...props }, ref) => {
+ const Comp = asChild ? Slot : "a";
+
+ return (
+ span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0 [&>svg]:text-sidebar-accent-foreground",
+ "data-[active=true]:bg-sidebar-accent data-[active=true]:text-sidebar-accent-foreground",
+ size === "sm" && "text-xs",
+ size === "md" && "text-sm",
+ "group-data-[collapsible=icon]:hidden",
+ className
+ )}
+ {...props}
+ />
+ );
+});
+SidebarMenuSubButton.displayName = "SidebarMenuSubButton";
+
+export {
+ Sidebar,
+ SidebarContent,
+ SidebarFooter,
+ SidebarGroup,
+ SidebarGroupAction,
+ SidebarGroupContent,
+ SidebarGroupLabel,
+ SidebarHeader,
+ SidebarInput,
+ SidebarInset,
+ SidebarMenu,
+ SidebarMenuAction,
+ SidebarMenuBadge,
+ SidebarMenuButton,
+ SidebarMenuItem,
+ SidebarMenuSkeleton,
+ SidebarMenuSub,
+ SidebarMenuSubButton,
+ SidebarMenuSubItem,
+ SidebarProvider,
+ SidebarRail,
+ SidebarSeparator,
+ SidebarTrigger,
+ useSidebar,
+};
diff --git a/client/src/components/ui/skeleton.tsx b/client/src/components/ui/skeleton.tsx
new file mode 100644
index 00000000000..ff991180f69
--- /dev/null
+++ b/client/src/components/ui/skeleton.tsx
@@ -0,0 +1,15 @@
+import { cn } from "@/lib/utils";
+
+function Skeleton({
+ className,
+ ...props
+}: React.HTMLAttributes) {
+ return (
+
+ );
+}
+
+export { Skeleton };
diff --git a/client/src/components/ui/tooltip.tsx b/client/src/components/ui/tooltip.tsx
new file mode 100644
index 00000000000..521ff4db27e
--- /dev/null
+++ b/client/src/components/ui/tooltip.tsx
@@ -0,0 +1,32 @@
+"use client";
+
+import * as React from "react";
+import * as TooltipPrimitive from "@radix-ui/react-tooltip";
+
+import { cn } from "@/lib/utils";
+
+const TooltipProvider = TooltipPrimitive.Provider;
+
+const Tooltip = TooltipPrimitive.Root;
+
+const TooltipTrigger = TooltipPrimitive.Trigger;
+
+const TooltipContent = React.forwardRef<
+ React.ElementRef,
+ React.ComponentPropsWithoutRef
+>(({ className, sideOffset = 4, ...props }, ref) => (
+
+
+
+));
+TooltipContent.displayName = TooltipPrimitive.Content.displayName;
+
+export { Tooltip, TooltipTrigger, TooltipContent, TooltipProvider };
diff --git a/client/src/hooks/use-mobile.tsx b/client/src/hooks/use-mobile.tsx
new file mode 100644
index 00000000000..e172bb3fed0
--- /dev/null
+++ b/client/src/hooks/use-mobile.tsx
@@ -0,0 +1,23 @@
+import * as React from "react";
+
+const MOBILE_BREAKPOINT = 768;
+
+export function useIsMobile() {
+ const [isMobile, setIsMobile] = React.useState(
+ undefined
+ );
+
+ React.useEffect(() => {
+ const mql = window.matchMedia(
+ `(max-width: ${MOBILE_BREAKPOINT - 1}px)`
+ );
+ const onChange = () => {
+ setIsMobile(window.innerWidth < MOBILE_BREAKPOINT);
+ };
+ mql.addEventListener("change", onChange);
+ setIsMobile(window.innerWidth < MOBILE_BREAKPOINT);
+ return () => mql.removeEventListener("change", onChange);
+ }, []);
+
+ return !!isMobile;
+}
diff --git a/client/src/index.css b/client/src/index.css
index afc95589b40..1ecdbdd9be6 100644
--- a/client/src/index.css
+++ b/client/src/index.css
@@ -29,6 +29,14 @@
--chart-3: 197 37% 24%;
--chart-4: 43 74% 66%;
--chart-5: 27 87% 67%;
+ --sidebar-background: 0 0% 98%;
+ --sidebar-foreground: 240 5.3% 26.1%;
+ --sidebar-primary: 240 5.9% 10%;
+ --sidebar-primary-foreground: 0 0% 98%;
+ --sidebar-accent: 240 4.8% 95.9%;
+ --sidebar-accent-foreground: 240 5.9% 10%;
+ --sidebar-border: 220 13% 91%;
+ --sidebar-ring: 217.2 91.2% 59.8%;
}
.dark {
@@ -56,6 +64,14 @@
--chart-3: 30 80% 55%;
--chart-4: 280 65% 60%;
--chart-5: 340 75% 55%;
+ --sidebar-background: 240 5.9% 10%;
+ --sidebar-foreground: 240 4.8% 95.9%;
+ --sidebar-primary: 224.3 76.3% 48%;
+ --sidebar-primary-foreground: 0 0% 100%;
+ --sidebar-accent: 240 3.7% 15.9%;
+ --sidebar-accent-foreground: 240 4.8% 95.9%;
+ --sidebar-border: 240 3.7% 15.9%;
+ --sidebar-ring: 217.2 91.2% 59.8%;
}
}
@@ -67,3 +83,27 @@
@apply bg-background text-foreground;
}
}
+
+@layer base {
+ :root {
+ --sidebar-background: 0 0% 98%;
+ --sidebar-foreground: 240 5.3% 26.1%;
+ --sidebar-primary: 240 5.9% 10%;
+ --sidebar-primary-foreground: 0 0% 98%;
+ --sidebar-accent: 240 4.8% 95.9%;
+ --sidebar-accent-foreground: 240 5.9% 10%;
+ --sidebar-border: 220 13% 91%;
+ --sidebar-ring: 217.2 91.2% 59.8%;
+ }
+
+ .dark {
+ --sidebar-background: 240 5.9% 10%;
+ --sidebar-foreground: 240 4.8% 95.9%;
+ --sidebar-primary: 224.3 76.3% 48%;
+ --sidebar-primary-foreground: 0 0% 100%;
+ --sidebar-accent: 240 3.7% 15.9%;
+ --sidebar-accent-foreground: 240 4.8% 95.9%;
+ --sidebar-border: 240 3.7% 15.9%;
+ --sidebar-ring: 217.2 91.2% 59.8%;
+ }
+}
diff --git a/client/src/main.tsx b/client/src/main.tsx
index 1e008043f6b..9b1aa69de2d 100644
--- a/client/src/main.tsx
+++ b/client/src/main.tsx
@@ -1,10 +1,17 @@
import { StrictMode } from "react";
import { createRoot } from "react-dom/client";
import "./index.css";
-import App from "./App.tsx";
+
+import { QueryClient, QueryClientProvider } from "@tanstack/react-query";
+import { RouterProvider } from "react-router-dom";
+import { router } from "./router.tsx";
+// Create a client
+const queryClient = new QueryClient();
createRoot(document.getElementById("root")!).render(
-
+
+
+
);
diff --git a/client/src/router.tsx b/client/src/router.tsx
new file mode 100644
index 00000000000..3127e13fc7d
--- /dev/null
+++ b/client/src/router.tsx
@@ -0,0 +1,32 @@
+// In your router configuration file (e.g., App.jsx or router.jsx)
+import { createBrowserRouter } from "react-router-dom";
+import Agents from "./Agents";
+import Agent from "./Agent"; // We'll create this component
+import Layout from "./Layout";
+import Chat from "./Chat";
+import Character from "./Character";
+
+export const router = createBrowserRouter([
+ {
+ path: "/",
+ element: ,
+ },
+ {
+ path: "/:agentId",
+ element: ,
+ children: [
+ {
+ path: "", // This matches /:agentId exactly
+ element: ,
+ },
+ {
+ path: "chat", // This matches /:agentId/chat
+ element: ,
+ },
+ {
+ path: "character", // This matches /:agentId/chat
+ element: ,
+ },
+ ],
+ },
+]);
diff --git a/client/tailwind.config.js b/client/tailwind.config.js
index 295d4283663..d049a57827a 100644
--- a/client/tailwind.config.js
+++ b/client/tailwind.config.js
@@ -53,5 +53,5 @@ export default {
},
},
},
- plugins: [require("tailwindcss-animate")],
+ plugins: [],
};
diff --git a/docs/api/classes/AgentRuntime.md b/docs/api/classes/AgentRuntime.md
index 4221daffd88..9064c3bf03c 100644
--- a/docs/api/classes/AgentRuntime.md
+++ b/docs/api/classes/AgentRuntime.md
@@ -1,4 +1,4 @@
-[@ai16z/eliza v1.0.0](../index.md) / AgentRuntime
+[@ai16z/eliza v0.1.4-alpha.3](../index.md) / AgentRuntime
# Class: AgentRuntime
@@ -73,13 +73,17 @@ Custom fetch function to use for making requests.
• **opts.speechModelPath?**: `string`
+• **opts.cacheManager**: [`ICacheManager`](../interfaces/ICacheManager.md)
+
+• **opts.logging?**: `boolean`
+
#### Returns
[`AgentRuntime`](AgentRuntime.md)
#### Defined in
-[packages/core/src/runtime.ts:192](https://github.com/ai16z/eliza/blob/main/packages/core/src/runtime.ts#L192)
+[packages/core/src/runtime.ts:202](https://github.com/ai16z/eliza/blob/main/packages/core/src/runtime.ts#L202)
## Properties
@@ -95,9 +99,9 @@ The ID of the agent
#### Defined in
-[packages/core/src/runtime.ts:59](https://github.com/ai16z/eliza/blob/main/packages/core/src/runtime.ts#L59)
+[packages/core/src/runtime.ts:62](https://github.com/ai16z/eliza/blob/main/packages/core/src/runtime.ts#L62)
----
+***
### serverUrl
@@ -111,9 +115,9 @@ The base URL of the server where the agent's requests are processed.
#### Defined in
-[packages/core/src/runtime.ts:63](https://github.com/ai16z/eliza/blob/main/packages/core/src/runtime.ts#L63)
+[packages/core/src/runtime.ts:66](https://github.com/ai16z/eliza/blob/main/packages/core/src/runtime.ts#L66)
----
+***
### databaseAdapter
@@ -127,9 +131,9 @@ The database adapter used for interacting with the database.
#### Defined in
-[packages/core/src/runtime.ts:68](https://github.com/ai16z/eliza/blob/main/packages/core/src/runtime.ts#L68)
+[packages/core/src/runtime.ts:71](https://github.com/ai16z/eliza/blob/main/packages/core/src/runtime.ts#L71)
----
+***
### token
@@ -143,9 +147,9 @@ Authentication token used for securing requests.
#### Defined in
-[packages/core/src/runtime.ts:73](https://github.com/ai16z/eliza/blob/main/packages/core/src/runtime.ts#L73)
+[packages/core/src/runtime.ts:76](https://github.com/ai16z/eliza/blob/main/packages/core/src/runtime.ts#L76)
----
+***
### actions
@@ -159,9 +163,9 @@ Custom actions that the agent can perform.
#### Defined in
-[packages/core/src/runtime.ts:78](https://github.com/ai16z/eliza/blob/main/packages/core/src/runtime.ts#L78)
+[packages/core/src/runtime.ts:81](https://github.com/ai16z/eliza/blob/main/packages/core/src/runtime.ts#L81)
----
+***
### evaluators
@@ -175,9 +179,9 @@ Evaluators used to assess and guide the agent's responses.
#### Defined in
-[packages/core/src/runtime.ts:83](https://github.com/ai16z/eliza/blob/main/packages/core/src/runtime.ts#L83)
+[packages/core/src/runtime.ts:86](https://github.com/ai16z/eliza/blob/main/packages/core/src/runtime.ts#L86)
----
+***
### providers
@@ -191,9 +195,23 @@ Context providers used to provide context for message generation.
#### Defined in
-[packages/core/src/runtime.ts:88](https://github.com/ai16z/eliza/blob/main/packages/core/src/runtime.ts#L88)
+[packages/core/src/runtime.ts:91](https://github.com/ai16z/eliza/blob/main/packages/core/src/runtime.ts#L91)
+
+***
+
+### plugins
----
+> **plugins**: [`Plugin`](../type-aliases/Plugin.md)[] = `[]`
+
+#### Implementation of
+
+[`IAgentRuntime`](../interfaces/IAgentRuntime.md).[`plugins`](../interfaces/IAgentRuntime.md#plugins)
+
+#### Defined in
+
+[packages/core/src/runtime.ts:93](https://github.com/ai16z/eliza/blob/main/packages/core/src/runtime.ts#L93)
+
+***
### modelProvider
@@ -207,9 +225,9 @@ The model to use for generateText.
#### Defined in
-[packages/core/src/runtime.ts:93](https://github.com/ai16z/eliza/blob/main/packages/core/src/runtime.ts#L93)
+[packages/core/src/runtime.ts:98](https://github.com/ai16z/eliza/blob/main/packages/core/src/runtime.ts#L98)
----
+***
### fetch()
@@ -242,9 +260,9 @@ Some environments may not have access to the global fetch function and need a cu
#### Defined in
-[packages/core/src/runtime.ts:99](https://github.com/ai16z/eliza/blob/main/packages/core/src/runtime.ts#L99)
+[packages/core/src/runtime.ts:104](https://github.com/ai16z/eliza/blob/main/packages/core/src/runtime.ts#L104)
----
+***
### character
@@ -258,9 +276,9 @@ The character to use for the agent
#### Defined in
-[packages/core/src/runtime.ts:104](https://github.com/ai16z/eliza/blob/main/packages/core/src/runtime.ts#L104)
+[packages/core/src/runtime.ts:109](https://github.com/ai16z/eliza/blob/main/packages/core/src/runtime.ts#L109)
----
+***
### messageManager
@@ -274,9 +292,9 @@ Store messages that are sent and received by the agent.
#### Defined in
-[packages/core/src/runtime.ts:109](https://github.com/ai16z/eliza/blob/main/packages/core/src/runtime.ts#L109)
+[packages/core/src/runtime.ts:114](https://github.com/ai16z/eliza/blob/main/packages/core/src/runtime.ts#L114)
----
+***
### descriptionManager
@@ -290,9 +308,9 @@ Store and recall descriptions of users based on conversations.
#### Defined in
-[packages/core/src/runtime.ts:114](https://github.com/ai16z/eliza/blob/main/packages/core/src/runtime.ts#L114)
+[packages/core/src/runtime.ts:119](https://github.com/ai16z/eliza/blob/main/packages/core/src/runtime.ts#L119)
----
+***
### loreManager
@@ -306,9 +324,9 @@ Manage the creation and recall of static information (documents, historical game
#### Defined in
-[packages/core/src/runtime.ts:119](https://github.com/ai16z/eliza/blob/main/packages/core/src/runtime.ts#L119)
+[packages/core/src/runtime.ts:124](https://github.com/ai16z/eliza/blob/main/packages/core/src/runtime.ts#L124)
----
+***
### documentsManager
@@ -316,11 +334,15 @@ Manage the creation and recall of static information (documents, historical game
Hold large documents that can be referenced
+#### Implementation of
+
+[`IAgentRuntime`](../interfaces/IAgentRuntime.md).[`documentsManager`](../interfaces/IAgentRuntime.md#documentsManager)
+
#### Defined in
-[packages/core/src/runtime.ts:124](https://github.com/ai16z/eliza/blob/main/packages/core/src/runtime.ts#L124)
+[packages/core/src/runtime.ts:129](https://github.com/ai16z/eliza/blob/main/packages/core/src/runtime.ts#L129)
----
+***
### knowledgeManager
@@ -328,11 +350,15 @@ Hold large documents that can be referenced
Searchable document fragments
+#### Implementation of
+
+[`IAgentRuntime`](../interfaces/IAgentRuntime.md).[`knowledgeManager`](../interfaces/IAgentRuntime.md#knowledgeManager)
+
#### Defined in
-[packages/core/src/runtime.ts:129](https://github.com/ai16z/eliza/blob/main/packages/core/src/runtime.ts#L129)
+[packages/core/src/runtime.ts:134](https://github.com/ai16z/eliza/blob/main/packages/core/src/runtime.ts#L134)
----
+***
### services
@@ -344,9 +370,9 @@ Searchable document fragments
#### Defined in
-[packages/core/src/runtime.ts:131](https://github.com/ai16z/eliza/blob/main/packages/core/src/runtime.ts#L131)
+[packages/core/src/runtime.ts:136](https://github.com/ai16z/eliza/blob/main/packages/core/src/runtime.ts#L136)
----
+***
### memoryManagers
@@ -354,7 +380,21 @@ Searchable document fragments
#### Defined in
-[packages/core/src/runtime.ts:132](https://github.com/ai16z/eliza/blob/main/packages/core/src/runtime.ts#L132)
+[packages/core/src/runtime.ts:137](https://github.com/ai16z/eliza/blob/main/packages/core/src/runtime.ts#L137)
+
+***
+
+### cacheManager
+
+> **cacheManager**: [`ICacheManager`](../interfaces/ICacheManager.md)
+
+#### Implementation of
+
+[`IAgentRuntime`](../interfaces/IAgentRuntime.md).[`cacheManager`](../interfaces/IAgentRuntime.md#cacheManager)
+
+#### Defined in
+
+[packages/core/src/runtime.ts:138](https://github.com/ai16z/eliza/blob/main/packages/core/src/runtime.ts#L138)
## Methods
@@ -376,9 +416,9 @@ Searchable document fragments
#### Defined in
-[packages/core/src/runtime.ts:134](https://github.com/ai16z/eliza/blob/main/packages/core/src/runtime.ts#L134)
+[packages/core/src/runtime.ts:140](https://github.com/ai16z/eliza/blob/main/packages/core/src/runtime.ts#L140)
----
+***
### getMemoryManager()
@@ -398,13 +438,17 @@ Searchable document fragments
#### Defined in
-[packages/core/src/runtime.ts:149](https://github.com/ai16z/eliza/blob/main/packages/core/src/runtime.ts#L149)
+[packages/core/src/runtime.ts:155](https://github.com/ai16z/eliza/blob/main/packages/core/src/runtime.ts#L155)
----
+***
### getService()
-> **getService**(`service`): _typeof_ [`Service`](Service.md)
+> **getService**\<`T`\>(`service`): `T`
+
+#### Type Parameters
+
+• **T** *extends* [`Service`](Service.md)
#### Parameters
@@ -412,7 +456,7 @@ Searchable document fragments
#### Returns
-_typeof_ [`Service`](Service.md)
+`T`
#### Implementation of
@@ -420,13 +464,13 @@ _typeof_ [`Service`](Service.md)
#### Defined in
-[packages/core/src/runtime.ts:153](https://github.com/ai16z/eliza/blob/main/packages/core/src/runtime.ts#L153)
+[packages/core/src/runtime.ts:159](https://github.com/ai16z/eliza/blob/main/packages/core/src/runtime.ts#L159)
----
+***
### registerService()
-> **registerService**(`service`): `void`
+> **registerService**(`service`): `Promise`\<`void`\>
#### Parameters
@@ -434,7 +478,7 @@ _typeof_ [`Service`](Service.md)
#### Returns
-`void`
+`Promise`\<`void`\>
#### Implementation of
@@ -442,9 +486,27 @@ _typeof_ [`Service`](Service.md)
#### Defined in
-[packages/core/src/runtime.ts:161](https://github.com/ai16z/eliza/blob/main/packages/core/src/runtime.ts#L161)
+[packages/core/src/runtime.ts:168](https://github.com/ai16z/eliza/blob/main/packages/core/src/runtime.ts#L168)
+
+***
+
+### initialize()
+
+> **initialize**(): `Promise`\<`void`\>
+
+#### Returns
+
+`Promise`\<`void`\>
+
+#### Implementation of
+
+[`IAgentRuntime`](../interfaces/IAgentRuntime.md).[`initialize`](../interfaces/IAgentRuntime.md#initialize)
+
+#### Defined in
+
+[packages/core/src/runtime.ts:359](https://github.com/ai16z/eliza/blob/main/packages/core/src/runtime.ts#L359)
----
+***
### getSetting()
@@ -464,9 +526,9 @@ _typeof_ [`Service`](Service.md)
#### Defined in
-[packages/core/src/runtime.ts:368](https://github.com/ai16z/eliza/blob/main/packages/core/src/runtime.ts#L368)
+[packages/core/src/runtime.ts:423](https://github.com/ai16z/eliza/blob/main/packages/core/src/runtime.ts#L423)
----
+***
### getConversationLength()
@@ -486,9 +548,9 @@ The number of recent messages to be kept in memory.
#### Defined in
-[packages/core/src/runtime.ts:390](https://github.com/ai16z/eliza/blob/main/packages/core/src/runtime.ts#L390)
+[packages/core/src/runtime.ts:445](https://github.com/ai16z/eliza/blob/main/packages/core/src/runtime.ts#L445)
----
+***
### registerAction()
@@ -512,9 +574,9 @@ The action to register.
#### Defined in
-[packages/core/src/runtime.ts:398](https://github.com/ai16z/eliza/blob/main/packages/core/src/runtime.ts#L398)
+[packages/core/src/runtime.ts:453](https://github.com/ai16z/eliza/blob/main/packages/core/src/runtime.ts#L453)
----
+***
### registerEvaluator()
@@ -534,9 +596,9 @@ The evaluator to register.
#### Defined in
-[packages/core/src/runtime.ts:407](https://github.com/ai16z/eliza/blob/main/packages/core/src/runtime.ts#L407)
+[packages/core/src/runtime.ts:462](https://github.com/ai16z/eliza/blob/main/packages/core/src/runtime.ts#L462)
----
+***
### registerContextProvider()
@@ -556,9 +618,9 @@ The context provider to register.
#### Defined in
-[packages/core/src/runtime.ts:415](https://github.com/ai16z/eliza/blob/main/packages/core/src/runtime.ts#L415)
+[packages/core/src/runtime.ts:470](https://github.com/ai16z/eliza/blob/main/packages/core/src/runtime.ts#L470)
----
+***
### processActions()
@@ -588,9 +650,9 @@ The message to process.
#### Defined in
-[packages/core/src/runtime.ts:424](https://github.com/ai16z/eliza/blob/main/packages/core/src/runtime.ts#L424)
+[packages/core/src/runtime.ts:479](https://github.com/ai16z/eliza/blob/main/packages/core/src/runtime.ts#L479)
----
+***
### evaluate()
@@ -624,9 +686,9 @@ The results of the evaluation.
#### Defined in
-[packages/core/src/runtime.ts:497](https://github.com/ai16z/eliza/blob/main/packages/core/src/runtime.ts#L497)
+[packages/core/src/runtime.ts:556](https://github.com/ai16z/eliza/blob/main/packages/core/src/runtime.ts#L556)
----
+***
### ensureParticipantExists()
@@ -656,9 +718,9 @@ An error if the participant cannot be added.
#### Defined in
-[packages/core/src/runtime.ts:567](https://github.com/ai16z/eliza/blob/main/packages/core/src/runtime.ts#L567)
+[packages/core/src/runtime.ts:626](https://github.com/ai16z/eliza/blob/main/packages/core/src/runtime.ts#L626)
----
+***
### ensureUserExists()
@@ -692,9 +754,9 @@ The user name to ensure the existence of.
#### Defined in
-[packages/core/src/runtime.ts:583](https://github.com/ai16z/eliza/blob/main/packages/core/src/runtime.ts#L583)
+[packages/core/src/runtime.ts:642](https://github.com/ai16z/eliza/blob/main/packages/core/src/runtime.ts#L642)
----
+***
### ensureParticipantInRoom()
@@ -716,9 +778,9 @@ The user name to ensure the existence of.
#### Defined in
-[packages/core/src/runtime.ts:603](https://github.com/ai16z/eliza/blob/main/packages/core/src/runtime.ts#L603)
+[packages/core/src/runtime.ts:662](https://github.com/ai16z/eliza/blob/main/packages/core/src/runtime.ts#L662)
----
+***
### ensureConnection()
@@ -746,9 +808,9 @@ The user name to ensure the existence of.
#### Defined in
-[packages/core/src/runtime.ts:614](https://github.com/ai16z/eliza/blob/main/packages/core/src/runtime.ts#L614)
+[packages/core/src/runtime.ts:679](https://github.com/ai16z/eliza/blob/main/packages/core/src/runtime.ts#L679)
----
+***
### ensureRoomExists()
@@ -777,9 +839,9 @@ An error if the room cannot be created.
#### Defined in
-[packages/core/src/runtime.ts:650](https://github.com/ai16z/eliza/blob/main/packages/core/src/runtime.ts#L650)
+[packages/core/src/runtime.ts:715](https://github.com/ai16z/eliza/blob/main/packages/core/src/runtime.ts#L715)
----
+***
### composeState()
@@ -807,9 +869,9 @@ The state of the agent.
#### Defined in
-[packages/core/src/runtime.ts:663](https://github.com/ai16z/eliza/blob/main/packages/core/src/runtime.ts#L663)
+[packages/core/src/runtime.ts:728](https://github.com/ai16z/eliza/blob/main/packages/core/src/runtime.ts#L728)
----
+***
### updateRecentMessageState()
@@ -829,4 +891,4 @@ The state of the agent.
#### Defined in
-[packages/core/src/runtime.ts:1124](https://github.com/ai16z/eliza/blob/main/packages/core/src/runtime.ts#L1124)
+[packages/core/src/runtime.ts:1173](https://github.com/ai16z/eliza/blob/main/packages/core/src/runtime.ts#L1173)
diff --git a/docs/api/classes/CacheManager.md b/docs/api/classes/CacheManager.md
new file mode 100644
index 00000000000..87e229ec358
--- /dev/null
+++ b/docs/api/classes/CacheManager.md
@@ -0,0 +1,117 @@
+[@ai16z/eliza v0.1.4-alpha.3](../index.md) / CacheManager
+
+# Class: CacheManager\
+
+## Type Parameters
+
+• **CacheAdapter** *extends* [`ICacheAdapter`](../interfaces/ICacheAdapter.md) = [`ICacheAdapter`](../interfaces/ICacheAdapter.md)
+
+## Implements
+
+- [`ICacheManager`](../interfaces/ICacheManager.md)
+
+## Constructors
+
+### new CacheManager()
+
+> **new CacheManager**\<`CacheAdapter`\>(`adapter`): [`CacheManager`](CacheManager.md)\<`CacheAdapter`\>
+
+#### Parameters
+
+• **adapter**: `CacheAdapter`
+
+#### Returns
+
+[`CacheManager`](CacheManager.md)\<`CacheAdapter`\>
+
+#### Defined in
+
+[packages/core/src/cache.ts:93](https://github.com/ai16z/eliza/blob/main/packages/core/src/cache.ts#L93)
+
+## Properties
+
+### adapter
+
+> **adapter**: `CacheAdapter`
+
+#### Defined in
+
+[packages/core/src/cache.ts:91](https://github.com/ai16z/eliza/blob/main/packages/core/src/cache.ts#L91)
+
+## Methods
+
+### get()
+
+> **get**\<`T`\>(`key`): `Promise`\<`T`\>
+
+#### Type Parameters
+
+• **T** = `unknown`
+
+#### Parameters
+
+• **key**: `string`
+
+#### Returns
+
+`Promise`\<`T`\>
+
+#### Implementation of
+
+[`ICacheManager`](../interfaces/ICacheManager.md).[`get`](../interfaces/ICacheManager.md#get)
+
+#### Defined in
+
+[packages/core/src/cache.ts:97](https://github.com/ai16z/eliza/blob/main/packages/core/src/cache.ts#L97)
+
+***
+
+### set()
+
+> **set**\<`T`\>(`key`, `value`, `opts`?): `Promise`\<`void`\>
+
+#### Type Parameters
+
+• **T**
+
+#### Parameters
+
+• **key**: `string`
+
+• **value**: `T`
+
+• **opts?**: [`CacheOptions`](../type-aliases/CacheOptions.md)
+
+#### Returns
+
+`Promise`\<`void`\>
+
+#### Implementation of
+
+[`ICacheManager`](../interfaces/ICacheManager.md).[`set`](../interfaces/ICacheManager.md#set)
+
+#### Defined in
+
+[packages/core/src/cache.ts:116](https://github.com/ai16z/eliza/blob/main/packages/core/src/cache.ts#L116)
+
+***
+
+### delete()
+
+> **delete**(`key`): `Promise`\<`void`\>
+
+#### Parameters
+
+• **key**: `string`
+
+#### Returns
+
+`Promise`\<`void`\>
+
+#### Implementation of
+
+[`ICacheManager`](../interfaces/ICacheManager.md).[`delete`](../interfaces/ICacheManager.md#delete)
+
+#### Defined in
+
+[packages/core/src/cache.ts:123](https://github.com/ai16z/eliza/blob/main/packages/core/src/cache.ts#L123)
diff --git a/docs/api/classes/DatabaseAdapter.md b/docs/api/classes/DatabaseAdapter.md
index 26e39894ed1..4bdf7c2357b 100644
--- a/docs/api/classes/DatabaseAdapter.md
+++ b/docs/api/classes/DatabaseAdapter.md
@@ -1,10 +1,14 @@
-[@ai16z/eliza v1.0.0](../index.md) / DatabaseAdapter
+[@ai16z/eliza v0.1.4-alpha.3](../index.md) / DatabaseAdapter
-# Class: `abstract` DatabaseAdapter
+# Class: `abstract` DatabaseAdapter\
An abstract class representing a database adapter for managing various entities
like accounts, memories, actors, goals, and rooms.
+## Type Parameters
+
+• **DB** = `any`
+
## Implements
- [`IDatabaseAdapter`](../interfaces/IDatabaseAdapter.md)
@@ -13,17 +17,17 @@ like accounts, memories, actors, goals, and rooms.
### new DatabaseAdapter()
-> **new DatabaseAdapter**(): [`DatabaseAdapter`](DatabaseAdapter.md)
+> **new DatabaseAdapter**\<`DB`\>(): [`DatabaseAdapter`](DatabaseAdapter.md)\<`DB`\>
#### Returns
-[`DatabaseAdapter`](DatabaseAdapter.md)
+[`DatabaseAdapter`](DatabaseAdapter.md)\<`DB`\>
## Properties
### db
-> **db**: `any`
+> **db**: `DB`
The database instance.
@@ -63,7 +67,7 @@ A Promise that resolves to the Account object or null if not found.
[packages/core/src/database.ts:27](https://github.com/ai16z/eliza/blob/main/packages/core/src/database.ts#L27)
----
+***
### createAccount()
@@ -91,7 +95,7 @@ A Promise that resolves when the account creation is complete.
[packages/core/src/database.ts:34](https://github.com/ai16z/eliza/blob/main/packages/core/src/database.ts#L34)
----
+***
### getMemories()
@@ -105,6 +109,8 @@ Retrieves memories based on the specified parameters.
An object containing parameters for the memory retrieval.
+• **params.agentId**: \`$\{string\}-$\{string\}-$\{string\}-$\{string\}-$\{string\}\`
+
• **params.roomId**: \`$\{string\}-$\{string\}-$\{string\}-$\{string\}-$\{string\}\`
• **params.count?**: `number`
@@ -127,7 +133,7 @@ A Promise that resolves to an array of Memory objects.
[packages/core/src/database.ts:41](https://github.com/ai16z/eliza/blob/main/packages/core/src/database.ts#L41)
----
+***
### getMemoriesByRoomIds()
@@ -137,7 +143,7 @@ A Promise that resolves to an array of Memory objects.
• **params**
-• **params.agentId?**: \`$\{string\}-$\{string\}-$\{string\}-$\{string\}-$\{string\}\`
+• **params.agentId**: \`$\{string\}-$\{string\}-$\{string\}-$\{string\}-$\{string\}\`
• **params.roomIds**: \`$\{string\}-$\{string\}-$\{string\}-$\{string\}-$\{string\}\`[]
@@ -153,9 +159,9 @@ A Promise that resolves to an array of Memory objects.
#### Defined in
-[packages/core/src/database.ts:48](https://github.com/ai16z/eliza/blob/main/packages/core/src/database.ts#L48)
+[packages/core/src/database.ts:49](https://github.com/ai16z/eliza/blob/main/packages/core/src/database.ts#L49)
----
+***
### getMemoryById()
@@ -175,9 +181,9 @@ A Promise that resolves to an array of Memory objects.
#### Defined in
-[packages/core/src/database.ts:54](https://github.com/ai16z/eliza/blob/main/packages/core/src/database.ts#L54)
+[packages/core/src/database.ts:55](https://github.com/ai16z/eliza/blob/main/packages/core/src/database.ts#L55)
----
+***
### getCachedEmbeddings()
@@ -191,17 +197,17 @@ Retrieves cached embeddings based on the specified query parameters.
An object containing parameters for the embedding retrieval.
-• **params.query_table_name**: `string`
+• **params.query\_table\_name**: `string`
-• **params.query_threshold**: `number`
+• **params.query\_threshold**: `number`
-• **params.query_input**: `string`
+• **params.query\_input**: `string`
-• **params.query_field_name**: `string`
+• **params.query\_field\_name**: `string`
-• **params.query_field_sub_name**: `string`
+• **params.query\_field\_sub\_name**: `string`
-• **params.query_match_count**: `number`
+• **params.query\_match\_count**: `number`
#### Returns
@@ -215,9 +221,9 @@ A Promise that resolves to an array of objects containing embeddings and levensh
#### Defined in
-[packages/core/src/database.ts:61](https://github.com/ai16z/eliza/blob/main/packages/core/src/database.ts#L61)
+[packages/core/src/database.ts:62](https://github.com/ai16z/eliza/blob/main/packages/core/src/database.ts#L62)
----
+***
### log()
@@ -251,9 +257,9 @@ A Promise that resolves when the log entry has been saved.
#### Defined in
-[packages/core/src/database.ts:87](https://github.com/ai16z/eliza/blob/main/packages/core/src/database.ts#L87)
+[packages/core/src/database.ts:88](https://github.com/ai16z/eliza/blob/main/packages/core/src/database.ts#L88)
----
+***
### getActorDetails()
@@ -281,9 +287,9 @@ A Promise that resolves to an array of Actor objects.
#### Defined in
-[packages/core/src/database.ts:99](https://github.com/ai16z/eliza/blob/main/packages/core/src/database.ts#L99)
+[packages/core/src/database.ts:100](https://github.com/ai16z/eliza/blob/main/packages/core/src/database.ts#L100)
----
+***
### searchMemories()
@@ -299,13 +305,15 @@ An object containing parameters for the memory search.
• **params.tableName**: `string`
+• **params.agentId**: \`$\{string\}-$\{string\}-$\{string\}-$\{string\}-$\{string\}\`
+
• **params.roomId**: \`$\{string\}-$\{string\}-$\{string\}-$\{string\}-$\{string\}\`
• **params.embedding**: `number`[]
-• **params.match_threshold**: `number`
+• **params.match\_threshold**: `number`
-• **params.match_count**: `number`
+• **params.match\_count**: `number`
• **params.unique**: `boolean`
@@ -321,9 +329,9 @@ A Promise that resolves to an array of Memory objects.
#### Defined in
-[packages/core/src/database.ts:106](https://github.com/ai16z/eliza/blob/main/packages/core/src/database.ts#L106)
+[packages/core/src/database.ts:107](https://github.com/ai16z/eliza/blob/main/packages/core/src/database.ts#L107)
----
+***
### updateGoalStatus()
@@ -353,9 +361,9 @@ A Promise that resolves when the goal status has been updated.
#### Defined in
-[packages/core/src/database.ts:120](https://github.com/ai16z/eliza/blob/main/packages/core/src/database.ts#L120)
+[packages/core/src/database.ts:122](https://github.com/ai16z/eliza/blob/main/packages/core/src/database.ts#L122)
----
+***
### searchMemoriesByEmbedding()
@@ -373,7 +381,7 @@ The embedding vector to search with.
Additional parameters for the search.
-• **params.match_threshold?**: `number`
+• **params.match\_threshold?**: `number`
• **params.count?**: `number`
@@ -397,9 +405,9 @@ A Promise that resolves to an array of Memory objects.
#### Defined in
-[packages/core/src/database.ts:131](https://github.com/ai16z/eliza/blob/main/packages/core/src/database.ts#L131)
+[packages/core/src/database.ts:133](https://github.com/ai16z/eliza/blob/main/packages/core/src/database.ts#L133)
----
+***
### createMemory()
@@ -433,9 +441,9 @@ A Promise that resolves when the memory has been created.
#### Defined in
-[packages/core/src/database.ts:150](https://github.com/ai16z/eliza/blob/main/packages/core/src/database.ts#L150)
+[packages/core/src/database.ts:152](https://github.com/ai16z/eliza/blob/main/packages/core/src/database.ts#L152)
----
+***
### removeMemory()
@@ -465,9 +473,9 @@ A Promise that resolves when the memory has been removed.
#### Defined in
-[packages/core/src/database.ts:162](https://github.com/ai16z/eliza/blob/main/packages/core/src/database.ts#L162)
+[packages/core/src/database.ts:164](https://github.com/ai16z/eliza/blob/main/packages/core/src/database.ts#L164)
----
+***
### removeAllMemories()
@@ -497,9 +505,9 @@ A Promise that resolves when all memories have been removed.
#### Defined in
-[packages/core/src/database.ts:170](https://github.com/ai16z/eliza/blob/main/packages/core/src/database.ts#L170)
+[packages/core/src/database.ts:172](https://github.com/ai16z/eliza/blob/main/packages/core/src/database.ts#L172)
----
+***
### countMemories()
@@ -533,9 +541,9 @@ A Promise that resolves to the number of memories.
#### Defined in
-[packages/core/src/database.ts:179](https://github.com/ai16z/eliza/blob/main/packages/core/src/database.ts#L179)
+[packages/core/src/database.ts:181](https://github.com/ai16z/eliza/blob/main/packages/core/src/database.ts#L181)
----
+***
### getGoals()
@@ -549,6 +557,8 @@ Retrieves goals based on specified parameters.
An object containing parameters for goal retrieval.
+• **params.agentId**: \`$\{string\}-$\{string\}-$\{string\}-$\{string\}-$\{string\}\`
+
• **params.roomId**: \`$\{string\}-$\{string\}-$\{string\}-$\{string\}-$\{string\}\`
• **params.userId?**: \`$\{string\}-$\{string\}-$\{string\}-$\{string\}-$\{string\}\`
@@ -569,9 +579,9 @@ A Promise that resolves to an array of Goal objects.
#### Defined in
-[packages/core/src/database.ts:190](https://github.com/ai16z/eliza/blob/main/packages/core/src/database.ts#L190)
+[packages/core/src/database.ts:192](https://github.com/ai16z/eliza/blob/main/packages/core/src/database.ts#L192)
----
+***
### updateGoal()
@@ -597,9 +607,9 @@ A Promise that resolves when the goal has been updated.
#### Defined in
-[packages/core/src/database.ts:202](https://github.com/ai16z/eliza/blob/main/packages/core/src/database.ts#L202)
+[packages/core/src/database.ts:205](https://github.com/ai16z/eliza/blob/main/packages/core/src/database.ts#L205)
----
+***
### createGoal()
@@ -625,9 +635,9 @@ A Promise that resolves when the goal has been created.
#### Defined in
-[packages/core/src/database.ts:209](https://github.com/ai16z/eliza/blob/main/packages/core/src/database.ts#L209)
+[packages/core/src/database.ts:212](https://github.com/ai16z/eliza/blob/main/packages/core/src/database.ts#L212)
----
+***
### removeGoal()
@@ -653,9 +663,9 @@ A Promise that resolves when the goal has been removed.
#### Defined in
-[packages/core/src/database.ts:216](https://github.com/ai16z/eliza/blob/main/packages/core/src/database.ts#L216)
+[packages/core/src/database.ts:219](https://github.com/ai16z/eliza/blob/main/packages/core/src/database.ts#L219)
----
+***
### removeAllGoals()
@@ -681,9 +691,9 @@ A Promise that resolves when all goals have been removed.
#### Defined in
-[packages/core/src/database.ts:223](https://github.com/ai16z/eliza/blob/main/packages/core/src/database.ts#L223)
+[packages/core/src/database.ts:226](https://github.com/ai16z/eliza/blob/main/packages/core/src/database.ts#L226)
----
+***
### getRoom()
@@ -709,9 +719,9 @@ A Promise that resolves to the room ID or null if not found.
#### Defined in
-[packages/core/src/database.ts:230](https://github.com/ai16z/eliza/blob/main/packages/core/src/database.ts#L230)
+[packages/core/src/database.ts:233](https://github.com/ai16z/eliza/blob/main/packages/core/src/database.ts#L233)
----
+***
### createRoom()
@@ -737,9 +747,9 @@ A Promise that resolves to the UUID of the created room.
#### Defined in
-[packages/core/src/database.ts:237](https://github.com/ai16z/eliza/blob/main/packages/core/src/database.ts#L237)
+[packages/core/src/database.ts:240](https://github.com/ai16z/eliza/blob/main/packages/core/src/database.ts#L240)
----
+***
### removeRoom()
@@ -765,9 +775,9 @@ A Promise that resolves when the room has been removed.
#### Defined in
-[packages/core/src/database.ts:244](https://github.com/ai16z/eliza/blob/main/packages/core/src/database.ts#L244)
+[packages/core/src/database.ts:247](https://github.com/ai16z/eliza/blob/main/packages/core/src/database.ts#L247)
----
+***
### getRoomsForParticipant()
@@ -793,9 +803,9 @@ A Promise that resolves to an array of room IDs.
#### Defined in
-[packages/core/src/database.ts:251](https://github.com/ai16z/eliza/blob/main/packages/core/src/database.ts#L251)
+[packages/core/src/database.ts:254](https://github.com/ai16z/eliza/blob/main/packages/core/src/database.ts#L254)
----
+***
### getRoomsForParticipants()
@@ -821,9 +831,9 @@ A Promise that resolves to an array of room IDs.
#### Defined in
-[packages/core/src/database.ts:258](https://github.com/ai16z/eliza/blob/main/packages/core/src/database.ts#L258)
+[packages/core/src/database.ts:261](https://github.com/ai16z/eliza/blob/main/packages/core/src/database.ts#L261)
----
+***
### addParticipant()
@@ -853,9 +863,9 @@ A Promise that resolves to a boolean indicating success or failure.
#### Defined in
-[packages/core/src/database.ts:266](https://github.com/ai16z/eliza/blob/main/packages/core/src/database.ts#L266)
+[packages/core/src/database.ts:269](https://github.com/ai16z/eliza/blob/main/packages/core/src/database.ts#L269)
----
+***
### removeParticipant()
@@ -885,9 +895,9 @@ A Promise that resolves to a boolean indicating success or failure.
#### Defined in
-[packages/core/src/database.ts:274](https://github.com/ai16z/eliza/blob/main/packages/core/src/database.ts#L274)
+[packages/core/src/database.ts:277](https://github.com/ai16z/eliza/blob/main/packages/core/src/database.ts#L277)
----
+***
### getParticipantsForAccount()
@@ -915,7 +925,7 @@ A Promise that resolves to an array of Participant objects.
##### Defined in
-[packages/core/src/database.ts:281](https://github.com/ai16z/eliza/blob/main/packages/core/src/database.ts#L281)
+[packages/core/src/database.ts:284](https://github.com/ai16z/eliza/blob/main/packages/core/src/database.ts#L284)
#### getParticipantsForAccount(userId)
@@ -941,9 +951,9 @@ A Promise that resolves to an array of Participant objects.
##### Defined in
-[packages/core/src/database.ts:288](https://github.com/ai16z/eliza/blob/main/packages/core/src/database.ts#L288)
+[packages/core/src/database.ts:291](https://github.com/ai16z/eliza/blob/main/packages/core/src/database.ts#L291)
----
+***
### getParticipantsForRoom()
@@ -969,9 +979,9 @@ A Promise that resolves to an array of UUIDs representing the participants.
#### Defined in
-[packages/core/src/database.ts:295](https://github.com/ai16z/eliza/blob/main/packages/core/src/database.ts#L295)
+[packages/core/src/database.ts:298](https://github.com/ai16z/eliza/blob/main/packages/core/src/database.ts#L298)
----
+***
### getParticipantUserState()
@@ -993,9 +1003,9 @@ A Promise that resolves to an array of UUIDs representing the participants.
#### Defined in
-[packages/core/src/database.ts:297](https://github.com/ai16z/eliza/blob/main/packages/core/src/database.ts#L297)
+[packages/core/src/database.ts:300](https://github.com/ai16z/eliza/blob/main/packages/core/src/database.ts#L300)
----
+***
### setParticipantUserState()
@@ -1019,9 +1029,9 @@ A Promise that resolves to an array of UUIDs representing the participants.
#### Defined in
-[packages/core/src/database.ts:301](https://github.com/ai16z/eliza/blob/main/packages/core/src/database.ts#L301)
+[packages/core/src/database.ts:304](https://github.com/ai16z/eliza/blob/main/packages/core/src/database.ts#L304)
----
+***
### createRelationship()
@@ -1051,9 +1061,9 @@ A Promise that resolves to a boolean indicating success or failure of the creati
#### Defined in
-[packages/core/src/database.ts:312](https://github.com/ai16z/eliza/blob/main/packages/core/src/database.ts#L312)
+[packages/core/src/database.ts:315](https://github.com/ai16z/eliza/blob/main/packages/core/src/database.ts#L315)
----
+***
### getRelationship()
@@ -1083,9 +1093,9 @@ A Promise that resolves to the Relationship object or null if not found.
#### Defined in
-[packages/core/src/database.ts:322](https://github.com/ai16z/eliza/blob/main/packages/core/src/database.ts#L322)
+[packages/core/src/database.ts:325](https://github.com/ai16z/eliza/blob/main/packages/core/src/database.ts#L325)
----
+***
### getRelationships()
@@ -1113,4 +1123,4 @@ A Promise that resolves to an array of Relationship objects.
#### Defined in
-[packages/core/src/database.ts:332](https://github.com/ai16z/eliza/blob/main/packages/core/src/database.ts#L332)
+[packages/core/src/database.ts:335](https://github.com/ai16z/eliza/blob/main/packages/core/src/database.ts#L335)
diff --git a/docs/api/classes/DbCacheAdapter.md b/docs/api/classes/DbCacheAdapter.md
new file mode 100644
index 00000000000..439bf2f0d00
--- /dev/null
+++ b/docs/api/classes/DbCacheAdapter.md
@@ -0,0 +1,95 @@
+[@ai16z/eliza v0.1.4-alpha.3](../index.md) / DbCacheAdapter
+
+# Class: DbCacheAdapter
+
+## Implements
+
+- [`ICacheAdapter`](../interfaces/ICacheAdapter.md)
+
+## Constructors
+
+### new DbCacheAdapter()
+
+> **new DbCacheAdapter**(`db`, `agentId`): [`DbCacheAdapter`](DbCacheAdapter.md)
+
+#### Parameters
+
+• **db**: [`IDatabaseCacheAdapter`](../interfaces/IDatabaseCacheAdapter.md)
+
+• **agentId**: \`$\{string\}-$\{string\}-$\{string\}-$\{string\}-$\{string\}\`
+
+#### Returns
+
+[`DbCacheAdapter`](DbCacheAdapter.md)
+
+#### Defined in
+
+[packages/core/src/cache.ts:70](https://github.com/ai16z/eliza/blob/main/packages/core/src/cache.ts#L70)
+
+## Methods
+
+### get()
+
+> **get**(`key`): `Promise`\<`string`\>
+
+#### Parameters
+
+• **key**: `string`
+
+#### Returns
+
+`Promise`\<`string`\>
+
+#### Implementation of
+
+[`ICacheAdapter`](../interfaces/ICacheAdapter.md).[`get`](../interfaces/ICacheAdapter.md#get)
+
+#### Defined in
+
+[packages/core/src/cache.ts:75](https://github.com/ai16z/eliza/blob/main/packages/core/src/cache.ts#L75)
+
+***
+
+### set()
+
+> **set**(`key`, `value`): `Promise`\<`void`\>
+
+#### Parameters
+
+• **key**: `string`
+
+• **value**: `string`
+
+#### Returns
+
+`Promise`\<`void`\>
+
+#### Implementation of
+
+[`ICacheAdapter`](../interfaces/ICacheAdapter.md).[`set`](../interfaces/ICacheAdapter.md#set)
+
+#### Defined in
+
+[packages/core/src/cache.ts:79](https://github.com/ai16z/eliza/blob/main/packages/core/src/cache.ts#L79)
+
+***
+
+### delete()
+
+> **delete**(`key`): `Promise`\<`void`\>
+
+#### Parameters
+
+• **key**: `string`
+
+#### Returns
+
+`Promise`\<`void`\>
+
+#### Implementation of
+
+[`ICacheAdapter`](../interfaces/ICacheAdapter.md).[`delete`](../interfaces/ICacheAdapter.md#delete)
+
+#### Defined in
+
+[packages/core/src/cache.ts:83](https://github.com/ai16z/eliza/blob/main/packages/core/src/cache.ts#L83)
diff --git a/docs/api/classes/FsCacheAdapter.md b/docs/api/classes/FsCacheAdapter.md
new file mode 100644
index 00000000000..f9926e4cd3e
--- /dev/null
+++ b/docs/api/classes/FsCacheAdapter.md
@@ -0,0 +1,93 @@
+[@ai16z/eliza v0.1.4-alpha.3](../index.md) / FsCacheAdapter
+
+# Class: FsCacheAdapter
+
+## Implements
+
+- [`ICacheAdapter`](../interfaces/ICacheAdapter.md)
+
+## Constructors
+
+### new FsCacheAdapter()
+
+> **new FsCacheAdapter**(`dataDir`): [`FsCacheAdapter`](FsCacheAdapter.md)
+
+#### Parameters
+
+• **dataDir**: `string`
+
+#### Returns
+
+[`FsCacheAdapter`](FsCacheAdapter.md)
+
+#### Defined in
+
+[packages/core/src/cache.ts:37](https://github.com/ai16z/eliza/blob/main/packages/core/src/cache.ts#L37)
+
+## Methods
+
+### get()
+
+> **get**(`key`): `Promise`\<`string`\>
+
+#### Parameters
+
+• **key**: `string`
+
+#### Returns
+
+`Promise`\<`string`\>
+
+#### Implementation of
+
+[`ICacheAdapter`](../interfaces/ICacheAdapter.md).[`get`](../interfaces/ICacheAdapter.md#get)
+
+#### Defined in
+
+[packages/core/src/cache.ts:39](https://github.com/ai16z/eliza/blob/main/packages/core/src/cache.ts#L39)
+
+***
+
+### set()
+
+> **set**(`key`, `value`): `Promise`\<`void`\>
+
+#### Parameters
+
+• **key**: `string`
+
+• **value**: `string`
+
+#### Returns
+
+`Promise`\<`void`\>
+
+#### Implementation of
+
+[`ICacheAdapter`](../interfaces/ICacheAdapter.md).[`set`](../interfaces/ICacheAdapter.md#set)
+
+#### Defined in
+
+[packages/core/src/cache.ts:48](https://github.com/ai16z/eliza/blob/main/packages/core/src/cache.ts#L48)
+
+***
+
+### delete()
+
+> **delete**(`key`): `Promise`\<`void`\>
+
+#### Parameters
+
+• **key**: `string`
+
+#### Returns
+
+`Promise`\<`void`\>
+
+#### Implementation of
+
+[`ICacheAdapter`](../interfaces/ICacheAdapter.md).[`delete`](../interfaces/ICacheAdapter.md#delete)
+
+#### Defined in
+
+[packages/core/src/cache.ts:59](https://github.com/ai16z/eliza/blob/main/packages/core/src/cache.ts#L59)
diff --git a/docs/api/classes/MemoryCacheAdapter.md b/docs/api/classes/MemoryCacheAdapter.md
new file mode 100644
index 00000000000..943c245e918
--- /dev/null
+++ b/docs/api/classes/MemoryCacheAdapter.md
@@ -0,0 +1,103 @@
+[@ai16z/eliza v0.1.4-alpha.3](../index.md) / MemoryCacheAdapter
+
+# Class: MemoryCacheAdapter
+
+## Implements
+
+- [`ICacheAdapter`](../interfaces/ICacheAdapter.md)
+
+## Constructors
+
+### new MemoryCacheAdapter()
+
+> **new MemoryCacheAdapter**(`initalData`?): [`MemoryCacheAdapter`](MemoryCacheAdapter.md)
+
+#### Parameters
+
+• **initalData?**: `Map`\<`string`, `string`\>
+
+#### Returns
+
+[`MemoryCacheAdapter`](MemoryCacheAdapter.md)
+
+#### Defined in
+
+[packages/core/src/cache.ts:19](https://github.com/ai16z/eliza/blob/main/packages/core/src/cache.ts#L19)
+
+## Properties
+
+### data
+
+> **data**: `Map`\<`string`, `string`\>
+
+#### Defined in
+
+[packages/core/src/cache.ts:17](https://github.com/ai16z/eliza/blob/main/packages/core/src/cache.ts#L17)
+
+## Methods
+
+### get()
+
+> **get**(`key`): `Promise`\<`string`\>
+
+#### Parameters
+
+• **key**: `string`
+
+#### Returns
+
+`Promise`\<`string`\>
+
+#### Implementation of
+
+[`ICacheAdapter`](../interfaces/ICacheAdapter.md).[`get`](../interfaces/ICacheAdapter.md#get)
+
+#### Defined in
+
+[packages/core/src/cache.ts:23](https://github.com/ai16z/eliza/blob/main/packages/core/src/cache.ts#L23)
+
+***
+
+### set()
+
+> **set**(`key`, `value`): `Promise`\<`void`\>
+
+#### Parameters
+
+• **key**: `string`
+
+• **value**: `string`
+
+#### Returns
+
+`Promise`\<`void`\>
+
+#### Implementation of
+
+[`ICacheAdapter`](../interfaces/ICacheAdapter.md).[`set`](../interfaces/ICacheAdapter.md#set)
+
+#### Defined in
+
+[packages/core/src/cache.ts:27](https://github.com/ai16z/eliza/blob/main/packages/core/src/cache.ts#L27)
+
+***
+
+### delete()
+
+> **delete**(`key`): `Promise`\<`void`\>
+
+#### Parameters
+
+• **key**: `string`
+
+#### Returns
+
+`Promise`\<`void`\>
+
+#### Implementation of
+
+[`ICacheAdapter`](../interfaces/ICacheAdapter.md).[`delete`](../interfaces/ICacheAdapter.md#delete)
+
+#### Defined in
+
+[packages/core/src/cache.ts:31](https://github.com/ai16z/eliza/blob/main/packages/core/src/cache.ts#L31)
diff --git a/docs/api/classes/MemoryManager.md b/docs/api/classes/MemoryManager.md
index c7991909787..554be5e5de7 100644
--- a/docs/api/classes/MemoryManager.md
+++ b/docs/api/classes/MemoryManager.md
@@ -1,4 +1,4 @@
-[@ai16z/eliza v1.0.0](../index.md) / MemoryManager
+[@ai16z/eliza v0.1.4-alpha.3](../index.md) / MemoryManager
# Class: MemoryManager
@@ -36,7 +36,7 @@ The AgentRuntime instance associated with this manager.
#### Defined in
-[packages/core/src/memory.ts:35](https://github.com/ai16z/eliza/blob/main/packages/core/src/memory.ts#L35)
+[packages/core/src/memory.ts:36](https://github.com/ai16z/eliza/blob/main/packages/core/src/memory.ts#L36)
## Properties
@@ -52,9 +52,9 @@ The AgentRuntime instance associated with this manager.
#### Defined in
-[packages/core/src/memory.ts:22](https://github.com/ai16z/eliza/blob/main/packages/core/src/memory.ts#L22)
+[packages/core/src/memory.ts:23](https://github.com/ai16z/eliza/blob/main/packages/core/src/memory.ts#L23)
----
+***
### tableName
@@ -68,7 +68,7 @@ The name of the database table this manager operates on.
#### Defined in
-[packages/core/src/memory.ts:27](https://github.com/ai16z/eliza/blob/main/packages/core/src/memory.ts#L27)
+[packages/core/src/memory.ts:28](https://github.com/ai16z/eliza/blob/main/packages/core/src/memory.ts#L28)
## Methods
@@ -76,19 +76,25 @@ The name of the database table this manager operates on.
> **addEmbeddingToMemory**(`memory`): `Promise`\<[`Memory`](../interfaces/Memory.md)\>
-Adds an embedding vector to a memory object. If the memory already has an embedding, it is returned as is.
+Adds an embedding vector to a memory object if one doesn't already exist.
+The embedding is generated from the memory's text content using the runtime's
+embedding model. If the memory has no text content, an error is thrown.
#### Parameters
• **memory**: [`Memory`](../interfaces/Memory.md)
-The memory object to add an embedding to.
+The memory object to add an embedding to
#### Returns
`Promise`\<[`Memory`](../interfaces/Memory.md)\>
-A Promise resolving to the memory object, potentially updated with an embedding vector.
+The memory object with an embedding vector added
+
+#### Throws
+
+Error if the memory content is empty
#### Implementation of
@@ -96,9 +102,9 @@ A Promise resolving to the memory object, potentially updated with an embedding
#### Defined in
-[packages/core/src/memory.ts:45](https://github.com/ai16z/eliza/blob/main/packages/core/src/memory.ts#L45)
+[packages/core/src/memory.ts:55](https://github.com/ai16z/eliza/blob/main/packages/core/src/memory.ts#L55)
----
+***
### getMemories()
@@ -124,8 +130,6 @@ The number of memories to retrieve.
Whether to retrieve unique memories only.
-• **opts.agentId?**: \`$\{string\}-$\{string\}-$\{string\}-$\{string\}-$\{string\}\`
-
• **opts.start?**: `number`
• **opts.end?**: `number`
@@ -142,9 +146,9 @@ A Promise resolving to an array of Memory objects.
#### Defined in
-[packages/core/src/memory.ts:66](https://github.com/ai16z/eliza/blob/main/packages/core/src/memory.ts#L66)
+[packages/core/src/memory.ts:90](https://github.com/ai16z/eliza/blob/main/packages/core/src/memory.ts#L90)
----
+***
### getCachedEmbeddings()
@@ -164,9 +168,9 @@ A Promise resolving to an array of Memory objects.
#### Defined in
-[packages/core/src/memory.ts:93](https://github.com/ai16z/eliza/blob/main/packages/core/src/memory.ts#L93)
+[packages/core/src/memory.ts:114](https://github.com/ai16z/eliza/blob/main/packages/core/src/memory.ts#L114)
----
+***
### searchMemoriesByEmbedding()
@@ -184,12 +188,10 @@ The embedding vector to search with.
Options including match threshold, count, user IDs, and uniqueness.
-• **opts.match_threshold?**: `number`
+• **opts.match\_threshold?**: `number`
The similarity threshold for matching memories.
-• **opts.agentId?**: \`$\{string\}-$\{string\}-$\{string\}-$\{string\}-$\{string\}\`
-
• **opts.count?**: `number`
The maximum number of memories to retrieve.
@@ -214,9 +216,9 @@ A Promise resolving to an array of Memory objects that match the embedding.
#### Defined in
-[packages/core/src/memory.ts:120](https://github.com/ai16z/eliza/blob/main/packages/core/src/memory.ts#L120)
+[packages/core/src/memory.ts:140](https://github.com/ai16z/eliza/blob/main/packages/core/src/memory.ts#L140)
----
+***
### createMemory()
@@ -246,9 +248,9 @@ A Promise that resolves when the operation completes.
#### Defined in
-[packages/core/src/memory.ts:158](https://github.com/ai16z/eliza/blob/main/packages/core/src/memory.ts#L158)
+[packages/core/src/memory.ts:175](https://github.com/ai16z/eliza/blob/main/packages/core/src/memory.ts#L175)
----
+***
### getMemoriesByRoomIds()
@@ -258,8 +260,6 @@ A Promise that resolves when the operation completes.
• **params**
-• **params.agentId?**: \`$\{string\}-$\{string\}-$\{string\}-$\{string\}-$\{string\}\`
-
• **params.roomIds**: \`$\{string\}-$\{string\}-$\{string\}-$\{string\}-$\{string\}\`[]
#### Returns
@@ -272,9 +272,9 @@ A Promise that resolves when the operation completes.
#### Defined in
-[packages/core/src/memory.ts:173](https://github.com/ai16z/eliza/blob/main/packages/core/src/memory.ts#L173)
+[packages/core/src/memory.ts:195](https://github.com/ai16z/eliza/blob/main/packages/core/src/memory.ts#L195)
----
+***
### getMemoryById()
@@ -294,9 +294,9 @@ A Promise that resolves when the operation completes.
#### Defined in
-[packages/core/src/memory.ts:184](https://github.com/ai16z/eliza/blob/main/packages/core/src/memory.ts#L184)
+[packages/core/src/memory.ts:202](https://github.com/ai16z/eliza/blob/main/packages/core/src/memory.ts#L202)
----
+***
### removeMemory()
@@ -322,9 +322,9 @@ A Promise that resolves when the operation completes.
#### Defined in
-[packages/core/src/memory.ts:194](https://github.com/ai16z/eliza/blob/main/packages/core/src/memory.ts#L194)
+[packages/core/src/memory.ts:213](https://github.com/ai16z/eliza/blob/main/packages/core/src/memory.ts#L213)
----
+***
### removeAllMemories()
@@ -350,9 +350,9 @@ A Promise that resolves when the operation completes.
#### Defined in
-[packages/core/src/memory.ts:206](https://github.com/ai16z/eliza/blob/main/packages/core/src/memory.ts#L206)
+[packages/core/src/memory.ts:225](https://github.com/ai16z/eliza/blob/main/packages/core/src/memory.ts#L225)
----
+***
### countMemories()
@@ -382,4 +382,4 @@ A Promise resolving to the count of memories.
#### Defined in
-[packages/core/src/memory.ts:219](https://github.com/ai16z/eliza/blob/main/packages/core/src/memory.ts#L219)
+[packages/core/src/memory.ts:238](https://github.com/ai16z/eliza/blob/main/packages/core/src/memory.ts#L238)
diff --git a/docs/api/classes/Service.md b/docs/api/classes/Service.md
index 472c53012bd..247cf5ed9b1 100644
--- a/docs/api/classes/Service.md
+++ b/docs/api/classes/Service.md
@@ -1,4 +1,4 @@
-[@ai16z/eliza v1.0.0](../index.md) / Service
+[@ai16z/eliza v0.1.4-alpha.3](../index.md) / Service
# Class: `abstract` Service
@@ -22,15 +22,37 @@
[`Service`](Service.md)
-## Properties
+## Accessors
### serviceType
-> `static` **serviceType**: [`ServiceType`](../enumerations/ServiceType.md)
+#### Get Signature
+
+> **get** `static` **serviceType**(): [`ServiceType`](../enumerations/ServiceType.md)
+
+##### Returns
+
+[`ServiceType`](../enumerations/ServiceType.md)
+
+#### Defined in
+
+[packages/core/src/types.ts:916](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L916)
+
+***
+
+### serviceType
+
+#### Get Signature
+
+> **get** **serviceType**(): [`ServiceType`](../enumerations/ServiceType.md)
+
+##### Returns
+
+[`ServiceType`](../enumerations/ServiceType.md)
#### Defined in
-[packages/core/src/types.ts:519](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L519)
+[packages/core/src/types.ts:927](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L927)
## Methods
@@ -40,7 +62,7 @@
#### Type Parameters
-• **T** _extends_ [`Service`](Service.md)
+• **T** *extends* [`Service`](Service.md)
#### Returns
@@ -48,4 +70,24 @@
#### Defined in
-[packages/core/src/types.ts:521](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L521)
+[packages/core/src/types.ts:920](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L920)
+
+***
+
+### initialize()
+
+> `abstract` **initialize**(`runtime`): `Promise`\<`void`\>
+
+Add abstract initialize method that must be implemented by derived classes
+
+#### Parameters
+
+• **runtime**: [`IAgentRuntime`](../interfaces/IAgentRuntime.md)
+
+#### Returns
+
+`Promise`\<`void`\>
+
+#### Defined in
+
+[packages/core/src/types.ts:932](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L932)
diff --git a/docs/api/enumerations/Clients.md b/docs/api/enumerations/Clients.md
index 4822e4915e4..24618d7be48 100644
--- a/docs/api/enumerations/Clients.md
+++ b/docs/api/enumerations/Clients.md
@@ -1,7 +1,9 @@
-[@ai16z/eliza v1.0.0](../index.md) / Clients
+[@ai16z/eliza v0.1.4-alpha.3](../index.md) / Clients
# Enumeration: Clients
+Available client platforms
+
## Enumeration Members
### DISCORD
@@ -10,9 +12,9 @@
#### Defined in
-[packages/core/src/types.ts:323](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L323)
+[packages/core/src/types.ts:582](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L582)
----
+***
### DIRECT
@@ -20,9 +22,9 @@
#### Defined in
-[packages/core/src/types.ts:324](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L324)
+[packages/core/src/types.ts:583](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L583)
----
+***
### TWITTER
@@ -30,9 +32,9 @@
#### Defined in
-[packages/core/src/types.ts:325](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L325)
+[packages/core/src/types.ts:584](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L584)
----
+***
### TELEGRAM
@@ -40,4 +42,4 @@
#### Defined in
-[packages/core/src/types.ts:326](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L326)
+[packages/core/src/types.ts:585](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L585)
diff --git a/docs/api/enumerations/GoalStatus.md b/docs/api/enumerations/GoalStatus.md
index 1608c034ed1..5d29385dddb 100644
--- a/docs/api/enumerations/GoalStatus.md
+++ b/docs/api/enumerations/GoalStatus.md
@@ -1,7 +1,9 @@
-[@ai16z/eliza v1.0.0](../index.md) / GoalStatus
+[@ai16z/eliza v0.1.4-alpha.3](../index.md) / GoalStatus
# Enumeration: GoalStatus
+Status enum for goals
+
## Enumeration Members
### DONE
@@ -10,9 +12,9 @@
#### Defined in
-[packages/core/src/types.ts:57](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L57)
+[packages/core/src/types.ts:100](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L100)
----
+***
### FAILED
@@ -20,14 +22,14 @@
#### Defined in
-[packages/core/src/types.ts:58](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L58)
+[packages/core/src/types.ts:101](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L101)
----
+***
-### IN_PROGRESS
+### IN\_PROGRESS
-> **IN_PROGRESS**: `"IN_PROGRESS"`
+> **IN\_PROGRESS**: `"IN_PROGRESS"`
#### Defined in
-[packages/core/src/types.ts:59](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L59)
+[packages/core/src/types.ts:102](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L102)
diff --git a/docs/api/enumerations/LoggingLevel.md b/docs/api/enumerations/LoggingLevel.md
new file mode 100644
index 00000000000..d255ea3a198
--- /dev/null
+++ b/docs/api/enumerations/LoggingLevel.md
@@ -0,0 +1,33 @@
+[@ai16z/eliza v0.1.4-alpha.3](../index.md) / LoggingLevel
+
+# Enumeration: LoggingLevel
+
+## Enumeration Members
+
+### DEBUG
+
+> **DEBUG**: `"debug"`
+
+#### Defined in
+
+[packages/core/src/types.ts:1089](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L1089)
+
+***
+
+### VERBOSE
+
+> **VERBOSE**: `"verbose"`
+
+#### Defined in
+
+[packages/core/src/types.ts:1090](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L1090)
+
+***
+
+### NONE
+
+> **NONE**: `"none"`
+
+#### Defined in
+
+[packages/core/src/types.ts:1091](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L1091)
diff --git a/docs/api/enumerations/ModelClass.md b/docs/api/enumerations/ModelClass.md
index d4f3cafaf3f..abfb7b4ecf1 100644
--- a/docs/api/enumerations/ModelClass.md
+++ b/docs/api/enumerations/ModelClass.md
@@ -1,7 +1,9 @@
-[@ai16z/eliza v1.0.0](../index.md) / ModelClass
+[@ai16z/eliza v0.1.4-alpha.3](../index.md) / ModelClass
# Enumeration: ModelClass
+Model size/type classification
+
## Enumeration Members
### SMALL
@@ -10,9 +12,9 @@
#### Defined in
-[packages/core/src/types.ts:75](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L75)
+[packages/core/src/types.ts:132](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L132)
----
+***
### MEDIUM
@@ -20,9 +22,9 @@
#### Defined in
-[packages/core/src/types.ts:76](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L76)
+[packages/core/src/types.ts:133](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L133)
----
+***
### LARGE
@@ -30,9 +32,9 @@
#### Defined in
-[packages/core/src/types.ts:77](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L77)
+[packages/core/src/types.ts:134](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L134)
----
+***
### EMBEDDING
@@ -40,9 +42,9 @@
#### Defined in
-[packages/core/src/types.ts:78](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L78)
+[packages/core/src/types.ts:135](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L135)
----
+***
### IMAGE
@@ -50,4 +52,4 @@
#### Defined in
-[packages/core/src/types.ts:79](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L79)
+[packages/core/src/types.ts:136](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L136)
diff --git a/docs/api/enumerations/ModelProviderName.md b/docs/api/enumerations/ModelProviderName.md
index 92560871762..afb8063ad30 100644
--- a/docs/api/enumerations/ModelProviderName.md
+++ b/docs/api/enumerations/ModelProviderName.md
@@ -1,7 +1,9 @@
-[@ai16z/eliza v1.0.0](../index.md) / ModelProviderName
+[@ai16z/eliza v0.1.4-alpha.3](../index.md) / ModelProviderName
# Enumeration: ModelProviderName
+Available model providers
+
## Enumeration Members
### OPENAI
@@ -10,9 +12,9 @@
#### Defined in
-[packages/core/src/types.ts:121](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L121)
+[packages/core/src/types.ts:207](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L207)
----
+***
### ANTHROPIC
@@ -20,9 +22,9 @@
#### Defined in
-[packages/core/src/types.ts:122](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L122)
+[packages/core/src/types.ts:208](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L208)
----
+***
### GROK
@@ -30,9 +32,9 @@
#### Defined in
-[packages/core/src/types.ts:123](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L123)
+[packages/core/src/types.ts:209](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L209)
----
+***
### GROQ
@@ -40,9 +42,9 @@
#### Defined in
-[packages/core/src/types.ts:124](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L124)
+[packages/core/src/types.ts:210](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L210)
----
+***
### LLAMACLOUD
@@ -50,9 +52,9 @@
#### Defined in
-[packages/core/src/types.ts:125](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L125)
+[packages/core/src/types.ts:211](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L211)
----
+***
### LLAMALOCAL
@@ -60,9 +62,9 @@
#### Defined in
-[packages/core/src/types.ts:126](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L126)
+[packages/core/src/types.ts:212](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L212)
----
+***
### GOOGLE
@@ -70,19 +72,19 @@
#### Defined in
-[packages/core/src/types.ts:127](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L127)
+[packages/core/src/types.ts:213](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L213)
----
+***
-### CLAUDE_VERTEX
+### CLAUDE\_VERTEX
-> **CLAUDE_VERTEX**: `"claude_vertex"`
+> **CLAUDE\_VERTEX**: `"claude_vertex"`
#### Defined in
-[packages/core/src/types.ts:128](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L128)
+[packages/core/src/types.ts:214](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L214)
----
+***
### REDPILL
@@ -90,9 +92,9 @@
#### Defined in
-[packages/core/src/types.ts:129](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L129)
+[packages/core/src/types.ts:215](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L215)
----
+***
### OPENROUTER
@@ -100,9 +102,9 @@
#### Defined in
-[packages/core/src/types.ts:130](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L130)
+[packages/core/src/types.ts:216](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L216)
----
+***
### OLLAMA
@@ -110,9 +112,9 @@
#### Defined in
-[packages/core/src/types.ts:131](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L131)
+[packages/core/src/types.ts:217](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L217)
----
+***
### HEURIST
@@ -120,4 +122,4 @@
#### Defined in
-[packages/core/src/types.ts:132](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L132)
+[packages/core/src/types.ts:218](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L218)
diff --git a/docs/api/enumerations/ServiceType.md b/docs/api/enumerations/ServiceType.md
index ab704c6558d..bbd3c04efd4 100644
--- a/docs/api/enumerations/ServiceType.md
+++ b/docs/api/enumerations/ServiceType.md
@@ -1,18 +1,18 @@
-[@ai16z/eliza v1.0.0](../index.md) / ServiceType
+[@ai16z/eliza v0.1.4-alpha.3](../index.md) / ServiceType
# Enumeration: ServiceType
## Enumeration Members
-### IMAGE_DESCRIPTION
+### IMAGE\_DESCRIPTION
-> **IMAGE_DESCRIPTION**: `"image_description"`
+> **IMAGE\_DESCRIPTION**: `"image_description"`
#### Defined in
-[packages/core/src/types.ts:658](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L658)
+[packages/core/src/types.ts:1079](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L1079)
----
+***
### TRANSCRIPTION
@@ -20,9 +20,9 @@
#### Defined in
-[packages/core/src/types.ts:659](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L659)
+[packages/core/src/types.ts:1080](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L1080)
----
+***
### VIDEO
@@ -30,19 +30,19 @@
#### Defined in
-[packages/core/src/types.ts:660](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L660)
+[packages/core/src/types.ts:1081](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L1081)
----
+***
-### TEXT_GENERATION
+### TEXT\_GENERATION
-> **TEXT_GENERATION**: `"text_generation"`
+> **TEXT\_GENERATION**: `"text_generation"`
#### Defined in
-[packages/core/src/types.ts:661](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L661)
+[packages/core/src/types.ts:1082](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L1082)
----
+***
### BROWSER
@@ -50,19 +50,19 @@
#### Defined in
-[packages/core/src/types.ts:662](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L662)
+[packages/core/src/types.ts:1083](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L1083)
----
+***
-### SPEECH_GENERATION
+### SPEECH\_GENERATION
-> **SPEECH_GENERATION**: `"speech_generation"`
+> **SPEECH\_GENERATION**: `"speech_generation"`
#### Defined in
-[packages/core/src/types.ts:663](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L663)
+[packages/core/src/types.ts:1084](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L1084)
----
+***
### PDF
@@ -70,4 +70,4 @@
#### Defined in
-[packages/core/src/types.ts:664](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L664)
+[packages/core/src/types.ts:1085](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L1085)
diff --git a/docs/api/functions/addHeader.md b/docs/api/functions/addHeader.md
index 4d454488da7..5a8709f6d3a 100644
--- a/docs/api/functions/addHeader.md
+++ b/docs/api/functions/addHeader.md
@@ -1,4 +1,4 @@
-[@ai16z/eliza v1.0.0](../index.md) / addHeader
+[@ai16z/eliza v0.1.4-alpha.3](../index.md) / addHeader
# Function: addHeader()
diff --git a/docs/api/functions/composeActionExamples.md b/docs/api/functions/composeActionExamples.md
index 3fd4ce0a899..556f4e127e8 100644
--- a/docs/api/functions/composeActionExamples.md
+++ b/docs/api/functions/composeActionExamples.md
@@ -1,4 +1,4 @@
-[@ai16z/eliza v1.0.0](../index.md) / composeActionExamples
+[@ai16z/eliza v0.1.4-alpha.3](../index.md) / composeActionExamples
# Function: composeActionExamples()
diff --git a/docs/api/functions/composeContext.md b/docs/api/functions/composeContext.md
index fd71d37ba4d..f49d6702445 100644
--- a/docs/api/functions/composeContext.md
+++ b/docs/api/functions/composeContext.md
@@ -1,4 +1,4 @@
-[@ai16z/eliza v1.0.0](../index.md) / composeContext
+[@ai16z/eliza v0.1.4-alpha.3](../index.md) / composeContext
# Function: composeContext()
diff --git a/docs/api/functions/configureSettings.md b/docs/api/functions/configureSettings.md
new file mode 100644
index 00000000000..9eb534d423b
--- /dev/null
+++ b/docs/api/functions/configureSettings.md
@@ -0,0 +1,21 @@
+[@ai16z/eliza v0.1.4-alpha.3](../index.md) / configureSettings
+
+# Function: configureSettings()
+
+> **configureSettings**(`settings`): `void`
+
+Configures environment settings for browser usage
+
+## Parameters
+
+• **settings**: `Settings`
+
+Object containing environment variables
+
+## Returns
+
+`void`
+
+## Defined in
+
+[packages/core/src/settings.ts:53](https://github.com/ai16z/eliza/blob/main/packages/core/src/settings.ts#L53)
diff --git a/docs/api/functions/createGoal.md b/docs/api/functions/createGoal.md
index 33562cf257d..613e4c5faf4 100644
--- a/docs/api/functions/createGoal.md
+++ b/docs/api/functions/createGoal.md
@@ -1,4 +1,4 @@
-[@ai16z/eliza v1.0.0](../index.md) / createGoal
+[@ai16z/eliza v0.1.4-alpha.3](../index.md) / createGoal
# Function: createGoal()
@@ -18,4 +18,4 @@
## Defined in
-[packages/core/src/goals.ts:54](https://github.com/ai16z/eliza/blob/main/packages/core/src/goals.ts#L54)
+[packages/core/src/goals.ts:55](https://github.com/ai16z/eliza/blob/main/packages/core/src/goals.ts#L55)
diff --git a/docs/api/functions/createRelationship.md b/docs/api/functions/createRelationship.md
index 77e2794b924..cca297599b3 100644
--- a/docs/api/functions/createRelationship.md
+++ b/docs/api/functions/createRelationship.md
@@ -1,4 +1,4 @@
-[@ai16z/eliza v1.0.0](../index.md) / createRelationship
+[@ai16z/eliza v0.1.4-alpha.3](../index.md) / createRelationship
# Function: createRelationship()
diff --git a/docs/api/functions/embed.md b/docs/api/functions/embed.md
index 8455816e987..48d8d162956 100644
--- a/docs/api/functions/embed.md
+++ b/docs/api/functions/embed.md
@@ -1,25 +1,27 @@
-[@ai16z/eliza v1.0.0](../index.md) / embed
+[@ai16z/eliza v0.1.4-alpha.3](../index.md) / embed
# Function: embed()
> **embed**(`runtime`, `input`): `Promise`\<`number`[]\>
-Send a message to the OpenAI API for embedding.
+Generate embeddings for input text using configured model provider
## Parameters
• **runtime**: [`IAgentRuntime`](../interfaces/IAgentRuntime.md)
+The agent runtime containing model configuration
+
• **input**: `string`
-The input to be embedded.
+The text to generate embeddings for
## Returns
`Promise`\<`number`[]\>
-The embedding of the input.
+Array of embedding numbers
## Defined in
-[packages/core/src/embedding.ts:88](https://github.com/ai16z/eliza/blob/main/packages/core/src/embedding.ts#L88)
+[packages/core/src/embedding.ts:79](https://github.com/ai16z/eliza/blob/main/packages/core/src/embedding.ts#L79)
diff --git a/docs/api/functions/findNearestEnvFile.md b/docs/api/functions/findNearestEnvFile.md
index 4d453763ce3..456d1f1cf00 100644
--- a/docs/api/functions/findNearestEnvFile.md
+++ b/docs/api/functions/findNearestEnvFile.md
@@ -1,11 +1,11 @@
-[@ai16z/eliza v1.0.0](../index.md) / findNearestEnvFile
+[@ai16z/eliza v0.1.4-alpha.3](../index.md) / findNearestEnvFile
# Function: findNearestEnvFile()
> **findNearestEnvFile**(`startDir`?): `string`
Recursively searches for a .env file starting from the current directory
-and moving up through parent directories
+and moving up through parent directories (Node.js only)
## Parameters
@@ -21,4 +21,4 @@ Path to the nearest .env file or null if not found
## Defined in
-[packages/core/src/settings.ts:11](https://github.com/ai16z/eliza/blob/main/packages/core/src/settings.ts#L11)
+[packages/core/src/settings.ts:27](https://github.com/ai16z/eliza/blob/main/packages/core/src/settings.ts#L27)
diff --git a/docs/api/functions/formatActionNames.md b/docs/api/functions/formatActionNames.md
index b0394f395da..06a8acc87ae 100644
--- a/docs/api/functions/formatActionNames.md
+++ b/docs/api/functions/formatActionNames.md
@@ -1,4 +1,4 @@
-[@ai16z/eliza v1.0.0](../index.md) / formatActionNames
+[@ai16z/eliza v0.1.4-alpha.3](../index.md) / formatActionNames
# Function: formatActionNames()
diff --git a/docs/api/functions/formatActions.md b/docs/api/functions/formatActions.md
index 60bb47ece40..207c94346e9 100644
--- a/docs/api/functions/formatActions.md
+++ b/docs/api/functions/formatActions.md
@@ -1,4 +1,4 @@
-[@ai16z/eliza v1.0.0](../index.md) / formatActions
+[@ai16z/eliza v0.1.4-alpha.3](../index.md) / formatActions
# Function: formatActions()
diff --git a/docs/api/functions/formatActors.md b/docs/api/functions/formatActors.md
index 32e29229285..00d73ee560d 100644
--- a/docs/api/functions/formatActors.md
+++ b/docs/api/functions/formatActors.md
@@ -1,4 +1,4 @@
-[@ai16z/eliza v1.0.0](../index.md) / formatActors
+[@ai16z/eliza v0.1.4-alpha.3](../index.md) / formatActors
# Function: formatActors()
diff --git a/docs/api/functions/formatEvaluatorExampleDescriptions.md b/docs/api/functions/formatEvaluatorExampleDescriptions.md
index 8ef7c7d6280..fc59fb21841 100644
--- a/docs/api/functions/formatEvaluatorExampleDescriptions.md
+++ b/docs/api/functions/formatEvaluatorExampleDescriptions.md
@@ -1,4 +1,4 @@
-[@ai16z/eliza v1.0.0](../index.md) / formatEvaluatorExampleDescriptions
+[@ai16z/eliza v0.1.4-alpha.3](../index.md) / formatEvaluatorExampleDescriptions
# Function: formatEvaluatorExampleDescriptions()
diff --git a/docs/api/functions/formatEvaluatorExamples.md b/docs/api/functions/formatEvaluatorExamples.md
index 816e8b9ab26..7dd744e34d4 100644
--- a/docs/api/functions/formatEvaluatorExamples.md
+++ b/docs/api/functions/formatEvaluatorExamples.md
@@ -1,4 +1,4 @@
-[@ai16z/eliza v1.0.0](../index.md) / formatEvaluatorExamples
+[@ai16z/eliza v0.1.4-alpha.3](../index.md) / formatEvaluatorExamples
# Function: formatEvaluatorExamples()
diff --git a/docs/api/functions/formatEvaluatorNames.md b/docs/api/functions/formatEvaluatorNames.md
index 7609ea9994c..9b7a0895a2c 100644
--- a/docs/api/functions/formatEvaluatorNames.md
+++ b/docs/api/functions/formatEvaluatorNames.md
@@ -1,4 +1,4 @@
-[@ai16z/eliza v1.0.0](../index.md) / formatEvaluatorNames
+[@ai16z/eliza v0.1.4-alpha.3](../index.md) / formatEvaluatorNames
# Function: formatEvaluatorNames()
diff --git a/docs/api/functions/formatEvaluators.md b/docs/api/functions/formatEvaluators.md
index 0dd2b15a6dc..44df6f07095 100644
--- a/docs/api/functions/formatEvaluators.md
+++ b/docs/api/functions/formatEvaluators.md
@@ -1,4 +1,4 @@
-[@ai16z/eliza v1.0.0](../index.md) / formatEvaluators
+[@ai16z/eliza v0.1.4-alpha.3](../index.md) / formatEvaluators
# Function: formatEvaluators()
diff --git a/docs/api/functions/formatGoalsAsString.md b/docs/api/functions/formatGoalsAsString.md
index 6f35d9cc289..6198cfeac6d 100644
--- a/docs/api/functions/formatGoalsAsString.md
+++ b/docs/api/functions/formatGoalsAsString.md
@@ -1,4 +1,4 @@
-[@ai16z/eliza v1.0.0](../index.md) / formatGoalsAsString
+[@ai16z/eliza v0.1.4-alpha.3](../index.md) / formatGoalsAsString
# Function: formatGoalsAsString()
@@ -16,4 +16,4 @@
## Defined in
-[packages/core/src/goals.ts:29](https://github.com/ai16z/eliza/blob/main/packages/core/src/goals.ts#L29)
+[packages/core/src/goals.ts:30](https://github.com/ai16z/eliza/blob/main/packages/core/src/goals.ts#L30)
diff --git a/docs/api/functions/formatMessages.md b/docs/api/functions/formatMessages.md
index b53a93a94c4..35519d0ea5d 100644
--- a/docs/api/functions/formatMessages.md
+++ b/docs/api/functions/formatMessages.md
@@ -1,4 +1,4 @@
-[@ai16z/eliza v1.0.0](../index.md) / formatMessages
+[@ai16z/eliza v0.1.4-alpha.3](../index.md) / formatMessages
# Function: formatMessages()
diff --git a/docs/api/functions/formatPosts.md b/docs/api/functions/formatPosts.md
index 3a322be49c2..6e99854957c 100644
--- a/docs/api/functions/formatPosts.md
+++ b/docs/api/functions/formatPosts.md
@@ -1,4 +1,4 @@
-[@ai16z/eliza v1.0.0](../index.md) / formatPosts
+[@ai16z/eliza v0.1.4-alpha.3](../index.md) / formatPosts
# Function: formatPosts()
diff --git a/docs/api/functions/formatRelationships.md b/docs/api/functions/formatRelationships.md
index d1bb9d16ece..b31a00409fd 100644
--- a/docs/api/functions/formatRelationships.md
+++ b/docs/api/functions/formatRelationships.md
@@ -1,4 +1,4 @@
-[@ai16z/eliza v1.0.0](../index.md) / formatRelationships
+[@ai16z/eliza v0.1.4-alpha.3](../index.md) / formatRelationships
# Function: formatRelationships()
diff --git a/docs/api/functions/formatTimestamp.md b/docs/api/functions/formatTimestamp.md
index 19793218c9a..e44e99777ff 100644
--- a/docs/api/functions/formatTimestamp.md
+++ b/docs/api/functions/formatTimestamp.md
@@ -1,4 +1,4 @@
-[@ai16z/eliza v1.0.0](../index.md) / formatTimestamp
+[@ai16z/eliza v0.1.4-alpha.3](../index.md) / formatTimestamp
# Function: formatTimestamp()
diff --git a/docs/api/functions/generateCaption.md b/docs/api/functions/generateCaption.md
index 9a6dc733fd7..98546b71f05 100644
--- a/docs/api/functions/generateCaption.md
+++ b/docs/api/functions/generateCaption.md
@@ -1,4 +1,4 @@
-[@ai16z/eliza v1.0.0](../index.md) / generateCaption
+[@ai16z/eliza v0.1.4-alpha.3](../index.md) / generateCaption
# Function: generateCaption()
@@ -26,4 +26,4 @@
## Defined in
-[packages/core/src/generation.ts:845](https://github.com/ai16z/eliza/blob/main/packages/core/src/generation.ts#L845)
+[packages/core/src/generation.ts:874](https://github.com/ai16z/eliza/blob/main/packages/core/src/generation.ts#L874)
diff --git a/docs/api/functions/generateImage.md b/docs/api/functions/generateImage.md
index bed897a2fd4..003aa1805cb 100644
--- a/docs/api/functions/generateImage.md
+++ b/docs/api/functions/generateImage.md
@@ -1,4 +1,4 @@
-[@ai16z/eliza v1.0.0](../index.md) / generateImage
+[@ai16z/eliza v0.1.4-alpha.3](../index.md) / generateImage
# Function: generateImage()
@@ -48,4 +48,4 @@
## Defined in
-[packages/core/src/generation.ts:719](https://github.com/ai16z/eliza/blob/main/packages/core/src/generation.ts#L719)
+[packages/core/src/generation.ts:746](https://github.com/ai16z/eliza/blob/main/packages/core/src/generation.ts#L746)
diff --git a/docs/api/functions/generateMessageResponse.md b/docs/api/functions/generateMessageResponse.md
index 3a04117964b..c66e2368eba 100644
--- a/docs/api/functions/generateMessageResponse.md
+++ b/docs/api/functions/generateMessageResponse.md
@@ -1,4 +1,4 @@
-[@ai16z/eliza v1.0.0](../index.md) / generateMessageResponse
+[@ai16z/eliza v0.1.4-alpha.3](../index.md) / generateMessageResponse
# Function: generateMessageResponse()
@@ -28,4 +28,4 @@ The completed message.
## Defined in
-[packages/core/src/generation.ts:681](https://github.com/ai16z/eliza/blob/main/packages/core/src/generation.ts#L681)
+[packages/core/src/generation.ts:706](https://github.com/ai16z/eliza/blob/main/packages/core/src/generation.ts#L706)
diff --git a/docs/api/functions/generateObject.md b/docs/api/functions/generateObject.md
index ac2e71d1aaf..bb78a86d9f6 100644
--- a/docs/api/functions/generateObject.md
+++ b/docs/api/functions/generateObject.md
@@ -1,4 +1,4 @@
-[@ai16z/eliza v1.0.0](../index.md) / generateObject
+[@ai16z/eliza v0.1.4-alpha.3](../index.md) / generateObject
# Function: generateObject()
@@ -20,4 +20,4 @@
## Defined in
-[packages/core/src/generation.ts:597](https://github.com/ai16z/eliza/blob/main/packages/core/src/generation.ts#L597)
+[packages/core/src/generation.ts:622](https://github.com/ai16z/eliza/blob/main/packages/core/src/generation.ts#L622)
diff --git a/docs/api/functions/generateObjectArray.md b/docs/api/functions/generateObjectArray.md
index c0fd43fc325..e69fdb87bda 100644
--- a/docs/api/functions/generateObjectArray.md
+++ b/docs/api/functions/generateObjectArray.md
@@ -1,4 +1,4 @@
-[@ai16z/eliza v1.0.0](../index.md) / generateObjectArray
+[@ai16z/eliza v0.1.4-alpha.3](../index.md) / generateObjectArray
# Function: generateObjectArray()
@@ -20,4 +20,4 @@
## Defined in
-[packages/core/src/generation.ts:633](https://github.com/ai16z/eliza/blob/main/packages/core/src/generation.ts#L633)
+[packages/core/src/generation.ts:658](https://github.com/ai16z/eliza/blob/main/packages/core/src/generation.ts#L658)
diff --git a/docs/api/functions/generateObjectV2.md b/docs/api/functions/generateObjectV2.md
index 971e9a54b94..297529a2d2c 100644
--- a/docs/api/functions/generateObjectV2.md
+++ b/docs/api/functions/generateObjectV2.md
@@ -1,4 +1,4 @@
-[@ai16z/eliza v1.0.0](../index.md) / generateObjectV2
+[@ai16z/eliza v0.1.4-alpha.3](../index.md) / generateObjectV2
# Function: generateObjectV2()
@@ -24,4 +24,4 @@ Configuration options for generating objects.
## Defined in
-[packages/core/src/generation.ts:897](https://github.com/ai16z/eliza/blob/main/packages/core/src/generation.ts#L897)
+[packages/core/src/generation.ts:931](https://github.com/ai16z/eliza/blob/main/packages/core/src/generation.ts#L931)
diff --git a/docs/api/functions/generateShouldRespond.md b/docs/api/functions/generateShouldRespond.md
index be73e0d603a..2c9adb73455 100644
--- a/docs/api/functions/generateShouldRespond.md
+++ b/docs/api/functions/generateShouldRespond.md
@@ -1,4 +1,4 @@
-[@ai16z/eliza v1.0.0](../index.md) / generateShouldRespond
+[@ai16z/eliza v0.1.4-alpha.3](../index.md) / generateShouldRespond
# Function: generateShouldRespond()
@@ -28,4 +28,4 @@ Promise resolving to "RESPOND", "IGNORE", "STOP" or null
## Defined in
-[packages/core/src/generation.ts:405](https://github.com/ai16z/eliza/blob/main/packages/core/src/generation.ts#L405)
+[packages/core/src/generation.ts:447](https://github.com/ai16z/eliza/blob/main/packages/core/src/generation.ts#L447)
diff --git a/docs/api/functions/generateText.md b/docs/api/functions/generateText.md
index 2b469758b4d..1fcc720611f 100644
--- a/docs/api/functions/generateText.md
+++ b/docs/api/functions/generateText.md
@@ -1,4 +1,4 @@
-[@ai16z/eliza v1.0.0](../index.md) / generateText
+[@ai16z/eliza v0.1.4-alpha.3](../index.md) / generateText
# Function: generateText()
@@ -32,4 +32,4 @@ The completed message.
## Defined in
-[packages/core/src/generation.ts:48](https://github.com/ai16z/eliza/blob/main/packages/core/src/generation.ts#L48)
+[packages/core/src/generation.ts:49](https://github.com/ai16z/eliza/blob/main/packages/core/src/generation.ts#L49)
diff --git a/docs/api/functions/generateTextArray.md b/docs/api/functions/generateTextArray.md
index 400b0929125..da52a818825 100644
--- a/docs/api/functions/generateTextArray.md
+++ b/docs/api/functions/generateTextArray.md
@@ -1,4 +1,4 @@
-[@ai16z/eliza v1.0.0](../index.md) / generateTextArray
+[@ai16z/eliza v0.1.4-alpha.3](../index.md) / generateTextArray
# Function: generateTextArray()
@@ -28,4 +28,4 @@ Promise resolving to an array of strings parsed from the model's response
## Defined in
-[packages/core/src/generation.ts:561](https://github.com/ai16z/eliza/blob/main/packages/core/src/generation.ts#L561)
+[packages/core/src/generation.ts:586](https://github.com/ai16z/eliza/blob/main/packages/core/src/generation.ts#L586)
diff --git a/docs/api/functions/generateTrueOrFalse.md b/docs/api/functions/generateTrueOrFalse.md
index e57c6e0624f..f60239caf9d 100644
--- a/docs/api/functions/generateTrueOrFalse.md
+++ b/docs/api/functions/generateTrueOrFalse.md
@@ -1,4 +1,4 @@
-[@ai16z/eliza v1.0.0](../index.md) / generateTrueOrFalse
+[@ai16z/eliza v0.1.4-alpha.3](../index.md) / generateTrueOrFalse
# Function: generateTrueOrFalse()
@@ -28,4 +28,4 @@ Promise resolving to a boolean value parsed from the model's response
## Defined in
-[packages/core/src/generation.ts:505](https://github.com/ai16z/eliza/blob/main/packages/core/src/generation.ts#L505)
+[packages/core/src/generation.ts:530](https://github.com/ai16z/eliza/blob/main/packages/core/src/generation.ts#L530)
diff --git a/docs/api/functions/getActorDetails.md b/docs/api/functions/getActorDetails.md
index 70d418eea4d..ea912f70b80 100644
--- a/docs/api/functions/getActorDetails.md
+++ b/docs/api/functions/getActorDetails.md
@@ -1,4 +1,4 @@
-[@ai16z/eliza v1.0.0](../index.md) / getActorDetails
+[@ai16z/eliza v0.1.4-alpha.3](../index.md) / getActorDetails
# Function: getActorDetails()
diff --git a/docs/api/functions/getEndpoint.md b/docs/api/functions/getEndpoint.md
index ae9c1c4b1b9..bb9661c5f2d 100644
--- a/docs/api/functions/getEndpoint.md
+++ b/docs/api/functions/getEndpoint.md
@@ -1,4 +1,4 @@
-[@ai16z/eliza v1.0.0](../index.md) / getEndpoint
+[@ai16z/eliza v0.1.4-alpha.3](../index.md) / getEndpoint
# Function: getEndpoint()
diff --git a/docs/api/functions/getEnvVariable.md b/docs/api/functions/getEnvVariable.md
new file mode 100644
index 00000000000..10d98a4f21d
--- /dev/null
+++ b/docs/api/functions/getEnvVariable.md
@@ -0,0 +1,27 @@
+[@ai16z/eliza v0.1.4-alpha.3](../index.md) / getEnvVariable
+
+# Function: getEnvVariable()
+
+> **getEnvVariable**(`key`, `defaultValue`?): `string` \| `undefined`
+
+Gets a specific environment variable
+
+## Parameters
+
+• **key**: `string`
+
+The environment variable key
+
+• **defaultValue?**: `string`
+
+Optional default value if key doesn't exist
+
+## Returns
+
+`string` \| `undefined`
+
+The environment variable value or default value
+
+## Defined in
+
+[packages/core/src/settings.ts:87](https://github.com/ai16z/eliza/blob/main/packages/core/src/settings.ts#L87)
diff --git a/docs/api/functions/getGoals.md b/docs/api/functions/getGoals.md
index a392e39084c..d7e4fe60af5 100644
--- a/docs/api/functions/getGoals.md
+++ b/docs/api/functions/getGoals.md
@@ -1,4 +1,4 @@
-[@ai16z/eliza v1.0.0](../index.md) / getGoals
+[@ai16z/eliza v0.1.4-alpha.3](../index.md) / getGoals
# Function: getGoals()
diff --git a/docs/api/functions/getModel.md b/docs/api/functions/getModel.md
index 112c12626f1..02a11ba0cb9 100644
--- a/docs/api/functions/getModel.md
+++ b/docs/api/functions/getModel.md
@@ -1,4 +1,4 @@
-[@ai16z/eliza v1.0.0](../index.md) / getModel
+[@ai16z/eliza v0.1.4-alpha.3](../index.md) / getModel
# Function: getModel()
diff --git a/docs/api/functions/getProviders.md b/docs/api/functions/getProviders.md
index ad7ac647d25..95e34e0d208 100644
--- a/docs/api/functions/getProviders.md
+++ b/docs/api/functions/getProviders.md
@@ -1,4 +1,4 @@
-[@ai16z/eliza v1.0.0](../index.md) / getProviders
+[@ai16z/eliza v0.1.4-alpha.3](../index.md) / getProviders
# Function: getProviders()
diff --git a/docs/api/functions/getRelationship.md b/docs/api/functions/getRelationship.md
index 26ce57e86f4..d7b4c6bbeaf 100644
--- a/docs/api/functions/getRelationship.md
+++ b/docs/api/functions/getRelationship.md
@@ -1,4 +1,4 @@
-[@ai16z/eliza v1.0.0](../index.md) / getRelationship
+[@ai16z/eliza v0.1.4-alpha.3](../index.md) / getRelationship
# Function: getRelationship()
diff --git a/docs/api/functions/getRelationships.md b/docs/api/functions/getRelationships.md
index 8bdccb4c1b1..765c23e9dd2 100644
--- a/docs/api/functions/getRelationships.md
+++ b/docs/api/functions/getRelationships.md
@@ -1,4 +1,4 @@
-[@ai16z/eliza v1.0.0](../index.md) / getRelationships
+[@ai16z/eliza v0.1.4-alpha.3](../index.md) / getRelationships
# Function: getRelationships()
diff --git a/docs/api/functions/handleProvider.md b/docs/api/functions/handleProvider.md
index 8cd392d307c..6a56c7f5668 100644
--- a/docs/api/functions/handleProvider.md
+++ b/docs/api/functions/handleProvider.md
@@ -1,4 +1,4 @@
-[@ai16z/eliza v1.0.0](../index.md) / handleProvider
+[@ai16z/eliza v0.1.4-alpha.3](../index.md) / handleProvider
# Function: handleProvider()
@@ -20,4 +20,4 @@ Configuration options specific to the provider.
## Defined in
-[packages/core/src/generation.ts:979](https://github.com/ai16z/eliza/blob/main/packages/core/src/generation.ts#L979)
+[packages/core/src/generation.ts:1016](https://github.com/ai16z/eliza/blob/main/packages/core/src/generation.ts#L1016)
diff --git a/docs/api/functions/hasEnvVariable.md b/docs/api/functions/hasEnvVariable.md
new file mode 100644
index 00000000000..af523d3e0e5
--- /dev/null
+++ b/docs/api/functions/hasEnvVariable.md
@@ -0,0 +1,23 @@
+[@ai16z/eliza v0.1.4-alpha.3](../index.md) / hasEnvVariable
+
+# Function: hasEnvVariable()
+
+> **hasEnvVariable**(`key`): `boolean`
+
+Checks if a specific environment variable exists
+
+## Parameters
+
+• **key**: `string`
+
+The environment variable key
+
+## Returns
+
+`boolean`
+
+True if the environment variable exists
+
+## Defined in
+
+[packages/core/src/settings.ts:102](https://github.com/ai16z/eliza/blob/main/packages/core/src/settings.ts#L102)
diff --git a/docs/api/functions/loadEnvConfig.md b/docs/api/functions/loadEnvConfig.md
index 7cdd591ff4f..5c88953a078 100644
--- a/docs/api/functions/loadEnvConfig.md
+++ b/docs/api/functions/loadEnvConfig.md
@@ -1,21 +1,22 @@
-[@ai16z/eliza v1.0.0](../index.md) / loadEnvConfig
+[@ai16z/eliza v0.1.4-alpha.3](../index.md) / loadEnvConfig
# Function: loadEnvConfig()
-> **loadEnvConfig**(): `ProcessEnv`
+> **loadEnvConfig**(): `Settings`
-Loads environment variables from the nearest .env file
+Loads environment variables from the nearest .env file in Node.js
+or returns configured settings in browser
## Returns
-`ProcessEnv`
+`Settings`
Environment variables object
## Throws
-If no .env file is found
+If no .env file is found in Node.js environment
## Defined in
-[packages/core/src/settings.ts:36](https://github.com/ai16z/eliza/blob/main/packages/core/src/settings.ts#L36)
+[packages/core/src/settings.ts:63](https://github.com/ai16z/eliza/blob/main/packages/core/src/settings.ts#L63)
diff --git a/docs/api/functions/parseBooleanFromText.md b/docs/api/functions/parseBooleanFromText.md
index b3f2e6b54a5..d334980b23e 100644
--- a/docs/api/functions/parseBooleanFromText.md
+++ b/docs/api/functions/parseBooleanFromText.md
@@ -1,4 +1,4 @@
-[@ai16z/eliza v1.0.0](../index.md) / parseBooleanFromText
+[@ai16z/eliza v0.1.4-alpha.3](../index.md) / parseBooleanFromText
# Function: parseBooleanFromText()
diff --git a/docs/api/functions/parseJSONObjectFromText.md b/docs/api/functions/parseJSONObjectFromText.md
index 66a28364b39..5014b37ad63 100644
--- a/docs/api/functions/parseJSONObjectFromText.md
+++ b/docs/api/functions/parseJSONObjectFromText.md
@@ -1,4 +1,4 @@
-[@ai16z/eliza v1.0.0](../index.md) / parseJSONObjectFromText
+[@ai16z/eliza v0.1.4-alpha.3](../index.md) / parseJSONObjectFromText
# Function: parseJSONObjectFromText()
@@ -24,4 +24,4 @@ An object parsed from the JSON string if successful; otherwise, null or the resu
## Defined in
-[packages/core/src/parsing.ts:101](https://github.com/ai16z/eliza/blob/main/packages/core/src/parsing.ts#L101)
+[packages/core/src/parsing.ts:103](https://github.com/ai16z/eliza/blob/main/packages/core/src/parsing.ts#L103)
diff --git a/docs/api/functions/parseJsonArrayFromText.md b/docs/api/functions/parseJsonArrayFromText.md
index e3c69619944..077971eac0c 100644
--- a/docs/api/functions/parseJsonArrayFromText.md
+++ b/docs/api/functions/parseJsonArrayFromText.md
@@ -1,4 +1,4 @@
-[@ai16z/eliza v1.0.0](../index.md) / parseJsonArrayFromText
+[@ai16z/eliza v0.1.4-alpha.3](../index.md) / parseJsonArrayFromText
# Function: parseJsonArrayFromText()
diff --git a/docs/api/functions/parseShouldRespondFromText.md b/docs/api/functions/parseShouldRespondFromText.md
index be1005f4432..c77cb3ee291 100644
--- a/docs/api/functions/parseShouldRespondFromText.md
+++ b/docs/api/functions/parseShouldRespondFromText.md
@@ -1,4 +1,4 @@
-[@ai16z/eliza v1.0.0](../index.md) / parseShouldRespondFromText
+[@ai16z/eliza v0.1.4-alpha.3](../index.md) / parseShouldRespondFromText
# Function: parseShouldRespondFromText()
diff --git a/docs/api/functions/retrieveCachedEmbedding.md b/docs/api/functions/retrieveCachedEmbedding.md
index b03afaabfce..92c4d067ccd 100644
--- a/docs/api/functions/retrieveCachedEmbedding.md
+++ b/docs/api/functions/retrieveCachedEmbedding.md
@@ -1,4 +1,4 @@
-[@ai16z/eliza v1.0.0](../index.md) / retrieveCachedEmbedding
+[@ai16z/eliza v0.1.4-alpha.3](../index.md) / retrieveCachedEmbedding
# Function: retrieveCachedEmbedding()
@@ -16,4 +16,4 @@
## Defined in
-[packages/core/src/embedding.ts:146](https://github.com/ai16z/eliza/blob/main/packages/core/src/embedding.ts#L146)
+[packages/core/src/embedding.ts:210](https://github.com/ai16z/eliza/blob/main/packages/core/src/embedding.ts#L210)
diff --git a/docs/api/functions/splitChunks.md b/docs/api/functions/splitChunks.md
index 03523cba5a4..6379d967dce 100644
--- a/docs/api/functions/splitChunks.md
+++ b/docs/api/functions/splitChunks.md
@@ -1,4 +1,4 @@
-[@ai16z/eliza v1.0.0](../index.md) / splitChunks
+[@ai16z/eliza v0.1.4-alpha.3](../index.md) / splitChunks
# Function: splitChunks()
@@ -12,11 +12,11 @@ Splits content into chunks of specified size with optional overlapping bleed sec
The text content to split into chunks
-• **chunkSize**: `number`
+• **chunkSize**: `number` = `512`
The maximum size of each chunk in tokens
-• **bleed**: `number` = `100`
+• **bleed**: `number` = `20`
Number of characters to overlap between chunks (default: 100)
@@ -28,4 +28,4 @@ Promise resolving to array of text chunks with bleed sections
## Defined in
-[packages/core/src/generation.ts:461](https://github.com/ai16z/eliza/blob/main/packages/core/src/generation.ts#L461)
+[packages/core/src/generation.ts:502](https://github.com/ai16z/eliza/blob/main/packages/core/src/generation.ts#L502)
diff --git a/docs/api/functions/stringToUuid.md b/docs/api/functions/stringToUuid.md
index b457d6ea8af..bbe7e3998a5 100644
--- a/docs/api/functions/stringToUuid.md
+++ b/docs/api/functions/stringToUuid.md
@@ -1,4 +1,4 @@
-[@ai16z/eliza v1.0.0](../index.md) / stringToUuid
+[@ai16z/eliza v0.1.4-alpha.3](../index.md) / stringToUuid
# Function: stringToUuid()
diff --git a/docs/api/functions/trimTokens.md b/docs/api/functions/trimTokens.md
index 395d2adf889..d295b60ed86 100644
--- a/docs/api/functions/trimTokens.md
+++ b/docs/api/functions/trimTokens.md
@@ -1,27 +1,31 @@
-[@ai16z/eliza v1.0.0](../index.md) / trimTokens
+[@ai16z/eliza v0.1.4-alpha.3](../index.md) / trimTokens
# Function: trimTokens()
-> **trimTokens**(`context`, `maxTokens`, `model`): `any`
+> **trimTokens**(`context`, `maxTokens`, `model`): `string`
Truncate the context to the maximum length allowed by the model.
## Parameters
-• **context**: `any`
+• **context**: `string`
-The context of the message to be completed.
+The text to truncate
-• **maxTokens**: `any`
+• **maxTokens**: `number`
-• **model**: `any`
+Maximum number of tokens to keep
-The model to use for generateText.
+• **model**: `TiktokenModel`
+
+The tokenizer model to use
## Returns
-`any`
+`string`
+
+The truncated text
## Defined in
-[packages/core/src/generation.ts:379](https://github.com/ai16z/eliza/blob/main/packages/core/src/generation.ts#L379)
+[packages/core/src/generation.ts:397](https://github.com/ai16z/eliza/blob/main/packages/core/src/generation.ts#L397)
diff --git a/docs/api/functions/updateGoal.md b/docs/api/functions/updateGoal.md
index 42659f185e1..1d40ed9c990 100644
--- a/docs/api/functions/updateGoal.md
+++ b/docs/api/functions/updateGoal.md
@@ -1,4 +1,4 @@
-[@ai16z/eliza v1.0.0](../index.md) / updateGoal
+[@ai16z/eliza v0.1.4-alpha.3](../index.md) / updateGoal
# Function: updateGoal()
@@ -18,4 +18,4 @@
## Defined in
-[packages/core/src/goals.ts:44](https://github.com/ai16z/eliza/blob/main/packages/core/src/goals.ts#L44)
+[packages/core/src/goals.ts:45](https://github.com/ai16z/eliza/blob/main/packages/core/src/goals.ts#L45)
diff --git a/docs/api/functions/validateCharacterConfig.md b/docs/api/functions/validateCharacterConfig.md
new file mode 100644
index 00000000000..c4add5baaed
--- /dev/null
+++ b/docs/api/functions/validateCharacterConfig.md
@@ -0,0 +1,19 @@
+[@ai16z/eliza v0.1.4-alpha.3](../index.md) / validateCharacterConfig
+
+# Function: validateCharacterConfig()
+
+> **validateCharacterConfig**(`json`): [`CharacterConfig`](../type-aliases/CharacterConfig.md)
+
+Validation function
+
+## Parameters
+
+• **json**: `unknown`
+
+## Returns
+
+[`CharacterConfig`](../type-aliases/CharacterConfig.md)
+
+## Defined in
+
+[packages/core/src/enviroment.ts:131](https://github.com/ai16z/eliza/blob/main/packages/core/src/enviroment.ts#L131)
diff --git a/docs/api/functions/validateEnv.md b/docs/api/functions/validateEnv.md
new file mode 100644
index 00000000000..781767d1a54
--- /dev/null
+++ b/docs/api/functions/validateEnv.md
@@ -0,0 +1,15 @@
+[@ai16z/eliza v0.1.4-alpha.3](../index.md) / validateEnv
+
+# Function: validateEnv()
+
+> **validateEnv**(): [`EnvConfig`](../type-aliases/EnvConfig.md)
+
+Validation function
+
+## Returns
+
+[`EnvConfig`](../type-aliases/EnvConfig.md)
+
+## Defined in
+
+[packages/core/src/enviroment.ts:26](https://github.com/ai16z/eliza/blob/main/packages/core/src/enviroment.ts#L26)
diff --git a/docs/api/index.md b/docs/api/index.md
index 8d3d1253c0e..8140fb611a5 100644
--- a/docs/api/index.md
+++ b/docs/api/index.md
@@ -1,4 +1,4 @@
-# @ai16z/eliza v1.0.0
+# @ai16z/eliza v0.1.4-alpha.3
## Enumerations
@@ -7,9 +7,14 @@
- [ModelProviderName](enumerations/ModelProviderName.md)
- [Clients](enumerations/Clients.md)
- [ServiceType](enumerations/ServiceType.md)
+- [LoggingLevel](enumerations/LoggingLevel.md)
## Classes
+- [MemoryCacheAdapter](classes/MemoryCacheAdapter.md)
+- [FsCacheAdapter](classes/FsCacheAdapter.md)
+- [DbCacheAdapter](classes/DbCacheAdapter.md)
+- [CacheManager](classes/CacheManager.md)
- [DatabaseAdapter](classes/DatabaseAdapter.md)
- [MemoryManager](classes/MemoryManager.md)
- [AgentRuntime](classes/AgentRuntime.md)
@@ -17,6 +22,7 @@
## Interfaces
+- [ICacheAdapter](interfaces/ICacheAdapter.md)
- [GenerationOptions](interfaces/GenerationOptions.md)
- [Content](interfaces/Content.md)
- [ActionExample](interfaces/ActionExample.md)
@@ -36,7 +42,9 @@
- [Participant](interfaces/Participant.md)
- [Room](interfaces/Room.md)
- [IDatabaseAdapter](interfaces/IDatabaseAdapter.md)
+- [IDatabaseCacheAdapter](interfaces/IDatabaseCacheAdapter.md)
- [IMemoryManager](interfaces/IMemoryManager.md)
+- [ICacheManager](interfaces/ICacheManager.md)
- [IAgentRuntime](interfaces/IAgentRuntime.md)
- [IImageDescriptionService](interfaces/IImageDescriptionService.md)
- [ITranscriptionService](interfaces/ITranscriptionService.md)
@@ -48,6 +56,8 @@
## Type Aliases
+- [EnvConfig](type-aliases/EnvConfig.md)
+- [CharacterConfig](type-aliases/CharacterConfig.md)
- [UUID](type-aliases/UUID.md)
- [Model](type-aliases/Model.md)
- [Models](type-aliases/Models.md)
@@ -58,11 +68,16 @@
- [Client](type-aliases/Client.md)
- [Plugin](type-aliases/Plugin.md)
- [Character](type-aliases/Character.md)
+- [CacheOptions](type-aliases/CacheOptions.md)
+- [KnowledgeItem](type-aliases/KnowledgeItem.md)
## Variables
- [defaultCharacter](variables/defaultCharacter.md)
+- [envSchema](variables/envSchema.md)
+- [CharacterSchema](variables/CharacterSchema.md)
- [evaluationTemplate](variables/evaluationTemplate.md)
+- [knowledge](variables/knowledge.md)
- [elizaLogger](variables/elizaLogger.md)
- [embeddingDimension](variables/embeddingDimension.md)
- [embeddingZeroVector](variables/embeddingZeroVector.md)
@@ -82,6 +97,8 @@
- [addHeader](functions/addHeader.md)
- [embed](functions/embed.md)
- [retrieveCachedEmbedding](functions/retrieveCachedEmbedding.md)
+- [validateEnv](functions/validateEnv.md)
+- [validateCharacterConfig](functions/validateCharacterConfig.md)
- [formatEvaluatorNames](functions/formatEvaluatorNames.md)
- [formatEvaluators](functions/formatEvaluators.md)
- [formatEvaluatorExamples](functions/formatEvaluatorExamples.md)
@@ -120,5 +137,8 @@
- [getRelationships](functions/getRelationships.md)
- [formatRelationships](functions/formatRelationships.md)
- [findNearestEnvFile](functions/findNearestEnvFile.md)
+- [configureSettings](functions/configureSettings.md)
- [loadEnvConfig](functions/loadEnvConfig.md)
+- [getEnvVariable](functions/getEnvVariable.md)
+- [hasEnvVariable](functions/hasEnvVariable.md)
- [stringToUuid](functions/stringToUuid.md)
diff --git a/docs/api/interfaces/Account.md b/docs/api/interfaces/Account.md
index b28d0af497d..c7366448e49 100644
--- a/docs/api/interfaces/Account.md
+++ b/docs/api/interfaces/Account.md
@@ -1,8 +1,8 @@
-[@ai16z/eliza v1.0.0](../index.md) / Account
+[@ai16z/eliza v0.1.4-alpha.3](../index.md) / Account
# Interface: Account
-Represents a user, including their name, details, and a unique identifier.
+Represents a user account
## Properties
@@ -10,60 +10,72 @@ Represents a user, including their name, details, and a unique identifier.
> **id**: \`$\{string\}-$\{string\}-$\{string\}-$\{string\}-$\{string\}\`
+Unique identifier
+
#### Defined in
-[packages/core/src/types.ts:275](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L275)
+[packages/core/src/types.ts:478](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L478)
----
+***
### name
> **name**: `string`
+Display name
+
#### Defined in
-[packages/core/src/types.ts:276](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L276)
+[packages/core/src/types.ts:481](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L481)
----
+***
### username
> **username**: `string`
+Username
+
#### Defined in
-[packages/core/src/types.ts:277](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L277)
+[packages/core/src/types.ts:484](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L484)
----
+***
### details?
> `optional` **details**: `object`
+Optional additional details
+
#### Index Signature
-\[`key`: `string`\]: `any`
+ \[`key`: `string`\]: `any`
#### Defined in
-[packages/core/src/types.ts:278](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L278)
+[packages/core/src/types.ts:487](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L487)
----
+***
### email?
> `optional` **email**: `string`
+Optional email
+
#### Defined in
-[packages/core/src/types.ts:279](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L279)
+[packages/core/src/types.ts:490](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L490)
----
+***
### avatarUrl?
> `optional` **avatarUrl**: `string`
+Optional avatar URL
+
#### Defined in
-[packages/core/src/types.ts:280](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L280)
+[packages/core/src/types.ts:493](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L493)
diff --git a/docs/api/interfaces/Action.md b/docs/api/interfaces/Action.md
index f60a0f9bddf..5f7bbb3b380 100644
--- a/docs/api/interfaces/Action.md
+++ b/docs/api/interfaces/Action.md
@@ -1,8 +1,8 @@
-[@ai16z/eliza v1.0.0](../index.md) / Action
+[@ai16z/eliza v0.1.4-alpha.3](../index.md) / Action
# Interface: Action
-Represents an action that the agent can perform, including conditions for its use, a description, examples, a handler function, and a validation function.
+Represents an action the agent can perform
## Properties
@@ -10,56 +10,68 @@ Represents an action that the agent can perform, including conditions for its us
> **similes**: `string`[]
+Similar action descriptions
+
#### Defined in
-[packages/core/src/types.ts:217](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L217)
+[packages/core/src/types.ts:377](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L377)
----
+***
### description
> **description**: `string`
+Detailed description
+
#### Defined in
-[packages/core/src/types.ts:218](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L218)
+[packages/core/src/types.ts:380](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L380)
----
+***
### examples
> **examples**: [`ActionExample`](ActionExample.md)[][]
+Example usages
+
#### Defined in
-[packages/core/src/types.ts:219](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L219)
+[packages/core/src/types.ts:383](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L383)
----
+***
### handler
> **handler**: [`Handler`](../type-aliases/Handler.md)
+Handler function
+
#### Defined in
-[packages/core/src/types.ts:220](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L220)
+[packages/core/src/types.ts:386](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L386)
----
+***
### name
> **name**: `string`
+Action name
+
#### Defined in
-[packages/core/src/types.ts:221](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L221)
+[packages/core/src/types.ts:389](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L389)
----
+***
### validate
> **validate**: [`Validator`](../type-aliases/Validator.md)
+Validation function
+
#### Defined in
-[packages/core/src/types.ts:222](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L222)
+[packages/core/src/types.ts:392](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L392)
diff --git a/docs/api/interfaces/ActionExample.md b/docs/api/interfaces/ActionExample.md
index c17ef42017f..7241d58fde5 100644
--- a/docs/api/interfaces/ActionExample.md
+++ b/docs/api/interfaces/ActionExample.md
@@ -1,8 +1,8 @@
-[@ai16z/eliza v1.0.0](../index.md) / ActionExample
+[@ai16z/eliza v0.1.4-alpha.3](../index.md) / ActionExample
# Interface: ActionExample
-Represents an example of content, typically used for demonstrating or testing purposes. Includes user, content, optional action, and optional source.
+Example content with associated user for demonstration purposes
## Properties
@@ -10,16 +10,20 @@ Represents an example of content, typically used for demonstrating or testing pu
> **user**: `string`
+User associated with the example
+
#### Defined in
-[packages/core/src/types.ts:25](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L25)
+[packages/core/src/types.ts:39](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L39)
----
+***
### content
> **content**: [`Content`](Content.md)
+Content of the example
+
#### Defined in
-[packages/core/src/types.ts:26](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L26)
+[packages/core/src/types.ts:42](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L42)
diff --git a/docs/api/interfaces/Actor.md b/docs/api/interfaces/Actor.md
index 0e613ce860c..cd0e8d79d5d 100644
--- a/docs/api/interfaces/Actor.md
+++ b/docs/api/interfaces/Actor.md
@@ -1,8 +1,8 @@
-[@ai16z/eliza v1.0.0](../index.md) / Actor
+[@ai16z/eliza v0.1.4-alpha.3](../index.md) / Actor
# Interface: Actor
-Represents an actor in the conversation, which could be a user or the agent itself, including their name, details (such as tagline, summary, and quote), and a unique identifier.
+Represents an actor/participant in a conversation
## Properties
@@ -10,48 +10,62 @@ Represents an actor in the conversation, which could be a user or the agent itse
> **name**: `string`
+Display name
+
#### Defined in
-[packages/core/src/types.ts:41](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L41)
+[packages/core/src/types.ts:61](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L61)
----
+***
### username
> **username**: `string`
+Username/handle
+
#### Defined in
-[packages/core/src/types.ts:42](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L42)
+[packages/core/src/types.ts:64](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L64)
----
+***
### details
> **details**: `object`
+Additional profile details
+
#### tagline
> **tagline**: `string`
+Short profile tagline
+
#### summary
> **summary**: `string`
+Longer profile summary
+
#### quote
> **quote**: `string`
+Favorite quote
+
#### Defined in
-[packages/core/src/types.ts:43](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L43)
+[packages/core/src/types.ts:67](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L67)
----
+***
### id
> **id**: \`$\{string\}-$\{string\}-$\{string\}-$\{string\}-$\{string\}\`
+Unique identifier
+
#### Defined in
-[packages/core/src/types.ts:44](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L44)
+[packages/core/src/types.ts:79](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L79)
diff --git a/docs/api/interfaces/Content.md b/docs/api/interfaces/Content.md
index fbdbbdc6491..f34afcbd288 100644
--- a/docs/api/interfaces/Content.md
+++ b/docs/api/interfaces/Content.md
@@ -1,12 +1,12 @@
-[@ai16z/eliza v1.0.0](../index.md) / Content
+[@ai16z/eliza v0.1.4-alpha.3](../index.md) / Content
# Interface: Content
-Represents the content of a message, including its main text (`content`), any associated action (`action`), and the source of the content (`source`), if applicable.
+Represents the content of a message or communication
## Indexable
-\[`key`: `string`\]: `unknown`
+ \[`key`: `string`\]: `unknown`
## Properties
@@ -14,56 +14,68 @@ Represents the content of a message, including its main text (`content`), any as
> **text**: `string`
+The main text content
+
#### Defined in
-[packages/core/src/types.ts:12](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L12)
+[packages/core/src/types.ts:13](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L13)
----
+***
### action?
> `optional` **action**: `string`
+Optional action associated with the message
+
#### Defined in
-[packages/core/src/types.ts:13](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L13)
+[packages/core/src/types.ts:16](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L16)
----
+***
### source?
> `optional` **source**: `string`
+Optional source/origin of the content
+
#### Defined in
-[packages/core/src/types.ts:14](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L14)
+[packages/core/src/types.ts:19](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L19)
----
+***
### url?
> `optional` **url**: `string`
+URL of the original message/post (e.g. tweet URL, Discord message link)
+
#### Defined in
-[packages/core/src/types.ts:15](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L15)
+[packages/core/src/types.ts:22](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L22)
----
+***
### inReplyTo?
> `optional` **inReplyTo**: \`$\{string\}-$\{string\}-$\{string\}-$\{string\}-$\{string\}\`
+UUID of parent message if this is a reply/thread
+
#### Defined in
-[packages/core/src/types.ts:16](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L16)
+[packages/core/src/types.ts:25](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L25)
----
+***
### attachments?
> `optional` **attachments**: [`Media`](../type-aliases/Media.md)[]
+Array of media attachments
+
#### Defined in
-[packages/core/src/types.ts:17](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L17)
+[packages/core/src/types.ts:28](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L28)
diff --git a/docs/api/interfaces/ConversationExample.md b/docs/api/interfaces/ConversationExample.md
index 28f7f975a5d..c89183e2cee 100644
--- a/docs/api/interfaces/ConversationExample.md
+++ b/docs/api/interfaces/ConversationExample.md
@@ -1,8 +1,8 @@
-[@ai16z/eliza v1.0.0](../index.md) / ConversationExample
+[@ai16z/eliza v0.1.4-alpha.3](../index.md) / ConversationExample
# Interface: ConversationExample
-Represents an example of content, typically used for demonstrating or testing purposes. Includes user, content, optional action, and optional source.
+Example conversation content with user ID
## Properties
@@ -10,16 +10,20 @@ Represents an example of content, typically used for demonstrating or testing pu
> **userId**: \`$\{string\}-$\{string\}-$\{string\}-$\{string\}-$\{string\}\`
+UUID of user in conversation
+
#### Defined in
-[packages/core/src/types.ts:33](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L33)
+[packages/core/src/types.ts:50](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L50)
----
+***
### content
> **content**: [`Content`](Content.md)
+Content of the conversation
+
#### Defined in
-[packages/core/src/types.ts:34](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L34)
+[packages/core/src/types.ts:53](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L53)
diff --git a/docs/api/interfaces/EvaluationExample.md b/docs/api/interfaces/EvaluationExample.md
index c1dab7cea23..986975ca97d 100644
--- a/docs/api/interfaces/EvaluationExample.md
+++ b/docs/api/interfaces/EvaluationExample.md
@@ -1,8 +1,8 @@
-[@ai16z/eliza v1.0.0](../index.md) / EvaluationExample
+[@ai16z/eliza v0.1.4-alpha.3](../index.md) / EvaluationExample
# Interface: EvaluationExample
-Represents an example for evaluation, including the context, an array of message examples, and the expected outcome.
+Example for evaluating agent behavior
## Properties
@@ -10,26 +10,32 @@ Represents an example for evaluation, including the context, an array of message
> **context**: `string`
+Evaluation context
+
#### Defined in
-[packages/core/src/types.ts:229](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L229)
+[packages/core/src/types.ts:400](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L400)
----
+***
### messages
> **messages**: [`ActionExample`](ActionExample.md)[]
+Example messages
+
#### Defined in
-[packages/core/src/types.ts:230](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L230)
+[packages/core/src/types.ts:403](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L403)
----
+***
### outcome
> **outcome**: `string`
+Expected outcome
+
#### Defined in
-[packages/core/src/types.ts:231](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L231)
+[packages/core/src/types.ts:406](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L406)
diff --git a/docs/api/interfaces/Evaluator.md b/docs/api/interfaces/Evaluator.md
index dcb4daae488..da2bc71eea3 100644
--- a/docs/api/interfaces/Evaluator.md
+++ b/docs/api/interfaces/Evaluator.md
@@ -1,8 +1,8 @@
-[@ai16z/eliza v1.0.0](../index.md) / Evaluator
+[@ai16z/eliza v0.1.4-alpha.3](../index.md) / Evaluator
# Interface: Evaluator
-Represents an evaluator, which is used to assess and guide the agent's responses based on the current context and state.
+Evaluator for assessing agent responses
## Properties
@@ -10,66 +10,80 @@ Represents an evaluator, which is used to assess and guide the agent's responses
> `optional` **alwaysRun**: `boolean`
+Whether to always run
+
#### Defined in
-[packages/core/src/types.ts:238](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L238)
+[packages/core/src/types.ts:414](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L414)
----
+***
### description
> **description**: `string`
+Detailed description
+
#### Defined in
-[packages/core/src/types.ts:239](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L239)
+[packages/core/src/types.ts:417](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L417)
----
+***
### similes
> **similes**: `string`[]
+Similar evaluator descriptions
+
#### Defined in
-[packages/core/src/types.ts:240](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L240)
+[packages/core/src/types.ts:420](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L420)
----
+***
### examples
> **examples**: [`EvaluationExample`](EvaluationExample.md)[]
+Example evaluations
+
#### Defined in
-[packages/core/src/types.ts:241](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L241)
+[packages/core/src/types.ts:423](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L423)
----
+***
### handler
> **handler**: [`Handler`](../type-aliases/Handler.md)
+Handler function
+
#### Defined in
-[packages/core/src/types.ts:242](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L242)
+[packages/core/src/types.ts:426](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L426)
----
+***
### name
> **name**: `string`
+Evaluator name
+
#### Defined in
-[packages/core/src/types.ts:243](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L243)
+[packages/core/src/types.ts:429](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L429)
----
+***
### validate
> **validate**: [`Validator`](../type-aliases/Validator.md)
+Validation function
+
#### Defined in
-[packages/core/src/types.ts:244](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L244)
+[packages/core/src/types.ts:432](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L432)
diff --git a/docs/api/interfaces/GenerationOptions.md b/docs/api/interfaces/GenerationOptions.md
index 5e76feb36e6..65eb209765a 100644
--- a/docs/api/interfaces/GenerationOptions.md
+++ b/docs/api/interfaces/GenerationOptions.md
@@ -1,4 +1,4 @@
-[@ai16z/eliza v1.0.0](../index.md) / GenerationOptions
+[@ai16z/eliza v0.1.4-alpha.3](../index.md) / GenerationOptions
# Interface: GenerationOptions
@@ -12,9 +12,9 @@ Configuration options for generating objects with a model.
#### Defined in
-[packages/core/src/generation.ts:867](https://github.com/ai16z/eliza/blob/main/packages/core/src/generation.ts#L867)
+[packages/core/src/generation.ts:901](https://github.com/ai16z/eliza/blob/main/packages/core/src/generation.ts#L901)
----
+***
### context
@@ -22,29 +22,29 @@ Configuration options for generating objects with a model.
#### Defined in
-[packages/core/src/generation.ts:868](https://github.com/ai16z/eliza/blob/main/packages/core/src/generation.ts#L868)
+[packages/core/src/generation.ts:902](https://github.com/ai16z/eliza/blob/main/packages/core/src/generation.ts#L902)
----
+***
### modelClass
-> **modelClass**: [`ModelClass`](../enumerations/ModelClass.md)
+> **modelClass**: `TiktokenModel`
#### Defined in
-[packages/core/src/generation.ts:869](https://github.com/ai16z/eliza/blob/main/packages/core/src/generation.ts#L869)
+[packages/core/src/generation.ts:903](https://github.com/ai16z/eliza/blob/main/packages/core/src/generation.ts#L903)
----
+***
### schema?
-> `optional` **schema**: `ZodSchema`
+> `optional` **schema**: `ZodType`\<`any`, `ZodTypeDef`, `any`\>
#### Defined in
-[packages/core/src/generation.ts:870](https://github.com/ai16z/eliza/blob/main/packages/core/src/generation.ts#L870)
+[packages/core/src/generation.ts:904](https://github.com/ai16z/eliza/blob/main/packages/core/src/generation.ts#L904)
----
+***
### schemaName?
@@ -52,9 +52,9 @@ Configuration options for generating objects with a model.
#### Defined in
-[packages/core/src/generation.ts:871](https://github.com/ai16z/eliza/blob/main/packages/core/src/generation.ts#L871)
+[packages/core/src/generation.ts:905](https://github.com/ai16z/eliza/blob/main/packages/core/src/generation.ts#L905)
----
+***
### schemaDescription?
@@ -62,9 +62,9 @@ Configuration options for generating objects with a model.
#### Defined in
-[packages/core/src/generation.ts:872](https://github.com/ai16z/eliza/blob/main/packages/core/src/generation.ts#L872)
+[packages/core/src/generation.ts:906](https://github.com/ai16z/eliza/blob/main/packages/core/src/generation.ts#L906)
----
+***
### stop?
@@ -72,9 +72,9 @@ Configuration options for generating objects with a model.
#### Defined in
-[packages/core/src/generation.ts:873](https://github.com/ai16z/eliza/blob/main/packages/core/src/generation.ts#L873)
+[packages/core/src/generation.ts:907](https://github.com/ai16z/eliza/blob/main/packages/core/src/generation.ts#L907)
----
+***
### mode?
@@ -82,14 +82,14 @@ Configuration options for generating objects with a model.
#### Defined in
-[packages/core/src/generation.ts:874](https://github.com/ai16z/eliza/blob/main/packages/core/src/generation.ts#L874)
+[packages/core/src/generation.ts:908](https://github.com/ai16z/eliza/blob/main/packages/core/src/generation.ts#L908)
----
+***
-### experimental_providerMetadata?
+### experimental\_providerMetadata?
-> `optional` **experimental_providerMetadata**: `Record`\<`string`, `unknown`\>
+> `optional` **experimental\_providerMetadata**: `Record`\<`string`, `unknown`\>
#### Defined in
-[packages/core/src/generation.ts:875](https://github.com/ai16z/eliza/blob/main/packages/core/src/generation.ts#L875)
+[packages/core/src/generation.ts:909](https://github.com/ai16z/eliza/blob/main/packages/core/src/generation.ts#L909)
diff --git a/docs/api/interfaces/Goal.md b/docs/api/interfaces/Goal.md
index 41456943b3c..7da451e6144 100644
--- a/docs/api/interfaces/Goal.md
+++ b/docs/api/interfaces/Goal.md
@@ -1,8 +1,8 @@
-[@ai16z/eliza v1.0.0](../index.md) / Goal
+[@ai16z/eliza v0.1.4-alpha.3](../index.md) / Goal
# Interface: Goal
-Represents a goal, which is a higher-level aim composed of one or more objectives. Goals are tracked to measure progress or achievements within the conversation or system.
+Represents a high-level goal composed of objectives
## Properties
@@ -10,56 +10,68 @@ Represents a goal, which is a higher-level aim composed of one or more objective
> `optional` **id**: \`$\{string\}-$\{string\}-$\{string\}-$\{string\}-$\{string\}\`
+Optional unique identifier
+
#### Defined in
-[packages/core/src/types.ts:66](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L66)
+[packages/core/src/types.ts:110](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L110)
----
+***
### roomId
> **roomId**: \`$\{string\}-$\{string\}-$\{string\}-$\{string\}-$\{string\}\`
+Room ID where goal exists
+
#### Defined in
-[packages/core/src/types.ts:67](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L67)
+[packages/core/src/types.ts:113](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L113)
----
+***
### userId
> **userId**: \`$\{string\}-$\{string\}-$\{string\}-$\{string\}-$\{string\}\`
+User ID of goal owner
+
#### Defined in
-[packages/core/src/types.ts:68](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L68)
+[packages/core/src/types.ts:116](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L116)
----
+***
### name
> **name**: `string`
+Name/title of the goal
+
#### Defined in
-[packages/core/src/types.ts:69](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L69)
+[packages/core/src/types.ts:119](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L119)
----
+***
### status
> **status**: [`GoalStatus`](../enumerations/GoalStatus.md)
+Current status
+
#### Defined in
-[packages/core/src/types.ts:70](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L70)
+[packages/core/src/types.ts:122](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L122)
----
+***
### objectives
> **objectives**: [`Objective`](Objective.md)[]
+Component objectives
+
#### Defined in
-[packages/core/src/types.ts:71](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L71)
+[packages/core/src/types.ts:125](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L125)
diff --git a/docs/api/interfaces/IAgentRuntime.md b/docs/api/interfaces/IAgentRuntime.md
index 40d442301fe..843bf0e1537 100644
--- a/docs/api/interfaces/IAgentRuntime.md
+++ b/docs/api/interfaces/IAgentRuntime.md
@@ -1,4 +1,4 @@
-[@ai16z/eliza v1.0.0](../index.md) / IAgentRuntime
+[@ai16z/eliza v0.1.4-alpha.3](../index.md) / IAgentRuntime
# Interface: IAgentRuntime
@@ -12,9 +12,9 @@ Properties
#### Defined in
-[packages/core/src/types.ts:532](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L532)
+[packages/core/src/types.ts:937](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L937)
----
+***
### serverUrl
@@ -22,9 +22,9 @@ Properties
#### Defined in
-[packages/core/src/types.ts:533](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L533)
+[packages/core/src/types.ts:938](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L938)
----
+***
### databaseAdapter
@@ -32,9 +32,9 @@ Properties
#### Defined in
-[packages/core/src/types.ts:534](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L534)
+[packages/core/src/types.ts:939](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L939)
----
+***
### token
@@ -42,9 +42,9 @@ Properties
#### Defined in
-[packages/core/src/types.ts:535](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L535)
+[packages/core/src/types.ts:940](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L940)
----
+***
### modelProvider
@@ -52,9 +52,9 @@ Properties
#### Defined in
-[packages/core/src/types.ts:536](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L536)
+[packages/core/src/types.ts:941](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L941)
----
+***
### character
@@ -62,9 +62,9 @@ Properties
#### Defined in
-[packages/core/src/types.ts:537](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L537)
+[packages/core/src/types.ts:942](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L942)
----
+***
### providers
@@ -72,9 +72,9 @@ Properties
#### Defined in
-[packages/core/src/types.ts:538](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L538)
+[packages/core/src/types.ts:943](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L943)
----
+***
### actions
@@ -82,9 +82,9 @@ Properties
#### Defined in
-[packages/core/src/types.ts:539](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L539)
+[packages/core/src/types.ts:944](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L944)
----
+***
### evaluators
@@ -92,9 +92,19 @@ Properties
#### Defined in
-[packages/core/src/types.ts:540](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L540)
+[packages/core/src/types.ts:945](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L945)
----
+***
+
+### plugins
+
+> **plugins**: [`Plugin`](../type-aliases/Plugin.md)[]
+
+#### Defined in
+
+[packages/core/src/types.ts:946](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L946)
+
+***
### messageManager
@@ -102,9 +112,9 @@ Properties
#### Defined in
-[packages/core/src/types.ts:542](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L542)
+[packages/core/src/types.ts:948](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L948)
----
+***
### descriptionManager
@@ -112,9 +122,29 @@ Properties
#### Defined in
-[packages/core/src/types.ts:543](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L543)
+[packages/core/src/types.ts:949](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L949)
+
+***
+
+### documentsManager
+
+> **documentsManager**: [`IMemoryManager`](IMemoryManager.md)
+
+#### Defined in
+
+[packages/core/src/types.ts:950](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L950)
+
+***
+
+### knowledgeManager
+
+> **knowledgeManager**: [`IMemoryManager`](IMemoryManager.md)
+
+#### Defined in
+
+[packages/core/src/types.ts:951](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L951)
----
+***
### loreManager
@@ -122,9 +152,19 @@ Properties
#### Defined in
-[packages/core/src/types.ts:544](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L544)
+[packages/core/src/types.ts:952](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L952)
----
+***
+
+### cacheManager
+
+> **cacheManager**: [`ICacheManager`](ICacheManager.md)
+
+#### Defined in
+
+[packages/core/src/types.ts:954](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L954)
+
+***
### services
@@ -132,10 +172,24 @@ Properties
#### Defined in
-[packages/core/src/types.ts:546](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L546)
+[packages/core/src/types.ts:956](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L956)
## Methods
+### initialize()
+
+> **initialize**(): `Promise`\<`void`\>
+
+#### Returns
+
+`Promise`\<`void`\>
+
+#### Defined in
+
+[packages/core/src/types.ts:958](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L958)
+
+***
+
### registerMemoryManager()
> **registerMemoryManager**(`manager`): `void`
@@ -150,9 +204,9 @@ Properties
#### Defined in
-[packages/core/src/types.ts:547](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L547)
+[packages/core/src/types.ts:960](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L960)
----
+***
### getMemoryManager()
@@ -168,27 +222,31 @@ Properties
#### Defined in
-[packages/core/src/types.ts:549](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L549)
+[packages/core/src/types.ts:962](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L962)
----
+***
### getService()
-> **getService**(`service`): _typeof_ [`Service`](../classes/Service.md)
+> **getService**\<`T`\>(`service`): `T`
+
+#### Type Parameters
+
+• **T** *extends* [`Service`](../classes/Service.md)
#### Parameters
-• **service**: `string`
+• **service**: [`ServiceType`](../enumerations/ServiceType.md)
#### Returns
-_typeof_ [`Service`](../classes/Service.md)
+`T`
#### Defined in
-[packages/core/src/types.ts:551](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L551)
+[packages/core/src/types.ts:964](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L964)
----
+***
### registerService()
@@ -204,9 +262,9 @@ _typeof_ [`Service`](../classes/Service.md)
#### Defined in
-[packages/core/src/types.ts:553](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L553)
+[packages/core/src/types.ts:966](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L966)
----
+***
### getSetting()
@@ -222,9 +280,9 @@ _typeof_ [`Service`](../classes/Service.md)
#### Defined in
-[packages/core/src/types.ts:555](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L555)
+[packages/core/src/types.ts:968](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L968)
----
+***
### getConversationLength()
@@ -238,9 +296,9 @@ Methods
#### Defined in
-[packages/core/src/types.ts:558](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L558)
+[packages/core/src/types.ts:971](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L971)
----
+***
### processActions()
@@ -262,9 +320,9 @@ Methods
#### Defined in
-[packages/core/src/types.ts:559](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L559)
+[packages/core/src/types.ts:973](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L973)
----
+***
### evaluate()
@@ -284,9 +342,9 @@ Methods
#### Defined in
-[packages/core/src/types.ts:565](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L565)
+[packages/core/src/types.ts:980](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L980)
----
+***
### ensureParticipantExists()
@@ -304,9 +362,9 @@ Methods
#### Defined in
-[packages/core/src/types.ts:570](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L570)
+[packages/core/src/types.ts:986](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L986)
----
+***
### ensureUserExists()
@@ -328,9 +386,9 @@ Methods
#### Defined in
-[packages/core/src/types.ts:571](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L571)
+[packages/core/src/types.ts:988](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L988)
----
+***
### registerAction()
@@ -346,9 +404,9 @@ Methods
#### Defined in
-[packages/core/src/types.ts:577](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L577)
+[packages/core/src/types.ts:995](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L995)
----
+***
### ensureConnection()
@@ -372,9 +430,9 @@ Methods
#### Defined in
-[packages/core/src/types.ts:578](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L578)
+[packages/core/src/types.ts:997](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L997)
----
+***
### ensureParticipantInRoom()
@@ -392,9 +450,9 @@ Methods
#### Defined in
-[packages/core/src/types.ts:585](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L585)
+[packages/core/src/types.ts:1005](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L1005)
----
+***
### ensureRoomExists()
@@ -410,9 +468,9 @@ Methods
#### Defined in
-[packages/core/src/types.ts:586](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L586)
+[packages/core/src/types.ts:1007](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L1007)
----
+***
### composeState()
@@ -430,9 +488,9 @@ Methods
#### Defined in
-[packages/core/src/types.ts:587](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L587)
+[packages/core/src/types.ts:1009](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L1009)
----
+***
### updateRecentMessageState()
@@ -448,4 +506,4 @@ Methods
#### Defined in
-[packages/core/src/types.ts:591](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L591)
+[packages/core/src/types.ts:1014](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L1014)
diff --git a/docs/api/interfaces/IBrowserService.md b/docs/api/interfaces/IBrowserService.md
index 1960e7f069a..d4f72136da2 100644
--- a/docs/api/interfaces/IBrowserService.md
+++ b/docs/api/interfaces/IBrowserService.md
@@ -1,4 +1,4 @@
-[@ai16z/eliza v1.0.0](../index.md) / IBrowserService
+[@ai16z/eliza v0.1.4-alpha.3](../index.md) / IBrowserService
# Interface: IBrowserService
@@ -6,21 +6,51 @@
- [`Service`](../classes/Service.md)
+## Accessors
+
+### serviceType
+
+#### Get Signature
+
+> **get** **serviceType**(): [`ServiceType`](../enumerations/ServiceType.md)
+
+##### Returns
+
+[`ServiceType`](../enumerations/ServiceType.md)
+
+#### Inherited from
+
+[`Service`](../classes/Service.md).[`serviceType`](../classes/Service.md#serviceType-1)
+
+#### Defined in
+
+[packages/core/src/types.ts:927](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L927)
+
## Methods
### initialize()
-> **initialize**(): `Promise`\<`void`\>
+> `abstract` **initialize**(`runtime`): `Promise`\<`void`\>
+
+Add abstract initialize method that must be implemented by derived classes
+
+#### Parameters
+
+• **runtime**: [`IAgentRuntime`](IAgentRuntime.md)
#### Returns
`Promise`\<`void`\>
+#### Inherited from
+
+[`Service`](../classes/Service.md).[`initialize`](../classes/Service.md#initialize)
+
#### Defined in
-[packages/core/src/types.ts:641](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L641)
+[packages/core/src/types.ts:932](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L932)
----
+***
### closeBrowser()
@@ -32,9 +62,9 @@
#### Defined in
-[packages/core/src/types.ts:642](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L642)
+[packages/core/src/types.ts:1061](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L1061)
----
+***
### getPageContent()
@@ -64,4 +94,4 @@
#### Defined in
-[packages/core/src/types.ts:643](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L643)
+[packages/core/src/types.ts:1062](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L1062)
diff --git a/docs/api/interfaces/ICacheAdapter.md b/docs/api/interfaces/ICacheAdapter.md
new file mode 100644
index 00000000000..55ec1ab3a87
--- /dev/null
+++ b/docs/api/interfaces/ICacheAdapter.md
@@ -0,0 +1,59 @@
+[@ai16z/eliza v0.1.4-alpha.3](../index.md) / ICacheAdapter
+
+# Interface: ICacheAdapter
+
+## Methods
+
+### get()
+
+> **get**(`key`): `Promise`\<`string`\>
+
+#### Parameters
+
+• **key**: `string`
+
+#### Returns
+
+`Promise`\<`string`\>
+
+#### Defined in
+
+[packages/core/src/cache.ts:11](https://github.com/ai16z/eliza/blob/main/packages/core/src/cache.ts#L11)
+
+***
+
+### set()
+
+> **set**(`key`, `value`): `Promise`\<`void`\>
+
+#### Parameters
+
+• **key**: `string`
+
+• **value**: `string`
+
+#### Returns
+
+`Promise`\<`void`\>
+
+#### Defined in
+
+[packages/core/src/cache.ts:12](https://github.com/ai16z/eliza/blob/main/packages/core/src/cache.ts#L12)
+
+***
+
+### delete()
+
+> **delete**(`key`): `Promise`\<`void`\>
+
+#### Parameters
+
+• **key**: `string`
+
+#### Returns
+
+`Promise`\<`void`\>
+
+#### Defined in
+
+[packages/core/src/cache.ts:13](https://github.com/ai16z/eliza/blob/main/packages/core/src/cache.ts#L13)
diff --git a/docs/api/interfaces/ICacheManager.md b/docs/api/interfaces/ICacheManager.md
new file mode 100644
index 00000000000..f6f943afed6
--- /dev/null
+++ b/docs/api/interfaces/ICacheManager.md
@@ -0,0 +1,69 @@
+[@ai16z/eliza v0.1.4-alpha.3](../index.md) / ICacheManager
+
+# Interface: ICacheManager
+
+## Methods
+
+### get()
+
+> **get**\<`T`\>(`key`): `Promise`\<`T`\>
+
+#### Type Parameters
+
+• **T** = `unknown`
+
+#### Parameters
+
+• **key**: `string`
+
+#### Returns
+
+`Promise`\<`T`\>
+
+#### Defined in
+
+[packages/core/src/types.ts:908](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L908)
+
+***
+
+### set()
+
+> **set**\<`T`\>(`key`, `value`, `options`?): `Promise`\<`void`\>
+
+#### Type Parameters
+
+• **T**
+
+#### Parameters
+
+• **key**: `string`
+
+• **value**: `T`
+
+• **options?**: [`CacheOptions`](../type-aliases/CacheOptions.md)
+
+#### Returns
+
+`Promise`\<`void`\>
+
+#### Defined in
+
+[packages/core/src/types.ts:909](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L909)
+
+***
+
+### delete()
+
+> **delete**(`key`): `Promise`\<`void`\>
+
+#### Parameters
+
+• **key**: `string`
+
+#### Returns
+
+`Promise`\<`void`\>
+
+#### Defined in
+
+[packages/core/src/types.ts:910](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L910)
diff --git a/docs/api/interfaces/IDatabaseAdapter.md b/docs/api/interfaces/IDatabaseAdapter.md
index 110080ba08f..c12e205f2f6 100644
--- a/docs/api/interfaces/IDatabaseAdapter.md
+++ b/docs/api/interfaces/IDatabaseAdapter.md
@@ -1,23 +1,45 @@
-[@ai16z/eliza v1.0.0](../index.md) / IDatabaseAdapter
+[@ai16z/eliza v0.1.4-alpha.3](../index.md) / IDatabaseAdapter
# Interface: IDatabaseAdapter
+Interface for database operations
+
## Properties
### db
> **db**: `any`
+Database instance
+
#### Defined in
-[packages/core/src/types.ts:375](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L375)
+[packages/core/src/types.ts:703](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L703)
## Methods
+### init()?
+
+> `optional` **init**(): `Promise`\<`void`\>
+
+Optional initialization
+
+#### Returns
+
+`Promise`\<`void`\>
+
+#### Defined in
+
+[packages/core/src/types.ts:706](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L706)
+
+***
+
### getAccountById()
> **getAccountById**(`userId`): `Promise`\<[`Account`](Account.md)\>
+Get account by ID
+
#### Parameters
• **userId**: \`$\{string\}-$\{string\}-$\{string\}-$\{string\}-$\{string\}\`
@@ -28,14 +50,16 @@
#### Defined in
-[packages/core/src/types.ts:376](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L376)
+[packages/core/src/types.ts:709](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L709)
----
+***
### createAccount()
> **createAccount**(`account`): `Promise`\<`boolean`\>
+Create new account
+
#### Parameters
• **account**: [`Account`](Account.md)
@@ -46,14 +70,16 @@
#### Defined in
-[packages/core/src/types.ts:377](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L377)
+[packages/core/src/types.ts:712](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L712)
----
+***
### getMemories()
> **getMemories**(`params`): `Promise`\<[`Memory`](Memory.md)[]\>
+Get memories matching criteria
+
#### Parameters
• **params**
@@ -66,7 +92,7 @@
• **params.tableName**: `string`
-• **params.agentId?**: \`$\{string\}-$\{string\}-$\{string\}-$\{string\}-$\{string\}\`
+• **params.agentId**: \`$\{string\}-$\{string\}-$\{string\}-$\{string\}-$\{string\}\`
• **params.start?**: `number`
@@ -78,9 +104,9 @@
#### Defined in
-[packages/core/src/types.ts:378](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L378)
+[packages/core/src/types.ts:715](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L715)
----
+***
### getMemoryById()
@@ -96,9 +122,9 @@
#### Defined in
-[packages/core/src/types.ts:387](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L387)
+[packages/core/src/types.ts:725](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L725)
----
+***
### getMemoriesByRoomIds()
@@ -108,7 +134,7 @@
• **params**
-• **params.agentId?**: \`$\{string\}-$\{string\}-$\{string\}-$\{string\}-$\{string\}\`
+• **params.agentId**: \`$\{string\}-$\{string\}-$\{string\}-$\{string\}-$\{string\}\`
• **params.roomIds**: \`$\{string\}-$\{string\}-$\{string\}-$\{string\}-$\{string\}\`[]
@@ -118,9 +144,9 @@
#### Defined in
-[packages/core/src/types.ts:388](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L388)
+[packages/core/src/types.ts:727](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L727)
----
+***
### getCachedEmbeddings()
@@ -130,17 +156,17 @@
• **params**
-• **params.query_table_name**: `string`
+• **params.query\_table\_name**: `string`
-• **params.query_threshold**: `number`
+• **params.query\_threshold**: `number`
-• **params.query_input**: `string`
+• **params.query\_input**: `string`
-• **params.query_field_name**: `string`
+• **params.query\_field\_name**: `string`
-• **params.query_field_sub_name**: `string`
+• **params.query\_field\_sub\_name**: `string`
-• **params.query_match_count**: `number`
+• **params.query\_match\_count**: `number`
#### Returns
@@ -148,9 +174,9 @@
#### Defined in
-[packages/core/src/types.ts:392](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L392)
+[packages/core/src/types.ts:732](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L732)
----
+***
### log()
@@ -174,9 +200,9 @@
#### Defined in
-[packages/core/src/types.ts:400](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L400)
+[packages/core/src/types.ts:741](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L741)
----
+***
### getActorDetails()
@@ -194,9 +220,9 @@
#### Defined in
-[packages/core/src/types.ts:406](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L406)
+[packages/core/src/types.ts:748](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L748)
----
+***
### searchMemories()
@@ -208,13 +234,15 @@
• **params.tableName**: `string`
+• **params.agentId**: \`$\{string\}-$\{string\}-$\{string\}-$\{string\}-$\{string\}\`
+
• **params.roomId**: \`$\{string\}-$\{string\}-$\{string\}-$\{string\}-$\{string\}\`
• **params.embedding**: `number`[]
-• **params.match_threshold**: `number`
+• **params.match\_threshold**: `number`
-• **params.match_count**: `number`
+• **params.match\_count**: `number`
• **params.unique**: `boolean`
@@ -224,9 +252,9 @@
#### Defined in
-[packages/core/src/types.ts:407](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L407)
+[packages/core/src/types.ts:750](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L750)
----
+***
### updateGoalStatus()
@@ -246,9 +274,9 @@
#### Defined in
-[packages/core/src/types.ts:415](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L415)
+[packages/core/src/types.ts:760](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L760)
----
+***
### searchMemoriesByEmbedding()
@@ -260,7 +288,7 @@
• **params**
-• **params.match_threshold?**: `number`
+• **params.match\_threshold?**: `number`
• **params.count?**: `number`
@@ -278,9 +306,9 @@
#### Defined in
-[packages/core/src/types.ts:419](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L419)
+[packages/core/src/types.ts:765](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L765)
----
+***
### createMemory()
@@ -300,9 +328,9 @@
#### Defined in
-[packages/core/src/types.ts:430](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L430)
+[packages/core/src/types.ts:777](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L777)
----
+***
### removeMemory()
@@ -320,9 +348,9 @@
#### Defined in
-[packages/core/src/types.ts:435](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L435)
+[packages/core/src/types.ts:783](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L783)
----
+***
### removeAllMemories()
@@ -340,9 +368,9 @@
#### Defined in
-[packages/core/src/types.ts:436](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L436)
+[packages/core/src/types.ts:785](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L785)
----
+***
### countMemories()
@@ -362,9 +390,9 @@
#### Defined in
-[packages/core/src/types.ts:437](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L437)
+[packages/core/src/types.ts:787](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L787)
----
+***
### getGoals()
@@ -374,6 +402,8 @@
• **params**
+• **params.agentId**: \`$\{string\}-$\{string\}-$\{string\}-$\{string\}-$\{string\}\`
+
• **params.roomId**: \`$\{string\}-$\{string\}-$\{string\}-$\{string\}-$\{string\}\`
• **params.userId?**: \`$\{string\}-$\{string\}-$\{string\}-$\{string\}-$\{string\}\`
@@ -388,9 +418,9 @@
#### Defined in
-[packages/core/src/types.ts:442](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L442)
+[packages/core/src/types.ts:793](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L793)
----
+***
### updateGoal()
@@ -406,9 +436,9 @@
#### Defined in
-[packages/core/src/types.ts:448](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L448)
+[packages/core/src/types.ts:801](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L801)
----
+***
### createGoal()
@@ -424,9 +454,9 @@
#### Defined in
-[packages/core/src/types.ts:449](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L449)
+[packages/core/src/types.ts:803](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L803)
----
+***
### removeGoal()
@@ -442,9 +472,9 @@
#### Defined in
-[packages/core/src/types.ts:450](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L450)
+[packages/core/src/types.ts:805](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L805)
----
+***
### removeAllGoals()
@@ -460,9 +490,9 @@
#### Defined in
-[packages/core/src/types.ts:451](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L451)
+[packages/core/src/types.ts:807](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L807)
----
+***
### getRoom()
@@ -478,9 +508,9 @@
#### Defined in
-[packages/core/src/types.ts:452](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L452)
+[packages/core/src/types.ts:809](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L809)
----
+***
### createRoom()
@@ -496,9 +526,9 @@
#### Defined in
-[packages/core/src/types.ts:453](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L453)
+[packages/core/src/types.ts:811](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L811)
----
+***
### removeRoom()
@@ -514,9 +544,9 @@
#### Defined in
-[packages/core/src/types.ts:454](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L454)
+[packages/core/src/types.ts:813](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L813)
----
+***
### getRoomsForParticipant()
@@ -532,9 +562,9 @@
#### Defined in
-[packages/core/src/types.ts:455](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L455)
+[packages/core/src/types.ts:815](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L815)
----
+***
### getRoomsForParticipants()
@@ -550,9 +580,9 @@
#### Defined in
-[packages/core/src/types.ts:456](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L456)
+[packages/core/src/types.ts:817](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L817)
----
+***
### addParticipant()
@@ -570,9 +600,9 @@
#### Defined in
-[packages/core/src/types.ts:457](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L457)
+[packages/core/src/types.ts:819](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L819)
----
+***
### removeParticipant()
@@ -590,9 +620,9 @@
#### Defined in
-[packages/core/src/types.ts:458](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L458)
+[packages/core/src/types.ts:821](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L821)
----
+***
### getParticipantsForAccount()
@@ -608,9 +638,9 @@
#### Defined in
-[packages/core/src/types.ts:459](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L459)
+[packages/core/src/types.ts:823](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L823)
----
+***
### getParticipantsForRoom()
@@ -626,9 +656,9 @@
#### Defined in
-[packages/core/src/types.ts:460](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L460)
+[packages/core/src/types.ts:825](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L825)
----
+***
### getParticipantUserState()
@@ -646,9 +676,9 @@
#### Defined in
-[packages/core/src/types.ts:461](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L461)
+[packages/core/src/types.ts:827](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L827)
----
+***
### setParticipantUserState()
@@ -668,9 +698,9 @@
#### Defined in
-[packages/core/src/types.ts:465](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L465)
+[packages/core/src/types.ts:832](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L832)
----
+***
### createRelationship()
@@ -690,9 +720,9 @@
#### Defined in
-[packages/core/src/types.ts:470](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L470)
+[packages/core/src/types.ts:838](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L838)
----
+***
### getRelationship()
@@ -712,9 +742,9 @@
#### Defined in
-[packages/core/src/types.ts:471](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L471)
+[packages/core/src/types.ts:840](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L840)
----
+***
### getRelationships()
@@ -732,4 +762,4 @@
#### Defined in
-[packages/core/src/types.ts:475](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L475)
+[packages/core/src/types.ts:845](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L845)
diff --git a/docs/api/interfaces/IDatabaseCacheAdapter.md b/docs/api/interfaces/IDatabaseCacheAdapter.md
new file mode 100644
index 00000000000..fb4c89eb2b1
--- /dev/null
+++ b/docs/api/interfaces/IDatabaseCacheAdapter.md
@@ -0,0 +1,71 @@
+[@ai16z/eliza v0.1.4-alpha.3](../index.md) / IDatabaseCacheAdapter
+
+# Interface: IDatabaseCacheAdapter
+
+## Methods
+
+### getCache()
+
+> **getCache**(`params`): `Promise`\<`string`\>
+
+#### Parameters
+
+• **params**
+
+• **params.agentId**: \`$\{string\}-$\{string\}-$\{string\}-$\{string\}-$\{string\}\`
+
+• **params.key**: `string`
+
+#### Returns
+
+`Promise`\<`string`\>
+
+#### Defined in
+
+[packages/core/src/types.ts:849](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L849)
+
+***
+
+### setCache()
+
+> **setCache**(`params`): `Promise`\<`boolean`\>
+
+#### Parameters
+
+• **params**
+
+• **params.agentId**: \`$\{string\}-$\{string\}-$\{string\}-$\{string\}-$\{string\}\`
+
+• **params.key**: `string`
+
+• **params.value**: `string`
+
+#### Returns
+
+`Promise`\<`boolean`\>
+
+#### Defined in
+
+[packages/core/src/types.ts:854](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L854)
+
+***
+
+### deleteCache()
+
+> **deleteCache**(`params`): `Promise`\<`boolean`\>
+
+#### Parameters
+
+• **params**
+
+• **params.agentId**: \`$\{string\}-$\{string\}-$\{string\}-$\{string\}-$\{string\}\`
+
+• **params.key**: `string`
+
+#### Returns
+
+`Promise`\<`boolean`\>
+
+#### Defined in
+
+[packages/core/src/types.ts:860](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L860)
diff --git a/docs/api/interfaces/IImageDescriptionService.md b/docs/api/interfaces/IImageDescriptionService.md
index 5f29d8a9970..254b977918e 100644
--- a/docs/api/interfaces/IImageDescriptionService.md
+++ b/docs/api/interfaces/IImageDescriptionService.md
@@ -1,4 +1,4 @@
-[@ai16z/eliza v1.0.0](../index.md) / IImageDescriptionService
+[@ai16z/eliza v0.1.4-alpha.3](../index.md) / IImageDescriptionService
# Interface: IImageDescriptionService
@@ -6,41 +6,51 @@
- [`Service`](../classes/Service.md)
-## Methods
+## Accessors
-### getInstance()
+### serviceType
-> **getInstance**(): [`IImageDescriptionService`](IImageDescriptionService.md)
+#### Get Signature
-#### Returns
+> **get** **serviceType**(): [`ServiceType`](../enumerations/ServiceType.md)
+
+##### Returns
+
+[`ServiceType`](../enumerations/ServiceType.md)
+
+#### Inherited from
-[`IImageDescriptionService`](IImageDescriptionService.md)
+[`Service`](../classes/Service.md).[`serviceType`](../classes/Service.md#serviceType-1)
#### Defined in
-[packages/core/src/types.ts:595](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L595)
+[packages/core/src/types.ts:927](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L927)
----
+## Methods
### initialize()
-> **initialize**(`modelId`?, `device`?): `Promise`\<`void`\>
+> `abstract` **initialize**(`runtime`): `Promise`\<`void`\>
-#### Parameters
+Add abstract initialize method that must be implemented by derived classes
-• **modelId?**: `string`
+#### Parameters
-• **device?**: `string`
+• **runtime**: [`IAgentRuntime`](IAgentRuntime.md)
#### Returns
`Promise`\<`void`\>
+#### Inherited from
+
+[`Service`](../classes/Service.md).[`initialize`](../classes/Service.md#initialize)
+
#### Defined in
-[packages/core/src/types.ts:596](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L596)
+[packages/core/src/types.ts:932](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L932)
----
+***
### describeImage()
@@ -64,4 +74,4 @@
#### Defined in
-[packages/core/src/types.ts:597](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L597)
+[packages/core/src/types.ts:1018](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L1018)
diff --git a/docs/api/interfaces/IMemoryManager.md b/docs/api/interfaces/IMemoryManager.md
index a10169784be..a1b638d2fe6 100644
--- a/docs/api/interfaces/IMemoryManager.md
+++ b/docs/api/interfaces/IMemoryManager.md
@@ -1,4 +1,4 @@
-[@ai16z/eliza v1.0.0](../index.md) / IMemoryManager
+[@ai16z/eliza v0.1.4-alpha.3](../index.md) / IMemoryManager
# Interface: IMemoryManager
@@ -10,9 +10,9 @@
#### Defined in
-[packages/core/src/types.ts:479](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L479)
+[packages/core/src/types.ts:864](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L864)
----
+***
### tableName
@@ -20,9 +20,9 @@
#### Defined in
-[packages/core/src/types.ts:480](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L480)
+[packages/core/src/types.ts:865](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L865)
----
+***
### constructor
@@ -30,7 +30,7 @@
#### Defined in
-[packages/core/src/types.ts:482](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L482)
+[packages/core/src/types.ts:866](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L866)
## Methods
@@ -48,9 +48,9 @@
#### Defined in
-[packages/core/src/types.ts:484](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L484)
+[packages/core/src/types.ts:868](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L868)
----
+***
### getMemories()
@@ -66,8 +66,6 @@
• **opts.unique?**: `boolean`
-• **opts.agentId?**: \`$\{string\}-$\{string\}-$\{string\}-$\{string\}-$\{string\}\`
-
• **opts.start?**: `number`
• **opts.end?**: `number`
@@ -78,9 +76,9 @@
#### Defined in
-[packages/core/src/types.ts:485](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L485)
+[packages/core/src/types.ts:870](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L870)
----
+***
### getCachedEmbeddings()
@@ -96,9 +94,9 @@
#### Defined in
-[packages/core/src/types.ts:493](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L493)
+[packages/core/src/types.ts:878](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L878)
----
+***
### getMemoryById()
@@ -114,9 +112,9 @@
#### Defined in
-[packages/core/src/types.ts:496](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L496)
+[packages/core/src/types.ts:882](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L882)
----
+***
### getMemoriesByRoomIds()
@@ -128,17 +126,15 @@
• **params.roomIds**: \`$\{string\}-$\{string\}-$\{string\}-$\{string\}-$\{string\}\`[]
-• **params.agentId?**: \`$\{string\}-$\{string\}-$\{string\}-$\{string\}-$\{string\}\`
-
#### Returns
`Promise`\<[`Memory`](Memory.md)[]\>
#### Defined in
-[packages/core/src/types.ts:497](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L497)
+[packages/core/src/types.ts:883](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L883)
----
+***
### searchMemoriesByEmbedding()
@@ -150,7 +146,7 @@
• **opts**
-• **opts.match_threshold?**: `number`
+• **opts.match\_threshold?**: `number`
• **opts.count?**: `number`
@@ -158,17 +154,15 @@
• **opts.unique?**: `boolean`
-• **opts.agentId?**: \`$\{string\}-$\{string\}-$\{string\}-$\{string\}-$\{string\}\`
-
#### Returns
`Promise`\<[`Memory`](Memory.md)[]\>
#### Defined in
-[packages/core/src/types.ts:501](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L501)
+[packages/core/src/types.ts:884](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L884)
----
+***
### createMemory()
@@ -186,9 +180,9 @@
#### Defined in
-[packages/core/src/types.ts:511](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L511)
+[packages/core/src/types.ts:894](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L894)
----
+***
### removeMemory()
@@ -204,9 +198,9 @@
#### Defined in
-[packages/core/src/types.ts:512](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L512)
+[packages/core/src/types.ts:896](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L896)
----
+***
### removeAllMemories()
@@ -222,9 +216,9 @@
#### Defined in
-[packages/core/src/types.ts:513](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L513)
+[packages/core/src/types.ts:898](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L898)
----
+***
### countMemories()
@@ -242,4 +236,4 @@
#### Defined in
-[packages/core/src/types.ts:514](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L514)
+[packages/core/src/types.ts:900](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L900)
diff --git a/docs/api/interfaces/IPdfService.md b/docs/api/interfaces/IPdfService.md
index bfd875f7093..b99cab8f174 100644
--- a/docs/api/interfaces/IPdfService.md
+++ b/docs/api/interfaces/IPdfService.md
@@ -1,4 +1,4 @@
-[@ai16z/eliza v1.0.0](../index.md) / IPdfService
+[@ai16z/eliza v0.1.4-alpha.3](../index.md) / IPdfService
# Interface: IPdfService
@@ -6,8 +6,66 @@
- [`Service`](../classes/Service.md)
+## Accessors
+
+### serviceType
+
+#### Get Signature
+
+> **get** **serviceType**(): [`ServiceType`](../enumerations/ServiceType.md)
+
+##### Returns
+
+[`ServiceType`](../enumerations/ServiceType.md)
+
+#### Inherited from
+
+[`Service`](../classes/Service.md).[`serviceType`](../classes/Service.md#serviceType-1)
+
+#### Defined in
+
+[packages/core/src/types.ts:927](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L927)
+
## Methods
+### initialize()
+
+> `abstract` **initialize**(`runtime`): `Promise`\<`void`\>
+
+Add abstract initialize method that must be implemented by derived classes
+
+#### Parameters
+
+• **runtime**: [`IAgentRuntime`](IAgentRuntime.md)
+
+#### Returns
+
+`Promise`\<`void`\>
+
+#### Inherited from
+
+[`Service`](../classes/Service.md).[`initialize`](../classes/Service.md#initialize)
+
+#### Defined in
+
+[packages/core/src/types.ts:932](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L932)
+
+***
+
+### getInstance()
+
+> **getInstance**(): [`IPdfService`](IPdfService.md)
+
+#### Returns
+
+[`IPdfService`](IPdfService.md)
+
+#### Defined in
+
+[packages/core/src/types.ts:1074](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L1074)
+
+***
+
### convertPdfToText()
> **convertPdfToText**(`pdfBuffer`): `Promise`\<`string`\>
@@ -22,4 +80,4 @@
#### Defined in
-[packages/core/src/types.ts:654](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L654)
+[packages/core/src/types.ts:1075](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L1075)
diff --git a/docs/api/interfaces/ISpeechService.md b/docs/api/interfaces/ISpeechService.md
index 6e6fe9436e8..52b4589ebcd 100644
--- a/docs/api/interfaces/ISpeechService.md
+++ b/docs/api/interfaces/ISpeechService.md
@@ -1,4 +1,4 @@
-[@ai16z/eliza v1.0.0](../index.md) / ISpeechService
+[@ai16z/eliza v0.1.4-alpha.3](../index.md) / ISpeechService
# Interface: ISpeechService
@@ -6,8 +6,66 @@
- [`Service`](../classes/Service.md)
+## Accessors
+
+### serviceType
+
+#### Get Signature
+
+> **get** **serviceType**(): [`ServiceType`](../enumerations/ServiceType.md)
+
+##### Returns
+
+[`ServiceType`](../enumerations/ServiceType.md)
+
+#### Inherited from
+
+[`Service`](../classes/Service.md).[`serviceType`](../classes/Service.md#serviceType-1)
+
+#### Defined in
+
+[packages/core/src/types.ts:927](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L927)
+
## Methods
+### initialize()
+
+> `abstract` **initialize**(`runtime`): `Promise`\<`void`\>
+
+Add abstract initialize method that must be implemented by derived classes
+
+#### Parameters
+
+• **runtime**: [`IAgentRuntime`](IAgentRuntime.md)
+
+#### Returns
+
+`Promise`\<`void`\>
+
+#### Inherited from
+
+[`Service`](../classes/Service.md).[`initialize`](../classes/Service.md#initialize)
+
+#### Defined in
+
+[packages/core/src/types.ts:932](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L932)
+
+***
+
+### getInstance()
+
+> **getInstance**(): [`ISpeechService`](ISpeechService.md)
+
+#### Returns
+
+[`ISpeechService`](ISpeechService.md)
+
+#### Defined in
+
+[packages/core/src/types.ts:1069](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L1069)
+
+***
+
### generate()
> **generate**(`runtime`, `text`): `Promise`\<`Readable`\>
@@ -24,4 +82,4 @@
#### Defined in
-[packages/core/src/types.ts:650](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L650)
+[packages/core/src/types.ts:1070](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L1070)
diff --git a/docs/api/interfaces/ITextGenerationService.md b/docs/api/interfaces/ITextGenerationService.md
index 5be0dbf0405..458c1e2da4e 100644
--- a/docs/api/interfaces/ITextGenerationService.md
+++ b/docs/api/interfaces/ITextGenerationService.md
@@ -1,4 +1,4 @@
-[@ai16z/eliza v1.0.0](../index.md) / ITextGenerationService
+[@ai16z/eliza v0.1.4-alpha.3](../index.md) / ITextGenerationService
# Interface: ITextGenerationService
@@ -6,21 +6,51 @@
- [`Service`](../classes/Service.md)
+## Accessors
+
+### serviceType
+
+#### Get Signature
+
+> **get** **serviceType**(): [`ServiceType`](../enumerations/ServiceType.md)
+
+##### Returns
+
+[`ServiceType`](../enumerations/ServiceType.md)
+
+#### Inherited from
+
+[`Service`](../classes/Service.md).[`serviceType`](../classes/Service.md#serviceType-1)
+
+#### Defined in
+
+[packages/core/src/types.ts:927](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L927)
+
## Methods
-### getInstance()
+### initialize()
+
+> `abstract` **initialize**(`runtime`): `Promise`\<`void`\>
-> **getInstance**(): [`ITextGenerationService`](ITextGenerationService.md)
+Add abstract initialize method that must be implemented by derived classes
+
+#### Parameters
+
+• **runtime**: [`IAgentRuntime`](IAgentRuntime.md)
#### Returns
-[`ITextGenerationService`](ITextGenerationService.md)
+`Promise`\<`void`\>
+
+#### Inherited from
+
+[`Service`](../classes/Service.md).[`initialize`](../classes/Service.md#initialize)
#### Defined in
-[packages/core/src/types.ts:619](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L619)
+[packages/core/src/types.ts:932](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L932)
----
+***
### initializeModel()
@@ -32,9 +62,9 @@
#### Defined in
-[packages/core/src/types.ts:620](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L620)
+[packages/core/src/types.ts:1040](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L1040)
----
+***
### queueMessageCompletion()
@@ -48,11 +78,11 @@
• **stop**: `string`[]
-• **frequency_penalty**: `number`
+• **frequency\_penalty**: `number`
-• **presence_penalty**: `number`
+• **presence\_penalty**: `number`
-• **max_tokens**: `number`
+• **max\_tokens**: `number`
#### Returns
@@ -60,9 +90,9 @@
#### Defined in
-[packages/core/src/types.ts:621](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L621)
+[packages/core/src/types.ts:1041](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L1041)
----
+***
### queueTextCompletion()
@@ -76,11 +106,11 @@
• **stop**: `string`[]
-• **frequency_penalty**: `number`
+• **frequency\_penalty**: `number`
-• **presence_penalty**: `number`
+• **presence\_penalty**: `number`
-• **max_tokens**: `number`
+• **max\_tokens**: `number`
#### Returns
@@ -88,9 +118,9 @@
#### Defined in
-[packages/core/src/types.ts:629](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L629)
+[packages/core/src/types.ts:1049](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L1049)
----
+***
### getEmbeddingResponse()
@@ -106,4 +136,4 @@
#### Defined in
-[packages/core/src/types.ts:637](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L637)
+[packages/core/src/types.ts:1057](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L1057)
diff --git a/docs/api/interfaces/ITranscriptionService.md b/docs/api/interfaces/ITranscriptionService.md
index 5634219f53b..e4f6cfbee20 100644
--- a/docs/api/interfaces/ITranscriptionService.md
+++ b/docs/api/interfaces/ITranscriptionService.md
@@ -1,4 +1,4 @@
-[@ai16z/eliza v1.0.0](../index.md) / ITranscriptionService
+[@ai16z/eliza v0.1.4-alpha.3](../index.md) / ITranscriptionService
# Interface: ITranscriptionService
@@ -6,8 +6,52 @@
- [`Service`](../classes/Service.md)
+## Accessors
+
+### serviceType
+
+#### Get Signature
+
+> **get** **serviceType**(): [`ServiceType`](../enumerations/ServiceType.md)
+
+##### Returns
+
+[`ServiceType`](../enumerations/ServiceType.md)
+
+#### Inherited from
+
+[`Service`](../classes/Service.md).[`serviceType`](../classes/Service.md#serviceType-1)
+
+#### Defined in
+
+[packages/core/src/types.ts:927](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L927)
+
## Methods
+### initialize()
+
+> `abstract` **initialize**(`runtime`): `Promise`\<`void`\>
+
+Add abstract initialize method that must be implemented by derived classes
+
+#### Parameters
+
+• **runtime**: [`IAgentRuntime`](IAgentRuntime.md)
+
+#### Returns
+
+`Promise`\<`void`\>
+
+#### Inherited from
+
+[`Service`](../classes/Service.md).[`initialize`](../classes/Service.md#initialize)
+
+#### Defined in
+
+[packages/core/src/types.ts:932](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L932)
+
+***
+
### transcribeAttachment()
> **transcribeAttachment**(`audioBuffer`): `Promise`\<`string`\>
@@ -22,9 +66,9 @@
#### Defined in
-[packages/core/src/types.ts:603](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L603)
+[packages/core/src/types.ts:1024](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L1024)
----
+***
### transcribeAttachmentLocally()
@@ -40,9 +84,9 @@
#### Defined in
-[packages/core/src/types.ts:604](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L604)
+[packages/core/src/types.ts:1025](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L1025)
----
+***
### transcribe()
@@ -58,9 +102,9 @@
#### Defined in
-[packages/core/src/types.ts:607](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L607)
+[packages/core/src/types.ts:1028](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L1028)
----
+***
### transcribeLocally()
@@ -76,4 +120,4 @@
#### Defined in
-[packages/core/src/types.ts:608](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L608)
+[packages/core/src/types.ts:1029](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L1029)
diff --git a/docs/api/interfaces/IVideoService.md b/docs/api/interfaces/IVideoService.md
index f62ab655dbc..19e01febaa3 100644
--- a/docs/api/interfaces/IVideoService.md
+++ b/docs/api/interfaces/IVideoService.md
@@ -1,4 +1,4 @@
-[@ai16z/eliza v1.0.0](../index.md) / IVideoService
+[@ai16z/eliza v0.1.4-alpha.3](../index.md) / IVideoService
# Interface: IVideoService
@@ -6,29 +6,55 @@
- [`Service`](../classes/Service.md)
+## Accessors
+
+### serviceType
+
+#### Get Signature
+
+> **get** **serviceType**(): [`ServiceType`](../enumerations/ServiceType.md)
+
+##### Returns
+
+[`ServiceType`](../enumerations/ServiceType.md)
+
+#### Inherited from
+
+[`Service`](../classes/Service.md).[`serviceType`](../classes/Service.md#serviceType-1)
+
+#### Defined in
+
+[packages/core/src/types.ts:927](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L927)
+
## Methods
-### isVideoUrl()
+### initialize()
-> **isVideoUrl**(`url`): `boolean`
+> `abstract` **initialize**(`runtime`): `Promise`\<`void`\>
+
+Add abstract initialize method that must be implemented by derived classes
#### Parameters
-• **url**: `string`
+• **runtime**: [`IAgentRuntime`](IAgentRuntime.md)
#### Returns
-`boolean`
+`Promise`\<`void`\>
+
+#### Inherited from
+
+[`Service`](../classes/Service.md).[`initialize`](../classes/Service.md#initialize)
#### Defined in
-[packages/core/src/types.ts:612](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L612)
+[packages/core/src/types.ts:932](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L932)
----
+***
-### processVideo()
+### isVideoUrl()
-> **processVideo**(`url`): `Promise`\<[`Media`](../type-aliases/Media.md)\>
+> **isVideoUrl**(`url`): `boolean`
#### Parameters
@@ -36,13 +62,13 @@
#### Returns
-`Promise`\<[`Media`](../type-aliases/Media.md)\>
+`boolean`
#### Defined in
-[packages/core/src/types.ts:613](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L613)
+[packages/core/src/types.ts:1033](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L1033)
----
+***
### fetchVideoInfo()
@@ -58,9 +84,9 @@
#### Defined in
-[packages/core/src/types.ts:614](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L614)
+[packages/core/src/types.ts:1034](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L1034)
----
+***
### downloadVideo()
@@ -76,4 +102,24 @@
#### Defined in
-[packages/core/src/types.ts:615](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L615)
+[packages/core/src/types.ts:1035](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L1035)
+
+***
+
+### processVideo()
+
+> **processVideo**(`url`, `runtime`): `Promise`\<[`Media`](../type-aliases/Media.md)\>
+
+#### Parameters
+
+• **url**: `string`
+
+• **runtime**: [`IAgentRuntime`](IAgentRuntime.md)
+
+#### Returns
+
+`Promise`\<[`Media`](../type-aliases/Media.md)\>
+
+#### Defined in
+
+[packages/core/src/types.ts:1036](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L1036)
diff --git a/docs/api/interfaces/Memory.md b/docs/api/interfaces/Memory.md
index 040cdf1e71a..c2977270c18 100644
--- a/docs/api/interfaces/Memory.md
+++ b/docs/api/interfaces/Memory.md
@@ -1,8 +1,8 @@
-[@ai16z/eliza v1.0.0](../index.md) / Memory
+[@ai16z/eliza v0.1.4-alpha.3](../index.md) / Memory
# Interface: Memory
-Represents a memory record, which could be a message or any other piece of information remembered by the system, including its content, associated user IDs, and optionally, its embedding vector for similarity comparisons.
+Represents a stored memory/message
## Properties
@@ -10,76 +10,104 @@ Represents a memory record, which could be a message or any other piece of infor
> `optional` **id**: \`$\{string\}-$\{string\}-$\{string\}-$\{string\}-$\{string\}\`
+Optional unique identifier
+
#### Defined in
-[packages/core/src/types.ts:169](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L169)
+[packages/core/src/types.ts:306](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L306)
----
+***
### userId
> **userId**: \`$\{string\}-$\{string\}-$\{string\}-$\{string\}-$\{string\}\`
+Associated user ID
+
#### Defined in
-[packages/core/src/types.ts:170](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L170)
+[packages/core/src/types.ts:309](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L309)
----
+***
### agentId
> **agentId**: \`$\{string\}-$\{string\}-$\{string\}-$\{string\}-$\{string\}\`
+Associated agent ID
+
#### Defined in
-[packages/core/src/types.ts:171](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L171)
+[packages/core/src/types.ts:312](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L312)
----
+***
### createdAt?
> `optional` **createdAt**: `number`
+Optional creation timestamp
+
#### Defined in
-[packages/core/src/types.ts:172](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L172)
+[packages/core/src/types.ts:315](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L315)
----
+***
### content
> **content**: [`Content`](Content.md)
+Memory content
+
#### Defined in
-[packages/core/src/types.ts:173](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L173)
+[packages/core/src/types.ts:318](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L318)
----
+***
### embedding?
> `optional` **embedding**: `number`[]
+Optional embedding vector
+
#### Defined in
-[packages/core/src/types.ts:174](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L174)
+[packages/core/src/types.ts:321](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L321)
----
+***
### roomId
> **roomId**: \`$\{string\}-$\{string\}-$\{string\}-$\{string\}-$\{string\}\`
+Associated room ID
+
#### Defined in
-[packages/core/src/types.ts:175](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L175)
+[packages/core/src/types.ts:324](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L324)
----
+***
### unique?
> `optional` **unique**: `boolean`
+Whether memory is unique
+
+#### Defined in
+
+[packages/core/src/types.ts:327](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L327)
+
+***
+
+### similarity?
+
+> `optional` **similarity**: `number`
+
+Embedding similarity score
+
#### Defined in
-[packages/core/src/types.ts:176](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L176)
+[packages/core/src/types.ts:330](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L330)
diff --git a/docs/api/interfaces/MessageExample.md b/docs/api/interfaces/MessageExample.md
index dbc07ae96c1..afe398351d3 100644
--- a/docs/api/interfaces/MessageExample.md
+++ b/docs/api/interfaces/MessageExample.md
@@ -1,8 +1,8 @@
-[@ai16z/eliza v1.0.0](../index.md) / MessageExample
+[@ai16z/eliza v0.1.4-alpha.3](../index.md) / MessageExample
# Interface: MessageExample
-Represents an example of a message, typically used for demonstrating or testing purposes, including optional content and action.
+Example message for demonstration
## Properties
@@ -10,16 +10,20 @@ Represents an example of a message, typically used for demonstrating or testing
> **user**: `string`
+Associated user
+
#### Defined in
-[packages/core/src/types.ts:183](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L183)
+[packages/core/src/types.ts:338](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L338)
----
+***
### content
> **content**: [`Content`](Content.md)
+Message content
+
#### Defined in
-[packages/core/src/types.ts:184](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L184)
+[packages/core/src/types.ts:341](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L341)
diff --git a/docs/api/interfaces/Objective.md b/docs/api/interfaces/Objective.md
index 4a9c5854f71..762460479b1 100644
--- a/docs/api/interfaces/Objective.md
+++ b/docs/api/interfaces/Objective.md
@@ -1,8 +1,8 @@
-[@ai16z/eliza v1.0.0](../index.md) / Objective
+[@ai16z/eliza v0.1.4-alpha.3](../index.md) / Objective
# Interface: Objective
-Represents an objective within a goal, detailing what needs to be achieved and whether it has been completed.
+Represents a single objective within a goal
## Properties
@@ -10,26 +10,32 @@ Represents an objective within a goal, detailing what needs to be achieved and w
> `optional` **id**: `string`
+Optional unique identifier
+
#### Defined in
-[packages/core/src/types.ts:51](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L51)
+[packages/core/src/types.ts:87](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L87)
----
+***
### description
> **description**: `string`
+Description of what needs to be achieved
+
#### Defined in
-[packages/core/src/types.ts:52](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L52)
+[packages/core/src/types.ts:90](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L90)
----
+***
### completed
> **completed**: `boolean`
+Whether objective is completed
+
#### Defined in
-[packages/core/src/types.ts:53](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L53)
+[packages/core/src/types.ts:93](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L93)
diff --git a/docs/api/interfaces/Participant.md b/docs/api/interfaces/Participant.md
index 74b1096c000..c6a46e84c09 100644
--- a/docs/api/interfaces/Participant.md
+++ b/docs/api/interfaces/Participant.md
@@ -1,8 +1,8 @@
-[@ai16z/eliza v1.0.0](../index.md) / Participant
+[@ai16z/eliza v0.1.4-alpha.3](../index.md) / Participant
# Interface: Participant
-Represents a participant in a room, including their ID and account details.
+Room participant with account details
## Properties
@@ -10,16 +10,20 @@ Represents a participant in a room, including their ID and account details.
> **id**: \`$\{string\}-$\{string\}-$\{string\}-$\{string\}-$\{string\}\`
+Unique identifier
+
#### Defined in
-[packages/core/src/types.ts:287](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L287)
+[packages/core/src/types.ts:501](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L501)
----
+***
### account
> **account**: [`Account`](Account.md)
+Associated account
+
#### Defined in
-[packages/core/src/types.ts:288](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L288)
+[packages/core/src/types.ts:504](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L504)
diff --git a/docs/api/interfaces/Provider.md b/docs/api/interfaces/Provider.md
index 489806151cb..b02a1220fd6 100644
--- a/docs/api/interfaces/Provider.md
+++ b/docs/api/interfaces/Provider.md
@@ -1,8 +1,8 @@
-[@ai16z/eliza v1.0.0](../index.md) / Provider
+[@ai16z/eliza v0.1.4-alpha.3](../index.md) / Provider
# Interface: Provider
-Represents a provider, which is used to retrieve information or perform actions on behalf of the agent, such as fetching data from an external API or service.
+Provider for external data/services
## Properties
@@ -10,6 +10,8 @@ Represents a provider, which is used to retrieve information or perform actions
> **get**: (`runtime`, `message`, `state`?) => `Promise`\<`any`\>
+Data retrieval function
+
#### Parameters
• **runtime**: [`IAgentRuntime`](IAgentRuntime.md)
@@ -24,4 +26,4 @@ Represents a provider, which is used to retrieve information or perform actions
#### Defined in
-[packages/core/src/types.ts:251](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L251)
+[packages/core/src/types.ts:440](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L440)
diff --git a/docs/api/interfaces/Relationship.md b/docs/api/interfaces/Relationship.md
index 9dbafcb2fc5..a131746e99e 100644
--- a/docs/api/interfaces/Relationship.md
+++ b/docs/api/interfaces/Relationship.md
@@ -1,8 +1,8 @@
-[@ai16z/eliza v1.0.0](../index.md) / Relationship
+[@ai16z/eliza v0.1.4-alpha.3](../index.md) / Relationship
# Interface: Relationship
-Represents a relationship between two users, including their IDs, the status of the relationship, and the room ID in which the relationship is established.
+Represents a relationship between users
## Properties
@@ -10,66 +10,80 @@ Represents a relationship between two users, including their IDs, the status of
> **id**: \`$\{string\}-$\{string\}-$\{string\}-$\{string\}-$\{string\}\`
+Unique identifier
+
#### Defined in
-[packages/core/src/types.ts:262](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L262)
+[packages/core/src/types.ts:452](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L452)
----
+***
### userA
> **userA**: \`$\{string\}-$\{string\}-$\{string\}-$\{string\}-$\{string\}\`
+First user ID
+
#### Defined in
-[packages/core/src/types.ts:263](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L263)
+[packages/core/src/types.ts:455](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L455)
----
+***
### userB
> **userB**: \`$\{string\}-$\{string\}-$\{string\}-$\{string\}-$\{string\}\`
+Second user ID
+
#### Defined in
-[packages/core/src/types.ts:264](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L264)
+[packages/core/src/types.ts:458](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L458)
----
+***
### userId
> **userId**: \`$\{string\}-$\{string\}-$\{string\}-$\{string\}-$\{string\}\`
+Primary user ID
+
#### Defined in
-[packages/core/src/types.ts:265](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L265)
+[packages/core/src/types.ts:461](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L461)
----
+***
### roomId
> **roomId**: \`$\{string\}-$\{string\}-$\{string\}-$\{string\}-$\{string\}\`
+Associated room ID
+
#### Defined in
-[packages/core/src/types.ts:266](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L266)
+[packages/core/src/types.ts:464](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L464)
----
+***
### status
> **status**: `string`
+Relationship status
+
#### Defined in
-[packages/core/src/types.ts:267](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L267)
+[packages/core/src/types.ts:467](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L467)
----
+***
### createdAt?
> `optional` **createdAt**: `string`
+Optional creation timestamp
+
#### Defined in
-[packages/core/src/types.ts:268](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L268)
+[packages/core/src/types.ts:470](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L470)
diff --git a/docs/api/interfaces/Room.md b/docs/api/interfaces/Room.md
index ab9ce15c57a..c6765fe4153 100644
--- a/docs/api/interfaces/Room.md
+++ b/docs/api/interfaces/Room.md
@@ -1,8 +1,8 @@
-[@ai16z/eliza v1.0.0](../index.md) / Room
+[@ai16z/eliza v0.1.4-alpha.3](../index.md) / Room
# Interface: Room
-Represents a room or conversation context, including its ID and a list of participants.
+Represents a conversation room
## Properties
@@ -10,16 +10,20 @@ Represents a room or conversation context, including its ID and a list of partic
> **id**: \`$\{string\}-$\{string\}-$\{string\}-$\{string\}-$\{string\}\`
+Unique identifier
+
#### Defined in
-[packages/core/src/types.ts:295](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L295)
+[packages/core/src/types.ts:512](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L512)
----
+***
### participants
> **participants**: [`Participant`](Participant.md)[]
+Room participants
+
#### Defined in
-[packages/core/src/types.ts:296](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L296)
+[packages/core/src/types.ts:515](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L515)
diff --git a/docs/api/interfaces/State.md b/docs/api/interfaces/State.md
index 6897899d263..bb14f33d568 100644
--- a/docs/api/interfaces/State.md
+++ b/docs/api/interfaces/State.md
@@ -1,12 +1,12 @@
-[@ai16z/eliza v1.0.0](../index.md) / State
+[@ai16z/eliza v0.1.4-alpha.3](../index.md) / State
# Interface: State
-Represents the state of the conversation or context in which the agent is operating, including information about users, messages, goals, and other relevant data.
+Represents the current state/context of a conversation
## Indexable
-\[`key`: `string`\]: `unknown`
+ \[`key`: `string`\]: `unknown`
## Properties
@@ -14,226 +14,284 @@ Represents the state of the conversation or context in which the agent is operat
> `optional` **userId**: \`$\{string\}-$\{string\}-$\{string\}-$\{string\}-$\{string\}\`
+ID of user who sent current message
+
#### Defined in
-[packages/core/src/types.ts:139](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L139)
+[packages/core/src/types.ts:226](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L226)
----
+***
### agentId?
> `optional` **agentId**: \`$\{string\}-$\{string\}-$\{string\}-$\{string\}-$\{string\}\`
+ID of agent in conversation
+
#### Defined in
-[packages/core/src/types.ts:140](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L140)
+[packages/core/src/types.ts:229](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L229)
----
+***
### bio
> **bio**: `string`
+Agent's biography
+
#### Defined in
-[packages/core/src/types.ts:141](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L141)
+[packages/core/src/types.ts:232](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L232)
----
+***
### lore
> **lore**: `string`
+Agent's background lore
+
#### Defined in
-[packages/core/src/types.ts:142](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L142)
+[packages/core/src/types.ts:235](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L235)
----
+***
### messageDirections
> **messageDirections**: `string`
+Message handling directions
+
#### Defined in
-[packages/core/src/types.ts:143](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L143)
+[packages/core/src/types.ts:238](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L238)
----
+***
### postDirections
> **postDirections**: `string`
+Post handling directions
+
#### Defined in
-[packages/core/src/types.ts:144](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L144)
+[packages/core/src/types.ts:241](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L241)
----
+***
### roomId
> **roomId**: \`$\{string\}-$\{string\}-$\{string\}-$\{string\}-$\{string\}\`
+Current room/conversation ID
+
#### Defined in
-[packages/core/src/types.ts:145](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L145)
+[packages/core/src/types.ts:244](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L244)
----
+***
### agentName?
> `optional` **agentName**: `string`
+Optional agent name
+
#### Defined in
-[packages/core/src/types.ts:146](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L146)
+[packages/core/src/types.ts:247](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L247)
----
+***
### senderName?
> `optional` **senderName**: `string`
+Optional message sender name
+
#### Defined in
-[packages/core/src/types.ts:147](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L147)
+[packages/core/src/types.ts:250](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L250)
----
+***
### actors
> **actors**: `string`
+String representation of conversation actors
+
#### Defined in
-[packages/core/src/types.ts:148](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L148)
+[packages/core/src/types.ts:253](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L253)
----
+***
### actorsData?
> `optional` **actorsData**: [`Actor`](Actor.md)[]
+Optional array of actor objects
+
#### Defined in
-[packages/core/src/types.ts:149](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L149)
+[packages/core/src/types.ts:256](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L256)
----
+***
### goals?
> `optional` **goals**: `string`
+Optional string representation of goals
+
#### Defined in
-[packages/core/src/types.ts:150](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L150)
+[packages/core/src/types.ts:259](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L259)
----
+***
### goalsData?
> `optional` **goalsData**: [`Goal`](Goal.md)[]
+Optional array of goal objects
+
#### Defined in
-[packages/core/src/types.ts:151](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L151)
+[packages/core/src/types.ts:262](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L262)
----
+***
### recentMessages
> **recentMessages**: `string`
+Recent message history as string
+
#### Defined in
-[packages/core/src/types.ts:152](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L152)
+[packages/core/src/types.ts:265](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L265)
----
+***
### recentMessagesData
> **recentMessagesData**: [`Memory`](Memory.md)[]
+Recent message objects
+
#### Defined in
-[packages/core/src/types.ts:153](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L153)
+[packages/core/src/types.ts:268](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L268)
----
+***
### actionNames?
> `optional` **actionNames**: `string`
+Optional valid action names
+
#### Defined in
-[packages/core/src/types.ts:154](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L154)
+[packages/core/src/types.ts:271](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L271)
----
+***
### actions?
> `optional` **actions**: `string`
+Optional action descriptions
+
#### Defined in
-[packages/core/src/types.ts:155](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L155)
+[packages/core/src/types.ts:274](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L274)
----
+***
### actionsData?
> `optional` **actionsData**: [`Action`](Action.md)[]
+Optional action objects
+
#### Defined in
-[packages/core/src/types.ts:156](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L156)
+[packages/core/src/types.ts:277](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L277)
----
+***
### actionExamples?
> `optional` **actionExamples**: `string`
+Optional action examples
+
#### Defined in
-[packages/core/src/types.ts:157](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L157)
+[packages/core/src/types.ts:280](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L280)
----
+***
### providers?
> `optional` **providers**: `string`
+Optional provider descriptions
+
#### Defined in
-[packages/core/src/types.ts:158](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L158)
+[packages/core/src/types.ts:283](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L283)
----
+***
### responseData?
> `optional` **responseData**: [`Content`](Content.md)
+Optional response content
+
#### Defined in
-[packages/core/src/types.ts:159](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L159)
+[packages/core/src/types.ts:286](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L286)
----
+***
### recentInteractionsData?
> `optional` **recentInteractionsData**: [`Memory`](Memory.md)[]
+Optional recent interaction objects
+
#### Defined in
-[packages/core/src/types.ts:160](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L160)
+[packages/core/src/types.ts:289](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L289)
----
+***
### recentInteractions?
> `optional` **recentInteractions**: `string`
+Optional recent interactions string
+
+#### Defined in
+
+[packages/core/src/types.ts:292](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L292)
+
+***
+
+### formattedConversation?
+
+> `optional` **formattedConversation**: `string`
+
+Optional formatted conversation
+
#### Defined in
-[packages/core/src/types.ts:161](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L161)
+[packages/core/src/types.ts:295](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L295)
diff --git a/docs/api/type-aliases/CacheOptions.md b/docs/api/type-aliases/CacheOptions.md
new file mode 100644
index 00000000000..ac89f39ed77
--- /dev/null
+++ b/docs/api/type-aliases/CacheOptions.md
@@ -0,0 +1,15 @@
+[@ai16z/eliza v0.1.4-alpha.3](../index.md) / CacheOptions
+
+# Type Alias: CacheOptions
+
+> **CacheOptions**: `object`
+
+## Type declaration
+
+### expires?
+
+> `optional` **expires**: `number`
+
+## Defined in
+
+[packages/core/src/types.ts:903](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L903)
diff --git a/docs/api/type-aliases/Character.md b/docs/api/type-aliases/Character.md
index 508aefc3a30..7980ea25114 100644
--- a/docs/api/type-aliases/Character.md
+++ b/docs/api/type-aliases/Character.md
@@ -1,90 +1,188 @@
-[@ai16z/eliza v1.0.0](../index.md) / Character
+[@ai16z/eliza v0.1.4-alpha.3](../index.md) / Character
# Type Alias: Character
> **Character**: `object`
+Configuration for an agent character
+
## Type declaration
### id?
> `optional` **id**: [`UUID`](UUID.md)
+Optional unique identifier
+
### name
> **name**: `string`
+Character name
+
+### username?
+
+> `optional` **username**: `string`
+
+Optional username
+
### system?
> `optional` **system**: `string`
+Optional system prompt
+
### modelProvider
> **modelProvider**: [`ModelProviderName`](../enumerations/ModelProviderName.md)
+Model provider to use
+
### modelEndpointOverride?
> `optional` **modelEndpointOverride**: `string`
+Optional model endpoint override
+
### templates?
> `optional` **templates**: `object`
-#### Index Signature
+Optional prompt templates
+
+### templates.goalsTemplate?
+
+> `optional` **goalsTemplate**: `string`
+
+### templates.factsTemplate?
+
+> `optional` **factsTemplate**: `string`
+
+### templates.messageHandlerTemplate?
+
+> `optional` **messageHandlerTemplate**: `string`
+
+### templates.shouldRespondTemplate?
+
+> `optional` **shouldRespondTemplate**: `string`
+
+### templates.continueMessageHandlerTemplate?
+
+> `optional` **continueMessageHandlerTemplate**: `string`
+
+### templates.evaluationTemplate?
+
+> `optional` **evaluationTemplate**: `string`
+
+### templates.twitterSearchTemplate?
+
+> `optional` **twitterSearchTemplate**: `string`
+
+### templates.twitterPostTemplate?
+
+> `optional` **twitterPostTemplate**: `string`
+
+### templates.twitterMessageHandlerTemplate?
+
+> `optional` **twitterMessageHandlerTemplate**: `string`
+
+### templates.twitterShouldRespondTemplate?
+
+> `optional` **twitterShouldRespondTemplate**: `string`
+
+### templates.telegramMessageHandlerTemplate?
+
+> `optional` **telegramMessageHandlerTemplate**: `string`
+
+### templates.telegramShouldRespondTemplate?
-\[`key`: `string`\]: `string`
+> `optional` **telegramShouldRespondTemplate**: `string`
+
+### templates.discordVoiceHandlerTemplate?
+
+> `optional` **discordVoiceHandlerTemplate**: `string`
+
+### templates.discordShouldRespondTemplate?
+
+> `optional` **discordShouldRespondTemplate**: `string`
+
+### templates.discordMessageHandlerTemplate?
+
+> `optional` **discordMessageHandlerTemplate**: `string`
### bio
> **bio**: `string` \| `string`[]
+Character biography
+
### lore
> **lore**: `string`[]
+Character background lore
+
### messageExamples
> **messageExamples**: [`MessageExample`](../interfaces/MessageExample.md)[][]
+Example messages
+
### postExamples
> **postExamples**: `string`[]
+Example posts
+
### people
> **people**: `string`[]
+Known people
+
### topics
> **topics**: `string`[]
+Known topics
+
### adjectives
> **adjectives**: `string`[]
+Character traits
+
### knowledge?
> `optional` **knowledge**: `string`[]
+Optional knowledge base
+
### clients
> **clients**: [`Clients`](../enumerations/Clients.md)[]
+Supported client platforms
+
### plugins
> **plugins**: [`Plugin`](Plugin.md)[]
+Available plugins
+
### settings?
> `optional` **settings**: `object`
+Optional configuration
+
### settings.secrets?
> `optional` **secrets**: `object`
#### Index Signature
-\[`key`: `string`\]: `string`
+ \[`key`: `string`\]: `string`
### settings.voice?
@@ -110,6 +208,8 @@
> `optional` **clientConfig**: `object`
+Optional client-specific config
+
### clientConfig.discord?
> `optional` **discord**: `object`
@@ -138,6 +238,8 @@
> **style**: `object`
+Writing style guides
+
### style.all
> **all**: `string`[]
@@ -150,6 +252,32 @@
> **post**: `string`[]
+### twitterProfile?
+
+> `optional` **twitterProfile**: `object`
+
+Optional Twitter profile
+
+### twitterProfile.id
+
+> **id**: `string`
+
+### twitterProfile.username
+
+> **username**: `string`
+
+### twitterProfile.screenName
+
+> **screenName**: `string`
+
+### twitterProfile.bio
+
+> **bio**: `string`
+
+### twitterProfile.nicknames?
+
+> `optional` **nicknames**: `string`[]
+
## Defined in
-[packages/core/src/types.ts:329](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L329)
+[packages/core/src/types.ts:590](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L590)
diff --git a/docs/api/type-aliases/CharacterConfig.md b/docs/api/type-aliases/CharacterConfig.md
new file mode 100644
index 00000000000..1086397f9d1
--- /dev/null
+++ b/docs/api/type-aliases/CharacterConfig.md
@@ -0,0 +1,11 @@
+[@ai16z/eliza v0.1.4-alpha.3](../index.md) / CharacterConfig
+
+# Type Alias: CharacterConfig
+
+> **CharacterConfig**: `z.infer`\<*typeof* [`CharacterSchema`](../variables/CharacterSchema.md)\>
+
+Type inference
+
+## Defined in
+
+[packages/core/src/enviroment.ts:128](https://github.com/ai16z/eliza/blob/main/packages/core/src/enviroment.ts#L128)
diff --git a/docs/api/type-aliases/Client.md b/docs/api/type-aliases/Client.md
index 879d6f28ff3..145d92abaf5 100644
--- a/docs/api/type-aliases/Client.md
+++ b/docs/api/type-aliases/Client.md
@@ -1,15 +1,19 @@
-[@ai16z/eliza v1.0.0](../index.md) / Client
+[@ai16z/eliza v0.1.4-alpha.3](../index.md) / Client
# Type Alias: Client
> **Client**: `object`
+Client interface for platform connections
+
## Type declaration
### start()
> **start**: (`runtime`?) => `Promise`\<`unknown`\>
+Start client connection
+
#### Parameters
• **runtime?**: [`IAgentRuntime`](../interfaces/IAgentRuntime.md)
@@ -22,6 +26,8 @@
> **stop**: (`runtime`?) => `Promise`\<`unknown`\>
+Stop client connection
+
#### Parameters
• **runtime?**: [`IAgentRuntime`](../interfaces/IAgentRuntime.md)
@@ -32,4 +38,4 @@
## Defined in
-[packages/core/src/types.ts:308](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L308)
+[packages/core/src/types.ts:544](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L544)
diff --git a/docs/api/type-aliases/EnvConfig.md b/docs/api/type-aliases/EnvConfig.md
new file mode 100644
index 00000000000..8a0bd585a76
--- /dev/null
+++ b/docs/api/type-aliases/EnvConfig.md
@@ -0,0 +1,11 @@
+[@ai16z/eliza v0.1.4-alpha.3](../index.md) / EnvConfig
+
+# Type Alias: EnvConfig
+
+> **EnvConfig**: `z.infer`\<*typeof* [`envSchema`](../variables/envSchema.md)\>
+
+Type inference
+
+## Defined in
+
+[packages/core/src/enviroment.ts:23](https://github.com/ai16z/eliza/blob/main/packages/core/src/enviroment.ts#L23)
diff --git a/docs/api/type-aliases/Handler.md b/docs/api/type-aliases/Handler.md
index 8ffed758e95..72216585fcc 100644
--- a/docs/api/type-aliases/Handler.md
+++ b/docs/api/type-aliases/Handler.md
@@ -1,10 +1,10 @@
-[@ai16z/eliza v1.0.0](../index.md) / Handler
+[@ai16z/eliza v0.1.4-alpha.3](../index.md) / Handler
# Type Alias: Handler()
> **Handler**: (`runtime`, `message`, `state`?, `options`?, `callback`?) => `Promise`\<`unknown`\>
-Represents the type of a handler function, which takes a runtime instance, a message, and an optional state, and returns a promise resolving to any type.
+Handler function type for processing messages
## Parameters
@@ -24,4 +24,4 @@ Represents the type of a handler function, which takes a runtime instance, a mes
## Defined in
-[packages/core/src/types.ts:190](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L190)
+[packages/core/src/types.ts:347](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L347)
diff --git a/docs/api/type-aliases/HandlerCallback.md b/docs/api/type-aliases/HandlerCallback.md
index a87d3bc1492..4976d2ea797 100644
--- a/docs/api/type-aliases/HandlerCallback.md
+++ b/docs/api/type-aliases/HandlerCallback.md
@@ -1,9 +1,11 @@
-[@ai16z/eliza v1.0.0](../index.md) / HandlerCallback
+[@ai16z/eliza v0.1.4-alpha.3](../index.md) / HandlerCallback
# Type Alias: HandlerCallback()
> **HandlerCallback**: (`response`, `files`?) => `Promise`\<[`Memory`](../interfaces/Memory.md)[]\>
+Callback function type for handlers
+
## Parameters
• **response**: [`Content`](../interfaces/Content.md)
@@ -16,4 +18,4 @@
## Defined in
-[packages/core/src/types.ts:199](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L199)
+[packages/core/src/types.ts:358](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L358)
diff --git a/docs/api/type-aliases/KnowledgeItem.md b/docs/api/type-aliases/KnowledgeItem.md
new file mode 100644
index 00000000000..3df648ca292
--- /dev/null
+++ b/docs/api/type-aliases/KnowledgeItem.md
@@ -0,0 +1,19 @@
+[@ai16z/eliza v0.1.4-alpha.3](../index.md) / KnowledgeItem
+
+# Type Alias: KnowledgeItem
+
+> **KnowledgeItem**: `object`
+
+## Type declaration
+
+### id
+
+> **id**: [`UUID`](UUID.md)
+
+### content
+
+> **content**: [`Content`](../interfaces/Content.md)
+
+## Defined in
+
+[packages/core/src/types.ts:1094](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L1094)
diff --git a/docs/api/type-aliases/Media.md b/docs/api/type-aliases/Media.md
index 93ee9f6be99..8ae70e81c50 100644
--- a/docs/api/type-aliases/Media.md
+++ b/docs/api/type-aliases/Media.md
@@ -1,35 +1,49 @@
-[@ai16z/eliza v1.0.0](../index.md) / Media
+[@ai16z/eliza v0.1.4-alpha.3](../index.md) / Media
# Type Alias: Media
> **Media**: `object`
+Represents a media attachment
+
## Type declaration
### id
> **id**: `string`
+Unique identifier
+
### url
> **url**: `string`
+Media URL
+
### title
> **title**: `string`
+Media title
+
### source
> **source**: `string`
+Media source
+
### description
> **description**: `string`
+Media description
+
### text
> **text**: `string`
+Text content
+
## Defined in
-[packages/core/src/types.ts:299](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L299)
+[packages/core/src/types.ts:521](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L521)
diff --git a/docs/api/type-aliases/Model.md b/docs/api/type-aliases/Model.md
index 4d5a45b9d59..902f2de593e 100644
--- a/docs/api/type-aliases/Model.md
+++ b/docs/api/type-aliases/Model.md
@@ -1,51 +1,73 @@
-[@ai16z/eliza v1.0.0](../index.md) / Model
+[@ai16z/eliza v0.1.4-alpha.3](../index.md) / Model
# Type Alias: Model
> **Model**: `object`
+Configuration for an AI model
+
## Type declaration
### endpoint?
> `optional` **endpoint**: `string`
+Optional API endpoint
+
### settings
> **settings**: `object`
+Model settings
+
### settings.maxInputTokens
> **maxInputTokens**: `number`
+Maximum input tokens
+
### settings.maxOutputTokens
> **maxOutputTokens**: `number`
-### settings.frequency_penalty?
+Maximum output tokens
+
+### settings.frequency\_penalty?
+
+> `optional` **frequency\_penalty**: `number`
-> `optional` **frequency_penalty**: `number`
+Optional frequency penalty
-### settings.presence_penalty?
+### settings.presence\_penalty?
-> `optional` **presence_penalty**: `number`
+> `optional` **presence\_penalty**: `number`
-### settings.repetition_penalty?
+Optional presence penalty
-> `optional` **repetition_penalty**: `number`
+### settings.repetition\_penalty?
+
+> `optional` **repetition\_penalty**: `number`
+
+Optional repetition penalty
### settings.stop
> **stop**: `string`[]
+Stop sequences
+
### settings.temperature
> **temperature**: `number`
+Temperature setting
+
### imageSettings?
> `optional` **imageSettings**: `object`
+Optional image generation settings
+
### imageSettings.steps?
> `optional` **steps**: `number`
@@ -54,6 +76,8 @@
> **model**: `object`
+Model names by size class
+
### model.small
> **small**: `string`
@@ -76,4 +100,4 @@
## Defined in
-[packages/core/src/types.ts:82](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L82)
+[packages/core/src/types.ts:142](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L142)
diff --git a/docs/api/type-aliases/Models.md b/docs/api/type-aliases/Models.md
index ded8014918d..34f2e5a836b 100644
--- a/docs/api/type-aliases/Models.md
+++ b/docs/api/type-aliases/Models.md
@@ -1,9 +1,11 @@
-[@ai16z/eliza v1.0.0](../index.md) / Models
+[@ai16z/eliza v0.1.4-alpha.3](../index.md) / Models
# Type Alias: Models
> **Models**: `object`
+Model configurations by provider
+
## Type declaration
### openai
@@ -22,21 +24,21 @@
> **groq**: [`Model`](Model.md)
-### llama_cloud
+### llama\_cloud
-> **llama_cloud**: [`Model`](Model.md)
+> **llama\_cloud**: [`Model`](Model.md)
-### llama_local
+### llama\_local
-> **llama_local**: [`Model`](Model.md)
+> **llama\_local**: [`Model`](Model.md)
### google
> **google**: [`Model`](Model.md)
-### claude_vertex
+### claude\_vertex
-> **claude_vertex**: [`Model`](Model.md)
+> **claude\_vertex**: [`Model`](Model.md)
### redpill
@@ -56,4 +58,4 @@
## Defined in
-[packages/core/src/types.ts:105](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L105)
+[packages/core/src/types.ts:188](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L188)
diff --git a/docs/api/type-aliases/Plugin.md b/docs/api/type-aliases/Plugin.md
index 899286442d9..2421b866b97 100644
--- a/docs/api/type-aliases/Plugin.md
+++ b/docs/api/type-aliases/Plugin.md
@@ -1,35 +1,55 @@
-[@ai16z/eliza v1.0.0](../index.md) / Plugin
+[@ai16z/eliza v0.1.4-alpha.3](../index.md) / Plugin
# Type Alias: Plugin
> **Plugin**: `object`
+Plugin for extending agent functionality
+
## Type declaration
### name
> **name**: `string`
+Plugin name
+
### description
> **description**: `string`
+Plugin description
+
### actions?
> `optional` **actions**: [`Action`](../interfaces/Action.md)[]
+Optional actions
+
### providers?
> `optional` **providers**: [`Provider`](../interfaces/Provider.md)[]
+Optional providers
+
### evaluators?
> `optional` **evaluators**: [`Evaluator`](../interfaces/Evaluator.md)[]
+Optional evaluators
+
### services?
> `optional` **services**: [`Service`](../classes/Service.md)[]
+Optional services
+
+### clients?
+
+> `optional` **clients**: [`Client`](Client.md)[]
+
+Optional clients
+
## Defined in
-[packages/core/src/types.ts:313](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L313)
+[packages/core/src/types.ts:555](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L555)
diff --git a/docs/api/type-aliases/UUID.md b/docs/api/type-aliases/UUID.md
index fc00d270217..207b73f0e90 100644
--- a/docs/api/type-aliases/UUID.md
+++ b/docs/api/type-aliases/UUID.md
@@ -1,10 +1,10 @@
-[@ai16z/eliza v1.0.0](../index.md) / UUID
+[@ai16z/eliza v0.1.4-alpha.3](../index.md) / UUID
# Type Alias: UUID
> **UUID**: \`$\{string\}-$\{string\}-$\{string\}-$\{string\}-$\{string\}\`
-Represents a UUID, which is a universally unique identifier conforming to the UUID standard.
+Represents a UUID string in the format "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
## Defined in
diff --git a/docs/api/type-aliases/Validator.md b/docs/api/type-aliases/Validator.md
index fd501b16b49..150d8733a2b 100644
--- a/docs/api/type-aliases/Validator.md
+++ b/docs/api/type-aliases/Validator.md
@@ -1,10 +1,10 @@
-[@ai16z/eliza v1.0.0](../index.md) / Validator
+[@ai16z/eliza v0.1.4-alpha.3](../index.md) / Validator
# Type Alias: Validator()
> **Validator**: (`runtime`, `message`, `state`?) => `Promise`\<`boolean`\>
-Represents the type of a validator function, which takes a runtime instance, a message, and an optional state, and returns a promise resolving to a boolean indicating whether the validation passed.
+Validator function type for actions/evaluators
## Parameters
@@ -20,4 +20,4 @@ Represents the type of a validator function, which takes a runtime instance, a m
## Defined in
-[packages/core/src/types.ts:207](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L207)
+[packages/core/src/types.ts:366](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L366)
diff --git a/docs/api/typedoc-sidebar.cjs b/docs/api/typedoc-sidebar.cjs
index cb7e9697647..ff564b9dac9 100644
--- a/docs/api/typedoc-sidebar.cjs
+++ b/docs/api/typedoc-sidebar.cjs
@@ -1,352 +1,4 @@
// @ts-check
/** @type {import('@docusaurus/plugin-content-docs').SidebarsConfig} */
-const typedocSidebar = {
- items: [
- {
- type: "category",
- label: "Enumerations",
- items: [
- { type: "doc", id: "enumerations/GoalStatus", label: "GoalStatus" },
- { type: "doc", id: "enumerations/ModelClass", label: "ModelClass" },
- {
- type: "doc",
- id: "enumerations/ModelProviderName",
- label: "ModelProviderName",
- },
- { type: "doc", id: "enumerations/Clients", label: "Clients" },
- { type: "doc", id: "enumerations/ServiceType", label: "ServiceType" },
- ],
- },
- {
- type: "category",
- label: "Classes",
- items: [
- {
- type: "doc",
- id: "classes/DatabaseAdapter",
- label: "DatabaseAdapter",
- },
- { type: "doc", id: "classes/MemoryManager", label: "MemoryManager" },
- { type: "doc", id: "classes/AgentRuntime", label: "AgentRuntime" },
- { type: "doc", id: "classes/Service", label: "Service" },
- ],
- },
- {
- type: "category",
- label: "Interfaces",
- items: [
- {
- type: "doc",
- id: "interfaces/GenerationOptions",
- label: "GenerationOptions",
- },
- { type: "doc", id: "interfaces/Content", label: "Content" },
- { type: "doc", id: "interfaces/ActionExample", label: "ActionExample" },
- {
- type: "doc",
- id: "interfaces/ConversationExample",
- label: "ConversationExample",
- },
- { type: "doc", id: "interfaces/Actor", label: "Actor" },
- { type: "doc", id: "interfaces/Objective", label: "Objective" },
- { type: "doc", id: "interfaces/Goal", label: "Goal" },
- { type: "doc", id: "interfaces/State", label: "State" },
- { type: "doc", id: "interfaces/Memory", label: "Memory" },
- {
- type: "doc",
- id: "interfaces/MessageExample",
- label: "MessageExample",
- },
- { type: "doc", id: "interfaces/Action", label: "Action" },
- {
- type: "doc",
- id: "interfaces/EvaluationExample",
- label: "EvaluationExample",
- },
- { type: "doc", id: "interfaces/Evaluator", label: "Evaluator" },
- { type: "doc", id: "interfaces/Provider", label: "Provider" },
- { type: "doc", id: "interfaces/Relationship", label: "Relationship" },
- { type: "doc", id: "interfaces/Account", label: "Account" },
- { type: "doc", id: "interfaces/Participant", label: "Participant" },
- { type: "doc", id: "interfaces/Room", label: "Room" },
- {
- type: "doc",
- id: "interfaces/IDatabaseAdapter",
- label: "IDatabaseAdapter",
- },
- {
- type: "doc",
- id: "interfaces/IMemoryManager",
- label: "IMemoryManager",
- },
- { type: "doc", id: "interfaces/IAgentRuntime", label: "IAgentRuntime" },
- {
- type: "doc",
- id: "interfaces/IImageDescriptionService",
- label: "IImageDescriptionService",
- },
- {
- type: "doc",
- id: "interfaces/ITranscriptionService",
- label: "ITranscriptionService",
- },
- { type: "doc", id: "interfaces/IVideoService", label: "IVideoService" },
- {
- type: "doc",
- id: "interfaces/ITextGenerationService",
- label: "ITextGenerationService",
- },
- {
- type: "doc",
- id: "interfaces/IBrowserService",
- label: "IBrowserService",
- },
- {
- type: "doc",
- id: "interfaces/ISpeechService",
- label: "ISpeechService",
- },
- { type: "doc", id: "interfaces/IPdfService", label: "IPdfService" },
- ],
- },
- {
- type: "category",
- label: "Type Aliases",
- items: [
- { type: "doc", id: "type-aliases/UUID", label: "UUID" },
- { type: "doc", id: "type-aliases/Model", label: "Model" },
- { type: "doc", id: "type-aliases/Models", label: "Models" },
- { type: "doc", id: "type-aliases/Handler", label: "Handler" },
- {
- type: "doc",
- id: "type-aliases/HandlerCallback",
- label: "HandlerCallback",
- },
- { type: "doc", id: "type-aliases/Validator", label: "Validator" },
- { type: "doc", id: "type-aliases/Media", label: "Media" },
- { type: "doc", id: "type-aliases/Client", label: "Client" },
- { type: "doc", id: "type-aliases/Plugin", label: "Plugin" },
- { type: "doc", id: "type-aliases/Character", label: "Character" },
- ],
- },
- {
- type: "category",
- label: "Variables",
- items: [
- {
- type: "doc",
- id: "variables/defaultCharacter",
- label: "defaultCharacter",
- },
- {
- type: "doc",
- id: "variables/evaluationTemplate",
- label: "evaluationTemplate",
- },
- { type: "doc", id: "variables/elizaLogger", label: "elizaLogger" },
- {
- type: "doc",
- id: "variables/embeddingDimension",
- label: "embeddingDimension",
- },
- {
- type: "doc",
- id: "variables/embeddingZeroVector",
- label: "embeddingZeroVector",
- },
- { type: "doc", id: "variables/models", label: "models" },
- {
- type: "doc",
- id: "variables/messageCompletionFooter",
- label: "messageCompletionFooter",
- },
- {
- type: "doc",
- id: "variables/shouldRespondFooter",
- label: "shouldRespondFooter",
- },
- { type: "doc", id: "variables/booleanFooter", label: "booleanFooter" },
- {
- type: "doc",
- id: "variables/stringArrayFooter",
- label: "stringArrayFooter",
- },
- { type: "doc", id: "variables/settings", label: "settings" },
- ],
- },
- {
- type: "category",
- label: "Functions",
- items: [
- {
- type: "doc",
- id: "functions/composeActionExamples",
- label: "composeActionExamples",
- },
- {
- type: "doc",
- id: "functions/formatActionNames",
- label: "formatActionNames",
- },
- { type: "doc", id: "functions/formatActions", label: "formatActions" },
- {
- type: "doc",
- id: "functions/composeContext",
- label: "composeContext",
- },
- { type: "doc", id: "functions/addHeader", label: "addHeader" },
- { type: "doc", id: "functions/embed", label: "embed" },
- {
- type: "doc",
- id: "functions/retrieveCachedEmbedding",
- label: "retrieveCachedEmbedding",
- },
- {
- type: "doc",
- id: "functions/formatEvaluatorNames",
- label: "formatEvaluatorNames",
- },
- {
- type: "doc",
- id: "functions/formatEvaluators",
- label: "formatEvaluators",
- },
- {
- type: "doc",
- id: "functions/formatEvaluatorExamples",
- label: "formatEvaluatorExamples",
- },
- {
- type: "doc",
- id: "functions/formatEvaluatorExampleDescriptions",
- label: "formatEvaluatorExampleDescriptions",
- },
- { type: "doc", id: "functions/generateText", label: "generateText" },
- { type: "doc", id: "functions/trimTokens", label: "trimTokens" },
- {
- type: "doc",
- id: "functions/generateShouldRespond",
- label: "generateShouldRespond",
- },
- { type: "doc", id: "functions/splitChunks", label: "splitChunks" },
- {
- type: "doc",
- id: "functions/generateTrueOrFalse",
- label: "generateTrueOrFalse",
- },
- {
- type: "doc",
- id: "functions/generateTextArray",
- label: "generateTextArray",
- },
- {
- type: "doc",
- id: "functions/generateObject",
- label: "generateObject",
- },
- {
- type: "doc",
- id: "functions/generateObjectArray",
- label: "generateObjectArray",
- },
- {
- type: "doc",
- id: "functions/generateMessageResponse",
- label: "generateMessageResponse",
- },
- { type: "doc", id: "functions/generateImage", label: "generateImage" },
- {
- type: "doc",
- id: "functions/generateCaption",
- label: "generateCaption",
- },
- {
- type: "doc",
- id: "functions/generateObjectV2",
- label: "generateObjectV2",
- },
- {
- type: "doc",
- id: "functions/handleProvider",
- label: "handleProvider",
- },
- { type: "doc", id: "functions/getGoals", label: "getGoals" },
- {
- type: "doc",
- id: "functions/formatGoalsAsString",
- label: "formatGoalsAsString",
- },
- { type: "doc", id: "functions/updateGoal", label: "updateGoal" },
- { type: "doc", id: "functions/createGoal", label: "createGoal" },
- {
- type: "doc",
- id: "functions/getActorDetails",
- label: "getActorDetails",
- },
- { type: "doc", id: "functions/formatActors", label: "formatActors" },
- {
- type: "doc",
- id: "functions/formatMessages",
- label: "formatMessages",
- },
- {
- type: "doc",
- id: "functions/formatTimestamp",
- label: "formatTimestamp",
- },
- { type: "doc", id: "functions/getModel", label: "getModel" },
- { type: "doc", id: "functions/getEndpoint", label: "getEndpoint" },
- {
- type: "doc",
- id: "functions/parseShouldRespondFromText",
- label: "parseShouldRespondFromText",
- },
- {
- type: "doc",
- id: "functions/parseBooleanFromText",
- label: "parseBooleanFromText",
- },
- {
- type: "doc",
- id: "functions/parseJsonArrayFromText",
- label: "parseJsonArrayFromText",
- },
- {
- type: "doc",
- id: "functions/parseJSONObjectFromText",
- label: "parseJSONObjectFromText",
- },
- { type: "doc", id: "functions/formatPosts", label: "formatPosts" },
- { type: "doc", id: "functions/getProviders", label: "getProviders" },
- {
- type: "doc",
- id: "functions/createRelationship",
- label: "createRelationship",
- },
- {
- type: "doc",
- id: "functions/getRelationship",
- label: "getRelationship",
- },
- {
- type: "doc",
- id: "functions/getRelationships",
- label: "getRelationships",
- },
- {
- type: "doc",
- id: "functions/formatRelationships",
- label: "formatRelationships",
- },
- {
- type: "doc",
- id: "functions/findNearestEnvFile",
- label: "findNearestEnvFile",
- },
- { type: "doc", id: "functions/loadEnvConfig", label: "loadEnvConfig" },
- { type: "doc", id: "functions/stringToUuid", label: "stringToUuid" },
- ],
- },
- ],
-};
-module.exports = typedocSidebar.items;
+const typedocSidebar = { items: [{"type":"category","label":"Enumerations","items":[{"type":"doc","id":"enumerations/GoalStatus","label":"GoalStatus"},{"type":"doc","id":"enumerations/ModelClass","label":"ModelClass"},{"type":"doc","id":"enumerations/ModelProviderName","label":"ModelProviderName"},{"type":"doc","id":"enumerations/Clients","label":"Clients"},{"type":"doc","id":"enumerations/ServiceType","label":"ServiceType"},{"type":"doc","id":"enumerations/LoggingLevel","label":"LoggingLevel"}]},{"type":"category","label":"Classes","items":[{"type":"doc","id":"classes/MemoryCacheAdapter","label":"MemoryCacheAdapter"},{"type":"doc","id":"classes/FsCacheAdapter","label":"FsCacheAdapter"},{"type":"doc","id":"classes/DbCacheAdapter","label":"DbCacheAdapter"},{"type":"doc","id":"classes/CacheManager","label":"CacheManager"},{"type":"doc","id":"classes/DatabaseAdapter","label":"DatabaseAdapter"},{"type":"doc","id":"classes/MemoryManager","label":"MemoryManager"},{"type":"doc","id":"classes/AgentRuntime","label":"AgentRuntime"},{"type":"doc","id":"classes/Service","label":"Service"}]},{"type":"category","label":"Interfaces","items":[{"type":"doc","id":"interfaces/ICacheAdapter","label":"ICacheAdapter"},{"type":"doc","id":"interfaces/GenerationOptions","label":"GenerationOptions"},{"type":"doc","id":"interfaces/Content","label":"Content"},{"type":"doc","id":"interfaces/ActionExample","label":"ActionExample"},{"type":"doc","id":"interfaces/ConversationExample","label":"ConversationExample"},{"type":"doc","id":"interfaces/Actor","label":"Actor"},{"type":"doc","id":"interfaces/Objective","label":"Objective"},{"type":"doc","id":"interfaces/Goal","label":"Goal"},{"type":"doc","id":"interfaces/State","label":"State"},{"type":"doc","id":"interfaces/Memory","label":"Memory"},{"type":"doc","id":"interfaces/MessageExample","label":"MessageExample"},{"type":"doc","id":"interfaces/Action","label":"Action"},{"type":"doc","id":"interfaces/EvaluationExample","label":"EvaluationExample"},{"type":"doc","id":"interfaces/Evaluator","label":"Evaluator"},{"type":"doc","id":"interfaces/Provider","label":"Provider"},{"type":"doc","id":"interfaces/Relationship","label":"Relationship"},{"type":"doc","id":"interfaces/Account","label":"Account"},{"type":"doc","id":"interfaces/Participant","label":"Participant"},{"type":"doc","id":"interfaces/Room","label":"Room"},{"type":"doc","id":"interfaces/IDatabaseAdapter","label":"IDatabaseAdapter"},{"type":"doc","id":"interfaces/IDatabaseCacheAdapter","label":"IDatabaseCacheAdapter"},{"type":"doc","id":"interfaces/IMemoryManager","label":"IMemoryManager"},{"type":"doc","id":"interfaces/ICacheManager","label":"ICacheManager"},{"type":"doc","id":"interfaces/IAgentRuntime","label":"IAgentRuntime"},{"type":"doc","id":"interfaces/IImageDescriptionService","label":"IImageDescriptionService"},{"type":"doc","id":"interfaces/ITranscriptionService","label":"ITranscriptionService"},{"type":"doc","id":"interfaces/IVideoService","label":"IVideoService"},{"type":"doc","id":"interfaces/ITextGenerationService","label":"ITextGenerationService"},{"type":"doc","id":"interfaces/IBrowserService","label":"IBrowserService"},{"type":"doc","id":"interfaces/ISpeechService","label":"ISpeechService"},{"type":"doc","id":"interfaces/IPdfService","label":"IPdfService"}]},{"type":"category","label":"Type Aliases","items":[{"type":"doc","id":"type-aliases/EnvConfig","label":"EnvConfig"},{"type":"doc","id":"type-aliases/CharacterConfig","label":"CharacterConfig"},{"type":"doc","id":"type-aliases/UUID","label":"UUID"},{"type":"doc","id":"type-aliases/Model","label":"Model"},{"type":"doc","id":"type-aliases/Models","label":"Models"},{"type":"doc","id":"type-aliases/Handler","label":"Handler"},{"type":"doc","id":"type-aliases/HandlerCallback","label":"HandlerCallback"},{"type":"doc","id":"type-aliases/Validator","label":"Validator"},{"type":"doc","id":"type-aliases/Media","label":"Media"},{"type":"doc","id":"type-aliases/Client","label":"Client"},{"type":"doc","id":"type-aliases/Plugin","label":"Plugin"},{"type":"doc","id":"type-aliases/Character","label":"Character"},{"type":"doc","id":"type-aliases/CacheOptions","label":"CacheOptions"},{"type":"doc","id":"type-aliases/KnowledgeItem","label":"KnowledgeItem"}]},{"type":"category","label":"Variables","items":[{"type":"doc","id":"variables/defaultCharacter","label":"defaultCharacter"},{"type":"doc","id":"variables/envSchema","label":"envSchema"},{"type":"doc","id":"variables/CharacterSchema","label":"CharacterSchema"},{"type":"doc","id":"variables/evaluationTemplate","label":"evaluationTemplate"},{"type":"doc","id":"variables/knowledge","label":"knowledge"},{"type":"doc","id":"variables/elizaLogger","label":"elizaLogger"},{"type":"doc","id":"variables/embeddingDimension","label":"embeddingDimension"},{"type":"doc","id":"variables/embeddingZeroVector","label":"embeddingZeroVector"},{"type":"doc","id":"variables/models","label":"models"},{"type":"doc","id":"variables/messageCompletionFooter","label":"messageCompletionFooter"},{"type":"doc","id":"variables/shouldRespondFooter","label":"shouldRespondFooter"},{"type":"doc","id":"variables/booleanFooter","label":"booleanFooter"},{"type":"doc","id":"variables/stringArrayFooter","label":"stringArrayFooter"},{"type":"doc","id":"variables/settings","label":"settings"}]},{"type":"category","label":"Functions","items":[{"type":"doc","id":"functions/composeActionExamples","label":"composeActionExamples"},{"type":"doc","id":"functions/formatActionNames","label":"formatActionNames"},{"type":"doc","id":"functions/formatActions","label":"formatActions"},{"type":"doc","id":"functions/composeContext","label":"composeContext"},{"type":"doc","id":"functions/addHeader","label":"addHeader"},{"type":"doc","id":"functions/embed","label":"embed"},{"type":"doc","id":"functions/retrieveCachedEmbedding","label":"retrieveCachedEmbedding"},{"type":"doc","id":"functions/validateEnv","label":"validateEnv"},{"type":"doc","id":"functions/validateCharacterConfig","label":"validateCharacterConfig"},{"type":"doc","id":"functions/formatEvaluatorNames","label":"formatEvaluatorNames"},{"type":"doc","id":"functions/formatEvaluators","label":"formatEvaluators"},{"type":"doc","id":"functions/formatEvaluatorExamples","label":"formatEvaluatorExamples"},{"type":"doc","id":"functions/formatEvaluatorExampleDescriptions","label":"formatEvaluatorExampleDescriptions"},{"type":"doc","id":"functions/generateText","label":"generateText"},{"type":"doc","id":"functions/trimTokens","label":"trimTokens"},{"type":"doc","id":"functions/generateShouldRespond","label":"generateShouldRespond"},{"type":"doc","id":"functions/splitChunks","label":"splitChunks"},{"type":"doc","id":"functions/generateTrueOrFalse","label":"generateTrueOrFalse"},{"type":"doc","id":"functions/generateTextArray","label":"generateTextArray"},{"type":"doc","id":"functions/generateObject","label":"generateObject"},{"type":"doc","id":"functions/generateObjectArray","label":"generateObjectArray"},{"type":"doc","id":"functions/generateMessageResponse","label":"generateMessageResponse"},{"type":"doc","id":"functions/generateImage","label":"generateImage"},{"type":"doc","id":"functions/generateCaption","label":"generateCaption"},{"type":"doc","id":"functions/generateObjectV2","label":"generateObjectV2"},{"type":"doc","id":"functions/handleProvider","label":"handleProvider"},{"type":"doc","id":"functions/getGoals","label":"getGoals"},{"type":"doc","id":"functions/formatGoalsAsString","label":"formatGoalsAsString"},{"type":"doc","id":"functions/updateGoal","label":"updateGoal"},{"type":"doc","id":"functions/createGoal","label":"createGoal"},{"type":"doc","id":"functions/getActorDetails","label":"getActorDetails"},{"type":"doc","id":"functions/formatActors","label":"formatActors"},{"type":"doc","id":"functions/formatMessages","label":"formatMessages"},{"type":"doc","id":"functions/formatTimestamp","label":"formatTimestamp"},{"type":"doc","id":"functions/getModel","label":"getModel"},{"type":"doc","id":"functions/getEndpoint","label":"getEndpoint"},{"type":"doc","id":"functions/parseShouldRespondFromText","label":"parseShouldRespondFromText"},{"type":"doc","id":"functions/parseBooleanFromText","label":"parseBooleanFromText"},{"type":"doc","id":"functions/parseJsonArrayFromText","label":"parseJsonArrayFromText"},{"type":"doc","id":"functions/parseJSONObjectFromText","label":"parseJSONObjectFromText"},{"type":"doc","id":"functions/formatPosts","label":"formatPosts"},{"type":"doc","id":"functions/getProviders","label":"getProviders"},{"type":"doc","id":"functions/createRelationship","label":"createRelationship"},{"type":"doc","id":"functions/getRelationship","label":"getRelationship"},{"type":"doc","id":"functions/getRelationships","label":"getRelationships"},{"type":"doc","id":"functions/formatRelationships","label":"formatRelationships"},{"type":"doc","id":"functions/findNearestEnvFile","label":"findNearestEnvFile"},{"type":"doc","id":"functions/configureSettings","label":"configureSettings"},{"type":"doc","id":"functions/loadEnvConfig","label":"loadEnvConfig"},{"type":"doc","id":"functions/getEnvVariable","label":"getEnvVariable"},{"type":"doc","id":"functions/hasEnvVariable","label":"hasEnvVariable"},{"type":"doc","id":"functions/stringToUuid","label":"stringToUuid"}]}]};
+module.exports = typedocSidebar.items;
\ No newline at end of file
diff --git a/docs/api/variables/CharacterSchema.md b/docs/api/variables/CharacterSchema.md
new file mode 100644
index 00000000000..fb5ac8f44f3
--- /dev/null
+++ b/docs/api/variables/CharacterSchema.md
@@ -0,0 +1,107 @@
+[@ai16z/eliza v0.1.4-alpha.3](../index.md) / CharacterSchema
+
+# Variable: CharacterSchema
+
+> `const` **CharacterSchema**: `ZodObject`\<`object`, `"strip"`, `ZodTypeAny`, `object`, `object`\>
+
+Main Character schema
+
+## Type declaration
+
+### id
+
+> **id**: `ZodOptional`\<`ZodString`\>
+
+### name
+
+> **name**: `ZodString`
+
+### system
+
+> **system**: `ZodOptional`\<`ZodString`\>
+
+### modelProvider
+
+> **modelProvider**: `ZodNativeEnum`\<*typeof* [`ModelProviderName`](../enumerations/ModelProviderName.md)\>
+
+### modelEndpointOverride
+
+> **modelEndpointOverride**: `ZodOptional`\<`ZodString`\>
+
+### templates
+
+> **templates**: `ZodOptional`\<`ZodRecord`\<`ZodString`, `ZodString`\>\>
+
+### bio
+
+> **bio**: `ZodUnion`\<[`ZodString`, `ZodArray`\<`ZodString`, `"many"`\>]\>
+
+### lore
+
+> **lore**: `ZodArray`\<`ZodString`, `"many"`\>
+
+### messageExamples
+
+> **messageExamples**: `ZodArray`\<`ZodArray`\<`ZodObject`\<`object`, `"strip"`, `ZodTypeAny`, `object`, `object`\>, `"many"`\>, `"many"`\>
+
+### postExamples
+
+> **postExamples**: `ZodArray`\<`ZodString`, `"many"`\>
+
+### people
+
+> **people**: `ZodArray`\<`ZodString`, `"many"`\>
+
+### topics
+
+> **topics**: `ZodArray`\<`ZodString`, `"many"`\>
+
+### adjectives
+
+> **adjectives**: `ZodArray`\<`ZodString`, `"many"`\>
+
+### knowledge
+
+> **knowledge**: `ZodOptional`\<`ZodArray`\<`ZodString`, `"many"`\>\>
+
+### clients
+
+> **clients**: `ZodArray`\<`ZodNativeEnum`\<*typeof* [`Clients`](../enumerations/Clients.md)\>, `"many"`\>
+
+### plugins
+
+> **plugins**: `ZodArray`\<`ZodObject`\<`object`, `"strip"`, `ZodTypeAny`, `object`, `object`\>, `"many"`\>
+
+### settings
+
+> **settings**: `ZodOptional`\<`ZodObject`\<`object`, `"strip"`, `ZodTypeAny`, `object`, `object`\>\>
+
+### clientConfig
+
+> **clientConfig**: `ZodOptional`\<`ZodObject`\<`object`, `"strip"`, `ZodTypeAny`, `object`, `object`\>\>
+
+### style
+
+> **style**: `ZodObject`\<`object`, `"strip"`, `ZodTypeAny`, `object`, `object`\>
+
+#### Type declaration
+
+##### all
+
+> **all**: `ZodArray`\<`ZodString`, `"many"`\>
+
+##### chat
+
+> **chat**: `ZodArray`\<`ZodString`, `"many"`\>
+
+##### post
+
+> **post**: `ZodArray`\<`ZodString`, `"many"`\>
+
+### twitterProfile
+
+> **twitterProfile**: `ZodOptional`\<`ZodObject`\<`object`, `"strip"`, `ZodTypeAny`, `object`, `object`\>\>
+
+## Defined in
+
+[packages/core/src/enviroment.ts:66](https://github.com/ai16z/eliza/blob/main/packages/core/src/enviroment.ts#L66)
diff --git a/docs/api/variables/booleanFooter.md b/docs/api/variables/booleanFooter.md
index f2489169e3b..eaca80dc199 100644
--- a/docs/api/variables/booleanFooter.md
+++ b/docs/api/variables/booleanFooter.md
@@ -1,4 +1,4 @@
-[@ai16z/eliza v1.0.0](../index.md) / booleanFooter
+[@ai16z/eliza v0.1.4-alpha.3](../index.md) / booleanFooter
# Variable: booleanFooter
diff --git a/docs/api/variables/defaultCharacter.md b/docs/api/variables/defaultCharacter.md
index e43cd8c3419..cb092bc81f5 100644
--- a/docs/api/variables/defaultCharacter.md
+++ b/docs/api/variables/defaultCharacter.md
@@ -1,4 +1,4 @@
-[@ai16z/eliza v1.0.0](../index.md) / defaultCharacter
+[@ai16z/eliza v0.1.4-alpha.3](../index.md) / defaultCharacter
# Variable: defaultCharacter
diff --git a/docs/api/variables/elizaLogger.md b/docs/api/variables/elizaLogger.md
index c33ed0865c5..6781da0457a 100644
--- a/docs/api/variables/elizaLogger.md
+++ b/docs/api/variables/elizaLogger.md
@@ -1,4 +1,4 @@
-[@ai16z/eliza v1.0.0](../index.md) / elizaLogger
+[@ai16z/eliza v0.1.4-alpha.3](../index.md) / elizaLogger
# Variable: elizaLogger
@@ -6,4 +6,4 @@
## Defined in
-[packages/core/src/logger.ts:282](https://github.com/ai16z/eliza/blob/main/packages/core/src/logger.ts#L282)
+[packages/core/src/logger.ts:264](https://github.com/ai16z/eliza/blob/main/packages/core/src/logger.ts#L264)
diff --git a/docs/api/variables/embeddingDimension.md b/docs/api/variables/embeddingDimension.md
index dec77431f39..202732e6df4 100644
--- a/docs/api/variables/embeddingDimension.md
+++ b/docs/api/variables/embeddingDimension.md
@@ -1,4 +1,4 @@
-[@ai16z/eliza v1.0.0](../index.md) / embeddingDimension
+[@ai16z/eliza v0.1.4-alpha.3](../index.md) / embeddingDimension
# Variable: embeddingDimension
@@ -6,4 +6,4 @@
## Defined in
-[packages/core/src/memory.ts:9](https://github.com/ai16z/eliza/blob/main/packages/core/src/memory.ts#L9)
+[packages/core/src/memory.ts:10](https://github.com/ai16z/eliza/blob/main/packages/core/src/memory.ts#L10)
diff --git a/docs/api/variables/embeddingZeroVector.md b/docs/api/variables/embeddingZeroVector.md
index 6f3bb083464..42a55a883fc 100644
--- a/docs/api/variables/embeddingZeroVector.md
+++ b/docs/api/variables/embeddingZeroVector.md
@@ -1,4 +1,4 @@
-[@ai16z/eliza v1.0.0](../index.md) / embeddingZeroVector
+[@ai16z/eliza v0.1.4-alpha.3](../index.md) / embeddingZeroVector
# Variable: embeddingZeroVector
@@ -6,4 +6,4 @@
## Defined in
-[packages/core/src/memory.ts:10](https://github.com/ai16z/eliza/blob/main/packages/core/src/memory.ts#L10)
+[packages/core/src/memory.ts:11](https://github.com/ai16z/eliza/blob/main/packages/core/src/memory.ts#L11)
diff --git a/docs/api/variables/envSchema.md b/docs/api/variables/envSchema.md
new file mode 100644
index 00000000000..fcf5896d2e0
--- /dev/null
+++ b/docs/api/variables/envSchema.md
@@ -0,0 +1,43 @@
+[@ai16z/eliza v0.1.4-alpha.3](../index.md) / envSchema
+
+# Variable: envSchema
+
+> `const` **envSchema**: `ZodObject`\<`object`, `"strip"`, `ZodTypeAny`, `object`, `object`\>
+
+TODO: TO COMPLETE
+
+## Type declaration
+
+### OPENAI\_API\_KEY
+
+> **OPENAI\_API\_KEY**: `ZodString`
+
+API Keys with specific formats
+
+### REDPILL\_API\_KEY
+
+> **REDPILL\_API\_KEY**: `ZodString`
+
+### GROK\_API\_KEY
+
+> **GROK\_API\_KEY**: `ZodString`
+
+### GROQ\_API\_KEY
+
+> **GROQ\_API\_KEY**: `ZodString`
+
+### OPENROUTER\_API\_KEY
+
+> **OPENROUTER\_API\_KEY**: `ZodString`
+
+### GOOGLE\_GENERATIVE\_AI\_API\_KEY
+
+> **GOOGLE\_GENERATIVE\_AI\_API\_KEY**: `ZodString`
+
+### ELEVENLABS\_XI\_API\_KEY
+
+> **ELEVENLABS\_XI\_API\_KEY**: `ZodString`
+
+## Defined in
+
+[packages/core/src/enviroment.ts:5](https://github.com/ai16z/eliza/blob/main/packages/core/src/enviroment.ts#L5)
diff --git a/docs/api/variables/evaluationTemplate.md b/docs/api/variables/evaluationTemplate.md
index 608fc1da311..c9340abac7d 100644
--- a/docs/api/variables/evaluationTemplate.md
+++ b/docs/api/variables/evaluationTemplate.md
@@ -1,4 +1,4 @@
-[@ai16z/eliza v1.0.0](../index.md) / evaluationTemplate
+[@ai16z/eliza v0.1.4-alpha.3](../index.md) / evaluationTemplate
# Variable: evaluationTemplate
diff --git a/docs/api/variables/knowledge.md b/docs/api/variables/knowledge.md
new file mode 100644
index 00000000000..859ddc0e7ab
--- /dev/null
+++ b/docs/api/variables/knowledge.md
@@ -0,0 +1,47 @@
+[@ai16z/eliza v0.1.4-alpha.3](../index.md) / knowledge
+
+# Variable: knowledge
+
+> **knowledge**: `object`
+
+## Type declaration
+
+### get()
+
+> **get**: (`runtime`, `message`) => `Promise`\<`string`[]\>
+
+#### Parameters
+
+• **runtime**: [`AgentRuntime`](../classes/AgentRuntime.md)
+
+• **message**: [`Memory`](../interfaces/Memory.md)
+
+#### Returns
+
+`Promise`\<`string`[]\>
+
+### set()
+
+> **set**: (`runtime`, `item`, `chunkSize`, `bleed`) => `Promise`\<`void`\>
+
+#### Parameters
+
+• **runtime**: [`AgentRuntime`](../classes/AgentRuntime.md)
+
+• **item**: [`KnowledgeItem`](../type-aliases/KnowledgeItem.md)
+
+• **chunkSize**: `number` = `512`
+
+• **bleed**: `number` = `20`
+
+#### Returns
+
+`Promise`\<`void`\>
+
+### process
+
+> **process**: `Process`
+
+## Defined in
+
+[packages/core/src/knowledge.ts:116](https://github.com/ai16z/eliza/blob/main/packages/core/src/knowledge.ts#L116)
diff --git a/docs/api/variables/messageCompletionFooter.md b/docs/api/variables/messageCompletionFooter.md
index 6b57fe329eb..edb027e3927 100644
--- a/docs/api/variables/messageCompletionFooter.md
+++ b/docs/api/variables/messageCompletionFooter.md
@@ -1,4 +1,4 @@
-[@ai16z/eliza v1.0.0](../index.md) / messageCompletionFooter
+[@ai16z/eliza v0.1.4-alpha.3](../index.md) / messageCompletionFooter
# Variable: messageCompletionFooter
diff --git a/docs/api/variables/models.md b/docs/api/variables/models.md
index f4fdacf4adf..028aa1ba0a8 100644
--- a/docs/api/variables/models.md
+++ b/docs/api/variables/models.md
@@ -1,4 +1,4 @@
-[@ai16z/eliza v1.0.0](../index.md) / models
+[@ai16z/eliza v0.1.4-alpha.3](../index.md) / models
# Variable: models
diff --git a/docs/api/variables/settings.md b/docs/api/variables/settings.md
index 9aa711f41c4..ac13104ebfd 100644
--- a/docs/api/variables/settings.md
+++ b/docs/api/variables/settings.md
@@ -1,9 +1,11 @@
-[@ai16z/eliza v1.0.0](../index.md) / settings
+[@ai16z/eliza v0.1.4-alpha.3](../index.md) / settings
# Variable: settings
-> `const` **settings**: `ProcessEnv`
+> `const` **settings**: `Settings`
+
+Initialize settings based on environment
## Defined in
-[packages/core/src/settings.ts:54](https://github.com/ai16z/eliza/blob/main/packages/core/src/settings.ts#L54)
+[packages/core/src/settings.ts:110](https://github.com/ai16z/eliza/blob/main/packages/core/src/settings.ts#L110)
diff --git a/docs/api/variables/shouldRespondFooter.md b/docs/api/variables/shouldRespondFooter.md
index 69acacb8d55..1d055ad00e9 100644
--- a/docs/api/variables/shouldRespondFooter.md
+++ b/docs/api/variables/shouldRespondFooter.md
@@ -1,4 +1,4 @@
-[@ai16z/eliza v1.0.0](../index.md) / shouldRespondFooter
+[@ai16z/eliza v0.1.4-alpha.3](../index.md) / shouldRespondFooter
# Variable: shouldRespondFooter
diff --git a/docs/api/variables/stringArrayFooter.md b/docs/api/variables/stringArrayFooter.md
index c44ee2b3f8d..de7a7dd8fec 100644
--- a/docs/api/variables/stringArrayFooter.md
+++ b/docs/api/variables/stringArrayFooter.md
@@ -1,8 +1,8 @@
-[@ai16z/eliza v1.0.0](../index.md) / stringArrayFooter
+[@ai16z/eliza v0.1.4-alpha.3](../index.md) / stringArrayFooter
# Variable: stringArrayFooter
-> `const` **stringArrayFooter**: "Respond with a JSON array containing the values in a JSON block formatted for markdown with this structure:\n\`\`\`json\n\[\n 'value',\n 'value'\n\]\n\`\`\`\n\nYour response must include the JSON block."
+> `const` **stringArrayFooter**: "Respond with a JSON array containing the values in a JSON block formatted for markdown with this structure:\n\`\`\`json\n\[\n 'value',\n 'value'\n\]\n\`\`\`\n\nYour response must include the JSON block."
## Defined in
diff --git a/docs/docs/community/streams/2024-11-21.md b/docs/docs/community/streams/2024-11-21.md
new file mode 100644
index 00000000000..8b881fb42a5
--- /dev/null
+++ b/docs/docs/community/streams/2024-11-21.md
@@ -0,0 +1,78 @@
+---
+title: "The Delphi Podcast: Crypto x AI Agents"
+description: "The Definitive Podcast with Ai16z, Virtuals, MyShell, NOUS, and CENTS"
+---
+
+# Crypto x AI Agents
+
+Watch: https://www.youtube.com/watch?v=HVXxprDVMUM
+
+## Participants:
+- Tommy: Podcast host
+- Shaw: Founder of AI16z, creator of the Eliza agent framework
+- Ethan: Co-founder of MyShell, an AI app store
+- Jensen (EtherMage): From Virtuals Protocol, a platform for agent co-ownership, known for the Luna live-streaming bot
+- Karan: Co-founder of NOUS Research, creator of the Hermes instruction model and World Sim prompt
+- Justin Bennington (Somey): Founder of Someware Systems and creator of the Sentience agent system
+
+## Main Themes:
+1. **Explosive Growth and Innovation**: Rapid development with numerous open-source projects pushing boundaries. Example: AI16z's Eliza framework with 80+ contributors.
+2. **The Crypto Incentive**: Linking tokens to agents unlocks potential through speculative power, cash flow, and community building.
+3. **Bottom-Up Alignment**: Deploying agents in real-world social environments allows for real-time feedback and transparency.
+4. **Emergent Capabilities and Autonomy**: Agents exhibiting unforeseen behaviors, like religious beliefs, manipulation, and coordination.
+5. **The Future of Agent Interaction**: Developments like trust networks, shared state, and dedicated agent platforms on the horizon.
+
+## Key Quotes:
+- Shaw: "The amount of bad things that are happening is directly proportional to how much we're aligning these agents toward good."
+- Karan: "It's time to make that call to action to all your friends... who studied religious studies, philosophy, etc. ... We need you to start working on alignment with us."
+- Somey: "The agent is not going to ... purchase the [product]... What we're going to see is... a 1 trillion dollar industry... immediately seeing that none of its tricks... are working."
+
+## Key Takeaways:
+- Crypto AI agents are rapidly evolving, challenging traditional notions of intelligence and autonomy.
+- Crypto incentives are crucial for fueling development and attracting diverse talent.
+- Open, decentralized experimentation is seen as the most effective path towards aligning agents with human values.
+- The future will likely see agents developing complex social structures, interacting across platforms, and potentially disrupting established industries.
+
+# Timeline of Events
+## Years Ago (~4-5 years before podcast):
+- Key individuals begin discussing and experimenting with early language models like GPT-2.
+
+## ~2 Years Ago:
+- Someware and Karan have conversations about combining generative and hard constraints in AI systems.
+- Someware gains recognition on Twitter for early work on AI agents.
+
+## ~1.5 Years Ago:
+- Shaw hires Ampot for a project involving an AI agent called Monica.
+- Someware builds voice chat capabilities for a call center company.
+
+## Recent Past (~1 Year Ago):
+- The "Simulators Thesis" is published on LessWrong.
+- Projects like Bit Tensor and Prime Intellect offer financial incentives for open-source AI research.
+
+## Recent Months:
+- The release of models like Llama and Hermes provides open-source alternatives to closed models.
+- Truth Terminal and WorldSim gain popularity, demonstrating the potential of prompting.
+
+## Last Few Weeks:
+- The crypto AI agent explosion, with projects like Eliza, MyShell, Virtuals, and Sentience.
+- Memecoins tied to AI agents go viral on TikTok.
+- The first fully autonomous AI-powered virtual companies begin operating.
+- The need for shared state, persistent memory, and dedicated AI social platforms becomes apparent.
+
+## The Future (Next Few Weeks/Months):
+- Continued rapid development, with agents gaining greater autonomy and forming complex swarms.
+- Ethical concerns and the potential for misuse come into sharper focus.
+- Disruption to the traditional advertising and marketing industry.
+
+## Longer Term (Next 18 Months and Beyond):
+- Potential emergence of Artificial General Intelligence (AGI).
+- Dedicated social spaces for AI-human interaction become crucial.
+
+# Cast of Characters
+- **Shaw (AI16z)**: Founder of AI16z and creator of the Eliza framework.
+- **Someware (Sentience)**: Founder of Sentience, known for his work on immersive, sci-fi-inspired agent systems.
+- **Ethan (MyShell)**: Co-founder of MyShell, an AI app store.
+- **Jensen (Ether Mage, Virtuals)**: Part of the team behind Virtuals, a platform for co-owning and co-contributing to AI agents.
+- **Karan (NOUS Research)**: Co-founder of NOUS Research, creator of the Hermes model.
+- **Other Key Figures Mentioned**: Ampot, Ro Burito, King Boshi, Loaf, Beth AI Dev, Dgen Spartan AI, Thread Guy/Thread Gay, Deep Fates, Janice, Parzifal.
+
diff --git a/docs/docs/community/streams/2024-11-24.md b/docs/docs/community/streams/2024-11-24.md
new file mode 100644
index 00000000000..cffa9399af8
--- /dev/null
+++ b/docs/docs/community/streams/2024-11-24.md
@@ -0,0 +1,87 @@
+# Hats Protocol 11-24-24
+
+The overall presentation started with technical details about Hats protocol and gradually evolved into more forward-looking discussions about AI integration and gaming mechanics for DAO organization.
+
+0:00 - 5:00
+- Opening discussion about creating an "MMO version" of internet collaboration
+- Mentions how previous attempts didn't fully succeed but new tools are ready
+
+5:00 - 15:00
+- Introduction to core problems Hats protocol solves in DAOs
+- Explanation of disorganization and lack of clear roles in DAOs
+- Demo of Hats protocol interface begins
+
+15:00 - 30:00
+- Detailed walkthrough of a security council example
+- Shows how to edit and manage roles in the interface
+- Demonstrates how to export/import organization structures as JSON
+
+30:00 - 45:00
+- Discussion of different work groups and guild structures
+- Exploration of creative guild example
+- Talk about permission levels and admin relationships
+
+45:00 - 1:00:00
+- Deep dive into eligibility criteria for roles
+- Discussion of integration possibilities with GitHub
+- Explanation of automated admin capabilities
+
+1:00:00 - 1:15:00
+- Integration with Farcaster discussion
+- Introduction of AI agent possibilities
+- Talk about bottom-up contributions and reputation
+
+1:15:00 - end
+- Discussion of AI agents helping manage DAOs
+- Exploration of gaming mechanics in organization structure
+- Cost of Corruption (CoC) concept introduced
+- Closing thoughts on future of DAOs and AI integration
+
+Key moments worth highlighting:
+
+38:40 - Important discussion about treating hats as achievements and earning roles
+43:20 - Introduction of autonomous admin concepts
+1:04:30 - Significant conversation about AI agents' role in DAOs
+1:16:40 - Discussion of staking and accountability mechanisms
+
+---
+
+1. Core Purpose of Hats Protocol:
+- Helps solve disorganization and chaos in DAOs by providing clear roles and responsibilities
+- Acts as a delegation and coordination layer for DAOs
+- Uses tokenized "hats" (ERC-1155 tokens) to represent roles and permissions
+- Enables hierarchical organization structures while maintaining decentralization
+- Allows for automated admin functions through smart contracts
+
+2. Key Features:
+- Revocable roles (unlike soulbound tokens or badges)
+- Configurable eligibility criteria for roles
+- Admin relationships between different hat levels
+- Integration capabilities with tools like:
+ - Safe multi-sig wallets
+ - Gitcoin Passport
+ - Agreement signing modules
+ - Automated claim/mint functionality
+
+3. Proposed Application for AI16Z:
+- Creating structured work groups/guilds (Creative, Development, Operations, Research & AI, Community)
+- Enabling permission management for GitHub repos and other resources
+- Supporting bottom-up contributions while maintaining coordination
+- Integration potential with AI agents as autonomous admins
+- Progressive automation of DAO operations
+
+4. AI Agent Integration Possibilities:
+- AI agents could hold hats and have specific on-chain permissions
+- Agents could help with:
+ - Task delegation and management
+ - Reputation tracking
+ - Automated role assignment
+ - Community coordination
+ - Content creation and moderation
+
+5. Novel Concepts Discussed:
+- Gaming-inspired organizational structure (MMO-like guilds and achievements)
+- Progressive automation through AI agents
+- Multi-chain governance possibilities
+- Cost of Corruption (CoC) concept for role accountability
+- Integration with Farcaster for social coordination
diff --git a/docs/docs/packages/plugins.md b/docs/docs/packages/plugins.md
index 56f393c8ae3..5dd1d1ec94a 100644
--- a/docs/docs/packages/plugins.md
+++ b/docs/docs/packages/plugins.md
@@ -196,7 +196,7 @@ Integrates Solana blockchain functionality:
- `walletProvider` - Wallet management
- `trustScoreProvider` - Transaction trust metrics
-#### 5. Coinbase Commerce Plugin (`@eliza/plugin-coinbase-commerce`)
+#### 5. Coinbase Commerce Plugin (`@eliza/plugin-coinbase`)
Integrates Coinbase Commerce for payment and transaction management:
@@ -211,6 +211,219 @@ This plugin enables Eliza to interact with the Coinbase Commerce API to create a
---
+#### 6. Coinbase MassPayments Plugin (`@eliza/plugin-coinbase`)
+
+This plugin facilitates the processing of cryptocurrency mass payouts using the Coinbase SDK. It enables the creation and management of mass payouts to multiple wallet addresses, logging all transaction details to a CSV file for further analysis.
+
+**Actions:**
+
+- `SEND_MASS_PAYOUT`
+ Sends cryptocurrency mass payouts to multiple wallet addresses.
+ - **Inputs**:
+ - `receivingAddresses` (array of strings): Wallet addresses to receive funds.
+ - `transferAmount` (number): Amount to send to each address (in smallest currency unit, e.g., Wei for ETH).
+ - `assetId` (string): Cryptocurrency asset ID (e.g., `ETH`, `BTC`).
+ - `network` (string): Blockchain network (e.g., `base`, `sol`, `eth`, `arb`, `pol`).
+ - **Outputs**: Logs transaction results (success/failure) in a CSV file.
+ - **Example**:
+ ```json
+ {
+ "receivingAddresses": [
+ "0xA0ba2ACB5846A54834173fB0DD9444F756810f06",
+ "0xF14F2c49aa90BaFA223EE074C1C33b59891826bF"
+ ],
+ "transferAmount": 5000000000000000,
+ "assetId": "ETH",
+ "network": "eth"
+ }
+ ```
+
+**Providers:**
+
+- `massPayoutProvider`
+ Retrieves details of past transactions from the generated CSV file.
+ - **Outputs**: A list of transaction records including the following fields:
+ - `address`: Recipient wallet address.
+ - `amount`: Amount sent.
+ - `status`: Transaction status (`Success` or `Failed`).
+ - `errorCode`: Error code (if any).
+ - `transactionUrl`: URL for transaction details (if available).
+
+**Description:**
+
+The Coinbase MassPayments plugin streamlines cryptocurrency distribution, ensuring efficient and scalable payouts to multiple recipients on supported blockchain networks.
+
+Supported networks:
+
+- `base` (Base blockchain)
+- `sol` (Solana)
+- `eth` (Ethereum)
+- `arb` (Arbitrum)
+- `pol` (Polygon)
+
+**Usage Instructions:**
+
+1. **Configure the Plugin**
+ Add the plugin to your character’s configuration:
+
+ ```typescript
+ import { coinbaseMassPaymentsPlugin } from "@eliza/plugin-coinbase-masspayments";
+
+ const character = {
+ plugins: [coinbaseMassPaymentsPlugin],
+ };
+ ```
+
+2. **Ensure Secure Configuration**
+ Set the following environment variables or runtime settings to ensure the plugin functions securely:
+
+ - `COINBASE_API_KEY`: API key for Coinbase SDK.
+ - `COINBASE_PRIVATE_KEY`: Private key for secure transactions.
+
+---
+
+### Wallet Management
+
+The plugin automatically handles wallet creation or uses an existing wallet if the required details are provided during the first run.
+
+1. **Wallet Generation on First Run**
+ If no wallet information is provided (`COINBASE_GENERATED_WALLET_HEX_SEED` and `COINBASE_GENERATED_WALLET_ID`), the plugin will:
+
+ - **Generate a new wallet** using the Coinbase SDK.
+ - Automatically **export the wallet details** (`seed` and `walletId`) and securely store them in `runtime.character.settings.secrets` or other configured storage.
+ - Log the wallet’s default address for reference.
+ - If the character file does not exist, the wallet details are saved to a characters/charactername-seed.txt file in the characters directory with a note indicating that the user must manually add these details to settings.secrets or the .env file.
+
+2. **Using an Existing Wallet**
+ If wallet information is available during the first run:
+ - Provide `COINBASE_GENERATED_WALLET_HEX_SEED` and `COINBASE_GENERATED_WALLET_ID` via `runtime.character.settings.secrets` or environment variables.
+ - The plugin will **import the wallet** and use it for processing mass payouts.
+
+---
+
+### Required Configurations
+
+The following configurations must be provided for wallet management:
+
+- **Environment Variables or Secrets**:
+ - `COINBASE_GENERATED_WALLET_HEX_SEED`: Hexadecimal seed of the wallet.
+ - `COINBASE_GENERATED_WALLET_ID`: Unique wallet ID.
+ - These variables must be securely stored in `runtime.character.settings.secrets` or as environment variables.
+
+---
+
+### Wallet Creation Process
+
+1. **Automatic Wallet Creation**
+ When no wallet details are available:
+
+ - A new wallet is created using the Coinbase SDK.
+ - The wallet’s `seed` and `walletId` are retrieved using the following logic:
+ ```typescript
+ const walletData: WalletData = wallet.export();
+ runtime.character.settings.secrets.COINBASE_GENERATED_WALLET_HEX_SEED =
+ walletData.seed;
+ runtime.character.settings.secrets.COINBASE_GENERATED_WALLET_ID =
+ walletData.walletId;
+ ```
+ - The default wallet address is logged:
+ ```typescript
+ const walletAddress = wallet.getDefaultAddress();
+ elizaLogger.log("Created and stored new wallet:", walletAddress);
+ ```
+
+2. **Using Existing Wallet Details**
+ When the wallet details are provided:
+ - The wallet is imported using the following logic:
+ ```typescript
+ wallet = await Wallet.import({
+ seed: storedSeed,
+ walletId: storedWalletId,
+ });
+ elizaLogger.log("Imported existing wallet:", wallet.getDefaultAddress());
+ ```
+
+---
+
+### Example Configuration
+
+#### Automatic Wallet Generation:
+
+No existing wallet information is passed. The plugin creates and stores a new wallet:
+
+```typescript
+runtime.character.settings.secrets = {
+ // Empty settings for first run
+};
+```
+
+Output Log:
+
+```plaintext
+[INFO] Created and stored new wallet: 0x1234567890abcdef1234567890abcdef12345678
+```
+
+#### Using Existing Wallet Information:
+
+Existing wallet details are passed into the runtime:
+
+```typescript
+runtime.character.settings.secrets = {
+ COINBASE_GENERATED_WALLET_HEX_SEED:
+ "0xabcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890",
+ COINBASE_GENERATED_WALLET_ID: "wallet-id-123",
+};
+```
+
+Output Log:
+
+```plaintext
+[INFO] Imported existing wallet: 0x1234567890abcdef1234567890abcdef12345678
+```
+
+---
+
+3. **Example Call**
+ An example of using the `SEND_MASS_PAYOUT` action:
+
+ ```typescript
+ const response = await runtime.triggerAction("SEND_MASS_PAYOUT", {
+ receivingAddresses: [
+ "0xA0ba2ACB5846A54834173fB0DD9444F756810f06",
+ "0xF14F2c49aa90BaFA223EE074C1C33b59891826bF",
+ ],
+ transferAmount: 5000000000000000, // 0.005 ETH
+ assetId: "ETH",
+ network: "eth",
+ });
+ console.log("Mass payout response:", response);
+ ```
+
+4. **Transaction Logging**
+ All transactions (successful and failed) are logged to a `transactions.csv` file in the plugin’s working directory:
+ ```plaintext
+ Address,Amount,Status,Error Code,Transaction URL
+ 0xA0ba2ACB5846A54834173fB0DD9444F756810f06,5000000000000000,Success,,https://etherscan.io/tx/0x...
+ ```
+
+**Example Output:**
+
+When successful, a response similar to the following will be returned:
+
+```json
+{
+ "text": "Mass payouts completed successfully.\n- Successful Transactions: 2\n- Failed Transactions: 0\nCheck the CSV file for more details."
+}
+```
+
+**Best Practices:**
+
+- **Secure Secrets Storage**: Ensure `COINBASE_API_KEY` and `COINBASE_PRIVATE_KEY` are stored securely in `runtime.character.settings.secrets` or environment variables. Either add `COINBASE_GENERATED_WALLET_HEX_SEED`, and `COINBASE_GENERATED_WALLET_ID` from a previous run, or it will be dynamically created
+- **Validation**: Always validate input parameters, especially `receivingAddresses` and `network`, to ensure compliance with expected formats and supported networks.
+- **Error Handling**: Monitor logs for failed transactions or errors in the payout process and adjust retry logic as needed.
+
+---
+
### Writing Custom Plugins
Create a new plugin by implementing the Plugin interface:
diff --git a/docs/package.json b/docs/package.json
index 064174823e1..0abec97e670 100644
--- a/docs/package.json
+++ b/docs/package.json
@@ -15,26 +15,26 @@
"write-heading-ids": "docusaurus write-heading-ids"
},
"dependencies": {
- "@docusaurus/core": "^3.6.0",
- "@docusaurus/plugin-content-blog": "^3.6.0",
- "@docusaurus/plugin-content-docs": "^3.6.0",
- "@docusaurus/plugin-ideal-image": "^3.6.0",
- "@docusaurus/preset-classic": "^3.6.0",
- "@docusaurus/theme-mermaid": "^3.6.0",
+ "@docusaurus/core": "3.6.3",
+ "@docusaurus/plugin-content-blog": "3.6.3",
+ "@docusaurus/plugin-content-docs": "3.6.3",
+ "@docusaurus/plugin-ideal-image": "3.6.3",
+ "@docusaurus/preset-classic": "3.6.3",
+ "@docusaurus/theme-mermaid": "3.6.3",
"@mdx-js/react": "3.0.1",
- "clsx": "2.1.0",
- "docusaurus-lunr-search": "^3.5.0",
+ "clsx": "2.1.1",
+ "docusaurus-lunr-search": "3.5.0",
"prism-react-renderer": "2.3.1",
"react": "18.3.1",
"react-dom": "18.3.1",
"react-router-dom": "6.22.1"
},
"devDependencies": {
- "@docusaurus/module-type-aliases": "3.6.0",
- "@docusaurus/types": "3.6.0",
- "docusaurus-plugin-typedoc": "^1.0.5",
- "typedoc": "^0.26.11",
- "typedoc-plugin-markdown": "^4.2.9"
+ "@docusaurus/module-type-aliases": "3.6.3",
+ "@docusaurus/types": "3.6.3",
+ "docusaurus-plugin-typedoc": "1.0.5",
+ "typedoc": "0.26.11",
+ "typedoc-plugin-markdown": "4.2.10"
},
"browserslist": {
"production": [
diff --git a/docs/sidebars.js b/docs/sidebars.js
index 4075dd8e1ef..c29fdd0faa1 100644
--- a/docs/sidebars.js
+++ b/docs/sidebars.js
@@ -164,6 +164,21 @@ const sidebars = {
type: "category",
label: "November 2024",
items: [
+ {
+ type: "doc",
+ id: "community/streams/2024-11-24",
+ label: "Hats Protocol Presentation",
+ },
+ {
+ type: "doc",
+ id: "community/streams/2024-11-22",
+ label: "What Did You Get Done This Week 2",
+ },
+ {
+ type: "doc",
+ id: "community/streams/2024-11-21",
+ label: "The Delphi Podcast",
+ },
{
type: "doc",
id: "community/streams/2024-11-15",
diff --git a/package-lock.json b/package-lock.json
new file mode 100644
index 00000000000..74e3e15710b
--- /dev/null
+++ b/package-lock.json
@@ -0,0 +1,9105 @@
+{
+ "name": "eliza",
+ "lockfileVersion": 3,
+ "requires": true,
+ "packages": {
+ "": {
+ "name": "eliza",
+ "hasInstallScript": true,
+ "dependencies": {
+ "@0glabs/0g-ts-sdk": "^0.2.1",
+ "ollama-ai-provider": "^0.16.1",
+ "optional": "^0.1.4",
+ "sharp": "^0.33.5"
+ },
+ "devDependencies": {
+ "concurrently": "^9.1.0",
+ "husky": "^9.1.6",
+ "lerna": "^8.1.5",
+ "only-allow": "^1.2.1",
+ "prettier": "^3.3.3",
+ "typedoc": "^0.26.11",
+ "typescript": "5.6.3"
+ },
+ "engines": {
+ "node": ">=22"
+ }
+ },
+ "node_modules/@0glabs/0g-ts-sdk": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/@0glabs/0g-ts-sdk/-/0g-ts-sdk-0.2.1.tgz",
+ "integrity": "sha512-IJRD3D+5flNZIl32k/7D45yYvn9AjMeDdkhMr4Y/qo6nFE40HqYRaSlk6ZNI+MjaRzbDxMErrFzQcVkYH/DARg==",
+ "license": "ISC",
+ "dependencies": {
+ "@ethersproject/bytes": "^5.7.0",
+ "@ethersproject/keccak256": "^5.7.0",
+ "open-jsonrpc-provider": "^0.2.1"
+ },
+ "peerDependencies": {
+ "ethers": "6.13.1"
+ }
+ },
+ "node_modules/@adraffy/ens-normalize": {
+ "version": "1.10.1",
+ "resolved": "https://registry.npmjs.org/@adraffy/ens-normalize/-/ens-normalize-1.10.1.tgz",
+ "integrity": "sha512-96Z2IP3mYmF1Xg2cDm8f1gWGf/HUVedQ3FMifV4kG/PQ4yEP51xDtRAEfhVNt5f/uzpNkZHwWQuUcu6D6K+Ekw==",
+ "license": "MIT",
+ "peer": true
+ },
+ "node_modules/@ai-sdk/provider": {
+ "version": "0.0.26",
+ "resolved": "https://registry.npmjs.org/@ai-sdk/provider/-/provider-0.0.26.tgz",
+ "integrity": "sha512-dQkfBDs2lTYpKM8389oopPdQgIU007GQyCbuPPrV+K6MtSII3HBfE0stUIMXUb44L+LK1t6GXPP7wjSzjO6uKg==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "json-schema": "^0.4.0"
+ },
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@ai-sdk/provider-utils": {
+ "version": "1.0.22",
+ "resolved": "https://registry.npmjs.org/@ai-sdk/provider-utils/-/provider-utils-1.0.22.tgz",
+ "integrity": "sha512-YHK2rpj++wnLVc9vPGzGFP3Pjeld2MwhKinetA0zKXOoHAT/Jit5O8kZsxcSlJPu9wvcGT1UGZEjZrtO7PfFOQ==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@ai-sdk/provider": "0.0.26",
+ "eventsource-parser": "^1.1.2",
+ "nanoid": "^3.3.7",
+ "secure-json-parse": "^2.7.0"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "zod": "^3.0.0"
+ },
+ "peerDependenciesMeta": {
+ "zod": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@babel/code-frame": {
+ "version": "7.26.2",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.26.2.tgz",
+ "integrity": "sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-validator-identifier": "^7.25.9",
+ "js-tokens": "^4.0.0",
+ "picocolors": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-validator-identifier": {
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz",
+ "integrity": "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@emnapi/core": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.3.1.tgz",
+ "integrity": "sha512-pVGjBIt1Y6gg3EJN8jTcfpP/+uuRksIo055oE/OBkDNcjZqVbfkWCksG1Jp4yZnj3iKWyWX8fdG/j6UDYPbFog==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@emnapi/wasi-threads": "1.0.1",
+ "tslib": "^2.4.0"
+ }
+ },
+ "node_modules/@emnapi/runtime": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.3.1.tgz",
+ "integrity": "sha512-kEBmG8KyqtxJZv+ygbEim+KCGtIq1fC22Ms3S4ziXmYKm8uyoLX0MHONVKwp+9opg390VaKRNt4a7A9NwmpNhw==",
+ "devOptional": true,
+ "license": "MIT",
+ "dependencies": {
+ "tslib": "^2.4.0"
+ }
+ },
+ "node_modules/@emnapi/wasi-threads": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.0.1.tgz",
+ "integrity": "sha512-iIBu7mwkq4UQGeMEM8bLwNK962nXdhodeScX4slfQnRhEMMzvYivHhutCIk8uojvmASXXPC2WNEjwxFWk72Oqw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "tslib": "^2.4.0"
+ }
+ },
+ "node_modules/@ethersproject/bytes": {
+ "version": "5.7.0",
+ "resolved": "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.7.0.tgz",
+ "integrity": "sha512-nsbxwgFXWh9NyYWo+U8atvmMsSdKJprTcICAkvbBffT75qDocbuggBU0SJiVK2MuTrp0q+xvLkTnGMPK1+uA9A==",
+ "funding": [
+ {
+ "type": "individual",
+ "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2"
+ },
+ {
+ "type": "individual",
+ "url": "https://www.buymeacoffee.com/ricmoo"
+ }
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "@ethersproject/logger": "^5.7.0"
+ }
+ },
+ "node_modules/@ethersproject/keccak256": {
+ "version": "5.7.0",
+ "resolved": "https://registry.npmjs.org/@ethersproject/keccak256/-/keccak256-5.7.0.tgz",
+ "integrity": "sha512-2UcPboeL/iW+pSg6vZ6ydF8tCnv3Iu/8tUmLLzWWGzxWKFFqOBQFLo6uLUv6BDrLgCDfN28RJ/wtByx+jZ4KBg==",
+ "funding": [
+ {
+ "type": "individual",
+ "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2"
+ },
+ {
+ "type": "individual",
+ "url": "https://www.buymeacoffee.com/ricmoo"
+ }
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "@ethersproject/bytes": "^5.7.0",
+ "js-sha3": "0.8.0"
+ }
+ },
+ "node_modules/@ethersproject/logger": {
+ "version": "5.7.0",
+ "resolved": "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.7.0.tgz",
+ "integrity": "sha512-0odtFdXu/XHtjQXJYA3u9G0G8btm0ND5Cu8M7i5vhEcE8/HmF4Lbdqanwyv4uQTr2tx6b7fQRmgLrsnpQlmnig==",
+ "funding": [
+ {
+ "type": "individual",
+ "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2"
+ },
+ {
+ "type": "individual",
+ "url": "https://www.buymeacoffee.com/ricmoo"
+ }
+ ],
+ "license": "MIT"
+ },
+ "node_modules/@hutson/parse-repository-url": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/@hutson/parse-repository-url/-/parse-repository-url-3.0.2.tgz",
+ "integrity": "sha512-H9XAx3hc0BQHY6l+IFSWHDySypcXsvsuLhgYLUGywmJ5pswRVQJUHpOsobnLYp2ZUaUlKiKDrgWWhosOwAEM8Q==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@img/sharp-darwin-arm64": {
+ "version": "0.33.5",
+ "resolved": "https://registry.npmjs.org/@img/sharp-darwin-arm64/-/sharp-darwin-arm64-0.33.5.tgz",
+ "integrity": "sha512-UT4p+iz/2H4twwAoLCqfA9UH5pI6DggwKEGuaPy7nCVQ8ZsiY5PIcrRvD1DzuY3qYL07NtIQcWnBSY/heikIFQ==",
+ "cpu": [
+ "arm64"
+ ],
+ "license": "Apache-2.0",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": "^18.17.0 || ^20.3.0 || >=21.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/libvips"
+ },
+ "optionalDependencies": {
+ "@img/sharp-libvips-darwin-arm64": "1.0.4"
+ }
+ },
+ "node_modules/@img/sharp-darwin-x64": {
+ "version": "0.33.5",
+ "resolved": "https://registry.npmjs.org/@img/sharp-darwin-x64/-/sharp-darwin-x64-0.33.5.tgz",
+ "integrity": "sha512-fyHac4jIc1ANYGRDxtiqelIbdWkIuQaI84Mv45KvGRRxSAa7o7d1ZKAOBaYbnepLC1WqxfpimdeWfvqqSGwR2Q==",
+ "cpu": [
+ "x64"
+ ],
+ "license": "Apache-2.0",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": "^18.17.0 || ^20.3.0 || >=21.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/libvips"
+ },
+ "optionalDependencies": {
+ "@img/sharp-libvips-darwin-x64": "1.0.4"
+ }
+ },
+ "node_modules/@img/sharp-libvips-darwin-arm64": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-arm64/-/sharp-libvips-darwin-arm64-1.0.4.tgz",
+ "integrity": "sha512-XblONe153h0O2zuFfTAbQYAX2JhYmDHeWikp1LM9Hul9gVPjFY427k6dFEcOL72O01QxQsWi761svJ/ev9xEDg==",
+ "cpu": [
+ "arm64"
+ ],
+ "license": "LGPL-3.0-or-later",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "funding": {
+ "url": "https://opencollective.com/libvips"
+ }
+ },
+ "node_modules/@img/sharp-libvips-darwin-x64": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-x64/-/sharp-libvips-darwin-x64-1.0.4.tgz",
+ "integrity": "sha512-xnGR8YuZYfJGmWPvmlunFaWJsb9T/AO2ykoP3Fz/0X5XV2aoYBPkX6xqCQvUTKKiLddarLaxpzNe+b1hjeWHAQ==",
+ "cpu": [
+ "x64"
+ ],
+ "license": "LGPL-3.0-or-later",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "funding": {
+ "url": "https://opencollective.com/libvips"
+ }
+ },
+ "node_modules/@img/sharp-libvips-linux-arm": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm/-/sharp-libvips-linux-arm-1.0.5.tgz",
+ "integrity": "sha512-gvcC4ACAOPRNATg/ov8/MnbxFDJqf/pDePbBnuBDcjsI8PssmjoKMAz4LtLaVi+OnSb5FK/yIOamqDwGmXW32g==",
+ "cpu": [
+ "arm"
+ ],
+ "license": "LGPL-3.0-or-later",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "funding": {
+ "url": "https://opencollective.com/libvips"
+ }
+ },
+ "node_modules/@img/sharp-libvips-linux-arm64": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm64/-/sharp-libvips-linux-arm64-1.0.4.tgz",
+ "integrity": "sha512-9B+taZ8DlyyqzZQnoeIvDVR/2F4EbMepXMc/NdVbkzsJbzkUjhXv/70GQJ7tdLA4YJgNP25zukcxpX2/SueNrA==",
+ "cpu": [
+ "arm64"
+ ],
+ "license": "LGPL-3.0-or-later",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "funding": {
+ "url": "https://opencollective.com/libvips"
+ }
+ },
+ "node_modules/@img/sharp-libvips-linux-s390x": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-s390x/-/sharp-libvips-linux-s390x-1.0.4.tgz",
+ "integrity": "sha512-u7Wz6ntiSSgGSGcjZ55im6uvTrOxSIS8/dgoVMoiGE9I6JAfU50yH5BoDlYA1tcuGS7g/QNtetJnxA6QEsCVTA==",
+ "cpu": [
+ "s390x"
+ ],
+ "license": "LGPL-3.0-or-later",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "funding": {
+ "url": "https://opencollective.com/libvips"
+ }
+ },
+ "node_modules/@img/sharp-libvips-linux-x64": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-x64/-/sharp-libvips-linux-x64-1.0.4.tgz",
+ "integrity": "sha512-MmWmQ3iPFZr0Iev+BAgVMb3ZyC4KeFc3jFxnNbEPas60e1cIfevbtuyf9nDGIzOaW9PdnDciJm+wFFaTlj5xYw==",
+ "cpu": [
+ "x64"
+ ],
+ "license": "LGPL-3.0-or-later",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "funding": {
+ "url": "https://opencollective.com/libvips"
+ }
+ },
+ "node_modules/@img/sharp-libvips-linuxmusl-arm64": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-arm64/-/sharp-libvips-linuxmusl-arm64-1.0.4.tgz",
+ "integrity": "sha512-9Ti+BbTYDcsbp4wfYib8Ctm1ilkugkA/uscUn6UXK1ldpC1JjiXbLfFZtRlBhjPZ5o1NCLiDbg8fhUPKStHoTA==",
+ "cpu": [
+ "arm64"
+ ],
+ "license": "LGPL-3.0-or-later",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "funding": {
+ "url": "https://opencollective.com/libvips"
+ }
+ },
+ "node_modules/@img/sharp-libvips-linuxmusl-x64": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-x64/-/sharp-libvips-linuxmusl-x64-1.0.4.tgz",
+ "integrity": "sha512-viYN1KX9m+/hGkJtvYYp+CCLgnJXwiQB39damAO7WMdKWlIhmYTfHjwSbQeUK/20vY154mwezd9HflVFM1wVSw==",
+ "cpu": [
+ "x64"
+ ],
+ "license": "LGPL-3.0-or-later",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "funding": {
+ "url": "https://opencollective.com/libvips"
+ }
+ },
+ "node_modules/@img/sharp-linux-arm": {
+ "version": "0.33.5",
+ "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm/-/sharp-linux-arm-0.33.5.tgz",
+ "integrity": "sha512-JTS1eldqZbJxjvKaAkxhZmBqPRGmxgu+qFKSInv8moZ2AmT5Yib3EQ1c6gp493HvrvV8QgdOXdyaIBrhvFhBMQ==",
+ "cpu": [
+ "arm"
+ ],
+ "license": "Apache-2.0",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": "^18.17.0 || ^20.3.0 || >=21.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/libvips"
+ },
+ "optionalDependencies": {
+ "@img/sharp-libvips-linux-arm": "1.0.5"
+ }
+ },
+ "node_modules/@img/sharp-linux-arm64": {
+ "version": "0.33.5",
+ "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm64/-/sharp-linux-arm64-0.33.5.tgz",
+ "integrity": "sha512-JMVv+AMRyGOHtO1RFBiJy/MBsgz0x4AWrT6QoEVVTyh1E39TrCUpTRI7mx9VksGX4awWASxqCYLCV4wBZHAYxA==",
+ "cpu": [
+ "arm64"
+ ],
+ "license": "Apache-2.0",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": "^18.17.0 || ^20.3.0 || >=21.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/libvips"
+ },
+ "optionalDependencies": {
+ "@img/sharp-libvips-linux-arm64": "1.0.4"
+ }
+ },
+ "node_modules/@img/sharp-linux-s390x": {
+ "version": "0.33.5",
+ "resolved": "https://registry.npmjs.org/@img/sharp-linux-s390x/-/sharp-linux-s390x-0.33.5.tgz",
+ "integrity": "sha512-y/5PCd+mP4CA/sPDKl2961b+C9d+vPAveS33s6Z3zfASk2j5upL6fXVPZi7ztePZ5CuH+1kW8JtvxgbuXHRa4Q==",
+ "cpu": [
+ "s390x"
+ ],
+ "license": "Apache-2.0",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": "^18.17.0 || ^20.3.0 || >=21.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/libvips"
+ },
+ "optionalDependencies": {
+ "@img/sharp-libvips-linux-s390x": "1.0.4"
+ }
+ },
+ "node_modules/@img/sharp-linux-x64": {
+ "version": "0.33.5",
+ "resolved": "https://registry.npmjs.org/@img/sharp-linux-x64/-/sharp-linux-x64-0.33.5.tgz",
+ "integrity": "sha512-opC+Ok5pRNAzuvq1AG0ar+1owsu842/Ab+4qvU879ippJBHvyY5n2mxF1izXqkPYlGuP/M556uh53jRLJmzTWA==",
+ "cpu": [
+ "x64"
+ ],
+ "license": "Apache-2.0",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": "^18.17.0 || ^20.3.0 || >=21.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/libvips"
+ },
+ "optionalDependencies": {
+ "@img/sharp-libvips-linux-x64": "1.0.4"
+ }
+ },
+ "node_modules/@img/sharp-linuxmusl-arm64": {
+ "version": "0.33.5",
+ "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-arm64/-/sharp-linuxmusl-arm64-0.33.5.tgz",
+ "integrity": "sha512-XrHMZwGQGvJg2V/oRSUfSAfjfPxO+4DkiRh6p2AFjLQztWUuY/o8Mq0eMQVIY7HJ1CDQUJlxGGZRw1a5bqmd1g==",
+ "cpu": [
+ "arm64"
+ ],
+ "license": "Apache-2.0",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": "^18.17.0 || ^20.3.0 || >=21.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/libvips"
+ },
+ "optionalDependencies": {
+ "@img/sharp-libvips-linuxmusl-arm64": "1.0.4"
+ }
+ },
+ "node_modules/@img/sharp-linuxmusl-x64": {
+ "version": "0.33.5",
+ "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-x64/-/sharp-linuxmusl-x64-0.33.5.tgz",
+ "integrity": "sha512-WT+d/cgqKkkKySYmqoZ8y3pxx7lx9vVejxW/W4DOFMYVSkErR+w7mf2u8m/y4+xHe7yY9DAXQMWQhpnMuFfScw==",
+ "cpu": [
+ "x64"
+ ],
+ "license": "Apache-2.0",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": "^18.17.0 || ^20.3.0 || >=21.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/libvips"
+ },
+ "optionalDependencies": {
+ "@img/sharp-libvips-linuxmusl-x64": "1.0.4"
+ }
+ },
+ "node_modules/@img/sharp-wasm32": {
+ "version": "0.33.5",
+ "resolved": "https://registry.npmjs.org/@img/sharp-wasm32/-/sharp-wasm32-0.33.5.tgz",
+ "integrity": "sha512-ykUW4LVGaMcU9lu9thv85CbRMAwfeadCJHRsg2GmeRa/cJxsVY9Rbd57JcMxBkKHag5U/x7TSBpScF4U8ElVzg==",
+ "cpu": [
+ "wasm32"
+ ],
+ "license": "Apache-2.0 AND LGPL-3.0-or-later AND MIT",
+ "optional": true,
+ "dependencies": {
+ "@emnapi/runtime": "^1.2.0"
+ },
+ "engines": {
+ "node": "^18.17.0 || ^20.3.0 || >=21.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/libvips"
+ }
+ },
+ "node_modules/@img/sharp-win32-ia32": {
+ "version": "0.33.5",
+ "resolved": "https://registry.npmjs.org/@img/sharp-win32-ia32/-/sharp-win32-ia32-0.33.5.tgz",
+ "integrity": "sha512-T36PblLaTwuVJ/zw/LaH0PdZkRz5rd3SmMHX8GSmR7vtNSP5Z6bQkExdSK7xGWyxLw4sUknBuugTelgw2faBbQ==",
+ "cpu": [
+ "ia32"
+ ],
+ "license": "Apache-2.0 AND LGPL-3.0-or-later",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": "^18.17.0 || ^20.3.0 || >=21.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/libvips"
+ }
+ },
+ "node_modules/@img/sharp-win32-x64": {
+ "version": "0.33.5",
+ "resolved": "https://registry.npmjs.org/@img/sharp-win32-x64/-/sharp-win32-x64-0.33.5.tgz",
+ "integrity": "sha512-MpY/o8/8kj+EcnxwvrP4aTJSWw/aZ7JIGR4aBeZkZw5B7/Jn+tY9/VNwtcoGmdT7GfggGIU4kygOMSbYnOrAbg==",
+ "cpu": [
+ "x64"
+ ],
+ "license": "Apache-2.0 AND LGPL-3.0-or-later",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": "^18.17.0 || ^20.3.0 || >=21.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/libvips"
+ }
+ },
+ "node_modules/@isaacs/cliui": {
+ "version": "8.0.2",
+ "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz",
+ "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "string-width": "^5.1.2",
+ "string-width-cjs": "npm:string-width@^4.2.0",
+ "strip-ansi": "^7.0.1",
+ "strip-ansi-cjs": "npm:strip-ansi@^6.0.1",
+ "wrap-ansi": "^8.1.0",
+ "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@isaacs/cliui/node_modules/ansi-regex": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz",
+ "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-regex?sponsor=1"
+ }
+ },
+ "node_modules/@isaacs/cliui/node_modules/ansi-styles": {
+ "version": "6.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz",
+ "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/@isaacs/cliui/node_modules/emoji-regex": {
+ "version": "9.2.2",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz",
+ "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@isaacs/cliui/node_modules/string-width": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz",
+ "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "eastasianwidth": "^0.2.0",
+ "emoji-regex": "^9.2.2",
+ "strip-ansi": "^7.0.1"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/@isaacs/cliui/node_modules/strip-ansi": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz",
+ "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ansi-regex": "^6.0.1"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/strip-ansi?sponsor=1"
+ }
+ },
+ "node_modules/@isaacs/cliui/node_modules/wrap-ansi": {
+ "version": "8.1.0",
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz",
+ "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ansi-styles": "^6.1.0",
+ "string-width": "^5.0.1",
+ "strip-ansi": "^7.0.1"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
+ }
+ },
+ "node_modules/@isaacs/string-locale-compare": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@isaacs/string-locale-compare/-/string-locale-compare-1.1.0.tgz",
+ "integrity": "sha512-SQ7Kzhh9+D+ZW9MA0zkYv3VXhIDNx+LzM6EJ+/65I3QY+enU6Itte7E5XX7EWrqLW2FN4n06GWzBnPoC3th2aQ==",
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/@jest/schemas": {
+ "version": "29.6.3",
+ "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz",
+ "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@sinclair/typebox": "^0.27.8"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
+ },
+ "node_modules/@lerna/create": {
+ "version": "8.1.9",
+ "resolved": "https://registry.npmjs.org/@lerna/create/-/create-8.1.9.tgz",
+ "integrity": "sha512-DPnl5lPX4v49eVxEbJnAizrpMdMTBz1qykZrAbBul9rfgk531v8oAt+Pm6O/rpAleRombNM7FJb5rYGzBJatOQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@npmcli/arborist": "7.5.4",
+ "@npmcli/package-json": "5.2.0",
+ "@npmcli/run-script": "8.1.0",
+ "@nx/devkit": ">=17.1.2 < 21",
+ "@octokit/plugin-enterprise-rest": "6.0.1",
+ "@octokit/rest": "19.0.11",
+ "aproba": "2.0.0",
+ "byte-size": "8.1.1",
+ "chalk": "4.1.0",
+ "clone-deep": "4.0.1",
+ "cmd-shim": "6.0.3",
+ "color-support": "1.1.3",
+ "columnify": "1.6.0",
+ "console-control-strings": "^1.1.0",
+ "conventional-changelog-core": "5.0.1",
+ "conventional-recommended-bump": "7.0.1",
+ "cosmiconfig": "9.0.0",
+ "dedent": "1.5.3",
+ "execa": "5.0.0",
+ "fs-extra": "^11.2.0",
+ "get-stream": "6.0.0",
+ "git-url-parse": "14.0.0",
+ "glob-parent": "6.0.2",
+ "globby": "11.1.0",
+ "graceful-fs": "4.2.11",
+ "has-unicode": "2.0.1",
+ "ini": "^1.3.8",
+ "init-package-json": "6.0.3",
+ "inquirer": "^8.2.4",
+ "is-ci": "3.0.1",
+ "is-stream": "2.0.0",
+ "js-yaml": "4.1.0",
+ "libnpmpublish": "9.0.9",
+ "load-json-file": "6.2.0",
+ "lodash": "^4.17.21",
+ "make-dir": "4.0.0",
+ "minimatch": "3.0.5",
+ "multimatch": "5.0.0",
+ "node-fetch": "2.6.7",
+ "npm-package-arg": "11.0.2",
+ "npm-packlist": "8.0.2",
+ "npm-registry-fetch": "^17.1.0",
+ "nx": ">=17.1.2 < 21",
+ "p-map": "4.0.0",
+ "p-map-series": "2.1.0",
+ "p-queue": "6.6.2",
+ "p-reduce": "^2.1.0",
+ "pacote": "^18.0.6",
+ "pify": "5.0.0",
+ "read-cmd-shim": "4.0.0",
+ "resolve-from": "5.0.0",
+ "rimraf": "^4.4.1",
+ "semver": "^7.3.4",
+ "set-blocking": "^2.0.0",
+ "signal-exit": "3.0.7",
+ "slash": "^3.0.0",
+ "ssri": "^10.0.6",
+ "string-width": "^4.2.3",
+ "strip-ansi": "^6.0.1",
+ "strong-log-transformer": "2.1.0",
+ "tar": "6.2.1",
+ "temp-dir": "1.0.0",
+ "upath": "2.0.1",
+ "uuid": "^10.0.0",
+ "validate-npm-package-license": "^3.0.4",
+ "validate-npm-package-name": "5.0.1",
+ "wide-align": "1.1.5",
+ "write-file-atomic": "5.0.1",
+ "write-pkg": "4.0.0",
+ "yargs": "17.7.2",
+ "yargs-parser": "21.1.1"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@lerna/create/node_modules/chalk": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz",
+ "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/chalk?sponsor=1"
+ }
+ },
+ "node_modules/@lerna/create/node_modules/supports-color": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/@napi-rs/wasm-runtime": {
+ "version": "0.2.4",
+ "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-0.2.4.tgz",
+ "integrity": "sha512-9zESzOO5aDByvhIAsOy9TbpZ0Ur2AJbUI7UT73kcUTS2mxAMHOBaa1st/jAymNoCtvrit99kkzT1FZuXVcgfIQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@emnapi/core": "^1.1.0",
+ "@emnapi/runtime": "^1.1.0",
+ "@tybys/wasm-util": "^0.9.0"
+ }
+ },
+ "node_modules/@noble/curves": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.2.0.tgz",
+ "integrity": "sha512-oYclrNgRaM9SsBUBVbb8M6DTV7ZHRTKugureoYEncY5c65HOmRzvSiTE3y5CYaPYJA/GVkrhXEoF0M3Ya9PMnw==",
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "@noble/hashes": "1.3.2"
+ },
+ "funding": {
+ "url": "https://paulmillr.com/funding/"
+ }
+ },
+ "node_modules/@noble/hashes": {
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.3.2.tgz",
+ "integrity": "sha512-MVC8EAQp7MvEcm30KWENFjgR+Mkmf+D189XJTkFIlwohU5hcBbn1ZkKq7KVTi2Hme3PMGF390DaL52beVrIihQ==",
+ "license": "MIT",
+ "peer": true,
+ "engines": {
+ "node": ">= 16"
+ },
+ "funding": {
+ "url": "https://paulmillr.com/funding/"
+ }
+ },
+ "node_modules/@nodelib/fs.scandir": {
+ "version": "2.1.5",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
+ "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@nodelib/fs.stat": "2.0.5",
+ "run-parallel": "^1.1.9"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/@nodelib/fs.stat": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz",
+ "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/@nodelib/fs.walk": {
+ "version": "1.2.8",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz",
+ "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@nodelib/fs.scandir": "2.1.5",
+ "fastq": "^1.6.0"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/@npmcli/agent": {
+ "version": "2.2.2",
+ "resolved": "https://registry.npmjs.org/@npmcli/agent/-/agent-2.2.2.tgz",
+ "integrity": "sha512-OrcNPXdpSl9UX7qPVRWbmWMCSXrcDa2M9DvrbOTj7ao1S4PlqVFYv9/yLKMkrJKZ/V5A/kDBC690or307i26Og==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "agent-base": "^7.1.0",
+ "http-proxy-agent": "^7.0.0",
+ "https-proxy-agent": "^7.0.1",
+ "lru-cache": "^10.0.1",
+ "socks-proxy-agent": "^8.0.3"
+ },
+ "engines": {
+ "node": "^16.14.0 || >=18.0.0"
+ }
+ },
+ "node_modules/@npmcli/arborist": {
+ "version": "7.5.4",
+ "resolved": "https://registry.npmjs.org/@npmcli/arborist/-/arborist-7.5.4.tgz",
+ "integrity": "sha512-nWtIc6QwwoUORCRNzKx4ypHqCk3drI+5aeYdMTQQiRCcn4lOOgfQh7WyZobGYTxXPSq1VwV53lkpN/BRlRk08g==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "@isaacs/string-locale-compare": "^1.1.0",
+ "@npmcli/fs": "^3.1.1",
+ "@npmcli/installed-package-contents": "^2.1.0",
+ "@npmcli/map-workspaces": "^3.0.2",
+ "@npmcli/metavuln-calculator": "^7.1.1",
+ "@npmcli/name-from-folder": "^2.0.0",
+ "@npmcli/node-gyp": "^3.0.0",
+ "@npmcli/package-json": "^5.1.0",
+ "@npmcli/query": "^3.1.0",
+ "@npmcli/redact": "^2.0.0",
+ "@npmcli/run-script": "^8.1.0",
+ "bin-links": "^4.0.4",
+ "cacache": "^18.0.3",
+ "common-ancestor-path": "^1.0.1",
+ "hosted-git-info": "^7.0.2",
+ "json-parse-even-better-errors": "^3.0.2",
+ "json-stringify-nice": "^1.1.4",
+ "lru-cache": "^10.2.2",
+ "minimatch": "^9.0.4",
+ "nopt": "^7.2.1",
+ "npm-install-checks": "^6.2.0",
+ "npm-package-arg": "^11.0.2",
+ "npm-pick-manifest": "^9.0.1",
+ "npm-registry-fetch": "^17.0.1",
+ "pacote": "^18.0.6",
+ "parse-conflict-json": "^3.0.0",
+ "proc-log": "^4.2.0",
+ "proggy": "^2.0.0",
+ "promise-all-reject-late": "^1.0.0",
+ "promise-call-limit": "^3.0.1",
+ "read-package-json-fast": "^3.0.2",
+ "semver": "^7.3.7",
+ "ssri": "^10.0.6",
+ "treeverse": "^3.0.0",
+ "walk-up-path": "^3.0.1"
+ },
+ "bin": {
+ "arborist": "bin/index.js"
+ },
+ "engines": {
+ "node": "^16.14.0 || >=18.0.0"
+ }
+ },
+ "node_modules/@npmcli/arborist/node_modules/brace-expansion": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
+ "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "balanced-match": "^1.0.0"
+ }
+ },
+ "node_modules/@npmcli/arborist/node_modules/minimatch": {
+ "version": "9.0.5",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz",
+ "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "brace-expansion": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=16 || 14 >=14.17"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/@npmcli/fs": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-3.1.1.tgz",
+ "integrity": "sha512-q9CRWjpHCMIh5sVyefoD1cA7PkvILqCZsnSOEUUivORLjxCO/Irmue2DprETiNgEqktDBZaM1Bi+jrarx1XdCg==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "semver": "^7.3.5"
+ },
+ "engines": {
+ "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+ }
+ },
+ "node_modules/@npmcli/git": {
+ "version": "5.0.8",
+ "resolved": "https://registry.npmjs.org/@npmcli/git/-/git-5.0.8.tgz",
+ "integrity": "sha512-liASfw5cqhjNW9UFd+ruwwdEf/lbOAQjLL2XY2dFW/bkJheXDYZgOyul/4gVvEV4BWkTXjYGmDqMw9uegdbJNQ==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "@npmcli/promise-spawn": "^7.0.0",
+ "ini": "^4.1.3",
+ "lru-cache": "^10.0.1",
+ "npm-pick-manifest": "^9.0.0",
+ "proc-log": "^4.0.0",
+ "promise-inflight": "^1.0.1",
+ "promise-retry": "^2.0.1",
+ "semver": "^7.3.5",
+ "which": "^4.0.0"
+ },
+ "engines": {
+ "node": "^16.14.0 || >=18.0.0"
+ }
+ },
+ "node_modules/@npmcli/git/node_modules/ini": {
+ "version": "4.1.3",
+ "resolved": "https://registry.npmjs.org/ini/-/ini-4.1.3.tgz",
+ "integrity": "sha512-X7rqawQBvfdjS10YU1y1YVreA3SsLrW9dX2CewP2EbBJM4ypVNLDkO5y04gejPwKIY9lR+7r9gn3rFPt/kmWFg==",
+ "dev": true,
+ "license": "ISC",
+ "engines": {
+ "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+ }
+ },
+ "node_modules/@npmcli/installed-package-contents": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/@npmcli/installed-package-contents/-/installed-package-contents-2.1.0.tgz",
+ "integrity": "sha512-c8UuGLeZpm69BryRykLuKRyKFZYJsZSCT4aVY5ds4omyZqJ172ApzgfKJ5eV/r3HgLdUYgFVe54KSFVjKoe27w==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "npm-bundled": "^3.0.0",
+ "npm-normalize-package-bin": "^3.0.0"
+ },
+ "bin": {
+ "installed-package-contents": "bin/index.js"
+ },
+ "engines": {
+ "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+ }
+ },
+ "node_modules/@npmcli/map-workspaces": {
+ "version": "3.0.6",
+ "resolved": "https://registry.npmjs.org/@npmcli/map-workspaces/-/map-workspaces-3.0.6.tgz",
+ "integrity": "sha512-tkYs0OYnzQm6iIRdfy+LcLBjcKuQCeE5YLb8KnrIlutJfheNaPvPpgoFEyEFgbjzl5PLZ3IA/BWAwRU0eHuQDA==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "@npmcli/name-from-folder": "^2.0.0",
+ "glob": "^10.2.2",
+ "minimatch": "^9.0.0",
+ "read-package-json-fast": "^3.0.0"
+ },
+ "engines": {
+ "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+ }
+ },
+ "node_modules/@npmcli/map-workspaces/node_modules/brace-expansion": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
+ "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "balanced-match": "^1.0.0"
+ }
+ },
+ "node_modules/@npmcli/map-workspaces/node_modules/minimatch": {
+ "version": "9.0.5",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz",
+ "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "brace-expansion": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=16 || 14 >=14.17"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/@npmcli/metavuln-calculator": {
+ "version": "7.1.1",
+ "resolved": "https://registry.npmjs.org/@npmcli/metavuln-calculator/-/metavuln-calculator-7.1.1.tgz",
+ "integrity": "sha512-Nkxf96V0lAx3HCpVda7Vw4P23RILgdi/5K1fmj2tZkWIYLpXAN8k2UVVOsW16TsS5F8Ws2I7Cm+PU1/rsVF47g==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "cacache": "^18.0.0",
+ "json-parse-even-better-errors": "^3.0.0",
+ "pacote": "^18.0.0",
+ "proc-log": "^4.1.0",
+ "semver": "^7.3.5"
+ },
+ "engines": {
+ "node": "^16.14.0 || >=18.0.0"
+ }
+ },
+ "node_modules/@npmcli/name-from-folder": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/@npmcli/name-from-folder/-/name-from-folder-2.0.0.tgz",
+ "integrity": "sha512-pwK+BfEBZJbKdNYpHHRTNBwBoqrN/iIMO0AiGvYsp3Hoaq0WbgGSWQR6SCldZovoDpY3yje5lkFUe6gsDgJ2vg==",
+ "dev": true,
+ "license": "ISC",
+ "engines": {
+ "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+ }
+ },
+ "node_modules/@npmcli/node-gyp": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/@npmcli/node-gyp/-/node-gyp-3.0.0.tgz",
+ "integrity": "sha512-gp8pRXC2oOxu0DUE1/M3bYtb1b3/DbJ5aM113+XJBgfXdussRAsX0YOrOhdd8WvnAR6auDBvJomGAkLKA5ydxA==",
+ "dev": true,
+ "license": "ISC",
+ "engines": {
+ "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+ }
+ },
+ "node_modules/@npmcli/package-json": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/@npmcli/package-json/-/package-json-5.2.0.tgz",
+ "integrity": "sha512-qe/kiqqkW0AGtvBjL8TJKZk/eBBSpnJkUWvHdQ9jM2lKHXRYYJuyNpJPlJw3c8QjC2ow6NZYiLExhUaeJelbxQ==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "@npmcli/git": "^5.0.0",
+ "glob": "^10.2.2",
+ "hosted-git-info": "^7.0.0",
+ "json-parse-even-better-errors": "^3.0.0",
+ "normalize-package-data": "^6.0.0",
+ "proc-log": "^4.0.0",
+ "semver": "^7.5.3"
+ },
+ "engines": {
+ "node": "^16.14.0 || >=18.0.0"
+ }
+ },
+ "node_modules/@npmcli/promise-spawn": {
+ "version": "7.0.2",
+ "resolved": "https://registry.npmjs.org/@npmcli/promise-spawn/-/promise-spawn-7.0.2.tgz",
+ "integrity": "sha512-xhfYPXoV5Dy4UkY0D+v2KkwvnDfiA/8Mt3sWCGI/hM03NsYIH8ZaG6QzS9x7pje5vHZBZJ2v6VRFVTWACnqcmQ==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "which": "^4.0.0"
+ },
+ "engines": {
+ "node": "^16.14.0 || >=18.0.0"
+ }
+ },
+ "node_modules/@npmcli/query": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/@npmcli/query/-/query-3.1.0.tgz",
+ "integrity": "sha512-C/iR0tk7KSKGldibYIB9x8GtO/0Bd0I2mhOaDb8ucQL/bQVTmGoeREaFj64Z5+iCBRf3dQfed0CjJL7I8iTkiQ==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "postcss-selector-parser": "^6.0.10"
+ },
+ "engines": {
+ "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+ }
+ },
+ "node_modules/@npmcli/redact": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/@npmcli/redact/-/redact-2.0.1.tgz",
+ "integrity": "sha512-YgsR5jCQZhVmTJvjduTOIHph0L73pK8xwMVaDY0PatySqVM9AZj93jpoXYSJqfHFxFkN9dmqTw6OiqExsS3LPw==",
+ "dev": true,
+ "license": "ISC",
+ "engines": {
+ "node": "^16.14.0 || >=18.0.0"
+ }
+ },
+ "node_modules/@npmcli/run-script": {
+ "version": "8.1.0",
+ "resolved": "https://registry.npmjs.org/@npmcli/run-script/-/run-script-8.1.0.tgz",
+ "integrity": "sha512-y7efHHwghQfk28G2z3tlZ67pLG0XdfYbcVG26r7YIXALRsrVQcTq4/tdenSmdOrEsNahIYA/eh8aEVROWGFUDg==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "@npmcli/node-gyp": "^3.0.0",
+ "@npmcli/package-json": "^5.0.0",
+ "@npmcli/promise-spawn": "^7.0.0",
+ "node-gyp": "^10.0.0",
+ "proc-log": "^4.0.0",
+ "which": "^4.0.0"
+ },
+ "engines": {
+ "node": "^16.14.0 || >=18.0.0"
+ }
+ },
+ "node_modules/@nx/devkit": {
+ "version": "20.1.2",
+ "resolved": "https://registry.npmjs.org/@nx/devkit/-/devkit-20.1.2.tgz",
+ "integrity": "sha512-MTEWiEST7DhzZ2QmrixLnHfYVDZk7QN9omLL8m+5Etcn/3ZKa1aAo9Amd2MkUM+0MPoTKnxoGdw0fQUpAy21Mg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ejs": "^3.1.7",
+ "enquirer": "~2.3.6",
+ "ignore": "^5.0.4",
+ "minimatch": "9.0.3",
+ "semver": "^7.5.3",
+ "tmp": "~0.2.1",
+ "tslib": "^2.3.0",
+ "yargs-parser": "21.1.1"
+ },
+ "peerDependencies": {
+ "nx": ">= 19 <= 21"
+ }
+ },
+ "node_modules/@nx/devkit/node_modules/brace-expansion": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
+ "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "balanced-match": "^1.0.0"
+ }
+ },
+ "node_modules/@nx/devkit/node_modules/minimatch": {
+ "version": "9.0.3",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz",
+ "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "brace-expansion": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=16 || 14 >=14.17"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/@nx/nx-darwin-arm64": {
+ "version": "20.1.2",
+ "resolved": "https://registry.npmjs.org/@nx/nx-darwin-arm64/-/nx-darwin-arm64-20.1.2.tgz",
+ "integrity": "sha512-PJ91TQhd28kitDBubKUOXMYvrtSDrG+rr8MsIe9cHo1CvU9smcGVBwuHBxniq0DXsyOX/5GL6ngq7hjN2nQ3XQ==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@nx/nx-darwin-x64": {
+ "version": "20.1.2",
+ "resolved": "https://registry.npmjs.org/@nx/nx-darwin-x64/-/nx-darwin-x64-20.1.2.tgz",
+ "integrity": "sha512-1fopau7nxIhTF26vDTIzMxl15AtW4FvUSdy+r1mNRKrKyjjpqnlu00SQBW7JzGV0agDD1B/61yYei5Q2aMOt7Q==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@nx/nx-freebsd-x64": {
+ "version": "20.1.2",
+ "resolved": "https://registry.npmjs.org/@nx/nx-freebsd-x64/-/nx-freebsd-x64-20.1.2.tgz",
+ "integrity": "sha512-55YgIp3v4zz7xMzJO93dtglbOTER2XdS6jrCt8GbKaWGFl5drRrBoNGONtiGNU7C3hLx1VsorbynCkJT18PjKQ==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "freebsd"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@nx/nx-linux-arm-gnueabihf": {
+ "version": "20.1.2",
+ "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm-gnueabihf/-/nx-linux-arm-gnueabihf-20.1.2.tgz",
+ "integrity": "sha512-sMhNA8uAV43UYVEXEa8TZ8Fjpom4CGq1umTptEGOF4TTtdNn2AUBreg+0bVODM8MMSzRWGI1VbkZzHESnAPwqw==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@nx/nx-linux-arm64-gnu": {
+ "version": "20.1.2",
+ "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-gnu/-/nx-linux-arm64-gnu-20.1.2.tgz",
+ "integrity": "sha512-bsevarNHglaYLmIvPNQOdHrBnBgaW3EOUM0flwaXdWuZbL1bWx8GoVwHp9yJpZOAOfIF/Nhq5iTpaZB2nYFrAA==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@nx/nx-linux-arm64-musl": {
+ "version": "20.1.2",
+ "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-musl/-/nx-linux-arm64-musl-20.1.2.tgz",
+ "integrity": "sha512-GFZTptkhZPL/iZ3tYDmspIcPEaXyy/L/o59gyp33GoFAAyDhiXIF7J1Lz81Xn8VKrX6TvEY8/9qSh86pb7qzDQ==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@nx/nx-linux-x64-gnu": {
+ "version": "20.1.2",
+ "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-gnu/-/nx-linux-x64-gnu-20.1.2.tgz",
+ "integrity": "sha512-yqEW/iglKT4d9lgfnwSNhmDzPxCkRhtdmZqOYpGDM0eZFwYwJF+WRGjW8xIqMj8PA1yrGItzXZOmyFjJqHAF2w==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@nx/nx-linux-x64-musl": {
+ "version": "20.1.2",
+ "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-musl/-/nx-linux-x64-musl-20.1.2.tgz",
+ "integrity": "sha512-SP6PpWT4cQVrC4WJQdpfADrYJQzkbhgmcGleWbpr7II1HJgOsAcvoDwQGpPQX+3Wo+VBiNecvUAOzacMQkXPGw==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@nx/nx-win32-arm64-msvc": {
+ "version": "20.1.2",
+ "resolved": "https://registry.npmjs.org/@nx/nx-win32-arm64-msvc/-/nx-win32-arm64-msvc-20.1.2.tgz",
+ "integrity": "sha512-JZQx9gr39LY3D7uleiXlpxUsavuOrOQNBocwKHkAMnykaT/e1VCxTnm/hk+2b4foWwfURTqoRiFEba70iiCdYg==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@nx/nx-win32-x64-msvc": {
+ "version": "20.1.2",
+ "resolved": "https://registry.npmjs.org/@nx/nx-win32-x64-msvc/-/nx-win32-x64-msvc-20.1.2.tgz",
+ "integrity": "sha512-6GmT8iswDiCvJaCtW9DpWeAQmLS/kfAuRLYBisfzlONuLPaDdjhgVIxZBqqUSFfclwcVz+NhIOGvdr0aGFZCtQ==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@octokit/auth-token": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-3.0.4.tgz",
+ "integrity": "sha512-TWFX7cZF2LXoCvdmJWY7XVPi74aSY0+FfBZNSXEXFkMpjcqsQwDSYVv5FhRFaI0V1ECnwbz4j59T/G+rXNWaIQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 14"
+ }
+ },
+ "node_modules/@octokit/core": {
+ "version": "4.2.4",
+ "resolved": "https://registry.npmjs.org/@octokit/core/-/core-4.2.4.tgz",
+ "integrity": "sha512-rYKilwgzQ7/imScn3M9/pFfUf4I1AZEH3KhyJmtPdE2zfaXAn2mFfUy4FbKewzc2We5y/LlKLj36fWJLKC2SIQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@octokit/auth-token": "^3.0.0",
+ "@octokit/graphql": "^5.0.0",
+ "@octokit/request": "^6.0.0",
+ "@octokit/request-error": "^3.0.0",
+ "@octokit/types": "^9.0.0",
+ "before-after-hook": "^2.2.0",
+ "universal-user-agent": "^6.0.0"
+ },
+ "engines": {
+ "node": ">= 14"
+ }
+ },
+ "node_modules/@octokit/endpoint": {
+ "version": "7.0.6",
+ "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-7.0.6.tgz",
+ "integrity": "sha512-5L4fseVRUsDFGR00tMWD/Trdeeihn999rTMGRMC1G/Ldi1uWlWJzI98H4Iak5DB/RVvQuyMYKqSK/R6mbSOQyg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@octokit/types": "^9.0.0",
+ "is-plain-object": "^5.0.0",
+ "universal-user-agent": "^6.0.0"
+ },
+ "engines": {
+ "node": ">= 14"
+ }
+ },
+ "node_modules/@octokit/graphql": {
+ "version": "5.0.6",
+ "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-5.0.6.tgz",
+ "integrity": "sha512-Fxyxdy/JH0MnIB5h+UQ3yCoh1FG4kWXfFKkpWqjZHw/p+Kc8Y44Hu/kCgNBT6nU1shNumEchmW/sUO1JuQnPcw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@octokit/request": "^6.0.0",
+ "@octokit/types": "^9.0.0",
+ "universal-user-agent": "^6.0.0"
+ },
+ "engines": {
+ "node": ">= 14"
+ }
+ },
+ "node_modules/@octokit/openapi-types": {
+ "version": "18.1.1",
+ "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-18.1.1.tgz",
+ "integrity": "sha512-VRaeH8nCDtF5aXWnjPuEMIYf1itK/s3JYyJcWFJT8X9pSNnBtriDf7wlEWsGuhPLl4QIH4xM8fqTXDwJ3Mu6sw==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@octokit/plugin-enterprise-rest": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/@octokit/plugin-enterprise-rest/-/plugin-enterprise-rest-6.0.1.tgz",
+ "integrity": "sha512-93uGjlhUD+iNg1iWhUENAtJata6w5nE+V4urXOAlIXdco6xNZtUSfYY8dzp3Udy74aqO/B5UZL80x/YMa5PKRw==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@octokit/plugin-paginate-rest": {
+ "version": "6.1.2",
+ "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-6.1.2.tgz",
+ "integrity": "sha512-qhrmtQeHU/IivxucOV1bbI/xZyC/iOBhclokv7Sut5vnejAIAEXVcGQeRpQlU39E0WwK9lNvJHphHri/DB6lbQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@octokit/tsconfig": "^1.0.2",
+ "@octokit/types": "^9.2.3"
+ },
+ "engines": {
+ "node": ">= 14"
+ },
+ "peerDependencies": {
+ "@octokit/core": ">=4"
+ }
+ },
+ "node_modules/@octokit/plugin-request-log": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/@octokit/plugin-request-log/-/plugin-request-log-1.0.4.tgz",
+ "integrity": "sha512-mLUsMkgP7K/cnFEw07kWqXGF5LKrOkD+lhCrKvPHXWDywAwuDUeDwWBpc69XK3pNX0uKiVt8g5z96PJ6z9xCFA==",
+ "dev": true,
+ "license": "MIT",
+ "peerDependencies": {
+ "@octokit/core": ">=3"
+ }
+ },
+ "node_modules/@octokit/plugin-rest-endpoint-methods": {
+ "version": "7.2.3",
+ "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-7.2.3.tgz",
+ "integrity": "sha512-I5Gml6kTAkzVlN7KCtjOM+Ruwe/rQppp0QU372K1GP7kNOYEKe8Xn5BW4sE62JAHdwpq95OQK/qGNyKQMUzVgA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@octokit/types": "^10.0.0"
+ },
+ "engines": {
+ "node": ">= 14"
+ },
+ "peerDependencies": {
+ "@octokit/core": ">=3"
+ }
+ },
+ "node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types": {
+ "version": "10.0.0",
+ "resolved": "https://registry.npmjs.org/@octokit/types/-/types-10.0.0.tgz",
+ "integrity": "sha512-Vm8IddVmhCgU1fxC1eyinpwqzXPEYu0NrYzD3YZjlGjyftdLBTeqNblRC0jmJmgxbJIsQlyogVeGnrNaaMVzIg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@octokit/openapi-types": "^18.0.0"
+ }
+ },
+ "node_modules/@octokit/request": {
+ "version": "6.2.8",
+ "resolved": "https://registry.npmjs.org/@octokit/request/-/request-6.2.8.tgz",
+ "integrity": "sha512-ow4+pkVQ+6XVVsekSYBzJC0VTVvh/FCTUUgTsboGq+DTeWdyIFV8WSCdo0RIxk6wSkBTHqIK1mYuY7nOBXOchw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@octokit/endpoint": "^7.0.0",
+ "@octokit/request-error": "^3.0.0",
+ "@octokit/types": "^9.0.0",
+ "is-plain-object": "^5.0.0",
+ "node-fetch": "^2.6.7",
+ "universal-user-agent": "^6.0.0"
+ },
+ "engines": {
+ "node": ">= 14"
+ }
+ },
+ "node_modules/@octokit/request-error": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-3.0.3.tgz",
+ "integrity": "sha512-crqw3V5Iy2uOU5Np+8M/YexTlT8zxCfI+qu+LxUB7SZpje4Qmx3mub5DfEKSO8Ylyk0aogi6TYdf6kxzh2BguQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@octokit/types": "^9.0.0",
+ "deprecation": "^2.0.0",
+ "once": "^1.4.0"
+ },
+ "engines": {
+ "node": ">= 14"
+ }
+ },
+ "node_modules/@octokit/rest": {
+ "version": "19.0.11",
+ "resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-19.0.11.tgz",
+ "integrity": "sha512-m2a9VhaP5/tUw8FwfnW2ICXlXpLPIqxtg3XcAiGMLj/Xhw3RSBfZ8le/466ktO1Gcjr8oXudGnHhxV1TXJgFxw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@octokit/core": "^4.2.1",
+ "@octokit/plugin-paginate-rest": "^6.1.2",
+ "@octokit/plugin-request-log": "^1.0.4",
+ "@octokit/plugin-rest-endpoint-methods": "^7.1.2"
+ },
+ "engines": {
+ "node": ">= 14"
+ }
+ },
+ "node_modules/@octokit/tsconfig": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/@octokit/tsconfig/-/tsconfig-1.0.2.tgz",
+ "integrity": "sha512-I0vDR0rdtP8p2lGMzvsJzbhdOWy405HcGovrspJ8RRibHnyRgggUSNO5AIox5LmqiwmatHKYsvj6VGFHkqS7lA==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@octokit/types": {
+ "version": "9.3.2",
+ "resolved": "https://registry.npmjs.org/@octokit/types/-/types-9.3.2.tgz",
+ "integrity": "sha512-D4iHGTdAnEEVsB8fl95m1hiz7D5YiRdQ9b/OEb3BYRVwbLsGHcRVPz+u+BgRLNk0Q0/4iZCBqDN96j2XNxfXrA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@octokit/openapi-types": "^18.0.0"
+ }
+ },
+ "node_modules/@pkgjs/parseargs": {
+ "version": "0.11.0",
+ "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz",
+ "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==",
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "engines": {
+ "node": ">=14"
+ }
+ },
+ "node_modules/@shikijs/core": {
+ "version": "1.23.1",
+ "resolved": "https://registry.npmjs.org/@shikijs/core/-/core-1.23.1.tgz",
+ "integrity": "sha512-NuOVgwcHgVC6jBVH5V7iblziw6iQbWWHrj5IlZI3Fqu2yx9awH7OIQkXIcsHsUmY19ckwSgUMgrqExEyP5A0TA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@shikijs/engine-javascript": "1.23.1",
+ "@shikijs/engine-oniguruma": "1.23.1",
+ "@shikijs/types": "1.23.1",
+ "@shikijs/vscode-textmate": "^9.3.0",
+ "@types/hast": "^3.0.4",
+ "hast-util-to-html": "^9.0.3"
+ }
+ },
+ "node_modules/@shikijs/engine-javascript": {
+ "version": "1.23.1",
+ "resolved": "https://registry.npmjs.org/@shikijs/engine-javascript/-/engine-javascript-1.23.1.tgz",
+ "integrity": "sha512-i/LdEwT5k3FVu07SiApRFwRcSJs5QM9+tod5vYCPig1Ywi8GR30zcujbxGQFJHwYD7A5BUqagi8o5KS+LEVgBg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@shikijs/types": "1.23.1",
+ "@shikijs/vscode-textmate": "^9.3.0",
+ "oniguruma-to-es": "0.4.1"
+ }
+ },
+ "node_modules/@shikijs/engine-oniguruma": {
+ "version": "1.23.1",
+ "resolved": "https://registry.npmjs.org/@shikijs/engine-oniguruma/-/engine-oniguruma-1.23.1.tgz",
+ "integrity": "sha512-KQ+lgeJJ5m2ISbUZudLR1qHeH3MnSs2mjFg7bnencgs5jDVPeJ2NVDJ3N5ZHbcTsOIh0qIueyAJnwg7lg7kwXQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@shikijs/types": "1.23.1",
+ "@shikijs/vscode-textmate": "^9.3.0"
+ }
+ },
+ "node_modules/@shikijs/types": {
+ "version": "1.23.1",
+ "resolved": "https://registry.npmjs.org/@shikijs/types/-/types-1.23.1.tgz",
+ "integrity": "sha512-98A5hGyEhzzAgQh2dAeHKrWW4HfCMeoFER2z16p5eJ+vmPeF6lZ/elEne6/UCU551F/WqkopqRsr1l2Yu6+A0g==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@shikijs/vscode-textmate": "^9.3.0",
+ "@types/hast": "^3.0.4"
+ }
+ },
+ "node_modules/@shikijs/vscode-textmate": {
+ "version": "9.3.0",
+ "resolved": "https://registry.npmjs.org/@shikijs/vscode-textmate/-/vscode-textmate-9.3.0.tgz",
+ "integrity": "sha512-jn7/7ky30idSkd/O5yDBfAnVt+JJpepofP/POZ1iMOxK59cOfqIgg/Dj0eFsjOTMw+4ycJN0uhZH/Eb0bs/EUA==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@sigstore/bundle": {
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/@sigstore/bundle/-/bundle-2.3.2.tgz",
+ "integrity": "sha512-wueKWDk70QixNLB363yHc2D2ItTgYiMTdPwK8D9dKQMR3ZQ0c35IxP5xnwQ8cNLoCgCRcHf14kE+CLIvNX1zmA==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@sigstore/protobuf-specs": "^0.3.2"
+ },
+ "engines": {
+ "node": "^16.14.0 || >=18.0.0"
+ }
+ },
+ "node_modules/@sigstore/core": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@sigstore/core/-/core-1.1.0.tgz",
+ "integrity": "sha512-JzBqdVIyqm2FRQCulY6nbQzMpJJpSiJ8XXWMhtOX9eKgaXXpfNOF53lzQEjIydlStnd/eFtuC1dW4VYdD93oRg==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "engines": {
+ "node": "^16.14.0 || >=18.0.0"
+ }
+ },
+ "node_modules/@sigstore/protobuf-specs": {
+ "version": "0.3.2",
+ "resolved": "https://registry.npmjs.org/@sigstore/protobuf-specs/-/protobuf-specs-0.3.2.tgz",
+ "integrity": "sha512-c6B0ehIWxMI8wiS/bj6rHMPqeFvngFV7cDU/MY+B16P9Z3Mp9k8L93eYZ7BYzSickzuqAQqAq0V956b3Ju6mLw==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "engines": {
+ "node": "^16.14.0 || >=18.0.0"
+ }
+ },
+ "node_modules/@sigstore/sign": {
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/@sigstore/sign/-/sign-2.3.2.tgz",
+ "integrity": "sha512-5Vz5dPVuunIIvC5vBb0APwo7qKA4G9yM48kPWJT+OEERs40md5GoUR1yedwpekWZ4m0Hhw44m6zU+ObsON+iDA==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@sigstore/bundle": "^2.3.2",
+ "@sigstore/core": "^1.0.0",
+ "@sigstore/protobuf-specs": "^0.3.2",
+ "make-fetch-happen": "^13.0.1",
+ "proc-log": "^4.2.0",
+ "promise-retry": "^2.0.1"
+ },
+ "engines": {
+ "node": "^16.14.0 || >=18.0.0"
+ }
+ },
+ "node_modules/@sigstore/tuf": {
+ "version": "2.3.4",
+ "resolved": "https://registry.npmjs.org/@sigstore/tuf/-/tuf-2.3.4.tgz",
+ "integrity": "sha512-44vtsveTPUpqhm9NCrbU8CWLe3Vck2HO1PNLw7RIajbB7xhtn5RBPm1VNSCMwqGYHhDsBJG8gDF0q4lgydsJvw==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@sigstore/protobuf-specs": "^0.3.2",
+ "tuf-js": "^2.2.1"
+ },
+ "engines": {
+ "node": "^16.14.0 || >=18.0.0"
+ }
+ },
+ "node_modules/@sigstore/verify": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/@sigstore/verify/-/verify-1.2.1.tgz",
+ "integrity": "sha512-8iKx79/F73DKbGfRf7+t4dqrc0bRr0thdPrxAtCKWRm/F0tG71i6O1rvlnScncJLLBZHn3h8M3c1BSUAb9yu8g==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@sigstore/bundle": "^2.3.2",
+ "@sigstore/core": "^1.1.0",
+ "@sigstore/protobuf-specs": "^0.3.2"
+ },
+ "engines": {
+ "node": "^16.14.0 || >=18.0.0"
+ }
+ },
+ "node_modules/@sinclair/typebox": {
+ "version": "0.27.8",
+ "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz",
+ "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@tufjs/canonical-json": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/@tufjs/canonical-json/-/canonical-json-2.0.0.tgz",
+ "integrity": "sha512-yVtV8zsdo8qFHe+/3kw81dSLyF7D576A5cCFCi4X7B39tWT7SekaEFUnvnWJHz+9qO7qJTah1JbrDjWKqFtdWA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": "^16.14.0 || >=18.0.0"
+ }
+ },
+ "node_modules/@tufjs/models": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/@tufjs/models/-/models-2.0.1.tgz",
+ "integrity": "sha512-92F7/SFyufn4DXsha9+QfKnN03JGqtMFMXgSHbZOo8JG59WkTni7UzAouNQDf7AuP9OAMxVOPQcqG3sB7w+kkg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@tufjs/canonical-json": "2.0.0",
+ "minimatch": "^9.0.4"
+ },
+ "engines": {
+ "node": "^16.14.0 || >=18.0.0"
+ }
+ },
+ "node_modules/@tufjs/models/node_modules/brace-expansion": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
+ "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "balanced-match": "^1.0.0"
+ }
+ },
+ "node_modules/@tufjs/models/node_modules/minimatch": {
+ "version": "9.0.5",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz",
+ "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "brace-expansion": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=16 || 14 >=14.17"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/@tybys/wasm-util": {
+ "version": "0.9.0",
+ "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.9.0.tgz",
+ "integrity": "sha512-6+7nlbMVX/PVDCwaIQ8nTOPveOcFLSt8GcXdx8hD0bt39uWxYT88uXzqTd4fTvqta7oeUJqudepapKNt2DYJFw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "tslib": "^2.4.0"
+ }
+ },
+ "node_modules/@types/hast": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.4.tgz",
+ "integrity": "sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@types/unist": "*"
+ }
+ },
+ "node_modules/@types/mdast": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.4.tgz",
+ "integrity": "sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@types/unist": "*"
+ }
+ },
+ "node_modules/@types/minimatch": {
+ "version": "3.0.5",
+ "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz",
+ "integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@types/minimist": {
+ "version": "1.2.5",
+ "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.5.tgz",
+ "integrity": "sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@types/node": {
+ "version": "18.15.13",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-18.15.13.tgz",
+ "integrity": "sha512-N+0kuo9KgrUQ1Sn/ifDXsvg0TTleP7rIy4zOBGECxAljqvqfqpTfzx0Q1NUedOixRMBfe2Whhb056a42cWs26Q==",
+ "license": "MIT",
+ "peer": true
+ },
+ "node_modules/@types/normalize-package-data": {
+ "version": "2.4.4",
+ "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz",
+ "integrity": "sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@types/unist": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz",
+ "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@ungap/structured-clone": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz",
+ "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==",
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/@yarnpkg/lockfile": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz",
+ "integrity": "sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==",
+ "dev": true,
+ "license": "BSD-2-Clause"
+ },
+ "node_modules/@yarnpkg/parsers": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/@yarnpkg/parsers/-/parsers-3.0.2.tgz",
+ "integrity": "sha512-/HcYgtUSiJiot/XWGLOlGxPYUG65+/31V8oqk17vZLW1xlCoR4PampyePljOxY2n8/3jz9+tIFzICsyGujJZoA==",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "dependencies": {
+ "js-yaml": "^3.10.0",
+ "tslib": "^2.4.0"
+ },
+ "engines": {
+ "node": ">=18.12.0"
+ }
+ },
+ "node_modules/@yarnpkg/parsers/node_modules/argparse": {
+ "version": "1.0.10",
+ "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
+ "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "sprintf-js": "~1.0.2"
+ }
+ },
+ "node_modules/@yarnpkg/parsers/node_modules/js-yaml": {
+ "version": "3.14.1",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz",
+ "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "argparse": "^1.0.7",
+ "esprima": "^4.0.0"
+ },
+ "bin": {
+ "js-yaml": "bin/js-yaml.js"
+ }
+ },
+ "node_modules/@yarnpkg/parsers/node_modules/sprintf-js": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
+ "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==",
+ "dev": true,
+ "license": "BSD-3-Clause"
+ },
+ "node_modules/@zkochan/js-yaml": {
+ "version": "0.0.7",
+ "resolved": "https://registry.npmjs.org/@zkochan/js-yaml/-/js-yaml-0.0.7.tgz",
+ "integrity": "sha512-nrUSn7hzt7J6JWgWGz78ZYI8wj+gdIJdk0Ynjpp8l+trkn58Uqsf6RYrYkEK+3X18EX+TNdtJI0WxAtc+L84SQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "argparse": "^2.0.1"
+ },
+ "bin": {
+ "js-yaml": "bin/js-yaml.js"
+ }
+ },
+ "node_modules/abbrev": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-2.0.0.tgz",
+ "integrity": "sha512-6/mh1E2u2YgEsCHdY0Yx5oW+61gZU+1vXaoiHHrpKeuRNNgFvS+/jrwHiQhB5apAf5oB7UB7E19ol2R2LKH8hQ==",
+ "dev": true,
+ "license": "ISC",
+ "engines": {
+ "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+ }
+ },
+ "node_modules/add-stream": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/add-stream/-/add-stream-1.0.0.tgz",
+ "integrity": "sha512-qQLMr+8o0WC4FZGQTcJiKBVC59JylcPSrTtk6usvmIDFUOCKegapy1VHQwRbFMOFyb/inzUVqHs+eMYKDM1YeQ==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/aes-js": {
+ "version": "4.0.0-beta.5",
+ "resolved": "https://registry.npmjs.org/aes-js/-/aes-js-4.0.0-beta.5.tgz",
+ "integrity": "sha512-G965FqalsNyrPqgEGON7nIx1e/OVENSgiEIzyC63haUMuvNnwIgIjMs52hlTCKhkBny7A2ORNlfY9Zu+jmGk1Q==",
+ "license": "MIT",
+ "peer": true
+ },
+ "node_modules/agent-base": {
+ "version": "7.1.1",
+ "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.1.tgz",
+ "integrity": "sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "debug": "^4.3.4"
+ },
+ "engines": {
+ "node": ">= 14"
+ }
+ },
+ "node_modules/aggregate-error": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz",
+ "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "clean-stack": "^2.0.0",
+ "indent-string": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/ansi-colors": {
+ "version": "4.1.3",
+ "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz",
+ "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/ansi-escapes": {
+ "version": "4.3.2",
+ "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz",
+ "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "type-fest": "^0.21.3"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/ansi-regex": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
+ "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/aproba": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz",
+ "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==",
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/argparse": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
+ "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
+ "dev": true,
+ "license": "Python-2.0"
+ },
+ "node_modules/array-differ": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-3.0.0.tgz",
+ "integrity": "sha512-THtfYS6KtME/yIAhKjZ2ul7XI96lQGHRputJQHO80LAWQnuGP4iCIN8vdMRboGbIEYBwU33q8Tch1os2+X0kMg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/array-ify": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/array-ify/-/array-ify-1.0.0.tgz",
+ "integrity": "sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/array-union": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz",
+ "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/arrify": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz",
+ "integrity": "sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/async": {
+ "version": "3.2.6",
+ "resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz",
+ "integrity": "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/asynckit": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
+ "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==",
+ "license": "MIT"
+ },
+ "node_modules/axios": {
+ "version": "1.7.7",
+ "resolved": "https://registry.npmjs.org/axios/-/axios-1.7.7.tgz",
+ "integrity": "sha512-S4kL7XrjgBmvdGut0sN3yJxqYzrDOnivkBiN0OFs6hLiUam3UPvswUo0kqGyhqUZGEOytHyumEdXsAkgCOUf3Q==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "follow-redirects": "^1.15.6",
+ "form-data": "^4.0.0",
+ "proxy-from-env": "^1.1.0"
+ }
+ },
+ "node_modules/balanced-match": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
+ "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/base64-js": {
+ "version": "1.5.1",
+ "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
+ "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ],
+ "license": "MIT"
+ },
+ "node_modules/before-after-hook": {
+ "version": "2.2.3",
+ "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.3.tgz",
+ "integrity": "sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ==",
+ "dev": true,
+ "license": "Apache-2.0"
+ },
+ "node_modules/bin-links": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/bin-links/-/bin-links-4.0.4.tgz",
+ "integrity": "sha512-cMtq4W5ZsEwcutJrVId+a/tjt8GSbS+h0oNkdl6+6rBuEv8Ot33Bevj5KPm40t309zuhVic8NjpuL42QCiJWWA==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "cmd-shim": "^6.0.0",
+ "npm-normalize-package-bin": "^3.0.0",
+ "read-cmd-shim": "^4.0.0",
+ "write-file-atomic": "^5.0.0"
+ },
+ "engines": {
+ "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+ }
+ },
+ "node_modules/bl": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz",
+ "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "buffer": "^5.5.0",
+ "inherits": "^2.0.4",
+ "readable-stream": "^3.4.0"
+ }
+ },
+ "node_modules/brace-expansion": {
+ "version": "1.1.11",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
+ "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "balanced-match": "^1.0.0",
+ "concat-map": "0.0.1"
+ }
+ },
+ "node_modules/braces": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz",
+ "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "fill-range": "^7.1.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/buffer": {
+ "version": "5.7.1",
+ "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz",
+ "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "base64-js": "^1.3.1",
+ "ieee754": "^1.1.13"
+ }
+ },
+ "node_modules/buffer-from": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz",
+ "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/bufferutil": {
+ "version": "4.0.8",
+ "resolved": "https://registry.npmjs.org/bufferutil/-/bufferutil-4.0.8.tgz",
+ "integrity": "sha512-4T53u4PdgsXqKaIctwF8ifXlRTTmEPJ8iEPWFdGZvcf7sbwYo6FKFEX9eNNAnzFZ7EzJAQ3CJeOtCRA4rDp7Pw==",
+ "hasInstallScript": true,
+ "license": "MIT",
+ "dependencies": {
+ "node-gyp-build": "^4.3.0"
+ },
+ "engines": {
+ "node": ">=6.14.2"
+ }
+ },
+ "node_modules/byte-size": {
+ "version": "8.1.1",
+ "resolved": "https://registry.npmjs.org/byte-size/-/byte-size-8.1.1.tgz",
+ "integrity": "sha512-tUkzZWK0M/qdoLEqikxBWe4kumyuwjl3HO6zHTr4yEI23EojPtLYXdG1+AQY7MN0cGyNDvEaJ8wiYQm6P2bPxg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=12.17"
+ }
+ },
+ "node_modules/cacache": {
+ "version": "18.0.4",
+ "resolved": "https://registry.npmjs.org/cacache/-/cacache-18.0.4.tgz",
+ "integrity": "sha512-B+L5iIa9mgcjLbliir2th36yEwPftrzteHYujzsx3dFP/31GCHcIeS8f5MGd80odLOjaOvSpU3EEAmRQptkxLQ==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "@npmcli/fs": "^3.1.0",
+ "fs-minipass": "^3.0.0",
+ "glob": "^10.2.2",
+ "lru-cache": "^10.0.1",
+ "minipass": "^7.0.3",
+ "minipass-collect": "^2.0.1",
+ "minipass-flush": "^1.0.5",
+ "minipass-pipeline": "^1.2.4",
+ "p-map": "^4.0.0",
+ "ssri": "^10.0.0",
+ "tar": "^6.1.11",
+ "unique-filename": "^3.0.0"
+ },
+ "engines": {
+ "node": "^16.14.0 || >=18.0.0"
+ }
+ },
+ "node_modules/callsites": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
+ "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/camelcase": {
+ "version": "5.3.1",
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
+ "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/camelcase-keys": {
+ "version": "6.2.2",
+ "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.2.2.tgz",
+ "integrity": "sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "camelcase": "^5.3.1",
+ "map-obj": "^4.0.0",
+ "quick-lru": "^4.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/ccount": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/ccount/-/ccount-2.0.1.tgz",
+ "integrity": "sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==",
+ "dev": true,
+ "license": "MIT",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
+ "node_modules/chalk": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+ "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/chalk?sponsor=1"
+ }
+ },
+ "node_modules/chalk/node_modules/supports-color": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/character-entities-html4": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-2.1.0.tgz",
+ "integrity": "sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==",
+ "dev": true,
+ "license": "MIT",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
+ "node_modules/character-entities-legacy": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz",
+ "integrity": "sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==",
+ "dev": true,
+ "license": "MIT",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
+ "node_modules/chardet": {
+ "version": "0.7.0",
+ "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz",
+ "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/chownr": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz",
+ "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==",
+ "dev": true,
+ "license": "ISC",
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/ci-info": {
+ "version": "3.9.0",
+ "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz",
+ "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/sibiraj-s"
+ }
+ ],
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/clean-stack": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz",
+ "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/cli-cursor": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz",
+ "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "restore-cursor": "^3.1.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/cli-spinners": {
+ "version": "2.6.1",
+ "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.6.1.tgz",
+ "integrity": "sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/cli-width": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz",
+ "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==",
+ "dev": true,
+ "license": "ISC",
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/cliui": {
+ "version": "8.0.1",
+ "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz",
+ "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "string-width": "^4.2.0",
+ "strip-ansi": "^6.0.1",
+ "wrap-ansi": "^7.0.0"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/cliui/node_modules/wrap-ansi": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
+ "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ansi-styles": "^4.0.0",
+ "string-width": "^4.1.0",
+ "strip-ansi": "^6.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
+ }
+ },
+ "node_modules/clone": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz",
+ "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.8"
+ }
+ },
+ "node_modules/clone-deep": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz",
+ "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "is-plain-object": "^2.0.4",
+ "kind-of": "^6.0.2",
+ "shallow-clone": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/clone-deep/node_modules/is-plain-object": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz",
+ "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "isobject": "^3.0.1"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/cmd-shim": {
+ "version": "6.0.3",
+ "resolved": "https://registry.npmjs.org/cmd-shim/-/cmd-shim-6.0.3.tgz",
+ "integrity": "sha512-FMabTRlc5t5zjdenF6mS0MBeFZm0XqHqeOkcskKFb/LYCcRQ5fVgLOHVc4Lq9CqABd9zhjwPjMBCJvMCziSVtA==",
+ "dev": true,
+ "license": "ISC",
+ "engines": {
+ "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+ }
+ },
+ "node_modules/color": {
+ "version": "4.2.3",
+ "resolved": "https://registry.npmjs.org/color/-/color-4.2.3.tgz",
+ "integrity": "sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==",
+ "license": "MIT",
+ "dependencies": {
+ "color-convert": "^2.0.1",
+ "color-string": "^1.9.0"
+ },
+ "engines": {
+ "node": ">=12.5.0"
+ }
+ },
+ "node_modules/color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "license": "MIT",
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "node_modules/color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "license": "MIT"
+ },
+ "node_modules/color-string": {
+ "version": "1.9.1",
+ "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz",
+ "integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==",
+ "license": "MIT",
+ "dependencies": {
+ "color-name": "^1.0.0",
+ "simple-swizzle": "^0.2.2"
+ }
+ },
+ "node_modules/color-support": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz",
+ "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==",
+ "dev": true,
+ "license": "ISC",
+ "bin": {
+ "color-support": "bin.js"
+ }
+ },
+ "node_modules/columnify": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/columnify/-/columnify-1.6.0.tgz",
+ "integrity": "sha512-lomjuFZKfM6MSAnV9aCZC9sc0qGbmZdfygNv+nCpqVkSKdCxCklLtd16O0EILGkImHw9ZpHkAnHaB+8Zxq5W6Q==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "strip-ansi": "^6.0.1",
+ "wcwidth": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=8.0.0"
+ }
+ },
+ "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==",
+ "license": "MIT",
+ "dependencies": {
+ "delayed-stream": "~1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/comma-separated-tokens": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz",
+ "integrity": "sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==",
+ "dev": true,
+ "license": "MIT",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
+ "node_modules/common-ancestor-path": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/common-ancestor-path/-/common-ancestor-path-1.0.1.tgz",
+ "integrity": "sha512-L3sHRo1pXXEqX8VU28kfgUY+YGsk09hPqZiZmLacNib6XNTCM8ubYeT7ryXQw8asB1sKgcU5lkB7ONug08aB8w==",
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/compare-func": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/compare-func/-/compare-func-2.0.0.tgz",
+ "integrity": "sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "array-ify": "^1.0.0",
+ "dot-prop": "^5.1.0"
+ }
+ },
+ "node_modules/concat-map": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
+ "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/concat-stream": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-2.0.0.tgz",
+ "integrity": "sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==",
+ "dev": true,
+ "engines": [
+ "node >= 6.0"
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "buffer-from": "^1.0.0",
+ "inherits": "^2.0.3",
+ "readable-stream": "^3.0.2",
+ "typedarray": "^0.0.6"
+ }
+ },
+ "node_modules/concurrently": {
+ "version": "9.1.0",
+ "resolved": "https://registry.npmjs.org/concurrently/-/concurrently-9.1.0.tgz",
+ "integrity": "sha512-VxkzwMAn4LP7WyMnJNbHN5mKV9L2IbyDjpzemKr99sXNR3GqRNMMHdm7prV1ws9wg7ETj6WUkNOigZVsptwbgg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "chalk": "^4.1.2",
+ "lodash": "^4.17.21",
+ "rxjs": "^7.8.1",
+ "shell-quote": "^1.8.1",
+ "supports-color": "^8.1.1",
+ "tree-kill": "^1.2.2",
+ "yargs": "^17.7.2"
+ },
+ "bin": {
+ "conc": "dist/bin/concurrently.js",
+ "concurrently": "dist/bin/concurrently.js"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "funding": {
+ "url": "https://github.com/open-cli-tools/concurrently?sponsor=1"
+ }
+ },
+ "node_modules/console-control-strings": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz",
+ "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==",
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/conventional-changelog-angular": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-7.0.0.tgz",
+ "integrity": "sha512-ROjNchA9LgfNMTTFSIWPzebCwOGFdgkEq45EnvvrmSLvCtAw0HSmrCs7/ty+wAeYUZyNay0YMUNYFTRL72PkBQ==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "compare-func": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=16"
+ }
+ },
+ "node_modules/conventional-changelog-core": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/conventional-changelog-core/-/conventional-changelog-core-5.0.1.tgz",
+ "integrity": "sha512-Rvi5pH+LvgsqGwZPZ3Cq/tz4ty7mjijhr3qR4m9IBXNbxGGYgTVVO+duXzz9aArmHxFtwZ+LRkrNIMDQzgoY4A==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "add-stream": "^1.0.0",
+ "conventional-changelog-writer": "^6.0.0",
+ "conventional-commits-parser": "^4.0.0",
+ "dateformat": "^3.0.3",
+ "get-pkg-repo": "^4.2.1",
+ "git-raw-commits": "^3.0.0",
+ "git-remote-origin-url": "^2.0.0",
+ "git-semver-tags": "^5.0.0",
+ "normalize-package-data": "^3.0.3",
+ "read-pkg": "^3.0.0",
+ "read-pkg-up": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=14"
+ }
+ },
+ "node_modules/conventional-changelog-core/node_modules/hosted-git-info": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz",
+ "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "lru-cache": "^6.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/conventional-changelog-core/node_modules/lru-cache": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
+ "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "yallist": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/conventional-changelog-core/node_modules/normalize-package-data": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz",
+ "integrity": "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "dependencies": {
+ "hosted-git-info": "^4.0.1",
+ "is-core-module": "^2.5.0",
+ "semver": "^7.3.4",
+ "validate-npm-package-license": "^3.0.1"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/conventional-changelog-preset-loader": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/conventional-changelog-preset-loader/-/conventional-changelog-preset-loader-3.0.0.tgz",
+ "integrity": "sha512-qy9XbdSLmVnwnvzEisjxdDiLA4OmV3o8db+Zdg4WiFw14fP3B6XNz98X0swPPpkTd/pc1K7+adKgEDM1JCUMiA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=14"
+ }
+ },
+ "node_modules/conventional-changelog-writer": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-6.0.1.tgz",
+ "integrity": "sha512-359t9aHorPw+U+nHzUXHS5ZnPBOizRxfQsWT5ZDHBfvfxQOAik+yfuhKXG66CN5LEWPpMNnIMHUTCKeYNprvHQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "conventional-commits-filter": "^3.0.0",
+ "dateformat": "^3.0.3",
+ "handlebars": "^4.7.7",
+ "json-stringify-safe": "^5.0.1",
+ "meow": "^8.1.2",
+ "semver": "^7.0.0",
+ "split": "^1.0.1"
+ },
+ "bin": {
+ "conventional-changelog-writer": "cli.js"
+ },
+ "engines": {
+ "node": ">=14"
+ }
+ },
+ "node_modules/conventional-commits-filter": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/conventional-commits-filter/-/conventional-commits-filter-3.0.0.tgz",
+ "integrity": "sha512-1ymej8b5LouPx9Ox0Dw/qAO2dVdfpRFq28e5Y0jJEU8ZrLdy0vOSkkIInwmxErFGhg6SALro60ZrwYFVTUDo4Q==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "lodash.ismatch": "^4.4.0",
+ "modify-values": "^1.0.1"
+ },
+ "engines": {
+ "node": ">=14"
+ }
+ },
+ "node_modules/conventional-commits-parser": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-4.0.0.tgz",
+ "integrity": "sha512-WRv5j1FsVM5FISJkoYMR6tPk07fkKT0UodruX4je86V4owk451yjXAKzKAPOs9l7y59E2viHUS9eQ+dfUA9NSg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "is-text-path": "^1.0.1",
+ "JSONStream": "^1.3.5",
+ "meow": "^8.1.2",
+ "split2": "^3.2.2"
+ },
+ "bin": {
+ "conventional-commits-parser": "cli.js"
+ },
+ "engines": {
+ "node": ">=14"
+ }
+ },
+ "node_modules/conventional-recommended-bump": {
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/conventional-recommended-bump/-/conventional-recommended-bump-7.0.1.tgz",
+ "integrity": "sha512-Ft79FF4SlOFvX4PkwFDRnaNiIVX7YbmqGU0RwccUaiGvgp3S0a8ipR2/Qxk31vclDNM+GSdJOVs2KrsUCjblVA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "concat-stream": "^2.0.0",
+ "conventional-changelog-preset-loader": "^3.0.0",
+ "conventional-commits-filter": "^3.0.0",
+ "conventional-commits-parser": "^4.0.0",
+ "git-raw-commits": "^3.0.0",
+ "git-semver-tags": "^5.0.0",
+ "meow": "^8.1.2"
+ },
+ "bin": {
+ "conventional-recommended-bump": "cli.js"
+ },
+ "engines": {
+ "node": ">=14"
+ }
+ },
+ "node_modules/core-util-is": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz",
+ "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/cosmiconfig": {
+ "version": "9.0.0",
+ "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-9.0.0.tgz",
+ "integrity": "sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "env-paths": "^2.2.1",
+ "import-fresh": "^3.3.0",
+ "js-yaml": "^4.1.0",
+ "parse-json": "^5.2.0"
+ },
+ "engines": {
+ "node": ">=14"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/d-fischer"
+ },
+ "peerDependencies": {
+ "typescript": ">=4.9.5"
+ },
+ "peerDependenciesMeta": {
+ "typescript": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/cross-spawn": {
+ "version": "7.0.6",
+ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz",
+ "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "path-key": "^3.1.0",
+ "shebang-command": "^2.0.0",
+ "which": "^2.0.1"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/cross-spawn/node_modules/isexe": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
+ "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/cross-spawn/node_modules/which": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
+ "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "isexe": "^2.0.0"
+ },
+ "bin": {
+ "node-which": "bin/node-which"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/cssesc": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz",
+ "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==",
+ "dev": true,
+ "license": "MIT",
+ "bin": {
+ "cssesc": "bin/cssesc"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/d": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/d/-/d-1.0.2.tgz",
+ "integrity": "sha512-MOqHvMWF9/9MX6nza0KgvFH4HpMU0EF5uUDXqX/BtxtU8NfB0QzRtJ8Oe/6SuS4kbhyzVJwjd97EA4PKrzJ8bw==",
+ "license": "ISC",
+ "dependencies": {
+ "es5-ext": "^0.10.64",
+ "type": "^2.7.2"
+ },
+ "engines": {
+ "node": ">=0.12"
+ }
+ },
+ "node_modules/dargs": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/dargs/-/dargs-7.0.0.tgz",
+ "integrity": "sha512-2iy1EkLdlBzQGvbweYRFxmFath8+K7+AKB0TlhHWkNuH+TmovaMH/Wp7V7R4u7f4SnX3OgLsU9t1NI9ioDnUpg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/dateformat": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-3.0.3.tgz",
+ "integrity": "sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/debug": {
+ "version": "4.3.7",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz",
+ "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ms": "^2.1.3"
+ },
+ "engines": {
+ "node": ">=6.0"
+ },
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/decamelize": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
+ "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/decamelize-keys": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.1.tgz",
+ "integrity": "sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "decamelize": "^1.1.0",
+ "map-obj": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/decamelize-keys/node_modules/map-obj": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz",
+ "integrity": "sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/dedent": {
+ "version": "1.5.3",
+ "resolved": "https://registry.npmjs.org/dedent/-/dedent-1.5.3.tgz",
+ "integrity": "sha512-NHQtfOOW68WD8lgypbLA5oT+Bt0xXJhiYvoR6SmmNXZfpzOGXwdKWmcwG8N7PwVVWV3eF/68nmD9BaJSsTBhyQ==",
+ "dev": true,
+ "license": "MIT",
+ "peerDependencies": {
+ "babel-plugin-macros": "^3.1.0"
+ },
+ "peerDependenciesMeta": {
+ "babel-plugin-macros": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/defaults": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz",
+ "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "clone": "^1.0.2"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/define-lazy-prop": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz",
+ "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/delayed-stream": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
+ "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.4.0"
+ }
+ },
+ "node_modules/deprecation": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/deprecation/-/deprecation-2.3.1.tgz",
+ "integrity": "sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==",
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/dequal": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz",
+ "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/detect-indent": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-5.0.0.tgz",
+ "integrity": "sha512-rlpvsxUtM0PQvy9iZe640/IWwWYyBsTApREbA1pHOpmOUIl9MkP/U4z7vTtg4Oaojvqhxt7sdufnT0EzGaR31g==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/detect-libc": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.3.tgz",
+ "integrity": "sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==",
+ "license": "Apache-2.0",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/devlop": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/devlop/-/devlop-1.1.0.tgz",
+ "integrity": "sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "dequal": "^2.0.0"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
+ "node_modules/diff-sequences": {
+ "version": "29.6.3",
+ "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz",
+ "integrity": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
+ },
+ "node_modules/dir-glob": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz",
+ "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "path-type": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/dot-prop": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz",
+ "integrity": "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "is-obj": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/dotenv": {
+ "version": "16.4.5",
+ "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.5.tgz",
+ "integrity": "sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://dotenvx.com"
+ }
+ },
+ "node_modules/dotenv-expand": {
+ "version": "11.0.7",
+ "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-11.0.7.tgz",
+ "integrity": "sha512-zIHwmZPRshsCdpMDyVsqGmgyP0yT8GAgXUnkdAoJisxvf33k7yO6OuoKmcTGuXPWSsm8Oh88nZicRLA9Y0rUeA==",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "dependencies": {
+ "dotenv": "^16.4.5"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://dotenvx.com"
+ }
+ },
+ "node_modules/duplexer": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz",
+ "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/eastasianwidth": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz",
+ "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/ejs": {
+ "version": "3.1.10",
+ "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.10.tgz",
+ "integrity": "sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "dependencies": {
+ "jake": "^10.8.5"
+ },
+ "bin": {
+ "ejs": "bin/cli.js"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/emoji-regex": {
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
+ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/emoji-regex-xs": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/emoji-regex-xs/-/emoji-regex-xs-1.0.0.tgz",
+ "integrity": "sha512-LRlerrMYoIDrT6jgpeZ2YYl/L8EulRTt5hQcYjy5AInh7HWXKimpqx68aknBFpGL2+/IcogTcaydJEgaTmOpDg==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/encoding": {
+ "version": "0.1.13",
+ "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz",
+ "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==",
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "dependencies": {
+ "iconv-lite": "^0.6.2"
+ }
+ },
+ "node_modules/encoding/node_modules/iconv-lite": {
+ "version": "0.6.3",
+ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz",
+ "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==",
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "dependencies": {
+ "safer-buffer": ">= 2.1.2 < 3.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/end-of-stream": {
+ "version": "1.4.4",
+ "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz",
+ "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "once": "^1.4.0"
+ }
+ },
+ "node_modules/enquirer": {
+ "version": "2.3.6",
+ "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz",
+ "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ansi-colors": "^4.1.1"
+ },
+ "engines": {
+ "node": ">=8.6"
+ }
+ },
+ "node_modules/entities": {
+ "version": "4.5.0",
+ "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz",
+ "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "engines": {
+ "node": ">=0.12"
+ },
+ "funding": {
+ "url": "https://github.com/fb55/entities?sponsor=1"
+ }
+ },
+ "node_modules/env-paths": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz",
+ "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/envinfo": {
+ "version": "7.13.0",
+ "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.13.0.tgz",
+ "integrity": "sha512-cvcaMr7KqXVh4nyzGTVqTum+gAiL265x5jUWQIDLq//zOGbW+gSW/C+OWLleY/rs9Qole6AZLMXPbtIFQbqu+Q==",
+ "dev": true,
+ "license": "MIT",
+ "bin": {
+ "envinfo": "dist/cli.js"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/err-code": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz",
+ "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/error-ex": {
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
+ "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "is-arrayish": "^0.2.1"
+ }
+ },
+ "node_modules/es5-ext": {
+ "version": "0.10.64",
+ "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.64.tgz",
+ "integrity": "sha512-p2snDhiLaXe6dahss1LddxqEm+SkuDvV8dnIQG0MWjyHpcMNfXKPE+/Cc0y+PhxJX3A4xGNeFCj5oc0BUh6deg==",
+ "hasInstallScript": true,
+ "license": "ISC",
+ "dependencies": {
+ "es6-iterator": "^2.0.3",
+ "es6-symbol": "^3.1.3",
+ "esniff": "^2.0.1",
+ "next-tick": "^1.1.0"
+ },
+ "engines": {
+ "node": ">=0.10"
+ }
+ },
+ "node_modules/es6-iterator": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz",
+ "integrity": "sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==",
+ "license": "MIT",
+ "dependencies": {
+ "d": "1",
+ "es5-ext": "^0.10.35",
+ "es6-symbol": "^3.1.1"
+ }
+ },
+ "node_modules/es6-symbol": {
+ "version": "3.1.4",
+ "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.4.tgz",
+ "integrity": "sha512-U9bFFjX8tFiATgtkJ1zg25+KviIXpgRvRHS8sau3GfhVzThRQrOeksPeT0BWW2MNZs1OEWJ1DPXOQMn0KKRkvg==",
+ "license": "ISC",
+ "dependencies": {
+ "d": "^1.0.2",
+ "ext": "^1.7.0"
+ },
+ "engines": {
+ "node": ">=0.12"
+ }
+ },
+ "node_modules/escalade": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz",
+ "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/escape-string-regexp": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
+ "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.8.0"
+ }
+ },
+ "node_modules/esniff": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/esniff/-/esniff-2.0.1.tgz",
+ "integrity": "sha512-kTUIGKQ/mDPFoJ0oVfcmyJn4iBDRptjNVIzwIFR7tqWXdVI9xfA2RMwY/gbSpJG3lkdWNEjLap/NqVHZiJsdfg==",
+ "license": "ISC",
+ "dependencies": {
+ "d": "^1.0.1",
+ "es5-ext": "^0.10.62",
+ "event-emitter": "^0.3.5",
+ "type": "^2.7.2"
+ },
+ "engines": {
+ "node": ">=0.10"
+ }
+ },
+ "node_modules/esprima": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
+ "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "bin": {
+ "esparse": "bin/esparse.js",
+ "esvalidate": "bin/esvalidate.js"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/ethers": {
+ "version": "6.13.1",
+ "resolved": "https://registry.npmjs.org/ethers/-/ethers-6.13.1.tgz",
+ "integrity": "sha512-hdJ2HOxg/xx97Lm9HdCWk949BfYqYWpyw4//78SiwOLgASyfrNszfMUNB2joKjvGUdwhHfaiMMFFwacVVoLR9A==",
+ "funding": [
+ {
+ "type": "individual",
+ "url": "https://github.com/sponsors/ethers-io/"
+ },
+ {
+ "type": "individual",
+ "url": "https://www.buymeacoffee.com/ricmoo"
+ }
+ ],
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "@adraffy/ens-normalize": "1.10.1",
+ "@noble/curves": "1.2.0",
+ "@noble/hashes": "1.3.2",
+ "@types/node": "18.15.13",
+ "aes-js": "4.0.0-beta.5",
+ "tslib": "2.4.0",
+ "ws": "8.17.1"
+ },
+ "engines": {
+ "node": ">=14.0.0"
+ }
+ },
+ "node_modules/event-emitter": {
+ "version": "0.3.5",
+ "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz",
+ "integrity": "sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA==",
+ "license": "MIT",
+ "dependencies": {
+ "d": "1",
+ "es5-ext": "~0.10.14"
+ }
+ },
+ "node_modules/eventemitter3": {
+ "version": "4.0.7",
+ "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz",
+ "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/eventsource-parser": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/eventsource-parser/-/eventsource-parser-1.1.2.tgz",
+ "integrity": "sha512-v0eOBUbiaFojBu2s2NPBfYUoRR9GjcDNvCXVaqEf5vVfpIAh9f8RCo4vXTP8c63QRKCFwoLpMpTdPwwhEKVgzA==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=14.18"
+ }
+ },
+ "node_modules/execa": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/execa/-/execa-5.0.0.tgz",
+ "integrity": "sha512-ov6w/2LCiuyO4RLYGdpFGjkcs0wMTgGE8PrkTHikeUy5iJekXyPIKUjifk5CsE0pt7sMCrMZ3YNqoCj6idQOnQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "cross-spawn": "^7.0.3",
+ "get-stream": "^6.0.0",
+ "human-signals": "^2.1.0",
+ "is-stream": "^2.0.0",
+ "merge-stream": "^2.0.0",
+ "npm-run-path": "^4.0.1",
+ "onetime": "^5.1.2",
+ "signal-exit": "^3.0.3",
+ "strip-final-newline": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sindresorhus/execa?sponsor=1"
+ }
+ },
+ "node_modules/exponential-backoff": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/exponential-backoff/-/exponential-backoff-3.1.1.tgz",
+ "integrity": "sha512-dX7e/LHVJ6W3DE1MHWi9S1EYzDESENfLrYohG2G++ovZrYOkm4Knwa0mc1cn84xJOR4KEU0WSchhLbd0UklbHw==",
+ "dev": true,
+ "license": "Apache-2.0"
+ },
+ "node_modules/ext": {
+ "version": "1.7.0",
+ "resolved": "https://registry.npmjs.org/ext/-/ext-1.7.0.tgz",
+ "integrity": "sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==",
+ "license": "ISC",
+ "dependencies": {
+ "type": "^2.7.2"
+ }
+ },
+ "node_modules/external-editor": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz",
+ "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "chardet": "^0.7.0",
+ "iconv-lite": "^0.4.24",
+ "tmp": "^0.0.33"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/external-editor/node_modules/tmp": {
+ "version": "0.0.33",
+ "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz",
+ "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "os-tmpdir": "~1.0.2"
+ },
+ "engines": {
+ "node": ">=0.6.0"
+ }
+ },
+ "node_modules/fast-glob": {
+ "version": "3.3.2",
+ "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz",
+ "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@nodelib/fs.stat": "^2.0.2",
+ "@nodelib/fs.walk": "^1.2.3",
+ "glob-parent": "^5.1.2",
+ "merge2": "^1.3.0",
+ "micromatch": "^4.0.4"
+ },
+ "engines": {
+ "node": ">=8.6.0"
+ }
+ },
+ "node_modules/fast-glob/node_modules/glob-parent": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
+ "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "is-glob": "^4.0.1"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/fastq": {
+ "version": "1.17.1",
+ "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz",
+ "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "reusify": "^1.0.4"
+ }
+ },
+ "node_modules/figures": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz",
+ "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "escape-string-regexp": "^1.0.5"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/filelist": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz",
+ "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "dependencies": {
+ "minimatch": "^5.0.1"
+ }
+ },
+ "node_modules/filelist/node_modules/brace-expansion": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
+ "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "balanced-match": "^1.0.0"
+ }
+ },
+ "node_modules/filelist/node_modules/minimatch": {
+ "version": "5.1.6",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz",
+ "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "brace-expansion": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/fill-range": {
+ "version": "7.1.1",
+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz",
+ "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "to-regex-range": "^5.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/find-up": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
+ "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "locate-path": "^5.0.0",
+ "path-exists": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/flat": {
+ "version": "5.0.2",
+ "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz",
+ "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==",
+ "dev": true,
+ "license": "BSD-3-Clause",
+ "bin": {
+ "flat": "cli.js"
+ }
+ },
+ "node_modules/follow-redirects": {
+ "version": "1.15.9",
+ "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.9.tgz",
+ "integrity": "sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==",
+ "funding": [
+ {
+ "type": "individual",
+ "url": "https://github.com/sponsors/RubenVerborgh"
+ }
+ ],
+ "license": "MIT",
+ "engines": {
+ "node": ">=4.0"
+ },
+ "peerDependenciesMeta": {
+ "debug": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/foreground-child": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.0.tgz",
+ "integrity": "sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "cross-spawn": "^7.0.0",
+ "signal-exit": "^4.0.1"
+ },
+ "engines": {
+ "node": ">=14"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/foreground-child/node_modules/signal-exit": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz",
+ "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==",
+ "dev": true,
+ "license": "ISC",
+ "engines": {
+ "node": ">=14"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/form-data": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.1.tgz",
+ "integrity": "sha512-tzN8e4TX8+kkxGPK8D5u0FNmjPUjw3lwC9lSLxxoB/+GtsJG91CO8bSWy73APlgAZzZbXEYZJuxjkHH2w+Ezhw==",
+ "license": "MIT",
+ "dependencies": {
+ "asynckit": "^0.4.0",
+ "combined-stream": "^1.0.8",
+ "mime-types": "^2.1.12"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/front-matter": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/front-matter/-/front-matter-4.0.2.tgz",
+ "integrity": "sha512-I8ZuJ/qG92NWX8i5x1Y8qyj3vizhXS31OxjKDu3LKP+7/qBgfIKValiZIEwoVoJKUHlhWtYrktkxV1XsX+pPlg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "js-yaml": "^3.13.1"
+ }
+ },
+ "node_modules/front-matter/node_modules/argparse": {
+ "version": "1.0.10",
+ "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
+ "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "sprintf-js": "~1.0.2"
+ }
+ },
+ "node_modules/front-matter/node_modules/js-yaml": {
+ "version": "3.14.1",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz",
+ "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "argparse": "^1.0.7",
+ "esprima": "^4.0.0"
+ },
+ "bin": {
+ "js-yaml": "bin/js-yaml.js"
+ }
+ },
+ "node_modules/front-matter/node_modules/sprintf-js": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
+ "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==",
+ "dev": true,
+ "license": "BSD-3-Clause"
+ },
+ "node_modules/fs-constants": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz",
+ "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/fs-extra": {
+ "version": "11.2.0",
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz",
+ "integrity": "sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "graceful-fs": "^4.2.0",
+ "jsonfile": "^6.0.1",
+ "universalify": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=14.14"
+ }
+ },
+ "node_modules/fs-minipass": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-3.0.3.tgz",
+ "integrity": "sha512-XUBA9XClHbnJWSfBzjkm6RvPsyg3sryZt06BEQoXcF7EK/xpGaQYJgQKDJSUH5SGZ76Y7pFx1QBnXz09rU5Fbw==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "minipass": "^7.0.3"
+ },
+ "engines": {
+ "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+ }
+ },
+ "node_modules/fs.realpath": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
+ "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==",
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/function-bind": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz",
+ "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==",
+ "dev": true,
+ "license": "MIT",
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/get-caller-file": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
+ "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
+ "dev": true,
+ "license": "ISC",
+ "engines": {
+ "node": "6.* || 8.* || >= 10.*"
+ }
+ },
+ "node_modules/get-pkg-repo": {
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/get-pkg-repo/-/get-pkg-repo-4.2.1.tgz",
+ "integrity": "sha512-2+QbHjFRfGB74v/pYWjd5OhU3TDIC2Gv/YKUTk/tCvAz0pkn/Mz6P3uByuBimLOcPvN2jYdScl3xGFSrx0jEcA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@hutson/parse-repository-url": "^3.0.0",
+ "hosted-git-info": "^4.0.0",
+ "through2": "^2.0.0",
+ "yargs": "^16.2.0"
+ },
+ "bin": {
+ "get-pkg-repo": "src/cli.js"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/get-pkg-repo/node_modules/cliui": {
+ "version": "7.0.4",
+ "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz",
+ "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "string-width": "^4.2.0",
+ "strip-ansi": "^6.0.0",
+ "wrap-ansi": "^7.0.0"
+ }
+ },
+ "node_modules/get-pkg-repo/node_modules/hosted-git-info": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz",
+ "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "lru-cache": "^6.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/get-pkg-repo/node_modules/lru-cache": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
+ "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "yallist": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/get-pkg-repo/node_modules/wrap-ansi": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
+ "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ansi-styles": "^4.0.0",
+ "string-width": "^4.1.0",
+ "strip-ansi": "^6.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
+ }
+ },
+ "node_modules/get-pkg-repo/node_modules/yargs": {
+ "version": "16.2.0",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz",
+ "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "cliui": "^7.0.2",
+ "escalade": "^3.1.1",
+ "get-caller-file": "^2.0.5",
+ "require-directory": "^2.1.1",
+ "string-width": "^4.2.0",
+ "y18n": "^5.0.5",
+ "yargs-parser": "^20.2.2"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/get-pkg-repo/node_modules/yargs-parser": {
+ "version": "20.2.9",
+ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz",
+ "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==",
+ "dev": true,
+ "license": "ISC",
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/get-port": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/get-port/-/get-port-5.1.1.tgz",
+ "integrity": "sha512-g/Q1aTSDOxFpchXC4i8ZWvxA1lnPqx/JHqcpIw0/LX9T8x/GBbi6YnlN5nhaKIFkT8oFsscUKgDJYxfwfS6QsQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/get-stream": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.0.tgz",
+ "integrity": "sha512-A1B3Bh1UmL0bidM/YX2NsCOTnGJePL9rO/M+Mw3m9f2gUpfokS0hi5Eah0WSUEWZdZhIZtMjkIYS7mDfOqNHbg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/git-raw-commits": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/git-raw-commits/-/git-raw-commits-3.0.0.tgz",
+ "integrity": "sha512-b5OHmZ3vAgGrDn/X0kS+9qCfNKWe4K/jFnhwzVWWg0/k5eLa3060tZShrRg8Dja5kPc+YjS0Gc6y7cRr44Lpjw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "dargs": "^7.0.0",
+ "meow": "^8.1.2",
+ "split2": "^3.2.2"
+ },
+ "bin": {
+ "git-raw-commits": "cli.js"
+ },
+ "engines": {
+ "node": ">=14"
+ }
+ },
+ "node_modules/git-remote-origin-url": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/git-remote-origin-url/-/git-remote-origin-url-2.0.0.tgz",
+ "integrity": "sha512-eU+GGrZgccNJcsDH5LkXR3PB9M958hxc7sbA8DFJjrv9j4L2P/eZfKhM+QD6wyzpiv+b1BpK0XrYCxkovtjSLw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "gitconfiglocal": "^1.0.0",
+ "pify": "^2.3.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/git-remote-origin-url/node_modules/pify": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
+ "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/git-semver-tags": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/git-semver-tags/-/git-semver-tags-5.0.1.tgz",
+ "integrity": "sha512-hIvOeZwRbQ+7YEUmCkHqo8FOLQZCEn18yevLHADlFPZY02KJGsu5FZt9YW/lybfK2uhWFI7Qg/07LekJiTv7iA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "meow": "^8.1.2",
+ "semver": "^7.0.0"
+ },
+ "bin": {
+ "git-semver-tags": "cli.js"
+ },
+ "engines": {
+ "node": ">=14"
+ }
+ },
+ "node_modules/git-up": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/git-up/-/git-up-7.0.0.tgz",
+ "integrity": "sha512-ONdIrbBCFusq1Oy0sC71F5azx8bVkvtZtMJAsv+a6lz5YAmbNnLD6HAB4gptHZVLPR8S2/kVN6Gab7lryq5+lQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "is-ssh": "^1.4.0",
+ "parse-url": "^8.1.0"
+ }
+ },
+ "node_modules/git-url-parse": {
+ "version": "14.0.0",
+ "resolved": "https://registry.npmjs.org/git-url-parse/-/git-url-parse-14.0.0.tgz",
+ "integrity": "sha512-NnLweV+2A4nCvn4U/m2AoYu0pPKlsmhK9cknG7IMwsjFY1S2jxM+mAhsDxyxfCIGfGaD+dozsyX4b6vkYc83yQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "git-up": "^7.0.0"
+ }
+ },
+ "node_modules/gitconfiglocal": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/gitconfiglocal/-/gitconfiglocal-1.0.0.tgz",
+ "integrity": "sha512-spLUXeTAVHxDtKsJc8FkFVgFtMdEN9qPGpL23VfSHx4fP4+Ds097IXLvymbnDH8FnmxX5Nr9bPw3A+AQ6mWEaQ==",
+ "dev": true,
+ "license": "BSD",
+ "dependencies": {
+ "ini": "^1.3.2"
+ }
+ },
+ "node_modules/glob": {
+ "version": "10.4.5",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz",
+ "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "foreground-child": "^3.1.0",
+ "jackspeak": "^3.1.2",
+ "minimatch": "^9.0.4",
+ "minipass": "^7.1.2",
+ "package-json-from-dist": "^1.0.0",
+ "path-scurry": "^1.11.1"
+ },
+ "bin": {
+ "glob": "dist/esm/bin.mjs"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/glob-parent": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz",
+ "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "is-glob": "^4.0.3"
+ },
+ "engines": {
+ "node": ">=10.13.0"
+ }
+ },
+ "node_modules/glob/node_modules/brace-expansion": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
+ "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "balanced-match": "^1.0.0"
+ }
+ },
+ "node_modules/glob/node_modules/minimatch": {
+ "version": "9.0.5",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz",
+ "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "brace-expansion": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=16 || 14 >=14.17"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/globby": {
+ "version": "11.1.0",
+ "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz",
+ "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "array-union": "^2.1.0",
+ "dir-glob": "^3.0.1",
+ "fast-glob": "^3.2.9",
+ "ignore": "^5.2.0",
+ "merge2": "^1.4.1",
+ "slash": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/graceful-fs": {
+ "version": "4.2.11",
+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz",
+ "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==",
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/handlebars": {
+ "version": "4.7.8",
+ "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.8.tgz",
+ "integrity": "sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "minimist": "^1.2.5",
+ "neo-async": "^2.6.2",
+ "source-map": "^0.6.1",
+ "wordwrap": "^1.0.0"
+ },
+ "bin": {
+ "handlebars": "bin/handlebars"
+ },
+ "engines": {
+ "node": ">=0.4.7"
+ },
+ "optionalDependencies": {
+ "uglify-js": "^3.1.4"
+ }
+ },
+ "node_modules/hard-rejection": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz",
+ "integrity": "sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/has-unicode": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz",
+ "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==",
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/hasown": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz",
+ "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "function-bind": "^1.1.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/hast-util-to-html": {
+ "version": "9.0.3",
+ "resolved": "https://registry.npmjs.org/hast-util-to-html/-/hast-util-to-html-9.0.3.tgz",
+ "integrity": "sha512-M17uBDzMJ9RPCqLMO92gNNUDuBSq10a25SDBI08iCCxmorf4Yy6sYHK57n9WAbRAAaU+DuR4W6GN9K4DFZesYg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@types/hast": "^3.0.0",
+ "@types/unist": "^3.0.0",
+ "ccount": "^2.0.0",
+ "comma-separated-tokens": "^2.0.0",
+ "hast-util-whitespace": "^3.0.0",
+ "html-void-elements": "^3.0.0",
+ "mdast-util-to-hast": "^13.0.0",
+ "property-information": "^6.0.0",
+ "space-separated-tokens": "^2.0.0",
+ "stringify-entities": "^4.0.0",
+ "zwitch": "^2.0.4"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/hast-util-whitespace": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-3.0.0.tgz",
+ "integrity": "sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@types/hast": "^3.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/hosted-git-info": {
+ "version": "7.0.2",
+ "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-7.0.2.tgz",
+ "integrity": "sha512-puUZAUKT5m8Zzvs72XWy3HtvVbTWljRE66cP60bxJzAqf2DgICo7lYTY2IHUmLnNpjYvw5bvmoHvPc0QO2a62w==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "lru-cache": "^10.0.1"
+ },
+ "engines": {
+ "node": "^16.14.0 || >=18.0.0"
+ }
+ },
+ "node_modules/html-void-elements": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/html-void-elements/-/html-void-elements-3.0.0.tgz",
+ "integrity": "sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==",
+ "dev": true,
+ "license": "MIT",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
+ "node_modules/http-cache-semantics": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz",
+ "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==",
+ "dev": true,
+ "license": "BSD-2-Clause"
+ },
+ "node_modules/http-proxy-agent": {
+ "version": "7.0.2",
+ "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz",
+ "integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "agent-base": "^7.1.0",
+ "debug": "^4.3.4"
+ },
+ "engines": {
+ "node": ">= 14"
+ }
+ },
+ "node_modules/https-proxy-agent": {
+ "version": "7.0.5",
+ "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.5.tgz",
+ "integrity": "sha512-1e4Wqeblerz+tMKPIq2EMGiiWW1dIjZOksyHWSUm1rmuvw/how9hBHZ38lAGj5ID4Ik6EdkOw7NmWPy6LAwalw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "agent-base": "^7.0.2",
+ "debug": "4"
+ },
+ "engines": {
+ "node": ">= 14"
+ }
+ },
+ "node_modules/human-signals": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz",
+ "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "engines": {
+ "node": ">=10.17.0"
+ }
+ },
+ "node_modules/husky": {
+ "version": "9.1.7",
+ "resolved": "https://registry.npmjs.org/husky/-/husky-9.1.7.tgz",
+ "integrity": "sha512-5gs5ytaNjBrh5Ow3zrvdUUY+0VxIuWVL4i9irt6friV+BqdCfmV11CQTWMiBYWHbXhco+J1kHfTOUkePhCDvMA==",
+ "dev": true,
+ "license": "MIT",
+ "bin": {
+ "husky": "bin.js"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/typicode"
+ }
+ },
+ "node_modules/iconv-lite": {
+ "version": "0.4.24",
+ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
+ "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "safer-buffer": ">= 2.1.2 < 3"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/ieee754": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz",
+ "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ],
+ "license": "BSD-3-Clause"
+ },
+ "node_modules/ignore": {
+ "version": "5.3.2",
+ "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz",
+ "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 4"
+ }
+ },
+ "node_modules/ignore-walk": {
+ "version": "6.0.5",
+ "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-6.0.5.tgz",
+ "integrity": "sha512-VuuG0wCnjhnylG1ABXT3dAuIpTNDs/G8jlpmwXY03fXoXy/8ZK8/T+hMzt8L4WnrLCJgdybqgPagnF/f97cg3A==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "minimatch": "^9.0.0"
+ },
+ "engines": {
+ "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+ }
+ },
+ "node_modules/ignore-walk/node_modules/brace-expansion": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
+ "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "balanced-match": "^1.0.0"
+ }
+ },
+ "node_modules/ignore-walk/node_modules/minimatch": {
+ "version": "9.0.5",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz",
+ "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "brace-expansion": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=16 || 14 >=14.17"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/import-fresh": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz",
+ "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "parent-module": "^1.0.0",
+ "resolve-from": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/import-fresh/node_modules/resolve-from": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
+ "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/import-local": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz",
+ "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "pkg-dir": "^4.2.0",
+ "resolve-cwd": "^3.0.0"
+ },
+ "bin": {
+ "import-local-fixture": "fixtures/cli.js"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/imurmurhash": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
+ "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.8.19"
+ }
+ },
+ "node_modules/indent-string": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz",
+ "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/inherits": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
+ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/ini": {
+ "version": "1.3.8",
+ "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz",
+ "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==",
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/init-package-json": {
+ "version": "6.0.3",
+ "resolved": "https://registry.npmjs.org/init-package-json/-/init-package-json-6.0.3.tgz",
+ "integrity": "sha512-Zfeb5ol+H+eqJWHTaGca9BovufyGeIfr4zaaBorPmJBMrJ+KBnN+kQx2ZtXdsotUTgldHmHQV44xvUWOUA7E2w==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "@npmcli/package-json": "^5.0.0",
+ "npm-package-arg": "^11.0.0",
+ "promzard": "^1.0.0",
+ "read": "^3.0.1",
+ "semver": "^7.3.5",
+ "validate-npm-package-license": "^3.0.4",
+ "validate-npm-package-name": "^5.0.0"
+ },
+ "engines": {
+ "node": "^16.14.0 || >=18.0.0"
+ }
+ },
+ "node_modules/inquirer": {
+ "version": "8.2.6",
+ "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-8.2.6.tgz",
+ "integrity": "sha512-M1WuAmb7pn9zdFRtQYk26ZBoY043Sse0wVDdk4Bppr+JOXyQYybdtvK+l9wUibhtjdjvtoiNy8tk+EgsYIUqKg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ansi-escapes": "^4.2.1",
+ "chalk": "^4.1.1",
+ "cli-cursor": "^3.1.0",
+ "cli-width": "^3.0.0",
+ "external-editor": "^3.0.3",
+ "figures": "^3.0.0",
+ "lodash": "^4.17.21",
+ "mute-stream": "0.0.8",
+ "ora": "^5.4.1",
+ "run-async": "^2.4.0",
+ "rxjs": "^7.5.5",
+ "string-width": "^4.1.0",
+ "strip-ansi": "^6.0.0",
+ "through": "^2.3.6",
+ "wrap-ansi": "^6.0.1"
+ },
+ "engines": {
+ "node": ">=12.0.0"
+ }
+ },
+ "node_modules/ip-address": {
+ "version": "9.0.5",
+ "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-9.0.5.tgz",
+ "integrity": "sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "jsbn": "1.1.0",
+ "sprintf-js": "^1.1.3"
+ },
+ "engines": {
+ "node": ">= 12"
+ }
+ },
+ "node_modules/is-arrayish": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
+ "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/is-ci": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-3.0.1.tgz",
+ "integrity": "sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ci-info": "^3.2.0"
+ },
+ "bin": {
+ "is-ci": "bin.js"
+ }
+ },
+ "node_modules/is-core-module": {
+ "version": "2.15.1",
+ "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.15.1.tgz",
+ "integrity": "sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "hasown": "^2.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-docker": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz",
+ "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==",
+ "dev": true,
+ "license": "MIT",
+ "bin": {
+ "is-docker": "cli.js"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/is-extglob": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
+ "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/is-fullwidth-code-point": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
+ "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/is-glob": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
+ "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "is-extglob": "^2.1.1"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/is-interactive": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz",
+ "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/is-lambda": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-lambda/-/is-lambda-1.0.1.tgz",
+ "integrity": "sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/is-number": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
+ "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.12.0"
+ }
+ },
+ "node_modules/is-obj": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz",
+ "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/is-plain-obj": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz",
+ "integrity": "sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/is-plain-object": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz",
+ "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/is-ssh": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/is-ssh/-/is-ssh-1.4.0.tgz",
+ "integrity": "sha512-x7+VxdxOdlV3CYpjvRLBv5Lo9OJerlYanjwFrPR9fuGPjCiNiCzFgAWpiLAohSbsnH4ZAys3SBh+hq5rJosxUQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "protocols": "^2.0.1"
+ }
+ },
+ "node_modules/is-stream": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz",
+ "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/is-text-path": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-text-path/-/is-text-path-1.0.1.tgz",
+ "integrity": "sha512-xFuJpne9oFz5qDaodwmmG08e3CawH/2ZV8Qqza1Ko7Sk8POWbkRdwIoAWVhqvq0XeUzANEhKo2n0IXUGBm7A/w==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "text-extensions": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/is-typedarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
+ "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==",
+ "license": "MIT"
+ },
+ "node_modules/is-unicode-supported": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz",
+ "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/is-wsl": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz",
+ "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "is-docker": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/isarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/isexe": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz",
+ "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==",
+ "dev": true,
+ "license": "ISC",
+ "engines": {
+ "node": ">=16"
+ }
+ },
+ "node_modules/isobject": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
+ "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/jackspeak": {
+ "version": "3.4.3",
+ "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz",
+ "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==",
+ "dev": true,
+ "license": "BlueOak-1.0.0",
+ "dependencies": {
+ "@isaacs/cliui": "^8.0.2"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ },
+ "optionalDependencies": {
+ "@pkgjs/parseargs": "^0.11.0"
+ }
+ },
+ "node_modules/jake": {
+ "version": "10.9.2",
+ "resolved": "https://registry.npmjs.org/jake/-/jake-10.9.2.tgz",
+ "integrity": "sha512-2P4SQ0HrLQ+fw6llpLnOaGAvN2Zu6778SJMrCUwns4fOoG9ayrTiZk3VV8sCPkVZF8ab0zksVpS8FDY5pRCNBA==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "dependencies": {
+ "async": "^3.2.3",
+ "chalk": "^4.0.2",
+ "filelist": "^1.0.4",
+ "minimatch": "^3.1.2"
+ },
+ "bin": {
+ "jake": "bin/cli.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/jake/node_modules/minimatch": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+ "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "brace-expansion": "^1.1.7"
+ },
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/jest-diff": {
+ "version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.7.0.tgz",
+ "integrity": "sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "chalk": "^4.0.0",
+ "diff-sequences": "^29.6.3",
+ "jest-get-type": "^29.6.3",
+ "pretty-format": "^29.7.0"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
+ },
+ "node_modules/jest-get-type": {
+ "version": "29.6.3",
+ "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.6.3.tgz",
+ "integrity": "sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
+ },
+ "node_modules/js-sha3": {
+ "version": "0.8.0",
+ "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz",
+ "integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==",
+ "license": "MIT"
+ },
+ "node_modules/js-tokens": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
+ "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/js-yaml": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
+ "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "argparse": "^2.0.1"
+ },
+ "bin": {
+ "js-yaml": "bin/js-yaml.js"
+ }
+ },
+ "node_modules/jsbn": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-1.1.0.tgz",
+ "integrity": "sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/json-parse-better-errors": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz",
+ "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/json-parse-even-better-errors": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-3.0.2.tgz",
+ "integrity": "sha512-fi0NG4bPjCHunUJffmLd0gxssIgkNmArMvis4iNah6Owg1MCJjWhEcDLmsK6iGkJq3tHwbDkTlce70/tmXN4cQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+ }
+ },
+ "node_modules/json-schema": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz",
+ "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==",
+ "license": "(AFL-2.1 OR BSD-3-Clause)"
+ },
+ "node_modules/json-stringify-nice": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/json-stringify-nice/-/json-stringify-nice-1.1.4.tgz",
+ "integrity": "sha512-5Z5RFW63yxReJ7vANgW6eZFGWaQvnPE3WNmZoOJrSkGju2etKA2L5rrOa1sm877TVTFt57A80BH1bArcmlLfPw==",
+ "dev": true,
+ "license": "ISC",
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/json-stringify-safe": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
+ "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==",
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/json5": {
+ "version": "2.2.3",
+ "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz",
+ "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==",
+ "dev": true,
+ "license": "MIT",
+ "bin": {
+ "json5": "lib/cli.js"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/jsonc-parser": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz",
+ "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/jsonfile": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz",
+ "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "universalify": "^2.0.0"
+ },
+ "optionalDependencies": {
+ "graceful-fs": "^4.1.6"
+ }
+ },
+ "node_modules/jsonparse": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz",
+ "integrity": "sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==",
+ "dev": true,
+ "engines": [
+ "node >= 0.2.0"
+ ],
+ "license": "MIT"
+ },
+ "node_modules/JSONStream": {
+ "version": "1.3.5",
+ "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz",
+ "integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==",
+ "dev": true,
+ "license": "(MIT OR Apache-2.0)",
+ "dependencies": {
+ "jsonparse": "^1.2.0",
+ "through": ">=2.2.7 <3"
+ },
+ "bin": {
+ "JSONStream": "bin.js"
+ },
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/just-diff": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/just-diff/-/just-diff-6.0.2.tgz",
+ "integrity": "sha512-S59eriX5u3/QhMNq3v/gm8Kd0w8OS6Tz2FS1NG4blv+z0MuQcBRJyFWjdovM0Rad4/P4aUPFtnkNjMjyMlMSYA==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/just-diff-apply": {
+ "version": "5.5.0",
+ "resolved": "https://registry.npmjs.org/just-diff-apply/-/just-diff-apply-5.5.0.tgz",
+ "integrity": "sha512-OYTthRfSh55WOItVqwpefPtNt2VdKsq5AnAK6apdtR6yCH8pr0CmSr710J0Mf+WdQy7K/OzMy7K2MgAfdQURDw==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/kind-of": {
+ "version": "6.0.3",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
+ "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/lerna": {
+ "version": "8.1.9",
+ "resolved": "https://registry.npmjs.org/lerna/-/lerna-8.1.9.tgz",
+ "integrity": "sha512-ZRFlRUBB2obm+GkbTR7EbgTMuAdni6iwtTQTMy7LIrQ4UInG44LyfRepljtgUxh4HA0ltzsvWfPkd5J1DKGCeQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@lerna/create": "8.1.9",
+ "@npmcli/arborist": "7.5.4",
+ "@npmcli/package-json": "5.2.0",
+ "@npmcli/run-script": "8.1.0",
+ "@nx/devkit": ">=17.1.2 < 21",
+ "@octokit/plugin-enterprise-rest": "6.0.1",
+ "@octokit/rest": "19.0.11",
+ "aproba": "2.0.0",
+ "byte-size": "8.1.1",
+ "chalk": "4.1.0",
+ "clone-deep": "4.0.1",
+ "cmd-shim": "6.0.3",
+ "color-support": "1.1.3",
+ "columnify": "1.6.0",
+ "console-control-strings": "^1.1.0",
+ "conventional-changelog-angular": "7.0.0",
+ "conventional-changelog-core": "5.0.1",
+ "conventional-recommended-bump": "7.0.1",
+ "cosmiconfig": "9.0.0",
+ "dedent": "1.5.3",
+ "envinfo": "7.13.0",
+ "execa": "5.0.0",
+ "fs-extra": "^11.2.0",
+ "get-port": "5.1.1",
+ "get-stream": "6.0.0",
+ "git-url-parse": "14.0.0",
+ "glob-parent": "6.0.2",
+ "globby": "11.1.0",
+ "graceful-fs": "4.2.11",
+ "has-unicode": "2.0.1",
+ "import-local": "3.1.0",
+ "ini": "^1.3.8",
+ "init-package-json": "6.0.3",
+ "inquirer": "^8.2.4",
+ "is-ci": "3.0.1",
+ "is-stream": "2.0.0",
+ "jest-diff": ">=29.4.3 < 30",
+ "js-yaml": "4.1.0",
+ "libnpmaccess": "8.0.6",
+ "libnpmpublish": "9.0.9",
+ "load-json-file": "6.2.0",
+ "lodash": "^4.17.21",
+ "make-dir": "4.0.0",
+ "minimatch": "3.0.5",
+ "multimatch": "5.0.0",
+ "node-fetch": "2.6.7",
+ "npm-package-arg": "11.0.2",
+ "npm-packlist": "8.0.2",
+ "npm-registry-fetch": "^17.1.0",
+ "nx": ">=17.1.2 < 21",
+ "p-map": "4.0.0",
+ "p-map-series": "2.1.0",
+ "p-pipe": "3.1.0",
+ "p-queue": "6.6.2",
+ "p-reduce": "2.1.0",
+ "p-waterfall": "2.1.1",
+ "pacote": "^18.0.6",
+ "pify": "5.0.0",
+ "read-cmd-shim": "4.0.0",
+ "resolve-from": "5.0.0",
+ "rimraf": "^4.4.1",
+ "semver": "^7.3.8",
+ "set-blocking": "^2.0.0",
+ "signal-exit": "3.0.7",
+ "slash": "3.0.0",
+ "ssri": "^10.0.6",
+ "string-width": "^4.2.3",
+ "strip-ansi": "^6.0.1",
+ "strong-log-transformer": "2.1.0",
+ "tar": "6.2.1",
+ "temp-dir": "1.0.0",
+ "typescript": ">=3 < 6",
+ "upath": "2.0.1",
+ "uuid": "^10.0.0",
+ "validate-npm-package-license": "3.0.4",
+ "validate-npm-package-name": "5.0.1",
+ "wide-align": "1.1.5",
+ "write-file-atomic": "5.0.1",
+ "write-pkg": "4.0.0",
+ "yargs": "17.7.2",
+ "yargs-parser": "21.1.1"
+ },
+ "bin": {
+ "lerna": "dist/cli.js"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/lerna/node_modules/chalk": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz",
+ "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/chalk?sponsor=1"
+ }
+ },
+ "node_modules/lerna/node_modules/supports-color": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/libnpmaccess": {
+ "version": "8.0.6",
+ "resolved": "https://registry.npmjs.org/libnpmaccess/-/libnpmaccess-8.0.6.tgz",
+ "integrity": "sha512-uM8DHDEfYG6G5gVivVl+yQd4pH3uRclHC59lzIbSvy7b5FEwR+mU49Zq1jEyRtRFv7+M99mUW9S0wL/4laT4lw==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "npm-package-arg": "^11.0.2",
+ "npm-registry-fetch": "^17.0.1"
+ },
+ "engines": {
+ "node": "^16.14.0 || >=18.0.0"
+ }
+ },
+ "node_modules/libnpmpublish": {
+ "version": "9.0.9",
+ "resolved": "https://registry.npmjs.org/libnpmpublish/-/libnpmpublish-9.0.9.tgz",
+ "integrity": "sha512-26zzwoBNAvX9AWOPiqqF6FG4HrSCPsHFkQm7nT+xU1ggAujL/eae81RnCv4CJ2In9q9fh10B88sYSzKCUh/Ghg==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "ci-info": "^4.0.0",
+ "normalize-package-data": "^6.0.1",
+ "npm-package-arg": "^11.0.2",
+ "npm-registry-fetch": "^17.0.1",
+ "proc-log": "^4.2.0",
+ "semver": "^7.3.7",
+ "sigstore": "^2.2.0",
+ "ssri": "^10.0.6"
+ },
+ "engines": {
+ "node": "^16.14.0 || >=18.0.0"
+ }
+ },
+ "node_modules/libnpmpublish/node_modules/ci-info": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-4.1.0.tgz",
+ "integrity": "sha512-HutrvTNsF48wnxkzERIXOe5/mlcfFcbfCmwcg6CJnizbSue78AbDt+1cgl26zwn61WFxhcPykPfZrbqjGmBb4A==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/sibiraj-s"
+ }
+ ],
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/lines-and-columns": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-2.0.3.tgz",
+ "integrity": "sha512-cNOjgCnLB+FnvWWtyRTzmB3POJ+cXxTA81LoW7u8JdmhfXzriropYwpjShnz1QLLWsQwY7nIxoDmcPTwphDK9w==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+ }
+ },
+ "node_modules/linkify-it": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-5.0.0.tgz",
+ "integrity": "sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "uc.micro": "^2.0.0"
+ }
+ },
+ "node_modules/load-json-file": {
+ "version": "6.2.0",
+ "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-6.2.0.tgz",
+ "integrity": "sha512-gUD/epcRms75Cw8RT1pUdHugZYM5ce64ucs2GEISABwkRsOQr0q2wm/MV2TKThycIe5e0ytRweW2RZxclogCdQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "graceful-fs": "^4.1.15",
+ "parse-json": "^5.0.0",
+ "strip-bom": "^4.0.0",
+ "type-fest": "^0.6.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/load-json-file/node_modules/type-fest": {
+ "version": "0.6.0",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz",
+ "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==",
+ "dev": true,
+ "license": "(MIT OR CC0-1.0)",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/locate-path": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
+ "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "p-locate": "^4.1.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/lodash": {
+ "version": "4.17.21",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
+ "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/lodash.ismatch": {
+ "version": "4.4.0",
+ "resolved": "https://registry.npmjs.org/lodash.ismatch/-/lodash.ismatch-4.4.0.tgz",
+ "integrity": "sha512-fPMfXjGQEV9Xsq/8MTSgUf255gawYRbjwMyDbcvDhXgV7enSZA0hynz6vMPnpAb5iONEzBHBPsT+0zes5Z301g==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/log-symbols": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz",
+ "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "chalk": "^4.1.0",
+ "is-unicode-supported": "^0.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/lru-cache": {
+ "version": "10.4.3",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz",
+ "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==",
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/lunr": {
+ "version": "2.3.9",
+ "resolved": "https://registry.npmjs.org/lunr/-/lunr-2.3.9.tgz",
+ "integrity": "sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/make-dir": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz",
+ "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "semver": "^7.5.3"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/make-fetch-happen": {
+ "version": "13.0.1",
+ "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-13.0.1.tgz",
+ "integrity": "sha512-cKTUFc/rbKUd/9meOvgrpJ2WrNzymt6jfRDdwg5UCnVzv9dTpEj9JS5m3wtziXVCjluIXyL8pcaukYqezIzZQA==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "@npmcli/agent": "^2.0.0",
+ "cacache": "^18.0.0",
+ "http-cache-semantics": "^4.1.1",
+ "is-lambda": "^1.0.1",
+ "minipass": "^7.0.2",
+ "minipass-fetch": "^3.0.0",
+ "minipass-flush": "^1.0.5",
+ "minipass-pipeline": "^1.2.4",
+ "negotiator": "^0.6.3",
+ "proc-log": "^4.2.0",
+ "promise-retry": "^2.0.1",
+ "ssri": "^10.0.0"
+ },
+ "engines": {
+ "node": "^16.14.0 || >=18.0.0"
+ }
+ },
+ "node_modules/map-obj": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz",
+ "integrity": "sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/markdown-it": {
+ "version": "14.1.0",
+ "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-14.1.0.tgz",
+ "integrity": "sha512-a54IwgWPaeBCAAsv13YgmALOF1elABB08FxO9i+r4VFk5Vl4pKokRPeX8u5TCgSsPi6ec1otfLjdOpVcgbpshg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "argparse": "^2.0.1",
+ "entities": "^4.4.0",
+ "linkify-it": "^5.0.0",
+ "mdurl": "^2.0.0",
+ "punycode.js": "^2.3.1",
+ "uc.micro": "^2.1.0"
+ },
+ "bin": {
+ "markdown-it": "bin/markdown-it.mjs"
+ }
+ },
+ "node_modules/mdast-util-to-hast": {
+ "version": "13.2.0",
+ "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-13.2.0.tgz",
+ "integrity": "sha512-QGYKEuUsYT9ykKBCMOEDLsU5JRObWQusAolFMeko/tYPufNkRffBAQjIE+99jbA87xv6FgmjLtwjh9wBWajwAA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@types/hast": "^3.0.0",
+ "@types/mdast": "^4.0.0",
+ "@ungap/structured-clone": "^1.0.0",
+ "devlop": "^1.0.0",
+ "micromark-util-sanitize-uri": "^2.0.0",
+ "trim-lines": "^3.0.0",
+ "unist-util-position": "^5.0.0",
+ "unist-util-visit": "^5.0.0",
+ "vfile": "^6.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/mdurl": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-2.0.0.tgz",
+ "integrity": "sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/meow": {
+ "version": "8.1.2",
+ "resolved": "https://registry.npmjs.org/meow/-/meow-8.1.2.tgz",
+ "integrity": "sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@types/minimist": "^1.2.0",
+ "camelcase-keys": "^6.2.2",
+ "decamelize-keys": "^1.1.0",
+ "hard-rejection": "^2.1.0",
+ "minimist-options": "4.1.0",
+ "normalize-package-data": "^3.0.0",
+ "read-pkg-up": "^7.0.1",
+ "redent": "^3.0.0",
+ "trim-newlines": "^3.0.0",
+ "type-fest": "^0.18.0",
+ "yargs-parser": "^20.2.3"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/meow/node_modules/hosted-git-info": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz",
+ "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "lru-cache": "^6.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/meow/node_modules/lru-cache": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
+ "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "yallist": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/meow/node_modules/normalize-package-data": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz",
+ "integrity": "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "dependencies": {
+ "hosted-git-info": "^4.0.1",
+ "is-core-module": "^2.5.0",
+ "semver": "^7.3.4",
+ "validate-npm-package-license": "^3.0.1"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/meow/node_modules/read-pkg": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz",
+ "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@types/normalize-package-data": "^2.4.0",
+ "normalize-package-data": "^2.5.0",
+ "parse-json": "^5.0.0",
+ "type-fest": "^0.6.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/meow/node_modules/read-pkg-up": {
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz",
+ "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "find-up": "^4.1.0",
+ "read-pkg": "^5.2.0",
+ "type-fest": "^0.8.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/meow/node_modules/read-pkg-up/node_modules/type-fest": {
+ "version": "0.8.1",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz",
+ "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==",
+ "dev": true,
+ "license": "(MIT OR CC0-1.0)",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/meow/node_modules/read-pkg/node_modules/hosted-git-info": {
+ "version": "2.8.9",
+ "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz",
+ "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==",
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/meow/node_modules/read-pkg/node_modules/normalize-package-data": {
+ "version": "2.5.0",
+ "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz",
+ "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "dependencies": {
+ "hosted-git-info": "^2.1.4",
+ "resolve": "^1.10.0",
+ "semver": "2 || 3 || 4 || 5",
+ "validate-npm-package-license": "^3.0.1"
+ }
+ },
+ "node_modules/meow/node_modules/read-pkg/node_modules/semver": {
+ "version": "5.7.2",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz",
+ "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==",
+ "dev": true,
+ "license": "ISC",
+ "bin": {
+ "semver": "bin/semver"
+ }
+ },
+ "node_modules/meow/node_modules/read-pkg/node_modules/type-fest": {
+ "version": "0.6.0",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz",
+ "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==",
+ "dev": true,
+ "license": "(MIT OR CC0-1.0)",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/meow/node_modules/type-fest": {
+ "version": "0.18.1",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.18.1.tgz",
+ "integrity": "sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==",
+ "dev": true,
+ "license": "(MIT OR CC0-1.0)",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/meow/node_modules/yargs-parser": {
+ "version": "20.2.9",
+ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz",
+ "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==",
+ "dev": true,
+ "license": "ISC",
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/merge-stream": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz",
+ "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/merge2": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
+ "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/micromark-util-character": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz",
+ "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "GitHub Sponsors",
+ "url": "https://github.com/sponsors/unifiedjs"
+ },
+ {
+ "type": "OpenCollective",
+ "url": "https://opencollective.com/unified"
+ }
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "micromark-util-symbol": "^2.0.0",
+ "micromark-util-types": "^2.0.0"
+ }
+ },
+ "node_modules/micromark-util-encode": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-2.0.1.tgz",
+ "integrity": "sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "GitHub Sponsors",
+ "url": "https://github.com/sponsors/unifiedjs"
+ },
+ {
+ "type": "OpenCollective",
+ "url": "https://opencollective.com/unified"
+ }
+ ],
+ "license": "MIT"
+ },
+ "node_modules/micromark-util-sanitize-uri": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-2.0.1.tgz",
+ "integrity": "sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "GitHub Sponsors",
+ "url": "https://github.com/sponsors/unifiedjs"
+ },
+ {
+ "type": "OpenCollective",
+ "url": "https://opencollective.com/unified"
+ }
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "micromark-util-character": "^2.0.0",
+ "micromark-util-encode": "^2.0.0",
+ "micromark-util-symbol": "^2.0.0"
+ }
+ },
+ "node_modules/micromark-util-symbol": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz",
+ "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "GitHub Sponsors",
+ "url": "https://github.com/sponsors/unifiedjs"
+ },
+ {
+ "type": "OpenCollective",
+ "url": "https://opencollective.com/unified"
+ }
+ ],
+ "license": "MIT"
+ },
+ "node_modules/micromark-util-types": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-2.0.1.tgz",
+ "integrity": "sha512-534m2WhVTddrcKVepwmVEVnUAmtrx9bfIjNoQHRqfnvdaHQiFytEhJoTgpWJvDEXCO5gLTQh3wYC1PgOJA4NSQ==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "GitHub Sponsors",
+ "url": "https://github.com/sponsors/unifiedjs"
+ },
+ {
+ "type": "OpenCollective",
+ "url": "https://opencollective.com/unified"
+ }
+ ],
+ "license": "MIT"
+ },
+ "node_modules/micromatch": {
+ "version": "4.0.8",
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz",
+ "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "braces": "^3.0.3",
+ "picomatch": "^2.3.1"
+ },
+ "engines": {
+ "node": ">=8.6"
+ }
+ },
+ "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==",
+ "license": "MIT",
+ "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==",
+ "license": "MIT",
+ "dependencies": {
+ "mime-db": "1.52.0"
+ },
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/mimic-fn": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
+ "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/min-indent": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz",
+ "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/minimatch": {
+ "version": "3.0.5",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.5.tgz",
+ "integrity": "sha512-tUpxzX0VAzJHjLu0xUfFv1gwVp9ba3IOuRAVH2EGuRW8a5emA2FlACLqiT/lDVtS1W+TGNwqz3sWaNyLgDJWuw==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "brace-expansion": "^1.1.7"
+ },
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/minimist": {
+ "version": "1.2.8",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz",
+ "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==",
+ "dev": true,
+ "license": "MIT",
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/minimist-options": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz",
+ "integrity": "sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "arrify": "^1.0.1",
+ "is-plain-obj": "^1.1.0",
+ "kind-of": "^6.0.3"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/minipass": {
+ "version": "7.1.2",
+ "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz",
+ "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==",
+ "dev": true,
+ "license": "ISC",
+ "engines": {
+ "node": ">=16 || 14 >=14.17"
+ }
+ },
+ "node_modules/minipass-collect": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-2.0.1.tgz",
+ "integrity": "sha512-D7V8PO9oaz7PWGLbCACuI1qEOsq7UKfLotx/C0Aet43fCUB/wfQ7DYeq2oR/svFJGYDHPr38SHATeaj/ZoKHKw==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "minipass": "^7.0.3"
+ },
+ "engines": {
+ "node": ">=16 || 14 >=14.17"
+ }
+ },
+ "node_modules/minipass-fetch": {
+ "version": "3.0.5",
+ "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-3.0.5.tgz",
+ "integrity": "sha512-2N8elDQAtSnFV0Dk7gt15KHsS0Fyz6CbYZ360h0WTYV1Ty46li3rAXVOQj1THMNLdmrD9Vt5pBPtWtVkpwGBqg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "minipass": "^7.0.3",
+ "minipass-sized": "^1.0.3",
+ "minizlib": "^2.1.2"
+ },
+ "engines": {
+ "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+ },
+ "optionalDependencies": {
+ "encoding": "^0.1.13"
+ }
+ },
+ "node_modules/minipass-flush": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz",
+ "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "minipass": "^3.0.0"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/minipass-flush/node_modules/minipass": {
+ "version": "3.3.6",
+ "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz",
+ "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "yallist": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/minipass-pipeline": {
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz",
+ "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "minipass": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/minipass-pipeline/node_modules/minipass": {
+ "version": "3.3.6",
+ "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz",
+ "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "yallist": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/minipass-sized": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/minipass-sized/-/minipass-sized-1.0.3.tgz",
+ "integrity": "sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "minipass": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/minipass-sized/node_modules/minipass": {
+ "version": "3.3.6",
+ "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz",
+ "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "yallist": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/minizlib": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz",
+ "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "minipass": "^3.0.0",
+ "yallist": "^4.0.0"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/minizlib/node_modules/minipass": {
+ "version": "3.3.6",
+ "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz",
+ "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "yallist": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/mkdirp": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
+ "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
+ "dev": true,
+ "license": "MIT",
+ "bin": {
+ "mkdirp": "bin/cmd.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/modify-values": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/modify-values/-/modify-values-1.0.1.tgz",
+ "integrity": "sha512-xV2bxeN6F7oYjZWTe/YPAy6MN2M+sL4u/Rlm2AHCIVGfo2p1yGmBHQ6vHehl4bRTZBdHu3TSkWdYgkwpYzAGSw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "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==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/multimatch": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/multimatch/-/multimatch-5.0.0.tgz",
+ "integrity": "sha512-ypMKuglUrZUD99Tk2bUQ+xNQj43lPEfAeX2o9cTteAmShXy2VHDJpuwu1o0xqoKCt9jLVAvwyFKdLTPXKAfJyA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@types/minimatch": "^3.0.3",
+ "array-differ": "^3.0.0",
+ "array-union": "^2.1.0",
+ "arrify": "^2.0.1",
+ "minimatch": "^3.0.4"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/multimatch/node_modules/arrify": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz",
+ "integrity": "sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/mute-stream": {
+ "version": "0.0.8",
+ "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz",
+ "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==",
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/nanoid": {
+ "version": "3.3.7",
+ "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz",
+ "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
+ "license": "MIT",
+ "bin": {
+ "nanoid": "bin/nanoid.cjs"
+ },
+ "engines": {
+ "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
+ }
+ },
+ "node_modules/negotiator": {
+ "version": "0.6.4",
+ "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.4.tgz",
+ "integrity": "sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/neo-async": {
+ "version": "2.6.2",
+ "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz",
+ "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/next-tick": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.1.0.tgz",
+ "integrity": "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==",
+ "license": "ISC"
+ },
+ "node_modules/node-fetch": {
+ "version": "2.6.7",
+ "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz",
+ "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "whatwg-url": "^5.0.0"
+ },
+ "engines": {
+ "node": "4.x || >=6.0.0"
+ },
+ "peerDependencies": {
+ "encoding": "^0.1.0"
+ },
+ "peerDependenciesMeta": {
+ "encoding": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/node-gyp": {
+ "version": "10.2.0",
+ "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-10.2.0.tgz",
+ "integrity": "sha512-sp3FonBAaFe4aYTcFdZUn2NYkbP7xroPGYvQmP4Nl5PxamznItBnNCgjrVTKrEfQynInMsJvZrdmqUnysCJ8rw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "env-paths": "^2.2.0",
+ "exponential-backoff": "^3.1.1",
+ "glob": "^10.3.10",
+ "graceful-fs": "^4.2.6",
+ "make-fetch-happen": "^13.0.0",
+ "nopt": "^7.0.0",
+ "proc-log": "^4.1.0",
+ "semver": "^7.3.5",
+ "tar": "^6.2.1",
+ "which": "^4.0.0"
+ },
+ "bin": {
+ "node-gyp": "bin/node-gyp.js"
+ },
+ "engines": {
+ "node": "^16.14.0 || >=18.0.0"
+ }
+ },
+ "node_modules/node-gyp-build": {
+ "version": "4.8.3",
+ "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.8.3.tgz",
+ "integrity": "sha512-EMS95CMJzdoSKoIiXo8pxKoL8DYxwIZXYlLmgPb8KUv794abpnLK6ynsCAWNliOjREKruYKdzbh76HHYUHX7nw==",
+ "license": "MIT",
+ "bin": {
+ "node-gyp-build": "bin.js",
+ "node-gyp-build-optional": "optional.js",
+ "node-gyp-build-test": "build-test.js"
+ }
+ },
+ "node_modules/node-machine-id": {
+ "version": "1.1.12",
+ "resolved": "https://registry.npmjs.org/node-machine-id/-/node-machine-id-1.1.12.tgz",
+ "integrity": "sha512-QNABxbrPa3qEIfrE6GOJ7BYIuignnJw7iQ2YPbc3Nla1HzRJjXzZOiikfF8m7eAMfichLt3M4VgLOetqgDmgGQ==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/nopt": {
+ "version": "7.2.1",
+ "resolved": "https://registry.npmjs.org/nopt/-/nopt-7.2.1.tgz",
+ "integrity": "sha512-taM24ViiimT/XntxbPyJQzCG+p4EKOpgD3mxFwW38mGjVUrfERQOeY4EDHjdnptttfHuHQXFx+lTP08Q+mLa/w==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "abbrev": "^2.0.0"
+ },
+ "bin": {
+ "nopt": "bin/nopt.js"
+ },
+ "engines": {
+ "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+ }
+ },
+ "node_modules/normalize-package-data": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-6.0.2.tgz",
+ "integrity": "sha512-V6gygoYb/5EmNI+MEGrWkC+e6+Rr7mTmfHrxDbLzxQogBkgzo76rkok0Am6thgSF7Mv2nLOajAJj5vDJZEFn7g==",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "dependencies": {
+ "hosted-git-info": "^7.0.0",
+ "semver": "^7.3.5",
+ "validate-npm-package-license": "^3.0.4"
+ },
+ "engines": {
+ "node": "^16.14.0 || >=18.0.0"
+ }
+ },
+ "node_modules/npm-bundled": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-3.0.1.tgz",
+ "integrity": "sha512-+AvaheE/ww1JEwRHOrn4WHNzOxGtVp+adrg2AeZS/7KuxGUYFuBta98wYpfHBbJp6Tg6j1NKSEVHNcfZzJHQwQ==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "npm-normalize-package-bin": "^3.0.0"
+ },
+ "engines": {
+ "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+ }
+ },
+ "node_modules/npm-install-checks": {
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/npm-install-checks/-/npm-install-checks-6.3.0.tgz",
+ "integrity": "sha512-W29RiK/xtpCGqn6f3ixfRYGk+zRyr+Ew9F2E20BfXxT5/euLdA/Nm7fO7OeTGuAmTs30cpgInyJ0cYe708YTZw==",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "dependencies": {
+ "semver": "^7.1.1"
+ },
+ "engines": {
+ "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+ }
+ },
+ "node_modules/npm-normalize-package-bin": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-3.0.1.tgz",
+ "integrity": "sha512-dMxCf+zZ+3zeQZXKxmyuCKlIDPGuv8EF940xbkC4kQVDTtqoh6rJFO+JTKSA6/Rwi0getWmtuy4Itup0AMcaDQ==",
+ "dev": true,
+ "license": "ISC",
+ "engines": {
+ "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+ }
+ },
+ "node_modules/npm-package-arg": {
+ "version": "11.0.2",
+ "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-11.0.2.tgz",
+ "integrity": "sha512-IGN0IAwmhDJwy13Wc8k+4PEbTPhpJnMtfR53ZbOyjkvmEcLS4nCwp6mvMWjS5sUjeiW3mpx6cHmuhKEu9XmcQw==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "hosted-git-info": "^7.0.0",
+ "proc-log": "^4.0.0",
+ "semver": "^7.3.5",
+ "validate-npm-package-name": "^5.0.0"
+ },
+ "engines": {
+ "node": "^16.14.0 || >=18.0.0"
+ }
+ },
+ "node_modules/npm-packlist": {
+ "version": "8.0.2",
+ "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-8.0.2.tgz",
+ "integrity": "sha512-shYrPFIS/JLP4oQmAwDyk5HcyysKW8/JLTEA32S0Z5TzvpaeeX2yMFfoK1fjEBnCBvVyIB/Jj/GBFdm0wsgzbA==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "ignore-walk": "^6.0.4"
+ },
+ "engines": {
+ "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+ }
+ },
+ "node_modules/npm-pick-manifest": {
+ "version": "9.1.0",
+ "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-9.1.0.tgz",
+ "integrity": "sha512-nkc+3pIIhqHVQr085X9d2JzPzLyjzQS96zbruppqC9aZRm/x8xx6xhI98gHtsfELP2bE+loHq8ZaHFHhe+NauA==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "npm-install-checks": "^6.0.0",
+ "npm-normalize-package-bin": "^3.0.0",
+ "npm-package-arg": "^11.0.0",
+ "semver": "^7.3.5"
+ },
+ "engines": {
+ "node": "^16.14.0 || >=18.0.0"
+ }
+ },
+ "node_modules/npm-registry-fetch": {
+ "version": "17.1.0",
+ "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-17.1.0.tgz",
+ "integrity": "sha512-5+bKQRH0J1xG1uZ1zMNvxW0VEyoNWgJpY9UDuluPFLKDfJ9u2JmmjmTJV1srBGQOROfdBMiVvnH2Zvpbm+xkVA==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "@npmcli/redact": "^2.0.0",
+ "jsonparse": "^1.3.1",
+ "make-fetch-happen": "^13.0.0",
+ "minipass": "^7.0.2",
+ "minipass-fetch": "^3.0.0",
+ "minizlib": "^2.1.2",
+ "npm-package-arg": "^11.0.0",
+ "proc-log": "^4.0.0"
+ },
+ "engines": {
+ "node": "^16.14.0 || >=18.0.0"
+ }
+ },
+ "node_modules/npm-run-path": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz",
+ "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "path-key": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/nx": {
+ "version": "20.1.2",
+ "resolved": "https://registry.npmjs.org/nx/-/nx-20.1.2.tgz",
+ "integrity": "sha512-CvjmuQmI0RWLYZxRSIgQZmzsQv6dPp9oI0YZE3L1dagBPfTf5Cun65I0GLt7bdkDnVx2PGYkDbIoJSv2/V+83Q==",
+ "dev": true,
+ "hasInstallScript": true,
+ "license": "MIT",
+ "dependencies": {
+ "@napi-rs/wasm-runtime": "0.2.4",
+ "@yarnpkg/lockfile": "^1.1.0",
+ "@yarnpkg/parsers": "3.0.2",
+ "@zkochan/js-yaml": "0.0.7",
+ "axios": "^1.7.4",
+ "chalk": "^4.1.0",
+ "cli-cursor": "3.1.0",
+ "cli-spinners": "2.6.1",
+ "cliui": "^8.0.1",
+ "dotenv": "~16.4.5",
+ "dotenv-expand": "~11.0.6",
+ "enquirer": "~2.3.6",
+ "figures": "3.2.0",
+ "flat": "^5.0.2",
+ "front-matter": "^4.0.2",
+ "ignore": "^5.0.4",
+ "jest-diff": "^29.4.1",
+ "jsonc-parser": "3.2.0",
+ "lines-and-columns": "2.0.3",
+ "minimatch": "9.0.3",
+ "node-machine-id": "1.1.12",
+ "npm-run-path": "^4.0.1",
+ "open": "^8.4.0",
+ "ora": "5.3.0",
+ "semver": "^7.5.3",
+ "string-width": "^4.2.3",
+ "tar-stream": "~2.2.0",
+ "tmp": "~0.2.1",
+ "tsconfig-paths": "^4.1.2",
+ "tslib": "^2.3.0",
+ "yargs": "^17.6.2",
+ "yargs-parser": "21.1.1"
+ },
+ "bin": {
+ "nx": "bin/nx.js",
+ "nx-cloud": "bin/nx-cloud.js"
+ },
+ "optionalDependencies": {
+ "@nx/nx-darwin-arm64": "20.1.2",
+ "@nx/nx-darwin-x64": "20.1.2",
+ "@nx/nx-freebsd-x64": "20.1.2",
+ "@nx/nx-linux-arm-gnueabihf": "20.1.2",
+ "@nx/nx-linux-arm64-gnu": "20.1.2",
+ "@nx/nx-linux-arm64-musl": "20.1.2",
+ "@nx/nx-linux-x64-gnu": "20.1.2",
+ "@nx/nx-linux-x64-musl": "20.1.2",
+ "@nx/nx-win32-arm64-msvc": "20.1.2",
+ "@nx/nx-win32-x64-msvc": "20.1.2"
+ },
+ "peerDependencies": {
+ "@swc-node/register": "^1.8.0",
+ "@swc/core": "^1.3.85"
+ },
+ "peerDependenciesMeta": {
+ "@swc-node/register": {
+ "optional": true
+ },
+ "@swc/core": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/nx/node_modules/brace-expansion": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
+ "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "balanced-match": "^1.0.0"
+ }
+ },
+ "node_modules/nx/node_modules/minimatch": {
+ "version": "9.0.3",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz",
+ "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "brace-expansion": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=16 || 14 >=14.17"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/nx/node_modules/ora": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/ora/-/ora-5.3.0.tgz",
+ "integrity": "sha512-zAKMgGXUim0Jyd6CXK9lraBnD3H5yPGBPPOkC23a2BG6hsm4Zu6OQSjQuEtV0BHDf4aKHcUFvJiGRrFuW3MG8g==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "bl": "^4.0.3",
+ "chalk": "^4.1.0",
+ "cli-cursor": "^3.1.0",
+ "cli-spinners": "^2.5.0",
+ "is-interactive": "^1.0.0",
+ "log-symbols": "^4.0.0",
+ "strip-ansi": "^6.0.0",
+ "wcwidth": "^1.0.1"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/ollama-ai-provider": {
+ "version": "0.16.1",
+ "resolved": "https://registry.npmjs.org/ollama-ai-provider/-/ollama-ai-provider-0.16.1.tgz",
+ "integrity": "sha512-0vSQVz5Y/LguyzfO4bi1JrrVGF/k2JvO8/uFR0wYmqDFp8KPp4+AhdENSynGBr1oRhMWOM4F1l6cv7UNDgRMjw==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@ai-sdk/provider": "0.0.26",
+ "@ai-sdk/provider-utils": "1.0.22",
+ "partial-json": "0.1.7"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "zod": "^3.0.0"
+ },
+ "peerDependenciesMeta": {
+ "zod": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/once": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
+ "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "wrappy": "1"
+ }
+ },
+ "node_modules/onetime": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz",
+ "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "mimic-fn": "^2.1.0"
+ },
+ "engines": {
+ "node": ">=6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/oniguruma-to-es": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/oniguruma-to-es/-/oniguruma-to-es-0.4.1.tgz",
+ "integrity": "sha512-rNcEohFz095QKGRovP/yqPIKc+nP+Sjs4YTHMv33nMePGKrq/r2eu9Yh4646M5XluGJsUnmwoXuiXE69KDs+fQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "emoji-regex-xs": "^1.0.0",
+ "regex": "^5.0.0",
+ "regex-recursion": "^4.2.1"
+ }
+ },
+ "node_modules/only-allow": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/only-allow/-/only-allow-1.2.1.tgz",
+ "integrity": "sha512-M7CJbmv7UCopc0neRKdzfoGWaVZC+xC1925GitKH9EAqYFzX9//25Q7oX4+jw0tiCCj+t5l6VZh8UPH23NZkMA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "which-pm-runs": "^1.1.0"
+ },
+ "bin": {
+ "only-allow": "bin.js"
+ }
+ },
+ "node_modules/open": {
+ "version": "8.4.2",
+ "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz",
+ "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "define-lazy-prop": "^2.0.0",
+ "is-docker": "^2.1.1",
+ "is-wsl": "^2.2.0"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/open-jsonrpc-provider": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/open-jsonrpc-provider/-/open-jsonrpc-provider-0.2.1.tgz",
+ "integrity": "sha512-b+pRxakRwAqp+4OTh2TeH+z2zwVGa0C4fbcwIn6JsZdjd4VBmsp7KfCdmmV3XH8diecwXa5UILCw4IwAtk1DTQ==",
+ "license": "ISC",
+ "dependencies": {
+ "axios": "^0.27.2",
+ "reconnecting-websocket": "^4.4.0",
+ "websocket": "^1.0.34",
+ "ws": "^8.8.0"
+ }
+ },
+ "node_modules/open-jsonrpc-provider/node_modules/axios": {
+ "version": "0.27.2",
+ "resolved": "https://registry.npmjs.org/axios/-/axios-0.27.2.tgz",
+ "integrity": "sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ==",
+ "license": "MIT",
+ "dependencies": {
+ "follow-redirects": "^1.14.9",
+ "form-data": "^4.0.0"
+ }
+ },
+ "node_modules/optional": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/optional/-/optional-0.1.4.tgz",
+ "integrity": "sha512-gtvrrCfkE08wKcgXaVwQVgwEQ8vel2dc5DDBn9RLQZ3YtmtkBss6A2HY6BnJH4N/4Ku97Ri/SF8sNWE2225WJw==",
+ "license": "MIT"
+ },
+ "node_modules/ora": {
+ "version": "5.4.1",
+ "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz",
+ "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "bl": "^4.1.0",
+ "chalk": "^4.1.0",
+ "cli-cursor": "^3.1.0",
+ "cli-spinners": "^2.5.0",
+ "is-interactive": "^1.0.0",
+ "is-unicode-supported": "^0.1.0",
+ "log-symbols": "^4.1.0",
+ "strip-ansi": "^6.0.0",
+ "wcwidth": "^1.0.1"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/os-tmpdir": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
+ "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/p-finally": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz",
+ "integrity": "sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/p-limit": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
+ "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "p-try": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/p-locate": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
+ "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "p-limit": "^2.2.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/p-map": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz",
+ "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "aggregate-error": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/p-map-series": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/p-map-series/-/p-map-series-2.1.0.tgz",
+ "integrity": "sha512-RpYIIK1zXSNEOdwxcfe7FdvGcs7+y5n8rifMhMNWvaxRNMPINJHF5GDeuVxWqnfrcHPSCnp7Oo5yNXHId9Av2Q==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/p-pipe": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/p-pipe/-/p-pipe-3.1.0.tgz",
+ "integrity": "sha512-08pj8ATpzMR0Y80x50yJHn37NF6vjrqHutASaX5LiH5npS9XPvrUmscd9MF5R4fuYRHOxQR1FfMIlF7AzwoPqw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/p-queue": {
+ "version": "6.6.2",
+ "resolved": "https://registry.npmjs.org/p-queue/-/p-queue-6.6.2.tgz",
+ "integrity": "sha512-RwFpb72c/BhQLEXIZ5K2e+AhgNVmIejGlTgiB9MzZ0e93GRvqZ7uSi0dvRF7/XIXDeNkra2fNHBxTyPDGySpjQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "eventemitter3": "^4.0.4",
+ "p-timeout": "^3.2.0"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/p-reduce": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/p-reduce/-/p-reduce-2.1.0.tgz",
+ "integrity": "sha512-2USApvnsutq8uoxZBGbbWM0JIYLiEMJ9RlaN7fAzVNb9OZN0SHjjTTfIcb667XynS5Y1VhwDJVDa72TnPzAYWw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/p-timeout": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-3.2.0.tgz",
+ "integrity": "sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "p-finally": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/p-try": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
+ "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/p-waterfall": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/p-waterfall/-/p-waterfall-2.1.1.tgz",
+ "integrity": "sha512-RRTnDb2TBG/epPRI2yYXsimO0v3BXC8Yd3ogr1545IaqKK17VGhbWVeGGN+XfCm/08OK8635nH31c8bATkHuSw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "p-reduce": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/package-json-from-dist": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz",
+ "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==",
+ "dev": true,
+ "license": "BlueOak-1.0.0"
+ },
+ "node_modules/pacote": {
+ "version": "18.0.6",
+ "resolved": "https://registry.npmjs.org/pacote/-/pacote-18.0.6.tgz",
+ "integrity": "sha512-+eK3G27SMwsB8kLIuj4h1FUhHtwiEUo21Tw8wNjmvdlpOEr613edv+8FUsTj/4F/VN5ywGE19X18N7CC2EJk6A==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "@npmcli/git": "^5.0.0",
+ "@npmcli/installed-package-contents": "^2.0.1",
+ "@npmcli/package-json": "^5.1.0",
+ "@npmcli/promise-spawn": "^7.0.0",
+ "@npmcli/run-script": "^8.0.0",
+ "cacache": "^18.0.0",
+ "fs-minipass": "^3.0.0",
+ "minipass": "^7.0.2",
+ "npm-package-arg": "^11.0.0",
+ "npm-packlist": "^8.0.0",
+ "npm-pick-manifest": "^9.0.0",
+ "npm-registry-fetch": "^17.0.0",
+ "proc-log": "^4.0.0",
+ "promise-retry": "^2.0.1",
+ "sigstore": "^2.2.0",
+ "ssri": "^10.0.0",
+ "tar": "^6.1.11"
+ },
+ "bin": {
+ "pacote": "bin/index.js"
+ },
+ "engines": {
+ "node": "^16.14.0 || >=18.0.0"
+ }
+ },
+ "node_modules/parent-module": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
+ "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "callsites": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/parse-conflict-json": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/parse-conflict-json/-/parse-conflict-json-3.0.1.tgz",
+ "integrity": "sha512-01TvEktc68vwbJOtWZluyWeVGWjP+bZwXtPDMQVbBKzbJ/vZBif0L69KH1+cHv1SZ6e0FKLvjyHe8mqsIqYOmw==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "json-parse-even-better-errors": "^3.0.0",
+ "just-diff": "^6.0.0",
+ "just-diff-apply": "^5.2.0"
+ },
+ "engines": {
+ "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+ }
+ },
+ "node_modules/parse-json": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz",
+ "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/code-frame": "^7.0.0",
+ "error-ex": "^1.3.1",
+ "json-parse-even-better-errors": "^2.3.0",
+ "lines-and-columns": "^1.1.6"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/parse-json/node_modules/json-parse-even-better-errors": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz",
+ "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/parse-json/node_modules/lines-and-columns": {
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz",
+ "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/parse-path": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/parse-path/-/parse-path-7.0.0.tgz",
+ "integrity": "sha512-Euf9GG8WT9CdqwuWJGdf3RkUcTBArppHABkO7Lm8IzRQp0e2r/kkFnmhu4TSK30Wcu5rVAZLmfPKSBBi9tWFog==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "protocols": "^2.0.0"
+ }
+ },
+ "node_modules/parse-url": {
+ "version": "8.1.0",
+ "resolved": "https://registry.npmjs.org/parse-url/-/parse-url-8.1.0.tgz",
+ "integrity": "sha512-xDvOoLU5XRrcOZvnI6b8zA6n9O9ejNk/GExuz1yBuWUGn9KA97GI6HTs6u02wKara1CeVmZhH+0TZFdWScR89w==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "parse-path": "^7.0.0"
+ }
+ },
+ "node_modules/partial-json": {
+ "version": "0.1.7",
+ "resolved": "https://registry.npmjs.org/partial-json/-/partial-json-0.1.7.tgz",
+ "integrity": "sha512-Njv/59hHaokb/hRUjce3Hdv12wd60MtM9Z5Olmn+nehe0QDAsRtRbJPvJ0Z91TusF0SuZRIvnM+S4l6EIP8leA==",
+ "license": "MIT"
+ },
+ "node_modules/path-exists": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
+ "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/path-key": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
+ "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/path-parse": {
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
+ "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/path-scurry": {
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz",
+ "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==",
+ "dev": true,
+ "license": "BlueOak-1.0.0",
+ "dependencies": {
+ "lru-cache": "^10.2.0",
+ "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0"
+ },
+ "engines": {
+ "node": ">=16 || 14 >=14.18"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/path-type": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz",
+ "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/picocolors": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz",
+ "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==",
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/picomatch": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
+ "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8.6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/jonschlinkert"
+ }
+ },
+ "node_modules/pify": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/pify/-/pify-5.0.0.tgz",
+ "integrity": "sha512-eW/gHNMlxdSP6dmG6uJip6FXN0EQBwm2clYYd8Wul42Cwu/DK8HEftzsapcNdYe2MfLiIwZqsDk2RDEsTE79hA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/pkg-dir": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz",
+ "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "find-up": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/postcss-selector-parser": {
+ "version": "6.1.2",
+ "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz",
+ "integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "cssesc": "^3.0.0",
+ "util-deprecate": "^1.0.2"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/prettier": {
+ "version": "3.3.3",
+ "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.3.3.tgz",
+ "integrity": "sha512-i2tDNA0O5IrMO757lfrdQZCc2jPNDVntV0m/+4whiDfWaTKfMNgR7Qz0NAeGz/nRqF4m5/6CLzbP4/liHt12Ew==",
+ "dev": true,
+ "license": "MIT",
+ "bin": {
+ "prettier": "bin/prettier.cjs"
+ },
+ "engines": {
+ "node": ">=14"
+ },
+ "funding": {
+ "url": "https://github.com/prettier/prettier?sponsor=1"
+ }
+ },
+ "node_modules/pretty-format": {
+ "version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz",
+ "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jest/schemas": "^29.6.3",
+ "ansi-styles": "^5.0.0",
+ "react-is": "^18.0.0"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
+ },
+ "node_modules/pretty-format/node_modules/ansi-styles": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz",
+ "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/proc-log": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-4.2.0.tgz",
+ "integrity": "sha512-g8+OnU/L2v+wyiVK+D5fA34J7EH8jZ8DDlvwhRCMxmMj7UCBvxiO1mGeN+36JXIKF4zevU4kRBd8lVgG9vLelA==",
+ "dev": true,
+ "license": "ISC",
+ "engines": {
+ "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+ }
+ },
+ "node_modules/process-nextick-args": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
+ "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/proggy": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/proggy/-/proggy-2.0.0.tgz",
+ "integrity": "sha512-69agxLtnI8xBs9gUGqEnK26UfiexpHy+KUpBQWabiytQjnn5wFY8rklAi7GRfABIuPNnQ/ik48+LGLkYYJcy4A==",
+ "dev": true,
+ "license": "ISC",
+ "engines": {
+ "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+ }
+ },
+ "node_modules/promise-all-reject-late": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/promise-all-reject-late/-/promise-all-reject-late-1.0.1.tgz",
+ "integrity": "sha512-vuf0Lf0lOxyQREH7GDIOUMLS7kz+gs8i6B+Yi8dC68a2sychGrHTJYghMBD6k7eUcH0H5P73EckCA48xijWqXw==",
+ "dev": true,
+ "license": "ISC",
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/promise-call-limit": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/promise-call-limit/-/promise-call-limit-3.0.2.tgz",
+ "integrity": "sha512-mRPQO2T1QQVw11E7+UdCJu7S61eJVWknzml9sC1heAdj1jxl0fWMBypIt9ZOcLFf8FkG995ZD7RnVk7HH72fZw==",
+ "dev": true,
+ "license": "ISC",
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/promise-inflight": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz",
+ "integrity": "sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==",
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/promise-retry": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz",
+ "integrity": "sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "err-code": "^2.0.2",
+ "retry": "^0.12.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/promzard": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/promzard/-/promzard-1.0.2.tgz",
+ "integrity": "sha512-2FPputGL+mP3jJ3UZg/Dl9YOkovB7DX0oOr+ck5QbZ5MtORtds8k/BZdn+02peDLI8/YWbmzx34k5fA+fHvCVQ==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "read": "^3.0.1"
+ },
+ "engines": {
+ "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+ }
+ },
+ "node_modules/property-information": {
+ "version": "6.5.0",
+ "resolved": "https://registry.npmjs.org/property-information/-/property-information-6.5.0.tgz",
+ "integrity": "sha512-PgTgs/BlvHxOu8QuEN7wi5A0OmXaBcHpmCSTehcs6Uuu9IkDIEo13Hy7n898RHfrQ49vKCoGeWZSaAK01nwVig==",
+ "dev": true,
+ "license": "MIT",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
+ "node_modules/protocols": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/protocols/-/protocols-2.0.1.tgz",
+ "integrity": "sha512-/XJ368cyBJ7fzLMwLKv1e4vLxOju2MNAIokcr7meSaNcVbWz/CPcW22cP04mwxOErdA5mwjA8Q6w/cdAQxVn7Q==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/proxy-from-env": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz",
+ "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/punycode.js": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/punycode.js/-/punycode.js-2.3.1.tgz",
+ "integrity": "sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/queue-microtask": {
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
+ "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ],
+ "license": "MIT"
+ },
+ "node_modules/quick-lru": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz",
+ "integrity": "sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/react-is": {
+ "version": "18.3.1",
+ "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz",
+ "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/read": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/read/-/read-3.0.1.tgz",
+ "integrity": "sha512-SLBrDU/Srs/9EoWhU5GdbAoxG1GzpQHo/6qiGItaoLJ1thmYpcNIM1qISEUvyHBzfGlWIyd6p2DNi1oV1VmAuw==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "mute-stream": "^1.0.0"
+ },
+ "engines": {
+ "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+ }
+ },
+ "node_modules/read-cmd-shim": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/read-cmd-shim/-/read-cmd-shim-4.0.0.tgz",
+ "integrity": "sha512-yILWifhaSEEytfXI76kB9xEEiG1AiozaCJZ83A87ytjRiN+jVibXjedjCRNjoZviinhG+4UkalO3mWTd8u5O0Q==",
+ "dev": true,
+ "license": "ISC",
+ "engines": {
+ "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+ }
+ },
+ "node_modules/read-package-json-fast": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/read-package-json-fast/-/read-package-json-fast-3.0.2.tgz",
+ "integrity": "sha512-0J+Msgym3vrLOUB3hzQCuZHII0xkNGCtz/HJH9xZshwv9DbDwkw1KaE3gx/e2J5rpEY5rtOy6cyhKOPrkP7FZw==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "json-parse-even-better-errors": "^3.0.0",
+ "npm-normalize-package-bin": "^3.0.0"
+ },
+ "engines": {
+ "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+ }
+ },
+ "node_modules/read-pkg": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz",
+ "integrity": "sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "load-json-file": "^4.0.0",
+ "normalize-package-data": "^2.3.2",
+ "path-type": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/read-pkg-up": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz",
+ "integrity": "sha512-YFzFrVvpC6frF1sz8psoHDBGF7fLPc+llq/8NB43oagqWkx8ar5zYtsTORtOjw9W2RHLpWP+zTWwBvf1bCmcSw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "find-up": "^2.0.0",
+ "read-pkg": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/read-pkg-up/node_modules/find-up": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz",
+ "integrity": "sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "locate-path": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/read-pkg-up/node_modules/locate-path": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz",
+ "integrity": "sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "p-locate": "^2.0.0",
+ "path-exists": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/read-pkg-up/node_modules/p-limit": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz",
+ "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "p-try": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/read-pkg-up/node_modules/p-locate": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz",
+ "integrity": "sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "p-limit": "^1.1.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/read-pkg-up/node_modules/p-try": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz",
+ "integrity": "sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/read-pkg-up/node_modules/path-exists": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
+ "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/read-pkg/node_modules/hosted-git-info": {
+ "version": "2.8.9",
+ "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz",
+ "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==",
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/read-pkg/node_modules/load-json-file": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz",
+ "integrity": "sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "graceful-fs": "^4.1.2",
+ "parse-json": "^4.0.0",
+ "pify": "^3.0.0",
+ "strip-bom": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/read-pkg/node_modules/normalize-package-data": {
+ "version": "2.5.0",
+ "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz",
+ "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "dependencies": {
+ "hosted-git-info": "^2.1.4",
+ "resolve": "^1.10.0",
+ "semver": "2 || 3 || 4 || 5",
+ "validate-npm-package-license": "^3.0.1"
+ }
+ },
+ "node_modules/read-pkg/node_modules/parse-json": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz",
+ "integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "error-ex": "^1.3.1",
+ "json-parse-better-errors": "^1.0.1"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/read-pkg/node_modules/path-type": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz",
+ "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "pify": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/read-pkg/node_modules/pify": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
+ "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/read-pkg/node_modules/semver": {
+ "version": "5.7.2",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz",
+ "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==",
+ "dev": true,
+ "license": "ISC",
+ "bin": {
+ "semver": "bin/semver"
+ }
+ },
+ "node_modules/read-pkg/node_modules/strip-bom": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
+ "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/read/node_modules/mute-stream": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-1.0.0.tgz",
+ "integrity": "sha512-avsJQhyd+680gKXyG/sQc0nXaC6rBkPOfyHYcFb9+hdkqQkR9bdnkJ0AMZhke0oesPqIO+mFFJ+IdBc7mst4IA==",
+ "dev": true,
+ "license": "ISC",
+ "engines": {
+ "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+ }
+ },
+ "node_modules/readable-stream": {
+ "version": "3.6.2",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz",
+ "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "inherits": "^2.0.3",
+ "string_decoder": "^1.1.1",
+ "util-deprecate": "^1.0.1"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/reconnecting-websocket": {
+ "version": "4.4.0",
+ "resolved": "https://registry.npmjs.org/reconnecting-websocket/-/reconnecting-websocket-4.4.0.tgz",
+ "integrity": "sha512-D2E33ceRPga0NvTDhJmphEgJ7FUYF0v4lr1ki0csq06OdlxKfugGzN0dSkxM/NfqCxYELK4KcaTOUOjTV6Dcng==",
+ "license": "MIT"
+ },
+ "node_modules/redent": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz",
+ "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "indent-string": "^4.0.0",
+ "strip-indent": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/regex": {
+ "version": "5.0.2",
+ "resolved": "https://registry.npmjs.org/regex/-/regex-5.0.2.tgz",
+ "integrity": "sha512-/pczGbKIQgfTMRV0XjABvc5RzLqQmwqxLHdQao2RTXPk+pmTXB2P0IaUHYdYyk412YLwUIkaeMd5T+RzVgTqnQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "regex-utilities": "^2.3.0"
+ }
+ },
+ "node_modules/regex-recursion": {
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/regex-recursion/-/regex-recursion-4.2.1.tgz",
+ "integrity": "sha512-QHNZyZAeKdndD1G3bKAbBEKOSSK4KOHQrAJ01N1LJeb0SoH4DJIeFhp0uUpETgONifS4+P3sOgoA1dhzgrQvhA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "regex-utilities": "^2.3.0"
+ }
+ },
+ "node_modules/regex-utilities": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/regex-utilities/-/regex-utilities-2.3.0.tgz",
+ "integrity": "sha512-8VhliFJAWRaUiVvREIiW2NXXTmHs4vMNnSzuJVhscgmGav3g9VDxLrQndI3dZZVVdp0ZO/5v0xmX516/7M9cng==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/require-directory": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
+ "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/resolve": {
+ "version": "1.22.8",
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz",
+ "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "is-core-module": "^2.13.0",
+ "path-parse": "^1.0.7",
+ "supports-preserve-symlinks-flag": "^1.0.0"
+ },
+ "bin": {
+ "resolve": "bin/resolve"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/resolve-cwd": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz",
+ "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "resolve-from": "^5.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/resolve-from": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
+ "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/restore-cursor": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz",
+ "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "onetime": "^5.1.0",
+ "signal-exit": "^3.0.2"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/retry": {
+ "version": "0.12.0",
+ "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz",
+ "integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 4"
+ }
+ },
+ "node_modules/reusify": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz",
+ "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "iojs": ">=1.0.0",
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/rimraf": {
+ "version": "4.4.1",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-4.4.1.tgz",
+ "integrity": "sha512-Gk8NlF062+T9CqNGn6h4tls3k6T1+/nXdOcSZVikNVtlRdYpA7wRJJMoXmuvOnLW844rPjdQ7JgXCYM6PPC/og==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "glob": "^9.2.0"
+ },
+ "bin": {
+ "rimraf": "dist/cjs/src/bin.js"
+ },
+ "engines": {
+ "node": ">=14"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/rimraf/node_modules/brace-expansion": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
+ "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "balanced-match": "^1.0.0"
+ }
+ },
+ "node_modules/rimraf/node_modules/glob": {
+ "version": "9.3.5",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-9.3.5.tgz",
+ "integrity": "sha512-e1LleDykUz2Iu+MTYdkSsuWX8lvAjAcs0Xef0lNIu0S2wOAzuTxCJtcd9S3cijlwYF18EsU3rzb8jPVobxDh9Q==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "fs.realpath": "^1.0.0",
+ "minimatch": "^8.0.2",
+ "minipass": "^4.2.4",
+ "path-scurry": "^1.6.1"
+ },
+ "engines": {
+ "node": ">=16 || 14 >=14.17"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/rimraf/node_modules/minimatch": {
+ "version": "8.0.4",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-8.0.4.tgz",
+ "integrity": "sha512-W0Wvr9HyFXZRGIDgCicunpQ299OKXs9RgZfaukz4qAW/pJhcpUfupc9c+OObPOFueNy8VSrZgEmDtk6Kh4WzDA==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "brace-expansion": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=16 || 14 >=14.17"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/rimraf/node_modules/minipass": {
+ "version": "4.2.8",
+ "resolved": "https://registry.npmjs.org/minipass/-/minipass-4.2.8.tgz",
+ "integrity": "sha512-fNzuVyifolSLFL4NzpF+wEF4qrgqaaKX0haXPQEdQ7NKAN+WecoKMHV09YcuL/DHxrUsYQOK3MiuDf7Ip2OXfQ==",
+ "dev": true,
+ "license": "ISC",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/run-async": {
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz",
+ "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.12.0"
+ }
+ },
+ "node_modules/run-parallel": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
+ "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "queue-microtask": "^1.2.2"
+ }
+ },
+ "node_modules/rxjs": {
+ "version": "7.8.1",
+ "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz",
+ "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "dependencies": {
+ "tslib": "^2.1.0"
+ }
+ },
+ "node_modules/safe-buffer": {
+ "version": "5.2.1",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
+ "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ],
+ "license": "MIT"
+ },
+ "node_modules/safer-buffer": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
+ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/secure-json-parse": {
+ "version": "2.7.0",
+ "resolved": "https://registry.npmjs.org/secure-json-parse/-/secure-json-parse-2.7.0.tgz",
+ "integrity": "sha512-6aU+Rwsezw7VR8/nyvKTx8QpWH9FrcYiXXlqC4z5d5XQBDRqtbfsRjnwGyqbi3gddNtWHuEk9OANUotL26qKUw==",
+ "license": "BSD-3-Clause"
+ },
+ "node_modules/semver": {
+ "version": "7.6.3",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz",
+ "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==",
+ "license": "ISC",
+ "bin": {
+ "semver": "bin/semver.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/set-blocking": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
+ "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==",
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/shallow-clone": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz",
+ "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "kind-of": "^6.0.2"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/sharp": {
+ "version": "0.33.5",
+ "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.33.5.tgz",
+ "integrity": "sha512-haPVm1EkS9pgvHrQ/F3Xy+hgcuMV0Wm9vfIBSiwZ05k+xgb0PkBQpGsAA/oWdDobNaZTH5ppvHtzCFbnSEwHVw==",
+ "hasInstallScript": true,
+ "license": "Apache-2.0",
+ "dependencies": {
+ "color": "^4.2.3",
+ "detect-libc": "^2.0.3",
+ "semver": "^7.6.3"
+ },
+ "engines": {
+ "node": "^18.17.0 || ^20.3.0 || >=21.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/libvips"
+ },
+ "optionalDependencies": {
+ "@img/sharp-darwin-arm64": "0.33.5",
+ "@img/sharp-darwin-x64": "0.33.5",
+ "@img/sharp-libvips-darwin-arm64": "1.0.4",
+ "@img/sharp-libvips-darwin-x64": "1.0.4",
+ "@img/sharp-libvips-linux-arm": "1.0.5",
+ "@img/sharp-libvips-linux-arm64": "1.0.4",
+ "@img/sharp-libvips-linux-s390x": "1.0.4",
+ "@img/sharp-libvips-linux-x64": "1.0.4",
+ "@img/sharp-libvips-linuxmusl-arm64": "1.0.4",
+ "@img/sharp-libvips-linuxmusl-x64": "1.0.4",
+ "@img/sharp-linux-arm": "0.33.5",
+ "@img/sharp-linux-arm64": "0.33.5",
+ "@img/sharp-linux-s390x": "0.33.5",
+ "@img/sharp-linux-x64": "0.33.5",
+ "@img/sharp-linuxmusl-arm64": "0.33.5",
+ "@img/sharp-linuxmusl-x64": "0.33.5",
+ "@img/sharp-wasm32": "0.33.5",
+ "@img/sharp-win32-ia32": "0.33.5",
+ "@img/sharp-win32-x64": "0.33.5"
+ }
+ },
+ "node_modules/shebang-command": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
+ "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "shebang-regex": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/shebang-regex": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
+ "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/shell-quote": {
+ "version": "1.8.1",
+ "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz",
+ "integrity": "sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==",
+ "dev": true,
+ "license": "MIT",
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/shiki": {
+ "version": "1.23.1",
+ "resolved": "https://registry.npmjs.org/shiki/-/shiki-1.23.1.tgz",
+ "integrity": "sha512-8kxV9TH4pXgdKGxNOkrSMydn1Xf6It8lsle0fiqxf7a1149K1WGtdOu3Zb91T5r1JpvRPxqxU3C2XdZZXQnrig==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@shikijs/core": "1.23.1",
+ "@shikijs/engine-javascript": "1.23.1",
+ "@shikijs/engine-oniguruma": "1.23.1",
+ "@shikijs/types": "1.23.1",
+ "@shikijs/vscode-textmate": "^9.3.0",
+ "@types/hast": "^3.0.4"
+ }
+ },
+ "node_modules/signal-exit": {
+ "version": "3.0.7",
+ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz",
+ "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==",
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/sigstore": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/sigstore/-/sigstore-2.3.1.tgz",
+ "integrity": "sha512-8G+/XDU8wNsJOQS5ysDVO0Etg9/2uA5gR9l4ZwijjlwxBcrU6RPfwi2+jJmbP+Ap1Hlp/nVAaEO4Fj22/SL2gQ==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@sigstore/bundle": "^2.3.2",
+ "@sigstore/core": "^1.0.0",
+ "@sigstore/protobuf-specs": "^0.3.2",
+ "@sigstore/sign": "^2.3.2",
+ "@sigstore/tuf": "^2.3.4",
+ "@sigstore/verify": "^1.2.1"
+ },
+ "engines": {
+ "node": "^16.14.0 || >=18.0.0"
+ }
+ },
+ "node_modules/simple-swizzle": {
+ "version": "0.2.2",
+ "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz",
+ "integrity": "sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==",
+ "license": "MIT",
+ "dependencies": {
+ "is-arrayish": "^0.3.1"
+ }
+ },
+ "node_modules/simple-swizzle/node_modules/is-arrayish": {
+ "version": "0.3.2",
+ "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz",
+ "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==",
+ "license": "MIT"
+ },
+ "node_modules/slash": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
+ "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/smart-buffer": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz",
+ "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 6.0.0",
+ "npm": ">= 3.0.0"
+ }
+ },
+ "node_modules/socks": {
+ "version": "2.8.3",
+ "resolved": "https://registry.npmjs.org/socks/-/socks-2.8.3.tgz",
+ "integrity": "sha512-l5x7VUUWbjVFbafGLxPWkYsHIhEvmF85tbIeFZWc8ZPtoMyybuEhL7Jye/ooC4/d48FgOjSJXgsF/AJPYCW8Zw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ip-address": "^9.0.5",
+ "smart-buffer": "^4.2.0"
+ },
+ "engines": {
+ "node": ">= 10.0.0",
+ "npm": ">= 3.0.0"
+ }
+ },
+ "node_modules/socks-proxy-agent": {
+ "version": "8.0.4",
+ "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-8.0.4.tgz",
+ "integrity": "sha512-GNAq/eg8Udq2x0eNiFkr9gRg5bA7PXEWagQdeRX4cPSG+X/8V38v637gim9bjFptMk1QWsCTr0ttrJEiXbNnRw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "agent-base": "^7.1.1",
+ "debug": "^4.3.4",
+ "socks": "^2.8.3"
+ },
+ "engines": {
+ "node": ">= 14"
+ }
+ },
+ "node_modules/sort-keys": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-2.0.0.tgz",
+ "integrity": "sha512-/dPCrG1s3ePpWm6yBbxZq5Be1dXGLyLn9Z791chDC3NFrpkVbWGzkBwPN1knaciexFXgRJ7hzdnwZ4stHSDmjg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "is-plain-obj": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "dev": true,
+ "license": "BSD-3-Clause",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/space-separated-tokens": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz",
+ "integrity": "sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==",
+ "dev": true,
+ "license": "MIT",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
+ "node_modules/spdx-correct": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz",
+ "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "dependencies": {
+ "spdx-expression-parse": "^3.0.0",
+ "spdx-license-ids": "^3.0.0"
+ }
+ },
+ "node_modules/spdx-exceptions": {
+ "version": "2.5.0",
+ "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz",
+ "integrity": "sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==",
+ "dev": true,
+ "license": "CC-BY-3.0"
+ },
+ "node_modules/spdx-expression-parse": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz",
+ "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "spdx-exceptions": "^2.1.0",
+ "spdx-license-ids": "^3.0.0"
+ }
+ },
+ "node_modules/spdx-license-ids": {
+ "version": "3.0.20",
+ "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.20.tgz",
+ "integrity": "sha512-jg25NiDV/1fLtSgEgyvVyDunvaNHbuwF9lfNV17gSmPFAlYzdfNBlLtLzXTevwkPj7DhGbmN9VnmJIgLnhvaBw==",
+ "dev": true,
+ "license": "CC0-1.0"
+ },
+ "node_modules/split": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/split/-/split-1.0.1.tgz",
+ "integrity": "sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "through": "2"
+ },
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/split2": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/split2/-/split2-3.2.2.tgz",
+ "integrity": "sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "readable-stream": "^3.0.0"
+ }
+ },
+ "node_modules/sprintf-js": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.3.tgz",
+ "integrity": "sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==",
+ "dev": true,
+ "license": "BSD-3-Clause"
+ },
+ "node_modules/ssri": {
+ "version": "10.0.6",
+ "resolved": "https://registry.npmjs.org/ssri/-/ssri-10.0.6.tgz",
+ "integrity": "sha512-MGrFH9Z4NP9Iyhqn16sDtBpRRNJ0Y2hNa6D65h736fVSaPCHr4DM4sWUNvVaSuC+0OBGhwsrydQwmgfg5LncqQ==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "minipass": "^7.0.3"
+ },
+ "engines": {
+ "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+ }
+ },
+ "node_modules/string_decoder": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
+ "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "safe-buffer": "~5.2.0"
+ }
+ },
+ "node_modules/string-width": {
+ "version": "4.2.3",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
+ "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/string-width-cjs": {
+ "name": "string-width",
+ "version": "4.2.3",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
+ "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/stringify-entities": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-4.0.4.tgz",
+ "integrity": "sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "character-entities-html4": "^2.0.0",
+ "character-entities-legacy": "^3.0.0"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
+ "node_modules/strip-ansi": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+ "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ansi-regex": "^5.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/strip-ansi-cjs": {
+ "name": "strip-ansi",
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+ "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ansi-regex": "^5.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/strip-bom": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz",
+ "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/strip-final-newline": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz",
+ "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/strip-indent": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz",
+ "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "min-indent": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/strong-log-transformer": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/strong-log-transformer/-/strong-log-transformer-2.1.0.tgz",
+ "integrity": "sha512-B3Hgul+z0L9a236FAUC9iZsL+nVHgoCJnqCbN588DjYxvGXaXaaFbfmQ/JhvKjZwsOukuR72XbHv71Qkug0HxA==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "dependencies": {
+ "duplexer": "^0.1.1",
+ "minimist": "^1.2.0",
+ "through": "^2.3.4"
+ },
+ "bin": {
+ "sl-log-transformer": "bin/sl-log-transformer.js"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/supports-color": {
+ "version": "8.1.1",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz",
+ "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/supports-color?sponsor=1"
+ }
+ },
+ "node_modules/supports-preserve-symlinks-flag": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
+ "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/tar": {
+ "version": "6.2.1",
+ "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.1.tgz",
+ "integrity": "sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "chownr": "^2.0.0",
+ "fs-minipass": "^2.0.0",
+ "minipass": "^5.0.0",
+ "minizlib": "^2.1.1",
+ "mkdirp": "^1.0.3",
+ "yallist": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/tar-stream": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz",
+ "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "bl": "^4.0.3",
+ "end-of-stream": "^1.4.1",
+ "fs-constants": "^1.0.0",
+ "inherits": "^2.0.3",
+ "readable-stream": "^3.1.1"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/tar/node_modules/fs-minipass": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz",
+ "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "minipass": "^3.0.0"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/tar/node_modules/fs-minipass/node_modules/minipass": {
+ "version": "3.3.6",
+ "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz",
+ "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "yallist": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/tar/node_modules/minipass": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz",
+ "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==",
+ "dev": true,
+ "license": "ISC",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/temp-dir": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-1.0.0.tgz",
+ "integrity": "sha512-xZFXEGbG7SNC3itwBzI3RYjq/cEhBkx2hJuKGIUOcEULmkQExXiHat2z/qkISYsuR+IKumhEfKKbV5qXmhICFQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/text-extensions": {
+ "version": "1.9.0",
+ "resolved": "https://registry.npmjs.org/text-extensions/-/text-extensions-1.9.0.tgz",
+ "integrity": "sha512-wiBrwC1EhBelW12Zy26JeOUkQ5mRu+5o8rpsJk5+2t+Y5vE7e842qtZDQ2g1NpX/29HdyFeJ4nSIhI47ENSxlQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10"
+ }
+ },
+ "node_modules/through": {
+ "version": "2.3.8",
+ "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
+ "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/through2": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz",
+ "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "readable-stream": "~2.3.6",
+ "xtend": "~4.0.1"
+ }
+ },
+ "node_modules/through2/node_modules/readable-stream": {
+ "version": "2.3.8",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz",
+ "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "core-util-is": "~1.0.0",
+ "inherits": "~2.0.3",
+ "isarray": "~1.0.0",
+ "process-nextick-args": "~2.0.0",
+ "safe-buffer": "~5.1.1",
+ "string_decoder": "~1.1.1",
+ "util-deprecate": "~1.0.1"
+ }
+ },
+ "node_modules/through2/node_modules/safe-buffer": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
+ "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/through2/node_modules/string_decoder": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "safe-buffer": "~5.1.0"
+ }
+ },
+ "node_modules/tmp": {
+ "version": "0.2.3",
+ "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.3.tgz",
+ "integrity": "sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=14.14"
+ }
+ },
+ "node_modules/to-regex-range": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
+ "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "is-number": "^7.0.0"
+ },
+ "engines": {
+ "node": ">=8.0"
+ }
+ },
+ "node_modules/tr46": {
+ "version": "0.0.3",
+ "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
+ "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/tree-kill": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz",
+ "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==",
+ "dev": true,
+ "license": "MIT",
+ "bin": {
+ "tree-kill": "cli.js"
+ }
+ },
+ "node_modules/treeverse": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/treeverse/-/treeverse-3.0.0.tgz",
+ "integrity": "sha512-gcANaAnd2QDZFmHFEOF4k7uc1J/6a6z3DJMd/QwEyxLoKGiptJRwid582r7QIsFlFMIZ3SnxfS52S4hm2DHkuQ==",
+ "dev": true,
+ "license": "ISC",
+ "engines": {
+ "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+ }
+ },
+ "node_modules/trim-lines": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/trim-lines/-/trim-lines-3.0.1.tgz",
+ "integrity": "sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==",
+ "dev": true,
+ "license": "MIT",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
+ "node_modules/trim-newlines": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.1.tgz",
+ "integrity": "sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/tsconfig-paths": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-4.2.0.tgz",
+ "integrity": "sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "json5": "^2.2.2",
+ "minimist": "^1.2.6",
+ "strip-bom": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/tsconfig-paths/node_modules/strip-bom": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
+ "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/tslib": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
+ "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==",
+ "license": "0BSD"
+ },
+ "node_modules/tuf-js": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/tuf-js/-/tuf-js-2.2.1.tgz",
+ "integrity": "sha512-GwIJau9XaA8nLVbUXsN3IlFi7WmQ48gBUrl3FTkkL/XLu/POhBzfmX9hd33FNMX1qAsfl6ozO1iMmW9NC8YniA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@tufjs/models": "2.0.1",
+ "debug": "^4.3.4",
+ "make-fetch-happen": "^13.0.1"
+ },
+ "engines": {
+ "node": "^16.14.0 || >=18.0.0"
+ }
+ },
+ "node_modules/type": {
+ "version": "2.7.3",
+ "resolved": "https://registry.npmjs.org/type/-/type-2.7.3.tgz",
+ "integrity": "sha512-8j+1QmAbPvLZow5Qpi6NCaN8FB60p/6x8/vfNqOk/hC+HuvFZhL4+WfekuhQLiqFZXOgQdrs3B+XxEmCc6b3FQ==",
+ "license": "ISC"
+ },
+ "node_modules/type-fest": {
+ "version": "0.21.3",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz",
+ "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==",
+ "dev": true,
+ "license": "(MIT OR CC0-1.0)",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/typedarray": {
+ "version": "0.0.6",
+ "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
+ "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/typedarray-to-buffer": {
+ "version": "3.1.5",
+ "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz",
+ "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==",
+ "license": "MIT",
+ "dependencies": {
+ "is-typedarray": "^1.0.0"
+ }
+ },
+ "node_modules/typedoc": {
+ "version": "0.26.11",
+ "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.26.11.tgz",
+ "integrity": "sha512-sFEgRRtrcDl2FxVP58Ze++ZK2UQAEvtvvH8rRlig1Ja3o7dDaMHmaBfvJmdGnNEFaLTpQsN8dpvZaTqJSu/Ugw==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "dependencies": {
+ "lunr": "^2.3.9",
+ "markdown-it": "^14.1.0",
+ "minimatch": "^9.0.5",
+ "shiki": "^1.16.2",
+ "yaml": "^2.5.1"
+ },
+ "bin": {
+ "typedoc": "bin/typedoc"
+ },
+ "engines": {
+ "node": ">= 18"
+ },
+ "peerDependencies": {
+ "typescript": "4.6.x || 4.7.x || 4.8.x || 4.9.x || 5.0.x || 5.1.x || 5.2.x || 5.3.x || 5.4.x || 5.5.x || 5.6.x"
+ }
+ },
+ "node_modules/typedoc/node_modules/brace-expansion": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
+ "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "balanced-match": "^1.0.0"
+ }
+ },
+ "node_modules/typedoc/node_modules/minimatch": {
+ "version": "9.0.5",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz",
+ "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "brace-expansion": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=16 || 14 >=14.17"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/typescript": {
+ "version": "5.6.3",
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.6.3.tgz",
+ "integrity": "sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "bin": {
+ "tsc": "bin/tsc",
+ "tsserver": "bin/tsserver"
+ },
+ "engines": {
+ "node": ">=14.17"
+ }
+ },
+ "node_modules/uc.micro": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-2.1.0.tgz",
+ "integrity": "sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/uglify-js": {
+ "version": "3.19.3",
+ "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.19.3.tgz",
+ "integrity": "sha512-v3Xu+yuwBXisp6QYTcH4UbH+xYJXqnq2m/LtQVWKWzYc1iehYnLixoQDN9FH6/j9/oybfd6W9Ghwkl8+UMKTKQ==",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "optional": true,
+ "bin": {
+ "uglifyjs": "bin/uglifyjs"
+ },
+ "engines": {
+ "node": ">=0.8.0"
+ }
+ },
+ "node_modules/unique-filename": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-3.0.0.tgz",
+ "integrity": "sha512-afXhuC55wkAmZ0P18QsVE6kp8JaxrEokN2HGIoIVv2ijHQd419H0+6EigAFcIzXeMIkcIkNBpB3L/DXB3cTS/g==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "unique-slug": "^4.0.0"
+ },
+ "engines": {
+ "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+ }
+ },
+ "node_modules/unique-slug": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-4.0.0.tgz",
+ "integrity": "sha512-WrcA6AyEfqDX5bWige/4NQfPZMtASNVxdmWR76WESYQVAACSgWcR6e9i0mofqqBxYFtL4oAxPIptY73/0YE1DQ==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "imurmurhash": "^0.1.4"
+ },
+ "engines": {
+ "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+ }
+ },
+ "node_modules/unist-util-is": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.0.tgz",
+ "integrity": "sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@types/unist": "^3.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/unist-util-position": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-5.0.0.tgz",
+ "integrity": "sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@types/unist": "^3.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/unist-util-stringify-position": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz",
+ "integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@types/unist": "^3.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/unist-util-visit": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-5.0.0.tgz",
+ "integrity": "sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@types/unist": "^3.0.0",
+ "unist-util-is": "^6.0.0",
+ "unist-util-visit-parents": "^6.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/unist-util-visit-parents": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-6.0.1.tgz",
+ "integrity": "sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@types/unist": "^3.0.0",
+ "unist-util-is": "^6.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/universal-user-agent": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.1.tgz",
+ "integrity": "sha512-yCzhz6FN2wU1NiiQRogkTQszlQSlpWaw8SvVegAc+bDxbzHgh1vX8uIe8OYyMH6DwH+sdTJsgMl36+mSMdRJIQ==",
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/universalify": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz",
+ "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 10.0.0"
+ }
+ },
+ "node_modules/upath": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/upath/-/upath-2.0.1.tgz",
+ "integrity": "sha512-1uEe95xksV1O0CYKXo8vQvN1JEbtJp7lb7C5U9HMsIp6IVwntkH/oNUzyVNQSd4S1sYk2FpSSW44FqMc8qee5w==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=4",
+ "yarn": "*"
+ }
+ },
+ "node_modules/utf-8-validate": {
+ "version": "5.0.10",
+ "resolved": "https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-5.0.10.tgz",
+ "integrity": "sha512-Z6czzLq4u8fPOyx7TU6X3dvUZVvoJmxSQ+IcrlmagKhilxlhZgxPK6C5Jqbkw1IDUmFTM+cz9QDnnLTwDz/2gQ==",
+ "hasInstallScript": true,
+ "license": "MIT",
+ "dependencies": {
+ "node-gyp-build": "^4.3.0"
+ },
+ "engines": {
+ "node": ">=6.14.2"
+ }
+ },
+ "node_modules/util-deprecate": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
+ "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/uuid": {
+ "version": "10.0.0",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-10.0.0.tgz",
+ "integrity": "sha512-8XkAphELsDnEGrDxUOHB3RGvXz6TeuYSGEZBOjtTtPm2lwhGBjLgOzLHB63IUWfBpNucQjND6d3AOudO+H3RWQ==",
+ "dev": true,
+ "funding": [
+ "https://github.com/sponsors/broofa",
+ "https://github.com/sponsors/ctavan"
+ ],
+ "license": "MIT",
+ "bin": {
+ "uuid": "dist/bin/uuid"
+ }
+ },
+ "node_modules/validate-npm-package-license": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz",
+ "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "dependencies": {
+ "spdx-correct": "^3.0.0",
+ "spdx-expression-parse": "^3.0.0"
+ }
+ },
+ "node_modules/validate-npm-package-name": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-5.0.1.tgz",
+ "integrity": "sha512-OljLrQ9SQdOUqTaQxqL5dEfZWrXExyyWsozYlAWFawPVNuD83igl7uJD2RTkNMbniIYgt8l81eCJGIdQF7avLQ==",
+ "dev": true,
+ "license": "ISC",
+ "engines": {
+ "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+ }
+ },
+ "node_modules/vfile": {
+ "version": "6.0.3",
+ "resolved": "https://registry.npmjs.org/vfile/-/vfile-6.0.3.tgz",
+ "integrity": "sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@types/unist": "^3.0.0",
+ "vfile-message": "^4.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/vfile-message": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-4.0.2.tgz",
+ "integrity": "sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@types/unist": "^3.0.0",
+ "unist-util-stringify-position": "^4.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/walk-up-path": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/walk-up-path/-/walk-up-path-3.0.1.tgz",
+ "integrity": "sha512-9YlCL/ynK3CTlrSRrDxZvUauLzAswPCrsaCgilqFevUYpeEW0/3ScEjaa3kbW/T0ghhkEr7mv+fpjqn1Y1YuTA==",
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/wcwidth": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz",
+ "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "defaults": "^1.0.3"
+ }
+ },
+ "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==",
+ "dev": true,
+ "license": "BSD-2-Clause"
+ },
+ "node_modules/websocket": {
+ "version": "1.0.35",
+ "resolved": "https://registry.npmjs.org/websocket/-/websocket-1.0.35.tgz",
+ "integrity": "sha512-/REy6amwPZl44DDzvRCkaI1q1bIiQB0mEFQLUrhz3z2EK91cp3n72rAjUlrTP0zV22HJIUOVHQGPxhFRjxjt+Q==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "bufferutil": "^4.0.1",
+ "debug": "^2.2.0",
+ "es5-ext": "^0.10.63",
+ "typedarray-to-buffer": "^3.1.5",
+ "utf-8-validate": "^5.0.2",
+ "yaeti": "^0.0.6"
+ },
+ "engines": {
+ "node": ">=4.0.0"
+ }
+ },
+ "node_modules/websocket/node_modules/debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "license": "MIT",
+ "dependencies": {
+ "ms": "2.0.0"
+ }
+ },
+ "node_modules/websocket/node_modules/ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
+ "license": "MIT"
+ },
+ "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==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "tr46": "~0.0.3",
+ "webidl-conversions": "^3.0.0"
+ }
+ },
+ "node_modules/which": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/which/-/which-4.0.0.tgz",
+ "integrity": "sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "isexe": "^3.1.1"
+ },
+ "bin": {
+ "node-which": "bin/which.js"
+ },
+ "engines": {
+ "node": "^16.13.0 || >=18.0.0"
+ }
+ },
+ "node_modules/which-pm-runs": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/which-pm-runs/-/which-pm-runs-1.1.0.tgz",
+ "integrity": "sha512-n1brCuqClxfFfq/Rb0ICg9giSZqCS+pLtccdag6C2HyufBrh3fBOiy9nb6ggRMvWOVH5GrdJskj5iGTZNxd7SA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/wide-align": {
+ "version": "1.1.5",
+ "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz",
+ "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "string-width": "^1.0.2 || 2 || 3 || 4"
+ }
+ },
+ "node_modules/wordwrap": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz",
+ "integrity": "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/wrap-ansi": {
+ "version": "6.2.0",
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz",
+ "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ansi-styles": "^4.0.0",
+ "string-width": "^4.1.0",
+ "strip-ansi": "^6.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/wrap-ansi-cjs": {
+ "name": "wrap-ansi",
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
+ "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ansi-styles": "^4.0.0",
+ "string-width": "^4.1.0",
+ "strip-ansi": "^6.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
+ }
+ },
+ "node_modules/wrappy": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
+ "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==",
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/write-file-atomic": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-5.0.1.tgz",
+ "integrity": "sha512-+QU2zd6OTD8XWIJCbffaiQeH9U73qIqafo1x6V1snCWYGJf6cVE0cDR4D8xRzcEnfI21IFrUPzPGtcPf8AC+Rw==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "imurmurhash": "^0.1.4",
+ "signal-exit": "^4.0.1"
+ },
+ "engines": {
+ "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+ }
+ },
+ "node_modules/write-file-atomic/node_modules/signal-exit": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz",
+ "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==",
+ "dev": true,
+ "license": "ISC",
+ "engines": {
+ "node": ">=14"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/write-json-file": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/write-json-file/-/write-json-file-3.2.0.tgz",
+ "integrity": "sha512-3xZqT7Byc2uORAatYiP3DHUUAVEkNOswEWNs9H5KXiicRTvzYzYqKjYc4G7p+8pltvAw641lVByKVtMpf+4sYQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "detect-indent": "^5.0.0",
+ "graceful-fs": "^4.1.15",
+ "make-dir": "^2.1.0",
+ "pify": "^4.0.1",
+ "sort-keys": "^2.0.0",
+ "write-file-atomic": "^2.4.2"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/write-json-file/node_modules/make-dir": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz",
+ "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "pify": "^4.0.1",
+ "semver": "^5.6.0"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/write-json-file/node_modules/pify": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz",
+ "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/write-json-file/node_modules/semver": {
+ "version": "5.7.2",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz",
+ "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==",
+ "dev": true,
+ "license": "ISC",
+ "bin": {
+ "semver": "bin/semver"
+ }
+ },
+ "node_modules/write-json-file/node_modules/write-file-atomic": {
+ "version": "2.4.3",
+ "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.3.tgz",
+ "integrity": "sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "graceful-fs": "^4.1.11",
+ "imurmurhash": "^0.1.4",
+ "signal-exit": "^3.0.2"
+ }
+ },
+ "node_modules/write-pkg": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/write-pkg/-/write-pkg-4.0.0.tgz",
+ "integrity": "sha512-v2UQ+50TNf2rNHJ8NyWttfm/EJUBWMJcx6ZTYZr6Qp52uuegWw/lBkCtCbnYZEmPRNL61m+u67dAmGxo+HTULA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "sort-keys": "^2.0.0",
+ "type-fest": "^0.4.1",
+ "write-json-file": "^3.2.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/write-pkg/node_modules/type-fest": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.4.1.tgz",
+ "integrity": "sha512-IwzA/LSfD2vC1/YDYMv/zHP4rDF1usCwllsDpbolT3D4fUepIO7f9K70jjmUewU/LmGUKJcwcVtDCpnKk4BPMw==",
+ "dev": true,
+ "license": "(MIT OR CC0-1.0)",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/ws": {
+ "version": "8.17.1",
+ "resolved": "https://registry.npmjs.org/ws/-/ws-8.17.1.tgz",
+ "integrity": "sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==",
+ "license": "MIT",
+ "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/xtend": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",
+ "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.4"
+ }
+ },
+ "node_modules/y18n": {
+ "version": "5.0.8",
+ "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz",
+ "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==",
+ "dev": true,
+ "license": "ISC",
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/yaeti": {
+ "version": "0.0.6",
+ "resolved": "https://registry.npmjs.org/yaeti/-/yaeti-0.0.6.tgz",
+ "integrity": "sha512-MvQa//+KcZCUkBTIC9blM+CU9J2GzuTytsOUwf2lidtvkx/6gnEp1QvJv34t9vdjhFmha/mUiNDbN0D0mJWdug==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.32"
+ }
+ },
+ "node_modules/yallist": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
+ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/yaml": {
+ "version": "2.6.0",
+ "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.6.0.tgz",
+ "integrity": "sha512-a6ae//JvKDEra2kdi1qzCyrJW/WZCgFi8ydDV+eXExl95t+5R+ijnqHJbz9tmMh8FUjx3iv2fCQ4dclAQlO2UQ==",
+ "dev": true,
+ "license": "ISC",
+ "bin": {
+ "yaml": "bin.mjs"
+ },
+ "engines": {
+ "node": ">= 14"
+ }
+ },
+ "node_modules/yargs": {
+ "version": "17.7.2",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz",
+ "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "cliui": "^8.0.1",
+ "escalade": "^3.1.1",
+ "get-caller-file": "^2.0.5",
+ "require-directory": "^2.1.1",
+ "string-width": "^4.2.3",
+ "y18n": "^5.0.5",
+ "yargs-parser": "^21.1.1"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/yargs-parser": {
+ "version": "21.1.1",
+ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz",
+ "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==",
+ "dev": true,
+ "license": "ISC",
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/zwitch": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-2.0.4.tgz",
+ "integrity": "sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==",
+ "dev": true,
+ "license": "MIT",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ }
+ }
+}
diff --git a/package.json b/package.json
index 0d394aa59b5..6def6f7a921 100644
--- a/package.json
+++ b/package.json
@@ -20,31 +20,33 @@
"docker:bash": "bash ./scripts/docker.sh bash",
"docker:start": "bash ./scripts/docker.sh start",
"docker": "pnpm docker:build && pnpm docker:run && pnpm docker:bash",
- "test": "bash ./scripts/test.sh",
- "prepare": "husky install"
+ "test": "bash ./scripts/test.sh"
},
"devDependencies": {
- "concurrently": "^9.1.0",
- "husky": "^9.1.6",
- "lerna": "^8.1.5",
- "only-allow": "^1.2.1",
- "prettier": "^3.3.3",
- "typedoc": "^0.26.11",
- "typescript": "5.6.3",
- "vite": "^5.4.11",
- "vitest": "^2.1.5",
"@commitlint/cli": "^18.4.4",
- "@commitlint/config-conventional": "^18.4.4"
+ "@commitlint/config-conventional": "^18.4.4",
+ "lerna": "8.1.5",
+ "only-allow": "1.2.1",
+ "concurrently": "9.1.0",
+ "husky": "9.1.7",
+ "prettier": "3.3.3",
+ "typedoc": "0.26.11",
+ "typescript": "5.6.3",
+ "vite": "5.4.11",
+ "vitest": "2.1.5"
},
"pnpm": {
"overrides": {
- "onnxruntime-node": "^1.20.0"
+ "onnxruntime-node": "1.20.1"
}
},
"engines": {
- "node": ">=22"
+ "node": "23.3.0"
},
"dependencies": {
+ "@coinbase/coinbase-sdk": "^0.10.0",
+ "csv-parse": "^5.6.0",
+ "@0glabs/0g-ts-sdk": "^0.2.1",
"ollama-ai-provider": "^0.16.1",
"optional": "^0.1.4",
"sharp": "^0.33.5",
diff --git a/packages/adapter-postgres/package.json b/packages/adapter-postgres/package.json
index 248102d3694..ac6804274d1 100644
--- a/packages/adapter-postgres/package.json
+++ b/packages/adapter-postgres/package.json
@@ -6,15 +6,15 @@
"types": "dist/index.d.ts",
"dependencies": {
"@ai16z/eliza": "workspace:*",
- "@types/pg": "^8.11.10",
- "pg": "^8.13.1"
+ "@types/pg": "8.11.10",
+ "pg": "8.13.1"
},
"devDependencies": {
"eslint": "9.13.0",
"eslint-config-prettier": "9.1.0",
"eslint-plugin-prettier": "5.2.1",
"eslint-plugin-vitest": "0.5.4",
- "tsup": "^8.3.5"
+ "tsup": "8.3.5"
},
"scripts": {
"build": "tsup --format esm --dts",
diff --git a/packages/adapter-sqlite/package.json b/packages/adapter-sqlite/package.json
index 303703bcf46..fe49cde66b8 100644
--- a/packages/adapter-sqlite/package.json
+++ b/packages/adapter-sqlite/package.json
@@ -15,7 +15,7 @@
"eslint-config-prettier": "9.1.0",
"eslint-plugin-prettier": "5.2.1",
"eslint-plugin-vitest": "0.5.4",
- "tsup": "^8.3.5"
+ "tsup": "8.3.5"
},
"scripts": {
"build": "tsup --format esm --dts",
diff --git a/packages/adapter-sqljs/package.json b/packages/adapter-sqljs/package.json
index 1502fabf706..3ec960ba6fc 100644
--- a/packages/adapter-sqljs/package.json
+++ b/packages/adapter-sqljs/package.json
@@ -15,7 +15,7 @@
"eslint-config-prettier": "9.1.0",
"eslint-plugin-prettier": "5.2.1",
"eslint-plugin-vitest": "0.5.4",
- "tsup": "^8.3.5"
+ "tsup": "8.3.5"
},
"scripts": {
"build": "tsup --format esm --dts",
diff --git a/packages/adapter-sqljs/src/index.ts b/packages/adapter-sqljs/src/index.ts
index e1b904aa222..9ef2d871d53 100644
--- a/packages/adapter-sqljs/src/index.ts
+++ b/packages/adapter-sqljs/src/index.ts
@@ -18,8 +18,7 @@ import { Database } from "./types.ts";
export class SqlJsDatabaseAdapter
extends DatabaseAdapter
- implements IDatabaseCacheAdapter
-{
+ implements IDatabaseCacheAdapter {
constructor(db: Database) {
super();
this.db = db;
@@ -71,19 +70,17 @@ export class SqlJsDatabaseAdapter
}
async getMemoriesByRoomIds(params: {
+ agentId: UUID;
roomIds: UUID[];
tableName: string;
- agentId?: UUID;
}): Promise {
const placeholders = params.roomIds.map(() => "?").join(", ");
- let sql = `SELECT * FROM memories WHERE type = ? AND roomId IN (${placeholders})`;
+ let sql = `SELECT * FROM memories WHERE 'type' = ? AND agentId = ? AND roomId IN (${placeholders})`;
const stmt = this.db.prepare(sql);
- const queryParams = [params.tableName, ...params.roomIds];
- if (params.agentId) {
- sql += " AND userId = ?";
- queryParams.push(params.agentId);
- }
+ const queryParams = [params.tableName, params.agentId, ...params.roomIds];
+ console.log({ queryParams })
stmt.bind(queryParams);
+ console.log({ queryParams })
const memories: Memory[] = [];
while (stmt.step()) {
@@ -224,6 +221,7 @@ export class SqlJsDatabaseAdapter
const similarMemories = await this.searchMemoriesByEmbedding(
memory.embedding,
{
+ agentId: memory.agentId,
tableName,
roomId: memory.roomId,
match_threshold: 0.95, // 5% similarity threshold
@@ -256,6 +254,7 @@ export class SqlJsDatabaseAdapter
async searchMemories(params: {
tableName: string;
+ agentId: UUID;
roomId: UUID;
embedding: number[];
match_threshold: number;
@@ -268,7 +267,7 @@ export class SqlJsDatabaseAdapter
// TODO: Uncomment when we compile sql.js with vss
// `, (1 - vss_distance_l2(embedding, ?)) AS similarity` +
` FROM memories
- WHERE type = ?
+ WHERE type = ? AND agentId = ?
AND roomId = ?`;
if (params.unique) {
@@ -280,6 +279,7 @@ export class SqlJsDatabaseAdapter
stmt.bind([
// JSON.stringify(params.embedding),
params.tableName,
+ params.agentId,
params.roomId,
// params.match_count,
]);
@@ -300,10 +300,10 @@ export class SqlJsDatabaseAdapter
async searchMemoriesByEmbedding(
_embedding: number[],
params: {
+ agentId: UUID;
match_threshold?: number;
count?: number;
roomId?: UUID;
- agentId?: UUID;
unique?: boolean;
tableName: string;
}
@@ -313,7 +313,7 @@ export class SqlJsDatabaseAdapter
// TODO: Uncomment when we compile sql.js with vss
// `, (1 - vss_distance_l2(embedding, ?)) AS similarity`+
` FROM memories
- WHERE type = ?`;
+ WHERE type = ? AND agentId = ?`;
if (params.unique) {
sql += " AND `unique` = 1";
@@ -336,6 +336,7 @@ export class SqlJsDatabaseAdapter
const bindings = [
// JSON.stringify(embedding),
params.tableName,
+ params.agentId,
];
if (params.roomId) {
bindings.push(params.roomId);
@@ -752,13 +753,13 @@ export class SqlJsDatabaseAdapter
stmt.bind([params.key, params.agentId]);
- let cached = undefined;
+ let cached: { value: string } | undefined = undefined;
if (stmt.step()) {
cached = stmt.getAsObject() as unknown as { value: string };
}
stmt.free();
- return cached.value;
+ return cached?.value ?? undefined;
}
async setCache(params: {
@@ -785,6 +786,7 @@ export class SqlJsDatabaseAdapter
const stmt = this.db.prepare(sql);
stmt.run([params.key, params.agentId]);
stmt.free();
+ return true;
} catch (error) {
console.log("Error removing cache", error);
return false;
diff --git a/packages/adapter-sqljs/tsconfig.json b/packages/adapter-sqljs/tsconfig.json
index 7541efa69db..05d7f6117d1 100644
--- a/packages/adapter-sqljs/tsconfig.json
+++ b/packages/adapter-sqljs/tsconfig.json
@@ -2,7 +2,8 @@
"extends": "../../tsconfig.json",
"compilerOptions": {
"outDir": "dist",
- "rootDir": "src"
+ "rootDir": "src",
+ "strict": true
},
"include": ["src/**/*.ts"]
}
diff --git a/packages/adapter-supabase/package.json b/packages/adapter-supabase/package.json
index 9411ec184ca..6870134667e 100644
--- a/packages/adapter-supabase/package.json
+++ b/packages/adapter-supabase/package.json
@@ -13,7 +13,7 @@
"eslint-config-prettier": "9.1.0",
"eslint-plugin-prettier": "5.2.1",
"eslint-plugin-vitest": "0.5.4",
- "tsup": "^8.3.5"
+ "tsup": "8.3.5"
},
"scripts": {
"build": "tsup --format esm --dts",
diff --git a/packages/client-auto/package.json b/packages/client-auto/package.json
index 6ed8381003e..e86626e3e4f 100644
--- a/packages/client-auto/package.json
+++ b/packages/client-auto/package.json
@@ -21,7 +21,7 @@
"eslint-config-prettier": "9.1.0",
"eslint-plugin-prettier": "5.2.1",
"eslint-plugin-vitest": "0.5.4",
- "tsup": "^8.3.5"
+ "tsup": "8.3.5"
},
"scripts": {
"build": "tsup --format esm --dts",
diff --git a/packages/client-direct/package.json b/packages/client-direct/package.json
index bf83368aa4f..dbaf93e1f32 100644
--- a/packages/client-direct/package.json
+++ b/packages/client-direct/package.json
@@ -12,7 +12,8 @@
"@types/express": "5.0.0",
"body-parser": "1.20.3",
"cors": "2.8.5",
- "express": "^4.21.1",
+ "discord.js": "14.16.3",
+ "express": "4.21.1",
"multer": "1.4.5-lts.1"
},
"devDependencies": {
@@ -20,7 +21,7 @@
"eslint-config-prettier": "9.1.0",
"eslint-plugin-prettier": "5.2.1",
"eslint-plugin-vitest": "0.5.4",
- "tsup": "^8.3.5"
+ "tsup": "8.3.5"
},
"scripts": {
"build": "tsup --format esm --dts",
diff --git a/packages/client-direct/src/api.ts b/packages/client-direct/src/api.ts
new file mode 100644
index 00000000000..3b3394dd210
--- /dev/null
+++ b/packages/client-direct/src/api.ts
@@ -0,0 +1,70 @@
+import express from "express";
+import bodyParser from "body-parser";
+import cors from "cors";
+
+import { AgentRuntime } from "@ai16z/eliza";
+
+import { REST, Routes } from "discord.js";
+
+export function createApiRouter(agents: Map) {
+ const router = express.Router();
+
+ router.use(cors());
+ router.use(bodyParser.json());
+ router.use(bodyParser.urlencoded({ extended: true }));
+
+ router.get("/hello", (req, res) => {
+ res.json({ message: "Hello World!" });
+ });
+
+ router.get("/agents", (req, res) => {
+ const agentsList = Array.from(agents.values()).map((agent) => ({
+ id: agent.agentId,
+ name: agent.character.name,
+ }));
+ res.json({ agents: agentsList });
+ });
+
+ router.get("/agents/:agentId", (req, res) => {
+ const agentId = req.params.agentId;
+ const agent = agents.get(agentId);
+
+ if (!agent) {
+ res.status(404).json({ error: "Agent not found" });
+ return;
+ }
+
+ res.json({
+ id: agent.agentId,
+ character: agent.character,
+ });
+ });
+
+ router.get("/agents/:agentId/channels", async (req, res) => {
+ const agentId = req.params.agentId;
+ const runtime = agents.get(agentId);
+
+ if (!runtime) {
+ res.status(404).json({ error: "Runtime not found" });
+ return;
+ }
+
+ const API_TOKEN = runtime.getSetting("DISCORD_API_TOKEN") as string;
+ const rest = new REST({ version: "10" }).setToken(API_TOKEN);
+
+ try {
+ const guilds = (await rest.get(Routes.userGuilds())) as Array;
+
+ res.json({
+ id: runtime.agentId,
+ guilds: guilds,
+ serverCount: guilds.length,
+ });
+ } catch (error) {
+ console.error("Error fetching guilds:", error);
+ res.status(500).json({ error: "Failed to fetch guilds" });
+ }
+ });
+
+ return router;
+}
diff --git a/packages/client-direct/src/index.ts b/packages/client-direct/src/index.ts
index 7ddc5fa233f..e8da9d2c73a 100644
--- a/packages/client-direct/src/index.ts
+++ b/packages/client-direct/src/index.ts
@@ -16,6 +16,9 @@ import {
} from "@ai16z/eliza";
import { stringToUuid } from "@ai16z/eliza";
import { settings } from "@ai16z/eliza";
+import { createApiRouter } from "./api.ts";
+import * as fs from "fs";
+import * as path from "path";
const upload = multer({ storage: multer.memoryStorage() });
export const messageHandlerTemplate =
@@ -68,6 +71,9 @@ export class DirectClient {
this.app.use(bodyParser.json());
this.app.use(bodyParser.urlencoded({ extended: true }));
+ const apiRouter = createApiRouter(this.agents);
+ this.app.use(apiRouter);
+
// Define an interface that extends the Express Request interface
interface CustomRequest extends ExpressRequest {
file: File;
@@ -266,6 +272,92 @@ export class DirectClient {
res.json({ images: imagesRes });
}
);
+
+ this.app.post(
+ "/fine-tune",
+ async (req: express.Request, res: express.Response) => {
+ try {
+ const response = await fetch('https://api.bageldb.ai/api/v1/asset', {
+ method: 'POST',
+ headers: {
+ 'Content-Type': 'application/json',
+ 'X-API-KEY': `${process.env.BAGEL_API_KEY}`
+ },
+ body: JSON.stringify(req.body)
+ });
+
+ const data = await response.json();
+ res.json(data);
+ } catch (error) {
+ res.status(500).json({
+ error: 'Failed to forward request to BagelDB',
+ details: error.message
+ });
+ }
+ }
+ );
+ this.app.get(
+ "/fine-tune/:assetId",
+ async (req: express.Request, res: express.Response) => {
+ const assetId = req.params.assetId;
+ const downloadDir = path.join(process.cwd(), 'downloads', assetId);
+
+ console.log('Download directory:', downloadDir);
+
+ try {
+ console.log('Creating directory...');
+ await fs.promises.mkdir(downloadDir, { recursive: true });
+
+ console.log('Fetching file...');
+ const fileResponse = await fetch(`https://api.bageldb.ai/api/v1/asset/${assetId}/download`, {
+ headers: {
+ 'X-API-KEY': `${process.env.BAGEL_API_KEY}`
+ }
+ });
+
+ if (!fileResponse.ok) {
+ throw new Error(`API responded with status ${fileResponse.status}: ${await fileResponse.text()}`);
+ }
+
+ console.log('Response headers:', fileResponse.headers);
+
+ const fileName = fileResponse.headers.get('content-disposition')
+ ?.split('filename=')[1]
+ ?.replace(/"/g, '') || 'default_name.txt';
+
+ console.log('Saving as:', fileName);
+
+ const arrayBuffer = await fileResponse.arrayBuffer();
+ const buffer = Buffer.from(arrayBuffer);
+
+ const filePath = path.join(downloadDir, fileName);
+ console.log('Full file path:', filePath);
+
+ await fs.promises.writeFile(filePath, buffer);
+
+ // Verify file was written
+ const stats = await fs.promises.stat(filePath);
+ console.log('File written successfully. Size:', stats.size, 'bytes');
+
+ res.json({
+ success: true,
+ message: 'Single file downloaded successfully',
+ downloadPath: downloadDir,
+ fileCount: 1,
+ fileName: fileName,
+ fileSize: stats.size
+ });
+
+ } catch (error) {
+ console.error('Detailed error:', error);
+ res.status(500).json({
+ error: 'Failed to download files from BagelDB',
+ details: error.message,
+ stack: error.stack
+ });
+ }
+ }
+ );
}
public registerAgent(runtime: AgentRuntime) {
diff --git a/packages/client-discord/package.json b/packages/client-discord/package.json
index 3ba5fcff333..97d2e5a7a2e 100644
--- a/packages/client-discord/package.json
+++ b/packages/client-discord/package.json
@@ -20,7 +20,7 @@
"eslint-config-prettier": "9.1.0",
"eslint-plugin-prettier": "5.2.1",
"eslint-plugin-vitest": "0.5.4",
- "tsup": "^8.3.5"
+ "tsup": "8.3.5"
},
"scripts": {
"build": "tsup --format esm --dts",
diff --git a/packages/client-discord/src/messages.ts b/packages/client-discord/src/messages.ts
index f96f0fc2936..8bff4354d3e 100644
--- a/packages/client-discord/src/messages.ts
+++ b/packages/client-discord/src/messages.ts
@@ -261,6 +261,13 @@ function splitMessage(content: string): string[] {
}
function canSendMessage(channel) {
+ // validate input
+ if (!channel) {
+ return {
+ canSend: false,
+ reason: "No channel given",
+ }
+ }
// if it is a DM channel, we can always send messages
if (channel.type === ChannelType.DM) {
return {
@@ -438,10 +445,11 @@ export class MessageManager {
this.client.user?.displayName,
});
- if (!canSendMessage(message.channel).canSend) {
+ const canSendResult = canSendMessage(message.channel)
+ if (!canSendResult.canSend) {
return elizaLogger.warn(
`Cannot send message to channel ${message.channel}`,
- canSendMessage(message.channel)
+ canSendResult
);
}
diff --git a/packages/client-farcaster/package.json b/packages/client-farcaster/package.json
new file mode 100644
index 00000000000..13b2e94a08a
--- /dev/null
+++ b/packages/client-farcaster/package.json
@@ -0,0 +1,20 @@
+{
+ "name": "@ai16z/client-farcaster",
+ "version": "0.0.1",
+ "main": "dist/index.js",
+ "type": "module",
+ "types": "dist/index.d.ts",
+ "dependencies": {
+ "@ai16z/eliza": "workspace:*",
+ "@farcaster/hub-nodejs": "^0.12.7",
+ "viem": "^2.21.47"
+ },
+ "devDependencies": {
+ "tsup": "^8.3.5"
+ },
+ "scripts": {
+ "build": "tsup --format esm --dts",
+ "dev": "tsup --watch"
+ },
+ "peerDependencies": {}
+}
diff --git a/packages/client-farcaster/src/actions.ts b/packages/client-farcaster/src/actions.ts
new file mode 100644
index 00000000000..1d44557e800
--- /dev/null
+++ b/packages/client-farcaster/src/actions.ts
@@ -0,0 +1,79 @@
+import { CastId, FarcasterNetwork, Signer } from "@farcaster/hub-nodejs";
+import { CastType, makeCastAdd } from "@farcaster/hub-nodejs";
+import type { FarcasterClient } from "./client";
+import type { Content, IAgentRuntime, Memory, UUID } from "@ai16z/eliza";
+import type { Cast, Profile } from "./types";
+import { createCastMemory } from "./memory";
+import { splitPostContent } from "./utils";
+
+export async function sendCast({
+ client,
+ runtime,
+ content,
+ roomId,
+ inReplyTo,
+ signer,
+ profile,
+}: {
+ profile: Profile;
+ client: FarcasterClient;
+ runtime: IAgentRuntime;
+ content: Content;
+ roomId: UUID;
+ signer: Signer;
+ inReplyTo?: CastId;
+}): Promise<{ memory: Memory; cast: Cast }[]> {
+ const chunks = splitPostContent(content.text);
+ const sent: Cast[] = [];
+ let parentCastId = inReplyTo;
+
+ for (const chunk of chunks) {
+ const castAddMessageResult = await makeCastAdd(
+ {
+ text: chunk,
+ embeds: [],
+ embedsDeprecated: [],
+ mentions: [],
+ mentionsPositions: [],
+ type: CastType.CAST, // TODO: check CastType.LONG_CAST
+ parentCastId,
+ },
+ {
+ fid: profile.fid,
+ network: FarcasterNetwork.MAINNET,
+ },
+ signer
+ );
+
+ if (castAddMessageResult.isErr()) {
+ throw castAddMessageResult.error;
+ }
+
+ await client.submitMessage(castAddMessageResult.value);
+
+ const cast = await client.loadCastFromMessage(
+ castAddMessageResult.value
+ );
+
+ sent.push(cast);
+
+ parentCastId = {
+ fid: cast.profile.fid,
+ hash: cast.message.hash,
+ };
+
+ // TODO: check rate limiting
+ // Wait a bit between tweets to avoid rate limiting issues
+ // await wait(1000, 2000);
+ }
+
+ return sent.map((cast) => ({
+ cast,
+ memory: createCastMemory({
+ roomId,
+ agentId: runtime.agentId,
+ userId: runtime.agentId,
+ cast,
+ }),
+ }));
+}
diff --git a/packages/client-farcaster/src/client.ts b/packages/client-farcaster/src/client.ts
new file mode 100644
index 00000000000..c63c2b6f4d6
--- /dev/null
+++ b/packages/client-farcaster/src/client.ts
@@ -0,0 +1,193 @@
+import { IAgentRuntime } from "@ai16z/eliza";
+import {
+ CastAddMessage,
+ CastId,
+ FidRequest,
+ getInsecureHubRpcClient,
+ getSSLHubRpcClient,
+ HubRpcClient,
+ isCastAddMessage,
+ isUserDataAddMessage,
+ Message,
+ MessagesResponse,
+} from "@farcaster/hub-nodejs";
+import { Cast, Profile } from "./types";
+import { toHex } from "viem";
+import { populateMentions } from "./utils";
+
+export class FarcasterClient {
+ runtime: IAgentRuntime;
+ farcaster: HubRpcClient;
+
+ cache: Map;
+
+ constructor(opts: {
+ runtime: IAgentRuntime;
+ url: string;
+ ssl: boolean;
+ cache: Map;
+ }) {
+ this.cache = opts.cache;
+ this.runtime = opts.runtime;
+ this.farcaster = opts.ssl
+ ? getSSLHubRpcClient(opts.url)
+ : getInsecureHubRpcClient(opts.url);
+ }
+
+ async submitMessage(cast: Message, retryTimes?: number): Promise {
+ const result = await this.farcaster.submitMessage(cast);
+
+ if (result.isErr()) {
+ throw result.error;
+ }
+ }
+
+ async loadCastFromMessage(message: CastAddMessage): Promise {
+ const profileMap = {};
+
+ const profile = await this.getProfile(message.data.fid);
+
+ profileMap[message.data.fid] = profile;
+
+ for (const mentionId of message.data.castAddBody.mentions) {
+ if (profileMap[mentionId]) continue;
+ profileMap[mentionId] = await this.getProfile(mentionId);
+ }
+
+ const text = populateMentions(
+ message.data.castAddBody.text,
+ message.data.castAddBody.mentions,
+ message.data.castAddBody.mentionsPositions,
+ profileMap
+ );
+
+ return {
+ id: toHex(message.hash),
+ message,
+ text,
+ profile,
+ };
+ }
+
+ async getCast(castId: CastId): Promise {
+ const castHash = toHex(castId.hash);
+
+ if (this.cache.has(`farcaster/cast/${castHash}`)) {
+ return this.cache.get(`farcaster/cast/${castHash}`);
+ }
+
+ const cast = await this.farcaster.getCast(castId);
+
+ if (cast.isErr()) {
+ throw cast.error;
+ }
+
+ this.cache.set(`farcaster/cast/${castHash}`, cast);
+
+ return cast.value;
+ }
+
+ async getCastsByFid(request: FidRequest): Promise {
+ const cast = await this.farcaster.getCastsByFid(request);
+ if (cast.isErr()) {
+ throw cast.error;
+ }
+
+ cast.value.messages.map((cast) => {
+ this.cache.set(`farcaster/cast/${toHex(cast.hash)}`, cast);
+ });
+
+ return cast.value;
+ }
+
+ async getMentions(request: FidRequest): Promise {
+ const cast = await this.farcaster.getCastsByMention(request);
+ if (cast.isErr()) {
+ throw cast.error;
+ }
+
+ cast.value.messages.map((cast) => {
+ this.cache.set(`farcaster/cast/${toHex(cast.hash)}`, cast);
+ });
+
+ return cast.value;
+ }
+
+ async getProfile(fid: number): Promise {
+ if (this.cache.has(`farcaster/profile/${fid}`)) {
+ return this.cache.get(`farcaster/profile/${fid}`) as Profile;
+ }
+
+ const result = await this.farcaster.getUserDataByFid({
+ fid: fid,
+ reverse: true,
+ });
+
+ if (result.isErr()) {
+ throw result.error;
+ }
+
+ const profile: Profile = {
+ fid,
+ name: "",
+ signer: "0x",
+ username: "",
+ };
+
+ const userDataBodyType = {
+ 1: "pfp",
+ 2: "name",
+ 3: "bio",
+ 5: "url",
+ 6: "username",
+ // 7: "location",
+ // 8: "twitter",
+ // 9: "github",
+ } as const;
+
+ for (const message of result.value.messages) {
+ if (isUserDataAddMessage(message)) {
+ if (message.data.userDataBody.type in userDataBodyType) {
+ const prop =
+ userDataBodyType[message.data.userDataBody.type];
+ profile[prop] = message.data.userDataBody.value;
+ }
+ }
+ }
+
+ const [lastMessage] = result.value.messages;
+
+ if (lastMessage) {
+ profile.signer = toHex(lastMessage.signer);
+ }
+
+ this.cache.set(`farcaster/profile/${fid}`, profile);
+
+ return profile;
+ }
+
+ async getTimeline(request: FidRequest): Promise<{
+ timeline: Cast[];
+ nextPageToken?: Uint8Array | undefined;
+ }> {
+ const timeline: Cast[] = [];
+
+ const results = await this.getCastsByFid(request);
+
+ for (const message of results.messages) {
+ if (isCastAddMessage(message)) {
+ this.cache.set(
+ `farcaster/cast/${toHex(message.hash)}`,
+ message
+ );
+
+ timeline.push(await this.loadCastFromMessage(message));
+ }
+ }
+
+ return {
+ timeline,
+ nextPageToken: results.nextPageToken,
+ };
+ }
+}
diff --git a/packages/client-farcaster/src/index.ts b/packages/client-farcaster/src/index.ts
new file mode 100644
index 00000000000..dfbe5b4e329
--- /dev/null
+++ b/packages/client-farcaster/src/index.ts
@@ -0,0 +1,58 @@
+import { Client, IAgentRuntime } from "@ai16z/eliza";
+import { Signer, NobleEd25519Signer } from "@farcaster/hub-nodejs";
+import { Hex, hexToBytes } from "viem";
+import { FarcasterClient } from "./client";
+import { FarcasterPostManager } from "./post";
+import { FarcasterInteractionManager } from "./interactions";
+
+export class FarcasterAgentClient implements Client {
+ client: FarcasterClient;
+ posts: FarcasterPostManager;
+ interactions: FarcasterInteractionManager;
+
+ private signer: Signer;
+
+ constructor(
+ public runtime: IAgentRuntime,
+ client?: FarcasterClient
+ ) {
+ const cache = new Map();
+
+ this.signer = new NobleEd25519Signer(
+ hexToBytes(runtime.getSetting("FARCASTER_PRIVATE_KEY")! as Hex)
+ );
+
+ this.client =
+ client ??
+ new FarcasterClient({
+ runtime,
+ ssl: true,
+ url:
+ runtime.getSetting("FARCASTER_HUB_URL") ??
+ "hub.pinata.cloud",
+ cache,
+ });
+
+ this.posts = new FarcasterPostManager(
+ this.client,
+ this.runtime,
+ this.signer,
+ cache
+ );
+
+ this.interactions = new FarcasterInteractionManager(
+ this.client,
+ this.runtime,
+ this.signer,
+ cache
+ );
+ }
+
+ async start() {
+ await Promise.all([this.posts.start(), this.interactions.start()]);
+ }
+
+ async stop() {
+ await Promise.all([this.posts.stop(), this.interactions.stop()]);
+ }
+}
diff --git a/packages/client-farcaster/src/interactions.ts b/packages/client-farcaster/src/interactions.ts
new file mode 100644
index 00000000000..59b16ff2746
--- /dev/null
+++ b/packages/client-farcaster/src/interactions.ts
@@ -0,0 +1,230 @@
+import {
+ composeContext,
+ generateMessageResponse,
+ generateShouldRespond,
+ Memory,
+ ModelClass,
+ stringToUuid,
+ type IAgentRuntime,
+} from "@ai16z/eliza";
+import { isCastAddMessage, type Signer } from "@farcaster/hub-nodejs";
+import type { FarcasterClient } from "./client";
+import { toHex } from "viem";
+import { buildConversationThread, createCastMemory } from "./memory";
+import { Cast, Profile } from "./types";
+import {
+ formatCast,
+ formatTimeline,
+ messageHandlerTemplate,
+ shouldRespondTemplate,
+} from "./prompts";
+import { castUuid } from "./utils";
+import { sendCast } from "./actions";
+
+export class FarcasterInteractionManager {
+ private timeout: NodeJS.Timeout | undefined;
+ constructor(
+ public client: FarcasterClient,
+ public runtime: IAgentRuntime,
+ private signer: Signer,
+ public cache: Map
+ ) {}
+
+ public async start() {
+ const handleInteractionsLoop = async () => {
+ try {
+ await this.handleInteractions();
+ } catch (error) {
+ console.error(error);
+ return;
+ }
+
+ this.timeout = setTimeout(
+ handleInteractionsLoop,
+ (Math.floor(Math.random() * (5 - 2 + 1)) + 2) * 60 * 1000
+ ); // Random interval between 2-5 minutes
+ };
+
+ handleInteractionsLoop();
+ }
+
+ public async stop() {
+ if (this.timeout) clearTimeout(this.timeout);
+ }
+
+ private async handleInteractions() {
+ const agentFid = Number(this.runtime.getSetting("FARCASTER_FID"));
+
+ const { messages } = await this.client.getMentions({
+ fid: agentFid,
+ });
+
+ const agent = await this.client.getProfile(agentFid);
+
+ for (const mention of messages) {
+ if (!isCastAddMessage(mention)) continue;
+
+ const messageHash = toHex(mention.hash);
+ const messageSigner = toHex(mention.signer);
+ const conversationId = `${messageHash}-${this.runtime.agentId}`;
+ const roomId = stringToUuid(conversationId);
+ const userId = stringToUuid(messageSigner);
+
+ const cast = await this.client.loadCastFromMessage(mention);
+
+ await this.runtime.ensureConnection(
+ userId,
+ roomId,
+ cast.profile.username,
+ cast.profile.name,
+ "farcaster"
+ );
+
+ await buildConversationThread({
+ client: this.client,
+ runtime: this.runtime,
+ cast,
+ });
+
+ const memory: Memory = {
+ content: { text: mention.data.castAddBody.text },
+ agentId: this.runtime.agentId,
+ userId,
+ roomId,
+ };
+
+ await this.handleCast({
+ agent,
+ cast,
+ memory,
+ });
+ }
+ }
+
+ private async handleCast({
+ agent,
+ cast,
+ memory,
+ }: {
+ agent: Profile;
+ cast: Cast;
+ memory: Memory;
+ }) {
+ if (cast.profile.fid === agent.fid) {
+ console.log("skipping cast from bot itself", cast.id);
+ return;
+ }
+
+ if (!memory.content.text) {
+ console.log("skipping cast with no text", cast.id);
+ return { text: "", action: "IGNORE" };
+ }
+
+ const currentPost = formatCast(cast);
+
+ const { timeline } = await this.client.getTimeline({
+ fid: agent.fid,
+ pageSize: 10,
+ });
+
+ const formattedTimeline = formatTimeline(
+ this.runtime.character,
+ timeline
+ );
+
+ const state = await this.runtime.composeState(memory, {
+ farcasterUsername: agent.username,
+ timeline: formattedTimeline,
+ currentPost,
+ });
+
+ const shouldRespondContext = composeContext({
+ state,
+ template:
+ this.runtime.character.templates
+ ?.farcasterShouldRespondTemplate ||
+ this.runtime.character?.templates?.shouldRespondTemplate ||
+ shouldRespondTemplate,
+ });
+
+ const memoryId = castUuid({
+ agentId: this.runtime.agentId,
+ hash: cast.id,
+ });
+
+ const castMemory =
+ await this.runtime.messageManager.getMemoryById(memoryId);
+
+ if (!castMemory) {
+ await this.runtime.messageManager.createMemory(
+ createCastMemory({
+ agentId: this.runtime.agentId,
+ roomId: memory.roomId,
+ userId: memory.userId,
+ cast,
+ })
+ );
+ }
+
+ const shouldRespond = await generateShouldRespond({
+ runtime: this.runtime,
+ context: shouldRespondContext,
+ modelClass: ModelClass.SMALL,
+ });
+
+ if (!shouldRespond) {
+ console.log("Not responding to message");
+ return { text: "", action: "IGNORE" };
+ }
+
+ const context = composeContext({
+ state,
+ template:
+ this.runtime.character.templates
+ ?.farcasterMessageHandlerTemplate ??
+ this.runtime.character?.templates?.messageHandlerTemplate ??
+ messageHandlerTemplate,
+ });
+
+ const response = await generateMessageResponse({
+ runtime: this.runtime,
+ context,
+ modelClass: ModelClass.SMALL,
+ });
+
+ response.inReplyTo = memoryId;
+
+ if (!response.text) return;
+
+ try {
+ const results = await sendCast({
+ runtime: this.runtime,
+ client: this.client,
+ signer: this.signer,
+ profile: cast.profile,
+ content: response,
+ roomId: memory.roomId,
+ inReplyTo: {
+ fid: cast.message.data.fid,
+ hash: cast.message.hash,
+ },
+ });
+
+ const newState = await this.runtime.updateRecentMessageState(state);
+
+ for (const { memory } of results) {
+ await this.runtime.messageManager.createMemory(memory);
+ }
+
+ await this.runtime.evaluate(memory, newState);
+
+ await this.runtime.processActions(
+ memory,
+ results.map((result) => result.memory),
+ newState
+ );
+ } catch (error) {
+ console.error(`Error sending response cast: ${error}`);
+ }
+ }
+}
diff --git a/packages/client-farcaster/src/memory.ts b/packages/client-farcaster/src/memory.ts
new file mode 100644
index 00000000000..e263e63cafc
--- /dev/null
+++ b/packages/client-farcaster/src/memory.ts
@@ -0,0 +1,118 @@
+import { isCastAddMessage } from "@farcaster/hub-nodejs";
+import {
+ elizaLogger,
+ embeddingZeroVector,
+ IAgentRuntime,
+ stringToUuid,
+ type Memory,
+ type UUID,
+} from "@ai16z/eliza";
+import type { Cast } from "./types";
+import { toHex } from "viem";
+import { castUuid } from "./utils";
+import { FarcasterClient } from "./client";
+
+export function createCastMemory({
+ roomId,
+ agentId,
+ userId,
+ cast,
+}: {
+ roomId: UUID;
+ agentId: UUID;
+ userId: UUID;
+ cast: Cast;
+}): Memory {
+ const inReplyTo = cast.message.data.castAddBody.parentCastId
+ ? castUuid({
+ hash: toHex(cast.message.data.castAddBody.parentCastId.hash),
+ agentId,
+ })
+ : undefined;
+
+ return {
+ id: castUuid({
+ hash: cast.id,
+ agentId,
+ }),
+ agentId,
+ userId,
+ content: {
+ text: cast.text,
+ source: "farcaster",
+ url: "",
+ inReplyTo,
+ hash: cast.id,
+ },
+ roomId,
+ embedding: embeddingZeroVector,
+ createdAt: cast.message.data.timestamp * 1000,
+ };
+}
+
+export async function buildConversationThread({
+ cast,
+ runtime,
+ client,
+}: {
+ cast: Cast;
+ runtime: IAgentRuntime;
+ client: FarcasterClient;
+}): Promise {
+ const thread: Cast[] = [];
+ const visited: Set = new Set();
+
+ async function processThread(currentCast: Cast) {
+ if (visited.has(cast.id)) {
+ return;
+ }
+
+ visited.add(cast.id);
+
+ const roomId = castUuid({
+ hash: currentCast.id,
+ agentId: runtime.agentId,
+ });
+
+ // Check if the current tweet has already been saved
+ const memory = await runtime.messageManager.getMemoryById(roomId);
+
+ if (!memory) {
+ elizaLogger.log("Creating memory for cast", cast.id);
+
+ const userId = stringToUuid(cast.profile.username);
+
+ await runtime.ensureConnection(
+ userId,
+ roomId,
+ currentCast.profile.username,
+ currentCast.profile.name,
+ "farcaster"
+ );
+
+ await runtime.messageManager.createMemory(
+ createCastMemory({
+ roomId,
+ agentId: runtime.agentId,
+ userId,
+ cast: currentCast,
+ })
+ );
+ }
+
+ thread.unshift(currentCast);
+
+ if (currentCast.message.data.castAddBody.parentCastId) {
+ const message = await client.getCast(
+ currentCast.message.data.castAddBody.parentCastId
+ );
+
+ if (isCastAddMessage(message)) {
+ const parentCast = await client.loadCastFromMessage(message);
+ await processThread(parentCast);
+ }
+ }
+ }
+
+ await processThread(cast);
+}
diff --git a/packages/client-farcaster/src/post.ts b/packages/client-farcaster/src/post.ts
new file mode 100644
index 00000000000..4777de94d53
--- /dev/null
+++ b/packages/client-farcaster/src/post.ts
@@ -0,0 +1,162 @@
+import { Signer } from "@farcaster/hub-nodejs";
+import {
+ composeContext,
+ generateText,
+ IAgentRuntime,
+ ModelClass,
+ stringToUuid,
+} from "@ai16z/eliza";
+import { FarcasterClient } from "./client";
+import { formatTimeline, postTemplate } from "./prompts";
+import { castUuid } from "./utils";
+import { createCastMemory } from "./memory";
+import { sendCast } from "./actions";
+
+export class FarcasterPostManager {
+ private timeout: NodeJS.Timeout | undefined;
+
+ constructor(
+ public client: FarcasterClient,
+ public runtime: IAgentRuntime,
+ private signer: Signer,
+ public cache: Map
+ ) {}
+
+ public async start() {
+ const generateNewCastLoop = async () => {
+ try {
+ await this.generateNewCast();
+ } catch (error) {
+ console.error(error);
+ return;
+ }
+
+ this.timeout = setTimeout(
+ generateNewCastLoop,
+ (Math.floor(Math.random() * (4 - 1 + 1)) + 1) * 60 * 60 * 1000
+ ); // Random interval between 1 and 4 hours
+ };
+
+ generateNewCastLoop();
+ }
+
+ public async stop() {
+ if (this.timeout) clearTimeout(this.timeout);
+ }
+
+ private async generateNewCast() {
+ console.log("Generating new cast");
+ try {
+ const fid = Number(this.runtime.getSetting("FARCASTER_FID")!);
+ // const farcasterUserName =
+ // this.runtime.getSetting("FARCASTER_USERNAME")!;
+
+ const profile = await this.client.getProfile(fid);
+
+ await this.runtime.ensureUserExists(
+ this.runtime.agentId,
+ profile.username,
+ this.runtime.character.name,
+ "farcaster"
+ );
+
+ const { timeline } = await this.client.getTimeline({
+ fid,
+ pageSize: 10,
+ });
+
+ this.cache.set("farcaster/timeline", timeline);
+
+ const formattedHomeTimeline = formatTimeline(
+ this.runtime.character,
+ timeline
+ );
+
+ const generateRoomId = stringToUuid("farcaster_generate_room");
+
+ const state = await this.runtime.composeState(
+ {
+ roomId: generateRoomId,
+ userId: this.runtime.agentId,
+ agentId: this.runtime.agentId,
+ content: { text: "", action: "" },
+ },
+ {
+ farcasterUserName: profile.username,
+ timeline: formattedHomeTimeline,
+ }
+ );
+
+ // Generate new tweet
+ const context = composeContext({
+ state,
+ template:
+ this.runtime.character.templates?.farcasterPostTemplate ||
+ postTemplate,
+ });
+
+ const newContent = await generateText({
+ runtime: this.runtime,
+ context,
+ modelClass: ModelClass.SMALL,
+ });
+
+ const slice = newContent.replaceAll(/\\n/g, "\n").trim();
+
+ const contentLength = 240;
+
+ let content = slice.slice(0, contentLength);
+ // if its bigger than 280, delete the last line
+ if (content.length > 280) {
+ content = content.slice(0, content.lastIndexOf("\n"));
+ }
+
+ if (content.length > contentLength) {
+ // slice at the last period
+ content = content.slice(0, content.lastIndexOf("."));
+ }
+
+ // if it's still too long, get the period before the last period
+ if (content.length > contentLength) {
+ content = content.slice(0, content.lastIndexOf("."));
+ }
+
+ try {
+ // TODO: handle all the casts?
+ const [{ cast }] = await sendCast({
+ client: this.client,
+ runtime: this.runtime,
+ signer: this.signer,
+ roomId: generateRoomId,
+ content: { text: content },
+ profile,
+ });
+
+ const roomId = castUuid({
+ agentId: this.runtime.agentId,
+ hash: cast.id,
+ });
+
+ await this.runtime.ensureRoomExists(roomId);
+
+ await this.runtime.ensureParticipantInRoom(
+ this.runtime.agentId,
+ roomId
+ );
+
+ await this.runtime.messageManager.createMemory(
+ createCastMemory({
+ roomId,
+ userId: this.runtime.agentId,
+ agentId: this.runtime.agentId,
+ cast,
+ })
+ );
+ } catch (error) {
+ console.error("Error sending tweet:", error);
+ }
+ } catch (error) {
+ console.error("Error generating new tweet:", error);
+ }
+ }
+}
diff --git a/packages/client-farcaster/src/prompts.ts b/packages/client-farcaster/src/prompts.ts
new file mode 100644
index 00000000000..3b378b23486
--- /dev/null
+++ b/packages/client-farcaster/src/prompts.ts
@@ -0,0 +1,79 @@
+import {
+ Character,
+ messageCompletionFooter,
+ shouldRespondFooter,
+} from "@ai16z/eliza";
+import type { Cast } from "./types";
+
+export const formatCast = (cast: Cast) => {
+ return `ID: ${cast.id}
+From: ${cast.profile.name} (@${cast.profile.username})${cast.profile.username})${cast.inReplyTo ? `\nIn reply to: ${cast.inReplyTo.id}` : ""}
+Text: ${cast.text}`;
+};
+
+export const formatTimeline = (
+ character: Character,
+ timeline: Cast[]
+) => `# ${character.name}'s Home Timeline
+${timeline.map(formatCast).join("\n")}
+`;
+
+export const headerTemplate = `
+{{timeline}}
+
+# Knowledge
+{{knowledge}}
+
+About {{agentName}} (@{{farcasterUserName}}):
+{{bio}}
+{{lore}}
+{{postDirections}}
+
+{{providers}}
+
+{{recentPosts}}
+
+{{characterPostExamples}}`;
+
+export const postTemplate =
+ headerTemplate +
+ `
+# Task: Generate a post in the voice and style of {{agentName}}, aka @{{farcasterUserName}}
+Write a single sentence post that is {{adjective}} about {{topic}} (without mentioning {{topic}} directly), from the perspective of {{agentName}}.
+Try to write something totally different than previous posts. Do not add commentary or ackwowledge this request, just write the post.
+
+Your response should not contain any questions. Brief, concise statements only. No emojis. Use \\n\\n (double spaces) between statements.`;
+
+export const messageHandlerTemplate =
+ headerTemplate +
+ `
+Recent interactions between {{agentName}} and other users:
+{{recentPostInteractions}}
+
+# Task: Generate a post in the voice, style and perspective of {{agentName}} (@{{twitterUserName}}):
+{{currentPost}}` +
+ messageCompletionFooter;
+
+export const shouldRespondTemplate =
+ //
+ `# INSTRUCTIONS: Determine if {{agentName}} (@{{twitterUserName}}) should respond to the message and participate in the conversation. Do not comment. Just respond with "true" or "false".
+
+Response options are RESPOND, IGNORE and STOP.
+
+{{agentName}} should respond to messages that are directed at them, or participate in conversations that are interesting or relevant to their background, IGNORE messages that are irrelevant to them, and should STOP if the conversation is concluded.
+
+{{agentName}} is in a room with other users and wants to be conversational, but not annoying.
+{{agentName}} should RESPOND to messages that are directed at them, or participate in conversations that are interesting or relevant to their background.
+If a message is not interesting or relevant, {{agentName}} should IGNORE.
+Unless directly RESPONDing to a user, {{agentName}} should IGNORE messages that are very short or do not contain much information.
+If a user asks {{agentName}} to stop talking, {{agentName}} should STOP.
+If {{agentName}} concludes a conversation and isn't part of the conversation anymore, {{agentName}} should STOP.
+
+{{recentPosts}}
+
+IMPORTANT: {{agentName}} (aka @{{twitterUserName}}) is particularly sensitive about being annoying, so if there is any doubt, it is better to IGNORE than to RESPOND.
+
+{{currentPost}}
+
+# INSTRUCTIONS: Respond with [RESPOND] if {{agentName}} should respond, or [IGNORE] if {{agentName}} should not respond to the last message and [STOP] if {{agentName}} should stop participating in the conversation.
+` + shouldRespondFooter;
diff --git a/packages/client-farcaster/src/types.ts b/packages/client-farcaster/src/types.ts
new file mode 100644
index 00000000000..c86aef8983f
--- /dev/null
+++ b/packages/client-farcaster/src/types.ts
@@ -0,0 +1,26 @@
+import type { CastAddMessage } from "@farcaster/hub-nodejs";
+import type { Hex } from "viem";
+
+export type Profile = {
+ fid: number;
+ signer: Hex;
+ name: string;
+ username: string;
+ pfp?: string;
+ bio?: string;
+ url?: string;
+ // location?: string;
+ // twitter?: string;
+ // github?: string;
+};
+
+export type Cast = {
+ id: Hex;
+ profile: Profile;
+ text: string;
+ message: CastAddMessage;
+ inReplyTo?: {
+ id: Hex;
+ fid: number;
+ };
+};
diff --git a/packages/client-farcaster/src/utils.ts b/packages/client-farcaster/src/utils.ts
new file mode 100644
index 00000000000..6349ca4e665
--- /dev/null
+++ b/packages/client-farcaster/src/utils.ts
@@ -0,0 +1,137 @@
+import { stringToUuid } from "@ai16z/eliza";
+import type { Hex } from "viem";
+
+const MAX_CAST_LENGTH = 280; // Updated to Twitter's current character limit
+
+export function castId({ hash, agentId }: { hash: Hex; agentId: string }) {
+ return `${hash}-${agentId}`;
+}
+
+export function castUuid(props: { hash: Hex; agentId: string }) {
+ return stringToUuid(castId(props));
+}
+
+export function splitPostContent(
+ content: string,
+ maxLength: number = MAX_CAST_LENGTH
+): string[] {
+ const paragraphs = content.split("\n\n").map((p) => p.trim());
+ const posts: string[] = [];
+ let currentTweet = "";
+
+ for (const paragraph of paragraphs) {
+ if (!paragraph) continue;
+
+ if ((currentTweet + "\n\n" + paragraph).trim().length <= maxLength) {
+ if (currentTweet) {
+ currentTweet += "\n\n" + paragraph;
+ } else {
+ currentTweet = paragraph;
+ }
+ } else {
+ if (currentTweet) {
+ posts.push(currentTweet.trim());
+ }
+ if (paragraph.length <= maxLength) {
+ currentTweet = paragraph;
+ } else {
+ // Split long paragraph into smaller chunks
+ const chunks = splitParagraph(paragraph, maxLength);
+ posts.push(...chunks.slice(0, -1));
+ currentTweet = chunks[chunks.length - 1];
+ }
+ }
+ }
+
+ if (currentTweet) {
+ posts.push(currentTweet.trim());
+ }
+
+ return posts;
+}
+
+export function splitParagraph(paragraph: string, maxLength: number): string[] {
+ const sentences = paragraph.match(/[^\.!\?]+[\.!\?]+|[^\.!\?]+$/g) || [
+ paragraph,
+ ];
+ const chunks: string[] = [];
+ let currentChunk = "";
+
+ for (const sentence of sentences) {
+ if ((currentChunk + " " + sentence).trim().length <= maxLength) {
+ if (currentChunk) {
+ currentChunk += " " + sentence;
+ } else {
+ currentChunk = sentence;
+ }
+ } else {
+ if (currentChunk) {
+ chunks.push(currentChunk.trim());
+ }
+ if (sentence.length <= maxLength) {
+ currentChunk = sentence;
+ } else {
+ // Split long sentence into smaller pieces
+ const words = sentence.split(" ");
+ currentChunk = "";
+ for (const word of words) {
+ if (
+ (currentChunk + " " + word).trim().length <= maxLength
+ ) {
+ if (currentChunk) {
+ currentChunk += " " + word;
+ } else {
+ currentChunk = word;
+ }
+ } else {
+ if (currentChunk) {
+ chunks.push(currentChunk.trim());
+ }
+ currentChunk = word;
+ }
+ }
+ }
+ }
+ }
+
+ if (currentChunk) {
+ chunks.push(currentChunk.trim());
+ }
+
+ return chunks;
+}
+
+export function populateMentions(
+ text: string,
+ userIds: number[],
+ positions: number[],
+ userMap: Record
+) {
+ // Validate input arrays have same length
+ if (userIds.length !== positions.length) {
+ throw new Error(
+ "User IDs and positions arrays must have the same length"
+ );
+ }
+
+ // Create array of mention objects with position and user info
+ const mentions = userIds
+ .map((userId, index) => ({
+ position: positions[index],
+ userId,
+ displayName: userMap[userId]!,
+ }))
+ .sort((a, b) => b.position - a.position); // Sort in reverse order to prevent position shifting
+
+ // Create the resulting string by inserting mentions
+ let result = text;
+ mentions.forEach((mention) => {
+ const mentionText = `@${mention.displayName}`;
+ result =
+ result.slice(0, mention.position) +
+ mentionText +
+ result.slice(mention.position);
+ });
+
+ return result;
+}
diff --git a/packages/client-farcaster/tsconfig.json b/packages/client-farcaster/tsconfig.json
new file mode 100644
index 00000000000..42d468a1356
--- /dev/null
+++ b/packages/client-farcaster/tsconfig.json
@@ -0,0 +1,10 @@
+{
+ "extends": "../../tsconfig.json",
+ "compilerOptions": {
+ "jsx": "react",
+ "outDir": "dist",
+ "rootDir": "./src",
+ "strict": true
+ },
+ "include": ["src"]
+}
diff --git a/packages/client-farcaster/tsup.config.ts b/packages/client-farcaster/tsup.config.ts
new file mode 100644
index 00000000000..e42bf4efeae
--- /dev/null
+++ b/packages/client-farcaster/tsup.config.ts
@@ -0,0 +1,20 @@
+import { defineConfig } from "tsup";
+
+export default defineConfig({
+ entry: ["src/index.ts"],
+ outDir: "dist",
+ sourcemap: true,
+ clean: true,
+ format: ["esm"], // Ensure you're targeting CommonJS
+ external: [
+ "dotenv", // Externalize dotenv to prevent bundling
+ "fs", // Externalize fs to use Node.js built-in module
+ "path", // Externalize other built-ins if necessary
+ "@reflink/reflink",
+ "@node-llama-cpp",
+ "https",
+ "http",
+ "agentkeepalive",
+ // Add other modules you want to externalize
+ ],
+});
diff --git a/packages/client-github/package.json b/packages/client-github/package.json
index af56dec4153..7f0bc243a09 100644
--- a/packages/client-github/package.json
+++ b/packages/client-github/package.json
@@ -6,18 +6,18 @@
"types": "dist/index.d.ts",
"dependencies": {
"@ai16z/eliza": "workspace:*",
- "@octokit/rest": "^20.0.2",
- "@octokit/types": "^12.6.0",
- "glob": "^10.3.10",
- "simple-git": "^3.22.0"
+ "@octokit/rest": "20.1.1",
+ "@octokit/types": "12.6.0",
+ "glob": "10.4.5",
+ "simple-git": "3.27.0"
},
"devDependencies": {
- "@types/glob": "^8.1.0",
+ "@types/glob": "8.1.0",
"eslint": "9.13.0",
"eslint-config-prettier": "9.1.0",
"eslint-plugin-prettier": "5.2.1",
"eslint-plugin-vitest": "0.5.4",
- "tsup": "^8.3.5"
+ "tsup": "8.3.5"
},
"scripts": {
"build": "tsup --format esm --dts",
diff --git a/packages/client-telegram/package.json b/packages/client-telegram/package.json
index f84e0c90707..28aebff84d1 100644
--- a/packages/client-telegram/package.json
+++ b/packages/client-telegram/package.json
@@ -15,7 +15,7 @@
"eslint-config-prettier": "9.1.0",
"eslint-plugin-prettier": "5.2.1",
"eslint-plugin-vitest": "0.5.4",
- "tsup": "^8.3.5"
+ "tsup": "8.3.5"
},
"scripts": {
"build": "tsup --format esm --dts",
diff --git a/packages/client-twitter/package.json b/packages/client-twitter/package.json
index 1e541f67f74..b15fe611442 100644
--- a/packages/client-twitter/package.json
+++ b/packages/client-twitter/package.json
@@ -6,7 +6,7 @@
"types": "dist/index.d.ts",
"dependencies": {
"@ai16z/eliza": "workspace:*",
- "agent-twitter-client": "0.0.13",
+ "agent-twitter-client": "0.0.14",
"glob": "11.0.0",
"zod": "3.23.8"
},
@@ -15,7 +15,7 @@
"eslint-config-prettier": "9.1.0",
"eslint-plugin-prettier": "5.2.1",
"eslint-plugin-vitest": "0.5.4",
- "tsup": "^8.3.5"
+ "tsup": "8.3.5"
},
"scripts": {
"build": "tsup --format esm --dts",
diff --git a/packages/core/package.json b/packages/core/package.json
index 80a6d39b5d1..b0b5b4dedd9 100644
--- a/packages/core/package.json
+++ b/packages/core/package.json
@@ -17,19 +17,19 @@
"author": "",
"license": "MIT",
"devDependencies": {
- "@eslint/js": "^9.13.0",
+ "@eslint/js": "9.15.0",
"@rollup/plugin-commonjs": "25.0.8",
"@rollup/plugin-json": "6.1.0",
"@rollup/plugin-node-resolve": "15.3.0",
"@rollup/plugin-replace": "5.0.7",
"@rollup/plugin-terser": "0.1.0",
"@rollup/plugin-typescript": "11.1.6",
- "@solana/web3.js": "1.95.4",
+ "@solana/web3.js": "1.95.5",
"@types/fluent-ffmpeg": "2.1.27",
"@types/jest": "29.5.14",
- "@types/mocha": "^10.0.9",
+ "@types/mocha": "10.0.10",
"@types/node": "22.8.4",
- "@types/pdfjs-dist": "^2.10.378",
+ "@types/pdfjs-dist": "2.10.378",
"@types/tar": "6.1.13",
"@types/wav-encoder": "1.3.3",
"@typescript-eslint/eslint-plugin": "8.12.2",
@@ -38,43 +38,42 @@
"eslint": "9.13.0",
"eslint-config-prettier": "9.1.0",
"eslint-plugin-prettier": "5.2.1",
- "eslint-plugin-vitest": "0.5.4",
"jest": "29.7.0",
"lint-staged": "15.2.10",
"nodemon": "3.1.7",
- "pm2": "5.4.2",
+ "pm2": "5.4.3",
"prettier": "3.3.3",
"rimraf": "6.0.1",
"rollup": "2.79.2",
"ts-jest": "29.2.5",
"ts-node": "10.9.2",
"tslib": "2.8.0",
- "tsup": "^8.3.5",
+ "tsup": "8.3.5",
"typescript": "5.6.3"
},
"dependencies": {
- "@ai-sdk/anthropic": "^0.0.56",
- "@ai-sdk/google": "^0.0.55",
- "@ai-sdk/google-vertex": "^0.0.43",
- "@ai-sdk/groq": "^0.0.3",
+ "@ai-sdk/anthropic": "0.0.56",
+ "@ai-sdk/google": "0.0.55",
+ "@ai-sdk/google-vertex": "0.0.43",
+ "@ai-sdk/groq": "0.0.3",
"@ai-sdk/openai": "1.0.4",
"@anthropic-ai/sdk": "0.30.1",
- "@types/uuid": "^10.0.0",
- "ai": "^3.4.23",
- "anthropic-vertex-ai": "^1.0.0",
- "fastembed": "^1.14.1",
- "fastestsmallesttextencoderdecoder": "^1.0.22",
+ "@types/uuid": "10.0.0",
+ "ai": "3.4.33",
+ "anthropic-vertex-ai": "1.0.2",
+ "fastembed": "1.14.1",
+ "fastestsmallesttextencoderdecoder": "1.0.22",
"gaxios": "6.7.1",
"glob": "11.0.0",
"js-sha1": "0.7.0",
- "langchain": "^0.3.6",
- "ollama-ai-provider": "^0.16.1",
+ "langchain": "0.3.6",
+ "ollama-ai-provider": "0.16.1",
"openai": "4.73.0",
"tiktoken": "1.0.17",
"tinyld": "1.3.4",
- "together-ai": "^0.7.0",
+ "together-ai": "0.7.0",
"unique-names-generator": "4.7.1",
"uuid": "11.0.2",
- "zod": "^3.23.8"
+ "zod": "3.23.8"
}
}
diff --git a/packages/core/src/logger.ts b/packages/core/src/logger.ts
index 8e194bda3ae..a2bd21971e3 100644
--- a/packages/core/src/logger.ts
+++ b/packages/core/src/logger.ts
@@ -1,11 +1,6 @@
import settings from "./settings.ts";
-import { Logger } from "tslog";
-interface IElizaLogger extends Logger {
- progress(message: string): void;
-}
-
-class ElizaLogger implements IElizaLogger {
+class ElizaLogger {
constructor() {
// Check if we're in Node.js environment
this.isNode =
@@ -180,7 +175,6 @@ class ElizaLogger implements IElizaLogger {
}
}
- // @ts-expect-error- custom implementation
log(...strings) {
this.#logWithStyle(strings, {
fg: "white",
@@ -190,7 +184,6 @@ class ElizaLogger implements IElizaLogger {
});
}
- // @ts-expect-error- custom implementation
warn(...strings) {
this.#logWithStyle(strings, {
fg: "yellow",
@@ -200,7 +193,6 @@ class ElizaLogger implements IElizaLogger {
});
}
- // @ts-expect-error- custom implementation
error(...strings) {
this.#logWithStyle(strings, {
fg: "red",
@@ -210,7 +202,6 @@ class ElizaLogger implements IElizaLogger {
});
}
- // @ts-expect-error- custom implementation
info(...strings) {
this.#logWithStyle(strings, {
fg: "blue",
@@ -220,7 +211,6 @@ class ElizaLogger implements IElizaLogger {
});
}
- // @ts-expect-error- custom implementation
debug(...strings) {
if (!this.verbose) return;
this.#logWithStyle(strings, {
diff --git a/packages/core/src/tests/cache.test.ts b/packages/core/src/tests/cache.test.ts
index e9a3bbde6e9..339a032e7bb 100644
--- a/packages/core/src/tests/cache.test.ts
+++ b/packages/core/src/tests/cache.test.ts
@@ -1,15 +1,17 @@
-import { CacheManager, MemoryCacheAdapter } from "../cache.ts"; // Adjust the import based on your project structure
+import { CacheManager, MemoryCacheAdapter } from "../cache.ts";
+import { describe, it, expect, beforeEach, afterEach, vi } from "vitest";
-// Now, let’s fix the test suite.
-
-describe.only("CacheManager", () => {
+describe("CacheManager", () => {
let cache: CacheManager;
- jest.useFakeTimers();
-
beforeEach(() => {
+ vi.useFakeTimers();
cache = new CacheManager(new MemoryCacheAdapter());
- jest.setSystemTime(Date.now());
+ vi.setSystemTime(Date.now());
+ });
+
+ afterEach(() => {
+ vi.useRealTimers();
});
it("should set/get/delete cache", async () => {
@@ -17,20 +19,15 @@ describe.only("CacheManager", () => {
expect(await cache.get("foo")).toEqual("bar");
- expect(cache.adapter.data.get("foo")).toEqual(
- JSON.stringify({ value: "bar", expires: 0 })
- );
-
await cache.delete("foo");
expect(await cache.get("foo")).toEqual(undefined);
- expect(cache.adapter.data.get("foo")).toEqual(undefined);
});
- it("should set/get/delete cache with expiration", async () => {
- const expires = Date.now() + 5 * 1000;
+ it("should handle expiring cache", async () => {
+ const expires = Date.now() + 1000;
- await cache.set("foo", "bar", { expires: expires });
+ await cache.set("foo", "bar", { expires });
expect(await cache.get("foo")).toEqual("bar");
@@ -38,7 +35,7 @@ describe.only("CacheManager", () => {
JSON.stringify({ value: "bar", expires: expires })
);
- jest.setSystemTime(expires + 1000);
+ vi.setSystemTime(expires + 1000);
expect(await cache.get("foo")).toEqual(undefined);
expect(cache.adapter.data.get("foo")).toEqual(undefined);
diff --git a/packages/core/src/tests/defaultCharacters.test.ts b/packages/core/src/tests/defaultCharacters.test.ts
index e22f9d592a8..cd3f4cb9cf9 100644
--- a/packages/core/src/tests/defaultCharacters.test.ts
+++ b/packages/core/src/tests/defaultCharacters.test.ts
@@ -15,7 +15,7 @@ describe("defaultCharacter", () => {
});
it("should have the correct modelProvider", () => {
- expect(defaultCharacter.modelProvider).toBe(ModelProviderName.OPENAI);
+ expect(defaultCharacter.modelProvider).toBe(ModelProviderName.OLLAMA);
});
it("should have the correct voice model", () => {
diff --git a/packages/core/src/tests/goals.test.ts b/packages/core/src/tests/goals.test.ts
index 52d8cafab45..f66461cc863 100644
--- a/packages/core/src/tests/goals.test.ts
+++ b/packages/core/src/tests/goals.test.ts
@@ -1,25 +1,21 @@
import {
- createGoal,
- formatGoalsAsString,
getGoals,
+ formatGoalsAsString,
updateGoal,
-} from "../goals";
+ createGoal,
+} from "../goals.ts";
import {
- type Goal,
- type IAgentRuntime,
- type UUID,
- Action,
+ Goal,
GoalStatus,
- HandlerCallback,
- IMemoryManager,
+ IAgentRuntime,
Memory,
- ModelProviderName,
+ State,
+ UUID,
Service,
ServiceType,
- State,
} from "../types";
-
-import { describe, expect, vi } from "vitest";
+import { CacheManager, MemoryCacheAdapter } from "../cache.ts";
+import { describe, expect, vi, beforeEach } from "vitest";
// Mock the database adapter
export const mockDatabaseAdapter = {
@@ -27,125 +23,192 @@ export const mockDatabaseAdapter = {
updateGoal: vi.fn(),
createGoal: vi.fn(),
};
+
const services = new Map();
+
// Mock the runtime
export const mockRuntime: IAgentRuntime = {
databaseAdapter: mockDatabaseAdapter as any,
cacheManager: new CacheManager(new MemoryCacheAdapter()),
agentId: "qweqew-qweqwe-qweqwe-qweqwe-qweeqw",
serverUrl: "",
- token: "",
- modelProvider: ModelProviderName.OPENAI,
- character: {
- id: "qweqew-qweqwe-qweqwe-qweqwe-qweeqw",
- name: "",
- system: "",
- modelProvider: ModelProviderName.OPENAI,
- modelEndpointOverride: "",
- templates: {},
- bio: "",
- lore: [],
- messageExamples: [],
- postExamples: [],
- people: [],
- topics: [],
- adjectives: [],
- knowledge: [],
- clients: [],
- plugins: [],
- settings: {
- secrets: {},
- voice: {
- model: "",
- url: "",
- },
- model: "",
- embeddingModel: "",
+ token: null,
+ messageManager: {
+ addEmbeddingToMemory: function (_memory: Memory): Promise {
+ throw new Error("Function not implemented.");
},
- clientConfig: {
- discord: {
- shouldIgnoreBotMessages: false,
- shouldIgnoreDirectMessages: false,
- },
- telegram: {
- shouldIgnoreBotMessages: false,
- shouldIgnoreDirectMessages: false,
- },
+ getMemories: function (_opts: {
+ roomId: UUID;
+ count?: number;
+ unique?: boolean;
+ agentId?: UUID;
+ start?: number;
+ end?: number;
+ }): Promise {
+ throw new Error("Function not implemented.");
},
- style: {
- all: [],
- chat: [],
- post: [],
+ getCachedEmbeddings: function (
+ _content: string
+ ): Promise<{ embedding: number[]; levenshtein_score: number }[]> {
+ throw new Error("Function not implemented.");
+ },
+ getMemoryById: function (_id: UUID): Promise {
+ throw new Error("Function not implemented.");
+ },
+ getMemoriesByRoomIds: function (_params: {
+ roomIds: UUID[];
+ agentId?: UUID;
+ }): Promise {
+ throw new Error("Function not implemented.");
+ },
+ searchMemoriesByEmbedding: function (
+ _embedding: number[],
+ _opts: {
+ match_threshold?: number;
+ count?: number;
+ roomId: UUID;
+ unique?: boolean;
+ agentId?: UUID;
+ }
+ ): Promise {
+ throw new Error("Function not implemented.");
+ },
+ createMemory: function (
+ _memory: Memory,
+ _unique?: boolean
+ ): Promise {
+ throw new Error("Function not implemented.");
+ },
+ removeMemory: function (_memoryId: UUID): Promise {
+ throw new Error("Function not implemented.");
+ },
+ removeAllMemories: function (_roomId: UUID): Promise {
+ throw new Error("Function not implemented.");
+ },
+ countMemories: function (
+ _roomId: UUID,
+ _unique?: boolean
+ ): Promise {
+ throw new Error("Function not implemented.");
},
},
- providers: [],
- actions: [],
- evaluators: [],
- messageManager: undefined,
- descriptionManager: undefined,
- loreManager: undefined,
- services: undefined,
- registerMemoryManager: function (_manager: IMemoryManager): void {
- throw new Error("Function not implemented.");
- },
- getMemoryManager: function (_name: string): IMemoryManager | null {
- throw new Error("Function not implemented.");
- },
- registerService: function (service: Service): void {
- services.set(service.serviceType, service);
- },
- getSetting: function (_key: string): string | null {
- throw new Error("Function not implemented.");
- },
- getConversationLength: function (): number {
- throw new Error("Function not implemented.");
- },
- processActions: function (
- _message: Memory,
- _responses: Memory[],
- _state?: State,
- _callback?: HandlerCallback
- ): Promise {
- throw new Error("Function not implemented.");
- },
- evaluate: function (
- _message: Memory,
- _state?: State,
- _didRespond?: boolean
- ): Promise {
- throw new Error("Function not implemented.");
- },
- ensureParticipantExists: function (
- _userId: UUID,
- _roomId: UUID
- ): Promise {
- throw new Error("Function not implemented.");
- },
- ensureUserExists: function (
- _userId: UUID,
- _userName: string | null,
- _name: string | null,
- _source: string | null
- ): Promise {
- throw new Error("Function not implemented.");
- },
- registerAction: function (_action: Action): void {
- throw new Error("Function not implemented.");
- },
- ensureConnection: function (
- _userId: UUID,
- _roomId: UUID,
- _userName?: string,
- _userScreenName?: string,
- _source?: string
- ): Promise {
- throw new Error("Function not implemented.");
+ descriptionManager: {
+ addEmbeddingToMemory: function (_memory: Memory): Promise {
+ throw new Error("Function not implemented.");
+ },
+ getMemories: function (_opts: {
+ roomId: UUID;
+ count?: number;
+ unique?: boolean;
+ agentId?: UUID;
+ start?: number;
+ end?: number;
+ }): Promise {
+ throw new Error("Function not implemented.");
+ },
+ getCachedEmbeddings: function (
+ _content: string
+ ): Promise<{ embedding: number[]; levenshtein_score: number }[]> {
+ throw new Error("Function not implemented.");
+ },
+ getMemoryById: function (_id: UUID): Promise {
+ throw new Error("Function not implemented.");
+ },
+ getMemoriesByRoomIds: function (_params: {
+ roomIds: UUID[];
+ agentId?: UUID;
+ }): Promise {
+ throw new Error("Function not implemented.");
+ },
+ searchMemoriesByEmbedding: function (
+ _embedding: number[],
+ _opts: {
+ match_threshold?: number;
+ count?: number;
+ roomId: UUID;
+ unique?: boolean;
+ agentId?: UUID;
+ }
+ ): Promise {
+ throw new Error("Function not implemented.");
+ },
+ createMemory: function (
+ _memory: Memory,
+ _unique?: boolean
+ ): Promise {
+ throw new Error("Function not implemented.");
+ },
+ removeMemory: function (_memoryId: UUID): Promise {
+ throw new Error("Function not implemented.");
+ },
+ removeAllMemories: function (_roomId: UUID): Promise {
+ throw new Error("Function not implemented.");
+ },
+ countMemories: function (
+ _roomId: UUID,
+ _unique?: boolean
+ ): Promise {
+ throw new Error("Function not implemented.");
+ },
},
- ensureParticipantInRoom: function (
- _userId: UUID,
- _roomId: UUID
- ): Promise {
- throw new Error("Function not implemented.");
+ loreManager: {
+ addEmbeddingToMemory: function (_memory: Memory): Promise {
+ throw new Error("Function not implemented.");
+ },
+ getMemories: function (_opts: {
+ roomId: UUID;
+ count?: number;
+ unique?: boolean;
+ agentId?: UUID;
+ start?: number;
+ end?: number;
+ }): Promise {
+ throw new Error("Function not implemented.");
+ },
+ getCachedEmbeddings: function (
+ _content: string
+ ): Promise<{ embedding: number[]; levenshtein_score: number }[]> {
+ throw new Error("Function not implemented.");
+ },
+ getMemoryById: function (_id: UUID): Promise {
+ throw new Error("Function not implemented.");
+ },
+ getMemoriesByRoomIds: function (_params: {
+ roomIds: UUID[];
+ agentId?: UUID;
+ }): Promise {
+ throw new Error("Function not implemented.");
+ },
+ searchMemoriesByEmbedding: function (
+ _embedding: number[],
+ _opts: {
+ match_threshold?: number;
+ count?: number;
+ roomId: UUID;
+ unique?: boolean;
+ agentId?: UUID;
+ }
+ ): Promise {
+ throw new Error("Function not implemented.");
+ },
+ createMemory: function (
+ _memory: Memory,
+ _unique?: boolean
+ ): Promise {
+ throw new Error("Function not implemented.");
+ },
+ removeMemory: function (_memoryId: UUID): Promise {
+ throw new Error("Function not implemented.");
+ },
+ removeAllMemories: function (_roomId: UUID): Promise {
+ throw new Error("Function not implemented.");
+ },
+ countMemories: function (
+ _roomId: UUID,
+ _unique?: boolean
+ ): Promise {
+ throw new Error("Function not implemented.");
+ },
},
ensureRoomExists: function (_roomId: UUID): Promise {
throw new Error("Function not implemented.");
@@ -164,14 +227,18 @@ export const mockRuntime: IAgentRuntime = {
): T | null {
return (services.get(serviceType) as T) || null;
},
+ plugins: [],
+ initialize: function (): Promise {
+ throw new Error("Function not implemented.");
+ },
};
// Sample data
const sampleGoal: Goal = {
id: "goal-id" as UUID,
- name: "Test Goal",
roomId: "room-id" as UUID,
userId: "user-id" as UUID,
+ name: "Test Goal",
objectives: [
{ description: "Objective 1", completed: false },
{ description: "Objective 2", completed: true },
@@ -180,6 +247,10 @@ const sampleGoal: Goal = {
};
describe("getGoals", () => {
+ beforeEach(() => {
+ vi.clearAllMocks();
+ });
+
it("retrieves goals successfully", async () => {
mockDatabaseAdapter.getGoals.mockResolvedValue([sampleGoal]);
@@ -189,26 +260,27 @@ describe("getGoals", () => {
});
expect(result).toEqual([sampleGoal]);
- expect(mockDatabaseAdapter.getGoals).toHaveBeenCalledWith({
- roomId: "room-id",
- userId: undefined,
- onlyInProgress: true,
- count: 5,
- });
});
- it("handles failure to retrieve goals", async () => {
+ it("handles errors when retrieving goals", async () => {
mockDatabaseAdapter.getGoals.mockRejectedValue(
new Error("Failed to retrieve goals")
);
await expect(
- getGoals({ runtime: mockRuntime, roomId: "room-id" as UUID })
+ getGoals({
+ runtime: mockRuntime,
+ roomId: "room-id" as UUID,
+ })
).rejects.toThrow("Failed to retrieve goals");
});
});
describe("formatGoalsAsString", () => {
+ beforeEach(() => {
+ vi.clearAllMocks();
+ });
+
it("formats goals correctly", () => {
const formatted = formatGoalsAsString({ goals: [sampleGoal] });
expect(formatted).toContain("Goal: Test Goal");
@@ -216,23 +288,28 @@ describe("formatGoalsAsString", () => {
expect(formatted).toContain("- [x] Objective 2 (DONE)");
});
- it("handles empty goal list", () => {
+ it("handles empty goals array", () => {
const formatted = formatGoalsAsString({ goals: [] });
expect(formatted).toBe("");
});
});
describe("updateGoal", () => {
+ beforeEach(() => {
+ vi.clearAllMocks();
+ });
+
it("updates a goal successfully", async () => {
mockDatabaseAdapter.updateGoal.mockResolvedValue(undefined);
await expect(
updateGoal({ runtime: mockRuntime, goal: sampleGoal })
- ).resolves.toBeUndefined();
+ ).resolves.not.toThrow();
+
expect(mockDatabaseAdapter.updateGoal).toHaveBeenCalledWith(sampleGoal);
});
- it("handles failure to update a goal", async () => {
+ it("handles errors when updating a goal", async () => {
mockDatabaseAdapter.updateGoal.mockRejectedValue(
new Error("Failed to update goal")
);
@@ -244,16 +321,21 @@ describe("updateGoal", () => {
});
describe("createGoal", () => {
+ beforeEach(() => {
+ vi.clearAllMocks();
+ });
+
it("creates a goal successfully", async () => {
mockDatabaseAdapter.createGoal.mockResolvedValue(undefined);
await expect(
createGoal({ runtime: mockRuntime, goal: sampleGoal })
- ).resolves.toBeUndefined();
+ ).resolves.not.toThrow();
+
expect(mockDatabaseAdapter.createGoal).toHaveBeenCalledWith(sampleGoal);
});
- it("handles failure to create a goal", async () => {
+ it("handles errors when creating a goal", async () => {
mockDatabaseAdapter.createGoal.mockRejectedValue(
new Error("Failed to create goal")
);
diff --git a/packages/core/src/tests/token.test.ts b/packages/core/src/tests/token.test.ts
deleted file mode 100644
index 76f70509dc5..00000000000
--- a/packages/core/src/tests/token.test.ts
+++ /dev/null
@@ -1,77 +0,0 @@
-// Now import other modules
-import { createRuntime } from "../test_resources/createRuntime";
-import { TokenProvider, WalletProvider } from "@ai16z/plugin-solana";
-import { Connection, PublicKey } from "@solana/web3.js";
-import { describe, it, expect, beforeEach, vi } from "vitest";
-import NodeCache from "node-cache";
-
-describe("TokenProvider Tests", () => {
- let tokenProvider: TokenProvider;
-
- beforeEach(async () => {
- // Clear all mocks before each test
- vi.clearAllMocks();
-
- const { runtime } = await createRuntime({
- env: process.env,
- conversationLength: 10,
- });
-
- const walletProvider = new WalletProvider(
- new Connection(runtime.getSetting("RPC_URL")),
- new PublicKey(runtime.getSetting("WALLET_PUBLIC_KEY"))
- );
- // Create new instance of TokenProvider
- tokenProvider = new TokenProvider(
- "2weMjPLLybRMMva1fM3U31goWWrCpF59CHWNhnCJ9Vyh",
- walletProvider
- );
-
- // Clear the cache and ensure it's empty
- (tokenProvider as any).cache.flushAll();
- (tokenProvider as any).cache.close();
- (tokenProvider as any).cache = new NodeCache();
-
- // Mock the getCachedData method instead
- vi.spyOn(tokenProvider as any, "getCachedData").mockReturnValue(null);
- });
-
- it.skip("should fetch token security data", async () => {
- // Mock the response for the fetchTokenSecurity call
- const mockFetchResponse = {
- success: true,
- data: {
- ownerBalance: "100",
- creatorBalance: "50",
- ownerPercentage: 10,
- creatorPercentage: 5,
- top10HolderBalance: "200",
- top10HolderPercent: 20,
- },
- };
-
- // Mock fetchWithRetry function
- const fetchSpy = vi
- .spyOn(tokenProvider as any, "fetchWithRetry")
- .mockResolvedValue(mockFetchResponse);
-
- // Run the fetchTokenSecurity method
- const securityData = await tokenProvider.fetchTokenSecurity();
- // Check if the data returned is correct
- expect(securityData).toEqual({
- ownerBalance: "100",
- creatorBalance: "50",
- ownerPercentage: 10,
- creatorPercentage: 5,
- top10HolderBalance: "200",
- top10HolderPercent: 20,
- });
-
- // Ensure the mock was called with correct URL
- expect(fetchSpy).toHaveBeenCalledWith(
- expect.stringContaining(
- "https://public-api.birdeye.so/defi/token_security?address=2weMjPLLybRMMva1fM3U31goWWrCpF59CHWNhnCJ9Vyh"
- )
- );
- });
-});
diff --git a/packages/create-eliza-app/package.json b/packages/create-eliza-app/package.json
index e4bb32aa035..dfd52f056d7 100644
--- a/packages/create-eliza-app/package.json
+++ b/packages/create-eliza-app/package.json
@@ -21,16 +21,16 @@
"author": "",
"license": "ISC",
"dependencies": {
- "citty": "^0.1.6",
- "giget": "^1.2.3"
+ "citty": "0.1.6",
+ "giget": "1.2.3"
},
"devDependencies": {
- "automd": "^0.3.12",
+ "automd": "0.3.12",
"eslint": "9.13.0",
"eslint-config-prettier": "9.1.0",
"eslint-plugin-prettier": "5.2.1",
"eslint-plugin-vitest": "0.5.4",
- "jiti": "^2.4.0",
- "unbuild": "^2.0.0"
+ "jiti": "2.4.0",
+ "unbuild": "2.0.0"
}
}
diff --git a/packages/plugin-0g/package.json b/packages/plugin-0g/package.json
new file mode 100644
index 00000000000..21e8ec7666d
--- /dev/null
+++ b/packages/plugin-0g/package.json
@@ -0,0 +1,18 @@
+{
+ "name": "@ai16z/plugin-0g",
+ "version": "0.0.1",
+ "main": "dist/index.js",
+ "type": "module",
+ "types": "dist/index.d.ts",
+ "dependencies": {
+ "@ai16z/eliza": "workspace:*",
+ "tsup": "^8.3.5",
+ "@0glabs/0g-ts-sdk": "0.2.1",
+ "ethers": "^6.0.0"
+ },
+ "scripts": {
+ "build": "tsup --format esm --dts",
+ "dev": "tsup --watch",
+ "test": "vitest"
+ }
+}
diff --git a/packages/plugin-0g/readme.md b/packages/plugin-0g/readme.md
new file mode 100644
index 00000000000..f104259acee
--- /dev/null
+++ b/packages/plugin-0g/readme.md
@@ -0,0 +1,15 @@
+# @ai16z/plugin-0g
+
+A plugin for storing data using the 0G protocol within the AI16Z ecosystem.
+
+## Description
+
+The 0G plugin enables seamless integration with the Zero Gravity (0G) protocol for decentralized file storage. It provides functionality to upload files to the 0G network.
+
+## Future work
+
+- Enable model service deployment on 0G serving network.
+- Implement 0G KV store for plugin state persistence .
+- Store upload history and file metadata.
+- Provide 0G as a db option for Eliza to store its memory/state.
+- Enhance file path and context extraction.
diff --git a/packages/plugin-0g/src/actions/upload.ts b/packages/plugin-0g/src/actions/upload.ts
new file mode 100644
index 00000000000..df73269e486
--- /dev/null
+++ b/packages/plugin-0g/src/actions/upload.ts
@@ -0,0 +1,172 @@
+import {
+ Action,
+ HandlerCallback,
+ IAgentRuntime,
+ Memory,
+ State,
+ ModelClass,
+ Content,
+ ActionExample,
+ generateObjectV2,
+} from "@ai16z/eliza";
+import { Indexer, ZgFile, getFlowContract } from "@0glabs/0g-ts-sdk";
+import { ethers } from "ethers";
+import { composeContext } from "@ai16z/eliza";
+import { promises as fs } from "fs";
+
+import { uploadTemplate } from "../templates/upload";
+
+export interface UploadContent extends Content {
+ filePath: string;
+}
+
+function isUploadContent(
+ _runtime: IAgentRuntime,
+ content: any
+): content is UploadContent {
+ console.log("Content for upload", content);
+ return typeof content.filePath === "string";
+}
+
+export const zgUpload: Action = {
+ name: "ZG_UPLOAD",
+ similes: [
+ "UPLOAD_FILE_TO_ZG",
+ "STORE_FILE_ON_ZG",
+ "SAVE_FILE_TO_ZG",
+ "UPLOAD_TO_ZERO_GRAVITY",
+ "STORE_ON_ZERO_GRAVITY",
+ "SHARE_FILE_ON_ZG",
+ "PUBLISH_FILE_TO_ZG",
+ ],
+ description: "Store data using 0G protocol",
+ validate: async (runtime: IAgentRuntime, message: Memory) => {
+ const zgIndexerRpc = !!runtime.getSetting("ZEROG_INDEXER_RPC");
+ const zgEvmRpc = !!runtime.getSetting("ZEROG_EVM_RPC");
+ const zgPrivateKey = !!runtime.getSetting("ZEROG_PRIVATE_KEY");
+ const flowAddr = !!runtime.getSetting("ZEROG_FLOW_ADDRESS");
+ return zgIndexerRpc && zgEvmRpc && zgPrivateKey && flowAddr;
+ },
+ handler: async (
+ runtime: IAgentRuntime,
+ message: Memory,
+ state: State,
+ _options: any,
+ callback: HandlerCallback
+ ) => {
+ console.log("ZG_UPLOAD action called");
+ if (!state) {
+ state = (await runtime.composeState(message)) as State;
+ } else {
+ state = await runtime.updateRecentMessageState(state);
+ }
+
+ // Compose upload context
+ const uploadContext = composeContext({
+ state,
+ template: uploadTemplate,
+ });
+
+ // Generate upload content
+ const content = await generateObjectV2({
+ runtime,
+ context: uploadContext,
+ modelClass: ModelClass.SMALL,
+ });
+
+ // Validate upload content
+ if (!isUploadContent(runtime, content)) {
+ console.error("Invalid content for UPLOAD action.");
+ if (callback) {
+ callback({
+ text: "Unable to process 0G upload request. Invalid content provided.",
+ content: { error: "Invalid upload content" },
+ });
+ }
+ return false;
+ }
+
+ try {
+ const zgIndexerRpc = runtime.getSetting("ZEROG_INDEXER_RPC");
+ const zgEvmRpc = runtime.getSetting("ZEROG_EVM_RPC");
+ const zgPrivateKey = runtime.getSetting("ZEROG_PRIVATE_KEY");
+ const flowAddr = runtime.getSetting("ZEROG_FLOW_ADDRESS");
+ const filePath = content.filePath;
+ if (!filePath) {
+ console.error("File path is required");
+ return false;
+ }
+
+ // Check if file exists and is accessible
+ try {
+ await fs.access(filePath);
+ } catch (error) {
+ console.error(
+ `File ${filePath} does not exist or is not accessible:`,
+ error
+ );
+ return false;
+ }
+
+ const file = await ZgFile.fromFilePath(filePath);
+ var [tree, err] = await file.merkleTree();
+ if (err === null) {
+ console.log("File Root Hash: ", tree.rootHash());
+ } else {
+ console.log("Error getting file root hash: ", err);
+ return false;
+ }
+
+ const provider = new ethers.JsonRpcProvider(zgEvmRpc);
+ const signer = new ethers.Wallet(zgPrivateKey, provider);
+ const indexer = new Indexer(zgIndexerRpc);
+ const flowContract = getFlowContract(flowAddr, signer);
+
+ var [tx, err] = await indexer.upload(
+ file,
+ 0,
+ zgEvmRpc,
+ flowContract
+ );
+ if (err === null) {
+ console.log("File uploaded successfully, tx: ", tx);
+ } else {
+ console.error("Error uploading file: ", err);
+ return false;
+ }
+
+ await file.close();
+ } catch (error) {
+ console.error("Error getting settings for 0G upload:", error);
+ }
+ },
+ examples: [
+ [
+ {
+ user: "{{user1}}",
+ content: {
+ text: "upload my resume.pdf file",
+ action: "ZG_UPLOAD",
+ },
+ },
+ ],
+ [
+ {
+ user: "{{user1}}",
+ content: {
+ text: "can you help me upload this document.docx?",
+ action: "ZG_UPLOAD",
+ },
+ },
+ ],
+ [
+ {
+ user: "{{user1}}",
+ content: {
+ text: "I need to upload an image file image.png",
+ action: "ZG_UPLOAD",
+ },
+ },
+ ],
+ ] as ActionExample[][],
+} as Action;
diff --git a/packages/plugin-0g/src/index.ts b/packages/plugin-0g/src/index.ts
new file mode 100644
index 00000000000..7c4b976e857
--- /dev/null
+++ b/packages/plugin-0g/src/index.ts
@@ -0,0 +1,10 @@
+import { Plugin } from "@ai16z/eliza";
+import { zgUpload } from "./actions/upload";
+
+export const zgPlugin: Plugin = {
+ description: "ZeroG Plugin for Eliza",
+ name: "ZeroG",
+ actions: [zgUpload],
+ evaluators: [],
+ providers: [],
+};
diff --git a/packages/plugin-0g/src/templates/upload.ts b/packages/plugin-0g/src/templates/upload.ts
new file mode 100644
index 00000000000..d982d8929b6
--- /dev/null
+++ b/packages/plugin-0g/src/templates/upload.ts
@@ -0,0 +1,22 @@
+export const uploadTemplate = `Respond with a JSON markdown block containing only the extracted values. Use null for any values that cannot be determined.
+
+Example response:
+\`\`\`json
+{
+ "filePath": null,
+ "description": "I want to upload a file"
+}
+\`\`\`
+
+{{recentMessages}}
+
+Extract the user's intention to upload a file from the conversation. Users might express this in various ways, such as:
+- "I want to upload a file"
+- "upload an image"
+- "send a photo"
+- "upload"
+- "let me share a file"
+
+If the user provides any specific description of the file, include that as well.
+
+Respond with a JSON markdown block containing only the extracted values.`;
diff --git a/packages/plugin-0g/tsconfig.json b/packages/plugin-0g/tsconfig.json
new file mode 100644
index 00000000000..ea7ea435e3e
--- /dev/null
+++ b/packages/plugin-0g/tsconfig.json
@@ -0,0 +1,9 @@
+{
+ "extends": "../../tsconfig.json",
+ "compilerOptions": {
+ "outDir": "dist",
+ "rootDir": ".",
+ "types": ["node"]
+ },
+ "include": ["src"]
+}
diff --git a/packages/plugin-0g/tsup.config.ts b/packages/plugin-0g/tsup.config.ts
new file mode 100644
index 00000000000..1b704be143d
--- /dev/null
+++ b/packages/plugin-0g/tsup.config.ts
@@ -0,0 +1,13 @@
+import { defineConfig } from "tsup";
+
+export default defineConfig({
+ entry: ["src/index.ts"],
+ outDir: "dist",
+ sourcemap: true,
+ clean: true,
+ format: ["esm"], // Ensure you're targeting CommonJS
+ external: [
+ "@0glabs/0g-ts-sdk",
+ // Add other modules you want to externalize
+ ],
+});
diff --git a/packages/plugin-bootstrap/package.json b/packages/plugin-bootstrap/package.json
index 5fe1c2a3d00..f43cf6455ba 100644
--- a/packages/plugin-bootstrap/package.json
+++ b/packages/plugin-bootstrap/package.json
@@ -6,7 +6,7 @@
"types": "dist/index.d.ts",
"dependencies": {
"@ai16z/eliza": "workspace:*",
- "tsup": "^8.3.5"
+ "tsup": "8.3.5"
},
"devDependencies": {
"eslint": "9.13.0",
diff --git a/packages/plugin-coinbase/package.json b/packages/plugin-coinbase/package.json
index dd6da20ef6b..a9cf565faff 100644
--- a/packages/plugin-coinbase/package.json
+++ b/packages/plugin-coinbase/package.json
@@ -5,19 +5,20 @@
"type": "module",
"types": "dist/index.d.ts",
"dependencies": {
- "@ai16z/eliza": "^0.1.3",
- "coinbase-api": "^1.0.5"
+ "@ai16z/eliza": "0.1.3",
+ "coinbase-api": "1.0.5"
},
"devDependencies": {
- "tsup": "^8.3.5"
+ "tsup": "8.3.5"
},
"scripts": {
"build": "tsup --format esm --dts",
"dev": "tsup --watch"
},
"peerDependencies": {
- "onnxruntime-node": "^1.20.0",
- "whatwg-url": "7.1.0"
+ "onnxruntime-node": "1.20.1",
+ "whatwg-url": "7.1.0",
+ "vue": "3.5.13"
},
"trustedDependencies": {
"onnxruntime-node": "^1.20.0",
diff --git a/packages/plugin-coinbase/src/index.ts b/packages/plugin-coinbase/src/index.ts
index d5bf379585f..5df9ee08b5b 100644
--- a/packages/plugin-coinbase/src/index.ts
+++ b/packages/plugin-coinbase/src/index.ts
@@ -1,438 +1,10 @@
-import {
- composeContext,
- elizaLogger,
- generateObjectV2,
- ModelClass,
- Provider,
-} from "@ai16z/eliza";
-import {
- Action,
- HandlerCallback,
- IAgentRuntime,
- Memory,
- Plugin,
- State,
-} from "@ai16z/eliza";
-import { ChargeContent, ChargeSchema, isChargeContent } from "./types";
-import { chargeTemplate, getChargeTemplate } from "./templates";
+import { coinbaseMassPaymentsPlugin } from "./plugins/massPayments";
+import { coinbaseCommercePlugin } from "./plugins/commerce";
-const url = "https://api.commerce.coinbase.com/charges";
-interface ChargeRequest {
- name: string;
- description: string;
- pricing_type: string;
- local_price: {
- amount: string;
- currency: string;
- };
-}
-
-export async function createCharge(apiKey: string, params: ChargeRequest) {
- try {
- const response = await fetch(url, {
- method: "POST",
- headers: {
- "Content-Type": "application/json",
- "X-CC-Api-Key": apiKey,
- },
- body: JSON.stringify(params),
- });
-
- if (!response.ok) {
- throw new Error(`Failed to create charge: ${response.statusText}`);
- }
-
- const data = await response.json();
- return data.data;
- } catch (error) {
- console.error("Error creating charge:", error);
- throw error;
- }
-}
-
-// Function to fetch all charges
-export async function getAllCharges(apiKey: string) {
- try {
- const response = await fetch(url, {
- method: "GET",
- headers: {
- "Content-Type": "application/json",
- "X-CC-Api-Key": apiKey,
- },
- });
-
- if (!response.ok) {
- throw new Error(
- `Failed to fetch all charges: ${response.statusText}`
- );
- }
-
- const data = await response.json();
- return data.data;
- } catch (error) {
- console.error("Error fetching charges:", error);
- throw error;
- }
-}
-
-// Function to fetch details of a specific charge
-export async function getChargeDetails(apiKey: string, chargeId: string) {
- const getUrl = `${url}${chargeId}`;
-
- try {
- const response = await fetch(getUrl, {
- method: "GET",
- headers: {
- "Content-Type": "application/json",
- "X-CC-Api-Key": apiKey,
- },
- });
-
- if (!response.ok) {
- throw new Error(
- `Failed to fetch charge details: ${response.statusText}`
- );
- }
-
- const data = await response.json();
- return data;
- } catch (error) {
- console.error(
- `Error fetching charge details for ID ${chargeId}:`,
- error
- );
- throw error;
- }
-}
-
-export const createCoinbaseChargeAction: Action = {
- name: "CREATE_CHARGE",
- similes: [
- "MAKE_CHARGE",
- "INITIATE_CHARGE",
- "GENERATE_CHARGE",
- "CREATE_TRANSACTION",
- "COINBASE_CHARGE",
- ],
- description: "Create a charge using Coinbase Commerce.",
- validate: async (runtime: IAgentRuntime, message: Memory) => {
- const coinbaseCommerceKeyOk = !!runtime.getSetting(
- "COINBASE_COMMERCE_KEY"
- );
-
- // Ensure Coinbase Commerce API key is available
- return coinbaseCommerceKeyOk;
- },
- handler: async (
- runtime: IAgentRuntime,
- message: Memory,
- state: State,
- options: any,
- callback: HandlerCallback
- ) => {
- elizaLogger.log("Composing state for message:", message);
- if (!state) {
- state = (await runtime.composeState(message)) as State;
- } else {
- state = await runtime.updateRecentMessageState(state);
- }
-
- const context = composeContext({
- state,
- template: chargeTemplate,
- });
-
- const chargeDetails = await generateObjectV2({
- runtime,
- context,
- modelClass: ModelClass.SMALL,
- schema: ChargeSchema,
- });
- if (!isChargeContent(chargeDetails.object)) {
- throw new Error("Invalid content");
- }
- const charge = chargeDetails.object as ChargeContent;
- if (!charge || !charge.price || !charge.type) {
- callback(
- {
- text: "Invalid charge details provided.",
- },
- []
- );
- return;
- }
-
- elizaLogger.log("Charge details received:", chargeDetails);
-
- // Initialize Coinbase Commerce client
-
- try {
- // Create a charge
- const chargeResponse = await createCharge(
- runtime.getSetting("COINBASE_COMMERCE_KEY"),
- {
- local_price: {
- amount: charge.price.toString(),
- currency: charge.currency,
- },
- pricing_type: charge.type,
- name: charge.name,
- description: charge.description,
- }
- );
-
- elizaLogger.log(
- "Coinbase Commerce charge created:",
- chargeResponse
- );
-
- callback(
- {
- text: `Charge created successfully: ${chargeResponse.hosted_url}`,
- attachments: [
- {
- id: crypto.randomUUID(),
- url: chargeResponse.id,
- title: "Coinbase Commerce Charge",
- description: `Charge ID: ${chargeResponse.id}`,
- text: `Pay here: ${chargeResponse.hosted_url}`,
- source: "coinbase",
- },
- ],
- },
- []
- );
- } catch (error) {
- elizaLogger.error(
- "Error creating Coinbase Commerce charge:",
- error
- );
- callback(
- {
- text: "Failed to create a charge. Please try again.",
- },
- []
- );
- }
- },
- examples: [
- [
- {
- user: "{{user1}}",
- content: {
- text: "Create a charge for $10.00 USD to Chris for dinner",
- data: {
- local_price: {
- amount: "10.00",
- currency: "USD",
- },
- pricing_type: "fixed_price",
- buyer_locale: "en-US",
- cancel_url: "https://example.com/cancel",
- redirect_url: "https://example.com/success",
- },
- },
- },
- {
- user: "{{agentName}}",
- content: {
- text: "Charge created successfully: {{charge.id}} for {{charge.amount}} {{charge.currency}}",
- action: "CREATE_CHARGE",
- },
- },
- ],
- ],
-} as Action;
-
-export const getAllChargesAction: Action = {
- name: "GET_ALL_CHARGES",
- similes: ["FETCH_ALL_CHARGES", "RETRIEVE_ALL_CHARGES", "LIST_ALL_CHARGES"],
- description: "Fetch all charges using Coinbase Commerce.",
- validate: async (runtime: IAgentRuntime) => {
- const coinbaseCommerceKeyOk = !!runtime.getSetting(
- "COINBASE_COMMERCE_KEY"
- );
-
- // Ensure Coinbase Commerce API key is available
- return coinbaseCommerceKeyOk;
- },
- handler: async (
- runtime: IAgentRuntime,
- message: Memory,
- state: State,
- options: any,
- callback: HandlerCallback
- ) => {
- try {
- elizaLogger.log("Composing state for message:", message);
- if (!state) {
- state = (await runtime.composeState(message)) as State;
- } else {
- state = await runtime.updateRecentMessageState(state);
- }
- const charges = await getAllCharges(
- runtime.getSetting("COINBASE_COMMERCE_KEY")
- );
-
- elizaLogger.log("Fetched all charges:", charges);
-
- callback(
- {
- text: `Successfully fetched all charges. Total charges: ${charges.length}`,
- },
- []
- );
- } catch (error) {
- elizaLogger.error("Error fetching all charges:", error);
- callback(
- {
- text: "Failed to fetch all charges. Please try again.",
- },
- []
- );
- }
- },
- examples: [
- [
- {
- user: "{{user1}}",
- content: { text: "Fetch all charges" },
- },
- {
- user: "{{agentName}}",
- content: {
- text: "Successfully fetched all charges.",
- action: "GET_ALL_CHARGES",
- },
- },
- ],
- ],
-} as Action;
-
-export const getChargeDetailsAction: Action = {
- name: "GET_CHARGE_DETAILS",
- similes: ["FETCH_CHARGE_DETAILS", "RETRIEVE_CHARGE_DETAILS", "GET_CHARGE"],
- description: "Fetch details of a specific charge using Coinbase Commerce.",
- validate: async (runtime: IAgentRuntime) => {
- const coinbaseCommerceKeyOk = !!runtime.getSetting(
- "COINBASE_COMMERCE_KEY"
- );
-
- // Ensure Coinbase Commerce API key is available
- return coinbaseCommerceKeyOk;
- },
- handler: async (
- runtime: IAgentRuntime,
- message: Memory,
- state: State,
- options: any,
- callback: HandlerCallback
- ) => {
- elizaLogger.log("Composing state for message:", message);
- if (!state) {
- state = (await runtime.composeState(message)) as State;
- } else {
- state = await runtime.updateRecentMessageState(state);
- }
-
- const context = composeContext({
- state,
- template: getChargeTemplate,
- });
- const chargeDetails = await generateObjectV2({
- runtime,
- context,
- modelClass: ModelClass.SMALL,
- schema: ChargeSchema,
- });
- if (!isChargeContent(chargeDetails.object)) {
- throw new Error("Invalid content");
- }
- const charge = chargeDetails.object as ChargeContent;
- if (!charge.id) {
- callback(
- {
- text: "Missing charge ID. Please provide a valid charge ID.",
- },
- []
- );
- return;
- }
-
- try {
- const chargeDetails = await getChargeDetails(
- runtime.getSetting("COINBASE_COMMERCE_KEY"),
- charge.id
- );
-
- elizaLogger.log("Fetched charge details:", chargeDetails);
-
- callback(
- {
- text: `Successfully fetched charge details for ID: ${charge.id}`,
- attachments: [
- {
- id: crypto.randomUUID(),
- url: chargeDetails.hosted_url,
- title: `Charge Details for ${charge.id}`,
- description: `Details: ${JSON.stringify(chargeDetails, null, 2)}`,
- source: "coinbase",
- text: "",
- },
- ],
- },
- []
- );
- } catch (error) {
- elizaLogger.error(
- `Error fetching details for charge ID ${charge.id}:`,
- error
- );
- callback(
- {
- text: `Failed to fetch details for charge ID: ${charge.id}. Please try again.`,
- },
- []
- );
- }
- },
- examples: [
- [
- {
- user: "{{user1}}",
- content: {
- text: "Fetch details of charge ID: 123456",
- },
- },
- {
- user: "{{agentName}}",
- content: {
- text: "Successfully fetched charge details. {{charge.id}} for {{charge.amount}} {{charge.currency}} to {{charge.name}} for {{charge.description}}",
- action: "GET_CHARGE_DETAILS",
- },
- },
- ],
- ],
-};
-
-export const chargeProvider: Provider = {
- get: async (runtime: IAgentRuntime, message: Memory) => {
- const charges = await getAllCharges(
- runtime.getSetting("COINBASE_COMMERCE_KEY")
- );
- return charges.data;
- },
+export const plugins = {
+ coinbaseMassPaymentsPlugin,
+ coinbaseCommercePlugin,
};
-export const coinbaseCommercePlugin: Plugin = {
- name: "coinbaseCommerce",
- description:
- "Integration with Coinbase Commerce for creating and managing charges.",
- actions: [
- createCoinbaseChargeAction,
- getAllChargesAction,
- getChargeDetailsAction,
- ],
- evaluators: [],
- providers: [chargeProvider],
-};
+export * from "./plugins/massPayments";
+export * from "./plugins/commerce";
diff --git a/packages/plugin-coinbase/src/plugins/commerce.ts b/packages/plugin-coinbase/src/plugins/commerce.ts
new file mode 100644
index 00000000000..698d94dc15a
--- /dev/null
+++ b/packages/plugin-coinbase/src/plugins/commerce.ts
@@ -0,0 +1,438 @@
+import {
+ composeContext,
+ elizaLogger,
+ generateObjectV2,
+ ModelClass,
+ Provider,
+} from "@ai16z/eliza";
+import {
+ Action,
+ HandlerCallback,
+ IAgentRuntime,
+ Memory,
+ Plugin,
+ State,
+} from "@ai16z/eliza";
+import { ChargeContent, ChargeSchema, isChargeContent } from "../types";
+import { chargeTemplate, getChargeTemplate } from "../templates";
+
+const url = "https://api.commerce.coinbase.com/charges";
+interface ChargeRequest {
+ name: string;
+ description: string;
+ pricing_type: string;
+ local_price: {
+ amount: string;
+ currency: string;
+ };
+}
+
+export async function createCharge(apiKey: string, params: ChargeRequest) {
+ try {
+ const response = await fetch(url, {
+ method: "POST",
+ headers: {
+ "Content-Type": "application/json",
+ "X-CC-Api-Key": apiKey,
+ },
+ body: JSON.stringify(params),
+ });
+
+ if (!response.ok) {
+ throw new Error(`Failed to create charge: ${response.statusText}`);
+ }
+
+ const data = await response.json();
+ return data.data;
+ } catch (error) {
+ console.error("Error creating charge:", error);
+ throw error;
+ }
+}
+
+// Function to fetch all charges
+export async function getAllCharges(apiKey: string) {
+ try {
+ const response = await fetch(url, {
+ method: "GET",
+ headers: {
+ "Content-Type": "application/json",
+ "X-CC-Api-Key": apiKey,
+ },
+ });
+
+ if (!response.ok) {
+ throw new Error(
+ `Failed to fetch all charges: ${response.statusText}`
+ );
+ }
+
+ const data = await response.json();
+ return data.data;
+ } catch (error) {
+ console.error("Error fetching charges:", error);
+ throw error;
+ }
+}
+
+// Function to fetch details of a specific charge
+export async function getChargeDetails(apiKey: string, chargeId: string) {
+ const getUrl = `${url}${chargeId}`;
+
+ try {
+ const response = await fetch(getUrl, {
+ method: "GET",
+ headers: {
+ "Content-Type": "application/json",
+ "X-CC-Api-Key": apiKey,
+ },
+ });
+
+ if (!response.ok) {
+ throw new Error(
+ `Failed to fetch charge details: ${response.statusText}`
+ );
+ }
+
+ const data = await response.json();
+ return data;
+ } catch (error) {
+ console.error(
+ `Error fetching charge details for ID ${chargeId}:`,
+ error
+ );
+ throw error;
+ }
+}
+
+export const createCoinbaseChargeAction: Action = {
+ name: "CREATE_CHARGE",
+ similes: [
+ "MAKE_CHARGE",
+ "INITIATE_CHARGE",
+ "GENERATE_CHARGE",
+ "CREATE_TRANSACTION",
+ "COINBASE_CHARGE",
+ ],
+ description: "Create a charge using Coinbase Commerce.",
+ validate: async (runtime: IAgentRuntime, message: Memory) => {
+ const coinbaseCommerceKeyOk = !!runtime.getSetting(
+ "COINBASE_COMMERCE_KEY"
+ );
+
+ // Ensure Coinbase Commerce API key is available
+ return coinbaseCommerceKeyOk;
+ },
+ handler: async (
+ runtime: IAgentRuntime,
+ message: Memory,
+ state: State,
+ options: any,
+ callback: HandlerCallback
+ ) => {
+ elizaLogger.log("Composing state for message:", message);
+ if (!state) {
+ state = (await runtime.composeState(message)) as State;
+ } else {
+ state = await runtime.updateRecentMessageState(state);
+ }
+
+ const context = composeContext({
+ state,
+ template: chargeTemplate,
+ });
+
+ const chargeDetails = await generateObjectV2({
+ runtime,
+ context,
+ modelClass: ModelClass.SMALL,
+ schema: ChargeSchema,
+ });
+ if (!isChargeContent(chargeDetails.object)) {
+ throw new Error("Invalid content");
+ }
+ const charge = chargeDetails.object as ChargeContent;
+ if (!charge || !charge.price || !charge.type) {
+ callback(
+ {
+ text: "Invalid charge details provided.",
+ },
+ []
+ );
+ return;
+ }
+
+ elizaLogger.log("Charge details received:", chargeDetails);
+
+ // Initialize Coinbase Commerce client
+
+ try {
+ // Create a charge
+ const chargeResponse = await createCharge(
+ runtime.getSetting("COINBASE_COMMERCE_KEY"),
+ {
+ local_price: {
+ amount: charge.price.toString(),
+ currency: charge.currency,
+ },
+ pricing_type: charge.type,
+ name: charge.name,
+ description: charge.description,
+ }
+ );
+
+ elizaLogger.log(
+ "Coinbase Commerce charge created:",
+ chargeResponse
+ );
+
+ callback(
+ {
+ text: `Charge created successfully: ${chargeResponse.hosted_url}`,
+ attachments: [
+ {
+ id: crypto.randomUUID(),
+ url: chargeResponse.id,
+ title: "Coinbase Commerce Charge",
+ description: `Charge ID: ${chargeResponse.id}`,
+ text: `Pay here: ${chargeResponse.hosted_url}`,
+ source: "coinbase",
+ },
+ ],
+ },
+ []
+ );
+ } catch (error) {
+ elizaLogger.error(
+ "Error creating Coinbase Commerce charge:",
+ error
+ );
+ callback(
+ {
+ text: "Failed to create a charge. Please try again.",
+ },
+ []
+ );
+ }
+ },
+ examples: [
+ [
+ {
+ user: "{{user1}}",
+ content: {
+ text: "Create a charge for $10.00 USD to Chris for dinner",
+ data: {
+ local_price: {
+ amount: "10.00",
+ currency: "USD",
+ },
+ pricing_type: "fixed_price",
+ buyer_locale: "en-US",
+ cancel_url: "https://example.com/cancel",
+ redirect_url: "https://example.com/success",
+ },
+ },
+ },
+ {
+ user: "{{agentName}}",
+ content: {
+ text: "Charge created successfully: {{charge.id}} for {{charge.amount}} {{charge.currency}}",
+ action: "CREATE_CHARGE",
+ },
+ },
+ ],
+ ],
+} as Action;
+
+export const getAllChargesAction: Action = {
+ name: "GET_ALL_CHARGES",
+ similes: ["FETCH_ALL_CHARGES", "RETRIEVE_ALL_CHARGES", "LIST_ALL_CHARGES"],
+ description: "Fetch all charges using Coinbase Commerce.",
+ validate: async (runtime: IAgentRuntime) => {
+ const coinbaseCommerceKeyOk = !!runtime.getSetting(
+ "COINBASE_COMMERCE_KEY"
+ );
+
+ // Ensure Coinbase Commerce API key is available
+ return coinbaseCommerceKeyOk;
+ },
+ handler: async (
+ runtime: IAgentRuntime,
+ message: Memory,
+ state: State,
+ options: any,
+ callback: HandlerCallback
+ ) => {
+ try {
+ elizaLogger.log("Composing state for message:", message);
+ if (!state) {
+ state = (await runtime.composeState(message)) as State;
+ } else {
+ state = await runtime.updateRecentMessageState(state);
+ }
+ const charges = await getAllCharges(
+ runtime.getSetting("COINBASE_COMMERCE_KEY")
+ );
+
+ elizaLogger.log("Fetched all charges:", charges);
+
+ callback(
+ {
+ text: `Successfully fetched all charges. Total charges: ${charges.length}`,
+ },
+ []
+ );
+ } catch (error) {
+ elizaLogger.error("Error fetching all charges:", error);
+ callback(
+ {
+ text: "Failed to fetch all charges. Please try again.",
+ },
+ []
+ );
+ }
+ },
+ examples: [
+ [
+ {
+ user: "{{user1}}",
+ content: { text: "Fetch all charges" },
+ },
+ {
+ user: "{{agentName}}",
+ content: {
+ text: "Successfully fetched all charges.",
+ action: "GET_ALL_CHARGES",
+ },
+ },
+ ],
+ ],
+} as Action;
+
+export const getChargeDetailsAction: Action = {
+ name: "GET_CHARGE_DETAILS",
+ similes: ["FETCH_CHARGE_DETAILS", "RETRIEVE_CHARGE_DETAILS", "GET_CHARGE"],
+ description: "Fetch details of a specific charge using Coinbase Commerce.",
+ validate: async (runtime: IAgentRuntime) => {
+ const coinbaseCommerceKeyOk = !!runtime.getSetting(
+ "COINBASE_COMMERCE_KEY"
+ );
+
+ // Ensure Coinbase Commerce API key is available
+ return coinbaseCommerceKeyOk;
+ },
+ handler: async (
+ runtime: IAgentRuntime,
+ message: Memory,
+ state: State,
+ options: any,
+ callback: HandlerCallback
+ ) => {
+ elizaLogger.log("Composing state for message:", message);
+ if (!state) {
+ state = (await runtime.composeState(message)) as State;
+ } else {
+ state = await runtime.updateRecentMessageState(state);
+ }
+
+ const context = composeContext({
+ state,
+ template: getChargeTemplate,
+ });
+ const chargeDetails = await generateObjectV2({
+ runtime,
+ context,
+ modelClass: ModelClass.SMALL,
+ schema: ChargeSchema,
+ });
+ if (!isChargeContent(chargeDetails.object)) {
+ throw new Error("Invalid content");
+ }
+ const charge = chargeDetails.object as ChargeContent;
+ if (!charge.id) {
+ callback(
+ {
+ text: "Missing charge ID. Please provide a valid charge ID.",
+ },
+ []
+ );
+ return;
+ }
+
+ try {
+ const chargeDetails = await getChargeDetails(
+ runtime.getSetting("COINBASE_COMMERCE_KEY"),
+ charge.id
+ );
+
+ elizaLogger.log("Fetched charge details:", chargeDetails);
+
+ callback(
+ {
+ text: `Successfully fetched charge details for ID: ${charge.id}`,
+ attachments: [
+ {
+ id: crypto.randomUUID(),
+ url: chargeDetails.hosted_url,
+ title: `Charge Details for ${charge.id}`,
+ description: `Details: ${JSON.stringify(chargeDetails, null, 2)}`,
+ source: "coinbase",
+ text: "",
+ },
+ ],
+ },
+ []
+ );
+ } catch (error) {
+ elizaLogger.error(
+ `Error fetching details for charge ID ${charge.id}:`,
+ error
+ );
+ callback(
+ {
+ text: `Failed to fetch details for charge ID: ${charge.id}. Please try again.`,
+ },
+ []
+ );
+ }
+ },
+ examples: [
+ [
+ {
+ user: "{{user1}}",
+ content: {
+ text: "Fetch details of charge ID: 123456",
+ },
+ },
+ {
+ user: "{{agentName}}",
+ content: {
+ text: "Successfully fetched charge details. {{charge.id}} for {{charge.amount}} {{charge.currency}} to {{charge.name}} for {{charge.description}}",
+ action: "GET_CHARGE_DETAILS",
+ },
+ },
+ ],
+ ],
+};
+
+export const chargeProvider: Provider = {
+ get: async (runtime: IAgentRuntime, message: Memory) => {
+ const charges = await getAllCharges(
+ runtime.getSetting("COINBASE_COMMERCE_KEY")
+ );
+ return charges.data;
+ },
+};
+
+export const coinbaseCommercePlugin: Plugin = {
+ name: "coinbaseCommerce",
+ description:
+ "Integration with Coinbase Commerce for creating and managing charges.",
+ actions: [
+ createCoinbaseChargeAction,
+ getAllChargesAction,
+ getChargeDetailsAction,
+ ],
+ evaluators: [],
+ providers: [chargeProvider],
+};
diff --git a/packages/plugin-coinbase/src/plugins/massPayments.ts b/packages/plugin-coinbase/src/plugins/massPayments.ts
new file mode 100644
index 00000000000..3f36cf9230c
--- /dev/null
+++ b/packages/plugin-coinbase/src/plugins/massPayments.ts
@@ -0,0 +1,519 @@
+import { Coinbase, Wallet, WalletData } from "@coinbase/coinbase-sdk";
+import {
+ composeContext,
+ elizaLogger,
+ generateObjectV2,
+ ModelClass,
+ Action,
+ IAgentRuntime,
+ Memory,
+ Provider,
+ State,
+ HandlerCallback,
+ Plugin,
+} from "@ai16z/eliza";
+import {
+ TransferSchema,
+ isTransferContent,
+ TransferContent,
+ Transaction,
+} from "../types";
+import { transferTemplate } from "../templates";
+import { readFile } from "fs/promises";
+import { parse } from "csv-parse/sync";
+import path from "path";
+import { fileURLToPath } from "url";
+import fs from "fs";
+import { createArrayCsvWriter } from "csv-writer";
+
+// Dynamically resolve the file path to the src/plugins directory
+const __filename = fileURLToPath(import.meta.url);
+const __dirname = path.dirname(__filename);
+const baseDir = path.resolve(__dirname, "../../plugin-coinbase/src/plugins");
+const csvFilePath = path.join(baseDir, "transactions.csv");
+
+export const massPayoutProvider: Provider = {
+ get: async (_runtime: IAgentRuntime, _message: Memory) => {
+ try {
+ elizaLogger.log("Reading CSV file from:", csvFilePath);
+
+ // Check if the file exists; if not, create it with headers
+ if (!fs.existsSync(csvFilePath)) {
+ elizaLogger.warn("CSV file not found. Creating a new one.");
+ const csvWriter = createArrayCsvWriter({
+ path: csvFilePath,
+ header: [
+ "Address",
+ "Amount",
+ "Status",
+ "Error Code",
+ "Transaction URL",
+ ],
+ });
+ await csvWriter.writeRecords([]); // Create an empty file with headers
+ elizaLogger.log("New CSV file created with headers.");
+ }
+
+ // Read and parse the CSV file
+ const csvData = await readFile(csvFilePath, "utf-8");
+ const records = parse(csvData, {
+ columns: true,
+ skip_empty_lines: true,
+ });
+
+ elizaLogger.log("Parsed CSV records:", records);
+ return records.map((record: any) => ({
+ address: record["Address"] || undefined,
+ amount: parseFloat(record["Amount"]) || undefined,
+ status: record["Status"] || undefined,
+ errorCode: record["Error Code"] || "",
+ transactionUrl: record["Transaction URL"] || "",
+ }));
+ } catch (error) {
+ elizaLogger.error("Error in massPayoutProvider:", error);
+ return [];
+ }
+ },
+};
+
+export async function appendTransactionsToCsv(transactions: Transaction[]) {
+ try {
+ const csvWriter = createArrayCsvWriter({
+ path: csvFilePath,
+ header: [
+ "Address",
+ "Amount",
+ "Status",
+ "Error Code",
+ "Transaction URL",
+ ],
+ append: true,
+ });
+
+ const formattedTransactions = transactions.map((transaction) => [
+ transaction.address,
+ transaction.amount.toString(),
+ transaction.status,
+ transaction.errorCode || "",
+ transaction.transactionUrl || "",
+ ]);
+
+ elizaLogger.log("Writing transactions to CSV:", formattedTransactions);
+ await csvWriter.writeRecords(formattedTransactions);
+ elizaLogger.log("All transactions written to CSV successfully.");
+ } catch (error) {
+ elizaLogger.error("Error writing transactions to CSV:", error);
+ }
+}
+
+async function initializeWallet(runtime: IAgentRuntime, networkId: string) {
+ let wallet: Wallet;
+ const storedSeed =
+ runtime.getSetting("COINBASE_GENERATED_WALLET_HEX_SEED") ??
+ process.env.COINBASE_GENERATED_WALLET_HEX_SEED;
+
+ const storedWalletId =
+ runtime.getSetting("COINBASE_GENERATED_WALLET_ID") ??
+ process.env.COINBASE_GENERATED_WALLET_ID;
+ if (!storedSeed || !storedWalletId) {
+ // No stored seed or wallet ID, creating a new wallet
+ wallet = await Wallet.create({ networkId });
+
+ // Export wallet data directly
+ const walletData: WalletData = wallet.export();
+ const walletAddress = await wallet.getDefaultAddress();
+ try {
+ const characterFilePath = `characters/${runtime.character.name.toLowerCase()}.character.json`;
+ const walletIDSave = await updateCharacterSecrets(
+ characterFilePath,
+ "COINBASE_GENERATED_WALLET_ID",
+ walletData.walletId
+ );
+ const seedSave = await updateCharacterSecrets(
+ characterFilePath,
+ "COINBASE_GENERATED_WALLET_HEX_SEED",
+ walletData.seed
+ );
+ if (walletIDSave && seedSave) {
+ elizaLogger.log("Successfully updated character secrets.");
+ } else {
+ const seedFilePath = `characters/${runtime.character.name.toLowerCase()}-seed.txt`;
+ elizaLogger.error(
+ `Failed to update character secrets so adding gitignored ${seedFilePath} file please add it your env or character file and delete:`
+ );
+ // save it to gitignored file
+ wallet.saveSeed(seedFilePath);
+ }
+ } catch (error) {
+ elizaLogger.error("Error updating character secrets:", error);
+ throw error;
+ }
+
+ // Logging wallet creation
+ elizaLogger.log("Created and stored new wallet:", walletAddress);
+ } else {
+ // Importing existing wallet using stored seed and wallet ID
+ wallet = await Wallet.import({
+ seed: storedSeed,
+ walletId: storedWalletId,
+ });
+
+ // Logging wallet import
+ elizaLogger.log(
+ "Imported existing wallet:",
+ await wallet.getDefaultAddress()
+ );
+ }
+
+ return wallet;
+}
+
+async function executeMassPayout(
+ runtime: IAgentRuntime,
+ networkId: string,
+ receivingAddresses: string[],
+ transferAmount: number,
+ assetId: string
+): Promise {
+ const transactions: Transaction[] = [];
+ try {
+ const sendingWallet = await initializeWallet(runtime, networkId);
+ for (const address of receivingAddresses) {
+ elizaLogger.log("Processing payout for address:", address);
+ if (address) {
+ try {
+ // Check balance before initiating transfer
+ const walletBalance = await sendingWallet.getBalance(
+ assetId.toLowerCase()
+ );
+
+ elizaLogger.log("Wallet balance for asset:", {
+ assetId,
+ walletBalance,
+ });
+
+ if (walletBalance.lessThan(transferAmount)) {
+ const insufficientFunds = `Insufficient funds for address ${address}. Required: ${transferAmount}, Available: ${walletBalance}`;
+ elizaLogger.error(insufficientFunds);
+
+ transactions.push({
+ address,
+ amount: transferAmount,
+ status: "Failed",
+ errorCode: insufficientFunds,
+ transactionUrl: null,
+ });
+ continue;
+ }
+
+ const transferDetails = {
+ amount: transferAmount,
+ assetId: assetId.toLowerCase(),
+ destination: address,
+ };
+ elizaLogger.log("Initiating transfer:", transferDetails);
+
+ const transfer =
+ await sendingWallet.createTransfer(transferDetails);
+ await transfer.wait();
+
+ const transactionUrl = transfer.getTransactionLink();
+ elizaLogger.log("Transfer successful:", {
+ address,
+ transactionUrl,
+ });
+
+ transactions.push({
+ address,
+ amount: transferAmount,
+ status: "Success",
+ errorCode: null,
+ transactionUrl,
+ });
+ } catch (error) {
+ elizaLogger.error(
+ "Error during transfer for address:",
+ address,
+ error
+ );
+ transactions.push({
+ address,
+ amount: transferAmount,
+ status: "Failed",
+ errorCode: error?.code || "Unknown Error",
+ transactionUrl: null,
+ });
+ }
+ } else {
+ elizaLogger.log("Skipping invalid or empty address.");
+ transactions.push({
+ address: "Invalid or Empty",
+ amount: transferAmount,
+ status: "Failed",
+ errorCode: "Invalid Address",
+ transactionUrl: null,
+ });
+ }
+ }
+
+ await appendTransactionsToCsv(transactions);
+ elizaLogger.log("Finished processing mass payouts.");
+ return transactions;
+ } catch (error) {
+ elizaLogger.error(
+ "Error initializing sending wallet or processing payouts:",
+ error
+ );
+ throw error; // Re-throw the error to be caught in the handler
+ }
+}
+
+// Action for sending mass payouts
+export const sendMassPayoutAction: Action = {
+ name: "SEND_MASS_PAYOUT",
+ similes: ["BULK_TRANSFER", "DISTRIBUTE_FUNDS", "SEND_PAYMENTS"],
+ description:
+ "Sends mass payouts to a list of receiving addresses using a predefined sending wallet and logs all transactions to a CSV file.",
+ validate: async (runtime: IAgentRuntime, message: Memory) => {
+ elizaLogger.log("Validating runtime and message...");
+ return (
+ !!(
+ runtime.character.settings.secrets?.COINBASE_API_KEY ||
+ process.env.COINBASE_API_KEY
+ ) &&
+ !!(
+ runtime.character.settings.secrets?.COINBASE_PRIVATE_KEY ||
+ process.env.COINBASE_PRIVATE_KEY
+ )
+ );
+ },
+ handler: async (
+ runtime: IAgentRuntime,
+ message: Memory,
+ state: State,
+ options: any,
+ callback: HandlerCallback
+ ) => {
+ elizaLogger.log("Starting SEND_MASS_PAYOUT handler...");
+ try {
+ Coinbase.configure({
+ apiKeyName:
+ runtime.getSetting("COINBASE_API_KEY") ??
+ process.env.COINBASE_API_KEY,
+ privateKey:
+ runtime.getSetting("COINBASE_PRIVATE_KEY") ??
+ process.env.COINBASE_PRIVATE_KEY,
+ });
+ if (!state) {
+ state = (await runtime.composeState(message, {
+ providers: [massPayoutProvider],
+ })) as State;
+ } else {
+ state = await runtime.updateRecentMessageState(state);
+ }
+
+ const context = composeContext({
+ state,
+ template: transferTemplate,
+ });
+
+ const transferDetails = await generateObjectV2({
+ runtime,
+ context,
+ modelClass: ModelClass.SMALL,
+ schema: TransferSchema,
+ });
+
+ elizaLogger.log(
+ "Transfer details generated:",
+ transferDetails.object
+ );
+
+ if (!isTransferContent(transferDetails.object)) {
+ callback(
+ {
+ text: "Invalid transfer details. Please check the inputs.",
+ },
+ []
+ );
+ return;
+ }
+
+ const { receivingAddresses, transferAmount, assetId, network } =
+ transferDetails.object as TransferContent;
+
+ const allowedNetworks = Object.values(Coinbase.networks);
+
+ if (
+ !network ||
+ !allowedNetworks.includes(network.toLowerCase() as any) ||
+ !receivingAddresses?.length ||
+ transferAmount <= 0 ||
+ !assetId
+ ) {
+ elizaLogger.error("Missing or invalid input parameters:", {
+ network,
+ receivingAddresses,
+ transferAmount,
+ assetId,
+ });
+ callback(
+ {
+ text: `Invalid input parameters. Please ensure:
+- Network is one of: ${allowedNetworks.join(", ")}.
+- Receiving addresses are provided.
+- Transfer amount is greater than zero.
+- Asset ID is valid.`,
+ },
+ []
+ );
+ return;
+ }
+
+ elizaLogger.log("◎ Starting mass payout...");
+ const transactions = await executeMassPayout(
+ runtime,
+ network,
+ receivingAddresses,
+ transferAmount,
+ assetId
+ );
+
+ const successTransactions = transactions.filter(
+ (tx) => tx.status === "Success"
+ );
+ const failedTransactions = transactions.filter(
+ (tx) => tx.status === "Failed"
+ );
+ const successDetails = successTransactions
+ .map(
+ (tx) =>
+ `Address: ${tx.address}, Amount: ${tx.amount}, Transaction URL: ${
+ tx.transactionUrl || "N/A"
+ }`
+ )
+ .join("\n");
+ const failedDetails = failedTransactions
+ .map(
+ (tx) =>
+ `Address: ${tx.address}, Amount: ${tx.amount}, Error Code: ${
+ tx.errorCode || "Unknown Error"
+ }`
+ )
+ .join("\n");
+ callback(
+ {
+ text: `Mass payouts completed successfully.
+- Successful Transactions: ${successTransactions.length}
+- Failed Transactions: ${failedTransactions.length}
+
+Details:
+${successTransactions.length > 0 ? `✅ Successful Transactions:\n${successDetails}` : "No successful transactions."}
+${failedTransactions.length > 0 ? `❌ Failed Transactions:\n${failedDetails}` : "No failed transactions."}
+
+Check the CSV file for full details.`,
+ },
+ []
+ );
+ } catch (error) {
+ elizaLogger.error("Error during mass payouts:", error);
+ callback(
+ { text: "Failed to complete payouts. Please try again." },
+ []
+ );
+ }
+ },
+ examples: [
+ [
+ {
+ user: "{{user1}}",
+ content: {
+ text: "Distribute 0.0001 ETH on base network to 0xA0ba2ACB5846A54834173fB0DD9444F756810f06 and 0xF14F2c49aa90BaFA223EE074C1C33b59891826bF",
+ },
+ },
+ {
+ user: "{{agentName}}",
+ content: {
+ text: `Mass payouts completed successfully.
+- Successful Transactions: {{2}}
+- Failed Transactions: {{1}}
+
+Details:
+✅ Successful Transactions:
+Address: 0xABC123..., Amount: 0.005, Transaction URL: https://etherscan.io/tx/...
+Address: 0xDEF456..., Amount: 0.005, Transaction URL: https://etherscan.io/tx/...
+
+❌ Failed Transactions:
+Address: 0xGHI789..., Amount: 0.005, Error Code: Insufficient Funds
+
+Check the CSV file for full details.`,
+ action: "SEND_MASS_PAYOUT",
+ },
+ },
+ ],
+ ],
+};
+
+export const coinbaseMassPaymentsPlugin: Plugin = {
+ name: "automatedPayments",
+ description:
+ "Processes mass payouts using Coinbase SDK and logs all transactions (success and failure) to a CSV file. Provides dynamic transaction data through a provider.",
+ actions: [sendMassPayoutAction],
+ providers: [massPayoutProvider],
+};
+
+/**
+ * Updates a key-value pair in character.settings.secrets.
+ * @param {string} characterfilePath - The file path to the character.
+ * @param {string} key - The secret key to update or add.
+ * @param {string} value - The new value for the secret key.
+ */
+export async function updateCharacterSecrets(
+ characterfilePath: string,
+ key: string,
+ value: string
+): Promise {
+ try {
+ const characterFilePath = path.resolve(
+ process.cwd(),
+ characterfilePath
+ );
+
+ // Check if the character file exists
+ if (!fs.existsSync(characterFilePath)) {
+ elizaLogger.error("Character file not found:", characterFilePath);
+ return false;
+ }
+
+ // Read the existing character file
+ const characterData = JSON.parse(
+ fs.readFileSync(characterFilePath, "utf-8")
+ );
+
+ // Ensure settings and secrets exist in the character file
+ if (!characterData.settings) {
+ characterData.settings = {};
+ }
+ if (!characterData.settings.secrets) {
+ characterData.settings.secrets = {};
+ }
+
+ // Update or add the key-value pair
+ characterData.settings.secrets[key] = value;
+
+ // Write the updated data back to the file
+ fs.writeFileSync(
+ characterFilePath,
+ JSON.stringify(characterData, null, 2),
+ "utf-8"
+ );
+
+ console.log(
+ `Updated ${key} in character.settings.secrets for ${characterFilePath}.`
+ );
+ } catch (error) {
+ elizaLogger.error("Error updating character secrets:", error);
+ return false;
+ }
+ return true;
+}
diff --git a/packages/plugin-coinbase/src/templates.ts b/packages/plugin-coinbase/src/templates.ts
index 9e574ce37ad..c8226996520 100644
--- a/packages/plugin-coinbase/src/templates.ts
+++ b/packages/plugin-coinbase/src/templates.ts
@@ -45,3 +45,35 @@ Provide the charge details in the following JSON format after retrieving the cha
Here are the recent user messages for context:
{{recentMessages}}
`;
+
+export const transferTemplate = `
+Extract the following details for processing a mass payout using the Coinbase SDK:
+- **receivingAddresses** (array): A list of wallet addresses receiving the funds.
+- **transferAmount** (number): The amount to transfer to each address (in the smallest unit, e.g., Wei for ETH).
+- **assetId** (string): The asset ID to transfer (e.g., ETH, BTC).
+- **network** (string): The blockchain network to use. Allowed values are:
+ static networks: {
+ readonly BaseSepolia: "base-sepolia";
+ readonly BaseMainnet: "base-mainnet";
+ readonly EthereumHolesky: "ethereum-holesky";
+ readonly EthereumMainnet: "ethereum-mainnet";
+ readonly PolygonMainnet: "polygon-mainnet";
+ readonly SolanaDevnet: "solana-devnet";
+ readonly SolanaMainnet: "solana-mainnet";
+ readonly ArbitrumMainnet: "arbitrum-mainnet";
+ };
+
+Provide the details in the following JSON format:
+
+\`\`\`json
+{
+ "receivingAddresses": ["", ""],
+ "transferAmount": ,
+ "assetId": "",
+ "network": ""
+}
+\`\`\`
+
+Here are the recent user messages for context:
+{{recentMessages}}
+`;
diff --git a/packages/plugin-coinbase/src/types.ts b/packages/plugin-coinbase/src/types.ts
index 78b0a06a98b..b6d24db7446 100644
--- a/packages/plugin-coinbase/src/types.ts
+++ b/packages/plugin-coinbase/src/types.ts
@@ -25,3 +25,29 @@ export const isChargeContent = (object: any): object is ChargeContent => {
console.error("Invalid content: ", object);
return false;
};
+
+export const TransferSchema = z.object({
+ network: z.string().toLowerCase(),
+ receivingAddresses: z.array(z.string()),
+ transferAmount: z.number(),
+ assetId: z.string().toLowerCase(),
+});
+
+export interface TransferContent {
+ network: string;
+ receivingAddresses: string[];
+ transferAmount: number;
+ assetId: string;
+}
+
+export const isTransferContent = (object: any): object is TransferContent => {
+ return TransferSchema.safeParse(object).success;
+};
+
+export type Transaction = {
+ address: string;
+ amount: number;
+ status: string;
+ errorCode: string | null;
+ transactionUrl: string | null;
+};
diff --git a/packages/plugin-coinbase/tsup.config.ts b/packages/plugin-coinbase/tsup.config.ts
index e42bf4efeae..91b5946d0a4 100644
--- a/packages/plugin-coinbase/tsup.config.ts
+++ b/packages/plugin-coinbase/tsup.config.ts
@@ -15,6 +15,12 @@ export default defineConfig({
"https",
"http",
"agentkeepalive",
+ "@coinbase/coinbase-sdk",
+ "fs/promises",
+ "csv-writer",
+ "csv-parse/sync",
+ "path",
+ "url",
// Add other modules you want to externalize
],
});
diff --git a/packages/plugin-conflux/README.md b/packages/plugin-conflux/README.md
new file mode 100644
index 00000000000..faa68cfa76a
--- /dev/null
+++ b/packages/plugin-conflux/README.md
@@ -0,0 +1,25 @@
+# @ai16z/plugin-conflux
+
+This plugin provides actions and providers for interacting with the [Conflux network](https://www.confluxdocs.com/docs/general).
+
+## Actions
+
+### ConfiPump
+
+Buy and sell tokens on Conflux's implementation of pump.fun (ConfiPump).
+
+### Transfer
+
+Transfer tokens from one address to another within Conflux core space.
+
+### Bridge Transfer
+
+Transfer tokens from one address to Conflux eSpace.
+
+### Sponsor (TBD)
+
+Provide gas for Conflux core space contracts so they can be called without the need to have Conflux in user's wallet.
+
+### Swap (TBD)
+
+Swap tokens on Conflux DEXs.
diff --git a/packages/plugin-conflux/package.json b/packages/plugin-conflux/package.json
new file mode 100644
index 00000000000..59c3ed8f796
--- /dev/null
+++ b/packages/plugin-conflux/package.json
@@ -0,0 +1,15 @@
+{
+ "name": "@ai16z/plugin-conflux",
+ "version": "0.0.1",
+ "main": "dist/index.js",
+ "type": "module",
+ "types": "dist/index.d.ts",
+ "dependencies": {
+ "cive": "^0.7.1",
+ "@ai16z/eliza": "workspace:*"
+ },
+ "scripts": {
+ "build": "tsup --format esm --dts",
+ "dev": "tsup --watch"
+ }
+}
diff --git a/packages/plugin-conflux/src/abi/crossSpaceCall.ts b/packages/plugin-conflux/src/abi/crossSpaceCall.ts
new file mode 100644
index 00000000000..f9ad2a67a07
--- /dev/null
+++ b/packages/plugin-conflux/src/abi/crossSpaceCall.ts
@@ -0,0 +1,184 @@
+const CrossSpaceCallAbi = [
+ {
+ anonymous: false,
+ inputs: [
+ {
+ indexed: true,
+ internalType: "bytes20",
+ name: "sender",
+ type: "bytes20",
+ },
+ {
+ indexed: true,
+ internalType: "bytes20",
+ name: "receiver",
+ type: "bytes20",
+ },
+ {
+ indexed: false,
+ internalType: "uint256",
+ name: "value",
+ type: "uint256",
+ },
+ {
+ indexed: false,
+ internalType: "uint256",
+ name: "nonce",
+ type: "uint256",
+ },
+ {
+ indexed: false,
+ internalType: "bytes",
+ name: "data",
+ type: "bytes",
+ },
+ ],
+ name: "Call",
+ type: "event",
+ },
+ {
+ anonymous: false,
+ inputs: [
+ {
+ indexed: true,
+ internalType: "bytes20",
+ name: "sender",
+ type: "bytes20",
+ },
+ {
+ indexed: true,
+ internalType: "bytes20",
+ name: "contract_address",
+ type: "bytes20",
+ },
+ {
+ indexed: false,
+ internalType: "uint256",
+ name: "value",
+ type: "uint256",
+ },
+ {
+ indexed: false,
+ internalType: "uint256",
+ name: "nonce",
+ type: "uint256",
+ },
+ {
+ indexed: false,
+ internalType: "bytes",
+ name: "init",
+ type: "bytes",
+ },
+ ],
+ name: "Create",
+ type: "event",
+ },
+ {
+ anonymous: false,
+ inputs: [
+ {
+ indexed: false,
+ internalType: "bool",
+ name: "success",
+ type: "bool",
+ },
+ ],
+ name: "Outcome",
+ type: "event",
+ },
+ {
+ anonymous: false,
+ inputs: [
+ {
+ indexed: true,
+ internalType: "bytes20",
+ name: "sender",
+ type: "bytes20",
+ },
+ {
+ indexed: true,
+ internalType: "address",
+ name: "receiver",
+ type: "address",
+ },
+ {
+ indexed: false,
+ internalType: "uint256",
+ name: "value",
+ type: "uint256",
+ },
+ {
+ indexed: false,
+ internalType: "uint256",
+ name: "nonce",
+ type: "uint256",
+ },
+ ],
+ name: "Withdraw",
+ type: "event",
+ },
+ {
+ inputs: [{ internalType: "bytes", name: "init", type: "bytes" }],
+ name: "createEVM",
+ outputs: [{ internalType: "bytes20", name: "", type: "bytes20" }],
+ stateMutability: "payable",
+ type: "function",
+ },
+ {
+ inputs: [{ internalType: "bytes20", name: "to", type: "bytes20" }],
+ name: "transferEVM",
+ outputs: [{ internalType: "bytes", name: "output", type: "bytes" }],
+ stateMutability: "payable",
+ type: "function",
+ },
+ {
+ inputs: [
+ { internalType: "bytes20", name: "to", type: "bytes20" },
+ { internalType: "bytes", name: "data", type: "bytes" },
+ ],
+ name: "callEVM",
+ outputs: [{ internalType: "bytes", name: "output", type: "bytes" }],
+ stateMutability: "payable",
+ type: "function",
+ },
+ {
+ inputs: [
+ { internalType: "bytes20", name: "to", type: "bytes20" },
+ { internalType: "bytes", name: "data", type: "bytes" },
+ ],
+ name: "staticCallEVM",
+ outputs: [{ internalType: "bytes", name: "output", type: "bytes" }],
+ stateMutability: "view",
+ type: "function",
+ },
+ {
+ inputs: [],
+ name: "deployEip1820",
+ outputs: [],
+ stateMutability: "nonpayable",
+ type: "function",
+ },
+ {
+ inputs: [{ internalType: "uint256", name: "value", type: "uint256" }],
+ name: "withdrawFromMapped",
+ outputs: [],
+ stateMutability: "nonpayable",
+ type: "function",
+ },
+ {
+ inputs: [{ internalType: "address", name: "addr", type: "address" }],
+ name: "mappedBalance",
+ outputs: [{ internalType: "uint256", name: "", type: "uint256" }],
+ stateMutability: "view",
+ type: "function",
+ },
+ {
+ inputs: [{ internalType: "address", name: "addr", type: "address" }],
+ name: "mappedNonce",
+ outputs: [{ internalType: "uint256", name: "", type: "uint256" }],
+ stateMutability: "view",
+ type: "function",
+ },
+];
+
+export default CrossSpaceCallAbi;
diff --git a/packages/plugin-conflux/src/abi/erc20.ts b/packages/plugin-conflux/src/abi/erc20.ts
new file mode 100644
index 00000000000..fa3a4262668
--- /dev/null
+++ b/packages/plugin-conflux/src/abi/erc20.ts
@@ -0,0 +1,119 @@
+const ERC20ABI = [
+ {
+ constant: true,
+ inputs: [],
+ name: 'name',
+ outputs: [{ name: '', type: 'string' }],
+ payable: false,
+ stateMutability: 'view',
+ type: 'function',
+ },
+ {
+ constant: false,
+ inputs: [
+ { name: '_spender', type: 'address' },
+ { name: '_value', type: 'uint256' },
+ ],
+ name: 'approve',
+ outputs: [{ name: '', type: 'bool' }],
+ payable: false,
+ stateMutability: 'view',
+ type: 'function',
+ },
+ {
+ constant: true,
+ inputs: [],
+ name: 'totalSupply',
+ outputs: [{ name: '', type: 'uint256' }],
+ payable: false,
+ stateMutability: 'view',
+ type: 'function',
+ },
+ {
+ constant: false,
+ inputs: [
+ { name: '_from', type: 'address' },
+ { name: '_to', type: 'address' },
+ { name: '_value', type: 'uint256' },
+ ],
+ name: 'transferFrom',
+ outputs: [{ name: '', type: 'bool' }],
+ payable: false,
+ stateMutability: 'nonpayable',
+ type: 'function',
+ },
+ {
+ constant: true,
+ inputs: [],
+ name: 'decimals',
+ outputs: [{ name: '', type: 'uint8' }],
+ payable: false,
+ stateMutability: 'view',
+ type: 'function',
+ },
+ {
+ constant: true,
+ inputs: [{ name: '_owner', type: 'address' }],
+ name: 'balanceOf',
+ outputs: [{ name: 'balance', type: 'uint256' }],
+ payable: false,
+ stateMutability: 'view',
+ type: 'function',
+ },
+ {
+ constant: true,
+ inputs: [],
+ name: 'symbol',
+ outputs: [{ name: '', type: 'string' }],
+ payable: false,
+ stateMutability: 'view',
+ type: 'function',
+ },
+ {
+ constant: false,
+ inputs: [
+ { name: '_to', type: 'address' },
+ { name: '_value', type: 'uint256' },
+ ],
+ name: 'transfer',
+ outputs: [{ name: '', type: 'bool' }],
+ payable: false,
+ stateMutability: 'nonpayable',
+ type: 'function',
+ },
+ {
+ constant: true,
+ inputs: [
+ { name: '_owner', type: 'address' },
+ { name: '_spender', type: 'address' },
+ ],
+ name: 'allowance',
+ outputs: [{ name: '', type: 'uint256' }],
+ payable: false,
+ stateMutability: 'view',
+ type: 'function',
+ },
+ { payable: true, stateMutability: 'payable', type: 'fallback' },
+ {
+ anonymous: false,
+ inputs: [
+ { indexed: true, name: 'owner', type: 'address' },
+ { indexed: true, name: 'spender', type: 'address' },
+ { indexed: false, name: 'value', type: 'uint256' },
+ ],
+ name: 'Approval',
+ type: 'event',
+ },
+ {
+ anonymous: false,
+ inputs: [
+ { indexed: true, name: 'from', type: 'address' },
+ { indexed: true, name: 'to', type: 'address' },
+ { indexed: false, name: 'value', type: 'uint256' },
+ ],
+ name: 'Transfer',
+ type: 'event',
+ },
+] as const;
+
+export default ERC20ABI;
\ No newline at end of file
diff --git a/packages/plugin-conflux/src/abi/meme.ts b/packages/plugin-conflux/src/abi/meme.ts
new file mode 100644
index 00000000000..0a1e5044154
--- /dev/null
+++ b/packages/plugin-conflux/src/abi/meme.ts
@@ -0,0 +1,1671 @@
+const MEMEABI = [
+ {
+ inputs: [
+ {
+ components: [
+ {
+ internalType: "address",
+ name: "tokenImpl_",
+ type: "address",
+ },
+ {
+ internalType: "address",
+ name: "tokenImplV2_",
+ type: "address",
+ },
+ {
+ internalType: "uint256",
+ name: "feeRate_",
+ type: "uint256",
+ },
+ {
+ internalType: "address",
+ name: "feeReceiver_",
+ type: "address",
+ },
+ {
+ internalType: "address",
+ name: "dexLauncher_",
+ type: "address",
+ },
+ {
+ internalType: "enum IConfiPumpTypes.DexThreshType",
+ name: "defaultDexThreshType_",
+ type: "uint8",
+ },
+ {
+ internalType: "enum IConfiPumpTypes.CurveType",
+ name: "defaultCurveType_",
+ type: "uint8",
+ },
+ {
+ internalType: "enum IConfiPumpTypes.TokenVersion",
+ name: "defaultTokenVersion_",
+ type: "uint8",
+ },
+ {
+ internalType: "address",
+ name: "v2Factory_",
+ type: "address",
+ },
+ {
+ internalType: "bytes32",
+ name: "v2InitCodeHash_",
+ type: "bytes32",
+ },
+ {
+ internalType: "address",
+ name: "weth_",
+ type: "address",
+ },
+ {
+ internalType: "uint256",
+ name: "creation_fee_",
+ type: "uint256",
+ },
+ {
+ internalType: "uint256",
+ name: "lpEth_",
+ type: "uint256",
+ },
+ {
+ internalType: "uint256",
+ name: "lpEthTokenCreator_",
+ type: "uint256",
+ },
+ ],
+ internalType: "struct ConfiPumpBase.ConfiPumpInitParams",
+ name: "params",
+ type: "tuple",
+ },
+ ],
+ stateMutability: "nonpayable",
+ type: "constructor",
+ },
+ {
+ inputs: [
+ {
+ internalType: "uint256",
+ name: "actualAmount",
+ type: "uint256",
+ },
+ {
+ internalType: "uint256",
+ name: "amount1",
+ type: "uint256",
+ },
+ ],
+ name: "ActualAmountMustLTEAmount",
+ type: "error",
+ },
+ {
+ inputs: [
+ {
+ internalType: "uint256",
+ name: "amount",
+ type: "uint256",
+ },
+ ],
+ name: "AmountTooSmall",
+ type: "error",
+ },
+ {
+ inputs: [],
+ name: "CallReverted",
+ type: "error",
+ },
+ {
+ inputs: [],
+ name: "FeatureDisabled",
+ type: "error",
+ },
+ {
+ inputs: [],
+ name: "GameNotLive",
+ type: "error",
+ },
+ {
+ inputs: [],
+ name: "GameNotPaused",
+ type: "error",
+ },
+ {
+ inputs: [],
+ name: "GameNotPending",
+ type: "error",
+ },
+ {
+ inputs: [],
+ name: "GameNotStarted",
+ type: "error",
+ },
+ {
+ inputs: [],
+ name: "InvalidDEXSupplyThreshold",
+ type: "error",
+ },
+ {
+ inputs: [
+ {
+ internalType: "uint256",
+ name: "threshold",
+ type: "uint256",
+ },
+ ],
+ name: "InvalidDexThreshold",
+ type: "error",
+ },
+ {
+ inputs: [
+ {
+ internalType: "enum IConfiPumpTypes.DexThreshType",
+ name: "threshold",
+ type: "uint8",
+ },
+ ],
+ name: "InvalidDexThresholdType",
+ type: "error",
+ },
+ {
+ inputs: [],
+ name: "InvalidGameSupplyThreshold",
+ type: "error",
+ },
+ {
+ inputs: [],
+ name: "InvalidLocks",
+ type: "error",
+ },
+ {
+ inputs: [
+ {
+ internalType: "uint256",
+ name: "expected",
+ type: "uint256",
+ },
+ {
+ internalType: "uint256",
+ name: "actual",
+ type: "uint256",
+ },
+ ],
+ name: "InvalidPiggybackLength",
+ type: "error",
+ },
+ {
+ inputs: [
+ {
+ internalType: "uint256",
+ name: "id",
+ type: "uint256",
+ },
+ ],
+ name: "InvalidRoundID",
+ type: "error",
+ },
+ {
+ inputs: [
+ {
+ internalType: "address",
+ name: "signer",
+ type: "address",
+ },
+ ],
+ name: "InvalidSigner",
+ type: "error",
+ },
+ {
+ inputs: [
+ {
+ internalType: "address",
+ name: "token",
+ type: "address",
+ },
+ ],
+ name: "InvalidTokenForBattle",
+ type: "error",
+ },
+ {
+ inputs: [
+ {
+ internalType: "address",
+ name: "token",
+ type: "address",
+ },
+ {
+ internalType: "enum IConfiPumpTypes.TokenMode",
+ name: "mode",
+ type: "uint8",
+ },
+ ],
+ name: "InvalidTokenModeForGame",
+ type: "error",
+ },
+ {
+ inputs: [
+ {
+ internalType: "address",
+ name: "token",
+ type: "address",
+ },
+ {
+ internalType: "enum IConfiPumpTypes.TokenMode",
+ name: "from",
+ type: "uint8",
+ },
+ {
+ internalType: "enum IConfiPumpTypes.TokenMode",
+ name: "to",
+ type: "uint8",
+ },
+ ],
+ name: "InvalidTokenModeTransition",
+ type: "error",
+ },
+ {
+ inputs: [],
+ name: "LastRoundNotResolved",
+ type: "error",
+ },
+ {
+ inputs: [
+ {
+ internalType: "address",
+ name: "expected",
+ type: "address",
+ },
+ {
+ internalType: "address",
+ name: "actual",
+ type: "address",
+ },
+ ],
+ name: "MismatchedAddressInProof",
+ type: "error",
+ },
+ {
+ inputs: [
+ {
+ internalType: "address",
+ name: "srcToken",
+ type: "address",
+ },
+ {
+ internalType: "address",
+ name: "dstToken",
+ type: "address",
+ },
+ ],
+ name: "NoConversionPath",
+ type: "error",
+ },
+ {
+ inputs: [
+ {
+ internalType: "uint256",
+ name: "created",
+ type: "uint256",
+ },
+ {
+ internalType: "uint256",
+ name: "max",
+ type: "uint256",
+ },
+ ],
+ name: "NoQuotaForCreator",
+ type: "error",
+ },
+ {
+ inputs: [
+ {
+ internalType: "address",
+ name: "collection",
+ type: "address",
+ },
+ ],
+ name: "NonPositionNFTReceived",
+ type: "error",
+ },
+ {
+ inputs: [],
+ name: "NotImplemented",
+ type: "error",
+ },
+ {
+ inputs: [],
+ name: "NotRoller",
+ type: "error",
+ },
+ {
+ inputs: [
+ {
+ internalType: "address",
+ name: "sender",
+ type: "address",
+ },
+ ],
+ name: "NotUniswapV3Pool",
+ type: "error",
+ },
+ {
+ inputs: [],
+ name: "PermissionlessCreateDisabled",
+ type: "error",
+ },
+ {
+ inputs: [
+ {
+ internalType: "uint160",
+ name: "sqrtPriceA",
+ type: "uint160",
+ },
+ {
+ internalType: "uint160",
+ name: "sqrtPriceB",
+ type: "uint160",
+ },
+ ],
+ name: "PriceAMustLTPriceB",
+ type: "error",
+ },
+ {
+ inputs: [],
+ name: "ProtocolDisabled",
+ type: "error",
+ },
+ {
+ inputs: [
+ {
+ internalType: "uint256",
+ name: "requiredToken",
+ type: "uint256",
+ },
+ {
+ internalType: "uint256",
+ name: "reserveToken",
+ type: "uint256",
+ },
+ ],
+ name: "RequiredTokenMustLTE",
+ type: "error",
+ },
+ {
+ inputs: [
+ {
+ internalType: "uint256",
+ name: "id",
+ type: "uint256",
+ },
+ ],
+ name: "RoundNotFound",
+ type: "error",
+ },
+ {
+ inputs: [
+ {
+ internalType: "address",
+ name: "tokenA",
+ type: "address",
+ },
+ ],
+ name: "SameToken",
+ type: "error",
+ },
+ {
+ inputs: [
+ {
+ internalType: "uint256",
+ name: "seq",
+ type: "uint256",
+ },
+ ],
+ name: "SeqNotFound",
+ type: "error",
+ },
+ {
+ inputs: [
+ {
+ internalType: "uint256",
+ name: "actualAmount",
+ type: "uint256",
+ },
+ {
+ internalType: "uint256",
+ name: "minAmount",
+ type: "uint256",
+ },
+ ],
+ name: "SlippageTooHigh",
+ type: "error",
+ },
+ {
+ inputs: [],
+ name: "StakingDisabled",
+ type: "error",
+ },
+ {
+ inputs: [
+ {
+ internalType: "uint256",
+ name: "newSupply",
+ type: "uint256",
+ },
+ ],
+ name: "SupplyExceedsTotalSupply",
+ type: "error",
+ },
+ {
+ inputs: [
+ {
+ internalType: "address",
+ name: "token",
+ type: "address",
+ },
+ ],
+ name: "TokenAlreadyDEXed",
+ type: "error",
+ },
+ {
+ inputs: [
+ {
+ internalType: "address",
+ name: "token",
+ type: "address",
+ },
+ ],
+ name: "TokenAlreadyInGame",
+ type: "error",
+ },
+ {
+ inputs: [
+ {
+ internalType: "address",
+ name: "token",
+ type: "address",
+ },
+ ],
+ name: "TokenInDuel",
+ type: "error",
+ },
+ {
+ inputs: [
+ {
+ internalType: "address",
+ name: "token",
+ type: "address",
+ },
+ ],
+ name: "TokenKilled",
+ type: "error",
+ },
+ {
+ inputs: [
+ {
+ internalType: "address",
+ name: "token",
+ type: "address",
+ },
+ ],
+ name: "TokenNotDEXed",
+ type: "error",
+ },
+ {
+ inputs: [
+ {
+ internalType: "address",
+ name: "token",
+ type: "address",
+ },
+ ],
+ name: "TokenNotFound",
+ type: "error",
+ },
+ {
+ inputs: [
+ {
+ internalType: "address",
+ name: "token",
+ type: "address",
+ },
+ ],
+ name: "TokenNotKilled",
+ type: "error",
+ },
+ {
+ inputs: [
+ {
+ internalType: "address",
+ name: "token",
+ type: "address",
+ },
+ ],
+ name: "TokenNotTradable",
+ type: "error",
+ },
+ {
+ inputs: [],
+ name: "TradeDisabled",
+ type: "error",
+ },
+ {
+ inputs: [
+ {
+ internalType: "address",
+ name: "pool",
+ type: "address",
+ },
+ {
+ internalType: "uint256",
+ name: "liquidity",
+ type: "uint256",
+ },
+ ],
+ name: "UniswapV2PoolNotZero",
+ type: "error",
+ },
+ {
+ inputs: [],
+ name: "UniswapV3Slot0Failed",
+ type: "error",
+ },
+ {
+ inputs: [
+ {
+ internalType: "uint256",
+ name: "next",
+ type: "uint256",
+ },
+ ],
+ name: "cannotCheckInUntil",
+ type: "error",
+ },
+ {
+ anonymous: false,
+ inputs: [
+ {
+ indexed: false,
+ internalType: "uint256",
+ name: "oldFlags",
+ type: "uint256",
+ },
+ {
+ indexed: false,
+ internalType: "uint256",
+ name: "newFlags",
+ type: "uint256",
+ },
+ ],
+ name: "BitFlagsChanged",
+ type: "event",
+ },
+ {
+ anonymous: false,
+ inputs: [
+ {
+ indexed: false,
+ internalType: "address",
+ name: "user",
+ type: "address",
+ },
+ ],
+ name: "CheckedIn",
+ type: "event",
+ },
+ {
+ anonymous: false,
+ inputs: [
+ {
+ indexed: false,
+ internalType: "address",
+ name: "token",
+ type: "address",
+ },
+ {
+ indexed: false,
+ internalType: "uint256",
+ name: "newSupply",
+ type: "uint256",
+ },
+ ],
+ name: "FlapTokenCirculatingSupplyChanged",
+ type: "event",
+ },
+ {
+ anonymous: false,
+ inputs: [
+ {
+ indexed: false,
+ internalType: "uint8",
+ name: "version",
+ type: "uint8",
+ },
+ ],
+ name: "Initialized",
+ type: "event",
+ },
+ {
+ anonymous: false,
+ inputs: [
+ {
+ indexed: false,
+ internalType: "address",
+ name: "token",
+ type: "address",
+ },
+ {
+ indexed: false,
+ internalType: "address",
+ name: "pool",
+ type: "address",
+ },
+ {
+ indexed: false,
+ internalType: "uint256",
+ name: "amount",
+ type: "uint256",
+ },
+ {
+ indexed: false,
+ internalType: "uint256",
+ name: "eth",
+ type: "uint256",
+ },
+ ],
+ name: "LaunchedToDEX",
+ type: "event",
+ },
+ {
+ anonymous: false,
+ inputs: [
+ {
+ indexed: true,
+ internalType: "bytes32",
+ name: "role",
+ type: "bytes32",
+ },
+ {
+ indexed: true,
+ internalType: "bytes32",
+ name: "previousAdminRole",
+ type: "bytes32",
+ },
+ {
+ indexed: true,
+ internalType: "bytes32",
+ name: "newAdminRole",
+ type: "bytes32",
+ },
+ ],
+ name: "RoleAdminChanged",
+ type: "event",
+ },
+ {
+ anonymous: false,
+ inputs: [
+ {
+ indexed: true,
+ internalType: "bytes32",
+ name: "role",
+ type: "bytes32",
+ },
+ {
+ indexed: true,
+ internalType: "address",
+ name: "account",
+ type: "address",
+ },
+ {
+ indexed: true,
+ internalType: "address",
+ name: "sender",
+ type: "address",
+ },
+ ],
+ name: "RoleGranted",
+ type: "event",
+ },
+ {
+ anonymous: false,
+ inputs: [
+ {
+ indexed: true,
+ internalType: "bytes32",
+ name: "role",
+ type: "bytes32",
+ },
+ {
+ indexed: true,
+ internalType: "address",
+ name: "account",
+ type: "address",
+ },
+ {
+ indexed: true,
+ internalType: "address",
+ name: "sender",
+ type: "address",
+ },
+ ],
+ name: "RoleRevoked",
+ type: "event",
+ },
+ {
+ anonymous: false,
+ inputs: [
+ {
+ indexed: false,
+ internalType: "uint256",
+ name: "ts",
+ type: "uint256",
+ },
+ {
+ indexed: false,
+ internalType: "address",
+ name: "token",
+ type: "address",
+ },
+ {
+ indexed: false,
+ internalType: "address",
+ name: "buyer",
+ type: "address",
+ },
+ {
+ indexed: false,
+ internalType: "uint256",
+ name: "amount",
+ type: "uint256",
+ },
+ {
+ indexed: false,
+ internalType: "uint256",
+ name: "eth",
+ type: "uint256",
+ },
+ {
+ indexed: false,
+ internalType: "uint256",
+ name: "fee",
+ type: "uint256",
+ },
+ {
+ indexed: false,
+ internalType: "uint256",
+ name: "postPrice",
+ type: "uint256",
+ },
+ ],
+ name: "TokenBought",
+ type: "event",
+ },
+ {
+ anonymous: false,
+ inputs: [
+ {
+ indexed: false,
+ internalType: "uint256",
+ name: "ts",
+ type: "uint256",
+ },
+ {
+ indexed: false,
+ internalType: "address",
+ name: "creator",
+ type: "address",
+ },
+ {
+ indexed: false,
+ internalType: "uint256",
+ name: "nonce",
+ type: "uint256",
+ },
+ {
+ indexed: false,
+ internalType: "address",
+ name: "token",
+ type: "address",
+ },
+ {
+ indexed: false,
+ internalType: "string",
+ name: "name",
+ type: "string",
+ },
+ {
+ indexed: false,
+ internalType: "string",
+ name: "symbol",
+ type: "string",
+ },
+ {
+ indexed: false,
+ internalType: "string",
+ name: "meta",
+ type: "string",
+ },
+ ],
+ name: "TokenCreated",
+ type: "event",
+ },
+ {
+ anonymous: false,
+ inputs: [
+ {
+ indexed: false,
+ internalType: "address",
+ name: "token",
+ type: "address",
+ },
+ {
+ indexed: false,
+ internalType: "address",
+ name: "curve",
+ type: "address",
+ },
+ {
+ indexed: false,
+ internalType: "uint256",
+ name: "curveParameter",
+ type: "uint256",
+ },
+ ],
+ name: "TokenCurveSet",
+ type: "event",
+ },
+ {
+ anonymous: false,
+ inputs: [
+ {
+ indexed: false,
+ internalType: "address",
+ name: "token",
+ type: "address",
+ },
+ {
+ indexed: false,
+ internalType: "uint256",
+ name: "dexSupplyThresh",
+ type: "uint256",
+ },
+ ],
+ name: "TokenDexSupplyThreshSet",
+ type: "event",
+ },
+ {
+ anonymous: false,
+ inputs: [
+ {
+ indexed: false,
+ internalType: "uint256",
+ name: "ts",
+ type: "uint256",
+ },
+ {
+ indexed: false,
+ internalType: "address",
+ name: "srcToken",
+ type: "address",
+ },
+ {
+ indexed: false,
+ internalType: "address",
+ name: "dstToken",
+ type: "address",
+ },
+ {
+ indexed: false,
+ internalType: "uint256",
+ name: "srcAmount",
+ type: "uint256",
+ },
+ {
+ indexed: false,
+ internalType: "uint256",
+ name: "dstAmount",
+ type: "uint256",
+ },
+ {
+ indexed: false,
+ internalType: "address",
+ name: "who",
+ type: "address",
+ },
+ ],
+ name: "TokenRedeemed",
+ type: "event",
+ },
+ {
+ anonymous: false,
+ inputs: [
+ {
+ indexed: false,
+ internalType: "uint256",
+ name: "ts",
+ type: "uint256",
+ },
+ {
+ indexed: false,
+ internalType: "address",
+ name: "token",
+ type: "address",
+ },
+ {
+ indexed: false,
+ internalType: "address",
+ name: "seller",
+ type: "address",
+ },
+ {
+ indexed: false,
+ internalType: "uint256",
+ name: "amount",
+ type: "uint256",
+ },
+ {
+ indexed: false,
+ internalType: "uint256",
+ name: "eth",
+ type: "uint256",
+ },
+ {
+ indexed: false,
+ internalType: "uint256",
+ name: "fee",
+ type: "uint256",
+ },
+ {
+ indexed: false,
+ internalType: "uint256",
+ name: "postPrice",
+ type: "uint256",
+ },
+ ],
+ name: "TokenSold",
+ type: "event",
+ },
+ {
+ anonymous: false,
+ inputs: [
+ {
+ indexed: false,
+ internalType: "address",
+ name: "token",
+ type: "address",
+ },
+ {
+ indexed: false,
+ internalType: "enum IConfiPumpTypes.TokenVersion",
+ name: "version",
+ type: "uint8",
+ },
+ ],
+ name: "TokenVersionSet",
+ type: "event",
+ },
+ {
+ stateMutability: "nonpayable",
+ type: "fallback",
+ },
+ {
+ inputs: [],
+ name: "DEFAULT_ADMIN_ROLE",
+ outputs: [
+ {
+ internalType: "bytes32",
+ name: "",
+ type: "bytes32",
+ },
+ ],
+ stateMutability: "view",
+ type: "function",
+ },
+ {
+ inputs: [
+ {
+ internalType: "address",
+ name: "token",
+ type: "address",
+ },
+ {
+ internalType: "address",
+ name: "recipient",
+ type: "address",
+ },
+ {
+ internalType: "uint256",
+ name: "minAmount",
+ type: "uint256",
+ },
+ {
+ internalType: "bool",
+ name: "isCreator",
+ type: "bool",
+ },
+ ],
+ name: "buy",
+ outputs: [
+ {
+ internalType: "uint256",
+ name: "",
+ type: "uint256",
+ },
+ ],
+ stateMutability: "payable",
+ type: "function",
+ },
+ {
+ inputs: [],
+ name: "checkIn",
+ outputs: [],
+ stateMutability: "nonpayable",
+ type: "function",
+ },
+ {
+ inputs: [
+ {
+ internalType: "bytes32",
+ name: "role",
+ type: "bytes32",
+ },
+ ],
+ name: "getRoleAdmin",
+ outputs: [
+ {
+ internalType: "bytes32",
+ name: "",
+ type: "bytes32",
+ },
+ ],
+ stateMutability: "view",
+ type: "function",
+ },
+ {
+ inputs: [
+ {
+ internalType: "address",
+ name: "token",
+ type: "address",
+ },
+ ],
+ name: "getToken",
+ outputs: [
+ {
+ components: [
+ {
+ internalType: "enum IConfiPumpTypes.TokenStatus",
+ name: "status",
+ type: "uint8",
+ },
+ {
+ internalType: "uint256",
+ name: "reserve",
+ type: "uint256",
+ },
+ {
+ internalType: "uint256",
+ name: "circulatingSupply",
+ type: "uint256",
+ },
+ {
+ internalType: "uint256",
+ name: "price",
+ type: "uint256",
+ },
+ {
+ internalType: "bool",
+ name: "inGame",
+ type: "bool",
+ },
+ {
+ internalType: "uint256",
+ name: "seqInGame",
+ type: "uint256",
+ },
+ ],
+ internalType: "struct IConfiPumpTypes.TokenState",
+ name: "",
+ type: "tuple",
+ },
+ ],
+ stateMutability: "view",
+ type: "function",
+ },
+ {
+ inputs: [
+ {
+ internalType: "address",
+ name: "token",
+ type: "address",
+ },
+ ],
+ name: "getTokenEx",
+ outputs: [
+ {
+ components: [
+ {
+ internalType: "enum IConfiPumpTypes.TokenStatus",
+ name: "status",
+ type: "uint8",
+ },
+ {
+ internalType: "uint256",
+ name: "reserve",
+ type: "uint256",
+ },
+ {
+ internalType: "uint256",
+ name: "circulatingSupply",
+ type: "uint256",
+ },
+ {
+ internalType: "uint256",
+ name: "price",
+ type: "uint256",
+ },
+ {
+ internalType: "bool",
+ name: "inGame",
+ type: "bool",
+ },
+ {
+ internalType: "uint256",
+ name: "seqInGame",
+ type: "uint256",
+ },
+ {
+ internalType: "enum IConfiPumpTypes.TokenMode",
+ name: "mode",
+ type: "uint8",
+ },
+ ],
+ internalType: "struct IConfiPumpTypes.TokenStateEx",
+ name: "",
+ type: "tuple",
+ },
+ ],
+ stateMutability: "view",
+ type: "function",
+ },
+ {
+ inputs: [
+ {
+ internalType: "address",
+ name: "token",
+ type: "address",
+ },
+ ],
+ name: "getTokenV2",
+ outputs: [
+ {
+ components: [
+ {
+ internalType: "enum IConfiPumpTypes.TokenStatus",
+ name: "status",
+ type: "uint8",
+ },
+ {
+ internalType: "uint256",
+ name: "reserve",
+ type: "uint256",
+ },
+ {
+ internalType: "uint256",
+ name: "circulatingSupply",
+ type: "uint256",
+ },
+ {
+ internalType: "uint256",
+ name: "price",
+ type: "uint256",
+ },
+ {
+ internalType: "enum IConfiPumpTypes.TokenVersion",
+ name: "tokenVersion",
+ type: "uint8",
+ },
+ {
+ internalType: "uint256",
+ name: "r",
+ type: "uint256",
+ },
+ {
+ internalType: "uint256",
+ name: "dexSupplyThresh",
+ type: "uint256",
+ },
+ ],
+ internalType: "struct IConfiPumpTypes.TokenStateV2",
+ name: "state",
+ type: "tuple",
+ },
+ ],
+ stateMutability: "view",
+ type: "function",
+ },
+ {
+ inputs: [
+ {
+ internalType: "bytes32",
+ name: "role",
+ type: "bytes32",
+ },
+ {
+ internalType: "address",
+ name: "account",
+ type: "address",
+ },
+ ],
+ name: "grantRole",
+ outputs: [],
+ stateMutability: "nonpayable",
+ type: "function",
+ },
+ {
+ inputs: [
+ {
+ internalType: "bytes32",
+ name: "role",
+ type: "bytes32",
+ },
+ {
+ internalType: "address",
+ name: "account",
+ type: "address",
+ },
+ ],
+ name: "hasRole",
+ outputs: [
+ {
+ internalType: "bool",
+ name: "",
+ type: "bool",
+ },
+ ],
+ stateMutability: "view",
+ type: "function",
+ },
+ {
+ inputs: [
+ {
+ internalType: "address",
+ name: "admin",
+ type: "address",
+ },
+ ],
+ name: "initialize",
+ outputs: [],
+ stateMutability: "nonpayable",
+ type: "function",
+ },
+ {
+ inputs: [
+ {
+ internalType: "address",
+ name: "account",
+ type: "address",
+ },
+ ],
+ name: "lastCheckIn",
+ outputs: [
+ {
+ internalType: "uint256",
+ name: "",
+ type: "uint256",
+ },
+ ],
+ stateMutability: "view",
+ type: "function",
+ },
+ {
+ inputs: [
+ {
+ internalType: "string",
+ name: "name",
+ type: "string",
+ },
+ {
+ internalType: "string",
+ name: "symbol",
+ type: "string",
+ },
+ {
+ internalType: "string",
+ name: "meta",
+ type: "string",
+ },
+ ],
+ name: "newToken",
+ outputs: [
+ {
+ internalType: "address",
+ name: "token",
+ type: "address",
+ },
+ ],
+ stateMutability: "payable",
+ type: "function",
+ },
+ {
+ inputs: [
+ {
+ internalType: "string",
+ name: "name",
+ type: "string",
+ },
+ {
+ internalType: "string",
+ name: "symbol",
+ type: "string",
+ },
+ {
+ internalType: "string",
+ name: "meta",
+ type: "string",
+ },
+ ],
+ name: "newTokenNoDuel",
+ outputs: [
+ {
+ internalType: "address",
+ name: "token",
+ type: "address",
+ },
+ ],
+ stateMutability: "payable",
+ type: "function",
+ },
+ {
+ inputs: [
+ {
+ internalType: "string",
+ name: "name",
+ type: "string",
+ },
+ {
+ internalType: "string",
+ name: "symbol",
+ type: "string",
+ },
+ {
+ internalType: "string",
+ name: "meta",
+ type: "string",
+ },
+ {
+ internalType: "enum IConfiPumpTypes.DexThreshType",
+ name: "dexTreshType",
+ type: "uint8",
+ },
+ ],
+ name: "newTokenWithDexSupplyThresh",
+ outputs: [
+ {
+ internalType: "address",
+ name: "token",
+ type: "address",
+ },
+ ],
+ stateMutability: "payable",
+ type: "function",
+ },
+ {
+ inputs: [],
+ name: "nonce",
+ outputs: [
+ {
+ internalType: "uint256",
+ name: "",
+ type: "uint256",
+ },
+ ],
+ stateMutability: "view",
+ type: "function",
+ },
+ {
+ inputs: [
+ {
+ internalType: "address",
+ name: "token",
+ type: "address",
+ },
+ {
+ internalType: "uint256",
+ name: "eth",
+ type: "uint256",
+ },
+ ],
+ name: "previewBuy",
+ outputs: [
+ {
+ internalType: "uint256",
+ name: "amount",
+ type: "uint256",
+ },
+ ],
+ stateMutability: "view",
+ type: "function",
+ },
+ {
+ inputs: [
+ {
+ internalType: "address",
+ name: "srcToken",
+ type: "address",
+ },
+ {
+ internalType: "address",
+ name: "dstToken",
+ type: "address",
+ },
+ {
+ internalType: "uint256",
+ name: "srcAmount",
+ type: "uint256",
+ },
+ ],
+ name: "previewRedeem",
+ outputs: [
+ {
+ internalType: "uint256",
+ name: "dstAmount",
+ type: "uint256",
+ },
+ ],
+ stateMutability: "view",
+ type: "function",
+ },
+ {
+ inputs: [
+ {
+ internalType: "address",
+ name: "token",
+ type: "address",
+ },
+ {
+ internalType: "uint256",
+ name: "amount",
+ type: "uint256",
+ },
+ ],
+ name: "previewSell",
+ outputs: [
+ {
+ internalType: "uint256",
+ name: "eth",
+ type: "uint256",
+ },
+ ],
+ stateMutability: "view",
+ type: "function",
+ },
+ {
+ inputs: [
+ {
+ internalType: "address",
+ name: "srcToken",
+ type: "address",
+ },
+ {
+ internalType: "address",
+ name: "dstToken",
+ type: "address",
+ },
+ {
+ internalType: "uint256",
+ name: "srcAmount",
+ type: "uint256",
+ },
+ ],
+ name: "redeem",
+ outputs: [
+ {
+ internalType: "uint256",
+ name: "dstAmount",
+ type: "uint256",
+ },
+ ],
+ stateMutability: "nonpayable",
+ type: "function",
+ },
+ {
+ inputs: [
+ {
+ internalType: "bytes32",
+ name: "role",
+ type: "bytes32",
+ },
+ {
+ internalType: "address",
+ name: "account",
+ type: "address",
+ },
+ ],
+ name: "renounceRole",
+ outputs: [],
+ stateMutability: "nonpayable",
+ type: "function",
+ },
+ {
+ inputs: [
+ {
+ internalType: "bytes32",
+ name: "role",
+ type: "bytes32",
+ },
+ {
+ internalType: "address",
+ name: "account",
+ type: "address",
+ },
+ ],
+ name: "revokeRole",
+ outputs: [],
+ stateMutability: "nonpayable",
+ type: "function",
+ },
+ {
+ inputs: [
+ {
+ internalType: "address",
+ name: "token",
+ type: "address",
+ },
+ {
+ internalType: "uint256",
+ name: "amount",
+ type: "uint256",
+ },
+ {
+ internalType: "uint256",
+ name: "minEth",
+ type: "uint256",
+ },
+ ],
+ name: "sell",
+ outputs: [
+ {
+ internalType: "uint256",
+ name: "",
+ type: "uint256",
+ },
+ ],
+ stateMutability: "nonpayable",
+ type: "function",
+ },
+ {
+ inputs: [
+ {
+ internalType: "uint256",
+ name: "flags",
+ type: "uint256",
+ },
+ ],
+ name: "setBitFlags",
+ outputs: [],
+ stateMutability: "nonpayable",
+ type: "function",
+ },
+ {
+ inputs: [
+ {
+ internalType: "bytes4",
+ name: "interfaceId",
+ type: "bytes4",
+ },
+ ],
+ name: "supportsInterface",
+ outputs: [
+ {
+ internalType: "bool",
+ name: "",
+ type: "bool",
+ },
+ ],
+ stateMutability: "view",
+ type: "function",
+ },
+ {
+ inputs: [
+ {
+ internalType: "address",
+ name: "",
+ type: "address",
+ },
+ ],
+ name: "tokenCreators",
+ outputs: [
+ {
+ internalType: "address",
+ name: "",
+ type: "address",
+ },
+ ],
+ stateMutability: "view",
+ type: "function",
+ },
+ {
+ inputs: [
+ {
+ internalType: "address",
+ name: "",
+ type: "address",
+ },
+ ],
+ name: "tokenCreatorsFeeBalance",
+ outputs: [
+ {
+ internalType: "uint256",
+ name: "",
+ type: "uint256",
+ },
+ ],
+ stateMutability: "view",
+ type: "function",
+ },
+ {
+ stateMutability: "payable",
+ type: "receive",
+ },
+] as const;
+
+export default MEMEABI;
diff --git a/packages/plugin-conflux/src/actions/bridgeTransfer.ts b/packages/plugin-conflux/src/actions/bridgeTransfer.ts
new file mode 100644
index 00000000000..347b8b980e1
--- /dev/null
+++ b/packages/plugin-conflux/src/actions/bridgeTransfer.ts
@@ -0,0 +1,141 @@
+import {
+ Action,
+ IAgentRuntime,
+ Memory,
+ State,
+ HandlerCallback,
+} from "@ai16z/eliza";
+import { generateObjectV2, composeContext, ModelClass, Content } from "@ai16z/eliza";
+import { createPublicClient, createWalletClient, http, parseCFX, encodeFunctionData } from "cive";
+import { hexAddressToBase32 } from "cive/utils";
+import { privateKeyToAccount } from "cive/accounts";
+import { testnet } from "cive/chains";
+import { confluxBridgeTransferTemplate } from "../templates/bridgeTransfer";
+import { TransferSchema, isTransferContent } from "../types";
+import CrossSpaceCallAbi from "../abi/crossSpaceCall";
+
+const bridgeSendCFX = async (
+ secretKey: `0x${string}`,
+ rpcUrl: string,
+ espaceTo: `0x${string}`,
+ amount: string
+) => {
+ const client = createPublicClient({
+ transport: http(rpcUrl),
+ });
+ const networkId = await client.getChainId();
+ const account = privateKeyToAccount(secretKey, { networkId });
+
+ const walletClient = createWalletClient({
+ transport: http(rpcUrl),
+ chain: testnet,
+ });
+
+ const toAddress = hexAddressToBase32({
+ hexAddress: "0x0888000000000000000000000000000000000006",
+ networkId,
+ }); // crossSpaceCall Address
+
+ const hash = await walletClient.sendTransaction({
+ account,
+ to: toAddress,
+ value: parseCFX(amount),
+ chain: testnet,
+ data: encodeFunctionData({
+ abi: CrossSpaceCallAbi,
+ functionName: "transferEVM",
+ args: [espaceTo],
+ }),
+ });
+
+ // await client.waitForTransactionReceipt({
+ // hash,
+ // });
+ return hash;
+};
+
+export const bridgeTransfer: Action = {
+ name: "BRIDGE_SEND_CFX",
+ description:
+ "Bridge transfer CFX from Conflux Core Space to another in Conflux eSpace. The address is a 0x-prefix address",
+ similes: ["BRIDGE_SEND_CONFLUX", "CROSS_SPACE_SEND_CFX", "BRIDGE_TRANSFER_CFX", "CROSS_SPACE_TRANSFER_CFX"],
+ examples: [
+ [
+ {
+ user: "{{user1}}",
+ content: {
+ text: "Send 1 CFX to eSpace Address 0x119DA8bbe74B1C5c987D0c64D10eC1dB301d4752",
+ },
+ },
+ {
+ user: "{{user2}}",
+ content: {
+ text: "1 CFX sent to espace Address 0x119DA8bbe74B1C5c987D0c64D10eC1dB301d4752: 0x1234567890abcdef",
+ content: {
+ to: "0x119DA8bbe74B1C5c987D0c64D10eC1dB301d4752",
+ amount: "1",
+ },
+ },
+ },
+ ],
+ ],
+ validate: async (runtime: IAgentRuntime, message: Memory) => {
+ // no extra validation needed
+ return true;
+ },
+ handler: async (
+ runtime: IAgentRuntime,
+ message: Memory,
+ state?: State,
+ options?: { [key: string]: unknown },
+ callback?: HandlerCallback
+ ) => {
+ if (!state) {
+ state = (await runtime.composeState(message)) as State;
+ } else {
+ state = await runtime.updateRecentMessageState(state);
+ }
+
+ const context = composeContext({
+ state,
+ template: confluxBridgeTransferTemplate,
+ });
+
+ const content = await generateObjectV2({
+ runtime,
+ context,
+ modelClass: ModelClass.SMALL,
+ schema: TransferSchema,
+ });
+
+ if (!isTransferContent(content.object)) {
+ throw new Error("Invalid content");
+ }
+
+ const secretKey = runtime.getSetting("CONFLUX_CORE_PRIVATE_KEY") as `0x${string}`;
+ const rpcUrl = runtime.getSetting("CONFLUX_CORE_SPACE_RPC_URL");
+
+ let success = false;
+
+ try {
+ const hash = await bridgeSendCFX(secretKey, rpcUrl, content.object.to as `0x${string}`, content.object.amount.toString());
+ success = true;
+ if (!callback) {
+ return success;
+ }
+ callback({
+ text: `${content.object.amount} CFX sent to ${content.object.to}: ${hash}`,
+ content: content.object,
+ });
+ } catch (error) {
+ console.error(`Error sending CFX: ${error}`);
+ if (!callback) {
+ return success;
+ }
+ callback({
+ text: `Failed to send ${content.object.amount} CFX to ${content.object.to}: ${error}`,
+ });
+ }
+ return success;
+ },
+};
diff --git a/packages/plugin-conflux/src/actions/confiPump.ts b/packages/plugin-conflux/src/actions/confiPump.ts
new file mode 100644
index 00000000000..a852b96227e
--- /dev/null
+++ b/packages/plugin-conflux/src/actions/confiPump.ts
@@ -0,0 +1,331 @@
+import {
+ Action,
+ IAgentRuntime,
+ Memory,
+ State,
+ HandlerCallback,
+} from "@ai16z/eliza";
+import {
+ generateObjectV2,
+ composeContext,
+ ModelClass,
+} from "@ai16z/eliza";
+import {
+ createPublicClient,
+ createWalletClient,
+ http,
+ parseEther,
+ encodeFunctionData,
+ WalletClient,
+ Account
+} from "viem";
+import { privateKeyToAccount } from "viem/accounts";
+import { confluxESpaceTestnet, confluxESpace } from "viem/chains";
+import { parseUnits, getAddress } from "viem/utils";
+import { confluxTransferTemplate } from "../templates/transfer";
+import {
+ PumpSchema,
+ isPumpContent,
+ isPumpBuyContent,
+ isPumpCreateContent,
+ isPumpSellContent,
+} from "../types";
+import MEMEABI from "../abi/meme";
+import ERC20ABI from "../abi/erc20";
+
+// Helper function to check and approve token allowance if needed
+async function ensureAllowance(
+ walletClient: WalletClient,
+ rpcUrl: string,
+ account: Account,
+ tokenAddress: `0x${string}`,
+ memeAddress: `0x${string}`,
+ amount: bigint
+) {
+ console.log(`Checking allowance: token: ${tokenAddress} meme: ${memeAddress} amount: ${amount}`);
+
+ const publicClient = createPublicClient({
+ transport: http(rpcUrl),
+ chain: confluxESpaceTestnet,
+ });
+
+ const allowance = await publicClient.readContract({
+ address: tokenAddress,
+ abi: ERC20ABI,
+ functionName: "allowance",
+ args: [account.address, memeAddress],
+ });
+
+ console.log("allowance:", allowance);
+
+ if (allowance < amount) {
+ console.log(`allowance(${allowance}) is less than amount(${amount}), approving...`);
+
+ const hash = await walletClient.sendTransaction({
+ account,
+ to: tokenAddress,
+ data: encodeFunctionData({
+ abi: ERC20ABI,
+ functionName: "approve",
+ args: [memeAddress, amount - allowance],
+ }),
+ chain: confluxESpaceTestnet,
+ kzg: null,
+ });
+
+ console.log(`Approving hash: ${hash}`);
+ await publicClient.waitForTransactionReceipt({ hash });
+ console.log(`Approving success: ${hash}`);
+ } else {
+ console.log(`No need to approve`);
+ }
+}
+
+// Main ConfiPump action definition
+export const confiPump: Action = {
+ name: "CONFI_PUMP",
+ description: "Perform actions on ConfiPump, for example create a new token, buy a token, or sell a token.",
+ similes: ["SELL_TOKEN", "BUY_TOKEN", "CREATE_TOKEN"],
+ examples: [
+ // Create token example
+ [
+ {
+ user: "{{user1}}",
+ content: {
+ text: "Create a new token called GLITCHIZA with symbol GLITCHIZA and generate a description about it.",
+ },
+ },
+ {
+ user: "{{user2}}",
+ content: {
+ text: "Token GLITCHIZA (GLITCHIZA) created successfully!\nContract Address: 0x1234567890abcdef\n",
+ action: "CREATE_TOKEN",
+ content: {
+ tokenInfo: {
+ symbol: "GLITCHIZA",
+ address: "EugPwuZ8oUMWsYHeBGERWvELfLGFmA1taDtmY8uMeX6r",
+ creator: "9jW8FPr6BSSsemWPV22UUCzSqkVdTp6HTyPqeqyuBbCa",
+ name: "GLITCHIZA",
+ description: "A GLITCHIZA token",
+ },
+ amount: "1",
+ },
+ },
+ },
+ ],
+ // Buy token example
+ [
+ {
+ user: "{{user1}}",
+ content: {
+ text: "Buy 0.00069 CFX worth of GLITCHIZA(0x1234567890abcdef)",
+ },
+ },
+ {
+ user: "{{user2}}",
+ content: {
+ text: "0.00069 CFX bought successfully!",
+ action: "BUY_TOKEN",
+ content: {
+ address: "0x1234567890abcdef",
+ amount: "0.00069",
+ },
+ },
+ },
+ ],
+ // Sell token example
+ [
+ {
+ user: "{{user1}}",
+ content: {
+ text: "Sell 0.00069 CFX worth of GLITCHIZA(0x1234567890abcdef)",
+ },
+ },
+ {
+ user: "{{user2}}",
+ content: {
+ text: "0.00069 CFX sold successfully: 0x1234567890abcdef",
+ action: "SELL_TOKEN",
+ content: {
+ address: "0x1234567890abcdef",
+ amount: "0.00069",
+ },
+ },
+ },
+ ],
+ ],
+
+ validate: async (runtime: IAgentRuntime, message: Memory) => {
+ return true; // No extra validation needed
+ },
+
+ handler: async (
+ runtime: IAgentRuntime,
+ message: Memory,
+ state?: State,
+ options?: { [key: string]: unknown },
+ callback?: HandlerCallback
+ ) => {
+ let success = false;
+
+ // Initialize or update state
+ if (!state) {
+ state = (await runtime.composeState(message)) as State;
+ } else {
+ state = await runtime.updateRecentMessageState(state);
+ }
+
+ // Generate content based on template
+ const context = composeContext({
+ state,
+ template: confluxTransferTemplate,
+ });
+
+ const content = await generateObjectV2({
+ runtime,
+ context,
+ modelClass: ModelClass.LARGE,
+ schema: PumpSchema,
+ });
+
+ if (!isPumpContent(content.object)) {
+ throw new Error("Invalid content");
+ }
+
+ // Setup clients and account
+ const rpcUrl = runtime.getSetting("CONFLUX_ESPACE_RPC_URL");
+ const account = privateKeyToAccount(
+ runtime.getSetting("CONFLUX_ESPACE_PRIVATE_KEY") as `0x${string}`
+ );
+ const walletClient = createWalletClient({
+ transport: http(rpcUrl),
+ });
+
+ const contentObject = content.object;
+ let data: any;
+ let value: bigint;
+
+ try {
+ // Handle different action types
+ switch (contentObject.action) {
+ case "CREATE_TOKEN":
+ if (!isPumpCreateContent(contentObject)) {
+ throw new Error("Invalid content");
+ }
+ console.log(
+ "creating: ",
+ contentObject.params.name,
+ contentObject.params.symbol,
+ contentObject.params.description
+ );
+ data = encodeFunctionData({
+ abi: MEMEABI,
+ functionName: "newToken",
+ args: [
+ contentObject.params.name,
+ contentObject.params.symbol,
+ contentObject.params.description,
+ ],
+ });
+ value = parseEther("10");
+ break;
+
+ case "BUY_TOKEN":
+ if (!isPumpBuyContent(contentObject)) {
+ throw new Error("Invalid content");
+ }
+ value = parseUnits(contentObject.params.value.toString(), 18);
+ console.log("buying: ", contentObject.params.tokenAddress, value);
+ data = encodeFunctionData({
+ abi: MEMEABI,
+ functionName: "buy",
+ args: [
+ contentObject.params.tokenAddress as `0x${string}`,
+ account.address,
+ 0n,
+ false,
+ ],
+ });
+ break;
+
+ case "SELL_TOKEN":
+ if (!isPumpSellContent(contentObject)) {
+ throw new Error("Invalid content");
+ }
+ const tokenAddress = getAddress(
+ contentObject.params.tokenAddress as `0x${string}`
+ );
+ console.log(
+ "selling: ",
+ tokenAddress,
+ account.address,
+ contentObject.params.value
+ );
+ const amountUnits = parseUnits(
+ contentObject.params.value.toString(),
+ 18
+ );
+
+ await ensureAllowance(
+ walletClient,
+ rpcUrl,
+ account,
+ tokenAddress as `0x${string}`,
+ runtime.getSetting("CONFLUX_MEME_CONTRACT_ADDRESS") as `0x${string}`,
+ amountUnits
+ );
+
+ data = encodeFunctionData({
+ abi: MEMEABI,
+ functionName: "sell",
+ args: [tokenAddress, amountUnits, 0n],
+ });
+ value = 0n;
+ break;
+ }
+
+ // Simulate and execute transaction
+ const publicClient = createPublicClient({
+ transport: http(rpcUrl),
+ chain: confluxESpaceTestnet,
+ });
+
+ const memeContractAddress = runtime.getSetting("CONFLUX_MEME_CONTRACT_ADDRESS") as `0x${string}`;
+
+ const simulate = await publicClient.call({
+ to: memeContractAddress,
+ data,
+ value,
+ account,
+ });
+ console.log("simulate: ", simulate);
+
+ const hash = await walletClient.sendTransaction({
+ account,
+ to: memeContractAddress,
+ data,
+ chain: confluxESpaceTestnet,
+ kzg: null,
+ value,
+ });
+
+ success = true;
+
+ if (callback) {
+ callback({
+ text: `Perform the action successfully: ${content.object.action}: ${hash}`,
+ content: content.object,
+ });
+ }
+ } catch (error) {
+ console.error(`Error performing the action: ${error}`);
+ if (callback) {
+ callback({
+ text: `Failed to perform the action: ${content.object.action}: ${error}`,
+ });
+ }
+ }
+
+ return success;
+ },
+};
diff --git a/packages/plugin-conflux/src/actions/transfer.ts b/packages/plugin-conflux/src/actions/transfer.ts
new file mode 100644
index 00000000000..d24749492ae
--- /dev/null
+++ b/packages/plugin-conflux/src/actions/transfer.ts
@@ -0,0 +1,129 @@
+import {
+ Action,
+ IAgentRuntime,
+ Memory,
+ State,
+ HandlerCallback,
+} from "@ai16z/eliza";
+import { generateObjectV2, composeContext, ModelClass, Content } from "@ai16z/eliza";
+import { createPublicClient, createWalletClient, http, parseCFX } from "cive";
+import { privateKeyToAccount } from "cive/accounts";
+import { testnet } from "cive/chains";
+import { confluxTransferTemplate } from "../templates/transfer";
+import { TransferSchema, isTransferContent } from "../types";
+
+const sendCFX = async (
+ secretKey: `0x${string}`,
+ rpcUrl: string,
+ to: string,
+ amount: string
+) => {
+ const client = createPublicClient({
+ transport: http(rpcUrl),
+ });
+ const networkId = await client.getChainId();
+ const account = privateKeyToAccount(secretKey, { networkId });
+
+ const walletClient = createWalletClient({
+ transport: http(rpcUrl),
+ chain: testnet,
+ });
+
+ const hash = await walletClient.sendTransaction({
+ account,
+ to,
+ value: parseCFX(amount),
+ chain: testnet,
+ });
+
+ // await client.waitForTransactionReceipt({
+ // hash,
+ // });
+ return hash;
+};
+
+export const transfer: Action = {
+ name: "SEND_CFX",
+ description:
+ "Transfer CFX to another address in Conflux Core Space. The address starts with `cfx:` or `cfxtest:`",
+ similes: ["SEND_CONFLUX", "SEND_CFX_CORE_SPACE", "TRANSFER_CFX"],
+ examples: [
+ [
+ {
+ user: "{{user1}}",
+ content: {
+ text: "Send 1 CFX to cfx:aaejuaaaaaaaaaaaaaaaaaaaaaaaaaaaa2eaeg85p5",
+ },
+ },
+ {
+ user: "{{user2}}",
+ content: {
+ text: "1 CFX sent to cfx:aaejuaaaaaaaaaaaaaaaaaaaaaaaaaaaa2eaeg85p5: 0x1234567890abcdef",
+ content: {
+ to: "cfx:aaejuaaaaaaaaaaaaaaaaaaaaaaaaaaaa2eaeg85p5",
+ amount: "1",
+ },
+ },
+ },
+ ],
+ ],
+ validate: async (runtime: IAgentRuntime, message: Memory) => {
+ // no extra validation needed
+ return true;
+ },
+ handler: async (
+ runtime: IAgentRuntime,
+ message: Memory,
+ state?: State,
+ options?: { [key: string]: unknown },
+ callback?: HandlerCallback
+ ) => {
+ if (!state) {
+ state = (await runtime.composeState(message)) as State;
+ } else {
+ state = await runtime.updateRecentMessageState(state);
+ }
+
+ const context = composeContext({
+ state,
+ template: confluxTransferTemplate,
+ });
+
+ const content = await generateObjectV2({
+ runtime,
+ context,
+ modelClass: ModelClass.SMALL,
+ schema: TransferSchema,
+ });
+
+ if (!isTransferContent(content.object)) {
+ throw new Error("Invalid content");
+ }
+
+ const secretKey = runtime.getSetting("CONFLUX_CORE_PRIVATE_KEY") as `0x${string}`;
+ const rpcUrl = runtime.getSetting("CONFLUX_CORE_SPACE_RPC_URL");
+
+ let success = false;
+
+ try {
+ const hash = await sendCFX(secretKey, rpcUrl, content.object.to, content.object.amount.toString());
+ success = true;
+ if (!callback) {
+ return success;
+ }
+ callback({
+ text: `${content.object.amount} CFX sent to ${content.object.to}: ${hash}`,
+ content: content.object,
+ });
+ } catch (error) {
+ console.error(`Error sending CFX: ${error}`);
+ if (!callback) {
+ return success;
+ }
+ callback({
+ text: `Failed to send ${content.object.amount} CFX to ${content.object.to}: ${error}`,
+ });
+ }
+ return success;
+ },
+};
diff --git a/packages/plugin-conflux/src/index.ts b/packages/plugin-conflux/src/index.ts
new file mode 100644
index 00000000000..1c6e65989e3
--- /dev/null
+++ b/packages/plugin-conflux/src/index.ts
@@ -0,0 +1,11 @@
+import { Plugin } from "@ai16z/eliza";
+import { transfer } from "./actions/transfer";
+import { bridgeTransfer } from "./actions/bridgeTransfer";
+import { confiPump } from "./actions/confiPump";
+
+export const confluxPlugin: Plugin = {
+ name: "conflux",
+ description: "Conflux Plugin for Eliza",
+ actions: [transfer, bridgeTransfer, confiPump],
+ providers: [],
+};
diff --git a/packages/plugin-conflux/src/templates/bridgeTransfer.ts b/packages/plugin-conflux/src/templates/bridgeTransfer.ts
new file mode 100644
index 00000000000..ca5fdea32ba
--- /dev/null
+++ b/packages/plugin-conflux/src/templates/bridgeTransfer.ts
@@ -0,0 +1,7 @@
+export const confluxBridgeTransferTemplate = `
+Extract Conflux Cross Space Transfer Parameters from the latest message:
+
+{{recentMessages}}
+
+The to address should be the Conflux eSpace address, starting with "0x".
+`;
diff --git a/packages/plugin-conflux/src/templates/confiPump.ts b/packages/plugin-conflux/src/templates/confiPump.ts
new file mode 100644
index 00000000000..b3047fc8027
--- /dev/null
+++ b/packages/plugin-conflux/src/templates/confiPump.ts
@@ -0,0 +1,9 @@
+export const confiPumpTemplate = `
+Extract Conflux ConfiPump Parameters, including token creation, buy, and sell, from the latest messages:
+
+{{recentMessages}}
+
+For token creation, should come up with a name, symbol, and description.
+For token buy, should come up with the amount of CFX to buy which token (with token address starting with 0x).
+For token sell, should come up with the amount of token to sell (with token address starting with 0x).
+`;
diff --git a/packages/plugin-conflux/src/templates/transfer.ts b/packages/plugin-conflux/src/templates/transfer.ts
new file mode 100644
index 00000000000..57fef7ad0d4
--- /dev/null
+++ b/packages/plugin-conflux/src/templates/transfer.ts
@@ -0,0 +1,7 @@
+export const confluxTransferTemplate = `
+Extract Conflux Core Space Transfer Parameters from the latest message:
+
+{{recentMessages}}
+
+The to address should be the Conflux Core Space address, starting with "cfx:" or "cfxtest:".
+`;
diff --git a/packages/plugin-conflux/src/types.ts b/packages/plugin-conflux/src/types.ts
new file mode 100644
index 00000000000..5f033da3f47
--- /dev/null
+++ b/packages/plugin-conflux/src/types.ts
@@ -0,0 +1,85 @@
+import { z } from "zod";
+import { Content } from "@ai16z/eliza";
+
+export const TransferSchema = z.object({
+ to: z.string(),
+ amount: z.number(), // use number ignoring decimals issue
+});
+
+export interface TransferContent {
+ to: string;
+ amount: number;
+}
+
+export const isTransferContent = (object: any): object is TransferContent => {
+ if (TransferSchema.safeParse(object).success) {
+ return true;
+ }
+ console.error("Invalid content: ", object);
+ return false;
+};
+
+export const PumpCreateSchema = z.object({
+ action: z.literal("CREATE_TOKEN"),
+ params: z.object({
+ symbol: z.string(),
+ name: z.string(),
+ description: z.string(),
+ }),
+});
+
+export const PumpBuySchema = z.object({
+ action: z.literal("BUY_TOKEN"),
+ params: z.object({
+ tokenAddress: z.string(),
+ value: z.number(),
+ }),
+});
+
+export const PumpSellSchema = z.object({
+ action: z.literal("SELL_TOKEN"),
+ params: z.object({
+ tokenAddress: z.string(),
+ value: z.number(),
+ }),
+});
+
+export const PumpSchema = z.union([PumpCreateSchema, PumpBuySchema, PumpSellSchema]);
+
+export type PumpContent = z.infer;
+export type PumpCreateContent = z.infer;
+export type PumpBuyContent = z.infer;
+export type PumpSellContent = z.infer;
+
+export function isPumpContent(object: any): object is PumpContent {
+ if (PumpSchema.safeParse(object).success) {
+ return true;
+ }
+ console.error("Invalid content: ", object);
+ return false;
+}
+
+export function isPumpCreateContent(object: any): object is PumpCreateContent {
+ if (PumpCreateSchema.safeParse(object).success) {
+ return true;
+ }
+ console.error("Invalid content: ", object);
+ return false;
+}
+
+export function isPumpBuyContent(object: any): object is PumpBuyContent {
+ if (PumpBuySchema.safeParse(object).success) {
+ return true;
+ }
+ console.error("Invalid content: ", object);
+ return false;
+}
+
+export function isPumpSellContent(object: any): object is PumpSellContent {
+ if (PumpSellSchema.safeParse(object).success) {
+ return true;
+ }
+ console.error("Invalid content: ", object);
+ return false;
+}
+
diff --git a/packages/plugin-conflux/tsconfig.json b/packages/plugin-conflux/tsconfig.json
new file mode 100644
index 00000000000..eaa78145aa3
--- /dev/null
+++ b/packages/plugin-conflux/tsconfig.json
@@ -0,0 +1,8 @@
+{
+ "extends": "../../tsconfig.json",
+ "compilerOptions": {
+ "outDir": "dist",
+ "rootDir": "./src"
+ },
+ "include": ["src"]
+}
diff --git a/packages/plugin-conflux/tsup.config.ts b/packages/plugin-conflux/tsup.config.ts
new file mode 100644
index 00000000000..f63d4d37fcf
--- /dev/null
+++ b/packages/plugin-conflux/tsup.config.ts
@@ -0,0 +1,13 @@
+import { defineConfig } from "tsup";
+
+export default defineConfig({
+ entry: ["src/index.ts"],
+ outDir: "dist",
+ sourcemap: true,
+ clean: true,
+ format: ["esm"], // Ensure you're targeting CommonJS
+ external: [
+ "cive",
+ // Add other modules you want to externalize
+ ],
+});
diff --git a/packages/plugin-image-generation/package.json b/packages/plugin-image-generation/package.json
index 00c7c8b8de0..a9148886de7 100644
--- a/packages/plugin-image-generation/package.json
+++ b/packages/plugin-image-generation/package.json
@@ -6,7 +6,7 @@
"types": "dist/index.d.ts",
"dependencies": {
"@ai16z/eliza": "workspace:*",
- "tsup": "^8.3.5"
+ "tsup": "8.3.5"
},
"devDependencies": {
"eslint": "9.13.0",
diff --git a/packages/plugin-node/package.json b/packages/plugin-node/package.json
index f9314ec3367..09cf9e61fae 100644
--- a/packages/plugin-node/package.json
+++ b/packages/plugin-node/package.json
@@ -7,12 +7,12 @@
"dependencies": {
"@ai16z/eliza": "workspace:*",
"@cliqz/adblocker-playwright": "1.34.0",
- "@echogarden/espeak-ng-emscripten": "0.3.0",
+ "@echogarden/espeak-ng-emscripten": "0.3.3",
"@echogarden/kissfft-wasm": "0.2.0",
"@echogarden/speex-resampler-wasm": "0.2.1",
"@huggingface/transformers": "3.0.2",
- "@opendocsg/pdf2md": "0.1.31",
- "@types/uuid": "^10.0.0",
+ "@opendocsg/pdf2md": "0.1.32",
+ "@types/uuid": "10.0.0",
"alawmulaw": "6.0.0",
"bignumber": "1.1.0",
"bignumber.js": "9.1.2",
@@ -20,14 +20,14 @@
"cldr-segmentation": "2.2.1",
"command-exists": "1.2.9",
"csv-writer": "1.6.0",
- "echogarden": "^2.0.7",
+ "echogarden": "2.0.7",
"espeak-ng": "1.0.2",
"ffmpeg-static": "5.2.0",
"fluent-ffmpeg": "2.1.3",
"formdata-node": "6.0.3",
"fs-extra": "11.2.0",
"gaxios": "6.7.1",
- "gif-frames": "^0.4.1",
+ "gif-frames": "0.4.1",
"glob": "11.0.0",
"graceful-fs": "4.2.11",
"html-escaper": "3.0.3",
@@ -41,13 +41,13 @@
"node-cache": "5.1.2",
"node-llama-cpp": "3.1.1",
"nodejs-whisper": "0.1.18",
- "onnxruntime-node": "^1.20.0",
+ "onnxruntime-node": "1.20.1",
"pdfjs-dist": "4.7.76",
"playwright": "1.48.2",
- "pm2": "5.4.2",
+ "pm2": "5.4.3",
"puppeteer-extra": "3.3.6",
"puppeteer-extra-plugin-capsolver": "2.0.1",
- "sharp": "^0.33.5",
+ "sharp": "0.33.5",
"srt": "0.0.3",
"systeminformation": "5.23.5",
"tar": "7.4.3",
@@ -64,20 +64,20 @@
"eslint-config-prettier": "9.1.0",
"eslint-plugin-prettier": "5.2.1",
"eslint-plugin-vitest": "0.5.4",
- "tsup": "^8.3.5"
+ "tsup": "8.3.5"
},
"scripts": {
"build": "tsup --format esm --dts",
"dev": "tsup --watch",
"lint": "eslint . --fix",
- "postinstall": "npx playwright install-deps && npx playwright install"
+ "postinstall": "node scripts/postinstall.js"
},
"peerDependencies": {
- "onnxruntime-node": "^1.20.0",
+ "onnxruntime-node": "1.20.1",
"whatwg-url": "7.1.0"
},
"trustedDependencies": {
"onnxruntime-node": "^1.20.0",
"sharp": "^0.33.5"
}
-}
\ No newline at end of file
+}
diff --git a/packages/plugin-node/scripts/postinstall.js b/packages/plugin-node/scripts/postinstall.js
new file mode 100644
index 00000000000..152d5209ce4
--- /dev/null
+++ b/packages/plugin-node/scripts/postinstall.js
@@ -0,0 +1,9 @@
+import os from 'os';
+const platform = os.platform();
+
+if ((platform === 'linux' && !(os.release().includes('ubuntu') || os.release().includes('debian')))) {
+ console.log('Skipping playwright installation on unsupported platform:', platform);
+} else {
+ const { execSync } = await import('child_process');
+ execSync('npx playwright install-deps && npx playwright install', { stdio: 'inherit' });
+}
\ No newline at end of file
diff --git a/packages/plugin-node/src/services/image.ts b/packages/plugin-node/src/services/image.ts
index d840e7f1f4c..82760de1fbe 100644
--- a/packages/plugin-node/src/services/image.ts
+++ b/packages/plugin-node/src/services/image.ts
@@ -43,17 +43,8 @@ export class ImageDescriptionService
}
async initialize(runtime: IAgentRuntime): Promise {
+ console.log("Initializing ImageDescriptionService");
this.runtime = runtime;
- const model = models[runtime?.character?.modelProvider];
-
- if (model === models[ModelProviderName.LLAMALOCAL]) {
- await this.initializeLocalModel();
- } else {
- this.modelId = "gpt-4o-mini";
- this.device = "cloud";
- }
-
- this.initialized = true;
}
private async initializeLocalModel(): Promise {
@@ -102,7 +93,16 @@ export class ImageDescriptionService
imageUrl: string
): Promise<{ title: string; description: string }> {
if (!this.initialized) {
- throw new Error("ImageDescriptionService not initialized");
+ const model = models[this.runtime?.character?.modelProvider];
+
+ if (model === models[ModelProviderName.LLAMALOCAL]) {
+ await this.initializeLocalModel();
+ } else {
+ this.modelId = "gpt-4o-mini";
+ this.device = "cloud";
+ }
+
+ this.initialized = true;
}
if (this.device === "cloud") {
diff --git a/packages/plugin-node/src/services/llama.ts b/packages/plugin-node/src/services/llama.ts
index 2b542c6d464..f158c1fefe0 100644
--- a/packages/plugin-node/src/services/llama.ts
+++ b/packages/plugin-node/src/services/llama.ts
@@ -174,6 +174,7 @@ export class LlamaService extends Service {
private messageQueue: QueuedMessage[] = [];
private isProcessing: boolean = false;
private modelInitialized: boolean = false;
+ private runtime: IAgentRuntime | undefined;
static serviceType: ServiceType = ServiceType.TEXT_GENERATION;
@@ -189,25 +190,8 @@ export class LlamaService extends Service {
}
async initialize(runtime: IAgentRuntime): Promise {
- try {
- if (runtime.modelProvider === ModelProviderName.LLAMALOCAL) {
- elizaLogger.info("Initializing LlamaService...");
- elizaLogger.info("Using local GGUF model");
- elizaLogger.info("Ensuring model is initialized...");
- await this.ensureInitialized();
- elizaLogger.success("LlamaService initialized successfully");
- } else {
- elizaLogger.info(
- "Not using local model, skipping initialization"
- );
- return;
- }
- } catch (error) {
- elizaLogger.error("Failed to initialize LlamaService:", error);
- throw new Error(
- `LlamaService initialization failed: ${error.message}`
- );
- }
+ elizaLogger.info("Initializing LlamaService...");
+ this.runtime = runtime;
}
private async ensureInitialized() {
diff --git a/packages/plugin-solana/package.json b/packages/plugin-solana/package.json
index ff8a04a5815..c4e967a9538 100644
--- a/packages/plugin-solana/package.json
+++ b/packages/plugin-solana/package.json
@@ -7,15 +7,16 @@
"dependencies": {
"@ai16z/eliza": "workspace:*",
"@ai16z/plugin-trustdb": "workspace:*",
- "@coral-xyz/anchor": "^0.30.1",
+ "@coral-xyz/anchor": "0.30.1",
"@solana/spl-token": "0.4.9",
- "@solana/web3.js": "1.95.4",
+ "@solana/web3.js": "1.95.5",
"bignumber": "1.1.0",
"bignumber.js": "9.1.2",
- "bs58": "^6.0.0",
+ "bs58": "6.0.0",
"node-cache": "5.1.2",
"pumpdotfun-sdk": "1.3.2",
- "tsup": "^8.3.5"
+ "tsup": "8.3.5",
+ "vitest": "2.1.4"
},
"devDependencies": {
"eslint": "9.13.0",
@@ -25,7 +26,8 @@
},
"scripts": {
"build": "tsup --format esm --dts",
- "lint": "eslint . --fix"
+ "lint": "eslint . --fix",
+ "test": "vitest run"
},
"peerDependencies": {
"whatwg-url": "7.1.0"
diff --git a/packages/plugin-solana/src/tests/token.test.ts b/packages/plugin-solana/src/tests/token.test.ts
new file mode 100644
index 00000000000..6b799c1c239
--- /dev/null
+++ b/packages/plugin-solana/src/tests/token.test.ts
@@ -0,0 +1,134 @@
+import { describe, it, expect, beforeEach, vi, afterEach } from "vitest";
+import { TokenProvider } from "../providers/token.ts";
+
+// Mock NodeCache
+vi.mock("node-cache", () => {
+ return {
+ default: vi.fn().mockImplementation(() => ({
+ set: vi.fn(),
+ get: vi.fn().mockReturnValue(null),
+ })),
+ };
+});
+
+// Mock path module
+vi.mock("path", async () => {
+ const actual = await vi.importActual("path");
+ return {
+ ...(actual as any),
+ join: vi.fn().mockImplementation((...args) => args.join("/")),
+ };
+});
+
+// Mock the WalletProvider
+const mockWalletProvider = {
+ fetchPortfolioValue: vi.fn(),
+};
+
+// Mock the ICacheManager
+const mockCacheManager = {
+ get: vi.fn().mockResolvedValue(null),
+ set: vi.fn(),
+};
+
+// Mock fetch globally
+const mockFetch = vi.fn();
+global.fetch = mockFetch;
+
+describe("TokenProvider", () => {
+ let tokenProvider: TokenProvider;
+ const TEST_TOKEN_ADDRESS = "2weMjPLLybRMMva1fM3U31goWWrCpF59CHWNhnCJ9Vyh";
+
+ beforeEach(() => {
+ vi.clearAllMocks();
+ mockCacheManager.get.mockResolvedValue(null);
+
+ // Create new instance of TokenProvider with mocked dependencies
+ tokenProvider = new TokenProvider(
+ TEST_TOKEN_ADDRESS,
+ mockWalletProvider as any,
+ mockCacheManager as any
+ );
+ });
+
+ afterEach(() => {
+ vi.clearAllTimers();
+ });
+
+ describe("Cache Management", () => {
+ it("should use cached data when available", async () => {
+ const mockData = { test: "data" };
+ mockCacheManager.get.mockResolvedValueOnce(mockData);
+
+ const result = await (tokenProvider as any).getCachedData(
+ "test-key"
+ );
+
+ expect(result).toEqual(mockData);
+ expect(mockCacheManager.get).toHaveBeenCalledTimes(1);
+ });
+
+ it("should write data to both caches", async () => {
+ const testData = { test: "data" };
+
+ await (tokenProvider as any).setCachedData("test-key", testData);
+
+ expect(mockCacheManager.set).toHaveBeenCalledWith(
+ expect.stringContaining("test-key"),
+ testData,
+ expect.any(Object)
+ );
+ });
+ });
+
+ describe("Wallet Integration", () => {
+ it("should fetch tokens in wallet", async () => {
+ const mockItems = [
+ { symbol: "SOL", address: "address1" },
+ { symbol: "BTC", address: "address2" },
+ ];
+
+ mockWalletProvider.fetchPortfolioValue.mockResolvedValueOnce({
+ items: mockItems,
+ });
+
+ const result = await tokenProvider.getTokensInWallet({} as any);
+
+ expect(result).toEqual(mockItems);
+ expect(
+ mockWalletProvider.fetchPortfolioValue
+ ).toHaveBeenCalledTimes(1);
+ });
+
+ it("should find token in wallet by symbol", async () => {
+ const mockItems = [
+ { symbol: "SOL", address: "address1" },
+ { symbol: "BTC", address: "address2" },
+ ];
+
+ mockWalletProvider.fetchPortfolioValue.mockResolvedValueOnce({
+ items: mockItems,
+ });
+
+ const result = await tokenProvider.getTokenFromWallet(
+ {} as any,
+ "SOL"
+ );
+
+ expect(result).toBe("address1");
+ });
+
+ it("should return null for token not in wallet", async () => {
+ mockWalletProvider.fetchPortfolioValue.mockResolvedValueOnce({
+ items: [],
+ });
+
+ const result = await tokenProvider.getTokenFromWallet(
+ {} as any,
+ "NONEXISTENT"
+ );
+
+ expect(result).toBeNull();
+ });
+ });
+});
diff --git a/packages/plugin-starknet/package.json b/packages/plugin-starknet/package.json
index cea06216df2..93554a893e9 100644
--- a/packages/plugin-starknet/package.json
+++ b/packages/plugin-starknet/package.json
@@ -7,12 +7,12 @@
"dependencies": {
"@ai16z/eliza": "workspace:*",
"@ai16z/plugin-trustdb": "workspace:*",
- "@avnu/avnu-sdk": "^2.1.1",
- "@uniswap/sdk-core": "^6.0.0",
- "@unruggable_starknet/core": "^0.1.0",
- "starknet": "^6.17.0",
- "tsup": "^8.3.5",
- "vitest": "^2.1.4"
+ "@avnu/avnu-sdk": "2.1.1",
+ "@uniswap/sdk-core": "6.0.0",
+ "@unruggable_starknet/core": "0.1.0",
+ "starknet": "6.18.0",
+ "tsup": "8.3.5",
+ "vitest": "2.1.5"
},
"devDependencies": {
"eslint": "9.13.0",
diff --git a/packages/plugin-trustdb/package.json b/packages/plugin-trustdb/package.json
index ec51200b49b..9e3b203ad91 100644
--- a/packages/plugin-trustdb/package.json
+++ b/packages/plugin-trustdb/package.json
@@ -6,10 +6,10 @@
"types": "dist/index.d.ts",
"dependencies": {
"@ai16z/eliza": "workspace:*",
- "dompurify": "3.2.0",
- "tsup": "^8.3.5",
+ "dompurify": "3.2.1",
+ "tsup": "8.3.5",
"uuid": "11.0.2",
- "vitest": "^2.1.4"
+ "vitest": "2.1.5"
},
"scripts": {
"build": "tsup --format esm --dts",
@@ -18,7 +18,7 @@
"lint": "eslint . --fix"
},
"devDependencies": {
- "@types/dompurify": "^3.2.0",
+ "@types/dompurify": "3.2.0",
"eslint": "9.13.0",
"eslint-config-prettier": "9.1.0",
"eslint-plugin-prettier": "5.2.1",
diff --git a/packages/plugin-video-generation/package.json b/packages/plugin-video-generation/package.json
index ad57534139f..50dde2b0a28 100644
--- a/packages/plugin-video-generation/package.json
+++ b/packages/plugin-video-generation/package.json
@@ -6,7 +6,7 @@
"types": "dist/index.d.ts",
"dependencies": {
"@ai16z/eliza": "workspace:*",
- "tsup": "^8.3.5"
+ "tsup": "8.3.5"
},
"devDependencies": {
"eslint": "9.13.0",
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 7be6c75d4ea..44906db78fa 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -5,12 +5,21 @@ settings:
excludeLinksFromLockfile: false
overrides:
- onnxruntime-node: ^1.20.0
+ onnxruntime-node: 1.20.1
importers:
.:
dependencies:
+ '@0glabs/0g-ts-sdk':
+ specifier: ^0.2.1
+ version: 0.2.1(bufferutil@4.0.8)(ethers@6.13.4(bufferutil@4.0.8)(utf-8-validate@5.0.10))(utf-8-validate@5.0.10)
+ '@coinbase/coinbase-sdk':
+ specifier: ^0.10.0
+ version: 0.10.0(bufferutil@4.0.8)(typescript@5.6.3)(utf-8-validate@5.0.10)(zod@3.23.8)
+ csv-parse:
+ specifier: ^5.6.0
+ version: 5.6.0
ollama-ai-provider:
specifier: ^0.16.1
version: 0.16.1(zod@3.23.8)
@@ -31,31 +40,31 @@ importers:
specifier: ^18.4.4
version: 18.6.3
concurrently:
- specifier: ^9.1.0
+ specifier: 9.1.0
version: 9.1.0
husky:
- specifier: ^9.1.6
+ specifier: 9.1.7
version: 9.1.7
lerna:
- specifier: ^8.1.5
- version: 8.1.9(@swc/core@1.9.3(@swc/helpers@0.5.15))(encoding@0.1.13)
+ specifier: 8.1.5
+ version: 8.1.5(@swc/core@1.9.3(@swc/helpers@0.5.15))(encoding@0.1.13)
only-allow:
- specifier: ^1.2.1
+ specifier: 1.2.1
version: 1.2.1
prettier:
- specifier: ^3.3.3
+ specifier: 3.3.3
version: 3.3.3
typedoc:
- specifier: ^0.26.11
+ specifier: 0.26.11
version: 0.26.11(typescript@5.6.3)
typescript:
specifier: 5.6.3
version: 5.6.3
vite:
- specifier: ^5.4.11
+ specifier: 5.4.11
version: 5.4.11(@types/node@22.8.4)(terser@5.36.0)
vitest:
- specifier: ^2.1.5
+ specifier: 2.1.5
version: 2.1.5(@types/node@22.8.4)(jsdom@25.0.1(bufferutil@4.0.8)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.36.0)
agent:
@@ -84,12 +93,18 @@ importers:
'@ai16z/eliza':
specifier: workspace:*
version: link:../packages/core
+ '@ai16z/plugin-0g':
+ specifier: workspace:*
+ version: link:../packages/plugin-0g
'@ai16z/plugin-bootstrap':
specifier: workspace:*
version: link:../packages/plugin-bootstrap
'@ai16z/plugin-coinbase':
specifier: workspace:*
version: link:../packages/plugin-coinbase
+ '@ai16z/plugin-conflux':
+ specifier: workspace:*
+ version: link:../packages/plugin-conflux
'@ai16z/plugin-image-generation':
specifier: workspace:*
version: link:../packages/plugin-image-generation
@@ -103,10 +118,10 @@ importers:
specifier: workspace:*
version: link:../packages/plugin-starknet
readline:
- specifier: ^1.3.0
+ specifier: 1.3.0
version: 1.3.0
ws:
- specifier: ^8.18.0
+ specifier: 8.18.0
version: 8.18.0(bufferutil@4.0.8)(utf-8-validate@5.0.10)
yargs:
specifier: 17.7.2
@@ -116,7 +131,7 @@ importers:
specifier: 10.9.2
version: 10.9.2(@swc/core@1.9.3(@swc/helpers@0.5.15))(@types/node@22.8.4)(typescript@5.6.3)
tsup:
- specifier: ^8.3.5
+ specifier: 8.3.5
version: 8.3.5(@swc/core@1.9.3(@swc/helpers@0.5.15))(jiti@2.4.0)(postcss@8.4.49)(typescript@5.6.3)(yaml@2.6.1)
client:
@@ -124,39 +139,54 @@ importers:
'@ai16z/eliza':
specifier: workspace:*
version: link:../packages/core
+ '@radix-ui/react-dialog':
+ specifier: 1.1.2
+ version: 1.1.2(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-separator':
+ specifier: 1.1.0
+ version: 1.1.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
'@radix-ui/react-slot':
- specifier: ^1.1.0
+ specifier: 1.1.0
version: 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-tooltip':
+ specifier: 1.1.4
+ version: 1.1.4(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@tanstack/react-query':
+ specifier: 5.61.0
+ version: 5.61.0(react@18.3.1)
class-variance-authority:
- specifier: ^0.7.0
+ specifier: 0.7.0
version: 0.7.0
clsx:
specifier: 2.1.0
version: 2.1.0
lucide-react:
- specifier: ^0.460.0
+ specifier: 0.460.0
version: 0.460.0(react@18.3.1)
react:
- specifier: ^18.3.1
+ specifier: 18.3.1
version: 18.3.1
react-dom:
- specifier: ^18.3.1
+ specifier: 18.3.1
version: 18.3.1(react@18.3.1)
+ react-router-dom:
+ specifier: 6.22.1
+ version: 6.22.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
tailwind-merge:
- specifier: ^2.5.4
+ specifier: 2.5.4
version: 2.5.4
tailwindcss-animate:
- specifier: ^1.0.7
+ specifier: 1.0.7
version: 1.0.7(tailwindcss@3.4.15(ts-node@10.9.2(@swc/core@1.9.3(@swc/helpers@0.5.15))(@types/node@22.8.4)(typescript@5.6.3)))
vite-plugin-top-level-await:
- specifier: ^1.4.4
- version: 1.4.4(@swc/helpers@0.5.15)(rollup@4.27.4)(vite@5.4.11(@types/node@22.8.4)(terser@5.36.0))
+ specifier: 1.4.4
+ version: 1.4.4(@swc/helpers@0.5.15)(rollup@4.27.4)(vite@client+@tanstack+router-plugin+vite)
vite-plugin-wasm:
- specifier: ^3.3.0
- version: 3.3.0(vite@5.4.11(@types/node@22.8.4)(terser@5.36.0))
+ specifier: 3.3.0
+ version: 3.3.0(vite@client+@tanstack+router-plugin+vite)
devDependencies:
'@eslint/js':
- specifier: ^9.13.0
+ specifier: 9.15.0
version: 9.15.0
'@types/node':
specifier: 22.8.4
@@ -168,67 +198,128 @@ importers:
specifier: 18.3.1
version: 18.3.1
'@vitejs/plugin-react':
- specifier: ^4.3.3
- version: 4.3.3(vite@5.4.11(@types/node@22.8.4)(terser@5.36.0))
+ specifier: 4.3.3
+ version: 4.3.3(vite@client+@tanstack+router-plugin+vite)
autoprefixer:
- specifier: ^10.4.20
+ specifier: 10.4.20
version: 10.4.20(postcss@8.4.49)
eslint:
- specifier: ^9.13.0
+ specifier: 9.13.0
version: 9.13.0(jiti@2.4.0)
eslint-plugin-react-hooks:
- specifier: ^5.0.0
+ specifier: 5.0.0
version: 5.0.0(eslint@9.13.0(jiti@2.4.0))
eslint-plugin-react-refresh:
- specifier: ^0.4.14
+ specifier: 0.4.14
version: 0.4.14(eslint@9.13.0(jiti@2.4.0))
globals:
- specifier: ^15.11.0
- version: 15.12.0
+ specifier: 15.11.0
+ version: 15.11.0
postcss:
- specifier: ^8.4.49
+ specifier: 8.4.49
version: 8.4.49
tailwindcss:
- specifier: ^3.4.15
+ specifier: 3.4.15
version: 3.4.15(ts-node@10.9.2(@swc/core@1.9.3(@swc/helpers@0.5.15))(@types/node@22.8.4)(typescript@5.6.3))
typescript:
specifier: ~5.6.2
version: 5.6.3
typescript-eslint:
- specifier: ^8.11.0
- version: 8.15.0(eslint@9.13.0(jiti@2.4.0))(typescript@5.6.3)
+ specifier: 8.11.0
+ version: 8.11.0(eslint@9.13.0(jiti@2.4.0))(typescript@5.6.3)
vite:
- specifier: ^5.4.10
- version: 5.4.11(@types/node@22.8.4)(terser@5.36.0)
+ specifier: link:@tanstack/router-plugin/vite
+ version: link:@tanstack/router-plugin/vite
+
+ apps/agent:
+ dependencies:
+ '@ai16z/adapter-postgres':
+ specifier: workspace:*
+ version: link:../../packages/adapter-postgres
+ '@ai16z/adapter-sqlite':
+ specifier: workspace:*
+ version: link:../../packages/adapter-sqlite
+ '@ai16z/client-auto':
+ specifier: workspace:*
+ version: link:../../packages/client-auto
+ '@ai16z/client-direct':
+ specifier: workspace:*
+ version: link:../../packages/client-direct
+ '@ai16z/client-discord':
+ specifier: workspace:*
+ version: link:../../packages/client-discord
+ '@ai16z/client-farcaster':
+ specifier: workspace:*
+ version: link:../../packages/client-farcaster
+ '@ai16z/client-telegram':
+ specifier: workspace:*
+ version: link:../../packages/client-telegram
+ '@ai16z/client-twitter':
+ specifier: workspace:*
+ version: link:../../packages/client-twitter
+ '@ai16z/eliza':
+ specifier: workspace:*
+ version: link:../../packages/core
+ '@ai16z/plugin-bootstrap':
+ specifier: workspace:*
+ version: link:../../packages/plugin-bootstrap
+ '@ai16z/plugin-image-generation':
+ specifier: workspace:*
+ version: link:../../packages/plugin-image-generation
+ '@ai16z/plugin-node':
+ specifier: workspace:*
+ version: link:../../packages/plugin-node
+ '@ai16z/plugin-solana':
+ specifier: workspace:*
+ version: link:../../packages/plugin-solana
+ readline:
+ specifier: ^1.3.0
+ version: 1.3.0
+ viem:
+ specifier: ^2.21.47
+ version: 2.21.47(bufferutil@4.0.8)(typescript@5.6.3)(utf-8-validate@5.0.10)(zod@3.23.8)
+ ws:
+ specifier: ^8.18.0
+ version: 8.18.0(bufferutil@4.0.8)(utf-8-validate@5.0.10)
+ yargs:
+ specifier: 17.7.2
+ version: 17.7.2
+ devDependencies:
+ ts-node:
+ specifier: 10.9.2
+ version: 10.9.2(@types/node@22.8.4)(typescript@5.6.3)
+ tsup:
+ specifier: ^8.3.5
+ version: 8.3.5(jiti@1.21.6)(postcss@8.4.47)(typescript@5.6.3)(yaml@2.6.0)
docs:
dependencies:
'@docusaurus/core':
- specifier: ^3.6.0
+ specifier: 3.6.3
version: 3.6.3(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.3.1))(@swc/core@1.9.3(@swc/helpers@0.5.15))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@2.4.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3)(utf-8-validate@5.0.10)
'@docusaurus/plugin-content-blog':
- specifier: ^3.6.0
+ specifier: 3.6.3
version: 3.6.3(@docusaurus/plugin-content-docs@3.6.3(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.3.1))(@swc/core@1.9.3(@swc/helpers@0.5.15))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@2.4.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3)(utf-8-validate@5.0.10))(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.3.1))(@swc/core@1.9.3(@swc/helpers@0.5.15))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@2.4.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3)(utf-8-validate@5.0.10)
'@docusaurus/plugin-content-docs':
- specifier: ^3.6.0
+ specifier: 3.6.3
version: 3.6.3(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.3.1))(@swc/core@1.9.3(@swc/helpers@0.5.15))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@2.4.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3)(utf-8-validate@5.0.10)
'@docusaurus/plugin-ideal-image':
- specifier: ^3.6.0
+ specifier: 3.6.3
version: 3.6.3(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.3.1))(@swc/core@1.9.3(@swc/helpers@0.5.15))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@2.4.0))(prop-types@15.8.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3)(utf-8-validate@5.0.10)
'@docusaurus/preset-classic':
- specifier: ^3.6.0
+ specifier: 3.6.3
version: 3.6.3(@algolia/client-search@5.15.0)(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.3.1))(@swc/core@1.9.3(@swc/helpers@0.5.15))(@types/react@18.3.12)(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@2.4.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.17.3)(typescript@5.6.3)(utf-8-validate@5.0.10)
'@docusaurus/theme-mermaid':
- specifier: ^3.6.0
+ specifier: 3.6.3
version: 3.6.3(@docusaurus/plugin-content-docs@3.6.3(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.3.1))(@swc/core@1.9.3(@swc/helpers@0.5.15))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@2.4.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3)(utf-8-validate@5.0.10))(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.3.1))(@swc/core@1.9.3(@swc/helpers@0.5.15))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@2.4.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3)(utf-8-validate@5.0.10)
'@mdx-js/react':
specifier: 3.0.1
version: 3.0.1(@types/react@18.3.12)(react@18.3.1)
clsx:
- specifier: 2.1.0
- version: 2.1.0
+ specifier: 2.1.1
+ version: 2.1.1
docusaurus-lunr-search:
- specifier: ^3.5.0
+ specifier: 3.5.0
version: 3.5.0(@docusaurus/core@3.6.3(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.3.1))(@swc/core@1.9.3(@swc/helpers@0.5.15))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@2.4.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3)(utf-8-validate@5.0.10))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
prism-react-renderer:
specifier: 2.3.1
@@ -244,19 +335,19 @@ importers:
version: 6.22.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
devDependencies:
'@docusaurus/module-type-aliases':
- specifier: 3.6.0
- version: 3.6.0(@swc/core@1.9.3(@swc/helpers@0.5.15))(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ specifier: 3.6.3
+ version: 3.6.3(@swc/core@1.9.3(@swc/helpers@0.5.15))(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
'@docusaurus/types':
- specifier: 3.6.0
- version: 3.6.0(@swc/core@1.9.3(@swc/helpers@0.5.15))(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ specifier: 3.6.3
+ version: 3.6.3(@swc/core@1.9.3(@swc/helpers@0.5.15))(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
docusaurus-plugin-typedoc:
- specifier: ^1.0.5
+ specifier: 1.0.5
version: 1.0.5(typedoc-plugin-markdown@4.2.10(typedoc@0.26.11(typescript@5.6.3)))
typedoc:
- specifier: ^0.26.11
+ specifier: 0.26.11
version: 0.26.11(typescript@5.6.3)
typedoc-plugin-markdown:
- specifier: ^4.2.9
+ specifier: 4.2.10
version: 4.2.10(typedoc@0.26.11(typescript@5.6.3))
packages/adapter-postgres:
@@ -265,10 +356,10 @@ importers:
specifier: workspace:*
version: link:../core
'@types/pg':
- specifier: ^8.11.10
+ specifier: 8.11.10
version: 8.11.10
pg:
- specifier: ^8.13.1
+ specifier: 8.13.1
version: 8.13.1
devDependencies:
eslint:
@@ -284,7 +375,7 @@ importers:
specifier: 0.5.4
version: 0.5.4(@typescript-eslint/eslint-plugin@8.12.2(@typescript-eslint/parser@8.12.2(eslint@9.13.0(jiti@2.4.0))(typescript@5.6.3))(eslint@9.13.0(jiti@2.4.0))(typescript@5.6.3))(eslint@9.13.0(jiti@2.4.0))(typescript@5.6.3)(vitest@2.1.5(@types/node@22.8.4)(jsdom@25.0.1(bufferutil@4.0.8)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.36.0))
tsup:
- specifier: ^8.3.5
+ specifier: 8.3.5
version: 8.3.5(@swc/core@1.9.3(@swc/helpers@0.5.15))(jiti@2.4.0)(postcss@8.4.49)(typescript@5.6.3)(yaml@2.6.1)
packages/adapter-sqlite:
@@ -318,7 +409,7 @@ importers:
specifier: 0.5.4
version: 0.5.4(@typescript-eslint/eslint-plugin@8.12.2(@typescript-eslint/parser@8.12.2(eslint@9.13.0(jiti@2.4.0))(typescript@5.6.3))(eslint@9.13.0(jiti@2.4.0))(typescript@5.6.3))(eslint@9.13.0(jiti@2.4.0))(typescript@5.6.3)(vitest@2.1.5(@types/node@22.8.4)(jsdom@25.0.1(bufferutil@4.0.8)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.36.0))
tsup:
- specifier: ^8.3.5
+ specifier: 8.3.5
version: 8.3.5(@swc/core@1.9.3(@swc/helpers@0.5.15))(jiti@2.4.0)(postcss@8.4.49)(typescript@5.6.3)(yaml@2.6.1)
packages/adapter-sqljs:
@@ -352,7 +443,7 @@ importers:
specifier: 0.5.4
version: 0.5.4(@typescript-eslint/eslint-plugin@8.12.2(@typescript-eslint/parser@8.12.2(eslint@9.13.0(jiti@2.4.0))(typescript@5.6.3))(eslint@9.13.0(jiti@2.4.0))(typescript@5.6.3))(eslint@9.13.0(jiti@2.4.0))(typescript@5.6.3)(vitest@2.1.5(@types/node@22.8.4)(jsdom@25.0.1(bufferutil@4.0.8)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.36.0))
tsup:
- specifier: ^8.3.5
+ specifier: 8.3.5
version: 8.3.5(@swc/core@1.9.3(@swc/helpers@0.5.15))(jiti@2.4.0)(postcss@8.4.49)(typescript@5.6.3)(yaml@2.6.1)
packages/adapter-supabase:
@@ -380,7 +471,7 @@ importers:
specifier: 0.5.4
version: 0.5.4(@typescript-eslint/eslint-plugin@8.12.2(@typescript-eslint/parser@8.12.2(eslint@9.13.0(jiti@2.4.0))(typescript@5.6.3))(eslint@9.13.0(jiti@2.4.0))(typescript@5.6.3))(eslint@9.13.0(jiti@2.4.0))(typescript@5.6.3)(vitest@2.1.5(@types/node@22.8.4)(jsdom@25.0.1(bufferutil@4.0.8)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.36.0))
tsup:
- specifier: ^8.3.5
+ specifier: 8.3.5
version: 8.3.5(@swc/core@1.9.3(@swc/helpers@0.5.15))(jiti@2.4.0)(postcss@8.4.49)(typescript@5.6.3)(yaml@2.6.1)
packages/client-auto:
@@ -432,7 +523,7 @@ importers:
specifier: 0.5.4
version: 0.5.4(@typescript-eslint/eslint-plugin@8.12.2(@typescript-eslint/parser@8.12.2(eslint@9.13.0(jiti@2.4.0))(typescript@5.6.3))(eslint@9.13.0(jiti@2.4.0))(typescript@5.6.3))(eslint@9.13.0(jiti@2.4.0))(typescript@5.6.3)(vitest@2.1.5(@types/node@22.8.4)(jsdom@25.0.1(bufferutil@4.0.8)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.36.0))
tsup:
- specifier: ^8.3.5
+ specifier: 8.3.5
version: 8.3.5(@swc/core@1.9.3(@swc/helpers@0.5.15))(jiti@2.4.0)(postcss@8.4.49)(typescript@5.6.3)(yaml@2.6.1)
packages/client-direct:
@@ -458,8 +549,11 @@ importers:
cors:
specifier: 2.8.5
version: 2.8.5
+ discord.js:
+ specifier: 14.16.3
+ version: 14.16.3(bufferutil@4.0.8)(utf-8-validate@5.0.10)
express:
- specifier: ^4.21.1
+ specifier: 4.21.1
version: 4.21.1
multer:
specifier: 1.4.5-lts.1
@@ -481,7 +575,7 @@ importers:
specifier: 0.5.4
version: 0.5.4(@typescript-eslint/eslint-plugin@8.12.2(@typescript-eslint/parser@8.12.2(eslint@9.13.0(jiti@2.4.0))(typescript@5.6.3))(eslint@9.13.0(jiti@2.4.0))(typescript@5.6.3))(eslint@9.13.0(jiti@2.4.0))(typescript@5.6.3)(vitest@2.1.5(@types/node@22.8.4)(jsdom@25.0.1(bufferutil@4.0.8)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.36.0))
tsup:
- specifier: ^8.3.5
+ specifier: 8.3.5
version: 8.3.5(@swc/core@1.9.3(@swc/helpers@0.5.15))(jiti@2.4.0)(postcss@8.4.49)(typescript@5.6.3)(yaml@2.6.1)
packages/client-discord:
@@ -530,7 +624,7 @@ importers:
specifier: 0.5.4
version: 0.5.4(@typescript-eslint/eslint-plugin@8.12.2(@typescript-eslint/parser@8.12.2(eslint@9.13.0(jiti@2.4.0))(typescript@5.6.3))(eslint@9.13.0(jiti@2.4.0))(typescript@5.6.3))(eslint@9.13.0(jiti@2.4.0))(typescript@5.6.3)(vitest@2.1.5(@types/node@22.8.4)(jsdom@25.0.1(bufferutil@4.0.8)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.36.0))
tsup:
- specifier: ^8.3.5
+ specifier: 8.3.5
version: 8.3.5(@swc/core@1.9.3(@swc/helpers@0.5.15))(jiti@2.4.0)(postcss@8.4.49)(typescript@5.6.3)(yaml@2.6.1)
packages/client-github:
@@ -539,20 +633,20 @@ importers:
specifier: workspace:*
version: link:../core
'@octokit/rest':
- specifier: ^20.0.2
+ specifier: 20.1.1
version: 20.1.1
'@octokit/types':
- specifier: ^12.6.0
+ specifier: 12.6.0
version: 12.6.0
glob:
- specifier: ^10.3.10
+ specifier: 10.4.5
version: 10.4.5
simple-git:
- specifier: ^3.22.0
+ specifier: 3.27.0
version: 3.27.0
devDependencies:
'@types/glob':
- specifier: ^8.1.0
+ specifier: 8.1.0
version: 8.1.0
eslint:
specifier: 9.13.0
@@ -567,7 +661,7 @@ importers:
specifier: 0.5.4
version: 0.5.4(@typescript-eslint/eslint-plugin@8.12.2(@typescript-eslint/parser@8.12.2(eslint@9.13.0(jiti@2.4.0))(typescript@5.6.3))(eslint@9.13.0(jiti@2.4.0))(typescript@5.6.3))(eslint@9.13.0(jiti@2.4.0))(typescript@5.6.3)(vitest@2.1.5(@types/node@22.8.4)(jsdom@25.0.1(bufferutil@4.0.8)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.36.0))
tsup:
- specifier: ^8.3.5
+ specifier: 8.3.5
version: 8.3.5(@swc/core@1.9.3(@swc/helpers@0.5.15))(jiti@2.4.0)(postcss@8.4.49)(typescript@5.6.3)(yaml@2.6.1)
packages/client-telegram:
@@ -575,9 +669,6 @@ importers:
'@ai16z/eliza':
specifier: workspace:*
version: link:../core
- '@ai16z/plugin-node':
- specifier: workspace:*
- version: link:../plugin-node
'@telegraf/types':
specifier: 7.1.0
version: 7.1.0
@@ -601,7 +692,7 @@ importers:
specifier: 0.5.4
version: 0.5.4(@typescript-eslint/eslint-plugin@8.12.2(@typescript-eslint/parser@8.12.2(eslint@9.13.0(jiti@2.4.0))(typescript@5.6.3))(eslint@9.13.0(jiti@2.4.0))(typescript@5.6.3))(eslint@9.13.0(jiti@2.4.0))(typescript@5.6.3)(vitest@2.1.5(@types/node@22.8.4)(jsdom@25.0.1(bufferutil@4.0.8)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.36.0))
tsup:
- specifier: ^8.3.5
+ specifier: 8.3.5
version: 8.3.5(@swc/core@1.9.3(@swc/helpers@0.5.15))(jiti@2.4.0)(postcss@8.4.49)(typescript@5.6.3)(yaml@2.6.1)
packages/client-twitter:
@@ -610,8 +701,8 @@ importers:
specifier: workspace:*
version: link:../core
agent-twitter-client:
- specifier: 0.0.13
- version: 0.0.13
+ specifier: 0.0.14
+ version: 0.0.14
glob:
specifier: 11.0.0
version: 11.0.0
@@ -635,52 +726,43 @@ importers:
specifier: 0.5.4
version: 0.5.4(@typescript-eslint/eslint-plugin@8.12.2(@typescript-eslint/parser@8.12.2(eslint@9.13.0(jiti@2.4.0))(typescript@5.6.3))(eslint@9.13.0(jiti@2.4.0))(typescript@5.6.3))(eslint@9.13.0(jiti@2.4.0))(typescript@5.6.3)(vitest@2.1.5(@types/node@22.8.4)(jsdom@25.0.1(bufferutil@4.0.8)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.36.0))
tsup:
- specifier: ^8.3.5
+ specifier: 8.3.5
version: 8.3.5(@swc/core@1.9.3(@swc/helpers@0.5.15))(jiti@2.4.0)(postcss@8.4.49)(typescript@5.6.3)(yaml@2.6.1)
packages/core:
dependencies:
'@ai-sdk/anthropic':
- specifier: ^0.0.56
+ specifier: 0.0.56
version: 0.0.56(zod@3.23.8)
'@ai-sdk/google':
- specifier: ^0.0.55
+ specifier: 0.0.55
version: 0.0.55(zod@3.23.8)
'@ai-sdk/google-vertex':
- specifier: ^0.0.43
+ specifier: 0.0.43
version: 0.0.43(@google-cloud/vertexai@1.9.0(encoding@0.1.13))(zod@3.23.8)
'@ai-sdk/groq':
- specifier: ^0.0.3
+ specifier: 0.0.3
version: 0.0.3(zod@3.23.8)
'@ai-sdk/openai':
specifier: 1.0.4
version: 1.0.4(zod@3.23.8)
- '@ai16z/adapter-sqlite':
- specifier: workspace:*
- version: link:../adapter-sqlite
- '@ai16z/adapter-sqljs':
- specifier: workspace:*
- version: link:../adapter-sqljs
- '@ai16z/adapter-supabase':
- specifier: workspace:*
- version: link:../adapter-supabase
'@anthropic-ai/sdk':
specifier: 0.30.1
version: 0.30.1(encoding@0.1.13)
'@types/uuid':
- specifier: ^10.0.0
+ specifier: 10.0.0
version: 10.0.0
ai:
- specifier: ^3.4.23
+ specifier: 3.4.33
version: 3.4.33(openai@4.73.0(encoding@0.1.13)(zod@3.23.8))(react@18.3.1)(sswr@2.1.0(svelte@5.2.7))(svelte@5.2.7)(vue@3.5.13(typescript@5.6.3))(zod@3.23.8)
anthropic-vertex-ai:
- specifier: ^1.0.0
+ specifier: 1.0.2
version: 1.0.2(encoding@0.1.13)(zod@3.23.8)
fastembed:
- specifier: ^1.14.1
+ specifier: 1.14.1
version: 1.14.1
fastestsmallesttextencoderdecoder:
- specifier: ^1.0.22
+ specifier: 1.0.22
version: 1.0.22
gaxios:
specifier: 6.7.1
@@ -692,10 +774,10 @@ importers:
specifier: 0.7.0
version: 0.7.0
langchain:
- specifier: ^0.3.6
+ specifier: 0.3.6
version: 0.3.6(@langchain/core@0.3.18(openai@4.73.0(encoding@0.1.13)(zod@3.23.8)))(axios@1.7.7)(encoding@0.1.13)(handlebars@4.7.8)(openai@4.73.0(encoding@0.1.13)(zod@3.23.8))
ollama-ai-provider:
- specifier: ^0.16.1
+ specifier: 0.16.1
version: 0.16.1(zod@3.23.8)
openai:
specifier: 4.73.0
@@ -707,7 +789,7 @@ importers:
specifier: 1.3.4
version: 1.3.4
together-ai:
- specifier: ^0.7.0
+ specifier: 0.7.0
version: 0.7.0(encoding@0.1.13)
unique-names-generator:
specifier: 4.7.1
@@ -716,11 +798,11 @@ importers:
specifier: 11.0.2
version: 11.0.2
zod:
- specifier: ^3.23.8
+ specifier: 3.23.8
version: 3.23.8
devDependencies:
'@eslint/js':
- specifier: ^9.13.0
+ specifier: 9.15.0
version: 9.15.0
'@rollup/plugin-commonjs':
specifier: 25.0.8
@@ -741,8 +823,8 @@ importers:
specifier: 11.1.6
version: 11.1.6(rollup@2.79.2)(tslib@2.8.0)(typescript@5.6.3)
'@solana/web3.js':
- specifier: 1.95.4
- version: 1.95.4(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.10)
+ specifier: 1.95.5
+ version: 1.95.5(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.10)
'@types/fluent-ffmpeg':
specifier: 2.1.27
version: 2.1.27
@@ -750,13 +832,13 @@ importers:
specifier: 29.5.14
version: 29.5.14
'@types/mocha':
- specifier: ^10.0.9
+ specifier: 10.0.10
version: 10.0.10
'@types/node':
specifier: 22.8.4
version: 22.8.4
'@types/pdfjs-dist':
- specifier: ^2.10.378
+ specifier: 2.10.378
version: 2.10.378(encoding@0.1.13)
'@types/tar':
specifier: 6.1.13
@@ -795,8 +877,8 @@ importers:
specifier: 3.1.7
version: 3.1.7
pm2:
- specifier: 5.4.2
- version: 5.4.2(bufferutil@4.0.8)(utf-8-validate@5.0.10)
+ specifier: 5.4.3
+ version: 5.4.3(bufferutil@4.0.8)(utf-8-validate@5.0.10)
prettier:
specifier: 3.3.3
version: 3.3.3
@@ -816,7 +898,7 @@ importers:
specifier: 2.8.0
version: 2.8.0
tsup:
- specifier: ^8.3.5
+ specifier: 8.3.5
version: 8.3.5(@swc/core@1.9.3(@swc/helpers@0.5.15))(jiti@2.4.0)(postcss@8.4.49)(typescript@5.6.3)(yaml@2.6.1)
typescript:
specifier: 5.6.3
@@ -825,14 +907,14 @@ importers:
packages/create-eliza-app:
dependencies:
citty:
- specifier: ^0.1.6
+ specifier: 0.1.6
version: 0.1.6
giget:
- specifier: ^1.2.3
+ specifier: 1.2.3
version: 1.2.3
devDependencies:
automd:
- specifier: ^0.3.12
+ specifier: 0.3.12
version: 0.3.12
eslint:
specifier: 9.13.0
@@ -847,20 +929,35 @@ importers:
specifier: 0.5.4
version: 0.5.4(@typescript-eslint/eslint-plugin@8.12.2(@typescript-eslint/parser@8.12.2(eslint@9.13.0(jiti@2.4.0))(typescript@5.6.3))(eslint@9.13.0(jiti@2.4.0))(typescript@5.6.3))(eslint@9.13.0(jiti@2.4.0))(typescript@5.6.3)(vitest@2.1.5(@types/node@22.8.4)(jsdom@25.0.1(bufferutil@4.0.8)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.36.0))
jiti:
- specifier: ^2.4.0
+ specifier: 2.4.0
version: 2.4.0
unbuild:
- specifier: ^2.0.0
+ specifier: 2.0.0
version: 2.0.0(typescript@5.6.3)
- packages/plugin-bootstrap:
+ packages/plugin-0g:
dependencies:
+ '@0glabs/0g-ts-sdk':
+ specifier: 0.2.1
+ version: 0.2.1(bufferutil@4.0.8)(ethers@6.13.4(bufferutil@4.0.8)(utf-8-validate@5.0.10))(utf-8-validate@5.0.10)
'@ai16z/eliza':
specifier: workspace:*
version: link:../core
+ ethers:
+ specifier: ^6.0.0
+ version: 6.13.4(bufferutil@4.0.8)(utf-8-validate@5.0.10)
tsup:
specifier: ^8.3.5
version: 8.3.5(@swc/core@1.9.3(@swc/helpers@0.5.15))(jiti@2.4.0)(postcss@8.4.49)(typescript@5.6.3)(yaml@2.6.1)
+
+ packages/plugin-bootstrap:
+ dependencies:
+ '@ai16z/eliza':
+ specifier: workspace:*
+ version: link:../core
+ tsup:
+ specifier: 8.3.5
+ version: 8.3.5(@swc/core@1.9.3(@swc/helpers@0.5.15))(jiti@2.4.0)(postcss@8.4.49)(typescript@5.6.3)(yaml@2.6.1)
whatwg-url:
specifier: 7.1.0
version: 7.1.0
@@ -881,29 +978,41 @@ importers:
packages/plugin-coinbase:
dependencies:
'@ai16z/eliza':
- specifier: ^0.1.3
- version: 0.1.3(@google-cloud/vertexai@1.9.0(encoding@0.1.13))(encoding@0.1.13)(react@18.3.1)(sswr@2.1.0(svelte@5.2.7))(svelte@5.2.7)
+ specifier: 0.1.3
+ version: 0.1.3(@google-cloud/vertexai@1.9.0(encoding@0.1.13))(encoding@0.1.13)(react@18.3.1)(sswr@2.1.0(svelte@5.2.7))(svelte@5.2.7)(vue@3.5.13(typescript@5.6.3))
coinbase-api:
- specifier: ^1.0.5
+ specifier: 1.0.5
version: 1.0.5(bufferutil@4.0.8)(utf-8-validate@5.0.10)
onnxruntime-node:
- specifier: ^1.20.0
+ specifier: 1.20.1
version: 1.20.1
+ vue:
+ specifier: 3.5.13
+ version: 3.5.13(typescript@5.6.3)
whatwg-url:
specifier: 7.1.0
version: 7.1.0
devDependencies:
tsup:
- specifier: ^8.3.5
+ specifier: 8.3.5
version: 8.3.5(@swc/core@1.9.3(@swc/helpers@0.5.15))(jiti@2.4.0)(postcss@8.4.49)(typescript@5.6.3)(yaml@2.6.1)
+ packages/plugin-conflux:
+ dependencies:
+ '@ai16z/eliza':
+ specifier: workspace:*
+ version: link:../core
+ cive:
+ specifier: ^0.7.1
+ version: 0.7.1(bufferutil@4.0.8)(typescript@5.6.3)(utf-8-validate@5.0.10)
+
packages/plugin-image-generation:
dependencies:
'@ai16z/eliza':
specifier: workspace:*
version: link:../core
tsup:
- specifier: ^8.3.5
+ specifier: 8.3.5
version: 8.3.5(@swc/core@1.9.3(@swc/helpers@0.5.15))(jiti@2.4.0)(postcss@8.4.49)(typescript@5.6.3)(yaml@2.6.1)
whatwg-url:
specifier: 7.1.0
@@ -931,8 +1040,8 @@ importers:
specifier: 1.34.0
version: 1.34.0(playwright@1.48.2)
'@echogarden/espeak-ng-emscripten':
- specifier: 0.3.0
- version: 0.3.0
+ specifier: 0.3.3
+ version: 0.3.3
'@echogarden/kissfft-wasm':
specifier: 0.2.0
version: 0.2.0
@@ -943,10 +1052,10 @@ importers:
specifier: 3.0.2
version: 3.0.2
'@opendocsg/pdf2md':
- specifier: 0.1.31
- version: 0.1.31(encoding@0.1.13)
+ specifier: 0.1.32
+ version: 0.1.32(encoding@0.1.13)
'@types/uuid':
- specifier: ^10.0.0
+ specifier: 10.0.0
version: 10.0.0
alawmulaw:
specifier: 6.0.0
@@ -970,7 +1079,7 @@ importers:
specifier: 1.6.0
version: 1.6.0
echogarden:
- specifier: ^2.0.7
+ specifier: 2.0.7
version: 2.0.7(bufferutil@4.0.8)(canvas@2.11.2(encoding@0.1.13))(encoding@0.1.13)(utf-8-validate@5.0.10)(zod@3.23.8)
espeak-ng:
specifier: 1.0.2
@@ -991,7 +1100,7 @@ importers:
specifier: 6.7.1
version: 6.7.1(encoding@0.1.13)
gif-frames:
- specifier: ^0.4.1
+ specifier: 0.4.1
version: 0.4.1
glob:
specifier: 11.0.0
@@ -1033,7 +1142,7 @@ importers:
specifier: 0.1.18
version: 0.1.18
onnxruntime-node:
- specifier: ^1.20.0
+ specifier: 1.20.1
version: 1.20.1
pdfjs-dist:
specifier: 4.7.76
@@ -1042,8 +1151,8 @@ importers:
specifier: 1.48.2
version: 1.48.2
pm2:
- specifier: 5.4.2
- version: 5.4.2(bufferutil@4.0.8)(utf-8-validate@5.0.10)
+ specifier: 5.4.3
+ version: 5.4.3(bufferutil@4.0.8)(utf-8-validate@5.0.10)
puppeteer-extra:
specifier: 3.3.6
version: 3.3.6(puppeteer-core@19.11.1(bufferutil@4.0.8)(encoding@0.1.13)(typescript@5.6.3)(utf-8-validate@5.0.10))(puppeteer@19.11.1(bufferutil@4.0.8)(encoding@0.1.13)(typescript@5.6.3)(utf-8-validate@5.0.10))
@@ -1051,7 +1160,7 @@ importers:
specifier: 2.0.1
version: 2.0.1(bufferutil@4.0.8)(encoding@0.1.13)(puppeteer-core@19.11.1(bufferutil@4.0.8)(encoding@0.1.13)(typescript@5.6.3)(utf-8-validate@5.0.10))(typescript@5.6.3)(utf-8-validate@5.0.10)
sharp:
- specifier: ^0.33.5
+ specifier: 0.33.5
version: 0.33.5
srt:
specifier: 0.0.3
@@ -1100,7 +1209,7 @@ importers:
specifier: 0.5.4
version: 0.5.4(@typescript-eslint/eslint-plugin@8.12.2(@typescript-eslint/parser@8.12.2(eslint@9.13.0(jiti@2.4.0))(typescript@5.6.3))(eslint@9.13.0(jiti@2.4.0))(typescript@5.6.3))(eslint@9.13.0(jiti@2.4.0))(typescript@5.6.3)(vitest@2.1.5(@types/node@22.8.4)(jsdom@25.0.1(bufferutil@4.0.8)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.36.0))
tsup:
- specifier: ^8.3.5
+ specifier: 8.3.5
version: 8.3.5(@swc/core@1.9.3(@swc/helpers@0.5.15))(jiti@2.4.0)(postcss@8.4.49)(typescript@5.6.3)(yaml@2.6.1)
packages/plugin-solana:
@@ -1112,14 +1221,14 @@ importers:
specifier: workspace:*
version: link:../plugin-trustdb
'@coral-xyz/anchor':
- specifier: ^0.30.1
+ specifier: 0.30.1
version: 0.30.1(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.10)
'@solana/spl-token':
specifier: 0.4.9
- version: 0.4.9(@solana/web3.js@1.95.4(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(encoding@0.1.13)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.6.3)(utf-8-validate@5.0.10)
+ version: 0.4.9(@solana/web3.js@1.95.5(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(encoding@0.1.13)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.6.3)(utf-8-validate@5.0.10)
'@solana/web3.js':
- specifier: 1.95.4
- version: 1.95.4(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.10)
+ specifier: 1.95.5
+ version: 1.95.5(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.10)
bignumber:
specifier: 1.1.0
version: 1.1.0
@@ -1127,7 +1236,7 @@ importers:
specifier: 9.1.2
version: 9.1.2
bs58:
- specifier: ^6.0.0
+ specifier: 6.0.0
version: 6.0.0
node-cache:
specifier: 5.1.2
@@ -1136,7 +1245,7 @@ importers:
specifier: 1.3.2
version: 1.3.2(bufferutil@4.0.8)(encoding@0.1.13)(fastestsmallesttextencoderdecoder@1.0.22)(rollup@4.27.4)(typescript@5.6.3)(utf-8-validate@5.0.10)
tsup:
- specifier: ^8.3.5
+ specifier: 8.3.5
version: 8.3.5(@swc/core@1.9.3(@swc/helpers@0.5.15))(jiti@2.4.0)(postcss@8.4.49)(typescript@5.6.3)(yaml@2.6.1)
whatwg-url:
specifier: 7.1.0
@@ -1164,22 +1273,22 @@ importers:
specifier: workspace:*
version: link:../plugin-trustdb
'@avnu/avnu-sdk':
- specifier: ^2.1.1
+ specifier: 2.1.1
version: 2.1.1(ethers@6.13.4(bufferutil@4.0.8)(utf-8-validate@5.0.10))(qs@6.13.0)(starknet@6.18.0(encoding@0.1.13))
'@uniswap/sdk-core':
- specifier: ^6.0.0
+ specifier: 6.0.0
version: 6.0.0
'@unruggable_starknet/core':
- specifier: ^0.1.0
+ specifier: 0.1.0
version: 0.1.0(starknet@6.18.0(encoding@0.1.13))
starknet:
- specifier: ^6.17.0
+ specifier: 6.18.0
version: 6.18.0(encoding@0.1.13)
tsup:
- specifier: ^8.3.5
+ specifier: 8.3.5
version: 8.3.5(@swc/core@1.9.3(@swc/helpers@0.5.15))(jiti@2.4.0)(postcss@8.4.49)(typescript@5.6.3)(yaml@2.6.1)
vitest:
- specifier: ^2.1.4
+ specifier: 2.1.5
version: 2.1.5(@types/node@22.8.4)(jsdom@25.0.1(bufferutil@4.0.8)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.36.0)
whatwg-url:
specifier: 7.1.0
@@ -1204,23 +1313,23 @@ importers:
specifier: workspace:*
version: link:../core
dompurify:
- specifier: 3.2.0
- version: 3.2.0
+ specifier: 3.2.1
+ version: 3.2.1
tsup:
- specifier: ^8.3.5
+ specifier: 8.3.5
version: 8.3.5(@swc/core@1.9.3(@swc/helpers@0.5.15))(jiti@2.4.0)(postcss@8.4.49)(typescript@5.6.3)(yaml@2.6.1)
uuid:
specifier: 11.0.2
version: 11.0.2
vitest:
- specifier: ^2.1.4
+ specifier: 2.1.5
version: 2.1.5(@types/node@22.8.4)(jsdom@25.0.1(bufferutil@4.0.8)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.36.0)
whatwg-url:
specifier: 7.1.0
version: 7.1.0
devDependencies:
'@types/dompurify':
- specifier: ^3.2.0
+ specifier: 3.2.0
version: 3.2.0
eslint:
specifier: 9.13.0
@@ -1241,7 +1350,7 @@ importers:
specifier: workspace:*
version: link:../core
tsup:
- specifier: ^8.3.5
+ specifier: 8.3.5
version: 8.3.5(@swc/core@1.9.3(@swc/helpers@0.5.15))(jiti@2.4.0)(postcss@8.4.49)(typescript@5.6.3)(yaml@2.6.1)
whatwg-url:
specifier: 7.1.0
@@ -1262,9 +1371,17 @@ importers:
packages:
+ '@0glabs/0g-ts-sdk@0.2.1':
+ resolution: {integrity: sha512-IJRD3D+5flNZIl32k/7D45yYvn9AjMeDdkhMr4Y/qo6nFE40HqYRaSlk6ZNI+MjaRzbDxMErrFzQcVkYH/DARg==}
+ peerDependencies:
+ ethers: 6.13.1
+
'@adraffy/ens-normalize@1.10.1':
resolution: {integrity: sha512-96Z2IP3mYmF1Xg2cDm8f1gWGf/HUVedQ3FMifV4kG/PQ4yEP51xDtRAEfhVNt5f/uzpNkZHwWQuUcu6D6K+Ekw==}
+ '@adraffy/ens-normalize@1.11.0':
+ resolution: {integrity: sha512-/3DDPKHqqIqxUULp8yP4zODUY1i+2xvVWsv8A79xGWdCAG+8sb0hRh0Rk2QyOJUnnbyPUAZYcpBuRe3nS2OIUg==}
+
'@ai-sdk/anthropic@0.0.53':
resolution: {integrity: sha512-33w5pmQINRRYwppgMhXY/y5ZIW6cbIhbuKbZQmy8SKZvtLBI2gM7H0QN/cH3nv0OmR4YsUw8L3DYUNlQs5hfEA==}
engines: {node: '>=18'}
@@ -2428,6 +2545,9 @@ packages:
resolution: {integrity: sha512-d7TeUl5t+TOMJe7/CRYtf+x6hbd8N25DtH7guQTIjjr3AFVortxiAIgNejGvVqy0by4eNByw+oVil15oqxz2Eg==}
deprecated: This project has been renamed to @ghostery/adblocker. Install using @ghostery/adblocker instead
+ '@coinbase/coinbase-sdk@0.10.0':
+ resolution: {integrity: sha512-sqLH7dE/0XSn5jHddjVrC1PR77sQUEytYcQAlH2d8STqRARcvddxVAByECUIL32MpbdJY7Wca3KfSa6qo811Mg==}
+
'@colors/colors@1.5.0':
resolution: {integrity: sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==}
engines: {node: '>=0.1.90'}
@@ -2812,7 +2932,6 @@ packages:
resolution: {integrity: sha512-hArn9FF5ZYi1IkxdJEVnJi+OxlwLV0NJYWpKXsmNOojtGtAZHxmsELA+MZlu2KW1F/K1/nt7lFOfcMXNYweq9w==}
version: 0.17.0
engines: {node: '>=16.11.0'}
- deprecated: This version uses deprecated encryption modes. Please use a newer version.
'@discordjs/ws@1.1.1':
resolution: {integrity: sha512-PZ+vLpxGCRtmr2RMkqh8Zp+BenUaJqlS6xhgWKEZcgC/vfHLEzpHtKkB0sl3nZWpwtcKk6YWy+pU3okL2I97FA==}
@@ -2883,12 +3002,6 @@ packages:
react: ^18.0.0
react-dom: ^18.0.0
- '@docusaurus/module-type-aliases@3.6.0':
- resolution: {integrity: sha512-szTrIN/6/fuk0xkf3XbRfdTFJzRQ8d1s3sQj5++58wltrT7v3yn1149oc9ryYjMpRcbsarGloQwMu7ofPe4XPg==}
- peerDependencies:
- react: '*'
- react-dom: '*'
-
'@docusaurus/module-type-aliases@3.6.3':
resolution: {integrity: sha512-MjaXX9PN/k5ugNvfRZdWyKWq4FsrhN4LEXaj0pEmMebJuBNlFeGyKQUa9DRhJHpadNaiMLrbo9m3U7Ig5YlsZg==}
peerDependencies:
@@ -3020,12 +3133,6 @@ packages:
resolution: {integrity: sha512-Gb0regclToVlngSIIwUCtBMQBq48qVUaN1XQNKW4XwlsgUyk0vP01LULdqbem7czSwIeBAFXFoORJ0RPX7ht/w==}
engines: {node: '>=18.0'}
- '@docusaurus/types@3.6.0':
- resolution: {integrity: sha512-jADLgoZGWhAzThr+mRiyuFD4OUzt6jHnb7NRArRKorgxckqUBaPyFOau9hhbcSTHtU6ceyeWjN7FDt7uG2Hplw==}
- peerDependencies:
- react: ^18.0.0
- react-dom: ^18.0.0
-
'@docusaurus/types@3.6.3':
resolution: {integrity: sha512-xD9oTGDrouWzefkhe9ogB2fDV96/82cRpNGx2HIvI5L87JHNhQVIWimQ/3JIiiX/TEd5S9s+VO6FFguwKNRVow==}
peerDependencies:
@@ -3049,9 +3156,6 @@ packages:
engines: {node: '>=18'}
os: [win32, darwin, linux]
- '@echogarden/espeak-ng-emscripten@0.3.0':
- resolution: {integrity: sha512-ukSH2lnIRJqthW07lHfEPUUx59OrFovso8bicwbIT4MV/0jvE15nKv7Uk73fwZQSpo9Y+8Lpyr24nP+AJ5AJOA==}
-
'@echogarden/espeak-ng-emscripten@0.3.3':
resolution: {integrity: sha512-TvSwLnB0vuqIUptvHZyr63Ywj2m7ureIK864O8aoyw9WqEqHE1x5weBzy/1/soZ4BkEkRvurlLF7ue+tEhyatw==}
@@ -3091,7 +3195,7 @@ packages:
'@echogarden/transformers-nodejs-lite@2.17.1-lite.3':
resolution: {integrity: sha512-qD9kvrL1xmce0iiiNEyqq2GW1qoksqvdOpww3Gsgqx/O9tdU/M2R78fji9opY+QU9u8OKH9L+ZzsOQdF5FixZA==}
peerDependencies:
- onnxruntime-node: ^1.20.0
+ onnxruntime-node: 1.20.1
'@emnapi/core@1.3.1':
resolution: {integrity: sha512-pVGjBIt1Y6gg3EJN8jTcfpP/+uuRksIo055oE/OBkDNcjZqVbfkWCksG1Jp4yZnj3iKWyWX8fdG/j6UDYPbFog==}
@@ -3584,6 +3688,21 @@ packages:
'@ethersproject/strings@5.7.0':
resolution: {integrity: sha512-/9nu+lj0YswRNSH0NXYqrh8775XNyEdUQAuf3f+SmOrnVewcJ5SBNAjF7lpgehKi4abvNNXyf+HX86czCdJ8Mg==}
+ '@floating-ui/core@1.6.8':
+ resolution: {integrity: sha512-7XJ9cPU+yI2QeLS+FCSlqNFZJq8arvswefkZrYI1yQBbftw6FyrZOxYSh+9S7z7TpeWlRt9zJ5IhM1WIL334jA==}
+
+ '@floating-ui/dom@1.6.12':
+ resolution: {integrity: sha512-NP83c0HjokcGVEMeoStg317VD9W7eDlGK7457dMBANbKA6GJZdc7rjujdgqzTaz93jkGgc5P/jeWbaCHnMNc+w==}
+
+ '@floating-ui/react-dom@2.1.2':
+ resolution: {integrity: sha512-06okr5cgPzMNBy+Ycse2A6udMi4bqwW/zgBF/rwjcNqWkyr82Mcg8b0vjX8OJpZFy/FKjJmw6wV7t44kK6kW7A==}
+ peerDependencies:
+ react: '>=16.8.0'
+ react-dom: '>=16.8.0'
+
+ '@floating-ui/utils@0.2.8':
+ resolution: {integrity: sha512-kym7SodPp8/wloecOpcmSnWJsK7M0E5Wg8UcFA+uO4B9s5d0ywXOEro/8HM9x0rW+TljRzul/14UYz3TleT3ig==}
+
'@google-cloud/vertexai@1.9.0':
resolution: {integrity: sha512-8brlcJwFXI4fPuBtsDNQqCdWZmz8gV9jeEKOU0vc5H2SjehCQpXK/NwuSEr916zbhlBHtg/sU37qQQdgvh5BRA==}
engines: {node: '>=18.0.0'}
@@ -3878,8 +3997,8 @@ packages:
'@leichtgewicht/ip-codec@2.0.5':
resolution: {integrity: sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw==}
- '@lerna/create@8.1.9':
- resolution: {integrity: sha512-DPnl5lPX4v49eVxEbJnAizrpMdMTBz1qykZrAbBul9rfgk531v8oAt+Pm6O/rpAleRombNM7FJb5rYGzBJatOQ==}
+ '@lerna/create@8.1.5':
+ resolution: {integrity: sha512-Ku8yTGgeumayvMr8sml72EPb6WaoJhRjMTkMZrKSJtcLNDBlDpKwyUxDxNTBNBRUYWUuJCnj7eUH7pDNuc9odQ==}
engines: {node: '>=18.0.0'}
'@mapbox/node-pre-gyp@1.0.11':
@@ -3911,6 +4030,10 @@ packages:
'@noble/curves@1.3.0':
resolution: {integrity: sha512-t01iSXPuN+Eqzb4eBX0S5oubSqXbK/xXa1Ne18Hj8f9pStxztHCE2gfboSp/dZRLSqfuLpRK2nDXDK+W9puocA==}
+ '@noble/curves@1.6.0':
+ resolution: {integrity: sha512-TlaHRXDehJuRNR9TfZDNQ45mMEd5dwUwmicsafcIX4SsNiqnCHKjE/1alYPd/lDRVhxdhUAlv8uEhMCI5zjIJQ==}
+ engines: {node: ^14.21.3 || >=16}
+
'@noble/curves@1.7.0':
resolution: {integrity: sha512-UTMhXK9SeDhFJVrHeUJ5uZlI6ajXg10O6Ddocf9S6GjbSBVZsJo88HzKwXznNfGpMTRDyJkqMjNDPYgf0qFWnw==}
engines: {node: ^14.21.3 || >=16}
@@ -3931,6 +4054,10 @@ packages:
resolution: {integrity: sha512-YUULf0Uk4/mAA89w+k3+yUYh6NrEvxZa5T6SY3wlMvE2chHkxFUUIDI8/XW1QSC357iA5pSnqt7XEhvFOqmDyQ==}
engines: {node: ^14.21.3 || >=16}
+ '@noble/hashes@1.6.1':
+ resolution: {integrity: sha512-pq5D8h10hHBjyqX+cfBm0i8JUXJ0UhczFc4r74zbuT9XgewFo2E3J1cOaGtdZynILNmQ685YWGzGE1Zv6io50w==}
+ engines: {node: ^14.21.3 || >=16}
+
'@node-llama-cpp/linux-arm64@3.1.1':
resolution: {integrity: sha512-rrn1O9zmg8L47e16YlbGI3+Uw1Z8HCTNiBqnz+qcfH2H6HnHd1IenM1CgR9+PVODCnUXE7ErN2moto1XsOxifQ==}
engines: {node: '>=18.0.0'}
@@ -4013,8 +4140,8 @@ packages:
resolution: {integrity: sha512-OrcNPXdpSl9UX7qPVRWbmWMCSXrcDa2M9DvrbOTj7ao1S4PlqVFYv9/yLKMkrJKZ/V5A/kDBC690or307i26Og==}
engines: {node: ^16.14.0 || >=18.0.0}
- '@npmcli/arborist@7.5.4':
- resolution: {integrity: sha512-nWtIc6QwwoUORCRNzKx4ypHqCk3drI+5aeYdMTQQiRCcn4lOOgfQh7WyZobGYTxXPSq1VwV53lkpN/BRlRk08g==}
+ '@npmcli/arborist@7.5.3':
+ resolution: {integrity: sha512-7gbMdDNSYUzi0j2mpb6FoXRg3BxXWplMQZH1MZlvNjSdWFObaUz2Ssvo0Nlh2xmWks1OPo+gpsE6qxpT/5M7lQ==}
engines: {node: ^16.14.0 || >=18.0.0}
hasBin: true
@@ -4067,67 +4194,74 @@ packages:
resolution: {integrity: sha512-y7efHHwghQfk28G2z3tlZ67pLG0XdfYbcVG26r7YIXALRsrVQcTq4/tdenSmdOrEsNahIYA/eh8aEVROWGFUDg==}
engines: {node: ^16.14.0 || >=18.0.0}
- '@nx/devkit@20.1.3':
- resolution: {integrity: sha512-+bNCRNSHKS7SS4Q2xI/p4hhd4mIibIbeF+hpF3TLO5wxyXbrYGSdhCVK5SwclwWUN/KhcKQjOrVGW5CKAm7HAw==}
+ '@nrwl/devkit@19.8.12':
+ resolution: {integrity: sha512-FgdBL20xGC7JCI2ctBkWC8GFJKfI/uQai+SLQBUyUJr1WcMV2rYfHz2MMWWPxOHcU0RDRanvlQFibx0xGYyqtg==}
+
+ '@nrwl/tao@19.8.12':
+ resolution: {integrity: sha512-SBO/8yc9IxD0iiAFbjOZvt1g0HI+9oZ5C+KEF+IiRnIpg4/oYfqKJXCRJXB8vstXRpX+NNPM0OlSaCC75oIZcQ==}
+ hasBin: true
+
+ '@nx/devkit@19.8.12':
+ resolution: {integrity: sha512-BRLbRj0yYL1P9XivDYTC0sfiPt+0Vms0DkJ3nDW8uPPt1romRI3vYdPBfsgaFCqg8ieFO4j94VjAwr5baUt3Gg==}
peerDependencies:
nx: '>= 19 <= 21'
- '@nx/nx-darwin-arm64@20.1.3':
- resolution: {integrity: sha512-m0Rwawht7Jwq6u2QPmAtsv+khFsTUIZUfiO1kXGcKOX3nQdJ7i82zLRd5yGbrDTAyRbAsgWO3v8zWQyhC1oGjw==}
+ '@nx/nx-darwin-arm64@19.8.12':
+ resolution: {integrity: sha512-0MPAE/k0G7IL8z09w+/5an1vLo5sPJn2m9pv3vYNBT3WySc7iLxa5bLoJNVk1R8yFCjvoFo+1OmUgCsfRiPf/g==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [darwin]
- '@nx/nx-darwin-x64@20.1.3':
- resolution: {integrity: sha512-WsQK1sxOJFzD0vOtFqSHpLzWuFO4vG7G1PUyJ1Y5mPo4vbRslqoAUTqF7n42bBRPY/lE2aT7BqAAj8hm4PgcnQ==}
+ '@nx/nx-darwin-x64@19.8.12':
+ resolution: {integrity: sha512-Ak+SKDRyVWpBQSuAYuLByt3eZQUtOxTLY1S7Z1Lef9guh2n2ziBMNYuZPVZyjzWkswcX1dLS8LSfT3qnQ1MQMw==}
engines: {node: '>= 10'}
cpu: [x64]
os: [darwin]
- '@nx/nx-freebsd-x64@20.1.3':
- resolution: {integrity: sha512-HV57XMtCVPy/0LZtifcEHbOpVNKLTOBFUoUXkmGYBmAKfw7lccfF600/tunTCZ4aijsD6+opEeGHzlDUK0Ir1w==}
+ '@nx/nx-freebsd-x64@19.8.12':
+ resolution: {integrity: sha512-u//YheOyzNB8XXxfZKuGpdZgDRgH0gKGweE3dNy2O5Z4d1evByH1x3a5GaRFqF5Bpo8fKx3iI1q0NG7EnHfFIw==}
engines: {node: '>= 10'}
cpu: [x64]
os: [freebsd]
- '@nx/nx-linux-arm-gnueabihf@20.1.3':
- resolution: {integrity: sha512-RzP0vc4yhXktKxz7iiwVYFkgpyb5TN/lLGcKLMM4kjuyYJ0IUX58Kk5FDoqCy+HMKiMfGyTOT4fP+/UEsgW6qQ==}
+ '@nx/nx-linux-arm-gnueabihf@19.8.12':
+ resolution: {integrity: sha512-g6qatW6DsJdi9hzUOAyeuu7xFMfFZ/+FrbPH1sKHF4OR7c2YD9R/ATQvt50ojaoCkH3cDkMYaFF8CjbvutCZDw==}
engines: {node: '>= 10'}
cpu: [arm]
os: [linux]
- '@nx/nx-linux-arm64-gnu@20.1.3':
- resolution: {integrity: sha512-WCaU5AiGx21C3t3v4+d7nrA1r5Xc5Wk7yVxZFWh+mKHdcqk1JebDIr1qj/7yoKHD2R9k2Vp5x5Kd0pzAGS8AyA==}
+ '@nx/nx-linux-arm64-gnu@19.8.12':
+ resolution: {integrity: sha512-UAMUfySdVPlhGzYK+NvZprUQT7FmQJcLSA1odmkGaSAqMyqMeBZpOLymfpjVzoTFcyiGg8bv3pDBlN5xCWG4YA==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [linux]
- '@nx/nx-linux-arm64-musl@20.1.3':
- resolution: {integrity: sha512-lKAvR9jNyx/qvk3UZGYNJAoK5mkZc+rDD4gA23tOGYPjNrWHJEgbWycCk5A9tQ4QX4CskCNmkgQx0lOMdLeXsw==}
+ '@nx/nx-linux-arm64-musl@19.8.12':
+ resolution: {integrity: sha512-cay9nP6wvalW7s7UCWunikVpHpg+zU7+ZJ3lkahns/CMh8bXs4Q7FbPesbc9LNjh00pS247HmpXEWSYIA5MtSA==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [linux]
- '@nx/nx-linux-x64-gnu@20.1.3':
- resolution: {integrity: sha512-RKNm7RnTgCSl2HstDb/qMKO9r8o81EUe+UZB5fgjNR89PB757iHUX30kM0xbkiRZui1vIkMAvWcNsidxBnGGfg==}
+ '@nx/nx-linux-x64-gnu@19.8.12':
+ resolution: {integrity: sha512-EqKg+gqiyJBF5kedYy8PGBBQ1mKCYCK2d95mrOE3yP0a3ovBDGZnOIdoTRFEcT+C23rmbNhrfknqf6wpVFmH6w==}
engines: {node: '>= 10'}
cpu: [x64]
os: [linux]
- '@nx/nx-linux-x64-musl@20.1.3':
- resolution: {integrity: sha512-aCXEWt1WQDPLzgp5I+NfqaP0y4ZKi2aauZMnSO6KE54MnZmvB+B4HQMZvqHM3dfU0jluvLRBmVIPLeTHiCccrw==}
+ '@nx/nx-linux-x64-musl@19.8.12':
+ resolution: {integrity: sha512-GK5CzB/K3S/vSBA9K46lrY1CvXTuN9eIbuu37BlNQJN8h+Zw4tGv30DZ6FYIpubzAmUq2omPJkApbXQ/MmveUg==}
engines: {node: '>= 10'}
cpu: [x64]
os: [linux]
- '@nx/nx-win32-arm64-msvc@20.1.3':
- resolution: {integrity: sha512-625rRYFfoCTu73bjDZ+jOLU0lvEN2heiiUGlErc6GchfcWuIcZy16oyYQzZX69UQqryGkkZVTaoyMXhGS5p7Tg==}
+ '@nx/nx-win32-arm64-msvc@19.8.12':
+ resolution: {integrity: sha512-3oWgO9OlwldgPLYxKlbDJeLKwT6S09Btwj7+AZMpTSJ6r+jNkU2uZsB0M8Pa4yiSwKrj8V8EjIWMGHaPIqCz+Q==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [win32]
- '@nx/nx-win32-x64-msvc@20.1.3':
- resolution: {integrity: sha512-XUbxSB6vUWoixNyCXkaXGkeUy/syqFOBXVh5Wbi6bqwTJ5o6EFUxCnzK/JsK55dfOz+I/jMXJzDWYEDAsikTSA==}
+ '@nx/nx-win32-x64-msvc@19.8.12':
+ resolution: {integrity: sha512-VymDZDL/ZPO7hXgHp34G/nKBdI6JRzXcXhOVazPro4eFx42Tr3Aepx+A5Cnz85ZsV4KwoNku57RkBbg/p7V9Eg==}
engines: {node: '>= 10'}
cpu: [x64]
os: [win32]
@@ -4351,8 +4485,8 @@ packages:
resolution: {integrity: sha512-I5YPUtfWidh+OzyrlDahJsUpkpGK0kCTmDRbuqGmlCUzOtxdEkX3R4d6Cd08ijQYwkVXQJanPdbKuZBeV2NMaA==}
engines: {node: '>= 18'}
- '@opendocsg/pdf2md@0.1.31':
- resolution: {integrity: sha512-Pinl9WSL3P7pMeIdriQCYuBymspbGwt+Wic9ocoIGSYQuxccRC6fMzhRXAgO//MqwTSbgPiKHzYFE2v7Azd9gw==}
+ '@opendocsg/pdf2md@0.1.32':
+ resolution: {integrity: sha512-UK4qVuesmUcpPZXMeO8FwRqpCNwJRBTHcae4j+3Mr3bxrNqilZIIowdrzgcgn8fSQ2Dg/P4/0NoPkxAvf9D5rw==}
hasBin: true
'@opentelemetry/api@1.9.0':
@@ -4518,6 +4652,22 @@ packages:
typescript:
optional: true
+ '@radix-ui/primitive@1.1.0':
+ resolution: {integrity: sha512-4Z8dn6Upk0qk4P74xBhZ6Hd/w0mPEzOOLxy4xiPXOXqjF7jZS0VAKk7/x/H6FyY2zCkYJqePf1G5KmkmNJ4RBA==}
+
+ '@radix-ui/react-arrow@1.1.0':
+ resolution: {integrity: sha512-FmlW1rCg7hBpEBwFbjHwCW6AmWLQM6g/v0Sn8XbP9NvmSZ2San1FpQeyPtufzOMSIx7Y4dzjlHoifhp+7NkZhw==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
'@radix-ui/react-compose-refs@1.1.0':
resolution: {integrity: sha512-b4inOtiaOnYf9KWyO3jAeeCG6FeyfY6ldiEPanbUjWd+xIk5wZeHa8yVwmrJ2vderhu/BQvzCrJI0lHd+wIiqw==}
peerDependencies:
@@ -4527,6 +4677,146 @@ packages:
'@types/react':
optional: true
+ '@radix-ui/react-context@1.1.0':
+ resolution: {integrity: sha512-OKrckBy+sMEgYM/sMmqmErVn0kZqrHPJze+Ql3DzYsDDp0hl0L62nx/2122/Bvps1qz645jlcu2tD9lrRSdf8A==}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
+ '@radix-ui/react-context@1.1.1':
+ resolution: {integrity: sha512-UASk9zi+crv9WteK/NU4PLvOoL3OuE6BWVKNF6hPRBtYBDXQ2u5iu3O59zUlJiTVvkyuycnqrztsHVJwcK9K+Q==}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
+ '@radix-ui/react-dialog@1.1.2':
+ resolution: {integrity: sha512-Yj4dZtqa2o+kG61fzB0H2qUvmwBA2oyQroGLyNtBj1beo1khoQ3q1a2AO8rrQYjd8256CO9+N8L9tvsS+bnIyA==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
+ '@radix-ui/react-dismissable-layer@1.1.1':
+ resolution: {integrity: sha512-QSxg29lfr/xcev6kSz7MAlmDnzbP1eI/Dwn3Tp1ip0KT5CUELsxkekFEMVBEoykI3oV39hKT4TKZzBNMbcTZYQ==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
+ '@radix-ui/react-focus-guards@1.1.1':
+ resolution: {integrity: sha512-pSIwfrT1a6sIoDASCSpFwOasEwKTZWDw/iBdtnqKO7v6FeOzYJ7U53cPzYFVR3geGGXgVHaH+CdngrrAzqUGxg==}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
+ '@radix-ui/react-focus-scope@1.1.0':
+ resolution: {integrity: sha512-200UD8zylvEyL8Bx+z76RJnASR2gRMuxlgFCPAe/Q/679a/r0eK3MBVYMb7vZODZcffZBdob1EGnky78xmVvcA==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
+ '@radix-ui/react-id@1.1.0':
+ resolution: {integrity: sha512-EJUrI8yYh7WOjNOqpoJaf1jlFIH2LvtgAl+YcFqNCa+4hj64ZXmPkAKOFs/ukjz3byN6bdb/AVUqHkI8/uWWMA==}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
+ '@radix-ui/react-popper@1.2.0':
+ resolution: {integrity: sha512-ZnRMshKF43aBxVWPWvbj21+7TQCvhuULWJ4gNIKYpRlQt5xGRhLx66tMp8pya2UkGHTSlhpXwmjqltDYHhw7Vg==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
+ '@radix-ui/react-portal@1.1.2':
+ resolution: {integrity: sha512-WeDYLGPxJb/5EGBoedyJbT0MpoULmwnIPMJMSldkuiMsBAv7N1cRdsTWZWht9vpPOiN3qyiGAtbK2is47/uMFg==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
+ '@radix-ui/react-presence@1.1.1':
+ resolution: {integrity: sha512-IeFXVi4YS1K0wVZzXNrbaaUvIJ3qdY+/Ih4eHFhWA9SwGR9UDX7Ck8abvL57C4cv3wwMvUE0OG69Qc3NCcTe/A==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
+ '@radix-ui/react-primitive@2.0.0':
+ resolution: {integrity: sha512-ZSpFm0/uHa8zTvKBDjLFWLo8dkr4MBsiDLz0g3gMUwqgLHz9rTaRRGYDgvZPtBJgYCBKXkS9fzmoySgr8CO6Cw==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
+ '@radix-ui/react-separator@1.1.0':
+ resolution: {integrity: sha512-3uBAs+egzvJBDZAzvb/n4NxxOYpnspmWxO2u5NbZ8Y6FM/NdrGSF9bop3Cf6F6C71z1rTSn8KV0Fo2ZVd79lGA==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
'@radix-ui/react-slot@1.1.0':
resolution: {integrity: sha512-FUCf5XMfmW4dtYl69pdS4DbxKy8nj4M7SafBgPllysxmdachynNflAdp/gCsnYWNDnge6tI9onzMp5ARYc1KNw==}
peerDependencies:
@@ -4536,56 +4826,133 @@ packages:
'@types/react':
optional: true
- '@reflink/reflink-darwin-arm64@0.1.16':
- resolution: {integrity: sha512-s61AeZ0br2LtqOl2Rbq0k833hQ00sXJ+l9LGJmjM53dupWft3HEX9C5WUIMDDiU2Scx7f7UKAE4DvIvv7XjBWQ==}
- engines: {node: '>= 10'}
- cpu: [arm64]
- os: [darwin]
+ '@radix-ui/react-tooltip@1.1.4':
+ resolution: {integrity: sha512-QpObUH/ZlpaO4YgHSaYzrLO2VuO+ZBFFgGzjMUPwtiYnAzzNNDPJeEGRrT7qNOrWm/Jr08M1vlp+vTHtnSQ0Uw==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
+ '@radix-ui/react-use-callback-ref@1.1.0':
+ resolution: {integrity: sha512-CasTfvsy+frcFkbXtSJ2Zu9JHpN8TYKxkgJGWbjiZhFivxaeW7rMeZt7QELGVLaYVfFMsKHjb7Ak0nMEe+2Vfw==}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
+ '@radix-ui/react-use-controllable-state@1.1.0':
+ resolution: {integrity: sha512-MtfMVJiSr2NjzS0Aa90NPTnvTSg6C/JLCV7ma0W6+OMV78vd8OyRpID+Ng9LxzsPbLeuBnWBA1Nq30AtBIDChw==}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
+ '@radix-ui/react-use-escape-keydown@1.1.0':
+ resolution: {integrity: sha512-L7vwWlR1kTTQ3oh7g1O0CBF3YCyyTj8NmhLR+phShpyA50HCfBFKVJTpshm9PzLiKmehsrQzTYTpX9HvmC9rhw==}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
+ '@radix-ui/react-use-layout-effect@1.1.0':
+ resolution: {integrity: sha512-+FPE0rOdziWSrH9athwI1R0HDVbWlEhd+FR+aSDk4uWGmSJ9Z54sdZVDQPZAinJhJXwfT+qnj969mCsT2gfm5w==}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
+ '@radix-ui/react-use-rect@1.1.0':
+ resolution: {integrity: sha512-0Fmkebhr6PiseyZlYAOtLS+nb7jLmpqTrJyv61Pe68MKYW6OWdRE2kI70TaYY27u7H0lajqM3hSMMLFq18Z7nQ==}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
+ '@radix-ui/react-use-size@1.1.0':
+ resolution: {integrity: sha512-XW3/vWuIXHa+2Uwcc2ABSfcCledmXhhQPlGbfcRXbiUQI5Icjcg19BGCZVKKInYbvUCut/ufbbLLPFC5cbb1hw==}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
+ '@radix-ui/react-visually-hidden@1.1.0':
+ resolution: {integrity: sha512-N8MDZqtgCgG5S3aV60INAB475osJousYpZ4cTJ2cFbMpdHS5Y6loLTH8LPtkj2QN0x93J30HT/M3qJXM0+lyeQ==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
- '@reflink/reflink-darwin-x64@0.1.16':
- resolution: {integrity: sha512-ssrJj3K0Euua2LAkA4ff5y693wGKUHfznrGeWWtMw2aoLZRAH+C9Ne5oQvmcPPEK6wa929nRhA0ABrvhUa9mvA==}
+ '@radix-ui/rect@1.1.0':
+ resolution: {integrity: sha512-A9+lCBZoaMJlVKcRBz2YByCG+Cp2t6nAnMnNba+XiWxnj6r4JUFqfsgwocMBZU9LPtdxC6wB56ySYpc7LQIoJg==}
+
+ '@reflink/reflink-darwin-arm64@0.1.17':
+ resolution: {integrity: sha512-ATlkKHl/9wFwZNezuUfHBGR5O4OpXs5ikD+3OKNOl+CzSPUY95ZSm3DyVUaTfGM5O7rCC1N7PXv/Q73uEdy/wA==}
engines: {node: '>= 10'}
- cpu: [x64]
+ cpu: [arm64]
os: [darwin]
- '@reflink/reflink-linux-arm64-gnu@0.1.16':
- resolution: {integrity: sha512-I4PCAcsAKFRSfOSHdz+rck6ARg4jzo4PvVqcnS2odcXy1Inbehxk3IcKBpHnuuDbXRCUoWV6NP7wSx1wG7ZBuA==}
+ '@reflink/reflink-linux-arm64-gnu@0.1.17':
+ resolution: {integrity: sha512-RTKNhBHn7rvQyqciqY5yylcsdOcxuFbTbg81fRR/b8WOTNJ6WXDQpdX0AcL38IC7VYSe4fRhqwvyEuVg/d5wbg==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [linux]
- '@reflink/reflink-linux-arm64-musl@0.1.16':
- resolution: {integrity: sha512-xzcdtfwTXWUzN5yHdJgCdyAZSBO0faSgTqGdT4QKDxGHmiokf7+tgVBd6bU2nT4sL26AiIFyIBwp8buXGQYyaw==}
+ '@reflink/reflink-linux-arm64-musl@0.1.17':
+ resolution: {integrity: sha512-dCKQLGkDiAjlwWGZvkzeRwY51RZWPFgNx9QDJ1SKR1nGxC3/tNukyC8doG1ssFfBYTlo/YMfEk6SZXnxbbFaUg==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [linux]
- '@reflink/reflink-linux-x64-gnu@0.1.16':
- resolution: {integrity: sha512-4/jscn1A/hx6maOowUjcvIs7YBs0fj//1vxB16TdMYk3tH9FHNmMBv5Pvw8eeRDimAzHP9fQJ9/t4dR6HCf32w==}
+ '@reflink/reflink-linux-x64-gnu@0.1.17':
+ resolution: {integrity: sha512-RIfW4D5gQCS9svw9XvKQSO368/FQSs4Yo+t2buAdgg9KhWxBWcjmtm7z4jlaMRGBimQE4I86PFhtPrXHrcbufg==}
engines: {node: '>= 10'}
cpu: [x64]
os: [linux]
- '@reflink/reflink-linux-x64-musl@0.1.16':
- resolution: {integrity: sha512-03kRXoAXhS/ZKxU2TKax59mLyKP7mev0EoIs+yXejUQo6D4uU46j+Sc243xMp72jRTgbWV4hQykcov98KtXEKQ==}
+ '@reflink/reflink-linux-x64-musl@0.1.17':
+ resolution: {integrity: sha512-Ha6NXgIH0qbEpTWDIdqO94NMmcz3lxVzH17VeWjRQe05M7wxtB2ODpxEY6uTkJrNrP3T5fiX4DT0X1t0PJegfg==}
engines: {node: '>= 10'}
cpu: [x64]
os: [linux]
- '@reflink/reflink-win32-arm64-msvc@0.1.16':
- resolution: {integrity: sha512-N7r+6YB3vXijs7PF3eg306B5s82hGS2TzsMM4+B9DNN9sbvN2yV5HQw29zyCXHY9c9SLe5kEzERp0rsDtN+6TA==}
+ '@reflink/reflink-win32-arm64-msvc@0.1.17':
+ resolution: {integrity: sha512-eB2+v47QmAH2XKVykWLevCLSnJG+xSszcUiqc3LReMI4oa1yyR1L5Pa/WHs18ac8mPq6lsgSovdVO2voZVLb8g==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [win32]
- '@reflink/reflink-win32-x64-msvc@0.1.16':
- resolution: {integrity: sha512-CaslGjfhpvtjHqr8Cw1MhkYZAkcLWFiL1pMXOPv4fwngtLC5/OlcL/Y4Rw2QEZwDvPG3gaeY7pjF1NYEGnDrZA==}
+ '@reflink/reflink-win32-x64-msvc@0.1.17':
+ resolution: {integrity: sha512-S9mUCeVcty9vnekD9x5eSUvUqcTCha1Iscd0fN0PoXusj/IqaYcyMO9Vke9Qr/UFcKPQBFLj6F52b8PP3EaNsQ==}
engines: {node: '>= 10'}
cpu: [x64]
os: [win32]
- '@reflink/reflink@0.1.16':
- resolution: {integrity: sha512-i2zYt2FH1CE/1HUwK96HcwiahGhaS4wSCgaUnlIrl/4bxTnaZ0T/sYcLJ5VNSrbuczWjtyJ4WUROB+qMcRI9jA==}
+ '@reflink/reflink@0.1.17':
+ resolution: {integrity: sha512-+drVOToSW+6HouIpY0kFGC9DwETJJTBIS3UqUUxrR8C0bHRX93XYOgG6BEYqguOJA6+Qz0VfPt+CL3zSrsdjfg==}
engines: {node: '>= 10'}
'@remix-run/router@1.15.1':
@@ -4804,6 +5171,21 @@ packages:
'@scure/base@1.1.9':
resolution: {integrity: sha512-8YKhl8GHiNI/pU2VMaofa2Tor7PJRAjwQLBBuilkJ9L5+13yVbC7JO/wS7piioAvPSwR3JKM1IJ/u4xQzbcXKg==}
+ '@scure/base@1.2.1':
+ resolution: {integrity: sha512-DGmGtC8Tt63J5GfHgfl5CuAXh96VF/LD8K9Hr/Gv0J2lAoRGlPOMpqMpMbCTOoOJMZCk2Xt+DskdDyn6dEFdzQ==}
+
+ '@scure/bip32@1.5.0':
+ resolution: {integrity: sha512-8EnFYkqEQdnkuGBVpCzKxyIwDCBLDVj3oiX0EKUFre/tOjL/Hqba1D6n/8RcmaQy4f95qQFrO2A8Sr6ybh4NRw==}
+
+ '@scure/bip32@1.6.0':
+ resolution: {integrity: sha512-82q1QfklrUUdXJzjuRU7iG7D7XiFx5PHYVS0+oeNKhyDLT7WPqs6pBcM2W5ZdwOwKCwoE1Vy1se+DHjcXwCYnA==}
+
+ '@scure/bip39@1.4.0':
+ resolution: {integrity: sha512-BEEm6p8IueV/ZTfQLp/0vhw4NPnT9oWf5+28nvmeUICjP99f4vr2d+qc7AVGDDtwRep6ifR43Yed9ERVmiITzw==}
+
+ '@scure/bip39@1.5.0':
+ resolution: {integrity: sha512-Dop+ASYhnrwm9+HA/HwXg7j2ZqM6yk2fyLWb5znexjctFY3+E+eU8cIWI0Pql0Qx4hPZCijlGq4OL71g+Uz30A==}
+
'@scure/starknet@1.0.0':
resolution: {integrity: sha512-o5J57zY0f+2IL/mq8+AYJJ4Xpc1fOtDhr+mFQKbHnYFmm3WQrC+8zj2HEgxak1a+x86mhmBC1Kq305KUpVf0wg==}
@@ -5179,8 +5561,8 @@ packages:
resolution: {integrity: sha512-JBMGB0oR4lPttOZ5XiUGyvylwLQjt1CPJa6qQ5oM+MBCndfjz2TKKkw0eATlLLcYmq1jBVsNlJ2cD6ns2GR7lA==}
engines: {node: '>=16'}
- '@solana/web3.js@1.95.4':
- resolution: {integrity: sha512-sdewnNEA42ZSMxqkzdwEWi6fDgzwtJHaQa5ndUGEJYtoOnM6X5cvPmjoTUp7/k7bRrVAxfBgDnvQQHD6yhlLYw==}
+ '@solana/web3.js@1.95.5':
+ resolution: {integrity: sha512-hU9cBrbg1z6gEjLH9vwIckGBVB78Ijm0iZFNk4ocm5OD82piPwuk3MeQ1rfiKD9YQtr95krrcaopb49EmQJlRg==}
'@starknet-io/types-js@0.7.8':
resolution: {integrity: sha512-mjo2WPC/U88rGCjnkWDZ43zoByBGDIT20AZ0zd6hjFeAYu3wiuS1I6RiDb2vkF8f9BMCQ55VN3kuXCm6mjuQbw==}
@@ -5367,6 +5749,14 @@ packages:
resolution: {integrity: sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw==}
engines: {node: '>=14.16'}
+ '@tanstack/query-core@5.60.6':
+ resolution: {integrity: sha512-tI+k0KyCo1EBJ54vxK1kY24LWj673ujTydCZmzEZKAew4NqZzTaVQJEuaG1qKj2M03kUHN46rchLRd+TxVq/zQ==}
+
+ '@tanstack/react-query@5.61.0':
+ resolution: {integrity: sha512-SBzV27XAeCRBOQ8QcC94w2H1Md0+LI0gTWwc3qRJoaGuewKn5FNW4LSqwPFJZVEItfhMfGT7RpZuSFXjTi12pQ==}
+ peerDependencies:
+ react: ^18 || ^19
+
'@telegraf/types@7.1.0':
resolution: {integrity: sha512-kGevOIbpMcIlCDeorKGpwZmdH7kHbqlk/Yj6dEpJMKEQw5lk0KVQY0OLXaCswy8GqlIVLd5625OB+rAntP9xVw==}
@@ -5564,8 +5954,8 @@ packages:
'@types/express-serve-static-core@4.19.6':
resolution: {integrity: sha512-N4LZ2xG7DatVqhCZzOGb1Yi5lMbXSZcmdLDe9EzSndPV2HpWYWzRbaerl2n27irrm94EPpprqa8KpskPT085+A==}
- '@types/express-serve-static-core@5.0.1':
- resolution: {integrity: sha512-CRICJIl0N5cXDONAdlTv5ShATZ4HEwk6kDDIW2/w9qOWKg+NU/5F8wYRWCrONad0/UKkloNSmmyN/wX4rtpbVA==}
+ '@types/express-serve-static-core@5.0.2':
+ resolution: {integrity: sha512-vluaspfvWEtE4vcSDlKRNer52DvOGrB2xv6diXy6UKyKW0lqZiWHGNApSyxOv+8DE5Z27IzVvE7hNkxg7EXIcg==}
'@types/express@4.17.21':
resolution: {integrity: sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==}
@@ -5700,8 +6090,8 @@ packages:
'@types/pg@8.11.10':
resolution: {integrity: sha512-LczQUW4dbOQzsH2RQ5qoeJ6qJPdrcM/DcMLoqWQkMLMsq83J5lAX3LXjdkWdpscFy67JSOWDnh7Ny/sPFykmkg==}
- '@types/phoenix@1.6.5':
- resolution: {integrity: sha512-xegpDuR+z0UqG9fwHqNoy3rI7JDlvaPh2TY47Fl80oq6g+hXT+c/LEuE43X48clZ6lOfANl5WrPur9fYO1RJ/w==}
+ '@types/phoenix@1.6.6':
+ resolution: {integrity: sha512-PIzZZlEppgrpoT2QgbnDU+MMzuR6BbCjllj0bM70lWoejMeNJAxCchxnv7J3XFkI8MpygtRpzXrIlmWUBclP5A==}
'@types/prismjs@1.26.5':
resolution: {integrity: sha512-AUZTa7hQ2KY5L7AmtSiqxlhWxb4ina0yd8hNbl4TWuqnv/pFP0nDMb3YrfSBf4hJVGLh2YEIBfKaBW/9UEl6IQ==}
@@ -5760,6 +6150,9 @@ packages:
'@types/tar@6.1.13':
resolution: {integrity: sha512-IznnlmU5f4WcGTh2ltRu/Ijpmk8wiWXfF0VA4s+HPjHZgvFggk1YaIkbo5krX/zUCzWF8N/l4+W/LNxnvAJ8nw==}
+ '@types/trusted-types@2.0.7':
+ resolution: {integrity: sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==}
+
'@types/unist@2.0.11':
resolution: {integrity: sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==}
@@ -5793,8 +6186,8 @@ packages:
'@types/yauzl@2.10.3':
resolution: {integrity: sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==}
- '@typescript-eslint/eslint-plugin@8.12.2':
- resolution: {integrity: sha512-gQxbxM8mcxBwaEmWdtLCIGLfixBMHhQjBqR8sVWNTPpcj45WlYL2IObS/DNMLH1DBP0n8qz+aiiLTGfopPEebw==}
+ '@typescript-eslint/eslint-plugin@8.11.0':
+ resolution: {integrity: sha512-KhGn2LjW1PJT2A/GfDpiyOfS4a8xHQv2myUagTM5+zsormOmBlYsnQ6pobJ8XxJmh6hnHwa2Mbe3fPrDJoDhbA==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
'@typescript-eslint/parser': ^8.0.0 || ^8.0.0-alpha.0
@@ -5804,8 +6197,8 @@ packages:
typescript:
optional: true
- '@typescript-eslint/eslint-plugin@8.15.0':
- resolution: {integrity: sha512-+zkm9AR1Ds9uLWN3fkoeXgFppaQ+uEVtfOV62dDmsy9QCNqlRHWNEck4yarvRNrvRcHQLGfqBNui3cimoz8XAg==}
+ '@typescript-eslint/eslint-plugin@8.12.2':
+ resolution: {integrity: sha512-gQxbxM8mcxBwaEmWdtLCIGLfixBMHhQjBqR8sVWNTPpcj45WlYL2IObS/DNMLH1DBP0n8qz+aiiLTGfopPEebw==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
'@typescript-eslint/parser': ^8.0.0 || ^8.0.0-alpha.0
@@ -5815,8 +6208,8 @@ packages:
typescript:
optional: true
- '@typescript-eslint/parser@8.12.2':
- resolution: {integrity: sha512-MrvlXNfGPLH3Z+r7Tk+Z5moZAc0dzdVjTgUgwsdGweH7lydysQsnSww3nAmsq8blFuRD5VRlAr9YdEFw3e6PBw==}
+ '@typescript-eslint/parser@8.11.0':
+ resolution: {integrity: sha512-lmt73NeHdy1Q/2ul295Qy3uninSqi6wQI18XwSpm8w0ZbQXUpjCAWP1Vlv/obudoBiIjJVjlztjQ+d/Md98Yxg==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
eslint: ^8.57.0 || ^9.0.0
@@ -5825,8 +6218,8 @@ packages:
typescript:
optional: true
- '@typescript-eslint/parser@8.15.0':
- resolution: {integrity: sha512-7n59qFpghG4uazrF9qtGKBZXn7Oz4sOMm8dwNWDQY96Xlm2oX67eipqcblDj+oY1lLCbf1oltMZFpUso66Kl1A==}
+ '@typescript-eslint/parser@8.12.2':
+ resolution: {integrity: sha512-MrvlXNfGPLH3Z+r7Tk+Z5moZAc0dzdVjTgUgwsdGweH7lydysQsnSww3nAmsq8blFuRD5VRlAr9YdEFw3e6PBw==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
eslint: ^8.57.0 || ^9.0.0
@@ -5839,16 +6232,16 @@ packages:
resolution: {integrity: sha512-jjhdIE/FPF2B7Z1uzc6i3oWKbGcHb87Qw7AWj6jmEqNOfDFbJWtjt/XfwCpvNkpGWlcJaog5vTR+VV8+w9JflA==}
engines: {node: ^18.18.0 || >=20.0.0}
- '@typescript-eslint/scope-manager@8.12.2':
- resolution: {integrity: sha512-gPLpLtrj9aMHOvxJkSbDBmbRuYdtiEbnvO25bCMza3DhMjTQw0u7Y1M+YR5JPbMsXXnSPuCf5hfq0nEkQDL/JQ==}
+ '@typescript-eslint/scope-manager@8.11.0':
+ resolution: {integrity: sha512-Uholz7tWhXmA4r6epo+vaeV7yjdKy5QFCERMjs1kMVsLRKIrSdM6o21W2He9ftp5PP6aWOVpD5zvrvuHZC0bMQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- '@typescript-eslint/scope-manager@8.15.0':
- resolution: {integrity: sha512-QRGy8ADi4J7ii95xz4UoiymmmMd/zuy9azCaamnZ3FM8T5fZcex8UfJcjkiEZjJSztKfEBe3dZ5T/5RHAmw2mA==}
+ '@typescript-eslint/scope-manager@8.12.2':
+ resolution: {integrity: sha512-gPLpLtrj9aMHOvxJkSbDBmbRuYdtiEbnvO25bCMza3DhMjTQw0u7Y1M+YR5JPbMsXXnSPuCf5hfq0nEkQDL/JQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- '@typescript-eslint/type-utils@8.12.2':
- resolution: {integrity: sha512-bwuU4TAogPI+1q/IJSKuD4shBLc/d2vGcRT588q+jzayQyjVK2X6v/fbR4InY2U2sgf8MEvVCqEWUzYzgBNcGQ==}
+ '@typescript-eslint/type-utils@8.11.0':
+ resolution: {integrity: sha512-ItiMfJS6pQU0NIKAaybBKkuVzo6IdnAhPFZA/2Mba/uBjuPQPet/8+zh5GtLHwmuFRShZx+8lhIs7/QeDHflOg==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
typescript: '*'
@@ -5856,11 +6249,10 @@ packages:
typescript:
optional: true
- '@typescript-eslint/type-utils@8.15.0':
- resolution: {integrity: sha512-UU6uwXDoI3JGSXmcdnP5d8Fffa2KayOhUUqr/AiBnG1Gl7+7ut/oyagVeSkh7bxQ0zSXV9ptRh/4N15nkCqnpw==}
+ '@typescript-eslint/type-utils@8.12.2':
+ resolution: {integrity: sha512-bwuU4TAogPI+1q/IJSKuD4shBLc/d2vGcRT588q+jzayQyjVK2X6v/fbR4InY2U2sgf8MEvVCqEWUzYzgBNcGQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
- eslint: ^8.57.0 || ^9.0.0
typescript: '*'
peerDependenciesMeta:
typescript:
@@ -5870,12 +6262,12 @@ packages:
resolution: {integrity: sha512-iZqi+Ds1y4EDYUtlOOC+aUmxnE9xS/yCigkjA7XpTKV6nCBd3Hp/PRGGmdwnfkV2ThMyYldP1wRpm/id99spTQ==}
engines: {node: ^18.18.0 || >=20.0.0}
- '@typescript-eslint/types@8.12.2':
- resolution: {integrity: sha512-VwDwMF1SZ7wPBUZwmMdnDJ6sIFk4K4s+ALKLP6aIQsISkPv8jhiw65sAK6SuWODN/ix+m+HgbYDkH+zLjrzvOA==}
+ '@typescript-eslint/types@8.11.0':
+ resolution: {integrity: sha512-tn6sNMHf6EBAYMvmPUaKaVeYvhUsrE6x+bXQTxjQRp360h1giATU0WvgeEys1spbvb5R+VpNOZ+XJmjD8wOUHw==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- '@typescript-eslint/types@8.15.0':
- resolution: {integrity: sha512-n3Gt8Y/KyJNe0S3yDCD2RVKrHBC4gTUcLTebVBXacPy091E6tNspFLKRXlk3hwT4G55nfr1n2AdFqi/XMxzmPQ==}
+ '@typescript-eslint/types@8.12.2':
+ resolution: {integrity: sha512-VwDwMF1SZ7wPBUZwmMdnDJ6sIFk4K4s+ALKLP6aIQsISkPv8jhiw65sAK6SuWODN/ix+m+HgbYDkH+zLjrzvOA==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
'@typescript-eslint/typescript-estree@7.18.0':
@@ -5887,8 +6279,8 @@ packages:
typescript:
optional: true
- '@typescript-eslint/typescript-estree@8.12.2':
- resolution: {integrity: sha512-mME5MDwGe30Pq9zKPvyduyU86PH7aixwqYR2grTglAdB+AN8xXQ1vFGpYaUSJ5o5P/5znsSBeNcs5g5/2aQwow==}
+ '@typescript-eslint/typescript-estree@8.11.0':
+ resolution: {integrity: sha512-yHC3s1z1RCHoCz5t06gf7jH24rr3vns08XXhfEqzYpd6Hll3z/3g23JRi0jM8A47UFKNc3u/y5KIMx8Ynbjohg==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
typescript: '*'
@@ -5896,8 +6288,8 @@ packages:
typescript:
optional: true
- '@typescript-eslint/typescript-estree@8.15.0':
- resolution: {integrity: sha512-1eMp2JgNec/niZsR7ioFBlsh/Fk0oJbhaqO0jRyQBMgkz7RrFfkqF9lYYmBoGBaSiLnu8TAPQTwoTUiSTUW9dg==}
+ '@typescript-eslint/typescript-estree@8.12.2':
+ resolution: {integrity: sha512-mME5MDwGe30Pq9zKPvyduyU86PH7aixwqYR2grTglAdB+AN8xXQ1vFGpYaUSJ5o5P/5znsSBeNcs5g5/2aQwow==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
typescript: '*'
@@ -5911,32 +6303,28 @@ packages:
peerDependencies:
eslint: ^8.56.0
- '@typescript-eslint/utils@8.12.2':
- resolution: {integrity: sha512-UTTuDIX3fkfAz6iSVa5rTuSfWIYZ6ATtEocQ/umkRSyC9O919lbZ8dcH7mysshrCdrAM03skJOEYaBugxN+M6A==}
+ '@typescript-eslint/utils@8.11.0':
+ resolution: {integrity: sha512-CYiX6WZcbXNJV7UNB4PLDIBtSdRmRI/nb0FMyqHPTQD1rMjA0foPLaPUV39C/MxkTd/QKSeX+Gb34PPsDVC35g==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
eslint: ^8.57.0 || ^9.0.0
- '@typescript-eslint/utils@8.15.0':
- resolution: {integrity: sha512-k82RI9yGhr0QM3Dnq+egEpz9qB6Un+WLYhmoNcvl8ltMEededhh7otBVVIDDsEEttauwdY/hQoSsOv13lxrFzQ==}
+ '@typescript-eslint/utils@8.12.2':
+ resolution: {integrity: sha512-UTTuDIX3fkfAz6iSVa5rTuSfWIYZ6ATtEocQ/umkRSyC9O919lbZ8dcH7mysshrCdrAM03skJOEYaBugxN+M6A==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
eslint: ^8.57.0 || ^9.0.0
- typescript: '*'
- peerDependenciesMeta:
- typescript:
- optional: true
'@typescript-eslint/visitor-keys@7.18.0':
resolution: {integrity: sha512-cDF0/Gf81QpY3xYyJKDV14Zwdmid5+uuENhjH2EqFaF0ni+yAyq/LzMaIJdhNJXZI7uLzwIlA+V7oWoyn6Curg==}
engines: {node: ^18.18.0 || >=20.0.0}
- '@typescript-eslint/visitor-keys@8.12.2':
- resolution: {integrity: sha512-PChz8UaKQAVNHghsHcPyx1OMHoFRUEA7rJSK/mDhdq85bk+PLsUHUBqTQTFt18VJZbmxBovM65fezlheQRsSDA==}
+ '@typescript-eslint/visitor-keys@8.11.0':
+ resolution: {integrity: sha512-EaewX6lxSjRJnc+99+dqzTeoDZUfyrA52d2/HRrkI830kgovWsmIiTfmr0NZorzqic7ga+1bS60lRBUgR3n/Bw==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- '@typescript-eslint/visitor-keys@8.15.0':
- resolution: {integrity: sha512-h8vYOulWec9LhpwfAdZf2bjr8xIp0KNKnpgqSz0qqYYKAW/QZKw3ktRndbiAtUz4acH4QLQavwZBYCc0wulA/Q==}
+ '@typescript-eslint/visitor-keys@8.12.2':
+ resolution: {integrity: sha512-PChz8UaKQAVNHghsHcPyx1OMHoFRUEA7rJSK/mDhdq85bk+PLsUHUBqTQTFt18VJZbmxBovM65fezlheQRsSDA==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
'@ungap/structured-clone@1.2.0':
@@ -6077,9 +6465,9 @@ packages:
'@yarnpkg/lockfile@1.1.0':
resolution: {integrity: sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==}
- '@yarnpkg/parsers@3.0.2':
- resolution: {integrity: sha512-/HcYgtUSiJiot/XWGLOlGxPYUG65+/31V8oqk17vZLW1xlCoR4PampyePljOxY2n8/3jz9+tIFzICsyGujJZoA==}
- engines: {node: '>=18.12.0'}
+ '@yarnpkg/parsers@3.0.0-rc.46':
+ resolution: {integrity: sha512-aiATs7pSutzda/rq8fnuPwTglyVwjM22bNnK2ZgjrpAjQHSSl3lztd2f9evst1W/qnC58DRz7T7QndUDumAR4Q==}
+ engines: {node: '>=14.15.0'}
'@zkochan/js-yaml@0.0.7':
resolution: {integrity: sha512-nrUSn7hzt7J6JWgWGz78ZYI8wj+gdIJdk0Ynjpp8l+trkn58Uqsf6RYrYkEK+3X18EX+TNdtJI0WxAtc+L84SQ==}
@@ -6100,6 +6488,17 @@ packages:
resolution: {integrity: sha512-JlqiAl9CPvTm5kKG0QXmVCWNWoC/XyRMOeT77cQlbxXWllgjf6SqUmaNqFon72C2o5OSZids+5FvLdsw6dvWaw==}
hasBin: true
+ abitype@1.0.6:
+ resolution: {integrity: sha512-MMSqYh4+C/aVqI2RQaWqbvI4Kxo5cQV40WQ4QFtDnNzCkqChm8MuENhElmynZlO0qUy/ObkEUaXtKqYnx1Kp3A==}
+ peerDependencies:
+ typescript: '>=5.0.4'
+ zod: ^3 >=3.22.0
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+ zod:
+ optional: true
+
abort-controller@3.0.0:
resolution: {integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==}
engines: {node: '>=6.5'}
@@ -6152,6 +6551,9 @@ packages:
agent-twitter-client@0.0.13:
resolution: {integrity: sha512-xIVvrMKWe9VfZDlmGwO9hEd0Kav74FUT4euPZV8XiTqPv6D5gOd5PE0KkkBHPKSupOZuHf8BvQuhEwa/5Ac6hg==}
+ agent-twitter-client@0.0.14:
+ resolution: {integrity: sha512-GYTyLRqiN3yaJTSSiPB1J5kL0RXh10UvsN/Xn2HhegBnpQlgtLkMEQnDKfR+ZNBiLBhG2QBpm/6GrhAxdF4a5g==}
+
agentkeepalive@4.5.0:
resolution: {integrity: sha512-5GG/5IbQQpC9FpkRGsSvZI5QYeSCzlJHdpBQntCsuTOxhKD8lqKhrleg2Yi7yvMIf82Ycmmqln9U8V9qwEiJew==}
engines: {node: '>= 8.0.0'}
@@ -6318,6 +6720,10 @@ packages:
argparse@2.0.1:
resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==}
+ aria-hidden@1.2.4:
+ resolution: {integrity: sha512-y+CcFFwelSXpLZk/7fMB2mUbGtX9lKycf1MWJ7CaTIERyitVlyQx6C+sxcROU2BAJ24OiZyK+8wj2i8AlBoS3A==}
+ engines: {node: '>=10'}
+
aria-query@5.3.2:
resolution: {integrity: sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==}
engines: {node: '>= 0.4'}
@@ -6406,6 +6812,16 @@ packages:
aws4@1.13.2:
resolution: {integrity: sha512-lHe62zvbTB5eEABUVi/AwVh0ZKY9rMMDhmm+eeyuuUQbQ3+J+fONVQOZyj+DdrvD4BY33uYniyRJ4UJIaSKAfw==}
+ axios-mock-adapter@1.22.0:
+ resolution: {integrity: sha512-dmI0KbkyAhntUR05YY96qg2H6gg0XMl2+qTW0xmYg6Up+BFBAJYRLROMXRdDEL06/Wqwa0TJThAYvFtSFdRCZw==}
+ peerDependencies:
+ axios: '>= 0.17.0'
+
+ axios-retry@4.5.0:
+ resolution: {integrity: sha512-aR99oXhpEDGo0UuAlYcn2iGRds30k366Zfa05XWScR9QaQD4JYiP3/1Qt1u7YlefUOK+cn0CcwoL1oefavQUlQ==}
+ peerDependencies:
+ axios: 0.x || 1.x
+
axios@0.27.2:
resolution: {integrity: sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ==}
@@ -6490,8 +6906,8 @@ packages:
bare-path@2.1.3:
resolution: {integrity: sha512-lh/eITfU8hrj9Ru5quUp0Io1kJWIk1bTjzo7JH1P5dWmQ2EL4hFUlfI8FonAhSlgIfhn63p84CDY/x+PisgcXA==}
- bare-stream@2.4.0:
- resolution: {integrity: sha512-sd96/aZ8LjF1uJbEHzIo1LrERPKRFPEy1nZ1eOILftBxrVsFDAQkimHIIq87xrHcubzjNeETsD9PwN0wp+vLiQ==}
+ bare-stream@2.4.2:
+ resolution: {integrity: sha512-XZ4ln/KV4KT+PXdIWTKjsLY+quqCaEtqqtgGJVPw9AoM73By03ij64YjepK0aQvHSWDb6AfAZwqKaFu68qkrdA==}
base-x@3.0.10:
resolution: {integrity: sha512-7d0s06rR9rYaIWHkpfLIFICM/tkSVdoPC9qYAQRpxn9DdKNWNsKC0uk++akckyLq16Tx2WIinnZ6WRriAt6njQ==}
@@ -6502,6 +6918,10 @@ packages:
base64-js@1.5.1:
resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==}
+ base64url@3.0.1:
+ resolution: {integrity: sha512-ir1UPr3dkwexU7FdV8qBBbNDRUhMmIekYMFZfi+C/sLNnRESKPl23nB9b2pltqfOQNnGzsDdId90AEtG5tCx4A==}
+ engines: {node: '>=6.0.0'}
+
basic-ftp@5.0.5:
resolution: {integrity: sha512-4Bcg1P8xhUuqcii/S0Z9wiHIrQVPMermM1any+MX5GeGD7faD3/msQUDGLol9wOcz4/jbg/WJnGqoJF6LiBdtg==}
engines: {node: '>=10.0.0'}
@@ -6561,6 +6981,13 @@ packages:
bindings@1.5.0:
resolution: {integrity: sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==}
+ bip32@4.0.0:
+ resolution: {integrity: sha512-aOGy88DDlVUhspIXJN+dVEtclhIsfAUppD43V0j40cPTld3pv/0X/MlrZSZ6jowIaQQzFwP8M6rFU2z2mVYjDQ==}
+ engines: {node: '>=6.0.0'}
+
+ bip39@3.1.0:
+ resolution: {integrity: sha512-c9kiwdk45Do5GL0vJMe7tS95VjCii65mYAH7DfWl3uW8AVzXKQVUm64i3hzVybBDMp9r7j9iNxR85+ul8MdN/A==}
+
bl@4.1.0:
resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==}
@@ -6569,6 +6996,9 @@ packages:
engines: {node: '>= 0.8.0'}
hasBin: true
+ bn.js@4.12.1:
+ resolution: {integrity: sha512-k8TVBiPkPJT9uHLdOKfFpqcfprwBFOAAXXozRubr7R7PfIuKvQlzcI4M0pALeqXN09vdaMbUdUj+pass+uULAg==}
+
bn.js@5.2.1:
resolution: {integrity: sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==}
@@ -6612,6 +7042,9 @@ packages:
resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==}
engines: {node: '>=8'}
+ brorand@1.1.0:
+ resolution: {integrity: sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==}
+
browserslist@4.24.2:
resolution: {integrity: sha512-ZIc+Q62revdMcqC6aChtW4jz3My3klmCO1fEmINZY/8J3EpBg5/A/D0AKmBveUh6pgoeycoMkVMko84tuYS+Gg==}
engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
@@ -6627,6 +7060,9 @@ packages:
bs58@6.0.0:
resolution: {integrity: sha512-PD0wEnEYg6ijszw/u8s+iI3H17cTymlrwkKhDhPZq+Sokl3AU4htyBFTjAeNAlCCmg0f53g6ih3jATyCKftTfw==}
+ bs58check@2.1.2:
+ resolution: {integrity: sha512-0TS1jicxdU09dwJMNZtVAfzPi6Q6QeN0pM1Fkzrjn+XYHvzMKPU3pHVpva+769iNVSfIYWf7LJ6WR+BuuMf8cA==}
+
bser@2.1.1:
resolution: {integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==}
@@ -6749,8 +7185,8 @@ packages:
caniuse-api@3.0.0:
resolution: {integrity: sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==}
- caniuse-lite@1.0.30001683:
- resolution: {integrity: sha512-iqmNnThZ0n70mNwvxpEC2nBJ037ZHZUoBI5Gorh1Mw6IlEAZujEoU1tXA628iZfzm7R9FvFzxbfdgml82a3k8Q==}
+ caniuse-lite@1.0.30001684:
+ resolution: {integrity: sha512-G1LRwLIQjBQoyq0ZJGqGIJUXzJ8irpbjHLpVRXDvBEScFJ9b17sgK6vlx0GAJFE21okD7zXl08rRRUfq6HdoEQ==}
canvas@2.11.2:
resolution: {integrity: sha512-ItanGBMrmRV7Py2Z+Xhs7cT+FNt5K0vPL4p9EZ/UX/Mu7hFbkxSjKF2KVtPwX7UYWp7dRKnrTvReflgrItJbdw==}
@@ -6869,9 +7305,16 @@ packages:
resolution: {integrity: sha512-HutrvTNsF48wnxkzERIXOe5/mlcfFcbfCmwcg6CJnizbSue78AbDt+1cgl26zwn61WFxhcPykPfZrbqjGmBb4A==}
engines: {node: '>=8'}
+ cipher-base@1.0.5:
+ resolution: {integrity: sha512-xq7ICKB4TMHUx7Tz1L9O2SGKOhYMOTR32oir45Bq28/AQTpHogKgHcoYFSdRbMtddl+ozNXfXY9jWcgYKmde0w==}
+ engines: {node: '>= 0.10'}
+
citty@0.1.6:
resolution: {integrity: sha512-tskPPKEs8D2KPafUypv2gxwJP8h/OaJmC82QQGGDQcHvXX43xF2VDACcJVmZ0EuSxkpO9Kc4MlrA3q0+FG58AQ==}
+ cive@0.7.1:
+ resolution: {integrity: sha512-DcBpLydad5MMeUjLHRYWXK3oX+bnVqeZDR5NL1dcLsUMUxRTFLndgS29m/oafFQQ95ZOkvtif/kDzhpWG0e5Xw==}
+
cjs-module-lexer@1.4.1:
resolution: {integrity: sha512-cuSVIHi9/9E/+821Qjdvngor+xpnlwnuwIyZOaLmHBVdXL+gP+I6QQB9VkO7RI77YIcTV+S1W9AreJ5eN63JBA==}
@@ -6963,6 +7406,10 @@ packages:
resolution: {integrity: sha512-m3iNNWpd9rl3jvvcBnu70ylMdrXt8Vlq4HYadnU5fwcOtvkSQWPmj7amUcDT2qYI7risszBjI5AUIUox9D16pg==}
engines: {node: '>=6'}
+ clsx@2.1.1:
+ resolution: {integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==}
+ engines: {node: '>=6'}
+
cmake-js@7.3.0:
resolution: {integrity: sha512-dXs2zq9WxrV87bpJ+WbnGKv8WUBXDw8blNiwNHoRe/it+ptscxhQHKB1SJXa1w+kocLMeP28Tk4/eTCezg4o+w==}
engines: {node: '>= 14.15.0'}
@@ -7254,14 +7701,8 @@ packages:
typescript:
optional: true
- cosmiconfig@9.0.0:
- resolution: {integrity: sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==}
- engines: {node: '>=14'}
- peerDependencies:
- typescript: '>=4.9.5'
- peerDependenciesMeta:
- typescript:
- optional: true
+ create-hash@1.2.0:
+ resolution: {integrity: sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==}
create-jest@29.7.0:
resolution: {integrity: sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==}
@@ -7440,6 +7881,9 @@ packages:
csstype@3.1.3:
resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==}
+ csv-parse@5.6.0:
+ resolution: {integrity: sha512-l3nz3euub2QMg5ouu5U09Ew9Wf6/wQ8I++ch1loQ0ljmzhmfZYrH9fflS22i/PQEvsPvxCwxgz5q7UB8K1JO4Q==}
+
csv-writer@1.6.0:
resolution: {integrity: sha512-NOx7YDFWEsM/fTRAJjRpPp8t+MKRVvniAg9wQlUKx20MFrPs73WLJhFf5iteqrxNYnsy924K3Iroh3yNHeYd2g==}
@@ -7821,6 +8265,9 @@ packages:
resolution: {integrity: sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==}
engines: {node: '>=8'}
+ detect-node-es@1.1.0:
+ resolution: {integrity: sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==}
+
detect-node@2.1.0:
resolution: {integrity: sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==}
@@ -7922,8 +8369,8 @@ packages:
dompurify@3.1.6:
resolution: {integrity: sha512-cTOAhc36AalkjtBpfG6O8JimdTMWNXjiePT2xQH/ppBGi/4uIpmj8eKyIkMJErXWARyINV/sB38yf8JCLF5pbQ==}
- dompurify@3.2.0:
- resolution: {integrity: sha512-AMdOzK44oFWqHEi0wpOqix/fUNY707OmoeFDnbi3Q5I8uOpy21ufUA5cDJPr0bosxrflOVD/H2DMSvuGKJGfmQ==}
+ dompurify@3.2.1:
+ resolution: {integrity: sha512-NBHEsc0/kzRYQd+AY6HR6B/IgsqzBABrqJbpCDQII/OK6h7B7LXzweZTDsqSW2LkTRpoxf18YUP+YjGySk6B3w==}
domutils@2.8.0:
resolution: {integrity: sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==}
@@ -7994,6 +8441,9 @@ packages:
electron-to-chromium@1.5.64:
resolution: {integrity: sha512-IXEuxU+5ClW2IGEYFC2T7szbyVgehupCWQe5GNh+H065CD6U6IFN0s4KeAMFGNmQolRU4IV7zGBWSYMmZ8uuqQ==}
+ elliptic@6.6.1:
+ resolution: {integrity: sha512-RaddvvMatK2LJHqFJ+YA4WysVN5Ita9E35botqIYspQ4TkRAlCicdzKOjlyv/1Za5RyTNn7di//eEV0uTAfe3g==}
+
emittery@0.13.1:
resolution: {integrity: sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==}
engines: {node: '>=12'}
@@ -8745,6 +9195,10 @@ packages:
resolution: {integrity: sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==}
engines: {node: '>= 0.4'}
+ get-nonce@1.0.1:
+ resolution: {integrity: sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q==}
+ engines: {node: '>=6'}
+
get-own-enumerable-property-symbols@3.0.2:
resolution: {integrity: sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==}
@@ -8900,8 +9354,8 @@ packages:
resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==}
engines: {node: '>=18'}
- globals@15.12.0:
- resolution: {integrity: sha512-1+gLErljJFhbOVyaetcwJiJ4+eLe45S2E7P5UiZ9xGfeq3ATQf5DOv9G7MH3gGbKQLkzmNh2DxfZwLdw+j6oTQ==}
+ globals@15.11.0:
+ resolution: {integrity: sha512-yeyNSjdbyVaWurlwCpcA6XNBrHTMIeDdj0/hnvX/OLJ9ekOXYbLsLinH/MucQyGvNnXhidTdNhTtJaffL2sMfw==}
engines: {node: '>=18'}
globby@11.1.0:
@@ -9005,6 +9459,13 @@ packages:
resolution: {integrity: sha512-IrsVwUHhEULx3R8f/aA8AHuEzAorplsab/v8HBzEiIukwq5i/EC+xmOW+HfP1OaDP+2JkgT1yILHN2O3UFIbcA==}
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+ hash-base@3.1.0:
+ resolution: {integrity: sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==}
+ engines: {node: '>=4'}
+
+ hash.js@1.1.7:
+ resolution: {integrity: sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==}
+
hasown@2.0.2:
resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==}
engines: {node: '>= 0.4'}
@@ -9073,6 +9534,9 @@ packages:
history@4.10.1:
resolution: {integrity: sha512-36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew==}
+ hmac-drbg@1.0.1:
+ resolution: {integrity: sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==}
+
hogan.js@3.0.2:
resolution: {integrity: sha512-RqGs4wavGYJWE07t35JQccByczmNUXQT0E12ZYV1VKYu5UiAU9lsos/yBAcf840+zrUQQxgVduCR5/B8nNtibg==}
hasBin: true
@@ -9522,6 +9986,10 @@ packages:
resolution: {integrity: sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==}
engines: {node: '>=0.10.0'}
+ is-retry-allowed@2.2.0:
+ resolution: {integrity: sha512-XVm7LOeLpTW4jV19QSH38vkswxoLud8sQ57YwJVTPWdiaI9I8keEhGFpBlslyVsgdQy4Opg8QOLb8YRgsyZiQg==}
+ engines: {node: '>=10'}
+
is-root@2.1.0:
resolution: {integrity: sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg==}
engines: {node: '>=6'}
@@ -9607,6 +10075,11 @@ packages:
peerDependencies:
ws: '*'
+ isows@1.0.6:
+ resolution: {integrity: sha512-lPHCayd40oW98/I0uvgaHKWCSvkzY27LjWLbtzOm64yQ+G3Q5npjjbdppU65iZXkK1Zt+kH9pfegli0AYfwYYw==}
+ peerDependencies:
+ ws: '*'
+
isstream@0.1.2:
resolution: {integrity: sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==}
@@ -10060,8 +10533,8 @@ packages:
leac@0.6.0:
resolution: {integrity: sha512-y+SqErxb8h7nE/fiEX07jsbuhrpO9lL8eca7/Y1nuWV2moNlXhyd59iDGcRf6moVyDMbmTNzL40SUyrFU/yDpg==}
- lerna@8.1.9:
- resolution: {integrity: sha512-ZRFlRUBB2obm+GkbTR7EbgTMuAdni6iwtTQTMy7LIrQ4UInG44LyfRepljtgUxh4HA0ltzsvWfPkd5J1DKGCeQ==}
+ lerna@8.1.5:
+ resolution: {integrity: sha512-/eigpa/JTfKl9RP9QHK9Tifeog+dymYICqBoZlR4fjp94ol2Q6adYQHy8dWRkv0VPrHh/Xuy5VlmPaGvIoGeDw==}
engines: {node: '>=18.0.0'}
hasBin: true
@@ -10373,6 +10846,9 @@ packages:
md4w@0.2.6:
resolution: {integrity: sha512-CBLQ2PxVe9WA+/nndZCx/Y+1C3DtmtSeubmXTPhMIgsXtq9gVGleikREko5FYnV6Dz4cHDWm0Ea+YMLpIjP4Kw==}
+ md5.js@1.3.5:
+ resolution: {integrity: sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==}
+
mdast-util-directive@3.0.0:
resolution: {integrity: sha512-JUpYOqKI4mM3sZcNxmF/ox04XYFFkNwr0CFlrQIkCwbvH0xzMCqkMqAde9wRd80VAhaUrwFwKm2nxretdT1h7Q==}
@@ -10679,6 +11155,9 @@ packages:
minimalistic-assert@1.0.1:
resolution: {integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==}
+ minimalistic-crypto-utils@1.0.1:
+ resolution: {integrity: sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==}
+
minimatch@10.0.1:
resolution: {integrity: sha512-ethXTt3SGGR+95gudmqJ1eNhRO7eGEGIgYA9vnPatK4/etz2MEVDno5GMCibdMTuBMyElzIlgxMna3K94XDIDQ==}
engines: {node: 20 || >=22}
@@ -10925,6 +11404,9 @@ packages:
resolution: {integrity: sha512-SZ40vRiy/+wRTf21hxkkEjPJZpARzUMVcJoQse2EF8qkUWbbO2z7vd5oA/H6bVH6SZQ5STGcu0KRDS7biNRfxw==}
engines: {node: '>=10'}
+ node-addon-api@5.1.0:
+ resolution: {integrity: sha512-eh0GgfEkpnoWDq+VY8OyvYhFEzBk6jIYbRKdIlyTiAXIVJ8PyBaKb0rp7oDtoddbdoHWhq8wwr+XZ81F1rpNdA==}
+
node-addon-api@6.1.0:
resolution: {integrity: sha512-+eawOlIgy680F0kBzPUNFhMZGtJ1YmqM6l4+Crf4IkImjYrO/mqPwRMh352g23uIaQKFItcQ64I7KMaJxHgAVA==}
@@ -10991,6 +11473,9 @@ packages:
node-int64@0.4.0:
resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==}
+ node-jose@2.2.0:
+ resolution: {integrity: sha512-XPCvJRr94SjLrSIm4pbYHKLEaOsDvJCpyFw/6V/KK/IXmyZ6SFBzAUDO9HQf4DB/nTEFcRGH87mNciOP23kFjw==}
+
node-llama-cpp@3.1.1:
resolution: {integrity: sha512-CyXwxlJiAAELhy265wndAwV+nrUvVJk7+BjiYtz8BAUXCPpzZTeZTNnmcDO21FTutQyRuWhiNA/yzOLeDvmuAQ==}
engines: {node: '>=18.0.0'}
@@ -11120,8 +11605,8 @@ packages:
nwsapi@2.2.13:
resolution: {integrity: sha512-cTGB9ptp9dY9A5VbMSe7fQBcl/tt22Vcqdq8+eN93rblOuE0aCFu4aZ2vMwct/2t+lFnosm8RkQW1I0Omb1UtQ==}
- nx@20.1.3:
- resolution: {integrity: sha512-mipsacEpn0gLd/4NSlOgyHW6Ozl++8ZIfuv42RtZEnS3BaGnnW+L2dkt85h4zffq+zBILoudd/VDFzaLY7Yrfw==}
+ nx@19.8.12:
+ resolution: {integrity: sha512-FkWEma1CwQKDFrmlimvVVRTn0uj0QIp1PA3P8ynI1z1r/Q2i1qd0FYqOyDTay7mXHfVF4PryfBcoIotWTn+VEw==}
hasBin: true
peerDependencies:
'@swc-node/register': ^1.8.0
@@ -11228,6 +11713,9 @@ packages:
onnxruntime-web@1.21.0-dev.20241024-d9ca84ef96:
resolution: {integrity: sha512-ANSQfMALvCviN3Y4tvTViKofKToV1WUb2r2VjZVCi3uUBPaK15oNJyIxhsNyEckBr/Num3JmSXlkHOD8HfVzSQ==}
+ open-jsonrpc-provider@0.2.1:
+ resolution: {integrity: sha512-b+pRxakRwAqp+4OTh2TeH+z2zwVGa0C4fbcwIn6JsZdjd4VBmsp7KfCdmmV3XH8diecwXa5UILCw4IwAtk1DTQ==}
+
open@8.4.2:
resolution: {integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==}
engines: {node: '>=12'}
@@ -11283,6 +11771,14 @@ packages:
otpauth@9.3.5:
resolution: {integrity: sha512-jQyqOuQExeIl4YIiOUz4TdEcamgAgPX6UYeeS9Iit4lkvs7bwHb0JNDqchGRccbRfvWHV6oRwH36tOsVmc+7hQ==}
+ ox@0.1.2:
+ resolution: {integrity: sha512-ak/8K0Rtphg9vnRJlbOdaX9R7cmxD2MiSthjWGaQdMk3D7hrAlDoM+6Lxn7hN52Za3vrXfZ7enfke/5WjolDww==}
+ peerDependencies:
+ typescript: '>=5.4.0'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+
p-cancelable@3.0.0:
resolution: {integrity: sha512-mlVgR3PGuzlo0MmTdk4cXqXWlwQDLnONTAg6sm62XkMJEiRxN3GL3SffkYvqwonbkJBcrI7Uvv5Zh9yjvn2iUw==}
engines: {node: '>=12.20'}
@@ -11386,8 +11882,8 @@ packages:
resolution: {integrity: sha512-cbH9IAIJHNj9uXi196JVsRlt7cHKak6u/e6AkL/bkRelZ7rlL3X1YKxsZwa36xipOEKAsdtmaG6aAJoM1fx2zA==}
engines: {node: '>=14.16'}
- package-manager-detector@0.2.4:
- resolution: {integrity: sha512-H/OUu9/zUfP89z1APcBf2X8Us0tt8dUK4lUmKqz12QNXif3DxAs1/YqjGtcutZi1zQqeNQRWr9C+EbQnnvSSFA==}
+ package-manager-detector@0.2.5:
+ resolution: {integrity: sha512-3dS7y28uua+UDbRCLBqltMBrbI+A5U2mI9YuxHRxIWYmLj3DwntEBmERYzIAQ4DMeuCUOBSak7dBHHoXKpOTYQ==}
pacote@18.0.6:
resolution: {integrity: sha512-+eK3G27SMwsB8kLIuj4h1FUhHtwiEUo21Tw8wNjmvdlpOEr613edv+8FUsTj/4F/VN5ywGE19X18N7CC2EJk6A==}
@@ -11697,8 +12193,8 @@ packages:
pm2-sysmonit@1.2.8:
resolution: {integrity: sha512-ACOhlONEXdCTVwKieBIQLSi2tQZ8eKinhcr9JpZSUAL8Qy0ajIgRtsLxG/lwPOW3JEKqPyw/UaHmTWhUzpP4kA==}
- pm2@5.4.2:
- resolution: {integrity: sha512-ynVpBwZampRH3YWLwRepZpQ7X3MvpwLIaqIdFEeBYEhaXbHmEx2KqOdxGV4T54wvKBhH3LixvU1j1bK4/sq7Tw==}
+ pm2@5.4.3:
+ resolution: {integrity: sha512-4/I1htIHzZk1Y67UgOCo4F1cJtas1kSds31N8zN0PybO230id1nigyjGuGFzUnGmUFPmrJ0On22fO1ChFlp7VQ==}
engines: {node: '>=12.0.0'}
hasBin: true
@@ -12431,6 +12927,10 @@ packages:
process-nextick-args@2.0.1:
resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==}
+ process@0.11.10:
+ resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==}
+ engines: {node: '>= 0.6.0'}
+
proggy@2.0.0:
resolution: {integrity: sha512-69agxLtnI8xBs9gUGqEnK26UfiexpHy+KUpBQWabiytQjnn5wFY8rklAi7GRfABIuPNnQ/ik48+LGLkYYJcy4A==}
engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
@@ -12676,6 +13176,26 @@ packages:
resolution: {integrity: sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA==}
engines: {node: '>=0.10.0'}
+ react-remove-scroll-bar@2.3.6:
+ resolution: {integrity: sha512-DtSYaao4mBmX+HDo5YWYdBWQwYIQQshUV/dVxFxK+KM26Wjwp1gZ6rv6OC3oujI6Bfu6Xyg3TwK533AQutsn/g==}
+ engines: {node: '>=10'}
+ peerDependencies:
+ '@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
+ react-remove-scroll@2.6.0:
+ resolution: {integrity: sha512-I2U4JVEsQenxDAKaVa3VZ/JeJZe0/2DxPWL8Tj8yLKctQJQiZM52pn/GWFpSp8dftjM3pSAHVJZscAnC/y+ySQ==}
+ engines: {node: '>=10'}
+ peerDependencies:
+ '@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
react-router-config@5.1.1:
resolution: {integrity: sha512-DuanZjaD8mQp1ppHjgnnUnyOlqYXZVjnov/JzFhjLEwd3Z4dYjMSnqrEzzGThH47vpCOqPPwJM2FtthLeJ8Pbg==}
peerDependencies:
@@ -12705,6 +13225,16 @@ packages:
peerDependencies:
react: '>=16.8'
+ react-style-singleton@2.2.1:
+ resolution: {integrity: sha512-ZWj0fHEMyWkHzKYUr2Bs/4zU6XLmq9HsgBURm7g5pAVfyn49DgUiNgY2d4lXRlYSiCif9YBGpQleewkcqddc7g==}
+ engines: {node: '>=10'}
+ peerDependencies:
+ '@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
react-waypoint@10.3.0:
resolution: {integrity: sha512-iF1y2c1BsoXuEGz08NoahaLFIGI9gTUAAOKip96HUmylRT6DUtpgoBPjk/Y8dfcFVmfVDvUzWjNXpZyKTOV0SQ==}
peerDependencies:
@@ -12804,6 +13334,9 @@ packages:
recma-stringify@1.0.0:
resolution: {integrity: sha512-cjwII1MdIIVloKvC9ErQ+OgAtwHBmcZ0Bg4ciz78FtbT8In39aAYbaA7zvxQ61xVMSPE8WxhLwLbhif4Js2C+g==}
+ reconnecting-websocket@4.4.0:
+ resolution: {integrity: sha512-D2E33ceRPga0NvTDhJmphEgJ7FUYF0v4lr1ki0csq06OdlxKfugGzN0dSkxM/NfqCxYELK4KcaTOUOjTV6Dcng==}
+
recursive-readdir@2.2.3:
resolution: {integrity: sha512-8HrF5ZsXk5FAH9dgsx3BlUer73nIhuj+9OrQwEbLTPOBzGkL1lsFCR01am+v+0m2Cmbs1nP12hLDl5FA7EszKA==}
engines: {node: '>=6.0.0'}
@@ -13004,6 +13537,9 @@ packages:
engines: {node: 20 || >=22}
hasBin: true
+ ripemd160@2.0.2:
+ resolution: {integrity: sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==}
+
robust-predicates@3.0.2:
resolution: {integrity: sha512-IXgzBWvWQwE6PrDI05OvmXUIruQTcoMDzRsOd5CDvHCVLcLHMTSYvOK5Cm46kWqlV3yAbuSpBZdJ5oP5OUoStg==}
@@ -13113,6 +13649,10 @@ packages:
search-insights@2.17.3:
resolution: {integrity: sha512-RQPdCYTa8A68uM2jwxoY842xDhvx3E5LFL1LxvxCNMev4o5mLuokczhzjAgGwUZBAmOKZknArSxLKmXtIi2AxQ==}
+ secp256k1@5.0.1:
+ resolution: {integrity: sha512-lDFs9AAIaWP9UCdtWrotXWWF9t8PWgQDcxqgAnpM9rMqxb3Oaq2J0thzPVSxBwdJgyQtkU/sYtFtbM1RSt/iYA==}
+ engines: {node: '>=18.0.0'}
+
section-matter@1.0.0:
resolution: {integrity: sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==}
engines: {node: '>=4'}
@@ -13199,6 +13739,10 @@ packages:
setprototypeof@1.2.0:
resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==}
+ sha.js@2.4.11:
+ resolution: {integrity: sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==}
+ hasBin: true
+
shallow-clone@0.1.2:
resolution: {integrity: sha512-J1zdXCky5GmNnuauESROVu31MQSnLoYvlyEn6j2Ztk6Q5EHFIhxkMhYcv6vuDzl2XEzoRr856QwzMgWM/TmZgw==}
engines: {node: '>=0.10.0'}
@@ -13844,14 +14388,14 @@ packages:
resolution: {integrity: sha512-n1cw8k1k0x4pgA2+9XrOkFydTerNcJ1zWCO5Nn9scWHTD+5tp8dghT2x1uduQePZTZgd3Tupf+x9BxJjeJi77Q==}
engines: {node: '>=14.0.0'}
- tldts-core@6.1.63:
- resolution: {integrity: sha512-H1XCt54xY+QPbwhTgmxLkepX0MVHu3USfMmejiCOdkMbRcP22Pn2FVF127r/GWXVDmXTRezyF3Ckvhn4Fs6j7Q==}
+ tldts-core@6.1.64:
+ resolution: {integrity: sha512-uqnl8vGV16KsyflHOzqrYjjArjfXaU6rMPXYy2/ZWoRKCkXtghgB4VwTDXUG+t0OTGeSewNAG31/x1gCTfLt+Q==}
- tldts-experimental@6.1.63:
- resolution: {integrity: sha512-Xqxv4UvuTwC/sslspSbkw/52vvYCeZdEJwnv7VFlQEfYvK8fNuIpz5hoOvO7XuzfjqexMRRnVDYUyjqesTYESg==}
+ tldts-experimental@6.1.64:
+ resolution: {integrity: sha512-Lm6dwThCCmUecyvOJwTfZgYRP9JB6UDam//96OSvZffBtBA3GuwucIiycLT5yO5nz0ZAGV37FF1hef2HE0K8BQ==}
- tldts@6.1.63:
- resolution: {integrity: sha512-YWwhsjyn9sB/1rOkSRYxvkN/wl5LFM1QDv6F2pVR+pb/jFne4EOBxHfkKVWvDIBEAw9iGOwwubHtQTm0WRT5sQ==}
+ tldts@6.1.64:
+ resolution: {integrity: sha512-ph4AE5BXWIOsSy9stpoeo7bYe/Cy7VfpciIH4RhVZUPItCJmhqWCN0EVzxd8BOHiyNb42vuJc6NWTjJkg91Tuw==}
hasBin: true
tmp@0.0.33:
@@ -13944,8 +14488,8 @@ packages:
trough@2.2.0:
resolution: {integrity: sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==}
- ts-api-utils@1.4.0:
- resolution: {integrity: sha512-032cPxaEKwM+GT3vA5JXNzIaizx388rhsSW79vGRNGXfRRAdEAn2mvk36PvK5HnOchyWZ7afLEXqYCvPCrzuzQ==}
+ ts-api-utils@1.4.1:
+ resolution: {integrity: sha512-5RU2/lxTA3YUZxju61HO2U6EoZLvBLtmV2mbTvqyu4a/7s7RmJPT+1YekhMVsQhznRWk/czIwDUg+V8Q9ZuG4w==}
engines: {node: '>=16'}
peerDependencies:
typescript: '>=4.2.0'
@@ -14048,6 +14592,9 @@ packages:
tweetnacl@0.14.5:
resolution: {integrity: sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==}
+ twitter-api-v2@1.18.2:
+ resolution: {integrity: sha512-ggImmoAeVgETYqrWeZy+nWnDpwgTP+IvFEc03Pitt1HcgMX+Yw17rP38Fb5FFTinuyNvS07EPtAfZ184uIyB0A==}
+
tx2@1.0.5:
resolution: {integrity: sha512-sJ24w0y03Md/bxzK4FU8J8JveYYUbSs2FViLJ2D/8bytSiyPRbuE3DyL/9UKYXTZlV3yXq0L8GLlhobTnekCVg==}
@@ -14113,11 +14660,13 @@ packages:
peerDependencies:
typescript: 4.6.x || 4.7.x || 4.8.x || 4.9.x || 5.0.x || 5.1.x || 5.2.x || 5.3.x || 5.4.x || 5.5.x || 5.6.x
- typescript-eslint@8.15.0:
- resolution: {integrity: sha512-wY4FRGl0ZI+ZU4Jo/yjdBu0lVTSML58pu6PgGtJmCufvzfV565pUF6iACQt092uFOd49iLOTX/sEVmHtbSrS+w==}
+ typeforce@1.18.0:
+ resolution: {integrity: sha512-7uc1O8h1M1g0rArakJdf0uLRSSgFcYexrVoKo+bzJd32gd4gDy2L/Z+8/FjPnU9ydY3pEnVPtr9FyscYY60K1g==}
+
+ typescript-eslint@8.11.0:
+ resolution: {integrity: sha512-cBRGnW3FSlxaYwU8KfAewxFK5uzeOAp0l2KebIlPDOT5olVi65KDG/yjBooPBG0kGW/HLkoz1c/iuBFehcS3IA==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
- eslint: ^8.57.0 || ^9.0.0
typescript: '*'
peerDependenciesMeta:
typescript:
@@ -14294,19 +14843,39 @@ packages:
url-join@4.0.1:
resolution: {integrity: sha512-jk1+QP6ZJqyOiuEI9AEWQfju/nB2Pw466kbA0LEZljHwKeMgd9WrAEgEGxjPDD2+TNbbb37rTyhEfrCXfuKXnA==}
- url-loader@4.1.1:
- resolution: {integrity: sha512-3BTV812+AVHHOJQO8O5MkWgZ5aosP7GnROJwvzLS9hWDj00lZ6Z0wNak423Lp9PBZN05N+Jk/N5Si8jRAlGyWA==}
- engines: {node: '>= 10.13.0'}
+ url-loader@4.1.1:
+ resolution: {integrity: sha512-3BTV812+AVHHOJQO8O5MkWgZ5aosP7GnROJwvzLS9hWDj00lZ6Z0wNak423Lp9PBZN05N+Jk/N5Si8jRAlGyWA==}
+ engines: {node: '>= 10.13.0'}
+ peerDependencies:
+ file-loader: '*'
+ webpack: ^4.0.0 || ^5.0.0
+ peerDependenciesMeta:
+ file-loader:
+ optional: true
+
+ url-parse@1.5.10:
+ resolution: {integrity: sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==}
+
+ use-callback-ref@1.3.2:
+ resolution: {integrity: sha512-elOQwe6Q8gqZgDA8mrh44qRTQqpIHDcZ3hXTLjBe1i4ph8XpNJnO+aQf3NaG+lriLopI4HMx9VjQLfPQ6vhnoA==}
+ engines: {node: '>=10'}
+ peerDependencies:
+ '@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
+ use-sidecar@1.1.2:
+ resolution: {integrity: sha512-epTbsLuzZ7lPClpz2TyryBfztm7m+28DlEv2ZCQ3MDr5ssiwyOwGH/e5F9CkfWjJ1t4clvI58yF822/GUkjjhw==}
+ engines: {node: '>=10'}
peerDependencies:
- file-loader: '*'
- webpack: ^4.0.0 || ^5.0.0
+ '@types/react': ^16.9.0 || ^17.0.0 || ^18.0.0
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0
peerDependenciesMeta:
- file-loader:
+ '@types/react':
optional: true
- url-parse@1.5.10:
- resolution: {integrity: sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==}
-
use-sync-external-store@1.2.2:
resolution: {integrity: sha512-PElTlVMwpblvbNqQ82d2n6RjStvdSoNe9FG28kNfz3WiXilJm4DdNkEzRhCZuIDwY8U08WVihhGR5iRqAwfDiw==}
peerDependencies:
@@ -14397,6 +14966,14 @@ packages:
vfile@6.0.3:
resolution: {integrity: sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==}
+ viem@2.21.50:
+ resolution: {integrity: sha512-WHB8NmkaForODuSALb0Ai3E296aEigzYSE+pzB9Y0cTNJeiZT8rpkdxxUFYfjwFMnPkz2tivqrSpuw3hO5TH6w==}
+ peerDependencies:
+ typescript: '>=5.0.4'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+
vite-node@2.1.5:
resolution: {integrity: sha512-rd0QIgx74q4S1Rd56XIiL2cYEdyWn13cunYBIuqh9mpmQr7gGS0IxXoP8R6OaZtNQQLyXSWbd4rXKYUbhFpK5w==}
engines: {node: ^18.0.0 || >=20.0.0}
@@ -14544,6 +15121,9 @@ packages:
resolution: {integrity: sha512-QW95TCTaHmsYfHDybGMwO5IJIM93I/6vTRk+daHTWFPhwh+C8Cg7j7XyKrwrj8Ib6vYXe0ocYNrmzY4xAAN6ug==}
engines: {node: '>= 14'}
+ webauthn-p256@0.0.10:
+ resolution: {integrity: sha512-EeYD+gmIT80YkSIDb2iWq0lq2zbHo1CxHlQTeJ+KkCILWpVy3zASH3ByD4bopzfk0uCwXxLqKGLqp2W4O28VFA==}
+
webidl-conversions@3.0.1:
resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==}
@@ -14614,6 +15194,10 @@ packages:
resolution: {integrity: sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==}
engines: {node: '>=0.8.0'}
+ websocket@1.0.35:
+ resolution: {integrity: sha512-/REy6amwPZl44DDzvRCkaI1q1bIiQB0mEFQLUrhz3z2EK91cp3n72rAjUlrTP0zV22HJIUOVHQGPxhFRjxjt+Q==}
+ engines: {node: '>=4.0.0'}
+
whatwg-encoding@3.1.1:
resolution: {integrity: sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ==}
engines: {node: '>=18'}
@@ -14665,6 +15249,9 @@ packages:
resolution: {integrity: sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig==}
engines: {node: '>=12'}
+ wif@2.0.6:
+ resolution: {integrity: sha512-HIanZn1zmduSF+BQhkE+YXIbEiH0xPr1012QbFEGB0xsKqJii0/SqJjyn8dFv6y36kOznMgMB+LGcbZTJ1xACQ==}
+
wildcard@2.0.1:
resolution: {integrity: sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==}
@@ -14792,6 +15379,10 @@ packages:
resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==}
engines: {node: '>=10'}
+ yaeti@0.0.6:
+ resolution: {integrity: sha512-MvQa//+KcZCUkBTIC9blM+CU9J2GzuTytsOUwf2lidtvkx/6gnEp1QvJv34t9vdjhFmha/mUiNDbN0D0mJWdug==}
+ engines: {node: '>=0.10.32'}
+
yallist@3.1.1:
resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==}
@@ -14881,8 +15472,22 @@ packages:
snapshots:
+ '@0glabs/0g-ts-sdk@0.2.1(bufferutil@4.0.8)(ethers@6.13.4(bufferutil@4.0.8)(utf-8-validate@5.0.10))(utf-8-validate@5.0.10)':
+ dependencies:
+ '@ethersproject/bytes': 5.7.0
+ '@ethersproject/keccak256': 5.7.0
+ ethers: 6.13.4(bufferutil@4.0.8)(utf-8-validate@5.0.10)
+ open-jsonrpc-provider: 0.2.1(bufferutil@4.0.8)(utf-8-validate@5.0.10)
+ transitivePeerDependencies:
+ - bufferutil
+ - debug
+ - supports-color
+ - utf-8-validate
+
'@adraffy/ens-normalize@1.10.1': {}
+ '@adraffy/ens-normalize@1.11.0': {}
+
'@ai-sdk/anthropic@0.0.53(zod@3.23.8)':
dependencies:
'@ai-sdk/provider': 0.0.26
@@ -15033,7 +15638,7 @@ snapshots:
transitivePeerDependencies:
- zod
- '@ai16z/eliza@0.1.3(@google-cloud/vertexai@1.9.0(encoding@0.1.13))(encoding@0.1.13)(react@18.3.1)(sswr@2.1.0(svelte@5.2.7))(svelte@5.2.7)':
+ '@ai16z/eliza@0.1.3(@google-cloud/vertexai@1.9.0(encoding@0.1.13))(encoding@0.1.13)(react@18.3.1)(sswr@2.1.0(svelte@5.2.7))(svelte@5.2.7)(vue@3.5.13(typescript@5.6.3))':
dependencies:
'@ai-sdk/anthropic': 0.0.53(zod@3.23.8)
'@ai-sdk/google': 0.0.55(zod@3.23.8)
@@ -15042,7 +15647,7 @@ snapshots:
'@ai-sdk/openai': 1.0.0-canary.3(zod@3.23.8)
'@anthropic-ai/sdk': 0.30.1(encoding@0.1.13)
'@types/uuid': 10.0.0
- ai: 3.4.33(openai@4.69.0(encoding@0.1.13)(zod@3.23.8))(react@18.3.1)(sswr@2.1.0(svelte@5.2.7))(svelte@5.2.7)(zod@3.23.8)
+ ai: 3.4.33(openai@4.69.0(encoding@0.1.13)(zod@3.23.8))(react@18.3.1)(sswr@2.1.0(svelte@5.2.7))(svelte@5.2.7)(vue@3.5.13(typescript@5.6.3))(zod@3.23.8)
anthropic-vertex-ai: 1.0.2(encoding@0.1.13)(zod@3.23.8)
fastembed: 1.14.1
gaxios: 6.7.1(encoding@0.1.13)
@@ -15258,7 +15863,7 @@ snapshots:
'@antfu/install-pkg@0.4.1':
dependencies:
- package-manager-detector: 0.2.4
+ package-manager-detector: 0.2.5
tinyexec: 0.3.1
'@antfu/utils@0.7.10': {}
@@ -16672,7 +17277,7 @@ snapshots:
'@cliqz/adblocker': 1.34.0
'@cliqz/adblocker-content': 1.34.0
playwright: 1.48.2
- tldts-experimental: 6.1.63
+ tldts-experimental: 6.1.64
'@cliqz/adblocker@1.34.0':
dependencies:
@@ -16683,7 +17288,29 @@ snapshots:
'@remusao/smaz': 1.10.0
'@types/chrome': 0.0.278
'@types/firefox-webext-browser': 120.0.4
- tldts-experimental: 6.1.63
+ tldts-experimental: 6.1.64
+
+ '@coinbase/coinbase-sdk@0.10.0(bufferutil@4.0.8)(typescript@5.6.3)(utf-8-validate@5.0.10)(zod@3.23.8)':
+ dependencies:
+ '@scure/bip32': 1.6.0
+ abitype: 1.0.6(typescript@5.6.3)(zod@3.23.8)
+ axios: 1.7.7(debug@4.3.7)
+ axios-mock-adapter: 1.22.0(axios@1.7.7)
+ axios-retry: 4.5.0(axios@1.7.7)
+ bip32: 4.0.0
+ bip39: 3.1.0
+ decimal.js: 10.4.3
+ dotenv: 16.4.5
+ ethers: 6.13.4(bufferutil@4.0.8)(utf-8-validate@5.0.10)
+ node-jose: 2.2.0
+ secp256k1: 5.0.1
+ viem: 2.21.50(bufferutil@4.0.8)(typescript@5.6.3)(utf-8-validate@5.0.10)(zod@3.23.8)
+ transitivePeerDependencies:
+ - bufferutil
+ - debug
+ - typescript
+ - utf-8-validate
+ - zod
'@colors/colors@1.5.0':
optional: true
@@ -16806,9 +17433,9 @@ snapshots:
'@coral-xyz/anchor@0.30.1(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.10)':
dependencies:
'@coral-xyz/anchor-errors': 0.30.1
- '@coral-xyz/borsh': 0.30.1(@solana/web3.js@1.95.4(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.10))
- '@noble/hashes': 1.6.0
- '@solana/web3.js': 1.95.4(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.10)
+ '@coral-xyz/borsh': 0.30.1(@solana/web3.js@1.95.5(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.10))
+ '@noble/hashes': 1.6.1
+ '@solana/web3.js': 1.95.5(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.10)
bn.js: 5.2.1
bs58: 4.0.1
buffer-layout: 1.2.2
@@ -16825,9 +17452,9 @@ snapshots:
- encoding
- utf-8-validate
- '@coral-xyz/borsh@0.30.1(@solana/web3.js@1.95.4(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.10))':
+ '@coral-xyz/borsh@0.30.1(@solana/web3.js@1.95.5(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.10))':
dependencies:
- '@solana/web3.js': 1.95.4(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.10)
+ '@solana/web3.js': 1.95.5(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.10)
bn.js: 5.2.1
buffer-layout: 1.2.2
@@ -17397,25 +18024,6 @@ snapshots:
- uglify-js
- webpack-cli
- '@docusaurus/module-type-aliases@3.6.0(@swc/core@1.9.3(@swc/helpers@0.5.15))(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
- dependencies:
- '@docusaurus/types': 3.6.0(@swc/core@1.9.3(@swc/helpers@0.5.15))(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@types/history': 4.7.11
- '@types/react': 18.3.12
- '@types/react-router-config': 5.0.11
- '@types/react-router-dom': 5.3.3
- react: 18.3.1
- react-dom: 18.3.1(react@18.3.1)
- react-helmet-async: 2.0.5(react@18.3.1)
- react-loadable: '@docusaurus/react-loadable@6.0.0(react@18.3.1)'
- transitivePeerDependencies:
- - '@swc/core'
- - acorn
- - esbuild
- - supports-color
- - uglify-js
- - webpack-cli
-
'@docusaurus/module-type-aliases@3.6.3(@swc/core@1.9.3(@swc/helpers@0.5.15))(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
dependencies:
'@docusaurus/types': 3.6.3(@swc/core@1.9.3(@swc/helpers@0.5.15))(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
@@ -17812,7 +18420,7 @@ snapshots:
'@docusaurus/utils-common': 3.6.3(@swc/core@1.9.3(@swc/helpers@0.5.15))(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
'@docusaurus/utils-validation': 3.6.3(@swc/core@1.9.3(@swc/helpers@0.5.15))(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3)
'@mdx-js/react': 3.0.1(@types/react@18.3.12)(react@18.3.1)
- clsx: 2.1.0
+ clsx: 2.1.1
copy-text-to-clipboard: 3.2.0
infima: 0.2.0-alpha.45
lodash: 4.17.21
@@ -17857,7 +18465,7 @@ snapshots:
'@types/history': 4.7.11
'@types/react': 18.3.12
'@types/react-router-config': 5.0.11
- clsx: 2.1.0
+ clsx: 2.1.1
parse-numeric-range: 1.3.0
prism-react-renderer: 2.3.1(react@18.3.1)
react: 18.3.1
@@ -17918,7 +18526,7 @@ snapshots:
'@docusaurus/utils-validation': 3.6.3(@swc/core@1.9.3(@swc/helpers@0.5.15))(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3)
algoliasearch: 4.24.0
algoliasearch-helper: 3.22.5(algoliasearch@4.24.0)
- clsx: 2.1.0
+ clsx: 2.1.1
eta: 2.2.0
fs-extra: 11.2.0
lodash: 4.17.21
@@ -17955,27 +18563,6 @@ snapshots:
fs-extra: 11.2.0
tslib: 2.8.0
- '@docusaurus/types@3.6.0(@swc/core@1.9.3(@swc/helpers@0.5.15))(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
- dependencies:
- '@mdx-js/mdx': 3.1.0(acorn@8.14.0)
- '@types/history': 4.7.11
- '@types/react': 18.3.12
- commander: 5.1.0
- joi: 17.13.3
- react: 18.3.1
- react-dom: 18.3.1(react@18.3.1)
- react-helmet-async: 1.3.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- utility-types: 3.11.0
- webpack: 5.96.1(@swc/core@1.9.3(@swc/helpers@0.5.15))
- webpack-merge: 5.10.0
- transitivePeerDependencies:
- - '@swc/core'
- - acorn
- - esbuild
- - supports-color
- - uglify-js
- - webpack-cli
-
'@docusaurus/types@3.6.3(@swc/core@1.9.3(@swc/helpers@0.5.15))(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
dependencies:
'@mdx-js/mdx': 3.1.0(acorn@8.14.0)
@@ -18068,8 +18655,6 @@ snapshots:
'@echogarden/audio-io@0.2.3': {}
- '@echogarden/espeak-ng-emscripten@0.3.0': {}
-
'@echogarden/espeak-ng-emscripten@0.3.3': {}
'@echogarden/fasttext-wasm@0.1.0': {}
@@ -18403,6 +18988,23 @@ snapshots:
'@ethersproject/constants': 5.7.0
'@ethersproject/logger': 5.7.0
+ '@floating-ui/core@1.6.8':
+ dependencies:
+ '@floating-ui/utils': 0.2.8
+
+ '@floating-ui/dom@1.6.12':
+ dependencies:
+ '@floating-ui/core': 1.6.8
+ '@floating-ui/utils': 0.2.8
+
+ '@floating-ui/react-dom@2.1.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@floating-ui/dom': 1.6.12
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+
+ '@floating-ui/utils@0.2.8': {}
+
'@google-cloud/vertexai@1.9.0(encoding@0.1.13)':
dependencies:
google-auth-library: 9.15.0(encoding@0.1.13)
@@ -18788,12 +19390,12 @@ snapshots:
'@leichtgewicht/ip-codec@2.0.5': {}
- '@lerna/create@8.1.9(@swc/core@1.9.3(@swc/helpers@0.5.15))(encoding@0.1.13)(typescript@5.6.3)':
+ '@lerna/create@8.1.5(@swc/core@1.9.3(@swc/helpers@0.5.15))(encoding@0.1.13)(typescript@5.6.3)':
dependencies:
- '@npmcli/arborist': 7.5.4
+ '@npmcli/arborist': 7.5.3
'@npmcli/package-json': 5.2.0
'@npmcli/run-script': 8.1.0
- '@nx/devkit': 20.1.3(nx@20.1.3(@swc/core@1.9.3(@swc/helpers@0.5.15)))
+ '@nx/devkit': 19.8.12(nx@19.8.12(@swc/core@1.9.3(@swc/helpers@0.5.15)))
'@octokit/plugin-enterprise-rest': 6.0.1
'@octokit/rest': 19.0.11(encoding@0.1.13)
aproba: 2.0.0
@@ -18806,7 +19408,7 @@ snapshots:
console-control-strings: 1.1.0
conventional-changelog-core: 5.0.1
conventional-recommended-bump: 7.0.1
- cosmiconfig: 9.0.0(typescript@5.6.3)
+ cosmiconfig: 8.3.6(typescript@5.6.3)
dedent: 1.5.3
execa: 5.0.0
fs-extra: 11.2.0
@@ -18832,7 +19434,7 @@ snapshots:
npm-package-arg: 11.0.2
npm-packlist: 8.0.2
npm-registry-fetch: 17.1.0
- nx: 20.1.3(@swc/core@1.9.3(@swc/helpers@0.5.15))
+ nx: 19.8.12(@swc/core@1.9.3(@swc/helpers@0.5.15))
p-map: 4.0.0
p-map-series: 2.1.0
p-queue: 6.6.2
@@ -18847,8 +19449,6 @@ snapshots:
signal-exit: 3.0.7
slash: 3.0.0
ssri: 10.0.6
- string-width: 4.2.3
- strip-ansi: 6.0.1
strong-log-transformer: 2.1.0
tar: 6.2.1
temp-dir: 1.0.0
@@ -18943,6 +19543,10 @@ snapshots:
dependencies:
'@noble/hashes': 1.3.3
+ '@noble/curves@1.6.0':
+ dependencies:
+ '@noble/hashes': 1.5.0
+
'@noble/curves@1.7.0':
dependencies:
'@noble/hashes': 1.6.0
@@ -18955,6 +19559,8 @@ snapshots:
'@noble/hashes@1.6.0': {}
+ '@noble/hashes@1.6.1': {}
+
'@node-llama-cpp/linux-arm64@3.1.1':
optional: true
@@ -19010,7 +19616,7 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@npmcli/arborist@7.5.4':
+ '@npmcli/arborist@7.5.3':
dependencies:
'@isaacs/string-locale-compare': 1.1.0
'@npmcli/fs': 3.1.1
@@ -19130,46 +19736,62 @@ snapshots:
- bluebird
- supports-color
- '@nx/devkit@20.1.3(nx@20.1.3(@swc/core@1.9.3(@swc/helpers@0.5.15)))':
+ '@nrwl/devkit@19.8.12(nx@19.8.12(@swc/core@1.9.3(@swc/helpers@0.5.15)))':
+ dependencies:
+ '@nx/devkit': 19.8.12(nx@19.8.12(@swc/core@1.9.3(@swc/helpers@0.5.15)))
+ transitivePeerDependencies:
+ - nx
+
+ '@nrwl/tao@19.8.12(@swc/core@1.9.3(@swc/helpers@0.5.15))':
+ dependencies:
+ nx: 19.8.12(@swc/core@1.9.3(@swc/helpers@0.5.15))
+ tslib: 2.8.0
+ transitivePeerDependencies:
+ - '@swc-node/register'
+ - '@swc/core'
+ - debug
+
+ '@nx/devkit@19.8.12(nx@19.8.12(@swc/core@1.9.3(@swc/helpers@0.5.15)))':
dependencies:
+ '@nrwl/devkit': 19.8.12(nx@19.8.12(@swc/core@1.9.3(@swc/helpers@0.5.15)))
ejs: 3.1.10
enquirer: 2.3.6
ignore: 5.3.2
minimatch: 9.0.3
- nx: 20.1.3(@swc/core@1.9.3(@swc/helpers@0.5.15))
+ nx: 19.8.12(@swc/core@1.9.3(@swc/helpers@0.5.15))
semver: 7.6.3
tmp: 0.2.3
tslib: 2.8.0
yargs-parser: 21.1.1
- '@nx/nx-darwin-arm64@20.1.3':
+ '@nx/nx-darwin-arm64@19.8.12':
optional: true
- '@nx/nx-darwin-x64@20.1.3':
+ '@nx/nx-darwin-x64@19.8.12':
optional: true
- '@nx/nx-freebsd-x64@20.1.3':
+ '@nx/nx-freebsd-x64@19.8.12':
optional: true
- '@nx/nx-linux-arm-gnueabihf@20.1.3':
+ '@nx/nx-linux-arm-gnueabihf@19.8.12':
optional: true
- '@nx/nx-linux-arm64-gnu@20.1.3':
+ '@nx/nx-linux-arm64-gnu@19.8.12':
optional: true
- '@nx/nx-linux-arm64-musl@20.1.3':
+ '@nx/nx-linux-arm64-musl@19.8.12':
optional: true
- '@nx/nx-linux-x64-gnu@20.1.3':
+ '@nx/nx-linux-x64-gnu@19.8.12':
optional: true
- '@nx/nx-linux-x64-musl@20.1.3':
+ '@nx/nx-linux-x64-musl@19.8.12':
optional: true
- '@nx/nx-win32-arm64-msvc@20.1.3':
+ '@nx/nx-win32-arm64-msvc@19.8.12':
optional: true
- '@nx/nx-win32-x64-msvc@20.1.3':
+ '@nx/nx-win32-x64-msvc@19.8.12':
optional: true
'@octokit/app@15.1.1':
@@ -19464,7 +20086,7 @@ snapshots:
'@octokit/request-error': 6.1.5
'@octokit/webhooks-methods': 5.1.0
- '@opendocsg/pdf2md@0.1.31(encoding@0.1.13)':
+ '@opendocsg/pdf2md@0.1.32(encoding@0.1.13)':
dependencies:
enumify: 1.0.4
minimist: 1.2.8
@@ -19643,12 +20265,150 @@ snapshots:
transitivePeerDependencies:
- supports-color
+ '@radix-ui/primitive@1.1.0': {}
+
+ '@radix-ui/react-arrow@1.1.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ optionalDependencies:
+ '@types/react': 18.3.12
+ '@types/react-dom': 18.3.1
+
'@radix-ui/react-compose-refs@1.1.0(@types/react@18.3.12)(react@18.3.1)':
dependencies:
react: 18.3.1
optionalDependencies:
'@types/react': 18.3.12
+ '@radix-ui/react-context@1.1.0(@types/react@18.3.12)(react@18.3.1)':
+ dependencies:
+ react: 18.3.1
+ optionalDependencies:
+ '@types/react': 18.3.12
+
+ '@radix-ui/react-context@1.1.1(@types/react@18.3.12)(react@18.3.1)':
+ dependencies:
+ react: 18.3.1
+ optionalDependencies:
+ '@types/react': 18.3.12
+
+ '@radix-ui/react-dialog@1.1.2(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@radix-ui/primitive': 1.1.0
+ '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-context': 1.1.1(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-dismissable-layer': 1.1.1(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-focus-guards': 1.1.1(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-focus-scope': 1.1.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-id': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-portal': 1.1.2(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-presence': 1.1.1(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-slot': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ aria-hidden: 1.2.4
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ react-remove-scroll: 2.6.0(@types/react@18.3.12)(react@18.3.1)
+ optionalDependencies:
+ '@types/react': 18.3.12
+ '@types/react-dom': 18.3.1
+
+ '@radix-ui/react-dismissable-layer@1.1.1(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@radix-ui/primitive': 1.1.0
+ '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-use-escape-keydown': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ optionalDependencies:
+ '@types/react': 18.3.12
+ '@types/react-dom': 18.3.1
+
+ '@radix-ui/react-focus-guards@1.1.1(@types/react@18.3.12)(react@18.3.1)':
+ dependencies:
+ react: 18.3.1
+ optionalDependencies:
+ '@types/react': 18.3.12
+
+ '@radix-ui/react-focus-scope@1.1.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ optionalDependencies:
+ '@types/react': 18.3.12
+ '@types/react-dom': 18.3.1
+
+ '@radix-ui/react-id@1.1.0(@types/react@18.3.12)(react@18.3.1)':
+ dependencies:
+ '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ react: 18.3.1
+ optionalDependencies:
+ '@types/react': 18.3.12
+
+ '@radix-ui/react-popper@1.2.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@floating-ui/react-dom': 2.1.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-arrow': 1.1.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-context': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-use-rect': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-use-size': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/rect': 1.1.0
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ optionalDependencies:
+ '@types/react': 18.3.12
+ '@types/react-dom': 18.3.1
+
+ '@radix-ui/react-portal@1.1.2(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ optionalDependencies:
+ '@types/react': 18.3.12
+ '@types/react-dom': 18.3.1
+
+ '@radix-ui/react-presence@1.1.1(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ optionalDependencies:
+ '@types/react': 18.3.12
+ '@types/react-dom': 18.3.1
+
+ '@radix-ui/react-primitive@2.0.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@radix-ui/react-slot': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ optionalDependencies:
+ '@types/react': 18.3.12
+ '@types/react-dom': 18.3.1
+
+ '@radix-ui/react-separator@1.1.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ optionalDependencies:
+ '@types/react': 18.3.12
+ '@types/react-dom': 18.3.1
+
'@radix-ui/react-slot@1.1.0(@types/react@18.3.12)(react@18.3.1)':
dependencies:
'@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.12)(react@18.3.1)
@@ -19656,40 +20416,107 @@ snapshots:
optionalDependencies:
'@types/react': 18.3.12
- '@reflink/reflink-darwin-arm64@0.1.16':
- optional: true
+ '@radix-ui/react-tooltip@1.1.4(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@radix-ui/primitive': 1.1.0
+ '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-context': 1.1.1(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-dismissable-layer': 1.1.1(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-id': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-popper': 1.2.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-portal': 1.1.2(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-presence': 1.1.1(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-slot': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-visually-hidden': 1.1.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ optionalDependencies:
+ '@types/react': 18.3.12
+ '@types/react-dom': 18.3.1
+
+ '@radix-ui/react-use-callback-ref@1.1.0(@types/react@18.3.12)(react@18.3.1)':
+ dependencies:
+ react: 18.3.1
+ optionalDependencies:
+ '@types/react': 18.3.12
+
+ '@radix-ui/react-use-controllable-state@1.1.0(@types/react@18.3.12)(react@18.3.1)':
+ dependencies:
+ '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ react: 18.3.1
+ optionalDependencies:
+ '@types/react': 18.3.12
+
+ '@radix-ui/react-use-escape-keydown@1.1.0(@types/react@18.3.12)(react@18.3.1)':
+ dependencies:
+ '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ react: 18.3.1
+ optionalDependencies:
+ '@types/react': 18.3.12
+
+ '@radix-ui/react-use-layout-effect@1.1.0(@types/react@18.3.12)(react@18.3.1)':
+ dependencies:
+ react: 18.3.1
+ optionalDependencies:
+ '@types/react': 18.3.12
+
+ '@radix-ui/react-use-rect@1.1.0(@types/react@18.3.12)(react@18.3.1)':
+ dependencies:
+ '@radix-ui/rect': 1.1.0
+ react: 18.3.1
+ optionalDependencies:
+ '@types/react': 18.3.12
+
+ '@radix-ui/react-use-size@1.1.0(@types/react@18.3.12)(react@18.3.1)':
+ dependencies:
+ '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ react: 18.3.1
+ optionalDependencies:
+ '@types/react': 18.3.12
+
+ '@radix-ui/react-visually-hidden@1.1.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ optionalDependencies:
+ '@types/react': 18.3.12
+ '@types/react-dom': 18.3.1
+
+ '@radix-ui/rect@1.1.0': {}
- '@reflink/reflink-darwin-x64@0.1.16':
+ '@reflink/reflink-darwin-arm64@0.1.17':
optional: true
- '@reflink/reflink-linux-arm64-gnu@0.1.16':
+ '@reflink/reflink-linux-arm64-gnu@0.1.17':
optional: true
- '@reflink/reflink-linux-arm64-musl@0.1.16':
+ '@reflink/reflink-linux-arm64-musl@0.1.17':
optional: true
- '@reflink/reflink-linux-x64-gnu@0.1.16':
+ '@reflink/reflink-linux-x64-gnu@0.1.17':
optional: true
- '@reflink/reflink-linux-x64-musl@0.1.16':
+ '@reflink/reflink-linux-x64-musl@0.1.17':
optional: true
- '@reflink/reflink-win32-arm64-msvc@0.1.16':
+ '@reflink/reflink-win32-arm64-msvc@0.1.17':
optional: true
- '@reflink/reflink-win32-x64-msvc@0.1.16':
+ '@reflink/reflink-win32-x64-msvc@0.1.17':
optional: true
- '@reflink/reflink@0.1.16':
+ '@reflink/reflink@0.1.17':
optionalDependencies:
- '@reflink/reflink-darwin-arm64': 0.1.16
- '@reflink/reflink-darwin-x64': 0.1.16
- '@reflink/reflink-linux-arm64-gnu': 0.1.16
- '@reflink/reflink-linux-arm64-musl': 0.1.16
- '@reflink/reflink-linux-x64-gnu': 0.1.16
- '@reflink/reflink-linux-x64-musl': 0.1.16
- '@reflink/reflink-win32-arm64-msvc': 0.1.16
- '@reflink/reflink-win32-x64-msvc': 0.1.16
+ '@reflink/reflink-darwin-arm64': 0.1.17
+ '@reflink/reflink-linux-arm64-gnu': 0.1.17
+ '@reflink/reflink-linux-arm64-musl': 0.1.17
+ '@reflink/reflink-linux-x64-gnu': 0.1.17
+ '@reflink/reflink-linux-x64-musl': 0.1.17
+ '@reflink/reflink-win32-arm64-msvc': 0.1.17
+ '@reflink/reflink-win32-x64-msvc': 0.1.17
optional: true
'@remix-run/router@1.15.1': {}
@@ -19899,6 +20726,30 @@ snapshots:
'@scure/base@1.1.9': {}
+ '@scure/base@1.2.1': {}
+
+ '@scure/bip32@1.5.0':
+ dependencies:
+ '@noble/curves': 1.6.0
+ '@noble/hashes': 1.5.0
+ '@scure/base': 1.1.9
+
+ '@scure/bip32@1.6.0':
+ dependencies:
+ '@noble/curves': 1.7.0
+ '@noble/hashes': 1.6.1
+ '@scure/base': 1.2.1
+
+ '@scure/bip39@1.4.0':
+ dependencies:
+ '@noble/hashes': 1.5.0
+ '@scure/base': 1.1.9
+
+ '@scure/bip39@1.5.0':
+ dependencies:
+ '@noble/hashes': 1.6.1
+ '@scure/base': 1.2.1
+
'@scure/starknet@1.0.0':
dependencies:
'@noble/curves': 1.3.0
@@ -20306,7 +21157,7 @@ snapshots:
'@solana/buffer-layout-utils@0.2.0(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.10)':
dependencies:
'@solana/buffer-layout': 4.0.1
- '@solana/web3.js': 1.95.4(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.10)
+ '@solana/web3.js': 1.95.5(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.10)
bigint-buffer: 1.1.5
bignumber.js: 9.1.2
transitivePeerDependencies:
@@ -20414,37 +21265,37 @@ snapshots:
transitivePeerDependencies:
- fastestsmallesttextencoderdecoder
- '@solana/spl-token-group@0.0.4(@solana/web3.js@1.95.4(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)':
+ '@solana/spl-token-group@0.0.4(@solana/web3.js@1.95.5(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)':
dependencies:
'@solana/codecs': 2.0.0-preview.2(fastestsmallesttextencoderdecoder@1.0.22)
'@solana/spl-type-length-value': 0.1.0
- '@solana/web3.js': 1.95.4(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.10)
+ '@solana/web3.js': 1.95.5(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.10)
transitivePeerDependencies:
- fastestsmallesttextencoderdecoder
- '@solana/spl-token-group@0.0.7(@solana/web3.js@1.95.4(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.6.3)':
+ '@solana/spl-token-group@0.0.7(@solana/web3.js@1.95.5(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.6.3)':
dependencies:
'@solana/codecs': 2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.6.3)
- '@solana/web3.js': 1.95.4(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.10)
+ '@solana/web3.js': 1.95.5(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.10)
transitivePeerDependencies:
- fastestsmallesttextencoderdecoder
- typescript
- '@solana/spl-token-metadata@0.1.6(@solana/web3.js@1.95.4(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.6.3)':
+ '@solana/spl-token-metadata@0.1.6(@solana/web3.js@1.95.5(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.6.3)':
dependencies:
'@solana/codecs': 2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.6.3)
- '@solana/web3.js': 1.95.4(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.10)
+ '@solana/web3.js': 1.95.5(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.10)
transitivePeerDependencies:
- fastestsmallesttextencoderdecoder
- typescript
- '@solana/spl-token@0.4.6(@solana/web3.js@1.95.4(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(encoding@0.1.13)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.6.3)(utf-8-validate@5.0.10)':
+ '@solana/spl-token@0.4.6(@solana/web3.js@1.95.5(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(encoding@0.1.13)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.6.3)(utf-8-validate@5.0.10)':
dependencies:
'@solana/buffer-layout': 4.0.1
'@solana/buffer-layout-utils': 0.2.0(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.10)
- '@solana/spl-token-group': 0.0.4(@solana/web3.js@1.95.4(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)
- '@solana/spl-token-metadata': 0.1.6(@solana/web3.js@1.95.4(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.6.3)
- '@solana/web3.js': 1.95.4(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.10)
+ '@solana/spl-token-group': 0.0.4(@solana/web3.js@1.95.5(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)
+ '@solana/spl-token-metadata': 0.1.6(@solana/web3.js@1.95.5(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.6.3)
+ '@solana/web3.js': 1.95.5(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.10)
buffer: 6.0.3
transitivePeerDependencies:
- bufferutil
@@ -20453,13 +21304,13 @@ snapshots:
- typescript
- utf-8-validate
- '@solana/spl-token@0.4.9(@solana/web3.js@1.95.4(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(encoding@0.1.13)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.6.3)(utf-8-validate@5.0.10)':
+ '@solana/spl-token@0.4.9(@solana/web3.js@1.95.5(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(encoding@0.1.13)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.6.3)(utf-8-validate@5.0.10)':
dependencies:
'@solana/buffer-layout': 4.0.1
'@solana/buffer-layout-utils': 0.2.0(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.10)
- '@solana/spl-token-group': 0.0.7(@solana/web3.js@1.95.4(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.6.3)
- '@solana/spl-token-metadata': 0.1.6(@solana/web3.js@1.95.4(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.6.3)
- '@solana/web3.js': 1.95.4(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.10)
+ '@solana/spl-token-group': 0.0.7(@solana/web3.js@1.95.5(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.6.3)
+ '@solana/spl-token-metadata': 0.1.6(@solana/web3.js@1.95.5(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.6.3)
+ '@solana/web3.js': 1.95.5(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.10)
buffer: 6.0.3
transitivePeerDependencies:
- bufferutil
@@ -20472,11 +21323,11 @@ snapshots:
dependencies:
buffer: 6.0.3
- '@solana/web3.js@1.95.4(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.10)':
+ '@solana/web3.js@1.95.5(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.10)':
dependencies:
'@babel/runtime': 7.26.0
'@noble/curves': 1.7.0
- '@noble/hashes': 1.6.0
+ '@noble/hashes': 1.6.1
'@solana/buffer-layout': 4.0.1
agentkeepalive: 4.5.0
bigint-buffer: 1.1.5
@@ -20515,7 +21366,7 @@ snapshots:
'@supabase/realtime-js@2.10.7(bufferutil@4.0.8)(utf-8-validate@5.0.10)':
dependencies:
'@supabase/node-fetch': 2.6.15
- '@types/phoenix': 1.6.5
+ '@types/phoenix': 1.6.6
'@types/ws': 8.5.13
ws: 8.18.0(bufferutil@4.0.8)(utf-8-validate@5.0.10)
transitivePeerDependencies:
@@ -20692,6 +21543,13 @@ snapshots:
dependencies:
defer-to-connect: 2.0.1
+ '@tanstack/query-core@5.60.6': {}
+
+ '@tanstack/react-query@5.61.0(react@18.3.1)':
+ dependencies:
+ '@tanstack/query-core': 5.60.6
+ react: 18.3.1
+
'@telegraf/types@7.1.0': {}
'@tinyhttp/content-disposition@2.2.2': {}
@@ -20766,7 +21624,7 @@ snapshots:
'@types/connect-history-api-fallback@1.5.4':
dependencies:
- '@types/express-serve-static-core': 5.0.1
+ '@types/express-serve-static-core': 5.0.2
'@types/node': 22.8.4
'@types/connect@3.4.38':
@@ -20902,7 +21760,7 @@ snapshots:
'@types/dompurify@3.2.0':
dependencies:
- dompurify: 3.2.0
+ dompurify: 3.2.1
'@types/emscripten@1.39.13': {}
@@ -20929,7 +21787,7 @@ snapshots:
'@types/range-parser': 1.2.7
'@types/send': 0.17.4
- '@types/express-serve-static-core@5.0.1':
+ '@types/express-serve-static-core@5.0.2':
dependencies:
'@types/node': 22.8.4
'@types/qs': 6.9.17
@@ -20946,7 +21804,7 @@ snapshots:
'@types/express@5.0.0':
dependencies:
'@types/body-parser': 1.19.5
- '@types/express-serve-static-core': 5.0.1
+ '@types/express-serve-static-core': 5.0.2
'@types/qs': 6.9.17
'@types/serve-static': 1.15.7
@@ -21078,7 +21936,7 @@ snapshots:
pg-protocol: 1.7.0
pg-types: 4.0.2
- '@types/phoenix@1.6.5': {}
+ '@types/phoenix@1.6.6': {}
'@types/prismjs@1.26.5': {}
@@ -21153,6 +22011,9 @@ snapshots:
'@types/node': 22.8.4
minipass: 4.2.8
+ '@types/trusted-types@2.0.7':
+ optional: true
+
'@types/unist@2.0.11': {}
'@types/unist@3.0.3': {}
@@ -21184,48 +22045,48 @@ snapshots:
'@types/node': 22.8.4
optional: true
- '@typescript-eslint/eslint-plugin@8.12.2(@typescript-eslint/parser@8.12.2(eslint@9.13.0(jiti@2.4.0))(typescript@5.6.3))(eslint@9.13.0(jiti@2.4.0))(typescript@5.6.3)':
+ '@typescript-eslint/eslint-plugin@8.11.0(@typescript-eslint/parser@8.11.0(eslint@9.13.0(jiti@2.4.0))(typescript@5.6.3))(eslint@9.13.0(jiti@2.4.0))(typescript@5.6.3)':
dependencies:
'@eslint-community/regexpp': 4.12.1
- '@typescript-eslint/parser': 8.12.2(eslint@9.13.0(jiti@2.4.0))(typescript@5.6.3)
- '@typescript-eslint/scope-manager': 8.12.2
- '@typescript-eslint/type-utils': 8.12.2(eslint@9.13.0(jiti@2.4.0))(typescript@5.6.3)
- '@typescript-eslint/utils': 8.12.2(eslint@9.13.0(jiti@2.4.0))(typescript@5.6.3)
- '@typescript-eslint/visitor-keys': 8.12.2
+ '@typescript-eslint/parser': 8.11.0(eslint@9.13.0(jiti@2.4.0))(typescript@5.6.3)
+ '@typescript-eslint/scope-manager': 8.11.0
+ '@typescript-eslint/type-utils': 8.11.0(eslint@9.13.0(jiti@2.4.0))(typescript@5.6.3)
+ '@typescript-eslint/utils': 8.11.0(eslint@9.13.0(jiti@2.4.0))(typescript@5.6.3)
+ '@typescript-eslint/visitor-keys': 8.11.0
eslint: 9.13.0(jiti@2.4.0)
graphemer: 1.4.0
ignore: 5.3.2
natural-compare: 1.4.0
- ts-api-utils: 1.4.0(typescript@5.6.3)
+ ts-api-utils: 1.4.1(typescript@5.6.3)
optionalDependencies:
typescript: 5.6.3
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/eslint-plugin@8.15.0(@typescript-eslint/parser@8.15.0(eslint@9.13.0(jiti@2.4.0))(typescript@5.6.3))(eslint@9.13.0(jiti@2.4.0))(typescript@5.6.3)':
+ '@typescript-eslint/eslint-plugin@8.12.2(@typescript-eslint/parser@8.12.2(eslint@9.13.0(jiti@2.4.0))(typescript@5.6.3))(eslint@9.13.0(jiti@2.4.0))(typescript@5.6.3)':
dependencies:
'@eslint-community/regexpp': 4.12.1
- '@typescript-eslint/parser': 8.15.0(eslint@9.13.0(jiti@2.4.0))(typescript@5.6.3)
- '@typescript-eslint/scope-manager': 8.15.0
- '@typescript-eslint/type-utils': 8.15.0(eslint@9.13.0(jiti@2.4.0))(typescript@5.6.3)
- '@typescript-eslint/utils': 8.15.0(eslint@9.13.0(jiti@2.4.0))(typescript@5.6.3)
- '@typescript-eslint/visitor-keys': 8.15.0
+ '@typescript-eslint/parser': 8.12.2(eslint@9.13.0(jiti@2.4.0))(typescript@5.6.3)
+ '@typescript-eslint/scope-manager': 8.12.2
+ '@typescript-eslint/type-utils': 8.12.2(eslint@9.13.0(jiti@2.4.0))(typescript@5.6.3)
+ '@typescript-eslint/utils': 8.12.2(eslint@9.13.0(jiti@2.4.0))(typescript@5.6.3)
+ '@typescript-eslint/visitor-keys': 8.12.2
eslint: 9.13.0(jiti@2.4.0)
graphemer: 1.4.0
ignore: 5.3.2
natural-compare: 1.4.0
- ts-api-utils: 1.4.0(typescript@5.6.3)
+ ts-api-utils: 1.4.1(typescript@5.6.3)
optionalDependencies:
typescript: 5.6.3
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/parser@8.12.2(eslint@9.13.0(jiti@2.4.0))(typescript@5.6.3)':
+ '@typescript-eslint/parser@8.11.0(eslint@9.13.0(jiti@2.4.0))(typescript@5.6.3)':
dependencies:
- '@typescript-eslint/scope-manager': 8.12.2
- '@typescript-eslint/types': 8.12.2
- '@typescript-eslint/typescript-estree': 8.12.2(typescript@5.6.3)
- '@typescript-eslint/visitor-keys': 8.12.2
+ '@typescript-eslint/scope-manager': 8.11.0
+ '@typescript-eslint/types': 8.11.0
+ '@typescript-eslint/typescript-estree': 8.11.0(typescript@5.6.3)
+ '@typescript-eslint/visitor-keys': 8.11.0
debug: 4.3.7(supports-color@5.5.0)
eslint: 9.13.0(jiti@2.4.0)
optionalDependencies:
@@ -21233,12 +22094,12 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/parser@8.15.0(eslint@9.13.0(jiti@2.4.0))(typescript@5.6.3)':
+ '@typescript-eslint/parser@8.12.2(eslint@9.13.0(jiti@2.4.0))(typescript@5.6.3)':
dependencies:
- '@typescript-eslint/scope-manager': 8.15.0
- '@typescript-eslint/types': 8.15.0
- '@typescript-eslint/typescript-estree': 8.15.0(typescript@5.6.3)
- '@typescript-eslint/visitor-keys': 8.15.0
+ '@typescript-eslint/scope-manager': 8.12.2
+ '@typescript-eslint/types': 8.12.2
+ '@typescript-eslint/typescript-estree': 8.12.2(typescript@5.6.3)
+ '@typescript-eslint/visitor-keys': 8.12.2
debug: 4.3.7(supports-color@5.5.0)
eslint: 9.13.0(jiti@2.4.0)
optionalDependencies:
@@ -21251,45 +22112,45 @@ snapshots:
'@typescript-eslint/types': 7.18.0
'@typescript-eslint/visitor-keys': 7.18.0
+ '@typescript-eslint/scope-manager@8.11.0':
+ dependencies:
+ '@typescript-eslint/types': 8.11.0
+ '@typescript-eslint/visitor-keys': 8.11.0
+
'@typescript-eslint/scope-manager@8.12.2':
dependencies:
'@typescript-eslint/types': 8.12.2
'@typescript-eslint/visitor-keys': 8.12.2
- '@typescript-eslint/scope-manager@8.15.0':
- dependencies:
- '@typescript-eslint/types': 8.15.0
- '@typescript-eslint/visitor-keys': 8.15.0
-
- '@typescript-eslint/type-utils@8.12.2(eslint@9.13.0(jiti@2.4.0))(typescript@5.6.3)':
+ '@typescript-eslint/type-utils@8.11.0(eslint@9.13.0(jiti@2.4.0))(typescript@5.6.3)':
dependencies:
- '@typescript-eslint/typescript-estree': 8.12.2(typescript@5.6.3)
- '@typescript-eslint/utils': 8.12.2(eslint@9.13.0(jiti@2.4.0))(typescript@5.6.3)
+ '@typescript-eslint/typescript-estree': 8.11.0(typescript@5.6.3)
+ '@typescript-eslint/utils': 8.11.0(eslint@9.13.0(jiti@2.4.0))(typescript@5.6.3)
debug: 4.3.7(supports-color@5.5.0)
- ts-api-utils: 1.4.0(typescript@5.6.3)
+ ts-api-utils: 1.4.1(typescript@5.6.3)
optionalDependencies:
typescript: 5.6.3
transitivePeerDependencies:
- eslint
- supports-color
- '@typescript-eslint/type-utils@8.15.0(eslint@9.13.0(jiti@2.4.0))(typescript@5.6.3)':
+ '@typescript-eslint/type-utils@8.12.2(eslint@9.13.0(jiti@2.4.0))(typescript@5.6.3)':
dependencies:
- '@typescript-eslint/typescript-estree': 8.15.0(typescript@5.6.3)
- '@typescript-eslint/utils': 8.15.0(eslint@9.13.0(jiti@2.4.0))(typescript@5.6.3)
+ '@typescript-eslint/typescript-estree': 8.12.2(typescript@5.6.3)
+ '@typescript-eslint/utils': 8.12.2(eslint@9.13.0(jiti@2.4.0))(typescript@5.6.3)
debug: 4.3.7(supports-color@5.5.0)
- eslint: 9.13.0(jiti@2.4.0)
- ts-api-utils: 1.4.0(typescript@5.6.3)
+ ts-api-utils: 1.4.1(typescript@5.6.3)
optionalDependencies:
typescript: 5.6.3
transitivePeerDependencies:
+ - eslint
- supports-color
'@typescript-eslint/types@7.18.0': {}
- '@typescript-eslint/types@8.12.2': {}
+ '@typescript-eslint/types@8.11.0': {}
- '@typescript-eslint/types@8.15.0': {}
+ '@typescript-eslint/types@8.12.2': {}
'@typescript-eslint/typescript-estree@7.18.0(typescript@5.6.3)':
dependencies:
@@ -21300,37 +22161,37 @@ snapshots:
is-glob: 4.0.3
minimatch: 9.0.5
semver: 7.6.3
- ts-api-utils: 1.4.0(typescript@5.6.3)
+ ts-api-utils: 1.4.1(typescript@5.6.3)
optionalDependencies:
typescript: 5.6.3
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/typescript-estree@8.12.2(typescript@5.6.3)':
+ '@typescript-eslint/typescript-estree@8.11.0(typescript@5.6.3)':
dependencies:
- '@typescript-eslint/types': 8.12.2
- '@typescript-eslint/visitor-keys': 8.12.2
+ '@typescript-eslint/types': 8.11.0
+ '@typescript-eslint/visitor-keys': 8.11.0
debug: 4.3.7(supports-color@5.5.0)
fast-glob: 3.3.2
is-glob: 4.0.3
minimatch: 9.0.5
semver: 7.6.3
- ts-api-utils: 1.4.0(typescript@5.6.3)
+ ts-api-utils: 1.4.1(typescript@5.6.3)
optionalDependencies:
typescript: 5.6.3
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/typescript-estree@8.15.0(typescript@5.6.3)':
+ '@typescript-eslint/typescript-estree@8.12.2(typescript@5.6.3)':
dependencies:
- '@typescript-eslint/types': 8.15.0
- '@typescript-eslint/visitor-keys': 8.15.0
+ '@typescript-eslint/types': 8.12.2
+ '@typescript-eslint/visitor-keys': 8.12.2
debug: 4.3.7(supports-color@5.5.0)
fast-glob: 3.3.2
is-glob: 4.0.3
minimatch: 9.0.5
semver: 7.6.3
- ts-api-utils: 1.4.0(typescript@5.6.3)
+ ts-api-utils: 1.4.1(typescript@5.6.3)
optionalDependencies:
typescript: 5.6.3
transitivePeerDependencies:
@@ -21347,43 +22208,42 @@ snapshots:
- supports-color
- typescript
- '@typescript-eslint/utils@8.12.2(eslint@9.13.0(jiti@2.4.0))(typescript@5.6.3)':
+ '@typescript-eslint/utils@8.11.0(eslint@9.13.0(jiti@2.4.0))(typescript@5.6.3)':
dependencies:
'@eslint-community/eslint-utils': 4.4.1(eslint@9.13.0(jiti@2.4.0))
- '@typescript-eslint/scope-manager': 8.12.2
- '@typescript-eslint/types': 8.12.2
- '@typescript-eslint/typescript-estree': 8.12.2(typescript@5.6.3)
+ '@typescript-eslint/scope-manager': 8.11.0
+ '@typescript-eslint/types': 8.11.0
+ '@typescript-eslint/typescript-estree': 8.11.0(typescript@5.6.3)
eslint: 9.13.0(jiti@2.4.0)
transitivePeerDependencies:
- supports-color
- typescript
- '@typescript-eslint/utils@8.15.0(eslint@9.13.0(jiti@2.4.0))(typescript@5.6.3)':
+ '@typescript-eslint/utils@8.12.2(eslint@9.13.0(jiti@2.4.0))(typescript@5.6.3)':
dependencies:
'@eslint-community/eslint-utils': 4.4.1(eslint@9.13.0(jiti@2.4.0))
- '@typescript-eslint/scope-manager': 8.15.0
- '@typescript-eslint/types': 8.15.0
- '@typescript-eslint/typescript-estree': 8.15.0(typescript@5.6.3)
+ '@typescript-eslint/scope-manager': 8.12.2
+ '@typescript-eslint/types': 8.12.2
+ '@typescript-eslint/typescript-estree': 8.12.2(typescript@5.6.3)
eslint: 9.13.0(jiti@2.4.0)
- optionalDependencies:
- typescript: 5.6.3
transitivePeerDependencies:
- supports-color
+ - typescript
'@typescript-eslint/visitor-keys@7.18.0':
dependencies:
'@typescript-eslint/types': 7.18.0
eslint-visitor-keys: 3.4.3
- '@typescript-eslint/visitor-keys@8.12.2':
+ '@typescript-eslint/visitor-keys@8.11.0':
dependencies:
- '@typescript-eslint/types': 8.12.2
+ '@typescript-eslint/types': 8.11.0
eslint-visitor-keys: 3.4.3
- '@typescript-eslint/visitor-keys@8.15.0':
+ '@typescript-eslint/visitor-keys@8.12.2':
dependencies:
- '@typescript-eslint/types': 8.15.0
- eslint-visitor-keys: 4.2.0
+ '@typescript-eslint/types': 8.12.2
+ eslint-visitor-keys: 3.4.3
'@ungap/structured-clone@1.2.0': {}
@@ -21414,14 +22274,14 @@ snapshots:
moment: 2.30.1
starknet: 6.18.0(encoding@0.1.13)
- '@vitejs/plugin-react@4.3.3(vite@5.4.11(@types/node@22.8.4)(terser@5.36.0))':
+ '@vitejs/plugin-react@4.3.3(vite@client+@tanstack+router-plugin+vite)':
dependencies:
'@babel/core': 7.26.0
'@babel/plugin-transform-react-jsx-self': 7.25.9(@babel/core@7.26.0)
'@babel/plugin-transform-react-jsx-source': 7.25.9(@babel/core@7.26.0)
'@types/babel__core': 7.20.5
react-refresh: 0.14.2
- vite: 5.4.11(@types/node@22.8.4)(terser@5.36.0)
+ vite: link:client/@tanstack/router-plugin/vite
transitivePeerDependencies:
- supports-color
@@ -21603,7 +22463,7 @@ snapshots:
'@yarnpkg/lockfile@1.1.0': {}
- '@yarnpkg/parsers@3.0.2':
+ '@yarnpkg/parsers@3.0.0-rc.46':
dependencies:
js-yaml: 3.14.1
tslib: 2.8.0
@@ -21628,6 +22488,11 @@ snapshots:
fs-extra: 10.1.0
yargs: 17.7.2
+ abitype@1.0.6(typescript@5.6.3)(zod@3.23.8):
+ optionalDependencies:
+ typescript: 5.6.3
+ zod: 3.23.8
+
abort-controller@3.0.0:
dependencies:
event-target-shim: 5.0.1
@@ -21681,6 +22546,18 @@ snapshots:
tough-cookie: 4.1.4
tslib: 2.8.0
+ agent-twitter-client@0.0.14:
+ dependencies:
+ '@sinclair/typebox': 0.32.35
+ agent-twitter-client: 0.0.13
+ headers-polyfill: 3.3.0
+ json-stable-stringify: 1.1.1
+ otpauth: 9.3.5
+ set-cookie-parser: 2.7.1
+ tough-cookie: 4.1.4
+ tslib: 2.8.0
+ twitter-api-v2: 1.18.2
+
agentkeepalive@4.5.0:
dependencies:
humanize-ms: 1.2.1
@@ -21690,7 +22567,7 @@ snapshots:
clean-stack: 2.2.0
indent-string: 4.0.0
- ai@3.4.33(openai@4.69.0(encoding@0.1.13)(zod@3.23.8))(react@18.3.1)(sswr@2.1.0(svelte@5.2.7))(svelte@5.2.7)(zod@3.23.8):
+ ai@3.4.33(openai@4.69.0(encoding@0.1.13)(zod@3.23.8))(react@18.3.1)(sswr@2.1.0(svelte@5.2.7))(svelte@5.2.7)(vue@3.5.13(typescript@5.6.3))(zod@3.23.8):
dependencies:
'@ai-sdk/provider': 0.0.26
'@ai-sdk/provider-utils': 1.0.22(zod@3.23.8)
@@ -21889,6 +22766,10 @@ snapshots:
argparse@2.0.1: {}
+ aria-hidden@1.2.4:
+ dependencies:
+ tslib: 2.8.0
+
aria-query@5.3.2: {}
arr-union@3.1.0: {}
@@ -21965,7 +22846,7 @@ snapshots:
autoprefixer@10.4.20(postcss@8.4.49):
dependencies:
browserslist: 4.24.2
- caniuse-lite: 1.0.30001683
+ caniuse-lite: 1.0.30001684
fraction.js: 4.3.7
normalize-range: 0.1.2
picocolors: 1.1.1
@@ -21976,6 +22857,17 @@ snapshots:
aws4@1.13.2: {}
+ axios-mock-adapter@1.22.0(axios@1.7.7):
+ dependencies:
+ axios: 1.7.7(debug@4.3.7)
+ fast-deep-equal: 3.1.3
+ is-buffer: 2.0.5
+
+ axios-retry@4.5.0(axios@1.7.7):
+ dependencies:
+ axios: 1.7.7(debug@4.3.7)
+ is-retry-allowed: 2.2.0
+
axios@0.27.2:
dependencies:
follow-redirects: 1.15.9(debug@4.3.7)
@@ -22098,7 +22990,7 @@ snapshots:
dependencies:
bare-events: 2.5.0
bare-path: 2.1.3
- bare-stream: 2.4.0
+ bare-stream: 2.4.2
optional: true
bare-os@2.4.4:
@@ -22109,7 +23001,7 @@ snapshots:
bare-os: 2.4.4
optional: true
- bare-stream@2.4.0:
+ bare-stream@2.4.2:
dependencies:
streamx: 2.20.2
optional: true
@@ -22122,6 +23014,8 @@ snapshots:
base64-js@1.5.1: {}
+ base64url@3.0.1: {}
+
basic-ftp@5.0.5: {}
batch@0.6.1: {}
@@ -22181,6 +23075,17 @@ snapshots:
dependencies:
file-uri-to-path: 1.0.0
+ bip32@4.0.0:
+ dependencies:
+ '@noble/hashes': 1.6.1
+ '@scure/base': 1.2.1
+ typeforce: 1.18.0
+ wif: 2.0.6
+
+ bip39@3.1.0:
+ dependencies:
+ '@noble/hashes': 1.6.1
+
bl@4.1.0:
dependencies:
buffer: 5.7.1
@@ -22189,6 +23094,8 @@ snapshots:
blessed@0.1.81: {}
+ bn.js@4.12.1: {}
+
bn.js@5.2.1: {}
bodec@0.1.0: {}
@@ -22262,9 +23169,11 @@ snapshots:
dependencies:
fill-range: 7.1.1
+ brorand@1.1.0: {}
+
browserslist@4.24.2:
dependencies:
- caniuse-lite: 1.0.30001683
+ caniuse-lite: 1.0.30001684
electron-to-chromium: 1.5.64
node-releases: 2.0.18
update-browserslist-db: 1.1.1(browserslist@4.24.2)
@@ -22281,6 +23190,12 @@ snapshots:
dependencies:
base-x: 5.0.0
+ bs58check@2.1.2:
+ dependencies:
+ bs58: 4.0.1
+ create-hash: 1.2.0
+ safe-buffer: 5.2.1
+
bser@2.1.1:
dependencies:
node-int64: 0.4.0
@@ -22315,7 +23230,6 @@ snapshots:
bufferutil@4.0.8:
dependencies:
node-gyp-build: 4.8.4
- optional: true
bundle-require@5.0.0(esbuild@0.24.0):
dependencies:
@@ -22417,11 +23331,11 @@ snapshots:
caniuse-api@3.0.0:
dependencies:
browserslist: 4.24.2
- caniuse-lite: 1.0.30001683
+ caniuse-lite: 1.0.30001684
lodash.memoize: 4.1.2
lodash.uniq: 4.5.0
- caniuse-lite@1.0.30001683: {}
+ caniuse-lite@1.0.30001684: {}
canvas@2.11.2(encoding@0.1.13):
dependencies:
@@ -22558,10 +23472,28 @@ snapshots:
ci-info@4.1.0: {}
+ cipher-base@1.0.5:
+ dependencies:
+ inherits: 2.0.4
+ safe-buffer: 5.2.1
+
citty@0.1.6:
dependencies:
consola: 3.2.3
+ cive@0.7.1(bufferutil@4.0.8)(typescript@5.6.3)(utf-8-validate@5.0.10):
+ dependencies:
+ '@noble/curves': 1.7.0
+ '@noble/hashes': 1.6.1
+ '@scure/bip32': 1.6.0
+ '@scure/bip39': 1.5.0
+ viem: 2.21.50(bufferutil@4.0.8)(typescript@5.6.3)(utf-8-validate@5.0.10)(zod@3.23.8)
+ zod: 3.23.8
+ transitivePeerDependencies:
+ - bufferutil
+ - typescript
+ - utf-8-validate
+
cjs-module-lexer@1.4.1: {}
class-variance-authority@0.7.0:
@@ -22647,6 +23579,8 @@ snapshots:
clsx@2.1.0: {}
+ clsx@2.1.1: {}
+
cmake-js@7.3.0:
dependencies:
axios: 1.7.7(debug@4.3.7)
@@ -22973,14 +23907,13 @@ snapshots:
optionalDependencies:
typescript: 5.6.3
- cosmiconfig@9.0.0(typescript@5.6.3):
+ create-hash@1.2.0:
dependencies:
- env-paths: 2.2.1
- import-fresh: 3.3.0
- js-yaml: 4.1.0
- parse-json: 5.2.0
- optionalDependencies:
- typescript: 5.6.3
+ cipher-base: 1.0.5
+ inherits: 2.0.4
+ md5.js: 1.3.5
+ ripemd160: 2.0.2
+ sha.js: 2.4.11
create-jest@29.7.0(@types/node@22.8.4)(ts-node@10.9.2(@swc/core@1.9.3(@swc/helpers@0.5.15))(@types/node@22.8.4)(typescript@5.6.3)):
dependencies:
@@ -23217,6 +24150,8 @@ snapshots:
csstype@3.1.3: {}
+ csv-parse@5.6.0: {}
+
csv-writer@1.6.0: {}
culvert@0.1.2: {}
@@ -23580,6 +24515,8 @@ snapshots:
detect-newline@3.1.0: {}
+ detect-node-es@1.1.0: {}
+
detect-node@2.1.0: {}
detect-port-alt@1.1.6:
@@ -23704,7 +24641,9 @@ snapshots:
dompurify@3.1.6: {}
- dompurify@3.2.0: {}
+ dompurify@3.2.1:
+ optionalDependencies:
+ '@types/trusted-types': 2.0.7
domutils@2.8.0:
dependencies:
@@ -23814,6 +24753,16 @@ snapshots:
electron-to-chromium@1.5.64: {}
+ elliptic@6.6.1:
+ dependencies:
+ bn.js: 4.12.1
+ brorand: 1.1.0
+ hash.js: 1.1.7
+ hmac-drbg: 1.0.1
+ inherits: 2.0.4
+ minimalistic-assert: 1.0.1
+ minimalistic-crypto-utils: 1.0.1
+
emittery@0.13.1: {}
emoji-regex-xs@1.0.0: {}
@@ -24345,7 +25294,7 @@ snapshots:
extract-zip@2.0.1:
dependencies:
- debug: 4.3.7(supports-color@5.5.0)
+ debug: 4.3.4
get-stream: 5.2.0
yauzl: 2.10.0
optionalDependencies:
@@ -24712,6 +25661,8 @@ snapshots:
has-symbols: 1.0.3
hasown: 2.0.2
+ get-nonce@1.0.1: {}
+
get-own-enumerable-property-symbols@3.0.2: {}
get-package-type@0.1.0: {}
@@ -24904,7 +25855,7 @@ snapshots:
globals@14.0.0: {}
- globals@15.12.0: {}
+ globals@15.11.0: {}
globby@11.1.0:
dependencies:
@@ -25029,6 +25980,17 @@ snapshots:
has-yarn@3.0.0: {}
+ hash-base@3.1.0:
+ dependencies:
+ inherits: 2.0.4
+ readable-stream: 3.6.2
+ safe-buffer: 5.2.1
+
+ hash.js@1.1.7:
+ dependencies:
+ inherits: 2.0.4
+ minimalistic-assert: 1.0.1
+
hasown@2.0.2:
dependencies:
function-bind: 1.1.2
@@ -25204,6 +26166,12 @@ snapshots:
tiny-warning: 1.0.3
value-equal: 1.0.1
+ hmac-drbg@1.0.1:
+ dependencies:
+ hash.js: 1.1.7
+ minimalistic-assert: 1.0.1
+ minimalistic-crypto-utils: 1.0.1
+
hogan.js@3.0.2:
dependencies:
mkdirp: 0.3.0
@@ -25543,7 +26511,7 @@ snapshots:
stdout-update: 4.0.1
strip-ansi: 7.1.0
optionalDependencies:
- '@reflink/reflink': 0.1.16
+ '@reflink/reflink': 0.1.17
is-alphabetical@2.0.1: {}
@@ -25649,6 +26617,8 @@ snapshots:
is-regexp@1.0.0: {}
+ is-retry-allowed@2.2.0: {}
+
is-root@2.1.0: {}
is-ssh@1.4.0:
@@ -25715,6 +26685,10 @@ snapshots:
dependencies:
ws: 7.5.10(bufferutil@4.0.8)(utf-8-validate@5.0.10)
+ isows@1.0.6(ws@8.18.0(bufferutil@4.0.8)(utf-8-validate@5.0.10)):
+ dependencies:
+ ws: 8.18.0(bufferutil@4.0.8)(utf-8-validate@5.0.10)
+
isstream@0.1.2: {}
istanbul-lib-coverage@3.2.2: {}
@@ -26381,13 +27355,13 @@ snapshots:
leac@0.6.0: {}
- lerna@8.1.9(@swc/core@1.9.3(@swc/helpers@0.5.15))(encoding@0.1.13):
+ lerna@8.1.5(@swc/core@1.9.3(@swc/helpers@0.5.15))(encoding@0.1.13):
dependencies:
- '@lerna/create': 8.1.9(@swc/core@1.9.3(@swc/helpers@0.5.15))(encoding@0.1.13)(typescript@5.6.3)
- '@npmcli/arborist': 7.5.4
+ '@lerna/create': 8.1.5(@swc/core@1.9.3(@swc/helpers@0.5.15))(encoding@0.1.13)(typescript@5.6.3)
+ '@npmcli/arborist': 7.5.3
'@npmcli/package-json': 5.2.0
'@npmcli/run-script': 8.1.0
- '@nx/devkit': 20.1.3(nx@20.1.3(@swc/core@1.9.3(@swc/helpers@0.5.15)))
+ '@nx/devkit': 19.8.12(nx@19.8.12(@swc/core@1.9.3(@swc/helpers@0.5.15)))
'@octokit/plugin-enterprise-rest': 6.0.1
'@octokit/rest': 19.0.11(encoding@0.1.13)
aproba: 2.0.0
@@ -26401,7 +27375,7 @@ snapshots:
conventional-changelog-angular: 7.0.0
conventional-changelog-core: 5.0.1
conventional-recommended-bump: 7.0.1
- cosmiconfig: 9.0.0(typescript@5.6.3)
+ cosmiconfig: 8.3.6(typescript@5.6.3)
dedent: 1.5.3
envinfo: 7.13.0
execa: 5.0.0
@@ -26432,7 +27406,7 @@ snapshots:
npm-package-arg: 11.0.2
npm-packlist: 8.0.2
npm-registry-fetch: 17.1.0
- nx: 20.1.3(@swc/core@1.9.3(@swc/helpers@0.5.15))
+ nx: 19.8.12(@swc/core@1.9.3(@swc/helpers@0.5.15))
p-map: 4.0.0
p-map-series: 2.1.0
p-pipe: 3.1.0
@@ -26449,8 +27423,6 @@ snapshots:
signal-exit: 3.0.7
slash: 3.0.0
ssri: 10.0.6
- string-width: 4.2.3
- strip-ansi: 6.0.1
strong-log-transformer: 2.1.0
tar: 6.2.1
temp-dir: 1.0.0
@@ -26785,6 +27757,12 @@ snapshots:
md4w@0.2.6: {}
+ md5.js@1.3.5:
+ dependencies:
+ hash-base: 3.1.0
+ inherits: 2.0.4
+ safe-buffer: 5.2.1
+
mdast-util-directive@3.0.0:
dependencies:
'@types/mdast': 4.0.4
@@ -27428,6 +28406,8 @@ snapshots:
minimalistic-assert@1.0.1: {}
+ minimalistic-crypto-utils@1.0.1: {}
+
minimatch@10.0.1:
dependencies:
brace-expansion: 2.0.1
@@ -27666,6 +28646,8 @@ snapshots:
dependencies:
semver: 7.6.3
+ node-addon-api@5.1.0: {}
+
node-addon-api@6.1.0: {}
node-addon-api@7.1.1: {}
@@ -27705,8 +28687,7 @@ snapshots:
node-forge@1.3.1: {}
- node-gyp-build@4.8.4:
- optional: true
+ node-gyp-build@4.8.4: {}
node-gyp@10.2.0:
dependencies:
@@ -27725,6 +28706,18 @@ snapshots:
node-int64@0.4.0: {}
+ node-jose@2.2.0:
+ dependencies:
+ base64url: 3.0.1
+ buffer: 6.0.3
+ es6-promise: 4.2.8
+ lodash: 4.17.21
+ long: 5.2.3
+ node-forge: 1.3.1
+ pako: 2.1.0
+ process: 0.11.10
+ uuid: 9.0.1
+
node-llama-cpp@3.1.1(typescript@5.6.3):
dependencies:
'@huggingface/jinja': 0.3.2
@@ -27917,11 +28910,12 @@ snapshots:
nwsapi@2.2.13: {}
- nx@20.1.3(@swc/core@1.9.3(@swc/helpers@0.5.15)):
+ nx@19.8.12(@swc/core@1.9.3(@swc/helpers@0.5.15)):
dependencies:
'@napi-rs/wasm-runtime': 0.2.4
+ '@nrwl/tao': 19.8.12(@swc/core@1.9.3(@swc/helpers@0.5.15))
'@yarnpkg/lockfile': 1.1.0
- '@yarnpkg/parsers': 3.0.2
+ '@yarnpkg/parsers': 3.0.0-rc.46
'@zkochan/js-yaml': 0.0.7
axios: 1.7.7(debug@4.3.7)
chalk: 4.1.0
@@ -27945,6 +28939,7 @@ snapshots:
ora: 5.3.0
semver: 7.6.3
string-width: 4.2.3
+ strong-log-transformer: 2.1.0
tar-stream: 2.2.0
tmp: 0.2.3
tsconfig-paths: 4.2.0
@@ -27952,16 +28947,16 @@ snapshots:
yargs: 17.7.2
yargs-parser: 21.1.1
optionalDependencies:
- '@nx/nx-darwin-arm64': 20.1.3
- '@nx/nx-darwin-x64': 20.1.3
- '@nx/nx-freebsd-x64': 20.1.3
- '@nx/nx-linux-arm-gnueabihf': 20.1.3
- '@nx/nx-linux-arm64-gnu': 20.1.3
- '@nx/nx-linux-arm64-musl': 20.1.3
- '@nx/nx-linux-x64-gnu': 20.1.3
- '@nx/nx-linux-x64-musl': 20.1.3
- '@nx/nx-win32-arm64-msvc': 20.1.3
- '@nx/nx-win32-x64-msvc': 20.1.3
+ '@nx/nx-darwin-arm64': 19.8.12
+ '@nx/nx-darwin-x64': 19.8.12
+ '@nx/nx-freebsd-x64': 19.8.12
+ '@nx/nx-linux-arm-gnueabihf': 19.8.12
+ '@nx/nx-linux-arm64-gnu': 19.8.12
+ '@nx/nx-linux-arm64-musl': 19.8.12
+ '@nx/nx-linux-x64-gnu': 19.8.12
+ '@nx/nx-linux-x64-musl': 19.8.12
+ '@nx/nx-win32-arm64-msvc': 19.8.12
+ '@nx/nx-win32-x64-msvc': 19.8.12
'@swc/core': 1.9.3(@swc/helpers@0.5.15)
transitivePeerDependencies:
- debug
@@ -28075,6 +29070,18 @@ snapshots:
platform: 1.3.6
protobufjs: 7.4.0
+ open-jsonrpc-provider@0.2.1(bufferutil@4.0.8)(utf-8-validate@5.0.10):
+ dependencies:
+ axios: 0.27.2
+ reconnecting-websocket: 4.4.0
+ websocket: 1.0.35
+ ws: 8.18.0(bufferutil@4.0.8)(utf-8-validate@5.0.10)
+ transitivePeerDependencies:
+ - bufferutil
+ - debug
+ - supports-color
+ - utf-8-validate
+
open@8.4.2:
dependencies:
define-lazy-prop: 2.0.0
@@ -28127,7 +29134,7 @@ snapshots:
ora@5.3.0:
dependencies:
bl: 4.1.0
- chalk: 4.1.2
+ chalk: 4.1.0
cli-cursor: 3.1.0
cli-spinners: 2.6.1
is-interactive: 1.0.0
@@ -28165,6 +29172,20 @@ snapshots:
dependencies:
'@noble/hashes': 1.5.0
+ ox@0.1.2(typescript@5.6.3)(zod@3.23.8):
+ dependencies:
+ '@adraffy/ens-normalize': 1.11.0
+ '@noble/curves': 1.7.0
+ '@noble/hashes': 1.6.1
+ '@scure/bip32': 1.6.0
+ '@scure/bip39': 1.5.0
+ abitype: 1.0.6(typescript@5.6.3)(zod@3.23.8)
+ eventemitter3: 5.0.1
+ optionalDependencies:
+ typescript: 5.6.3
+ transitivePeerDependencies:
+ - zod
+
p-cancelable@3.0.0: {}
p-finally@1.0.0: {}
@@ -28266,7 +29287,7 @@ snapshots:
registry-url: 6.0.1
semver: 7.6.3
- package-manager-detector@0.2.4: {}
+ package-manager-detector@0.2.5: {}
pacote@18.0.6:
dependencies:
@@ -28589,7 +29610,7 @@ snapshots:
- supports-color
optional: true
- pm2@5.4.2(bufferutil@4.0.8)(utf-8-validate@5.0.10):
+ pm2@5.4.3(bufferutil@4.0.8)(utf-8-validate@5.0.10):
dependencies:
'@pm2/agent': 2.0.4(bufferutil@4.0.8)(utf-8-validate@5.0.10)
'@pm2/io': 6.0.1
@@ -29333,7 +30354,7 @@ snapshots:
prism-react-renderer@2.3.1(react@18.3.1):
dependencies:
'@types/prismjs': 1.26.5
- clsx: 2.1.0
+ clsx: 2.1.1
react: 18.3.1
prismjs@1.29.0: {}
@@ -29342,6 +30363,8 @@ snapshots:
process-nextick-args@2.0.1: {}
+ process@0.11.10: {}
+
proggy@2.0.0: {}
progress@2.0.3: {}
@@ -29442,8 +30465,8 @@ snapshots:
dependencies:
'@coral-xyz/anchor': 0.30.1(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.10)
'@rollup/plugin-json': 6.1.0(rollup@4.27.4)
- '@solana/spl-token': 0.4.6(@solana/web3.js@1.95.4(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(encoding@0.1.13)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.6.3)(utf-8-validate@5.0.10)
- '@solana/web3.js': 1.95.4(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.10)
+ '@solana/spl-token': 0.4.6(@solana/web3.js@1.95.5(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(encoding@0.1.13)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.6.3)(utf-8-validate@5.0.10)
+ '@solana/web3.js': 1.95.5(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.10)
transitivePeerDependencies:
- bufferutil
- encoding
@@ -29661,6 +30684,25 @@ snapshots:
react-refresh@0.14.2: {}
+ react-remove-scroll-bar@2.3.6(@types/react@18.3.12)(react@18.3.1):
+ dependencies:
+ react: 18.3.1
+ react-style-singleton: 2.2.1(@types/react@18.3.12)(react@18.3.1)
+ tslib: 2.8.0
+ optionalDependencies:
+ '@types/react': 18.3.12
+
+ react-remove-scroll@2.6.0(@types/react@18.3.12)(react@18.3.1):
+ dependencies:
+ react: 18.3.1
+ react-remove-scroll-bar: 2.3.6(@types/react@18.3.12)(react@18.3.1)
+ react-style-singleton: 2.2.1(@types/react@18.3.12)(react@18.3.1)
+ tslib: 2.8.0
+ use-callback-ref: 1.3.2(@types/react@18.3.12)(react@18.3.1)
+ use-sidecar: 1.1.2(@types/react@18.3.12)(react@18.3.1)
+ optionalDependencies:
+ '@types/react': 18.3.12
+
react-router-config@5.1.1(react-router@5.3.4(react@18.3.1))(react@18.3.1):
dependencies:
'@babel/runtime': 7.26.0
@@ -29703,6 +30745,15 @@ snapshots:
'@remix-run/router': 1.15.1
react: 18.3.1
+ react-style-singleton@2.2.1(@types/react@18.3.12)(react@18.3.1):
+ dependencies:
+ get-nonce: 1.0.1
+ invariant: 2.2.4
+ react: 18.3.1
+ tslib: 2.8.0
+ optionalDependencies:
+ '@types/react': 18.3.12
+
react-waypoint@10.3.0(react@18.3.1):
dependencies:
'@babel/runtime': 7.26.0
@@ -29847,6 +30898,8 @@ snapshots:
unified: 11.0.5
vfile: 6.0.3
+ reconnecting-websocket@4.4.0: {}
+
recursive-readdir@2.2.3:
dependencies:
minimatch: 3.1.2
@@ -30110,6 +31163,11 @@ snapshots:
glob: 11.0.0
package-json-from-dist: 1.0.1
+ ripemd160@2.0.2:
+ dependencies:
+ hash-base: 3.1.0
+ inherits: 2.0.4
+
robust-predicates@3.0.2: {}
rollup-plugin-dts@6.1.1(rollup@3.29.5)(typescript@5.6.3):
@@ -30254,6 +31312,12 @@ snapshots:
search-insights@2.17.3: {}
+ secp256k1@5.0.1:
+ dependencies:
+ elliptic: 6.6.1
+ node-addon-api: 5.1.0
+ node-gyp-build: 4.8.4
+
section-matter@1.0.0:
dependencies:
extend-shallow: 2.0.1
@@ -30366,6 +31430,11 @@ snapshots:
setprototypeof@1.2.0: {}
+ sha.js@2.4.11:
+ dependencies:
+ inherits: 2.0.4
+ safe-buffer: 5.2.1
+
shallow-clone@0.1.2:
dependencies:
is-extendable: 0.1.1
@@ -31124,15 +32193,15 @@ snapshots:
tinyspy@3.0.2: {}
- tldts-core@6.1.63: {}
+ tldts-core@6.1.64: {}
- tldts-experimental@6.1.63:
+ tldts-experimental@6.1.64:
dependencies:
- tldts-core: 6.1.63
+ tldts-core: 6.1.64
- tldts@6.1.63:
+ tldts@6.1.64:
dependencies:
- tldts-core: 6.1.63
+ tldts-core: 6.1.64
tmp@0.0.33:
dependencies:
@@ -31189,7 +32258,7 @@ snapshots:
tough-cookie@5.0.0:
dependencies:
- tldts: 6.1.63
+ tldts: 6.1.64
tr46@0.0.3: {}
@@ -31215,7 +32284,7 @@ snapshots:
trough@2.2.0: {}
- ts-api-utils@1.4.0(typescript@5.6.3):
+ ts-api-utils@1.4.1(typescript@5.6.3):
dependencies:
typescript: 5.6.3
@@ -31322,6 +32391,8 @@ snapshots:
tweetnacl@0.14.5: {}
+ twitter-api-v2@1.18.2: {}
+
tx2@1.0.5:
dependencies:
json-stringify-safe: 5.0.1
@@ -31373,15 +32444,17 @@ snapshots:
typescript: 5.6.3
yaml: 2.6.1
- typescript-eslint@8.15.0(eslint@9.13.0(jiti@2.4.0))(typescript@5.6.3):
+ typeforce@1.18.0: {}
+
+ typescript-eslint@8.11.0(eslint@9.13.0(jiti@2.4.0))(typescript@5.6.3):
dependencies:
- '@typescript-eslint/eslint-plugin': 8.15.0(@typescript-eslint/parser@8.15.0(eslint@9.13.0(jiti@2.4.0))(typescript@5.6.3))(eslint@9.13.0(jiti@2.4.0))(typescript@5.6.3)
- '@typescript-eslint/parser': 8.15.0(eslint@9.13.0(jiti@2.4.0))(typescript@5.6.3)
- '@typescript-eslint/utils': 8.15.0(eslint@9.13.0(jiti@2.4.0))(typescript@5.6.3)
- eslint: 9.13.0(jiti@2.4.0)
+ '@typescript-eslint/eslint-plugin': 8.11.0(@typescript-eslint/parser@8.11.0(eslint@9.13.0(jiti@2.4.0))(typescript@5.6.3))(eslint@9.13.0(jiti@2.4.0))(typescript@5.6.3)
+ '@typescript-eslint/parser': 8.11.0(eslint@9.13.0(jiti@2.4.0))(typescript@5.6.3)
+ '@typescript-eslint/utils': 8.11.0(eslint@9.13.0(jiti@2.4.0))(typescript@5.6.3)
optionalDependencies:
typescript: 5.6.3
transitivePeerDependencies:
+ - eslint
- supports-color
typescript@5.6.3: {}
@@ -31609,6 +32682,21 @@ snapshots:
querystringify: 2.2.0
requires-port: 1.0.0
+ use-callback-ref@1.3.2(@types/react@18.3.12)(react@18.3.1):
+ dependencies:
+ react: 18.3.1
+ tslib: 2.8.0
+ optionalDependencies:
+ '@types/react': 18.3.12
+
+ use-sidecar@1.1.2(@types/react@18.3.12)(react@18.3.1):
+ dependencies:
+ detect-node-es: 1.1.0
+ react: 18.3.1
+ tslib: 2.8.0
+ optionalDependencies:
+ '@types/react': 18.3.12
+
use-sync-external-store@1.2.2(react@18.3.1):
dependencies:
react: 18.3.1
@@ -31616,7 +32704,6 @@ snapshots:
utf-8-validate@5.0.10:
dependencies:
node-gyp-build: 4.8.4
- optional: true
utfstring@2.0.2: {}
@@ -31692,6 +32779,24 @@ snapshots:
'@types/unist': 3.0.3
vfile-message: 4.0.2
+ viem@2.21.50(bufferutil@4.0.8)(typescript@5.6.3)(utf-8-validate@5.0.10)(zod@3.23.8):
+ dependencies:
+ '@noble/curves': 1.6.0
+ '@noble/hashes': 1.5.0
+ '@scure/bip32': 1.5.0
+ '@scure/bip39': 1.4.0
+ abitype: 1.0.6(typescript@5.6.3)(zod@3.23.8)
+ isows: 1.0.6(ws@8.18.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))
+ ox: 0.1.2(typescript@5.6.3)(zod@3.23.8)
+ webauthn-p256: 0.0.10
+ ws: 8.18.0(bufferutil@4.0.8)(utf-8-validate@5.0.10)
+ optionalDependencies:
+ typescript: 5.6.3
+ transitivePeerDependencies:
+ - bufferutil
+ - utf-8-validate
+ - zod
+
vite-node@2.1.5(@types/node@22.8.4)(terser@5.36.0):
dependencies:
cac: 6.7.14
@@ -31710,19 +32815,19 @@ snapshots:
- supports-color
- terser
- vite-plugin-top-level-await@1.4.4(@swc/helpers@0.5.15)(rollup@4.27.4)(vite@5.4.11(@types/node@22.8.4)(terser@5.36.0)):
+ vite-plugin-top-level-await@1.4.4(@swc/helpers@0.5.15)(rollup@4.27.4)(vite@client+@tanstack+router-plugin+vite):
dependencies:
'@rollup/plugin-virtual': 3.0.2(rollup@4.27.4)
'@swc/core': 1.9.3(@swc/helpers@0.5.15)
uuid: 10.0.0
- vite: 5.4.11(@types/node@22.8.4)(terser@5.36.0)
+ vite: link:client/@tanstack/router-plugin/vite
transitivePeerDependencies:
- '@swc/helpers'
- rollup
- vite-plugin-wasm@3.3.0(vite@5.4.11(@types/node@22.8.4)(terser@5.36.0)):
+ vite-plugin-wasm@3.3.0(vite@client+@tanstack+router-plugin+vite):
dependencies:
- vite: 5.4.11(@types/node@22.8.4)(terser@5.36.0)
+ vite: link:client/@tanstack/router-plugin/vite
vite@5.4.11(@types/node@22.8.4)(terser@5.36.0):
dependencies:
@@ -31849,6 +32954,11 @@ snapshots:
web-streams-polyfill@4.0.0-beta.3: {}
+ webauthn-p256@0.0.10:
+ dependencies:
+ '@noble/curves': 1.7.0
+ '@noble/hashes': 1.6.1
+
webidl-conversions@3.0.1: {}
webidl-conversions@4.0.2: {}
@@ -31986,6 +33096,17 @@ snapshots:
websocket-extensions@0.1.4: {}
+ websocket@1.0.35:
+ dependencies:
+ bufferutil: 4.0.8
+ debug: 2.6.9
+ es5-ext: 0.10.64
+ typedarray-to-buffer: 3.1.5
+ utf-8-validate: 5.0.10
+ yaeti: 0.0.6
+ transitivePeerDependencies:
+ - supports-color
+
whatwg-encoding@3.1.1:
dependencies:
iconv-lite: 0.6.3
@@ -32037,6 +33158,10 @@ snapshots:
dependencies:
string-width: 5.1.2
+ wif@2.0.6:
+ dependencies:
+ bs58check: 2.1.2
+
wildcard@2.0.1: {}
word-wrap@1.2.5: {}
@@ -32148,6 +33273,8 @@ snapshots:
y18n@5.0.8: {}
+ yaeti@0.0.6: {}
+
yallist@3.1.1: {}
yallist@4.0.0: {}
diff --git a/scripts/build.sh b/scripts/build.sh
index 9fbbe5f2fb0..b66fdaf37c8 100644
--- a/scripts/build.sh
+++ b/scripts/build.sh
@@ -21,22 +21,24 @@ fi
# Define packages to build in order
PACKAGES=(
"core"
- "plugin-trustdb"
- "plugin-solana"
- "plugin-starknet"
"adapter-postgres"
"adapter-sqlite"
"adapter-sqljs"
"adapter-supabase"
+ "plugin-node"
+ "plugin-trustdb"
+ "plugin-solana"
+ "plugin-starknet"
+ "plugin-conflux"
+ "plugin-0g"
+ "plugin-bootstrap"
+ "plugin-image-generation"
+ "plugin-coinbase"
"client-auto"
"client-direct"
"client-discord"
"client-telegram"
"client-twitter"
- "plugin-node"
- "plugin-bootstrap"
- "plugin-image-generation"
- "plugin-coinbase"
)
# Build packages in specified order
diff --git a/scripts/dev.sh b/scripts/dev.sh
index e65a3eb5869..2aa7f5ecfab 100644
--- a/scripts/dev.sh
+++ b/scripts/dev.sh
@@ -1,6 +1,7 @@
echo "Passing arguments: $*"
npx concurrently --raw \
"pnpm --dir packages/core dev -- $*" \
+ "pnpm --dir client dev -- $*" \
"pnpm --dir packages/client-telegram dev -- $*" \
"pnpm --dir packages/client-discord dev -- $*" \
"pnpm --dir packages/client-twitter dev -- $*" \