refactor!: rewrite bot core; add AI (Ollama, Gemini), DB, new commands
This commit is contained in:
@@ -0,0 +1,30 @@
|
||||
{
|
||||
"env": {
|
||||
"browser": true,
|
||||
"es2021": true
|
||||
},
|
||||
"extends": [
|
||||
"eslint:recommended",
|
||||
"plugin:@typescript-eslint/recommended"
|
||||
],
|
||||
"overrides": [
|
||||
],
|
||||
"parser": "@typescript-eslint/parser",
|
||||
"parserOptions": {
|
||||
"ecmaVersion": "latest",
|
||||
"sourceType": "module"
|
||||
},
|
||||
"plugins": [
|
||||
"@typescript-eslint"
|
||||
],
|
||||
"rules": {
|
||||
"quotes": [
|
||||
"error",
|
||||
"double"
|
||||
],
|
||||
"semi": [
|
||||
"error",
|
||||
"always"
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
version: 2
|
||||
updates:
|
||||
- package-ecosystem: "npm"
|
||||
directory: "/"
|
||||
schedule:
|
||||
interval: "daily"
|
||||
@@ -0,0 +1,53 @@
|
||||
name: Docker
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
|
||||
env:
|
||||
REGISTRY: ghcr.io
|
||||
IMAGE_OWNER: ${{ github.repository_owner }}
|
||||
IMAGE_NAME: tg-chat-bot
|
||||
|
||||
jobs:
|
||||
build:
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
contents: read
|
||||
packages: write
|
||||
id-token: write
|
||||
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Set up Docker Buildx
|
||||
uses: docker/setup-buildx-action@v3
|
||||
|
||||
- name: Log into registry ${{ env.REGISTRY }}
|
||||
if: github.event_name != 'pull_request'
|
||||
uses: docker/login-action@v3
|
||||
with:
|
||||
registry: ${{ env.REGISTRY }}
|
||||
username: ${{ github.actor }}
|
||||
password: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
- name: Extract Docker metadata
|
||||
id: meta
|
||||
uses: docker/metadata-action@v5
|
||||
with:
|
||||
images: ${{ env.REGISTRY }}/${{ env.IMAGE_OWNER }}/${{ env.IMAGE_NAME }}
|
||||
tags: |
|
||||
type=raw,value=latest,enable=${{ github.ref_name == 'master' }}
|
||||
type=ref,event=branch
|
||||
|
||||
- name: Build and push Docker image
|
||||
id: build-and-push
|
||||
uses: docker/build-push-action@v5
|
||||
with:
|
||||
context: .
|
||||
push: ${{ github.event_name != 'pull_request' }}
|
||||
tags: ${{ steps.meta.outputs.tags }}
|
||||
labels: ${{ steps.meta.outputs.labels }}
|
||||
cache-from: type=gha
|
||||
cache-to: type=gha,mode=max
|
||||
@@ -6,6 +6,9 @@ yarn-debug.log*
|
||||
yarn-error.log*
|
||||
lerna-debug.log*
|
||||
|
||||
.idea
|
||||
data
|
||||
|
||||
# Diagnostic reports (https://nodejs.org/api/report.html)
|
||||
report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json
|
||||
|
||||
|
||||
Generated
+1
-1
@@ -2,7 +2,7 @@
|
||||
<project version="4">
|
||||
<component name="ProjectModuleManager">
|
||||
<modules>
|
||||
<module fileurl="file://$PROJECT_DIR$/.idea/tg-ts-bot.iml" filepath="$PROJECT_DIR$/.idea/tg-ts-bot.iml" />
|
||||
<module fileurl="file://$PROJECT_DIR$/.idea/tg-chat-bot.iml" filepath="$PROJECT_DIR$/.idea/tg-chat-bot.iml" />
|
||||
</modules>
|
||||
</component>
|
||||
</project>
|
||||
Generated
+212
-178
@@ -19,34 +19,140 @@
|
||||
<select />
|
||||
</component>
|
||||
<component name="ChangeListManager">
|
||||
<list default="true" id="4570b3ba-8ca9-473b-b662-8e4acc119298" name="Default Changelist" comment="">
|
||||
<change afterPath="$PROJECT_DIR$/.idea/dictionaries/meloda_main.xml" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/answers.json" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/base/base.ts" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/base/db.ts" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/base/net.ts" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/base/package.json" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/commands/ae.ts" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/commands/base/command.d.ts" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/commands/base/commands.ts" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/commands/base/stats.ts" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/commands/dad.ts" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/commands/fuckYou.ts" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/commands/help.ts" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/commands/mom.ts" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/commands/mute.ts" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/commands/ping.ts" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/commands/q.ts" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/commands/randomString.ts" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/commands/systemSpecs.ts" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/commands/test.ts" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/commands/unmute.ts" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/data.json" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/debug_data.json" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/.idea/.gitignore" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/.idea/.name" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/.vscode/launch.json" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/index.ts" beforeDir="false" afterPath="$PROJECT_DIR$/index.ts" afterDir="false" />
|
||||
<list default="true" id="4570b3ba-8ca9-473b-b662-8e4acc119298" name="Default Changelist" comment="refactor!: rewrite bot core; add AI (Ollama, Gemini), DB, new commands">
|
||||
<change afterPath="$PROJECT_DIR$/.eslintrc.json" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/.github/dependabot.yml" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/.github/workflows/docker-publish.yml" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/Dockerfile" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/Dockerfile-bun" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/assets/Inter_18pt-Black.ttf" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/assets/Inter_18pt-Bold.ttf" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/assets/Inter_18pt-ExtraBold.ttf" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/assets/Inter_18pt-ExtraLight.ttf" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/assets/Inter_18pt-Light.ttf" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/assets/Inter_18pt-Medium.ttf" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/assets/Inter_18pt-Regular.ttf" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/assets/Inter_18pt-SemiBold.ttf" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/assets/Inter_18pt-Thin.ttf" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/bun.lock" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/drizzle.config.ts" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/src/base/callback-command.ts" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/src/base/chat-command.ts" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/src/base/dao.ts" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/src/base/requirement.ts" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/src/base/requirements.ts" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/src/commands/admins-add.ts" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/src/commands/admins-remove.ts" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/src/commands/ae.ts" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/src/commands/ban.ts" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/src/commands/cache-clear.ts" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/src/commands/cache-size.ts" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/src/commands/choice.ts" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/src/commands/coin.ts" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/src/commands/dice.ts" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/src/commands/distort.ts" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/src/commands/gemini-chat.ts" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/src/commands/help.ts" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/src/commands/id.ts" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/src/commands/leave.ts" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/src/commands/mute.ts" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/src/commands/ollama-chat.ts" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/src/commands/ollama-kill.ts" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/src/commands/ollama-prompt.ts" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/src/commands/ollama-search.ts" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/src/commands/ping.ts" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/src/commands/prefix-response.ts" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/src/commands/qr.ts" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/src/commands/quote.ts" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/src/commands/random-int.ts" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/src/commands/random-string.ts" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/src/commands/shutdown.ts" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/src/commands/start.ts" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/src/commands/system-specs.ts" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/src/commands/test.ts" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/src/commands/title.ts" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/src/commands/unban.ts" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/src/commands/unmute.ts" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/src/commands/uptime.ts" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/src/commands/what-better.ts" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/src/commands/when.ts" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/src/common/environment.ts" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/src/common/message-part.ts" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/src/common/message-store.ts" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/src/common/user-store.ts" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/src/db/database-manager.ts" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/src/db/database.ts" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/src/db/message-dao.ts" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/src/db/schema.ts" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/src/db/user-dao.ts" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/src/model/stored-message.ts" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/src/model/stored-user.ts" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/src/model/web-search-response.ts" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/src/util/utils.ts" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/.gitignore" beforeDir="false" afterPath="$PROJECT_DIR$/.gitignore" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/.idea/modules.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/modules.xml" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/.idea/tg-ts-bot.iml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/tg-chat-bot.iml" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/answers.json" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/base/base.js" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/base/base.js.map" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/base/base.ts" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/base/db.js" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/base/db.js.map" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/base/db.ts" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/base/net.js" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/base/net.js.map" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/base/net.ts" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/base/package.json" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/commands/ae.js" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/commands/ae.js.map" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/commands/ae.ts" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/commands/base/command.d.ts" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/commands/base/commands.js" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/commands/base/commands.js.map" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/commands/base/commands.ts" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/commands/base/stats.js" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/commands/base/stats.js.map" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/commands/base/stats.ts" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/commands/dad.js" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/commands/dad.js.map" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/commands/dad.ts" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/commands/fuckYou.js" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/commands/fuckYou.js.map" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/commands/fuckYou.ts" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/commands/help.js" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/commands/help.js.map" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/commands/help.ts" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/commands/mom.js" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/commands/mom.js.map" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/commands/mom.ts" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/commands/mute.js" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/commands/mute.js.map" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/commands/mute.ts" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/commands/ping.js" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/commands/ping.js.map" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/commands/ping.ts" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/commands/q.js" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/commands/q.js.map" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/commands/q.ts" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/commands/randomString.js" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/commands/randomString.js.map" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/commands/randomString.ts" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/commands/systemSpecs.js" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/commands/systemSpecs.js.map" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/commands/systemSpecs.ts" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/commands/test.js" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/commands/test.js.map" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/commands/test.ts" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/commands/unmute.js" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/commands/unmute.js.map" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/commands/unmute.ts" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/data.json" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/debug.bat" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/debug_data.json" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/index.js" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/index.js.map" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/index.ts" beforeDir="false" afterPath="$PROJECT_DIR$/src/index.ts" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/package-lock.json" beforeDir="false" afterPath="$PROJECT_DIR$/package-lock.json" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/package.json" beforeDir="false" afterPath="$PROJECT_DIR$/package.json" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/tsconfig.json" beforeDir="false" afterPath="$PROJECT_DIR$/tsconfig.json" afterDir="false" />
|
||||
@@ -60,44 +166,92 @@
|
||||
<option name="RECENT_TEMPLATES">
|
||||
<list>
|
||||
<option value="tsconfig.json" />
|
||||
<option value="TypeScript File" />
|
||||
</list>
|
||||
</option>
|
||||
</component>
|
||||
<component name="Git.Settings">
|
||||
<option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
|
||||
</component>
|
||||
<component name="GitHubPullRequestSearchHistory">{
|
||||
"lastFilter": {
|
||||
"state": "OPEN",
|
||||
"assignee": "melod1n"
|
||||
}
|
||||
}</component>
|
||||
<component name="GithubPullRequestsUISettings">{
|
||||
"selectedUrlAndAccountId": {
|
||||
"url": "https://github.com/melod1n/tg-ts-bot.git",
|
||||
"accountId": "85bd8cb8-d2dc-4f79-8786-c6a525656547"
|
||||
}
|
||||
}</component>
|
||||
<component name="HighlightingSettingsPerFile">
|
||||
<setting file="file://$PROJECT_DIR$/node_modules/typescript-telegram-bot-api/dist/types/Message.d.ts" root0="SKIP_INSPECTION" />
|
||||
</component>
|
||||
<component name="ProjectColorInfo">{
|
||||
"associatedIndex": 8
|
||||
}</component>
|
||||
<component name="ProjectId" id="1pGFr81roZw9V4CxjwjI3wk7PBj" />
|
||||
<component name="ProjectLevelVcsManager">
|
||||
<ConfirmationsSetting value="2" id="Add" />
|
||||
</component>
|
||||
<component name="ProjectViewState">
|
||||
<option name="autoscrollFromSource" value="true" />
|
||||
<option name="hideEmptyMiddlePackages" value="true" />
|
||||
<option name="showLibraryContents" value="true" />
|
||||
</component>
|
||||
<component name="PropertiesComponent">
|
||||
<property name="RunOnceActivity.OpenProjectViewOnStart" value="true" />
|
||||
<property name="RunOnceActivity.ShowReadmeOnStart" value="true" />
|
||||
<property name="SHARE_PROJECT_CONFIGURATION_FILES" value="true" />
|
||||
<property name="WebServerToolWindowFactoryState" value="false" />
|
||||
<property name="last_opened_file_path" value="$PROJECT_DIR$" />
|
||||
<property name="restartRequiresConfirmation" value="false" />
|
||||
<property name="settings.editor.selected.configurable" value="preferences.sourceCode.TypeScript" />
|
||||
<property name="ts.external.directory.path" value="C:\Program Files\JetBrains\WebStorm 2020.1\plugins\JavaScriptLanguage\jsLanguageServicesImpl\external" />
|
||||
</component>
|
||||
<component name="PropertiesComponent"><![CDATA[{
|
||||
"keyToString": {
|
||||
"Node.js.index.ts.executor": "Debug",
|
||||
"RunOnceActivity.ShowReadmeOnStart": "true",
|
||||
"RunOnceActivity.TerminalTabsStorage.copyFrom.TerminalArrangementManager.252": "true",
|
||||
"RunOnceActivity.git.unshallow": "true",
|
||||
"RunOnceActivity.typescript.service.memoryLimit.init": "true",
|
||||
"git-widget-placeholder": "main",
|
||||
"ignore.virus.scanning.warn.message": "true",
|
||||
"javascript.preferred.runtime.type.id": "node",
|
||||
"last_opened_file_path": "C:/Users/meloda/WebstormProjects/tg-chat-bot/.github",
|
||||
"node.js.detected.package.eslint": "true",
|
||||
"node.js.detected.package.standard": "true",
|
||||
"node.js.selected.package.eslint": "(autodetect)",
|
||||
"node.js.selected.package.standard": "",
|
||||
"nodejs_package_manager_path": "npm",
|
||||
"settings.editor.selected.configurable": "settings.sync",
|
||||
"ts.external.directory.path": "C:\\Users\\meloda\\WebstormProjects\\tg-chat-bot\\node_modules\\typescript\\lib",
|
||||
"vue.rearranger.settings.migration": "true"
|
||||
}
|
||||
}]]></component>
|
||||
<component name="RecentsManager">
|
||||
<key name="CopyFile.RECENT_KEYS">
|
||||
<recent name="C:\Users\meloda\WebstormProjects\tg-chat-bot\.github" />
|
||||
<recent name="C:\Users\meloda\WebstormProjects\tg-chat-bot\assets" />
|
||||
<recent name="C:\Users\meloda\WebstormProjects\tg-chat-bot\src" />
|
||||
</key>
|
||||
<key name="MoveFile.RECENT_KEYS">
|
||||
<recent name="C:\Users\meloda\WebstormProjects\tg-chat-bot\data" />
|
||||
<recent name="C:\Users\meloda\WebstormProjects\tg-chat-bot\assets" />
|
||||
<recent name="C:\Users\meloda\WebstormProjects\tg-chat-bot\src\database" />
|
||||
<recent name="C:\Users\meloda\WebstormProjects\tg-chat-bot\src" />
|
||||
<recent name="C:\Users\meloda-main\Workspace\Development\JavaScript\tg-ts-bot\commands\base" />
|
||||
<recent name="C:\Users\meloda-main\Workspace\Development\JavaScript\tg-ts-bot\commands" />
|
||||
<recent name="C:\Users\meloda-main\Workspace\Development\JavaScript\tg-ts-bot\commands\lib" />
|
||||
</key>
|
||||
</component>
|
||||
<component name="RunManager">
|
||||
<configuration name="index.js" type="NodeJSConfigurationType" nameIsGenerated="true" path-to-js-file="index.js" working-dir="$PROJECT_DIR$">
|
||||
<configuration name="index.ts" type="NodeJSConfigurationType" nameIsGenerated="true" path-to-js-file="src/index.ts" typescript-loader="bundled" working-dir="$PROJECT_DIR$">
|
||||
<EXTENSION ID="com.intellij.javascript.debugger.execution.StartBrowserRunConfigurationExtension">
|
||||
<browser with-js-debugger="true" />
|
||||
</EXTENSION>
|
||||
<method v="2">
|
||||
<option name="TypeScript.Before.Run" enabled="true" FAIL_ON_ERROR="true" CONFIG_PATH="$PROJECT_DIR$/tsconfig.json" />
|
||||
</method>
|
||||
</configuration>
|
||||
</component>
|
||||
<component name="SharedIndexes">
|
||||
<attachedChunks>
|
||||
<set>
|
||||
<option value="bundled-js-predefined-d6986cc7102b-9b0f141eb926-JavaScript-WS-253.29346.242" />
|
||||
</set>
|
||||
</attachedChunks>
|
||||
</component>
|
||||
<component name="SvnConfiguration">
|
||||
<configuration />
|
||||
</component>
|
||||
@@ -110,45 +264,24 @@
|
||||
<updated>1614801715917</updated>
|
||||
<workItem from="1614801717620" duration="6690000" />
|
||||
<workItem from="1614808420471" duration="9549000" />
|
||||
<workItem from="1766000401591" duration="41000" />
|
||||
<workItem from="1766000469449" duration="52000" />
|
||||
<workItem from="1766000541009" duration="278000" />
|
||||
<workItem from="1766000835462" duration="346000" />
|
||||
<workItem from="1766001193400" duration="4438000" />
|
||||
<workItem from="1766005687149" duration="10990000" />
|
||||
<workItem from="1766049114851" duration="5467000" />
|
||||
<workItem from="1766166140465" duration="591000" />
|
||||
<workItem from="1766866014900" duration="51837000" />
|
||||
<workItem from="1767317604283" duration="47747000" />
|
||||
<workItem from="1767820881693" duration="9661000" />
|
||||
<workItem from="1768205148374" duration="3000" />
|
||||
<workItem from="1768205636411" duration="10493000" />
|
||||
</task>
|
||||
<servers />
|
||||
</component>
|
||||
<component name="TypeScriptGeneratedFilesManager">
|
||||
<option name="version" value="2" />
|
||||
<option name="exactExcludedFiles">
|
||||
<list>
|
||||
<option value="$PROJECT_DIR$/index.js" />
|
||||
<option value="$PROJECT_DIR$/base/base.js.map" />
|
||||
<option value="$PROJECT_DIR$/base/base.js" />
|
||||
<option value="$PROJECT_DIR$/base/net.js" />
|
||||
<option value="$PROJECT_DIR$/base/net.js.map" />
|
||||
<option value="$PROJECT_DIR$/base/db.js" />
|
||||
<option value="$PROJECT_DIR$/base/db.js.map" />
|
||||
<option value="$PROJECT_DIR$/index.js.map" />
|
||||
<option value="$PROJECT_DIR$/commands/base/stats.js" />
|
||||
<option value="$PROJECT_DIR$/commands/base/stats.js.map" />
|
||||
<option value="$PROJECT_DIR$/commands/dad.js" />
|
||||
<option value="$PROJECT_DIR$/commands/randomString.js.map" />
|
||||
<option value="$PROJECT_DIR$/commands/ping.js" />
|
||||
<option value="$PROJECT_DIR$/commands/unmute.js.map" />
|
||||
<option value="$PROJECT_DIR$/commands/unmute.js" />
|
||||
<option value="$PROJECT_DIR$/commands/mom.js" />
|
||||
<option value="$PROJECT_DIR$/commands/dad.js.map" />
|
||||
<option value="$PROJECT_DIR$/commands/mute.js.map" />
|
||||
<option value="$PROJECT_DIR$/commands/ae.js.map" />
|
||||
<option value="$PROJECT_DIR$/commands/q.js.map" />
|
||||
<option value="$PROJECT_DIR$/commands/randomString.js" />
|
||||
<option value="$PROJECT_DIR$/commands/ping.js.map" />
|
||||
<option value="$PROJECT_DIR$/commands/mom.js.map" />
|
||||
<option value="$PROJECT_DIR$/commands/fuckYou.js.map" />
|
||||
<option value="$PROJECT_DIR$/commands/systemSpecs.js" />
|
||||
<option value="$PROJECT_DIR$/commands/q.js" />
|
||||
<option value="$PROJECT_DIR$/commands/mute.js" />
|
||||
<option value="$PROJECT_DIR$/commands/systemSpecs.js.map" />
|
||||
<option value="$PROJECT_DIR$/commands/fuckYou.js" />
|
||||
<option value="$PROJECT_DIR$/commands/ae.js" />
|
||||
</list>
|
||||
</option>
|
||||
<option name="version" value="3" />
|
||||
</component>
|
||||
<component name="Vcs.Log.Tabs.Properties">
|
||||
<option name="TAB_STATES">
|
||||
@@ -160,108 +293,9 @@
|
||||
</entry>
|
||||
</map>
|
||||
</option>
|
||||
<option name="oldMeFiltersMigrated" value="true" />
|
||||
</component>
|
||||
<component name="WindowStateProjectService">
|
||||
<state x="414" y="175" key="#com.intellij.execution.impl.EditConfigurationsDialog" timestamp="1614802857330">
|
||||
<screen x="0" y="0" width="1920" height="1040" />
|
||||
</state>
|
||||
<state x="414" y="175" key="#com.intellij.execution.impl.EditConfigurationsDialog/0.0.1920.1040/-1280.54.1280.984@0.0.1920.1040" timestamp="1614802857330" />
|
||||
<state x="723" y="322" key="#com.intellij.fileTypes.FileTypeChooser" timestamp="1614817166437">
|
||||
<screen x="0" y="0" width="1920" height="1040" />
|
||||
</state>
|
||||
<state x="723" y="322" key="#com.intellij.fileTypes.FileTypeChooser/0.0.1920.1040/-1280.54.1280.984@0.0.1920.1040" timestamp="1614817166437" />
|
||||
<state x="765" y="236" key="#com.intellij.ide.util.MemberChooser" timestamp="1614817064818">
|
||||
<screen x="0" y="0" width="1920" height="1040" />
|
||||
</state>
|
||||
<state x="765" y="236" key="#com.intellij.ide.util.MemberChooser/0.0.1920.1040/-1280.54.1280.984@0.0.1920.1040" timestamp="1614817064818" />
|
||||
<state x="644" y="214" key="#com.intellij.refactoring.rename.AutomaticRenamingDialog" timestamp="1614816552557">
|
||||
<screen x="0" y="0" width="1920" height="1040" />
|
||||
</state>
|
||||
<state x="644" y="214" key="#com.intellij.refactoring.rename.AutomaticRenamingDialog/0.0.1920.1040/-1280.54.1280.984@0.0.1920.1040" timestamp="1614816552557" />
|
||||
<state x="690" y="267" key="#com.intellij.refactoring.safeDelete.UnsafeUsagesDialog" timestamp="1614813087174">
|
||||
<screen x="0" y="0" width="1920" height="1040" />
|
||||
</state>
|
||||
<state x="690" y="267" key="#com.intellij.refactoring.safeDelete.UnsafeUsagesDialog/0.0.1920.1040/-1280.54.1280.984@0.0.1920.1040" timestamp="1614813087174" />
|
||||
<state x="669" y="178" key="#index.js" timestamp="1614814039183">
|
||||
<screen x="0" y="0" width="1920" height="1040" />
|
||||
</state>
|
||||
<state x="669" y="178" key="#index.js/0.0.1920.1040/-1280.54.1280.984@0.0.1920.1040" timestamp="1614814039183" />
|
||||
<state width="1899" height="399" key="GridCell.Tab.0.bottom" timestamp="1614817972274">
|
||||
<screen x="0" y="0" width="1920" height="1040" />
|
||||
</state>
|
||||
<state width="1899" height="399" key="GridCell.Tab.0.bottom/0.0.1920.1040/-1280.54.1280.984@0.0.1920.1040" timestamp="1614817972274" />
|
||||
<state width="1899" height="399" key="GridCell.Tab.0.center" timestamp="1614817972274">
|
||||
<screen x="0" y="0" width="1920" height="1040" />
|
||||
</state>
|
||||
<state width="1899" height="399" key="GridCell.Tab.0.center/0.0.1920.1040/-1280.54.1280.984@0.0.1920.1040" timestamp="1614817972274" />
|
||||
<state width="1899" height="399" key="GridCell.Tab.0.left" timestamp="1614817972274">
|
||||
<screen x="0" y="0" width="1920" height="1040" />
|
||||
</state>
|
||||
<state width="1899" height="399" key="GridCell.Tab.0.left/0.0.1920.1040/-1280.54.1280.984@0.0.1920.1040" timestamp="1614817972274" />
|
||||
<state width="1899" height="399" key="GridCell.Tab.0.right" timestamp="1614817972274">
|
||||
<screen x="0" y="0" width="1920" height="1040" />
|
||||
</state>
|
||||
<state width="1899" height="399" key="GridCell.Tab.0.right/0.0.1920.1040/-1280.54.1280.984@0.0.1920.1040" timestamp="1614817972274" />
|
||||
<state width="1899" height="399" key="GridCell.Tab.1.bottom" timestamp="1614817972274">
|
||||
<screen x="0" y="0" width="1920" height="1040" />
|
||||
</state>
|
||||
<state width="1899" height="399" key="GridCell.Tab.1.bottom/0.0.1920.1040/-1280.54.1280.984@0.0.1920.1040" timestamp="1614817972274" />
|
||||
<state width="1899" height="399" key="GridCell.Tab.1.center" timestamp="1614817972274">
|
||||
<screen x="0" y="0" width="1920" height="1040" />
|
||||
</state>
|
||||
<state width="1899" height="399" key="GridCell.Tab.1.center/0.0.1920.1040/-1280.54.1280.984@0.0.1920.1040" timestamp="1614817972274" />
|
||||
<state width="1899" height="399" key="GridCell.Tab.1.left" timestamp="1614817972274">
|
||||
<screen x="0" y="0" width="1920" height="1040" />
|
||||
</state>
|
||||
<state width="1899" height="399" key="GridCell.Tab.1.left/0.0.1920.1040/-1280.54.1280.984@0.0.1920.1040" timestamp="1614817972274" />
|
||||
<state width="1899" height="399" key="GridCell.Tab.1.right" timestamp="1614817972274">
|
||||
<screen x="0" y="0" width="1920" height="1040" />
|
||||
</state>
|
||||
<state width="1899" height="399" key="GridCell.Tab.1.right/0.0.1920.1040/-1280.54.1280.984@0.0.1920.1040" timestamp="1614817972274" />
|
||||
<state width="1899" height="399" key="GridCell.Tab.2.bottom" timestamp="1614817972274">
|
||||
<screen x="0" y="0" width="1920" height="1040" />
|
||||
</state>
|
||||
<state width="1899" height="399" key="GridCell.Tab.2.bottom/0.0.1920.1040/-1280.54.1280.984@0.0.1920.1040" timestamp="1614817972274" />
|
||||
<state width="1899" height="399" key="GridCell.Tab.2.center" timestamp="1614817972274">
|
||||
<screen x="0" y="0" width="1920" height="1040" />
|
||||
</state>
|
||||
<state width="1899" height="399" key="GridCell.Tab.2.center/0.0.1920.1040/-1280.54.1280.984@0.0.1920.1040" timestamp="1614817972274" />
|
||||
<state width="1899" height="399" key="GridCell.Tab.2.left" timestamp="1614817972274">
|
||||
<screen x="0" y="0" width="1920" height="1040" />
|
||||
</state>
|
||||
<state width="1899" height="399" key="GridCell.Tab.2.left/0.0.1920.1040/-1280.54.1280.984@0.0.1920.1040" timestamp="1614817972274" />
|
||||
<state width="1899" height="399" key="GridCell.Tab.2.right" timestamp="1614817972274">
|
||||
<screen x="0" y="0" width="1920" height="1040" />
|
||||
</state>
|
||||
<state width="1899" height="399" key="GridCell.Tab.2.right/0.0.1920.1040/-1280.54.1280.984@0.0.1920.1040" timestamp="1614817972274" />
|
||||
<state width="1899" height="399" key="GridCell.Tab.3.bottom" timestamp="1614817972274">
|
||||
<screen x="0" y="0" width="1920" height="1040" />
|
||||
</state>
|
||||
<state width="1899" height="399" key="GridCell.Tab.3.bottom/0.0.1920.1040/-1280.54.1280.984@0.0.1920.1040" timestamp="1614817972274" />
|
||||
<state width="1899" height="399" key="GridCell.Tab.3.center" timestamp="1614817972274">
|
||||
<screen x="0" y="0" width="1920" height="1040" />
|
||||
</state>
|
||||
<state width="1899" height="399" key="GridCell.Tab.3.center/0.0.1920.1040/-1280.54.1280.984@0.0.1920.1040" timestamp="1614817972274" />
|
||||
<state width="1899" height="399" key="GridCell.Tab.3.left" timestamp="1614817972274">
|
||||
<screen x="0" y="0" width="1920" height="1040" />
|
||||
</state>
|
||||
<state width="1899" height="399" key="GridCell.Tab.3.left/0.0.1920.1040/-1280.54.1280.984@0.0.1920.1040" timestamp="1614817972274" />
|
||||
<state width="1899" height="399" key="GridCell.Tab.3.right" timestamp="1614817972274">
|
||||
<screen x="0" y="0" width="1920" height="1040" />
|
||||
</state>
|
||||
<state width="1899" height="399" key="GridCell.Tab.3.right/0.0.1920.1040/-1280.54.1280.984@0.0.1920.1040" timestamp="1614817972274" />
|
||||
<state x="461" y="165" key="SettingsEditor" timestamp="1614803101448">
|
||||
<screen x="0" y="0" width="1920" height="1040" />
|
||||
</state>
|
||||
<state x="461" y="165" key="SettingsEditor/0.0.1920.1040/-1280.54.1280.984@0.0.1920.1040" timestamp="1614803101448" />
|
||||
<state x="-1280" y="54" width="1296" height="1027" maximized="true" key="dock-window-1" timestamp="1614817285117">
|
||||
<screen x="-1280" y="54" width="1280" height="984" />
|
||||
</state>
|
||||
<state x="-1280" y="54" width="1296" height="1027" maximized="true" key="dock-window-1/0.0.1920.1040/-1280.54.1280.984@0.0.1920.1040" timestamp="1614817285117" />
|
||||
<state x="-1280" y="54" width="1296" height="1027" maximized="true" key="dock-window-2" timestamp="1614808260833">
|
||||
<screen x="-1280" y="54" width="1280" height="984" />
|
||||
</state>
|
||||
<state x="-1280" y="54" width="1296" height="1027" maximized="true" key="dock-window-2/0.0.1920.1040/-1280.54.1280.984@0.0.1920.1040" timestamp="1614808260833" />
|
||||
<component name="VcsManagerConfiguration">
|
||||
<MESSAGE value="refactor!: rewrite bot core; add AI (Ollama, Gemini), DB, new commands" />
|
||||
<option name="LAST_COMMIT_MESSAGE" value="refactor!: rewrite bot core; add AI (Ollama, Gemini), DB, new commands" />
|
||||
</component>
|
||||
</project>
|
||||
+25
@@ -0,0 +1,25 @@
|
||||
# ---- build ----
|
||||
FROM node:22-alpine AS builder
|
||||
WORKDIR /app
|
||||
|
||||
COPY package*.json ./
|
||||
RUN npm ci --no-audit --no-fund
|
||||
|
||||
COPY . .
|
||||
RUN npm run build
|
||||
|
||||
# only prod dependencies
|
||||
RUN npm prune --omit=dev
|
||||
|
||||
# ---- runtime ----
|
||||
FROM node:22-alpine AS runner
|
||||
WORKDIR /app
|
||||
|
||||
ENV NODE_ENV=production
|
||||
ENV IS_DOCKER=true
|
||||
|
||||
COPY --from=builder /app/package*.json ./
|
||||
COPY --from=builder /app/node_modules ./node_modules
|
||||
COPY --from=builder /app/dist ./dist
|
||||
|
||||
CMD [ "node", "dist/index.js" ]
|
||||
@@ -0,0 +1,25 @@
|
||||
# ---- build ----
|
||||
FROM oven/bun:alpine AS builder
|
||||
WORKDIR /app
|
||||
|
||||
COPY package*.json bun.lock ./
|
||||
RUN bun install --frozen-lockfile
|
||||
|
||||
COPY . .
|
||||
RUN bun run build
|
||||
|
||||
# only prod dependencies
|
||||
RUN bun prune --omit=dev
|
||||
|
||||
# ---- runtime ----
|
||||
FROM oven/bun:alpine AS runner
|
||||
WORKDIR /app
|
||||
|
||||
ENV NODE_ENV=production
|
||||
ENV IS_DOCKER=true
|
||||
|
||||
COPY --from=builder /app/package*.json ./
|
||||
COPY --from=builder /app/node_modules ./node_modules
|
||||
COPY --from=builder /app/dist ./dist
|
||||
|
||||
CMD [ "node", "dist/index.js" ]
|
||||
-118
@@ -1,118 +0,0 @@
|
||||
{
|
||||
"test": [
|
||||
"я жив",
|
||||
"тут",
|
||||
"на месте",
|
||||
"добрый день",
|
||||
"слушаю",
|
||||
"а",
|
||||
"чо",
|
||||
"чо нада",
|
||||
"шо",
|
||||
"шо нада",
|
||||
"шо хочешь",
|
||||
"чо хочешь",
|
||||
"каво",
|
||||
"чиво",
|
||||
"чево",
|
||||
"а?",
|
||||
"а)",
|
||||
"а по жопе",
|
||||
"шо те",
|
||||
"бан",
|
||||
"а может бан...",
|
||||
"бан, блять",
|
||||
"БАН",
|
||||
".!.",
|
||||
"чё те надо",
|
||||
"я вас слушаю",
|
||||
"на связи",
|
||||
"Да.",
|
||||
"ты гей",
|
||||
"хуест",
|
||||
"да что тебе надо",
|
||||
"отстань"
|
||||
],
|
||||
"better": [
|
||||
"считаю, что лучше",
|
||||
"по-моему, лучше",
|
||||
"боженька сказал, что лучше",
|
||||
"да ну, чё за глупый вопрос, лучше",
|
||||
"лучше",
|
||||
"о боже, ну конечно же лучше",
|
||||
"точно лучше",
|
||||
"не, ну лол, лучше",
|
||||
"камон, лучше",
|
||||
"аааааа лучше",
|
||||
"о да, лучше"
|
||||
],
|
||||
"who": [
|
||||
"",
|
||||
"я считаю, что",
|
||||
"100%",
|
||||
"отвечаю,",
|
||||
"смею предположить, что",
|
||||
"наверное,",
|
||||
"дай-ка подумаю.... хотя что тут думать,",
|
||||
"ураааааа,",
|
||||
"камон,",
|
||||
"нуууу,",
|
||||
"вау,",
|
||||
"о да,"
|
||||
],
|
||||
"kick": [
|
||||
"пока!",
|
||||
"до свидания",
|
||||
"бб",
|
||||
"минус пидор",
|
||||
"-пидор",
|
||||
"пака",
|
||||
"досвидули",
|
||||
"как теперь житб..........",
|
||||
"чао",
|
||||
"ну вышел и вышел"
|
||||
],
|
||||
"invite": [
|
||||
"дроу",
|
||||
"Привет.",
|
||||
"ку",
|
||||
"qq",
|
||||
"вечер в хату",
|
||||
"привет я даня 13 лет пошлый........",
|
||||
"welcome to the club, buddy *slap*",
|
||||
"выйди нахуй",
|
||||
"вы кто такие? я вас не звал. идите нахуй",
|
||||
"приветики",
|
||||
"дратути)0))0",
|
||||
"привет 🌚"
|
||||
],
|
||||
"dayPidor": [
|
||||
"взламываю пентагон",
|
||||
"чешу репу",
|
||||
"компилирую вкм",
|
||||
"ебу Ризвана",
|
||||
"глажу себя по животику",
|
||||
"решаю интегралы",
|
||||
"провожу сложный математический анализ",
|
||||
"изучаю небо",
|
||||
"удаляю программу вконтакте",
|
||||
"ломаю дата-центры",
|
||||
"жму руку Дурову",
|
||||
"смотрю сериалы",
|
||||
"сплю",
|
||||
"багую",
|
||||
"режу вены",
|
||||
"кушаю",
|
||||
"ковыряюсь в носу",
|
||||
"опять долблю Ризвана",
|
||||
"делаю дз",
|
||||
"чиллю",
|
||||
"слушаю музыку",
|
||||
"прокрастинирую",
|
||||
"обрываю важные кабели",
|
||||
"изучаю dagger2",
|
||||
"решаю квадратное уравнение через теорему Виета",
|
||||
"облизываю пальчики",
|
||||
"провожу кастинг ♂dungeon master♂"
|
||||
]
|
||||
}
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
-201
@@ -1,201 +0,0 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
const si = require("systeminformation");
|
||||
exports.IS_DEBUG = true;
|
||||
exports.CREATOR_ID = 0;
|
||||
exports.startTime = 0;
|
||||
exports.systemSpecsText = '';
|
||||
exports.testAnswer = true;
|
||||
exports.checkMom = true;
|
||||
exports.checkDad = true;
|
||||
exports.biteDick = true;
|
||||
exports.messagesReceived = 0;
|
||||
exports.messagesSent = 0;
|
||||
exports.testAnswers = [];
|
||||
function upReceivedMessages() {
|
||||
exports.messagesReceived++;
|
||||
}
|
||||
exports.upReceivedMessages = upReceivedMessages;
|
||||
function upSentMessages() {
|
||||
exports.messagesSent++;
|
||||
}
|
||||
exports.upSentMessages = upSentMessages;
|
||||
function setTestAnswers(answers) {
|
||||
this.testAnswers = answers;
|
||||
}
|
||||
exports.setTestAnswers = setTestAnswers;
|
||||
function setStartTime(startTime) {
|
||||
this.startTime = startTime;
|
||||
}
|
||||
exports.setStartTime = setStartTime;
|
||||
function initSystemSpecs() {
|
||||
let text = '';
|
||||
si.osInfo().then(async (os) => {
|
||||
text += `OS: ${os.distro}\n`;
|
||||
si.cpu().then(async (cpu) => {
|
||||
text += `CPU: ${cpu.manufacturer} ${cpu.brand} ${cpu.physicalCores} cores ${cpu.cores} threads\n`;
|
||||
si.mem().then(async (memory) => {
|
||||
const totalRam = Math.round(memory.total / Math.pow(2, 30));
|
||||
text += `RAM: ${totalRam} GB\n`;
|
||||
exports.systemSpecsText = text;
|
||||
});
|
||||
});
|
||||
});
|
||||
}
|
||||
exports.initSystemSpecs = initSystemSpecs;
|
||||
class Chat {
|
||||
}
|
||||
exports.Chat = Chat;
|
||||
class From {
|
||||
}
|
||||
exports.From = From;
|
||||
class Message {
|
||||
}
|
||||
exports.Message = Message;
|
||||
class MessageContext {
|
||||
hasInvitedMembers() {
|
||||
return !!this.message.new_chat_members;
|
||||
}
|
||||
hasLeftMembers() {
|
||||
return !!this.message.left_chat_member;
|
||||
}
|
||||
isChat() {
|
||||
return this.message.chat.type !== 'private';
|
||||
}
|
||||
getFullSenderTitle() {
|
||||
return this.message.from.firstName + (this.message.from.lastName ? ' ' + this.message.from.lastName : '');
|
||||
}
|
||||
getFullChatTitle() {
|
||||
return this.message.chat.firstName + (this.message.chat.lastName ? ' ' + this.message.chat.lastName : '');
|
||||
}
|
||||
hasRepliedMessage() {
|
||||
return !!this.message.reply_to_message;
|
||||
}
|
||||
}
|
||||
exports.MessageContext = MessageContext;
|
||||
function prepareMessageContext(rawMessage) {
|
||||
if (!rawMessage)
|
||||
return null;
|
||||
const context = new MessageContext();
|
||||
context.message = this.prepareMessage(rawMessage);
|
||||
context.senderId = context.message.from.id;
|
||||
context.chatId = context.message.chat.id;
|
||||
context.invitedMembers = context.message.new_chat_members;
|
||||
context.leftMember = context.message.left_chat_member;
|
||||
context.reply = rawMessage.reply;
|
||||
if (context.message.reply_to_message !== null)
|
||||
context.repliedMessage = this.prepareMessageContext(rawMessage.reply_to_message);
|
||||
context.text = context.message.body;
|
||||
return context;
|
||||
}
|
||||
exports.prepareMessageContext = prepareMessageContext;
|
||||
function prepareMessage(rawMessage) {
|
||||
if (!rawMessage)
|
||||
return null;
|
||||
const message = new Message();
|
||||
message.id = rawMessage.message_id;
|
||||
message.date = rawMessage.date;
|
||||
message.body = rawMessage.text;
|
||||
message.new_chat_members = rawMessage.new_chat_members;
|
||||
message.left_chat_member = rawMessage.left_chat_member;
|
||||
const from = new From();
|
||||
from.id = rawMessage.from.id;
|
||||
from.isBot = rawMessage.from.is_bot;
|
||||
from.firstName = rawMessage.from.first_name;
|
||||
from.lastName = rawMessage.from.last_name;
|
||||
from.username = rawMessage.from.username;
|
||||
message.from = from;
|
||||
const chat = new Chat();
|
||||
chat.id = rawMessage.chat.id;
|
||||
chat.firstName = rawMessage.chat.first_name;
|
||||
chat.lastName = rawMessage.chat.last_name;
|
||||
chat.username = rawMessage.chat.username;
|
||||
chat.type = rawMessage.chat.type;
|
||||
message.chat = chat;
|
||||
if (rawMessage.reply_to_message)
|
||||
message.reply_to_message = this.prepareMessage(rawMessage.reply_to_message);
|
||||
return message;
|
||||
}
|
||||
exports.prepareMessage = prepareMessage;
|
||||
function includes(array, object) {
|
||||
return array.indexOf(object) > -1;
|
||||
}
|
||||
exports.includes = includes;
|
||||
function getRandomInt(max) {
|
||||
return Math.floor(Math.random() * Math.floor(max));
|
||||
}
|
||||
exports.getRandomInt = getRandomInt;
|
||||
function arrayRemove(arr, value) {
|
||||
return arr.filter(function (ele) {
|
||||
return ele != value;
|
||||
});
|
||||
}
|
||||
exports.arrayRemove = arrayRemove;
|
||||
function deepEqual(object1, object2) {
|
||||
if ((object1 == null || object2 == null) && object1 != object2)
|
||||
return false;
|
||||
const keys1 = Object.keys(object1);
|
||||
const keys2 = Object.keys(object2);
|
||||
if (keys1.length !== keys2.length) {
|
||||
return false;
|
||||
}
|
||||
for (const key of keys1) {
|
||||
const val1 = object1[key];
|
||||
const val2 = object2[key];
|
||||
const areObjects = isObject(val1) && isObject(val2);
|
||||
if (areObjects && !deepEqual(val1, val2) ||
|
||||
!areObjects && val1 !== val2) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
exports.deepEqual = deepEqual;
|
||||
function isObject(object) {
|
||||
return object != null && typeof object === 'object';
|
||||
}
|
||||
exports.isObject = isObject;
|
||||
function getUptime() {
|
||||
const processSeconds = Math.ceil(process.uptime());
|
||||
let minutes = 0;
|
||||
let hours = 0;
|
||||
let days = 0;
|
||||
let i = 0;
|
||||
let seconds = 0;
|
||||
while (i < processSeconds) {
|
||||
i++;
|
||||
seconds++;
|
||||
if (seconds == 60) {
|
||||
minutes++;
|
||||
seconds = 0;
|
||||
}
|
||||
if (minutes == 60) {
|
||||
hours++;
|
||||
minutes = 0;
|
||||
}
|
||||
if (hours == 24) {
|
||||
days++;
|
||||
hours = 0;
|
||||
}
|
||||
}
|
||||
let text = '';
|
||||
if (days > 0)
|
||||
text += `${days} д. `;
|
||||
if (hours > 0)
|
||||
text += `${hours} ч. `;
|
||||
if (minutes > 0)
|
||||
text += `${minutes} м. `;
|
||||
if (seconds > 0)
|
||||
text += `${seconds} с. `;
|
||||
return text;
|
||||
}
|
||||
exports.getUptime = getUptime;
|
||||
function getExceptionText(e) {
|
||||
return `Произошел троллинг
|
||||
* Error : ${e.name}
|
||||
* Message : ${e.message}
|
||||
* StackTrace :
|
||||
${e.stack}`;
|
||||
}
|
||||
exports.getExceptionText = getExceptionText;
|
||||
//# sourceMappingURL=base.js.map
|
||||
File diff suppressed because one or more lines are too long
-261
@@ -1,261 +0,0 @@
|
||||
import * as si from 'systeminformation'
|
||||
|
||||
export const IS_DEBUG: boolean = true
|
||||
export const CREATOR_ID: number = 0
|
||||
|
||||
export let startTime: number = 0
|
||||
export let systemSpecsText: string = ''
|
||||
export let testAnswer: boolean = true
|
||||
export let checkMom: boolean = true
|
||||
export let checkDad: boolean = true
|
||||
export let biteDick: boolean = true
|
||||
|
||||
export let messagesReceived = 0
|
||||
export let messagesSent = 0
|
||||
|
||||
export let testAnswers: string[] = []
|
||||
|
||||
export function upReceivedMessages() {
|
||||
messagesReceived++
|
||||
}
|
||||
|
||||
export function upSentMessages() {
|
||||
messagesSent++
|
||||
}
|
||||
|
||||
export function setTestAnswers(answers: string[]) {
|
||||
this.testAnswers = answers
|
||||
}
|
||||
|
||||
export function setStartTime(startTime: number) {
|
||||
this.startTime = startTime
|
||||
}
|
||||
|
||||
export function initSystemSpecs() {
|
||||
let text = ''
|
||||
|
||||
si.osInfo().then(async (os) => {
|
||||
text += `OS: ${os.distro}\n`
|
||||
si.cpu().then(async (cpu) => {
|
||||
text += `CPU: ${cpu.manufacturer} ${cpu.brand} ${cpu.physicalCores} cores ${cpu.cores} threads\n`
|
||||
|
||||
si.mem().then(async (memory) => {
|
||||
const totalRam = Math.round(memory.total / Math.pow(2, 30))
|
||||
text += `RAM: ${totalRam} GB\n`
|
||||
|
||||
systemSpecsText = text
|
||||
})
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
export class Chat {
|
||||
id: number
|
||||
firstName: string
|
||||
lastName?: string
|
||||
username?: string
|
||||
type: string
|
||||
}
|
||||
|
||||
export class From {
|
||||
id: number
|
||||
isBot: boolean
|
||||
firstName: string
|
||||
lastName?: string
|
||||
username?: string
|
||||
}
|
||||
|
||||
export class Message {
|
||||
id: number
|
||||
from: From
|
||||
chat: Chat
|
||||
date: number
|
||||
reply_to_message?: Message
|
||||
body: string
|
||||
new_chat_members?: From[]
|
||||
left_chat_member?: From
|
||||
}
|
||||
|
||||
export class MessageContext {
|
||||
message: Message
|
||||
reply: any
|
||||
senderId: number
|
||||
chatId: number
|
||||
repliedMessage?: MessageContext
|
||||
text: string
|
||||
invitedMembers?: From[]
|
||||
leftMember?: From
|
||||
|
||||
hasInvitedMembers(): boolean {
|
||||
return !!this.message.new_chat_members
|
||||
}
|
||||
|
||||
hasLeftMembers(): boolean {
|
||||
return !!this.message.left_chat_member
|
||||
}
|
||||
|
||||
isChat(): boolean {
|
||||
return this.message.chat.type !== 'private'
|
||||
}
|
||||
|
||||
getFullSenderTitle(): string {
|
||||
return this.message.from.firstName + (this.message.from.lastName ? ' ' + this.message.from.lastName : '')
|
||||
}
|
||||
|
||||
getFullChatTitle(): string {
|
||||
return this.message.chat.firstName + (this.message.chat.lastName ? ' ' + this.message.chat.lastName : '')
|
||||
}
|
||||
|
||||
hasRepliedMessage(): boolean {
|
||||
return !!this.message.reply_to_message
|
||||
}
|
||||
}
|
||||
|
||||
export function prepareMessageContext(rawMessage: any): MessageContext {
|
||||
if (!rawMessage) return null
|
||||
|
||||
const context = new MessageContext()
|
||||
context.message = this.prepareMessage(rawMessage)
|
||||
context.senderId = context.message.from.id
|
||||
context.chatId = context.message.chat.id
|
||||
context.invitedMembers = context.message.new_chat_members
|
||||
context.leftMember = context.message.left_chat_member
|
||||
|
||||
context.reply = rawMessage.reply
|
||||
|
||||
if (context.message.reply_to_message !== null)
|
||||
context.repliedMessage = this.prepareMessageContext(rawMessage.reply_to_message)
|
||||
|
||||
context.text = context.message.body
|
||||
|
||||
return context
|
||||
}
|
||||
|
||||
export function prepareMessage(rawMessage: any) {
|
||||
if (!rawMessage) return null
|
||||
|
||||
const message = new Message()
|
||||
message.id = rawMessage.message_id
|
||||
message.date = rawMessage.date
|
||||
message.body = rawMessage.text
|
||||
|
||||
message.new_chat_members = rawMessage.new_chat_members
|
||||
message.left_chat_member = rawMessage.left_chat_member
|
||||
|
||||
const from = new From()
|
||||
from.id = rawMessage.from.id
|
||||
from.isBot = rawMessage.from.is_bot
|
||||
from.firstName = rawMessage.from.first_name
|
||||
from.lastName = rawMessage.from.last_name
|
||||
from.username = rawMessage.from.username
|
||||
|
||||
message.from = from
|
||||
|
||||
const chat = new Chat()
|
||||
chat.id = rawMessage.chat.id
|
||||
chat.firstName = rawMessage.chat.first_name
|
||||
chat.lastName = rawMessage.chat.last_name
|
||||
chat.username = rawMessage.chat.username
|
||||
chat.type = rawMessage.chat.type
|
||||
|
||||
message.chat = chat
|
||||
|
||||
if (rawMessage.reply_to_message) message.reply_to_message = this.prepareMessage(rawMessage.reply_to_message)
|
||||
|
||||
return message
|
||||
}
|
||||
|
||||
|
||||
export function includes(array: any[], object: any) {
|
||||
return array.indexOf(object) > -1
|
||||
}
|
||||
|
||||
export function getRandomInt(max: number) {
|
||||
return Math.floor(Math.random() * Math.floor(max));
|
||||
}
|
||||
|
||||
export function arrayRemove(arr: any[], value: any) {
|
||||
return arr.filter(function (ele: any) {
|
||||
return ele != value;
|
||||
});
|
||||
}
|
||||
|
||||
export function deepEqual(object1: { [x: string]: any }, object2: { [x: string]: any; year?: number; month?: number; day?: number }) {
|
||||
if ((object1 == null || object2 == null) && object1 != object2) return false
|
||||
|
||||
const keys1 = Object.keys(object1);
|
||||
const keys2 = Object.keys(object2);
|
||||
|
||||
if (keys1.length !== keys2.length) {
|
||||
return false;
|
||||
}
|
||||
|
||||
for (const key of keys1) {
|
||||
const val1 = object1[key];
|
||||
const val2 = object2[key];
|
||||
const areObjects = isObject(val1) && isObject(val2);
|
||||
if (
|
||||
areObjects && !deepEqual(val1, val2) ||
|
||||
!areObjects && val1 !== val2
|
||||
) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
export function isObject(object: any) {
|
||||
return object != null && typeof object === 'object';
|
||||
}
|
||||
|
||||
|
||||
export function getUptime() {
|
||||
const processSeconds = Math.ceil(process.uptime())
|
||||
|
||||
let minutes = 0
|
||||
let hours = 0
|
||||
let days = 0
|
||||
|
||||
let i = 0
|
||||
let seconds = 0
|
||||
|
||||
while (i < processSeconds) {
|
||||
i++
|
||||
|
||||
seconds++
|
||||
|
||||
if (seconds == 60) {
|
||||
minutes++
|
||||
seconds = 0
|
||||
}
|
||||
|
||||
if (minutes == 60) {
|
||||
hours++
|
||||
minutes = 0
|
||||
}
|
||||
|
||||
if (hours == 24) {
|
||||
days++
|
||||
hours = 0
|
||||
}
|
||||
}
|
||||
|
||||
let text = ''
|
||||
|
||||
if (days > 0) text += `${days} д. `
|
||||
if (hours > 0) text += `${hours} ч. `
|
||||
if (minutes > 0) text += `${minutes} м. `
|
||||
if (seconds > 0) text += `${seconds} с. `
|
||||
|
||||
return text
|
||||
}
|
||||
|
||||
|
||||
export function getExceptionText(e: Error) {
|
||||
return `Произошел троллинг
|
||||
* Error : ${e.name}
|
||||
* Message : ${e.message}
|
||||
* StackTrace :
|
||||
${e.stack}`
|
||||
}
|
||||
-105
@@ -1,105 +0,0 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
const fs = require("fs");
|
||||
const base_1 = require("./base");
|
||||
exports.adminsList = [];
|
||||
exports.chatsList = [];
|
||||
exports.usersList = [];
|
||||
exports.notesList = [];
|
||||
exports.mutedList = [];
|
||||
let jsonFile;
|
||||
function setAdmins(admins) {
|
||||
exports.adminsList = admins;
|
||||
}
|
||||
exports.setAdmins = setAdmins;
|
||||
function setChats(chats) {
|
||||
exports.chatsList = chats;
|
||||
}
|
||||
exports.setChats = setChats;
|
||||
function setUsers(users) {
|
||||
exports.usersList = users;
|
||||
}
|
||||
exports.setUsers = setUsers;
|
||||
function setNotes(notes) {
|
||||
exports.notesList = notes;
|
||||
}
|
||||
exports.setNotes = setNotes;
|
||||
function setMuted(newMuted) {
|
||||
exports.mutedList = newMuted;
|
||||
}
|
||||
exports.setMuted = setMuted;
|
||||
function addMute(id) {
|
||||
const index = searchMuted(id);
|
||||
if (index >= 0)
|
||||
return false;
|
||||
exports.mutedList.push(id);
|
||||
saveData();
|
||||
return true;
|
||||
}
|
||||
exports.addMute = addMute;
|
||||
function removeMute(id) {
|
||||
const index = searchMuted(id);
|
||||
if (index >= 0) {
|
||||
setMuted(base_1.arrayRemove(exports.mutedList, exports.mutedList[index]));
|
||||
saveData();
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
exports.removeMute = removeMute;
|
||||
function searchMuted(id) {
|
||||
for (let i = 0; i < exports.mutedList.length; i++) {
|
||||
if (exports.mutedList[i] == id)
|
||||
return i;
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
exports.searchMuted = searchMuted;
|
||||
function readData() {
|
||||
try {
|
||||
// @ts-ignore
|
||||
jsonFile = JSON.parse(fs.readFileSync(base_1.IS_DEBUG ? 'debug_data.json' : 'data.json'));
|
||||
exports.adminsList = jsonFile.admins;
|
||||
exports.chatsList = jsonFile.chats;
|
||||
exports.usersList = jsonFile.users;
|
||||
exports.notesList = jsonFile.notes;
|
||||
exports.mutedList = jsonFile.muted;
|
||||
return 'success';
|
||||
}
|
||||
catch (e) {
|
||||
console.error(e);
|
||||
return e.toString();
|
||||
}
|
||||
}
|
||||
exports.readData = readData;
|
||||
function saveData() {
|
||||
jsonFile.admins = exports.adminsList;
|
||||
jsonFile.chats = exports.chatsList;
|
||||
jsonFile.users = exports.usersList;
|
||||
jsonFile.notes = exports.notesList;
|
||||
jsonFile.muted = exports.mutedList;
|
||||
fs.writeFileSync(base_1.IS_DEBUG ? 'debug_data.json' : 'data.json', JSON.stringify(jsonFile));
|
||||
readData();
|
||||
return 'success';
|
||||
}
|
||||
exports.saveData = saveData;
|
||||
function retrieveAnswers() {
|
||||
try {
|
||||
// @ts-ignore
|
||||
const json = JSON.parse(fs.readFileSync('answers.json'));
|
||||
base_1.setTestAnswers(json.test);
|
||||
return 'success';
|
||||
}
|
||||
catch (e) {
|
||||
console.error(e);
|
||||
return e.toString();
|
||||
}
|
||||
// fetch(answersUrl, {method: "Get"})
|
||||
// .then(r => {
|
||||
// const json = r.json()
|
||||
// testAnswers = json.test
|
||||
// console.log('success retrieved answers')
|
||||
// })
|
||||
}
|
||||
exports.retrieveAnswers = retrieveAnswers;
|
||||
//# sourceMappingURL=db.js.map
|
||||
@@ -1 +0,0 @@
|
||||
{"version":3,"file":"db.js","sourceRoot":"","sources":["db.ts"],"names":[],"mappings":";;AAAA,yBAAyB;AACzB,iCAA6D;AAElD,QAAA,UAAU,GAAa,EAAE,CAAA;AACzB,QAAA,SAAS,GAAG,EAAE,CAAA;AACd,QAAA,SAAS,GAAG,EAAE,CAAA;AACd,QAAA,SAAS,GAAG,EAAE,CAAA;AACd,QAAA,SAAS,GAAa,EAAE,CAAA;AAEnC,IAAI,QAAQ,CAAA;AAEZ,SAAgB,SAAS,CAAC,MAAgB;IACtC,kBAAU,GAAG,MAAM,CAAA;AACvB,CAAC;AAFD,8BAEC;AAED,SAAgB,QAAQ,CAAC,KAAY;IACjC,iBAAS,GAAG,KAAK,CAAA;AACrB,CAAC;AAFD,4BAEC;AAED,SAAgB,QAAQ,CAAC,KAAY;IACjC,iBAAS,GAAG,KAAK,CAAA;AACrB,CAAC;AAFD,4BAEC;AAED,SAAgB,QAAQ,CAAC,KAAY;IACjC,iBAAS,GAAG,KAAK,CAAA;AACrB,CAAC;AAFD,4BAEC;AAED,SAAgB,QAAQ,CAAC,QAAkB;IACvC,iBAAS,GAAG,QAAQ,CAAA;AACxB,CAAC;AAFD,4BAEC;AAED,SAAgB,OAAO,CAAC,EAAU;IAC9B,MAAM,KAAK,GAAG,WAAW,CAAC,EAAE,CAAC,CAAA;IAC7B,IAAI,KAAK,IAAI,CAAC;QAAE,OAAO,KAAK,CAAA;IAE5B,iBAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAElB,QAAQ,EAAE,CAAA;IACV,OAAO,IAAI,CAAA;AACf,CAAC;AARD,0BAQC;AAED,SAAgB,UAAU,CAAC,EAAU;IACjC,MAAM,KAAK,GAAG,WAAW,CAAC,EAAE,CAAC,CAAA;IAE7B,IAAI,KAAK,IAAI,CAAC,EAAE;QACZ,QAAQ,CAAC,kBAAW,CAAC,iBAAS,EAAE,iBAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;QAClD,QAAQ,EAAE,CAAA;QACV,OAAO,IAAI,CAAA;KACd;IAED,OAAO,KAAK,CAAA;AAChB,CAAC;AAVD,gCAUC;AAED,SAAgB,WAAW,CAAC,EAAU;IAClC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,iBAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACvC,IAAI,iBAAS,CAAC,CAAC,CAAC,IAAI,EAAE;YAAE,OAAO,CAAC,CAAA;KACnC;IAED,OAAO,CAAC,CAAC,CAAA;AACb,CAAC;AAND,kCAMC;AAED,SAAgB,QAAQ;IACpB,IAAI;QACA,aAAa;QACb,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,eAAQ,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAA;QAElF,kBAAU,GAAG,QAAQ,CAAC,MAAM,CAAA;QAC5B,iBAAS,GAAG,QAAQ,CAAC,KAAK,CAAA;QAC1B,iBAAS,GAAG,QAAQ,CAAC,KAAK,CAAA;QAC1B,iBAAS,GAAG,QAAQ,CAAC,KAAK,CAAA;QAC1B,iBAAS,GAAG,QAAQ,CAAC,KAAK,CAAA;QAE1B,OAAO,SAAS,CAAA;KACnB;IAAC,OAAO,CAAC,EAAE;QACR,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;QAChB,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAA;KACtB;AACL,CAAC;AAhBD,4BAgBC;AAED,SAAgB,QAAQ;IACpB,QAAQ,CAAC,MAAM,GAAG,kBAAU,CAAA;IAC5B,QAAQ,CAAC,KAAK,GAAG,iBAAS,CAAA;IAC1B,QAAQ,CAAC,KAAK,GAAG,iBAAS,CAAA;IAC1B,QAAQ,CAAC,KAAK,GAAG,iBAAS,CAAA;IAC1B,QAAQ,CAAC,KAAK,GAAG,iBAAS,CAAA;IAE1B,EAAE,CAAC,aAAa,CAAC,eAAQ,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAA;IAEtF,QAAQ,EAAE,CAAA;IAEV,OAAO,SAAS,CAAA;AACpB,CAAC;AAZD,4BAYC;AAED,SAAgB,eAAe;IAC3B,IAAI;QACA,aAAa;QACb,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC,CAAA;QAExD,qBAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACzB,OAAO,SAAS,CAAA;KACnB;IAAC,OAAO,CAAC,EAAE;QACR,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;QAChB,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAA;KACtB;IAED,qCAAqC;IACrC,mBAAmB;IACnB,gCAAgC;IAChC,kCAAkC;IAClC,mDAAmD;IACnD,SAAS;AACb,CAAC;AAlBD,0CAkBC"}
|
||||
-112
@@ -1,112 +0,0 @@
|
||||
import * as fs from "fs";
|
||||
import {arrayRemove, IS_DEBUG, setTestAnswers} from "./base";
|
||||
|
||||
export let adminsList: number[] = []
|
||||
export let chatsList = []
|
||||
export let usersList = []
|
||||
export let notesList = []
|
||||
export let mutedList: number[] = []
|
||||
|
||||
let jsonFile
|
||||
|
||||
export function setAdmins(admins: number[]) {
|
||||
adminsList = admins
|
||||
}
|
||||
|
||||
export function setChats(chats: any[]) {
|
||||
chatsList = chats
|
||||
}
|
||||
|
||||
export function setUsers(users: any[]) {
|
||||
usersList = users
|
||||
}
|
||||
|
||||
export function setNotes(notes: any[]) {
|
||||
notesList = notes
|
||||
}
|
||||
|
||||
export function setMuted(newMuted: number[]) {
|
||||
mutedList = newMuted
|
||||
}
|
||||
|
||||
export function addMute(id: number) {
|
||||
const index = searchMuted(id)
|
||||
if (index >= 0) return false
|
||||
|
||||
mutedList.push(id)
|
||||
|
||||
saveData()
|
||||
return true
|
||||
}
|
||||
|
||||
export function removeMute(id: number) {
|
||||
const index = searchMuted(id)
|
||||
|
||||
if (index >= 0) {
|
||||
setMuted(arrayRemove(mutedList, mutedList[index]))
|
||||
saveData()
|
||||
return true
|
||||
}
|
||||
|
||||
return false
|
||||
}
|
||||
|
||||
export function searchMuted(id: number) {
|
||||
for (let i = 0; i < mutedList.length; i++) {
|
||||
if (mutedList[i] == id) return i
|
||||
}
|
||||
|
||||
return -1
|
||||
}
|
||||
|
||||
export function readData() {
|
||||
try {
|
||||
// @ts-ignore
|
||||
jsonFile = JSON.parse(fs.readFileSync(IS_DEBUG ? 'debug_data.json' : 'data.json'))
|
||||
|
||||
adminsList = jsonFile.admins
|
||||
chatsList = jsonFile.chats
|
||||
usersList = jsonFile.users
|
||||
notesList = jsonFile.notes
|
||||
mutedList = jsonFile.muted
|
||||
|
||||
return 'success'
|
||||
} catch (e) {
|
||||
console.error(e)
|
||||
return e.toString()
|
||||
}
|
||||
}
|
||||
|
||||
export function saveData() {
|
||||
jsonFile.admins = adminsList
|
||||
jsonFile.chats = chatsList
|
||||
jsonFile.users = usersList
|
||||
jsonFile.notes = notesList
|
||||
jsonFile.muted = mutedList
|
||||
|
||||
fs.writeFileSync(IS_DEBUG ? 'debug_data.json' : 'data.json', JSON.stringify(jsonFile))
|
||||
|
||||
readData()
|
||||
|
||||
return 'success'
|
||||
}
|
||||
|
||||
export function retrieveAnswers() {
|
||||
try {
|
||||
// @ts-ignore
|
||||
const json = JSON.parse(fs.readFileSync('answers.json'))
|
||||
|
||||
setTestAnswers(json.test)
|
||||
return 'success'
|
||||
} catch (e) {
|
||||
console.error(e)
|
||||
return e.toString()
|
||||
}
|
||||
|
||||
// fetch(answersUrl, {method: "Get"})
|
||||
// .then(r => {
|
||||
// const json = r.json()
|
||||
// testAnswers = json.test
|
||||
// console.log('success retrieved answers')
|
||||
// })
|
||||
}
|
||||
-26
@@ -1,26 +0,0 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
const TeleBot = require("telebot");
|
||||
const base_1 = require("./base");
|
||||
const commands_1 = require("../commands/base/commands");
|
||||
exports.bot = new TeleBot('1640683270:AAFc4yIbeF_ofkcPtD8U9ReRXZ754rlxYrw');
|
||||
function startBot() {
|
||||
exports.bot.on('*', async (rawMessage) => {
|
||||
base_1.upReceivedMessages();
|
||||
console.log(rawMessage);
|
||||
const context = base_1.prepareMessageContext(rawMessage);
|
||||
if (context.hasInvitedMembers()) {
|
||||
return;
|
||||
}
|
||||
await commands_1.parseCommands(context);
|
||||
});
|
||||
exports.bot.start();
|
||||
}
|
||||
exports.startBot = startBot;
|
||||
async function sendMessage(context, text) {
|
||||
return await exports.bot.sendMessage(context.chatId, text).then(() => {
|
||||
base_1.upSentMessages();
|
||||
});
|
||||
}
|
||||
exports.sendMessage = sendMessage;
|
||||
//# sourceMappingURL=net.js.map
|
||||
@@ -1 +0,0 @@
|
||||
{"version":3,"file":"net.js","sourceRoot":"","sources":["net.ts"],"names":[],"mappings":";;AAAA,mCAAkC;AAClC,iCAAiG;AACjG,wDAAwD;AAE3C,QAAA,GAAG,GAAG,IAAI,OAAO,CAAC,gDAAgD,CAAC,CAAA;AAEhF,SAAgB,QAAQ;IACpB,WAAG,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,UAAe,EAAE,EAAE;QAClC,yBAAkB,EAAE,CAAA;QAEpB,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;QAEvB,MAAM,OAAO,GAAG,4BAAqB,CAAC,UAAU,CAAC,CAAA;QAEjD,IAAI,OAAO,CAAC,iBAAiB,EAAE,EAAE;YAE7B,OAAM;SACT;QAED,MAAM,wBAAa,CAAC,OAAO,CAAC,CAAA;IAChC,CAAC,CAAC,CAAA;IAEF,WAAG,CAAC,KAAK,EAAE,CAAA;AACf,CAAC;AAjBD,4BAiBC;AAEM,KAAK,UAAU,WAAW,CAAC,OAAuB,EAAE,IAAY;IACnE,OAAO,MAAM,WAAG,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;QACzD,qBAAc,EAAE,CAAA;IACpB,CAAC,CAAC,CAAA;AACN,CAAC;AAJD,kCAIC"}
|
||||
-30
@@ -1,30 +0,0 @@
|
||||
import * as TeleBot from 'telebot'
|
||||
import {MessageContext, prepareMessageContext, upReceivedMessages, upSentMessages} from "./base";
|
||||
import {parseCommands} from "../commands/base/commands";
|
||||
|
||||
export const bot = new TeleBot('1640683270:AAFc4yIbeF_ofkcPtD8U9ReRXZ754rlxYrw')
|
||||
|
||||
export function startBot() {
|
||||
bot.on('*', async (rawMessage: any) => {
|
||||
upReceivedMessages()
|
||||
|
||||
console.log(rawMessage)
|
||||
|
||||
const context = prepareMessageContext(rawMessage)
|
||||
|
||||
if (context.hasInvitedMembers()) {
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
await parseCommands(context)
|
||||
})
|
||||
|
||||
bot.start()
|
||||
}
|
||||
|
||||
export async function sendMessage(context: MessageContext, text: string): Promise<any> {
|
||||
return await bot.sendMessage(context.chatId, text).then(() => {
|
||||
upSentMessages()
|
||||
})
|
||||
}
|
||||
@@ -1,4 +0,0 @@
|
||||
{
|
||||
"_from": "base",
|
||||
"_location": "/base"
|
||||
}
|
||||
@@ -0,0 +1,928 @@
|
||||
{
|
||||
"lockfileVersion": 1,
|
||||
"configVersion": 0,
|
||||
"workspaces": {
|
||||
"": {
|
||||
"name": "tg-ts-bot",
|
||||
"dependencies": {
|
||||
"@google/genai": "^1.34.0",
|
||||
"@libsql/client": "^0.15.15",
|
||||
"@napi-rs/canvas": "^0.1.88",
|
||||
"@types/bun": "^1.3.5",
|
||||
"@types/node": "^25.0.3",
|
||||
"axios": "^1.13.2",
|
||||
"dotenv": "^17.2.3",
|
||||
"drizzle-orm": "^1.0.0-beta.9-e89174b",
|
||||
"emoji-regex": "^10.6.0",
|
||||
"ollama": "^0.6.3",
|
||||
"qrcode": "^1.5.4",
|
||||
"sharp": "^0.34.5",
|
||||
"systeminformation": "^5.27.14",
|
||||
"twemoji": "^14.0.2",
|
||||
"typescript-telegram-bot-api": "^0.11.0",
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/qrcode": "^1.5.6",
|
||||
"@typescript-eslint/eslint-plugin": "8.46.3",
|
||||
"@typescript-eslint/parser": "8.46.3",
|
||||
"drizzle-kit": "^0.31.8",
|
||||
"eslint": "9.39.1",
|
||||
"tsx": "^4.21.0",
|
||||
"typescript": "^5.9.3",
|
||||
},
|
||||
},
|
||||
},
|
||||
"packages": {
|
||||
"@azure-rest/core-client": ["@azure-rest/core-client@2.5.1", "", { "dependencies": { "@azure/abort-controller": "^2.1.2", "@azure/core-auth": "^1.10.0", "@azure/core-rest-pipeline": "^1.22.0", "@azure/core-tracing": "^1.3.0", "@typespec/ts-http-runtime": "^0.3.0", "tslib": "^2.6.2" } }, "sha512-EHaOXW0RYDKS5CFffnixdyRPak5ytiCtU7uXDcP/uiY+A6jFRwNGzzJBiznkCzvi5EYpY+YWinieqHb0oY916A=="],
|
||||
|
||||
"@azure/abort-controller": ["@azure/abort-controller@2.1.2", "", { "dependencies": { "tslib": "^2.6.2" } }, "sha512-nBrLsEWm4J2u5LpAPjxADTlq3trDgVZZXHNKabeXZtpq3d3AbN/KGO82R87rdDz5/lYB024rtEf10/q0urNgsA=="],
|
||||
|
||||
"@azure/core-auth": ["@azure/core-auth@1.10.1", "", { "dependencies": { "@azure/abort-controller": "^2.1.2", "@azure/core-util": "^1.13.0", "tslib": "^2.6.2" } }, "sha512-ykRMW8PjVAn+RS6ww5cmK9U2CyH9p4Q88YJwvUslfuMmN98w/2rdGRLPqJYObapBCdzBVeDgYWdJnFPFb7qzpg=="],
|
||||
|
||||
"@azure/core-client": ["@azure/core-client@1.10.1", "", { "dependencies": { "@azure/abort-controller": "^2.1.2", "@azure/core-auth": "^1.10.0", "@azure/core-rest-pipeline": "^1.22.0", "@azure/core-tracing": "^1.3.0", "@azure/core-util": "^1.13.0", "@azure/logger": "^1.3.0", "tslib": "^2.6.2" } }, "sha512-Nh5PhEOeY6PrnxNPsEHRr9eimxLwgLlpmguQaHKBinFYA/RU9+kOYVOQqOrTsCL+KSxrLLl1gD8Dk5BFW/7l/w=="],
|
||||
|
||||
"@azure/core-http-compat": ["@azure/core-http-compat@2.3.1", "", { "dependencies": { "@azure/abort-controller": "^2.1.2", "@azure/core-client": "^1.10.0", "@azure/core-rest-pipeline": "^1.22.0" } }, "sha512-az9BkXND3/d5VgdRRQVkiJb2gOmDU8Qcq4GvjtBmDICNiQ9udFmDk4ZpSB5Qq1OmtDJGlQAfBaS4palFsazQ5g=="],
|
||||
|
||||
"@azure/core-lro": ["@azure/core-lro@2.7.2", "", { "dependencies": { "@azure/abort-controller": "^2.0.0", "@azure/core-util": "^1.2.0", "@azure/logger": "^1.0.0", "tslib": "^2.6.2" } }, "sha512-0YIpccoX8m/k00O7mDDMdJpbr6mf1yWo2dfmxt5A8XVZVVMz2SSKaEbMCeJRvgQ0IaSlqhjT47p4hVIRRy90xw=="],
|
||||
|
||||
"@azure/core-paging": ["@azure/core-paging@1.6.2", "", { "dependencies": { "tslib": "^2.6.2" } }, "sha512-YKWi9YuCU04B55h25cnOYZHxXYtEvQEbKST5vqRga7hWY9ydd3FZHdeQF8pyh+acWZvppw13M/LMGx0LABUVMA=="],
|
||||
|
||||
"@azure/core-rest-pipeline": ["@azure/core-rest-pipeline@1.22.2", "", { "dependencies": { "@azure/abort-controller": "^2.1.2", "@azure/core-auth": "^1.10.0", "@azure/core-tracing": "^1.3.0", "@azure/core-util": "^1.13.0", "@azure/logger": "^1.3.0", "@typespec/ts-http-runtime": "^0.3.0", "tslib": "^2.6.2" } }, "sha512-MzHym+wOi8CLUlKCQu12de0nwcq9k9Kuv43j4Wa++CsCpJwps2eeBQwD2Bu8snkxTtDKDx4GwjuR9E8yC8LNrg=="],
|
||||
|
||||
"@azure/core-tracing": ["@azure/core-tracing@1.3.1", "", { "dependencies": { "tslib": "^2.6.2" } }, "sha512-9MWKevR7Hz8kNzzPLfX4EAtGM2b8mr50HPDBvio96bURP/9C+HjdH3sBlLSNNrvRAr5/k/svoH457gB5IKpmwQ=="],
|
||||
|
||||
"@azure/core-util": ["@azure/core-util@1.13.1", "", { "dependencies": { "@azure/abort-controller": "^2.1.2", "@typespec/ts-http-runtime": "^0.3.0", "tslib": "^2.6.2" } }, "sha512-XPArKLzsvl0Hf0CaGyKHUyVgF7oDnhKoP85Xv6M4StF/1AhfORhZudHtOyf2s+FcbuQ9dPRAjB8J2KvRRMUK2A=="],
|
||||
|
||||
"@azure/identity": ["@azure/identity@4.13.0", "", { "dependencies": { "@azure/abort-controller": "^2.0.0", "@azure/core-auth": "^1.9.0", "@azure/core-client": "^1.9.2", "@azure/core-rest-pipeline": "^1.17.0", "@azure/core-tracing": "^1.0.0", "@azure/core-util": "^1.11.0", "@azure/logger": "^1.0.0", "@azure/msal-browser": "^4.2.0", "@azure/msal-node": "^3.5.0", "open": "^10.1.0", "tslib": "^2.2.0" } }, "sha512-uWC0fssc+hs1TGGVkkghiaFkkS7NkTxfnCH+Hdg+yTehTpMcehpok4PgUKKdyCH+9ldu6FhiHRv84Ntqj1vVcw=="],
|
||||
|
||||
"@azure/keyvault-common": ["@azure/keyvault-common@2.0.0", "", { "dependencies": { "@azure/abort-controller": "^2.0.0", "@azure/core-auth": "^1.3.0", "@azure/core-client": "^1.5.0", "@azure/core-rest-pipeline": "^1.8.0", "@azure/core-tracing": "^1.0.0", "@azure/core-util": "^1.10.0", "@azure/logger": "^1.1.4", "tslib": "^2.2.0" } }, "sha512-wRLVaroQtOqfg60cxkzUkGKrKMsCP6uYXAOomOIysSMyt1/YM0eUn9LqieAWM8DLcU4+07Fio2YGpPeqUbpP9w=="],
|
||||
|
||||
"@azure/keyvault-keys": ["@azure/keyvault-keys@4.10.0", "", { "dependencies": { "@azure-rest/core-client": "^2.3.3", "@azure/abort-controller": "^2.1.2", "@azure/core-auth": "^1.9.0", "@azure/core-http-compat": "^2.2.0", "@azure/core-lro": "^2.7.2", "@azure/core-paging": "^1.6.2", "@azure/core-rest-pipeline": "^1.19.0", "@azure/core-tracing": "^1.2.0", "@azure/core-util": "^1.11.0", "@azure/keyvault-common": "^2.0.0", "@azure/logger": "^1.1.4", "tslib": "^2.8.1" } }, "sha512-eDT7iXoBTRZ2n3fLiftuGJFD+yjkiB1GNqzU2KbY1TLYeXeSPVTVgn2eJ5vmRTZ11978jy2Kg2wI7xa9Tyr8ag=="],
|
||||
|
||||
"@azure/logger": ["@azure/logger@1.3.0", "", { "dependencies": { "@typespec/ts-http-runtime": "^0.3.0", "tslib": "^2.6.2" } }, "sha512-fCqPIfOcLE+CGqGPd66c8bZpwAji98tZ4JI9i/mlTNTlsIWslCfpg48s/ypyLxZTump5sypjrKn2/kY7q8oAbA=="],
|
||||
|
||||
"@azure/msal-browser": ["@azure/msal-browser@4.27.0", "", { "dependencies": { "@azure/msal-common": "15.13.3" } }, "sha512-bZ8Pta6YAbdd0o0PEaL1/geBsPrLEnyY/RDWqvF1PP9RUH8EMLvUMGoZFYS6jSlUan6KZ9IMTLCnwpWWpQRK/w=="],
|
||||
|
||||
"@azure/msal-common": ["@azure/msal-common@15.13.3", "", {}, "sha512-shSDU7Ioecya+Aob5xliW9IGq1Ui8y4EVSdWGyI1Gbm4Vg61WpP95LuzcY214/wEjSn6w4PZYD4/iVldErHayQ=="],
|
||||
|
||||
"@azure/msal-node": ["@azure/msal-node@3.8.4", "", { "dependencies": { "@azure/msal-common": "15.13.3", "jsonwebtoken": "^9.0.0", "uuid": "^8.3.0" } }, "sha512-lvuAwsDpPDE/jSuVQOBMpLbXuVuLsPNRwWCyK3/6bPlBk0fGWegqoZ0qjZclMWyQ2JNvIY3vHY7hoFmFmFQcOw=="],
|
||||
|
||||
"@drizzle-team/brocli": ["@drizzle-team/brocli@0.10.2", "", {}, "sha512-z33Il7l5dKjUgGULTqBsQBQwckHh5AbIuxhdsIxDDiZAzBOrZO6q9ogcWC65kU382AfynTfgNumVcNIjuIua6w=="],
|
||||
|
||||
"@emnapi/runtime": ["@emnapi/runtime@1.7.1", "", { "dependencies": { "tslib": "^2.4.0" } }, "sha512-PVtJr5CmLwYAU9PZDMITZoR5iAOShYREoR45EyyLrbntV50mdePTgUn4AmOw90Ifcj+x2kRjdzr1HP3RrNiHGA=="],
|
||||
|
||||
"@esbuild-kit/core-utils": ["@esbuild-kit/core-utils@3.3.2", "", { "dependencies": { "esbuild": "~0.18.20", "source-map-support": "^0.5.21" } }, "sha512-sPRAnw9CdSsRmEtnsl2WXWdyquogVpB3yZ3dgwJfe8zrOzTsV7cJvmwrKVa+0ma5BoiGJ+BoqkMvawbayKUsqQ=="],
|
||||
|
||||
"@esbuild-kit/esm-loader": ["@esbuild-kit/esm-loader@2.6.5", "", { "dependencies": { "@esbuild-kit/core-utils": "^3.3.2", "get-tsconfig": "^4.7.0" } }, "sha512-FxEMIkJKnodyA1OaCUoEvbYRkoZlLZ4d/eXFu9Fh8CbBBgP5EmZxrfTRyN0qpXZ4vOvqnE5YdRdcrmUUXuU+dA=="],
|
||||
|
||||
"@esbuild/aix-ppc64": ["@esbuild/aix-ppc64@0.25.12", "", { "os": "aix", "cpu": "ppc64" }, "sha512-Hhmwd6CInZ3dwpuGTF8fJG6yoWmsToE+vYgD4nytZVxcu1ulHpUQRAB1UJ8+N1Am3Mz4+xOByoQoSZf4D+CpkA=="],
|
||||
|
||||
"@esbuild/android-arm": ["@esbuild/android-arm@0.25.12", "", { "os": "android", "cpu": "arm" }, "sha512-VJ+sKvNA/GE7Ccacc9Cha7bpS8nyzVv0jdVgwNDaR4gDMC/2TTRc33Ip8qrNYUcpkOHUT5OZ0bUcNNVZQ9RLlg=="],
|
||||
|
||||
"@esbuild/android-arm64": ["@esbuild/android-arm64@0.25.12", "", { "os": "android", "cpu": "arm64" }, "sha512-6AAmLG7zwD1Z159jCKPvAxZd4y/VTO0VkprYy+3N2FtJ8+BQWFXU+OxARIwA46c5tdD9SsKGZ/1ocqBS/gAKHg=="],
|
||||
|
||||
"@esbuild/android-x64": ["@esbuild/android-x64@0.25.12", "", { "os": "android", "cpu": "x64" }, "sha512-5jbb+2hhDHx5phYR2By8GTWEzn6I9UqR11Kwf22iKbNpYrsmRB18aX/9ivc5cabcUiAT/wM+YIZ6SG9QO6a8kg=="],
|
||||
|
||||
"@esbuild/darwin-arm64": ["@esbuild/darwin-arm64@0.25.12", "", { "os": "darwin", "cpu": "arm64" }, "sha512-N3zl+lxHCifgIlcMUP5016ESkeQjLj/959RxxNYIthIg+CQHInujFuXeWbWMgnTo4cp5XVHqFPmpyu9J65C1Yg=="],
|
||||
|
||||
"@esbuild/darwin-x64": ["@esbuild/darwin-x64@0.25.12", "", { "os": "darwin", "cpu": "x64" }, "sha512-HQ9ka4Kx21qHXwtlTUVbKJOAnmG1ipXhdWTmNXiPzPfWKpXqASVcWdnf2bnL73wgjNrFXAa3yYvBSd9pzfEIpA=="],
|
||||
|
||||
"@esbuild/freebsd-arm64": ["@esbuild/freebsd-arm64@0.25.12", "", { "os": "freebsd", "cpu": "arm64" }, "sha512-gA0Bx759+7Jve03K1S0vkOu5Lg/85dou3EseOGUes8flVOGxbhDDh/iZaoek11Y8mtyKPGF3vP8XhnkDEAmzeg=="],
|
||||
|
||||
"@esbuild/freebsd-x64": ["@esbuild/freebsd-x64@0.25.12", "", { "os": "freebsd", "cpu": "x64" }, "sha512-TGbO26Yw2xsHzxtbVFGEXBFH0FRAP7gtcPE7P5yP7wGy7cXK2oO7RyOhL5NLiqTlBh47XhmIUXuGciXEqYFfBQ=="],
|
||||
|
||||
"@esbuild/linux-arm": ["@esbuild/linux-arm@0.25.12", "", { "os": "linux", "cpu": "arm" }, "sha512-lPDGyC1JPDou8kGcywY0YILzWlhhnRjdof3UlcoqYmS9El818LLfJJc3PXXgZHrHCAKs/Z2SeZtDJr5MrkxtOw=="],
|
||||
|
||||
"@esbuild/linux-arm64": ["@esbuild/linux-arm64@0.25.12", "", { "os": "linux", "cpu": "arm64" }, "sha512-8bwX7a8FghIgrupcxb4aUmYDLp8pX06rGh5HqDT7bB+8Rdells6mHvrFHHW2JAOPZUbnjUpKTLg6ECyzvas2AQ=="],
|
||||
|
||||
"@esbuild/linux-ia32": ["@esbuild/linux-ia32@0.25.12", "", { "os": "linux", "cpu": "ia32" }, "sha512-0y9KrdVnbMM2/vG8KfU0byhUN+EFCny9+8g202gYqSSVMonbsCfLjUO+rCci7pM0WBEtz+oK/PIwHkzxkyharA=="],
|
||||
|
||||
"@esbuild/linux-loong64": ["@esbuild/linux-loong64@0.25.12", "", { "os": "linux", "cpu": "none" }, "sha512-h///Lr5a9rib/v1GGqXVGzjL4TMvVTv+s1DPoxQdz7l/AYv6LDSxdIwzxkrPW438oUXiDtwM10o9PmwS/6Z0Ng=="],
|
||||
|
||||
"@esbuild/linux-mips64el": ["@esbuild/linux-mips64el@0.25.12", "", { "os": "linux", "cpu": "none" }, "sha512-iyRrM1Pzy9GFMDLsXn1iHUm18nhKnNMWscjmp4+hpafcZjrr2WbT//d20xaGljXDBYHqRcl8HnxbX6uaA/eGVw=="],
|
||||
|
||||
"@esbuild/linux-ppc64": ["@esbuild/linux-ppc64@0.25.12", "", { "os": "linux", "cpu": "ppc64" }, "sha512-9meM/lRXxMi5PSUqEXRCtVjEZBGwB7P/D4yT8UG/mwIdze2aV4Vo6U5gD3+RsoHXKkHCfSxZKzmDssVlRj1QQA=="],
|
||||
|
||||
"@esbuild/linux-riscv64": ["@esbuild/linux-riscv64@0.25.12", "", { "os": "linux", "cpu": "none" }, "sha512-Zr7KR4hgKUpWAwb1f3o5ygT04MzqVrGEGXGLnj15YQDJErYu/BGg+wmFlIDOdJp0PmB0lLvxFIOXZgFRrdjR0w=="],
|
||||
|
||||
"@esbuild/linux-s390x": ["@esbuild/linux-s390x@0.25.12", "", { "os": "linux", "cpu": "s390x" }, "sha512-MsKncOcgTNvdtiISc/jZs/Zf8d0cl/t3gYWX8J9ubBnVOwlk65UIEEvgBORTiljloIWnBzLs4qhzPkJcitIzIg=="],
|
||||
|
||||
"@esbuild/linux-x64": ["@esbuild/linux-x64@0.25.12", "", { "os": "linux", "cpu": "x64" }, "sha512-uqZMTLr/zR/ed4jIGnwSLkaHmPjOjJvnm6TVVitAa08SLS9Z0VM8wIRx7gWbJB5/J54YuIMInDquWyYvQLZkgw=="],
|
||||
|
||||
"@esbuild/netbsd-arm64": ["@esbuild/netbsd-arm64@0.25.12", "", { "os": "none", "cpu": "arm64" }, "sha512-xXwcTq4GhRM7J9A8Gv5boanHhRa/Q9KLVmcyXHCTaM4wKfIpWkdXiMog/KsnxzJ0A1+nD+zoecuzqPmCRyBGjg=="],
|
||||
|
||||
"@esbuild/netbsd-x64": ["@esbuild/netbsd-x64@0.25.12", "", { "os": "none", "cpu": "x64" }, "sha512-Ld5pTlzPy3YwGec4OuHh1aCVCRvOXdH8DgRjfDy/oumVovmuSzWfnSJg+VtakB9Cm0gxNO9BzWkj6mtO1FMXkQ=="],
|
||||
|
||||
"@esbuild/openbsd-arm64": ["@esbuild/openbsd-arm64@0.25.12", "", { "os": "openbsd", "cpu": "arm64" }, "sha512-fF96T6KsBo/pkQI950FARU9apGNTSlZGsv1jZBAlcLL1MLjLNIWPBkj5NlSz8aAzYKg+eNqknrUJ24QBybeR5A=="],
|
||||
|
||||
"@esbuild/openbsd-x64": ["@esbuild/openbsd-x64@0.25.12", "", { "os": "openbsd", "cpu": "x64" }, "sha512-MZyXUkZHjQxUvzK7rN8DJ3SRmrVrke8ZyRusHlP+kuwqTcfWLyqMOE3sScPPyeIXN/mDJIfGXvcMqCgYKekoQw=="],
|
||||
|
||||
"@esbuild/openharmony-arm64": ["@esbuild/openharmony-arm64@0.25.12", "", { "os": "none", "cpu": "arm64" }, "sha512-rm0YWsqUSRrjncSXGA7Zv78Nbnw4XL6/dzr20cyrQf7ZmRcsovpcRBdhD43Nuk3y7XIoW2OxMVvwuRvk9XdASg=="],
|
||||
|
||||
"@esbuild/sunos-x64": ["@esbuild/sunos-x64@0.25.12", "", { "os": "sunos", "cpu": "x64" }, "sha512-3wGSCDyuTHQUzt0nV7bocDy72r2lI33QL3gkDNGkod22EsYl04sMf0qLb8luNKTOmgF/eDEDP5BFNwoBKH441w=="],
|
||||
|
||||
"@esbuild/win32-arm64": ["@esbuild/win32-arm64@0.25.12", "", { "os": "win32", "cpu": "arm64" }, "sha512-rMmLrur64A7+DKlnSuwqUdRKyd3UE7oPJZmnljqEptesKM8wx9J8gx5u0+9Pq0fQQW8vqeKebwNXdfOyP+8Bsg=="],
|
||||
|
||||
"@esbuild/win32-ia32": ["@esbuild/win32-ia32@0.25.12", "", { "os": "win32", "cpu": "ia32" }, "sha512-HkqnmmBoCbCwxUKKNPBixiWDGCpQGVsrQfJoVGYLPT41XWF8lHuE5N6WhVia2n4o5QK5M4tYr21827fNhi4byQ=="],
|
||||
|
||||
"@esbuild/win32-x64": ["@esbuild/win32-x64@0.25.12", "", { "os": "win32", "cpu": "x64" }, "sha512-alJC0uCZpTFrSL0CCDjcgleBXPnCrEAhTBILpeAp7M/OFgoqtAetfBzX0xM00MUsVVPpVjlPuMbREqnZCXaTnA=="],
|
||||
|
||||
"@eslint-community/eslint-utils": ["@eslint-community/eslint-utils@4.9.0", "", { "dependencies": { "eslint-visitor-keys": "^3.4.3" }, "peerDependencies": { "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" } }, "sha512-ayVFHdtZ+hsq1t2Dy24wCmGXGe4q9Gu3smhLYALJrr473ZH27MsnSL+LKUlimp4BWJqMDMLmPpx/Q9R3OAlL4g=="],
|
||||
|
||||
"@eslint-community/regexpp": ["@eslint-community/regexpp@4.12.2", "", {}, "sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew=="],
|
||||
|
||||
"@eslint/config-array": ["@eslint/config-array@0.21.1", "", { "dependencies": { "@eslint/object-schema": "^2.1.7", "debug": "^4.3.1", "minimatch": "^3.1.2" } }, "sha512-aw1gNayWpdI/jSYVgzN5pL0cfzU02GT3NBpeT/DXbx1/1x7ZKxFPd9bwrzygx/qiwIQiJ1sw/zD8qY/kRvlGHA=="],
|
||||
|
||||
"@eslint/config-helpers": ["@eslint/config-helpers@0.4.2", "", { "dependencies": { "@eslint/core": "^0.17.0" } }, "sha512-gBrxN88gOIf3R7ja5K9slwNayVcZgK6SOUORm2uBzTeIEfeVaIhOpCtTox3P6R7o2jLFwLFTLnC7kU/RGcYEgw=="],
|
||||
|
||||
"@eslint/core": ["@eslint/core@0.17.0", "", { "dependencies": { "@types/json-schema": "^7.0.15" } }, "sha512-yL/sLrpmtDaFEiUj1osRP4TI2MDz1AddJL+jZ7KSqvBuliN4xqYY54IfdN8qD8Toa6g1iloph1fxQNkjOxrrpQ=="],
|
||||
|
||||
"@eslint/eslintrc": ["@eslint/eslintrc@3.3.3", "", { "dependencies": { "ajv": "^6.12.4", "debug": "^4.3.2", "espree": "^10.0.1", "globals": "^14.0.0", "ignore": "^5.2.0", "import-fresh": "^3.2.1", "js-yaml": "^4.1.1", "minimatch": "^3.1.2", "strip-json-comments": "^3.1.1" } }, "sha512-Kr+LPIUVKz2qkx1HAMH8q1q6azbqBAsXJUxBl/ODDuVPX45Z9DfwB8tPjTi6nNZ8BuM3nbJxC5zCAg5elnBUTQ=="],
|
||||
|
||||
"@eslint/js": ["@eslint/js@9.39.1", "", {}, "sha512-S26Stp4zCy88tH94QbBv3XCuzRQiZ9yXofEILmglYTh/Ug/a9/umqvgFtYBAo3Lp0nsI/5/qH1CCrbdK3AP1Tw=="],
|
||||
|
||||
"@eslint/object-schema": ["@eslint/object-schema@2.1.7", "", {}, "sha512-VtAOaymWVfZcmZbp6E2mympDIHvyjXs/12LqWYjVw6qjrfF+VK+fyG33kChz3nnK+SU5/NeHOqrTEHS8sXO3OA=="],
|
||||
|
||||
"@eslint/plugin-kit": ["@eslint/plugin-kit@0.4.1", "", { "dependencies": { "@eslint/core": "^0.17.0", "levn": "^0.4.1" } }, "sha512-43/qtrDUokr7LJqoF2c3+RInu/t4zfrpYdoSDfYyhg52rwLV6TnOvdG4fXm7IkSB3wErkcmJS9iEhjVtOSEjjA=="],
|
||||
|
||||
"@google/genai": ["@google/genai@1.34.0", "", { "dependencies": { "google-auth-library": "^10.3.0", "ws": "^8.18.0" }, "peerDependencies": { "@modelcontextprotocol/sdk": "^1.24.0" }, "optionalPeers": ["@modelcontextprotocol/sdk"] }, "sha512-vu53UMPvjmb7PGzlYu6Tzxso8Dfhn+a7eQFaS2uNemVtDZKwzSpJ5+ikqBbXplF7RGB1STcVDqCkPvquiwb2sw=="],
|
||||
|
||||
"@humanfs/core": ["@humanfs/core@0.19.1", "", {}, "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA=="],
|
||||
|
||||
"@humanfs/node": ["@humanfs/node@0.16.7", "", { "dependencies": { "@humanfs/core": "^0.19.1", "@humanwhocodes/retry": "^0.4.0" } }, "sha512-/zUx+yOsIrG4Y43Eh2peDeKCxlRt/gET6aHfaKpuq267qXdYDFViVHfMaLyygZOnl0kGWxFIgsBy8QFuTLUXEQ=="],
|
||||
|
||||
"@humanwhocodes/module-importer": ["@humanwhocodes/module-importer@1.0.1", "", {}, "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA=="],
|
||||
|
||||
"@humanwhocodes/retry": ["@humanwhocodes/retry@0.4.3", "", {}, "sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ=="],
|
||||
|
||||
"@img/colour": ["@img/colour@1.0.0", "", {}, "sha512-A5P/LfWGFSl6nsckYtjw9da+19jB8hkJ6ACTGcDfEJ0aE+l2n2El7dsVM7UVHZQ9s2lmYMWlrS21YLy2IR1LUw=="],
|
||||
|
||||
"@img/sharp-darwin-arm64": ["@img/sharp-darwin-arm64@0.34.5", "", { "optionalDependencies": { "@img/sharp-libvips-darwin-arm64": "1.2.4" }, "os": "darwin", "cpu": "arm64" }, "sha512-imtQ3WMJXbMY4fxb/Ndp6HBTNVtWCUI0WdobyheGf5+ad6xX8VIDO8u2xE4qc/fr08CKG/7dDseFtn6M6g/r3w=="],
|
||||
|
||||
"@img/sharp-darwin-x64": ["@img/sharp-darwin-x64@0.34.5", "", { "optionalDependencies": { "@img/sharp-libvips-darwin-x64": "1.2.4" }, "os": "darwin", "cpu": "x64" }, "sha512-YNEFAF/4KQ/PeW0N+r+aVVsoIY0/qxxikF2SWdp+NRkmMB7y9LBZAVqQ4yhGCm/H3H270OSykqmQMKLBhBJDEw=="],
|
||||
|
||||
"@img/sharp-libvips-darwin-arm64": ["@img/sharp-libvips-darwin-arm64@1.2.4", "", { "os": "darwin", "cpu": "arm64" }, "sha512-zqjjo7RatFfFoP0MkQ51jfuFZBnVE2pRiaydKJ1G/rHZvnsrHAOcQALIi9sA5co5xenQdTugCvtb1cuf78Vf4g=="],
|
||||
|
||||
"@img/sharp-libvips-darwin-x64": ["@img/sharp-libvips-darwin-x64@1.2.4", "", { "os": "darwin", "cpu": "x64" }, "sha512-1IOd5xfVhlGwX+zXv2N93k0yMONvUlANylbJw1eTah8K/Jtpi15KC+WSiaX/nBmbm2HxRM1gZ0nSdjSsrZbGKg=="],
|
||||
|
||||
"@img/sharp-libvips-linux-arm": ["@img/sharp-libvips-linux-arm@1.2.4", "", { "os": "linux", "cpu": "arm" }, "sha512-bFI7xcKFELdiNCVov8e44Ia4u2byA+l3XtsAj+Q8tfCwO6BQ8iDojYdvoPMqsKDkuoOo+X6HZA0s0q11ANMQ8A=="],
|
||||
|
||||
"@img/sharp-libvips-linux-arm64": ["@img/sharp-libvips-linux-arm64@1.2.4", "", { "os": "linux", "cpu": "arm64" }, "sha512-excjX8DfsIcJ10x1Kzr4RcWe1edC9PquDRRPx3YVCvQv+U5p7Yin2s32ftzikXojb1PIFc/9Mt28/y+iRklkrw=="],
|
||||
|
||||
"@img/sharp-libvips-linux-ppc64": ["@img/sharp-libvips-linux-ppc64@1.2.4", "", { "os": "linux", "cpu": "ppc64" }, "sha512-FMuvGijLDYG6lW+b/UvyilUWu5Ayu+3r2d1S8notiGCIyYU/76eig1UfMmkZ7vwgOrzKzlQbFSuQfgm7GYUPpA=="],
|
||||
|
||||
"@img/sharp-libvips-linux-riscv64": ["@img/sharp-libvips-linux-riscv64@1.2.4", "", { "os": "linux", "cpu": "none" }, "sha512-oVDbcR4zUC0ce82teubSm+x6ETixtKZBh/qbREIOcI3cULzDyb18Sr/Wcyx7NRQeQzOiHTNbZFF1UwPS2scyGA=="],
|
||||
|
||||
"@img/sharp-libvips-linux-s390x": ["@img/sharp-libvips-linux-s390x@1.2.4", "", { "os": "linux", "cpu": "s390x" }, "sha512-qmp9VrzgPgMoGZyPvrQHqk02uyjA0/QrTO26Tqk6l4ZV0MPWIW6LTkqOIov+J1yEu7MbFQaDpwdwJKhbJvuRxQ=="],
|
||||
|
||||
"@img/sharp-libvips-linux-x64": ["@img/sharp-libvips-linux-x64@1.2.4", "", { "os": "linux", "cpu": "x64" }, "sha512-tJxiiLsmHc9Ax1bz3oaOYBURTXGIRDODBqhveVHonrHJ9/+k89qbLl0bcJns+e4t4rvaNBxaEZsFtSfAdquPrw=="],
|
||||
|
||||
"@img/sharp-libvips-linuxmusl-arm64": ["@img/sharp-libvips-linuxmusl-arm64@1.2.4", "", { "os": "linux", "cpu": "arm64" }, "sha512-FVQHuwx1IIuNow9QAbYUzJ+En8KcVm9Lk5+uGUQJHaZmMECZmOlix9HnH7n1TRkXMS0pGxIJokIVB9SuqZGGXw=="],
|
||||
|
||||
"@img/sharp-libvips-linuxmusl-x64": ["@img/sharp-libvips-linuxmusl-x64@1.2.4", "", { "os": "linux", "cpu": "x64" }, "sha512-+LpyBk7L44ZIXwz/VYfglaX/okxezESc6UxDSoyo2Ks6Jxc4Y7sGjpgU9s4PMgqgjj1gZCylTieNamqA1MF7Dg=="],
|
||||
|
||||
"@img/sharp-linux-arm": ["@img/sharp-linux-arm@0.34.5", "", { "optionalDependencies": { "@img/sharp-libvips-linux-arm": "1.2.4" }, "os": "linux", "cpu": "arm" }, "sha512-9dLqsvwtg1uuXBGZKsxem9595+ujv0sJ6Vi8wcTANSFpwV/GONat5eCkzQo/1O6zRIkh0m/8+5BjrRr7jDUSZw=="],
|
||||
|
||||
"@img/sharp-linux-arm64": ["@img/sharp-linux-arm64@0.34.5", "", { "optionalDependencies": { "@img/sharp-libvips-linux-arm64": "1.2.4" }, "os": "linux", "cpu": "arm64" }, "sha512-bKQzaJRY/bkPOXyKx5EVup7qkaojECG6NLYswgktOZjaXecSAeCWiZwwiFf3/Y+O1HrauiE3FVsGxFg8c24rZg=="],
|
||||
|
||||
"@img/sharp-linux-ppc64": ["@img/sharp-linux-ppc64@0.34.5", "", { "optionalDependencies": { "@img/sharp-libvips-linux-ppc64": "1.2.4" }, "os": "linux", "cpu": "ppc64" }, "sha512-7zznwNaqW6YtsfrGGDA6BRkISKAAE1Jo0QdpNYXNMHu2+0dTrPflTLNkpc8l7MUP5M16ZJcUvysVWWrMefZquA=="],
|
||||
|
||||
"@img/sharp-linux-riscv64": ["@img/sharp-linux-riscv64@0.34.5", "", { "optionalDependencies": { "@img/sharp-libvips-linux-riscv64": "1.2.4" }, "os": "linux", "cpu": "none" }, "sha512-51gJuLPTKa7piYPaVs8GmByo7/U7/7TZOq+cnXJIHZKavIRHAP77e3N2HEl3dgiqdD/w0yUfiJnII77PuDDFdw=="],
|
||||
|
||||
"@img/sharp-linux-s390x": ["@img/sharp-linux-s390x@0.34.5", "", { "optionalDependencies": { "@img/sharp-libvips-linux-s390x": "1.2.4" }, "os": "linux", "cpu": "s390x" }, "sha512-nQtCk0PdKfho3eC5MrbQoigJ2gd1CgddUMkabUj+rBevs8tZ2cULOx46E7oyX+04WGfABgIwmMC0VqieTiR4jg=="],
|
||||
|
||||
"@img/sharp-linux-x64": ["@img/sharp-linux-x64@0.34.5", "", { "optionalDependencies": { "@img/sharp-libvips-linux-x64": "1.2.4" }, "os": "linux", "cpu": "x64" }, "sha512-MEzd8HPKxVxVenwAa+JRPwEC7QFjoPWuS5NZnBt6B3pu7EG2Ge0id1oLHZpPJdn3OQK+BQDiw9zStiHBTJQQQQ=="],
|
||||
|
||||
"@img/sharp-linuxmusl-arm64": ["@img/sharp-linuxmusl-arm64@0.34.5", "", { "optionalDependencies": { "@img/sharp-libvips-linuxmusl-arm64": "1.2.4" }, "os": "linux", "cpu": "arm64" }, "sha512-fprJR6GtRsMt6Kyfq44IsChVZeGN97gTD331weR1ex1c1rypDEABN6Tm2xa1wE6lYb5DdEnk03NZPqA7Id21yg=="],
|
||||
|
||||
"@img/sharp-linuxmusl-x64": ["@img/sharp-linuxmusl-x64@0.34.5", "", { "optionalDependencies": { "@img/sharp-libvips-linuxmusl-x64": "1.2.4" }, "os": "linux", "cpu": "x64" }, "sha512-Jg8wNT1MUzIvhBFxViqrEhWDGzqymo3sV7z7ZsaWbZNDLXRJZoRGrjulp60YYtV4wfY8VIKcWidjojlLcWrd8Q=="],
|
||||
|
||||
"@img/sharp-wasm32": ["@img/sharp-wasm32@0.34.5", "", { "dependencies": { "@emnapi/runtime": "^1.7.0" }, "cpu": "none" }, "sha512-OdWTEiVkY2PHwqkbBI8frFxQQFekHaSSkUIJkwzclWZe64O1X4UlUjqqqLaPbUpMOQk6FBu/HtlGXNblIs0huw=="],
|
||||
|
||||
"@img/sharp-win32-arm64": ["@img/sharp-win32-arm64@0.34.5", "", { "os": "win32", "cpu": "arm64" }, "sha512-WQ3AgWCWYSb2yt+IG8mnC6Jdk9Whs7O0gxphblsLvdhSpSTtmu69ZG1Gkb6NuvxsNACwiPV6cNSZNzt0KPsw7g=="],
|
||||
|
||||
"@img/sharp-win32-ia32": ["@img/sharp-win32-ia32@0.34.5", "", { "os": "win32", "cpu": "ia32" }, "sha512-FV9m/7NmeCmSHDD5j4+4pNI8Cp3aW+JvLoXcTUo0IqyjSfAZJ8dIUmijx1qaJsIiU+Hosw6xM5KijAWRJCSgNg=="],
|
||||
|
||||
"@img/sharp-win32-x64": ["@img/sharp-win32-x64@0.34.5", "", { "os": "win32", "cpu": "x64" }, "sha512-+29YMsqY2/9eFEiW93eqWnuLcWcufowXewwSNIT6UwZdUUCrM3oFjMWH/Z6/TMmb4hlFenmfAVbpWeup2jryCw=="],
|
||||
|
||||
"@isaacs/cliui": ["@isaacs/cliui@8.0.2", "", { "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" } }, "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA=="],
|
||||
|
||||
"@js-joda/core": ["@js-joda/core@5.6.5", "", {}, "sha512-3zwefSMwHpu8iVUW8YYz227sIv6UFqO31p1Bf1ZH/Vom7CmNyUsXjDBlnNzcuhmOL1XfxZ3nvND42kR23XlbcQ=="],
|
||||
|
||||
"@libsql/client": ["@libsql/client@0.15.15", "", { "dependencies": { "@libsql/core": "^0.15.14", "@libsql/hrana-client": "^0.7.0", "js-base64": "^3.7.5", "libsql": "^0.5.22", "promise-limit": "^2.7.0" } }, "sha512-twC0hQxPNHPKfeOv3sNT6u2pturQjLcI+CnpTM0SjRpocEGgfiZ7DWKXLNnsothjyJmDqEsBQJ5ztq9Wlu470w=="],
|
||||
|
||||
"@libsql/core": ["@libsql/core@0.15.15", "", { "dependencies": { "js-base64": "^3.7.5" } }, "sha512-C88Z6UKl+OyuKKPwz224riz02ih/zHYI3Ho/LAcVOgjsunIRZoBw7fjRfaH9oPMmSNeQfhGklSG2il1URoOIsA=="],
|
||||
|
||||
"@libsql/darwin-arm64": ["@libsql/darwin-arm64@0.5.22", "", { "os": "darwin", "cpu": "arm64" }, "sha512-4B8ZlX3nIDPndfct7GNe0nI3Yw6ibocEicWdC4fvQbSs/jdq/RC2oCsoJxJ4NzXkvktX70C1J4FcmmoBy069UA=="],
|
||||
|
||||
"@libsql/darwin-x64": ["@libsql/darwin-x64@0.5.22", "", { "os": "darwin", "cpu": "x64" }, "sha512-ny2HYWt6lFSIdNFzUFIJ04uiW6finXfMNJ7wypkAD8Pqdm6nAByO+Fdqu8t7sD0sqJGeUCiOg480icjyQ2/8VA=="],
|
||||
|
||||
"@libsql/hrana-client": ["@libsql/hrana-client@0.7.0", "", { "dependencies": { "@libsql/isomorphic-fetch": "^0.3.1", "@libsql/isomorphic-ws": "^0.1.5", "js-base64": "^3.7.5", "node-fetch": "^3.3.2" } }, "sha512-OF8fFQSkbL7vJY9rfuegK1R7sPgQ6kFMkDamiEccNUvieQ+3urzfDFI616oPl8V7T9zRmnTkSjMOImYCAVRVuw=="],
|
||||
|
||||
"@libsql/isomorphic-fetch": ["@libsql/isomorphic-fetch@0.3.1", "", {}, "sha512-6kK3SUK5Uu56zPq/Las620n5aS9xJq+jMBcNSOmjhNf/MUvdyji4vrMTqD7ptY7/4/CAVEAYDeotUz60LNQHtw=="],
|
||||
|
||||
"@libsql/isomorphic-ws": ["@libsql/isomorphic-ws@0.1.5", "", { "dependencies": { "@types/ws": "^8.5.4", "ws": "^8.13.0" } }, "sha512-DtLWIH29onUYR00i0GlQ3UdcTRC6EP4u9w/h9LxpUZJWRMARk6dQwZ6Jkd+QdwVpuAOrdxt18v0K2uIYR3fwFg=="],
|
||||
|
||||
"@libsql/linux-arm-gnueabihf": ["@libsql/linux-arm-gnueabihf@0.5.22", "", { "os": "linux", "cpu": "arm" }, "sha512-3Uo3SoDPJe/zBnyZKosziRGtszXaEtv57raWrZIahtQDsjxBVjuzYQinCm9LRCJCUT5t2r5Z5nLDPJi2CwZVoA=="],
|
||||
|
||||
"@libsql/linux-arm-musleabihf": ["@libsql/linux-arm-musleabihf@0.5.22", "", { "os": "linux", "cpu": "arm" }, "sha512-LCsXh07jvSojTNJptT9CowOzwITznD+YFGGW+1XxUr7fS+7/ydUrpDfsMX7UqTqjm7xG17eq86VkWJgHJfvpNg=="],
|
||||
|
||||
"@libsql/linux-arm64-gnu": ["@libsql/linux-arm64-gnu@0.5.22", "", { "os": "linux", "cpu": "arm64" }, "sha512-KSdnOMy88c9mpOFKUEzPskSaF3VLflfSUCBwas/pn1/sV3pEhtMF6H8VUCd2rsedwoukeeCSEONqX7LLnQwRMA=="],
|
||||
|
||||
"@libsql/linux-arm64-musl": ["@libsql/linux-arm64-musl@0.5.22", "", { "os": "linux", "cpu": "arm64" }, "sha512-mCHSMAsDTLK5YH//lcV3eFEgiR23Ym0U9oEvgZA0667gqRZg/2px+7LshDvErEKv2XZ8ixzw3p1IrBzLQHGSsw=="],
|
||||
|
||||
"@libsql/linux-x64-gnu": ["@libsql/linux-x64-gnu@0.5.22", "", { "os": "linux", "cpu": "x64" }, "sha512-kNBHaIkSg78Y4BqAdgjcR2mBilZXs4HYkAmi58J+4GRwDQZh5fIUWbnQvB9f95DkWUIGVeenqLRFY2pcTmlsew=="],
|
||||
|
||||
"@libsql/linux-x64-musl": ["@libsql/linux-x64-musl@0.5.22", "", { "os": "linux", "cpu": "x64" }, "sha512-UZ4Xdxm4pu3pQXjvfJiyCzZop/9j/eA2JjmhMaAhe3EVLH2g11Fy4fwyUp9sT1QJYR1kpc2JLuybPM0kuXv/Tg=="],
|
||||
|
||||
"@libsql/win32-x64-msvc": ["@libsql/win32-x64-msvc@0.5.22", "", { "os": "win32", "cpu": "x64" }, "sha512-Fj0j8RnBpo43tVZUVoNK6BV/9AtDUM5S7DF3LB4qTYg1LMSZqi3yeCneUTLJD6XomQJlZzbI4mst89yspVSAnA=="],
|
||||
|
||||
"@napi-rs/canvas": ["@napi-rs/canvas@0.1.88", "", { "optionalDependencies": { "@napi-rs/canvas-android-arm64": "0.1.88", "@napi-rs/canvas-darwin-arm64": "0.1.88", "@napi-rs/canvas-darwin-x64": "0.1.88", "@napi-rs/canvas-linux-arm-gnueabihf": "0.1.88", "@napi-rs/canvas-linux-arm64-gnu": "0.1.88", "@napi-rs/canvas-linux-arm64-musl": "0.1.88", "@napi-rs/canvas-linux-riscv64-gnu": "0.1.88", "@napi-rs/canvas-linux-x64-gnu": "0.1.88", "@napi-rs/canvas-linux-x64-musl": "0.1.88", "@napi-rs/canvas-win32-arm64-msvc": "0.1.88", "@napi-rs/canvas-win32-x64-msvc": "0.1.88" } }, "sha512-/p08f93LEbsL5mDZFQ3DBxcPv/I4QG9EDYRRq1WNlCOXVfAHBTHMSVMwxlqG/AtnSfUr9+vgfN7MKiyDo0+Weg=="],
|
||||
|
||||
"@napi-rs/canvas-android-arm64": ["@napi-rs/canvas-android-arm64@0.1.88", "", { "os": "android", "cpu": "arm64" }, "sha512-KEaClPnZuVxJ8smUWjV1wWFkByBO/D+vy4lN+Dm5DFH514oqwukxKGeck9xcKJhaWJGjfruGmYGiwRe//+/zQQ=="],
|
||||
|
||||
"@napi-rs/canvas-darwin-arm64": ["@napi-rs/canvas-darwin-arm64@0.1.88", "", { "os": "darwin", "cpu": "arm64" }, "sha512-Xgywz0dDxOKSgx3eZnK85WgGMmGrQEW7ZLA/E7raZdlEE+xXCozobgqz2ZvYigpB6DJFYkqnwHjqCOTSDGlFdg=="],
|
||||
|
||||
"@napi-rs/canvas-darwin-x64": ["@napi-rs/canvas-darwin-x64@0.1.88", "", { "os": "darwin", "cpu": "x64" }, "sha512-Yz4wSCIQOUgNucgk+8NFtQxQxZV5NO8VKRl9ePKE6XoNyNVC8JDqtvhh3b3TPqKK8W5p2EQpAr1rjjm0mfBxdg=="],
|
||||
|
||||
"@napi-rs/canvas-linux-arm-gnueabihf": ["@napi-rs/canvas-linux-arm-gnueabihf@0.1.88", "", { "os": "linux", "cpu": "arm" }, "sha512-9gQM2SlTo76hYhxHi2XxWTAqpTOb+JtxMPEIr+H5nAhHhyEtNmTSDRtz93SP7mGd2G3Ojf2oF5tP9OdgtgXyKg=="],
|
||||
|
||||
"@napi-rs/canvas-linux-arm64-gnu": ["@napi-rs/canvas-linux-arm64-gnu@0.1.88", "", { "os": "linux", "cpu": "arm64" }, "sha512-7qgaOBMXuVRk9Fzztzr3BchQKXDxGbY+nwsovD3I/Sx81e+sX0ReEDYHTItNb0Je4NHbAl7D0MKyd4SvUc04sg=="],
|
||||
|
||||
"@napi-rs/canvas-linux-arm64-musl": ["@napi-rs/canvas-linux-arm64-musl@0.1.88", "", { "os": "linux", "cpu": "arm64" }, "sha512-kYyNrUsHLkoGHBc77u4Unh067GrfiCUMbGHC2+OTxbeWfZkPt2o32UOQkhnSswKd9Fko/wSqqGkY956bIUzruA=="],
|
||||
|
||||
"@napi-rs/canvas-linux-riscv64-gnu": ["@napi-rs/canvas-linux-riscv64-gnu@0.1.88", "", { "os": "linux", "cpu": "none" }, "sha512-HVuH7QgzB0yavYdNZDRyAsn/ejoXB0hn8twwFnOqUbCCdkV+REna7RXjSR7+PdfW0qMQ2YYWsLvVBT5iL/mGpw=="],
|
||||
|
||||
"@napi-rs/canvas-linux-x64-gnu": ["@napi-rs/canvas-linux-x64-gnu@0.1.88", "", { "os": "linux", "cpu": "x64" }, "sha512-hvcvKIcPEQrvvJtJnwD35B3qk6umFJ8dFIr8bSymfrSMem0EQsfn1ztys8ETIFndTwdNWJKWluvxztA41ivsEw=="],
|
||||
|
||||
"@napi-rs/canvas-linux-x64-musl": ["@napi-rs/canvas-linux-x64-musl@0.1.88", "", { "os": "linux", "cpu": "x64" }, "sha512-eSMpGYY2xnZSQ6UxYJ6plDboxq4KeJ4zT5HaVkUnbObNN6DlbJe0Mclh3wifAmquXfrlgTZt6zhHsUgz++AK6g=="],
|
||||
|
||||
"@napi-rs/canvas-win32-arm64-msvc": ["@napi-rs/canvas-win32-arm64-msvc@0.1.88", "", { "os": "win32", "cpu": "arm64" }, "sha512-qcIFfEgHrchyYqRrxsCeTQgpJZ/GqHiqPcU/Fvw/ARVlQeDX1VyFH+X+0gCR2tca6UJrq96vnW+5o7buCq+erA=="],
|
||||
|
||||
"@napi-rs/canvas-win32-x64-msvc": ["@napi-rs/canvas-win32-x64-msvc@0.1.88", "", { "os": "win32", "cpu": "x64" }, "sha512-ROVqbfS4QyZxYkqmaIBBpbz/BQvAR+05FXM5PAtTYVc0uyY8Y4BHJSMdGAaMf6TdIVRsQsiq+FG/dH9XhvWCFQ=="],
|
||||
|
||||
"@neon-rs/load": ["@neon-rs/load@0.0.4", "", {}, "sha512-kTPhdZyTQxB+2wpiRcFWrDcejc4JI6tkPuS7UZCG4l6Zvc5kU/gGQ/ozvHTh1XR5tS+UlfAfGuPajjzQjCiHCw=="],
|
||||
|
||||
"@nodelib/fs.scandir": ["@nodelib/fs.scandir@2.1.5", "", { "dependencies": { "@nodelib/fs.stat": "2.0.5", "run-parallel": "^1.1.9" } }, "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g=="],
|
||||
|
||||
"@nodelib/fs.stat": ["@nodelib/fs.stat@2.0.5", "", {}, "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A=="],
|
||||
|
||||
"@nodelib/fs.walk": ["@nodelib/fs.walk@1.2.8", "", { "dependencies": { "@nodelib/fs.scandir": "2.1.5", "fastq": "^1.6.0" } }, "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg=="],
|
||||
|
||||
"@pkgjs/parseargs": ["@pkgjs/parseargs@0.11.0", "", {}, "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg=="],
|
||||
|
||||
"@tediousjs/connection-string": ["@tediousjs/connection-string@0.5.0", "", {}, "sha512-7qSgZbincDDDFyRweCIEvZULFAw5iz/DeunhvuxpL31nfntX3P4Yd4HkHBRg9H8CdqY1e5WFN1PZIz/REL9MVQ=="],
|
||||
|
||||
"@types/bun": ["@types/bun@1.3.5", "", { "dependencies": { "bun-types": "1.3.5" } }, "sha512-RnygCqNrd3srIPEWBd5LFeUYG7plCoH2Yw9WaZGyNmdTEei+gWaHqydbaIRkIkcbXwhBT94q78QljxN0Sk838w=="],
|
||||
|
||||
"@types/estree": ["@types/estree@1.0.8", "", {}, "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w=="],
|
||||
|
||||
"@types/json-schema": ["@types/json-schema@7.0.15", "", {}, "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA=="],
|
||||
|
||||
"@types/mssql": ["@types/mssql@9.1.8", "", { "dependencies": { "@types/node": "*", "tarn": "^3.0.1", "tedious": "*" } }, "sha512-mt9h5jWj+DYE5jxnKaWSV/GqDf9FV52XYVk6T3XZF69noEe+JJV6MKirii48l81+cjmAkSq+qeKX+k61fHkYrQ=="],
|
||||
|
||||
"@types/node": ["@types/node@25.0.3", "", { "dependencies": { "undici-types": "~7.16.0" } }, "sha512-W609buLVRVmeW693xKfzHeIV6nJGGz98uCPfeXI1ELMLXVeKYZ9m15fAMSaUPBHYLGFsVRcMmSCksQOrZV9BYA=="],
|
||||
|
||||
"@types/qrcode": ["@types/qrcode@1.5.6", "", { "dependencies": { "@types/node": "*" } }, "sha512-te7NQcV2BOvdj2b1hCAHzAoMNuj65kNBMz0KBaxM6c3VGBOhU0dURQKOtH8CFNI/dsKkwlv32p26qYQTWoB5bw=="],
|
||||
|
||||
"@types/readable-stream": ["@types/readable-stream@4.0.23", "", { "dependencies": { "@types/node": "*" } }, "sha512-wwXrtQvbMHxCbBgjHaMGEmImFTQxxpfMOR/ZoQnXxB1woqkUbdLGFDgauo00Py9IudiaqSeiBiulSV9i6XIPig=="],
|
||||
|
||||
"@types/ws": ["@types/ws@8.18.1", "", { "dependencies": { "@types/node": "*" } }, "sha512-ThVF6DCVhA8kUGy+aazFQ4kXQ7E1Ty7A3ypFOe0IcJV8O/M511G99AW24irKrW56Wt44yG9+ij8FaqoBGkuBXg=="],
|
||||
|
||||
"@typescript-eslint/eslint-plugin": ["@typescript-eslint/eslint-plugin@8.46.3", "", { "dependencies": { "@eslint-community/regexpp": "^4.10.0", "@typescript-eslint/scope-manager": "8.46.3", "@typescript-eslint/type-utils": "8.46.3", "@typescript-eslint/utils": "8.46.3", "@typescript-eslint/visitor-keys": "8.46.3", "graphemer": "^1.4.0", "ignore": "^7.0.0", "natural-compare": "^1.4.0", "ts-api-utils": "^2.1.0" }, "peerDependencies": { "@typescript-eslint/parser": "^8.46.3", "eslint": "^8.57.0 || ^9.0.0", "typescript": ">=4.8.4 <6.0.0" } }, "sha512-sbaQ27XBUopBkRiuY/P9sWGOWUW4rl8fDoHIUmLpZd8uldsTyB4/Zg6bWTegPoTLnKj9Hqgn3QD6cjPNB32Odw=="],
|
||||
|
||||
"@typescript-eslint/parser": ["@typescript-eslint/parser@8.46.3", "", { "dependencies": { "@typescript-eslint/scope-manager": "8.46.3", "@typescript-eslint/types": "8.46.3", "@typescript-eslint/typescript-estree": "8.46.3", "@typescript-eslint/visitor-keys": "8.46.3", "debug": "^4.3.4" }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0", "typescript": ">=4.8.4 <6.0.0" } }, "sha512-6m1I5RmHBGTnUGS113G04DMu3CpSdxCAU/UvtjNWL4Nuf3MW9tQhiJqRlHzChIkhy6kZSAQmc+I1bcGjE3yNKg=="],
|
||||
|
||||
"@typescript-eslint/project-service": ["@typescript-eslint/project-service@8.46.3", "", { "dependencies": { "@typescript-eslint/tsconfig-utils": "^8.46.3", "@typescript-eslint/types": "^8.46.3", "debug": "^4.3.4" }, "peerDependencies": { "typescript": ">=4.8.4 <6.0.0" } }, "sha512-Fz8yFXsp2wDFeUElO88S9n4w1I4CWDTXDqDr9gYvZgUpwXQqmZBr9+NTTql5R3J7+hrJZPdpiWaB9VNhAKYLuQ=="],
|
||||
|
||||
"@typescript-eslint/scope-manager": ["@typescript-eslint/scope-manager@8.46.3", "", { "dependencies": { "@typescript-eslint/types": "8.46.3", "@typescript-eslint/visitor-keys": "8.46.3" } }, "sha512-FCi7Y1zgrmxp3DfWfr+3m9ansUUFoy8dkEdeQSgA9gbm8DaHYvZCdkFRQrtKiedFf3Ha6VmoqoAaP68+i+22kg=="],
|
||||
|
||||
"@typescript-eslint/tsconfig-utils": ["@typescript-eslint/tsconfig-utils@8.46.3", "", { "peerDependencies": { "typescript": ">=4.8.4 <6.0.0" } }, "sha512-GLupljMniHNIROP0zE7nCcybptolcH8QZfXOpCfhQDAdwJ/ZTlcaBOYebSOZotpti/3HrHSw7D3PZm75gYFsOA=="],
|
||||
|
||||
"@typescript-eslint/type-utils": ["@typescript-eslint/type-utils@8.46.3", "", { "dependencies": { "@typescript-eslint/types": "8.46.3", "@typescript-eslint/typescript-estree": "8.46.3", "@typescript-eslint/utils": "8.46.3", "debug": "^4.3.4", "ts-api-utils": "^2.1.0" }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0", "typescript": ">=4.8.4 <6.0.0" } }, "sha512-ZPCADbr+qfz3aiTTYNNkCbUt+cjNwI/5McyANNrFBpVxPt7GqpEYz5ZfdwuFyGUnJ9FdDXbGODUu6iRCI6XRXw=="],
|
||||
|
||||
"@typescript-eslint/types": ["@typescript-eslint/types@8.46.3", "", {}, "sha512-G7Ok9WN/ggW7e/tOf8TQYMaxgID3Iujn231hfi0Pc7ZheztIJVpO44ekY00b7akqc6nZcvregk0Jpah3kep6hA=="],
|
||||
|
||||
"@typescript-eslint/typescript-estree": ["@typescript-eslint/typescript-estree@8.46.3", "", { "dependencies": { "@typescript-eslint/project-service": "8.46.3", "@typescript-eslint/tsconfig-utils": "8.46.3", "@typescript-eslint/types": "8.46.3", "@typescript-eslint/visitor-keys": "8.46.3", "debug": "^4.3.4", "fast-glob": "^3.3.2", "is-glob": "^4.0.3", "minimatch": "^9.0.4", "semver": "^7.6.0", "ts-api-utils": "^2.1.0" }, "peerDependencies": { "typescript": ">=4.8.4 <6.0.0" } }, "sha512-f/NvtRjOm80BtNM5OQtlaBdM5BRFUv7gf381j9wygDNL+qOYSNOgtQ/DCndiYi80iIOv76QqaTmp4fa9hwI0OA=="],
|
||||
|
||||
"@typescript-eslint/utils": ["@typescript-eslint/utils@8.46.3", "", { "dependencies": { "@eslint-community/eslint-utils": "^4.7.0", "@typescript-eslint/scope-manager": "8.46.3", "@typescript-eslint/types": "8.46.3", "@typescript-eslint/typescript-estree": "8.46.3" }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0", "typescript": ">=4.8.4 <6.0.0" } }, "sha512-VXw7qmdkucEx9WkmR3ld/u6VhRyKeiF1uxWwCy/iuNfokjJ7VhsgLSOTjsol8BunSw190zABzpwdNsze2Kpo4g=="],
|
||||
|
||||
"@typescript-eslint/visitor-keys": ["@typescript-eslint/visitor-keys@8.46.3", "", { "dependencies": { "@typescript-eslint/types": "8.46.3", "eslint-visitor-keys": "^4.2.1" } }, "sha512-uk574k8IU0rOF/AjniX8qbLSGURJVUCeM5e4MIMKBFFi8weeiLrG1fyQejyLXQpRZbU/1BuQasleV/RfHC3hHg=="],
|
||||
|
||||
"@typespec/ts-http-runtime": ["@typespec/ts-http-runtime@0.3.2", "", { "dependencies": { "http-proxy-agent": "^7.0.0", "https-proxy-agent": "^7.0.0", "tslib": "^2.6.2" } }, "sha512-IlqQ/Gv22xUC1r/WQm4StLkYQmaaTsXAhUVsNE0+xiyf0yRFiH5++q78U3bw6bLKDCTmh0uqKB9eG9+Bt75Dkg=="],
|
||||
|
||||
"abort-controller": ["abort-controller@3.0.0", "", { "dependencies": { "event-target-shim": "^5.0.0" } }, "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg=="],
|
||||
|
||||
"acorn": ["acorn@8.15.0", "", { "bin": { "acorn": "bin/acorn" } }, "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg=="],
|
||||
|
||||
"acorn-jsx": ["acorn-jsx@5.3.2", "", { "peerDependencies": { "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ=="],
|
||||
|
||||
"agent-base": ["agent-base@7.1.4", "", {}, "sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ=="],
|
||||
|
||||
"ajv": ["ajv@6.12.6", "", { "dependencies": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", "json-schema-traverse": "^0.4.1", "uri-js": "^4.2.2" } }, "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g=="],
|
||||
|
||||
"ansi-regex": ["ansi-regex@5.0.1", "", {}, "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="],
|
||||
|
||||
"ansi-styles": ["ansi-styles@4.3.0", "", { "dependencies": { "color-convert": "^2.0.1" } }, "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg=="],
|
||||
|
||||
"argparse": ["argparse@2.0.1", "", {}, "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q=="],
|
||||
|
||||
"asynckit": ["asynckit@0.4.0", "", {}, "sha1-x57Zf380y48robyXkLzDZkdLS3k="],
|
||||
|
||||
"axios": ["axios@1.13.2", "", { "dependencies": { "follow-redirects": "^1.15.6", "form-data": "^4.0.4", "proxy-from-env": "^1.1.0" } }, "sha512-VPk9ebNqPcy5lRGuSlKx752IlDatOjT9paPlm8A7yOuW2Fbvp4X3JznJtT4f0GzGLLiWE9W8onz51SqLYwzGaA=="],
|
||||
|
||||
"balanced-match": ["balanced-match@1.0.2", "", {}, "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="],
|
||||
|
||||
"base64-js": ["base64-js@1.5.1", "", {}, "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA=="],
|
||||
|
||||
"bignumber.js": ["bignumber.js@9.3.1", "", {}, "sha512-Ko0uX15oIUS7wJ3Rb30Fs6SkVbLmPBAKdlm7q9+ak9bbIeFf0MwuBsQV6z7+X768/cHsfg+WlysDWJcmthjsjQ=="],
|
||||
|
||||
"bl": ["bl@6.1.6", "", { "dependencies": { "@types/readable-stream": "^4.0.0", "buffer": "^6.0.3", "inherits": "^2.0.4", "readable-stream": "^4.2.0" } }, "sha512-jLsPgN/YSvPUg9UX0Kd73CXpm2Psg9FxMeCSXnk3WBO3CMT10JMwijubhGfHCnFu6TPn1ei3b975dxv7K2pWVg=="],
|
||||
|
||||
"brace-expansion": ["brace-expansion@1.1.12", "", { "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg=="],
|
||||
|
||||
"braces": ["braces@3.0.3", "", { "dependencies": { "fill-range": "^7.1.1" } }, "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA=="],
|
||||
|
||||
"buffer": ["buffer@6.0.3", "", { "dependencies": { "base64-js": "^1.3.1", "ieee754": "^1.2.1" } }, "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA=="],
|
||||
|
||||
"buffer-equal-constant-time": ["buffer-equal-constant-time@1.0.1", "", {}, "sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA=="],
|
||||
|
||||
"buffer-from": ["buffer-from@1.1.2", "", {}, "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ=="],
|
||||
|
||||
"bun-types": ["bun-types@1.3.5", "", { "dependencies": { "@types/node": "*" } }, "sha512-inmAYe2PFLs0SUbFOWSVD24sg1jFlMPxOjOSSCYqUgn4Hsc3rDc7dFvfVYjFPNHtov6kgUeulV4SxbuIV/stPw=="],
|
||||
|
||||
"bundle-name": ["bundle-name@4.1.0", "", { "dependencies": { "run-applescript": "^7.0.0" } }, "sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q=="],
|
||||
|
||||
"call-bind-apply-helpers": ["call-bind-apply-helpers@1.0.2", "", { "dependencies": { "es-errors": "^1.3.0", "function-bind": "^1.1.2" } }, "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ=="],
|
||||
|
||||
"callsites": ["callsites@3.1.0", "", {}, "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ=="],
|
||||
|
||||
"camelcase": ["camelcase@5.3.1", "", {}, "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg=="],
|
||||
|
||||
"chalk": ["chalk@4.1.2", "", { "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" } }, "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA=="],
|
||||
|
||||
"cliui": ["cliui@6.0.0", "", { "dependencies": { "string-width": "^4.2.0", "strip-ansi": "^6.0.0", "wrap-ansi": "^6.2.0" } }, "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ=="],
|
||||
|
||||
"color-convert": ["color-convert@2.0.1", "", { "dependencies": { "color-name": "~1.1.4" } }, "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ=="],
|
||||
|
||||
"color-name": ["color-name@1.1.4", "", {}, "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="],
|
||||
|
||||
"combined-stream": ["combined-stream@1.0.8", "", { "dependencies": { "delayed-stream": "~1.0.0" } }, "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg=="],
|
||||
|
||||
"commander": ["commander@11.1.0", "", {}, "sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ=="],
|
||||
|
||||
"concat-map": ["concat-map@0.0.1", "", {}, "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg=="],
|
||||
|
||||
"cross-spawn": ["cross-spawn@7.0.6", "", { "dependencies": { "path-key": "^3.1.0", "shebang-command": "^2.0.0", "which": "^2.0.1" } }, "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA=="],
|
||||
|
||||
"data-uri-to-buffer": ["data-uri-to-buffer@4.0.1", "", {}, "sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A=="],
|
||||
|
||||
"debug": ["debug@4.4.3", "", { "dependencies": { "ms": "^2.1.3" } }, "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA=="],
|
||||
|
||||
"decamelize": ["decamelize@1.2.0", "", {}, "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA=="],
|
||||
|
||||
"deep-is": ["deep-is@0.1.4", "", {}, "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ=="],
|
||||
|
||||
"default-browser": ["default-browser@5.4.0", "", { "dependencies": { "bundle-name": "^4.1.0", "default-browser-id": "^5.0.0" } }, "sha512-XDuvSq38Hr1MdN47EDvYtx3U0MTqpCEn+F6ft8z2vYDzMrvQhVp0ui9oQdqW3MvK3vqUETglt1tVGgjLuJ5izg=="],
|
||||
|
||||
"default-browser-id": ["default-browser-id@5.0.1", "", {}, "sha512-x1VCxdX4t+8wVfd1so/9w+vQ4vx7lKd2Qp5tDRutErwmR85OgmfX7RlLRMWafRMY7hbEiXIbudNrjOAPa/hL8Q=="],
|
||||
|
||||
"define-lazy-prop": ["define-lazy-prop@3.0.0", "", {}, "sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg=="],
|
||||
|
||||
"delayed-stream": ["delayed-stream@1.0.0", "", {}, "sha1-3zrhmayt+31ECqrgsp4icrJOxhk="],
|
||||
|
||||
"detect-libc": ["detect-libc@2.1.2", "", {}, "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ=="],
|
||||
|
||||
"dijkstrajs": ["dijkstrajs@1.0.3", "", {}, "sha512-qiSlmBq9+BCdCA/L46dw8Uy93mloxsPSbwnm5yrKn2vMPiy8KyAskTF6zuV/j5BMsmOGZDPs7KjU+mjb670kfA=="],
|
||||
|
||||
"dotenv": ["dotenv@17.2.3", "", {}, "sha512-JVUnt+DUIzu87TABbhPmNfVdBDt18BLOWjMUFJMSi/Qqg7NTYtabbvSNJGOJ7afbRuv9D/lngizHtP7QyLQ+9w=="],
|
||||
|
||||
"drizzle-kit": ["drizzle-kit@0.31.8", "", { "dependencies": { "@drizzle-team/brocli": "^0.10.2", "@esbuild-kit/esm-loader": "^2.5.5", "esbuild": "^0.25.4", "esbuild-register": "^3.5.0" }, "bin": { "drizzle-kit": "bin.cjs" } }, "sha512-O9EC/miwdnRDY10qRxM8P3Pg8hXe3LyU4ZipReKOgTwn4OqANmftj8XJz1UPUAS6NMHf0E2htjsbQujUTkncCg=="],
|
||||
|
||||
"drizzle-orm": ["drizzle-orm@1.0.0-beta.9-e89174b", "", { "peerDependencies": { "@aws-sdk/client-rds-data": ">=3", "@cloudflare/workers-types": ">=4", "@effect/sql": "^0.48.5", "@effect/sql-pg": "^0.49.7", "@electric-sql/pglite": ">=0.2.0", "@libsql/client": ">=0.10.0", "@libsql/client-wasm": ">=0.10.0", "@neondatabase/serverless": ">=0.10.0", "@op-engineering/op-sqlite": ">=2", "@opentelemetry/api": "^1.4.1", "@planetscale/database": ">=1.13", "@prisma/client": "*", "@sqlitecloud/drivers": ">=1.0.653", "@tidbcloud/serverless": "*", "@tursodatabase/database": ">=0.2.1", "@tursodatabase/database-common": ">=0.2.1", "@tursodatabase/database-wasm": ">=0.2.1", "@types/better-sqlite3": "*", "@types/mssql": "^9.1.4", "@types/pg": "*", "@types/sql.js": "*", "@upstash/redis": ">=1.34.7", "@vercel/postgres": ">=0.8.0", "@xata.io/client": "*", "better-sqlite3": ">=9.3.0", "bun-types": "*", "expo-sqlite": ">=14.0.0", "gel": ">=2", "mssql": "^11.0.1", "mysql2": ">=2", "pg": ">=8", "postgres": ">=3", "sql.js": ">=1", "sqlite3": ">=5" }, "optionalPeers": ["@aws-sdk/client-rds-data", "@cloudflare/workers-types", "@effect/sql", "@effect/sql-pg", "@electric-sql/pglite", "@libsql/client", "@libsql/client-wasm", "@neondatabase/serverless", "@op-engineering/op-sqlite", "@opentelemetry/api", "@planetscale/database", "@prisma/client", "@sqlitecloud/drivers", "@tidbcloud/serverless", "@tursodatabase/database", "@tursodatabase/database-common", "@tursodatabase/database-wasm", "@types/better-sqlite3", "@types/pg", "@types/sql.js", "@upstash/redis", "@vercel/postgres", "@xata.io/client", "better-sqlite3", "bun-types", "expo-sqlite", "gel", "mysql2", "pg", "postgres", "sql.js", "sqlite3"] }, "sha512-B5KR/qYMZ0JMOurK+0xi1ObpOQcgrjaC9wHUiU2eTJjLemuh2CoQIw6yur68NxZG6Xcd0b9qghUNC/78/bEfbg=="],
|
||||
|
||||
"dunder-proto": ["dunder-proto@1.0.1", "", { "dependencies": { "call-bind-apply-helpers": "^1.0.1", "es-errors": "^1.3.0", "gopd": "^1.2.0" } }, "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A=="],
|
||||
|
||||
"eastasianwidth": ["eastasianwidth@0.2.0", "", {}, "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA=="],
|
||||
|
||||
"ecdsa-sig-formatter": ["ecdsa-sig-formatter@1.0.11", "", { "dependencies": { "safe-buffer": "^5.0.1" } }, "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ=="],
|
||||
|
||||
"emoji-regex": ["emoji-regex@10.6.0", "", {}, "sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A=="],
|
||||
|
||||
"es-define-property": ["es-define-property@1.0.1", "", {}, "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g=="],
|
||||
|
||||
"es-errors": ["es-errors@1.3.0", "", {}, "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw=="],
|
||||
|
||||
"es-object-atoms": ["es-object-atoms@1.1.1", "", { "dependencies": { "es-errors": "^1.3.0" } }, "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA=="],
|
||||
|
||||
"es-set-tostringtag": ["es-set-tostringtag@2.1.0", "", { "dependencies": { "es-errors": "^1.3.0", "get-intrinsic": "^1.2.6", "has-tostringtag": "^1.0.2", "hasown": "^2.0.2" } }, "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA=="],
|
||||
|
||||
"esbuild": ["esbuild@0.25.12", "", { "optionalDependencies": { "@esbuild/aix-ppc64": "0.25.12", "@esbuild/android-arm": "0.25.12", "@esbuild/android-arm64": "0.25.12", "@esbuild/android-x64": "0.25.12", "@esbuild/darwin-arm64": "0.25.12", "@esbuild/darwin-x64": "0.25.12", "@esbuild/freebsd-arm64": "0.25.12", "@esbuild/freebsd-x64": "0.25.12", "@esbuild/linux-arm": "0.25.12", "@esbuild/linux-arm64": "0.25.12", "@esbuild/linux-ia32": "0.25.12", "@esbuild/linux-loong64": "0.25.12", "@esbuild/linux-mips64el": "0.25.12", "@esbuild/linux-ppc64": "0.25.12", "@esbuild/linux-riscv64": "0.25.12", "@esbuild/linux-s390x": "0.25.12", "@esbuild/linux-x64": "0.25.12", "@esbuild/netbsd-arm64": "0.25.12", "@esbuild/netbsd-x64": "0.25.12", "@esbuild/openbsd-arm64": "0.25.12", "@esbuild/openbsd-x64": "0.25.12", "@esbuild/openharmony-arm64": "0.25.12", "@esbuild/sunos-x64": "0.25.12", "@esbuild/win32-arm64": "0.25.12", "@esbuild/win32-ia32": "0.25.12", "@esbuild/win32-x64": "0.25.12" }, "bin": { "esbuild": "bin/esbuild" } }, "sha512-bbPBYYrtZbkt6Os6FiTLCTFxvq4tt3JKall1vRwshA3fdVztsLAatFaZobhkBC8/BrPetoa0oksYoKXoG4ryJg=="],
|
||||
|
||||
"esbuild-register": ["esbuild-register@3.6.0", "", { "dependencies": { "debug": "^4.3.4" }, "peerDependencies": { "esbuild": ">=0.12 <1" } }, "sha512-H2/S7Pm8a9CL1uhp9OvjwrBh5Pvx0H8qVOxNu8Wed9Y7qv56MPtq+GGM8RJpq6glYJn9Wspr8uw7l55uyinNeg=="],
|
||||
|
||||
"escape-string-regexp": ["escape-string-regexp@4.0.0", "", {}, "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA=="],
|
||||
|
||||
"eslint": ["eslint@9.39.1", "", { "dependencies": { "@eslint-community/eslint-utils": "^4.8.0", "@eslint-community/regexpp": "^4.12.1", "@eslint/config-array": "^0.21.1", "@eslint/config-helpers": "^0.4.2", "@eslint/core": "^0.17.0", "@eslint/eslintrc": "^3.3.1", "@eslint/js": "9.39.1", "@eslint/plugin-kit": "^0.4.1", "@humanfs/node": "^0.16.6", "@humanwhocodes/module-importer": "^1.0.1", "@humanwhocodes/retry": "^0.4.2", "@types/estree": "^1.0.6", "ajv": "^6.12.4", "chalk": "^4.0.0", "cross-spawn": "^7.0.6", "debug": "^4.3.2", "escape-string-regexp": "^4.0.0", "eslint-scope": "^8.4.0", "eslint-visitor-keys": "^4.2.1", "espree": "^10.4.0", "esquery": "^1.5.0", "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", "file-entry-cache": "^8.0.0", "find-up": "^5.0.0", "glob-parent": "^6.0.2", "ignore": "^5.2.0", "imurmurhash": "^0.1.4", "is-glob": "^4.0.0", "json-stable-stringify-without-jsonify": "^1.0.1", "lodash.merge": "^4.6.2", "minimatch": "^3.1.2", "natural-compare": "^1.4.0", "optionator": "^0.9.3" }, "peerDependencies": { "jiti": "*" }, "optionalPeers": ["jiti"], "bin": { "eslint": "bin/eslint.js" } }, "sha512-BhHmn2yNOFA9H9JmmIVKJmd288g9hrVRDkdoIgRCRuSySRUHH7r/DI6aAXW9T1WwUuY3DFgrcaqB+deURBLR5g=="],
|
||||
|
||||
"eslint-scope": ["eslint-scope@8.4.0", "", { "dependencies": { "esrecurse": "^4.3.0", "estraverse": "^5.2.0" } }, "sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg=="],
|
||||
|
||||
"eslint-visitor-keys": ["eslint-visitor-keys@4.2.1", "", {}, "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ=="],
|
||||
|
||||
"espree": ["espree@10.4.0", "", { "dependencies": { "acorn": "^8.15.0", "acorn-jsx": "^5.3.2", "eslint-visitor-keys": "^4.2.1" } }, "sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ=="],
|
||||
|
||||
"esquery": ["esquery@1.6.0", "", { "dependencies": { "estraverse": "^5.1.0" } }, "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg=="],
|
||||
|
||||
"esrecurse": ["esrecurse@4.3.0", "", { "dependencies": { "estraverse": "^5.2.0" } }, "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag=="],
|
||||
|
||||
"estraverse": ["estraverse@5.3.0", "", {}, "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA=="],
|
||||
|
||||
"esutils": ["esutils@2.0.3", "", {}, "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g=="],
|
||||
|
||||
"event-target-shim": ["event-target-shim@5.0.1", "", {}, "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ=="],
|
||||
|
||||
"events": ["events@3.3.0", "", {}, "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q=="],
|
||||
|
||||
"extend": ["extend@3.0.2", "", {}, "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g=="],
|
||||
|
||||
"fast-deep-equal": ["fast-deep-equal@3.1.3", "", {}, "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q=="],
|
||||
|
||||
"fast-glob": ["fast-glob@3.3.3", "", { "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.8" } }, "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg=="],
|
||||
|
||||
"fast-json-stable-stringify": ["fast-json-stable-stringify@2.1.0", "", {}, "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw=="],
|
||||
|
||||
"fast-levenshtein": ["fast-levenshtein@2.0.6", "", {}, "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw=="],
|
||||
|
||||
"fastq": ["fastq@1.19.1", "", { "dependencies": { "reusify": "^1.0.4" } }, "sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ=="],
|
||||
|
||||
"fetch-blob": ["fetch-blob@3.2.0", "", { "dependencies": { "node-domexception": "^1.0.0", "web-streams-polyfill": "^3.0.3" } }, "sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ=="],
|
||||
|
||||
"file-entry-cache": ["file-entry-cache@8.0.0", "", { "dependencies": { "flat-cache": "^4.0.0" } }, "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ=="],
|
||||
|
||||
"fill-range": ["fill-range@7.1.1", "", { "dependencies": { "to-regex-range": "^5.0.1" } }, "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg=="],
|
||||
|
||||
"find-up": ["find-up@5.0.0", "", { "dependencies": { "locate-path": "^6.0.0", "path-exists": "^4.0.0" } }, "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng=="],
|
||||
|
||||
"flat-cache": ["flat-cache@4.0.1", "", { "dependencies": { "flatted": "^3.2.9", "keyv": "^4.5.4" } }, "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw=="],
|
||||
|
||||
"flatted": ["flatted@3.3.3", "", {}, "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg=="],
|
||||
|
||||
"follow-redirects": ["follow-redirects@1.15.11", "", {}, "sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ=="],
|
||||
|
||||
"foreground-child": ["foreground-child@3.3.1", "", { "dependencies": { "cross-spawn": "^7.0.6", "signal-exit": "^4.0.1" } }, "sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw=="],
|
||||
|
||||
"form-data": ["form-data@4.0.5", "", { "dependencies": { "asynckit": "^0.4.0", "combined-stream": "^1.0.8", "es-set-tostringtag": "^2.1.0", "hasown": "^2.0.2", "mime-types": "^2.1.12" } }, "sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w=="],
|
||||
|
||||
"formdata-polyfill": ["formdata-polyfill@4.0.10", "", { "dependencies": { "fetch-blob": "^3.1.2" } }, "sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g=="],
|
||||
|
||||
"fs-extra": ["fs-extra@8.1.0", "", { "dependencies": { "graceful-fs": "^4.2.0", "jsonfile": "^4.0.0", "universalify": "^0.1.0" } }, "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g=="],
|
||||
|
||||
"fsevents": ["fsevents@2.3.3", "", { "os": "darwin" }, "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw=="],
|
||||
|
||||
"function-bind": ["function-bind@1.1.2", "", {}, "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA=="],
|
||||
|
||||
"gaxios": ["gaxios@7.1.3", "", { "dependencies": { "extend": "^3.0.2", "https-proxy-agent": "^7.0.1", "node-fetch": "^3.3.2", "rimraf": "^5.0.1" } }, "sha512-YGGyuEdVIjqxkxVH1pUTMY/XtmmsApXrCVv5EU25iX6inEPbV+VakJfLealkBtJN69AQmh1eGOdCl9Sm1UP6XQ=="],
|
||||
|
||||
"gcp-metadata": ["gcp-metadata@8.1.2", "", { "dependencies": { "gaxios": "^7.0.0", "google-logging-utils": "^1.0.0", "json-bigint": "^1.0.0" } }, "sha512-zV/5HKTfCeKWnxG0Dmrw51hEWFGfcF2xiXqcA3+J90WDuP0SvoiSO5ORvcBsifmx/FoIjgQN3oNOGaQ5PhLFkg=="],
|
||||
|
||||
"get-caller-file": ["get-caller-file@2.0.5", "", {}, "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg=="],
|
||||
|
||||
"get-intrinsic": ["get-intrinsic@1.3.0", "", { "dependencies": { "call-bind-apply-helpers": "^1.0.2", "es-define-property": "^1.0.1", "es-errors": "^1.3.0", "es-object-atoms": "^1.1.1", "function-bind": "^1.1.2", "get-proto": "^1.0.1", "gopd": "^1.2.0", "has-symbols": "^1.1.0", "hasown": "^2.0.2", "math-intrinsics": "^1.1.0" } }, "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ=="],
|
||||
|
||||
"get-proto": ["get-proto@1.0.1", "", { "dependencies": { "dunder-proto": "^1.0.1", "es-object-atoms": "^1.0.0" } }, "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g=="],
|
||||
|
||||
"get-tsconfig": ["get-tsconfig@4.13.0", "", { "dependencies": { "resolve-pkg-maps": "^1.0.0" } }, "sha512-1VKTZJCwBrvbd+Wn3AOgQP/2Av+TfTCOlE4AcRJE72W1ksZXbAx8PPBR9RzgTeSPzlPMHrbANMH3LbltH73wxQ=="],
|
||||
|
||||
"glob": ["glob@10.5.0", "", { "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" } }, "sha512-DfXN8DfhJ7NH3Oe7cFmu3NCu1wKbkReJ8TorzSAFbSKrlNaQSKfIzqYqVY8zlbs2NLBbWpRiU52GX2PbaBVNkg=="],
|
||||
|
||||
"glob-parent": ["glob-parent@6.0.2", "", { "dependencies": { "is-glob": "^4.0.3" } }, "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A=="],
|
||||
|
||||
"globals": ["globals@14.0.0", "", {}, "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ=="],
|
||||
|
||||
"google-auth-library": ["google-auth-library@10.5.0", "", { "dependencies": { "base64-js": "^1.3.0", "ecdsa-sig-formatter": "^1.0.11", "gaxios": "^7.0.0", "gcp-metadata": "^8.0.0", "google-logging-utils": "^1.0.0", "gtoken": "^8.0.0", "jws": "^4.0.0" } }, "sha512-7ABviyMOlX5hIVD60YOfHw4/CxOfBhyduaYB+wbFWCWoni4N7SLcV46hrVRktuBbZjFC9ONyqamZITN7q3n32w=="],
|
||||
|
||||
"google-logging-utils": ["google-logging-utils@1.1.3", "", {}, "sha512-eAmLkjDjAFCVXg7A1unxHsLf961m6y17QFqXqAXGj/gVkKFrEICfStRfwUlGNfeCEjNRa32JEWOUTlYXPyyKvA=="],
|
||||
|
||||
"gopd": ["gopd@1.2.0", "", {}, "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg=="],
|
||||
|
||||
"graceful-fs": ["graceful-fs@4.2.11", "", {}, "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ=="],
|
||||
|
||||
"graphemer": ["graphemer@1.4.0", "", {}, "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag=="],
|
||||
|
||||
"gtoken": ["gtoken@8.0.0", "", { "dependencies": { "gaxios": "^7.0.0", "jws": "^4.0.0" } }, "sha512-+CqsMbHPiSTdtSO14O51eMNlrp9N79gmeqmXeouJOhfucAedHw9noVe/n5uJk3tbKE6a+6ZCQg3RPhVhHByAIw=="],
|
||||
|
||||
"has-flag": ["has-flag@4.0.0", "", {}, "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ=="],
|
||||
|
||||
"has-symbols": ["has-symbols@1.1.0", "", {}, "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ=="],
|
||||
|
||||
"has-tostringtag": ["has-tostringtag@1.0.2", "", { "dependencies": { "has-symbols": "^1.0.3" } }, "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw=="],
|
||||
|
||||
"hasown": ["hasown@2.0.2", "", { "dependencies": { "function-bind": "^1.1.2" } }, "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ=="],
|
||||
|
||||
"http-proxy-agent": ["http-proxy-agent@7.0.2", "", { "dependencies": { "agent-base": "^7.1.0", "debug": "^4.3.4" } }, "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig=="],
|
||||
|
||||
"https-proxy-agent": ["https-proxy-agent@7.0.6", "", { "dependencies": { "agent-base": "^7.1.2", "debug": "4" } }, "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw=="],
|
||||
|
||||
"iconv-lite": ["iconv-lite@0.6.3", "", { "dependencies": { "safer-buffer": ">= 2.1.2 < 3.0.0" } }, "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw=="],
|
||||
|
||||
"ieee754": ["ieee754@1.2.1", "", {}, "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA=="],
|
||||
|
||||
"ignore": ["ignore@7.0.5", "", {}, "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg=="],
|
||||
|
||||
"import-fresh": ["import-fresh@3.3.1", "", { "dependencies": { "parent-module": "^1.0.0", "resolve-from": "^4.0.0" } }, "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ=="],
|
||||
|
||||
"imurmurhash": ["imurmurhash@0.1.4", "", {}, "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA=="],
|
||||
|
||||
"inherits": ["inherits@2.0.4", "", {}, "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="],
|
||||
|
||||
"is-docker": ["is-docker@3.0.0", "", { "bin": { "is-docker": "cli.js" } }, "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ=="],
|
||||
|
||||
"is-extglob": ["is-extglob@2.1.1", "", {}, "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ=="],
|
||||
|
||||
"is-fullwidth-code-point": ["is-fullwidth-code-point@3.0.0", "", {}, "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg=="],
|
||||
|
||||
"is-glob": ["is-glob@4.0.3", "", { "dependencies": { "is-extglob": "^2.1.1" } }, "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg=="],
|
||||
|
||||
"is-inside-container": ["is-inside-container@1.0.0", "", { "dependencies": { "is-docker": "^3.0.0" }, "bin": { "is-inside-container": "cli.js" } }, "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA=="],
|
||||
|
||||
"is-number": ["is-number@7.0.0", "", {}, "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng=="],
|
||||
|
||||
"is-wsl": ["is-wsl@3.1.0", "", { "dependencies": { "is-inside-container": "^1.0.0" } }, "sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw=="],
|
||||
|
||||
"isexe": ["isexe@2.0.0", "", {}, "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw=="],
|
||||
|
||||
"jackspeak": ["jackspeak@3.4.3", "", { "dependencies": { "@isaacs/cliui": "^8.0.2" }, "optionalDependencies": { "@pkgjs/parseargs": "^0.11.0" } }, "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw=="],
|
||||
|
||||
"js-base64": ["js-base64@3.7.8", "", {}, "sha512-hNngCeKxIUQiEUN3GPJOkz4wF/YvdUdbNL9hsBcMQTkKzboD7T/q3OYOuuPZLUE6dBxSGpwhk5mwuDud7JVAow=="],
|
||||
|
||||
"js-md4": ["js-md4@0.3.2", "", {}, "sha512-/GDnfQYsltsjRswQhN9fhv3EMw2sCpUdrdxyWDOUK7eyD++r3gRhzgiQgc/x4MAv2i1iuQ4lxO5mvqM3vj4bwA=="],
|
||||
|
||||
"js-yaml": ["js-yaml@4.1.1", "", { "dependencies": { "argparse": "^2.0.1" }, "bin": { "js-yaml": "bin/js-yaml.js" } }, "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA=="],
|
||||
|
||||
"json-bigint": ["json-bigint@1.0.0", "", { "dependencies": { "bignumber.js": "^9.0.0" } }, "sha512-SiPv/8VpZuWbvLSMtTDU8hEfrZWg/mH/nV/b4o0CYbSxu1UIQPLdwKOCIyLQX+VIPO5vrLX3i8qtqFyhdPSUSQ=="],
|
||||
|
||||
"json-buffer": ["json-buffer@3.0.1", "", {}, "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ=="],
|
||||
|
||||
"json-schema-traverse": ["json-schema-traverse@0.4.1", "", {}, "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg=="],
|
||||
|
||||
"json-stable-stringify-without-jsonify": ["json-stable-stringify-without-jsonify@1.0.1", "", {}, "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw=="],
|
||||
|
||||
"jsonfile": ["jsonfile@5.0.0", "", { "dependencies": { "universalify": "^0.1.2" }, "optionalDependencies": { "graceful-fs": "^4.1.6" } }, "sha512-NQRZ5CRo74MhMMC3/3r5g2k4fjodJ/wh8MxjFbCViWKFjxrnudWSY5vomh+23ZaXzAS7J3fBZIR2dV6WbmfM0w=="],
|
||||
|
||||
"jsonwebtoken": ["jsonwebtoken@9.0.3", "", { "dependencies": { "jws": "^4.0.1", "lodash.includes": "^4.3.0", "lodash.isboolean": "^3.0.3", "lodash.isinteger": "^4.0.4", "lodash.isnumber": "^3.0.3", "lodash.isplainobject": "^4.0.6", "lodash.isstring": "^4.0.1", "lodash.once": "^4.0.0", "ms": "^2.1.1", "semver": "^7.5.4" } }, "sha512-MT/xP0CrubFRNLNKvxJ2BYfy53Zkm++5bX9dtuPbqAeQpTVe0MQTFhao8+Cp//EmJp244xt6Drw/GVEGCUj40g=="],
|
||||
|
||||
"jwa": ["jwa@2.0.1", "", { "dependencies": { "buffer-equal-constant-time": "^1.0.1", "ecdsa-sig-formatter": "1.0.11", "safe-buffer": "^5.0.1" } }, "sha512-hRF04fqJIP8Abbkq5NKGN0Bbr3JxlQ+qhZufXVr0DvujKy93ZCbXZMHDL4EOtodSbCWxOqR8MS1tXA5hwqCXDg=="],
|
||||
|
||||
"jws": ["jws@4.0.1", "", { "dependencies": { "jwa": "^2.0.1", "safe-buffer": "^5.0.1" } }, "sha512-EKI/M/yqPncGUUh44xz0PxSidXFr/+r0pA70+gIYhjv+et7yxM+s29Y+VGDkovRofQem0fs7Uvf4+YmAdyRduA=="],
|
||||
|
||||
"keyv": ["keyv@4.5.4", "", { "dependencies": { "json-buffer": "3.0.1" } }, "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw=="],
|
||||
|
||||
"levn": ["levn@0.4.1", "", { "dependencies": { "prelude-ls": "^1.2.1", "type-check": "~0.4.0" } }, "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ=="],
|
||||
|
||||
"libsql": ["libsql@0.5.22", "", { "dependencies": { "@neon-rs/load": "^0.0.4", "detect-libc": "2.0.2" }, "optionalDependencies": { "@libsql/darwin-arm64": "0.5.22", "@libsql/darwin-x64": "0.5.22", "@libsql/linux-arm-gnueabihf": "0.5.22", "@libsql/linux-arm-musleabihf": "0.5.22", "@libsql/linux-arm64-gnu": "0.5.22", "@libsql/linux-arm64-musl": "0.5.22", "@libsql/linux-x64-gnu": "0.5.22", "@libsql/linux-x64-musl": "0.5.22", "@libsql/win32-x64-msvc": "0.5.22" }, "os": [ "linux", "win32", "darwin", ], "cpu": [ "arm", "x64", "arm64", ] }, "sha512-NscWthMQt7fpU8lqd7LXMvT9pi+KhhmTHAJWUB/Lj6MWa0MKFv0F2V4C6WKKpjCVZl0VwcDz4nOI3CyaT1DDiA=="],
|
||||
|
||||
"locate-path": ["locate-path@6.0.0", "", { "dependencies": { "p-locate": "^5.0.0" } }, "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw=="],
|
||||
|
||||
"lodash.includes": ["lodash.includes@4.3.0", "", {}, "sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w=="],
|
||||
|
||||
"lodash.isboolean": ["lodash.isboolean@3.0.3", "", {}, "sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg=="],
|
||||
|
||||
"lodash.isinteger": ["lodash.isinteger@4.0.4", "", {}, "sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA=="],
|
||||
|
||||
"lodash.isnumber": ["lodash.isnumber@3.0.3", "", {}, "sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw=="],
|
||||
|
||||
"lodash.isplainobject": ["lodash.isplainobject@4.0.6", "", {}, "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA=="],
|
||||
|
||||
"lodash.isstring": ["lodash.isstring@4.0.1", "", {}, "sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw=="],
|
||||
|
||||
"lodash.merge": ["lodash.merge@4.6.2", "", {}, "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ=="],
|
||||
|
||||
"lodash.once": ["lodash.once@4.1.1", "", {}, "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg=="],
|
||||
|
||||
"lru-cache": ["lru-cache@10.4.3", "", {}, "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ=="],
|
||||
|
||||
"math-intrinsics": ["math-intrinsics@1.1.0", "", {}, "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g=="],
|
||||
|
||||
"merge2": ["merge2@1.4.1", "", {}, "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg=="],
|
||||
|
||||
"micromatch": ["micromatch@4.0.8", "", { "dependencies": { "braces": "^3.0.3", "picomatch": "^2.3.1" } }, "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA=="],
|
||||
|
||||
"mime-db": ["mime-db@1.46.0", "", {}, "sha512-svXaP8UQRZ5K7or+ZmfNhg2xX3yKDMUzqadsSqi4NCH/KomcH75MAMYAGVlvXn4+b/xOPhS3I2uHKRUzvjY7BQ=="],
|
||||
|
||||
"mime-types": ["mime-types@2.1.29", "", { "dependencies": { "mime-db": "1.46.0" } }, "sha512-Y/jMt/S5sR9OaqteJtslsFZKWOIIqMACsJSiHghlCAyhf7jfVYjKBmLiX8OgpWeW+fjJ2b+Az69aPFPkUOY6xQ=="],
|
||||
|
||||
"minimatch": ["minimatch@3.1.2", "", { "dependencies": { "brace-expansion": "^1.1.7" } }, "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw=="],
|
||||
|
||||
"minipass": ["minipass@7.1.2", "", {}, "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw=="],
|
||||
|
||||
"ms": ["ms@2.1.3", "", {}, "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="],
|
||||
|
||||
"mssql": ["mssql@11.0.1", "", { "dependencies": { "@tediousjs/connection-string": "^0.5.0", "commander": "^11.0.0", "debug": "^4.3.3", "rfdc": "^1.3.0", "tarn": "^3.0.2", "tedious": "^18.2.1" }, "bin": { "mssql": "bin/mssql" } }, "sha512-KlGNsugoT90enKlR8/G36H0kTxPthDhmtNUCwEHvgRza5Cjpjoj+P2X6eMpFUDN7pFrJZsKadL4x990G8RBE1w=="],
|
||||
|
||||
"native-duplexpair": ["native-duplexpair@1.0.0", "", {}, "sha512-E7QQoM+3jvNtlmyfqRZ0/U75VFgCls+fSkbml2MpgWkWyz3ox8Y58gNhfuziuQYGNNQAbFZJQck55LHCnCK6CA=="],
|
||||
|
||||
"natural-compare": ["natural-compare@1.4.0", "", {}, "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw=="],
|
||||
|
||||
"node-domexception": ["node-domexception@1.0.0", "", {}, "sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ=="],
|
||||
|
||||
"node-fetch": ["node-fetch@3.3.2", "", { "dependencies": { "data-uri-to-buffer": "^4.0.0", "fetch-blob": "^3.1.4", "formdata-polyfill": "^4.0.10" } }, "sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA=="],
|
||||
|
||||
"ollama": ["ollama@0.6.3", "", { "dependencies": { "whatwg-fetch": "^3.6.20" } }, "sha512-KEWEhIqE5wtfzEIZbDCLH51VFZ6Z3ZSa6sIOg/E/tBV8S51flyqBOXi+bRxlOYKDf8i327zG9eSTb8IJxvm3Zg=="],
|
||||
|
||||
"open": ["open@10.2.0", "", { "dependencies": { "default-browser": "^5.2.1", "define-lazy-prop": "^3.0.0", "is-inside-container": "^1.0.0", "wsl-utils": "^0.1.0" } }, "sha512-YgBpdJHPyQ2UE5x+hlSXcnejzAvD0b22U2OuAP+8OnlJT+PjWPxtgmGqKKc+RgTM63U9gN0YzrYc71R2WT/hTA=="],
|
||||
|
||||
"optionator": ["optionator@0.9.4", "", { "dependencies": { "deep-is": "^0.1.3", "fast-levenshtein": "^2.0.6", "levn": "^0.4.1", "prelude-ls": "^1.2.1", "type-check": "^0.4.0", "word-wrap": "^1.2.5" } }, "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g=="],
|
||||
|
||||
"p-limit": ["p-limit@3.1.0", "", { "dependencies": { "yocto-queue": "^0.1.0" } }, "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ=="],
|
||||
|
||||
"p-locate": ["p-locate@5.0.0", "", { "dependencies": { "p-limit": "^3.0.2" } }, "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw=="],
|
||||
|
||||
"p-try": ["p-try@2.2.0", "", {}, "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ=="],
|
||||
|
||||
"package-json-from-dist": ["package-json-from-dist@1.0.1", "", {}, "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw=="],
|
||||
|
||||
"parent-module": ["parent-module@1.0.1", "", { "dependencies": { "callsites": "^3.0.0" } }, "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g=="],
|
||||
|
||||
"path-exists": ["path-exists@4.0.0", "", {}, "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w=="],
|
||||
|
||||
"path-key": ["path-key@3.1.1", "", {}, "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q=="],
|
||||
|
||||
"path-scurry": ["path-scurry@1.11.1", "", { "dependencies": { "lru-cache": "^10.2.0", "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" } }, "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA=="],
|
||||
|
||||
"picomatch": ["picomatch@2.3.1", "", {}, "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA=="],
|
||||
|
||||
"pngjs": ["pngjs@5.0.0", "", {}, "sha512-40QW5YalBNfQo5yRYmiw7Yz6TKKVr3h6970B2YE+3fQpsWcrbj1PzJgxeJ19DRQjhMbKPIuMY8rFaXc8moolVw=="],
|
||||
|
||||
"prelude-ls": ["prelude-ls@1.2.1", "", {}, "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g=="],
|
||||
|
||||
"process": ["process@0.11.10", "", {}, "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A=="],
|
||||
|
||||
"promise-limit": ["promise-limit@2.7.0", "", {}, "sha512-7nJ6v5lnJsXwGprnGXga4wx6d1POjvi5Qmf1ivTRxTjH4Z/9Czja/UCMLVmB9N93GeWOU93XaFaEt6jbuoagNw=="],
|
||||
|
||||
"proxy-from-env": ["proxy-from-env@1.1.0", "", {}, "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg=="],
|
||||
|
||||
"punycode": ["punycode@2.3.1", "", {}, "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg=="],
|
||||
|
||||
"qrcode": ["qrcode@1.5.4", "", { "dependencies": { "dijkstrajs": "^1.0.1", "pngjs": "^5.0.0", "yargs": "^15.3.1" }, "bin": { "qrcode": "bin/qrcode" } }, "sha512-1ca71Zgiu6ORjHqFBDpnSMTR2ReToX4l1Au1VFLyVeBTFavzQnv5JxMFr3ukHVKpSrSA2MCk0lNJSykjUfz7Zg=="],
|
||||
|
||||
"queue-microtask": ["queue-microtask@1.2.3", "", {}, "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A=="],
|
||||
|
||||
"readable-stream": ["readable-stream@4.7.0", "", { "dependencies": { "abort-controller": "^3.0.0", "buffer": "^6.0.3", "events": "^3.3.0", "process": "^0.11.10", "string_decoder": "^1.3.0" } }, "sha512-oIGGmcpTLwPga8Bn6/Z75SVaH1z5dUut2ibSyAMVhmUggWpmDn2dapB0n7f8nwaSiRtepAsfJyfXIO5DCVAODg=="],
|
||||
|
||||
"require-directory": ["require-directory@2.1.1", "", {}, "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q=="],
|
||||
|
||||
"require-main-filename": ["require-main-filename@2.0.0", "", {}, "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg=="],
|
||||
|
||||
"resolve-from": ["resolve-from@4.0.0", "", {}, "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g=="],
|
||||
|
||||
"resolve-pkg-maps": ["resolve-pkg-maps@1.0.0", "", {}, "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw=="],
|
||||
|
||||
"reusify": ["reusify@1.1.0", "", {}, "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw=="],
|
||||
|
||||
"rfdc": ["rfdc@1.4.1", "", {}, "sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA=="],
|
||||
|
||||
"rimraf": ["rimraf@5.0.10", "", { "dependencies": { "glob": "^10.3.7" }, "bin": { "rimraf": "dist/esm/bin.mjs" } }, "sha512-l0OE8wL34P4nJH/H2ffoaniAokM2qSmrtXHmlpvYr5AVVX8msAyW0l8NVJFDxlSK4u3Uh/f41cQheDVdnYijwQ=="],
|
||||
|
||||
"run-applescript": ["run-applescript@7.1.0", "", {}, "sha512-DPe5pVFaAsinSaV6QjQ6gdiedWDcRCbUuiQfQa2wmWV7+xC9bGulGI8+TdRmoFkAPaBXk8CrAbnlY2ISniJ47Q=="],
|
||||
|
||||
"run-parallel": ["run-parallel@1.2.0", "", { "dependencies": { "queue-microtask": "^1.2.2" } }, "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA=="],
|
||||
|
||||
"safe-buffer": ["safe-buffer@5.2.1", "", {}, "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ=="],
|
||||
|
||||
"safer-buffer": ["safer-buffer@2.1.2", "", {}, "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="],
|
||||
|
||||
"semver": ["semver@7.7.3", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q=="],
|
||||
|
||||
"set-blocking": ["set-blocking@2.0.0", "", {}, "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw=="],
|
||||
|
||||
"sharp": ["sharp@0.34.5", "", { "dependencies": { "@img/colour": "^1.0.0", "detect-libc": "^2.1.2", "semver": "^7.7.3" }, "optionalDependencies": { "@img/sharp-darwin-arm64": "0.34.5", "@img/sharp-darwin-x64": "0.34.5", "@img/sharp-libvips-darwin-arm64": "1.2.4", "@img/sharp-libvips-darwin-x64": "1.2.4", "@img/sharp-libvips-linux-arm": "1.2.4", "@img/sharp-libvips-linux-arm64": "1.2.4", "@img/sharp-libvips-linux-ppc64": "1.2.4", "@img/sharp-libvips-linux-riscv64": "1.2.4", "@img/sharp-libvips-linux-s390x": "1.2.4", "@img/sharp-libvips-linux-x64": "1.2.4", "@img/sharp-libvips-linuxmusl-arm64": "1.2.4", "@img/sharp-libvips-linuxmusl-x64": "1.2.4", "@img/sharp-linux-arm": "0.34.5", "@img/sharp-linux-arm64": "0.34.5", "@img/sharp-linux-ppc64": "0.34.5", "@img/sharp-linux-riscv64": "0.34.5", "@img/sharp-linux-s390x": "0.34.5", "@img/sharp-linux-x64": "0.34.5", "@img/sharp-linuxmusl-arm64": "0.34.5", "@img/sharp-linuxmusl-x64": "0.34.5", "@img/sharp-wasm32": "0.34.5", "@img/sharp-win32-arm64": "0.34.5", "@img/sharp-win32-ia32": "0.34.5", "@img/sharp-win32-x64": "0.34.5" } }, "sha512-Ou9I5Ft9WNcCbXrU9cMgPBcCK8LiwLqcbywW3t4oDV37n1pzpuNLsYiAV8eODnjbtQlSDwZ2cUEeQz4E54Hltg=="],
|
||||
|
||||
"shebang-command": ["shebang-command@2.0.0", "", { "dependencies": { "shebang-regex": "^3.0.0" } }, "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA=="],
|
||||
|
||||
"shebang-regex": ["shebang-regex@3.0.0", "", {}, "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A=="],
|
||||
|
||||
"signal-exit": ["signal-exit@4.1.0", "", {}, "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw=="],
|
||||
|
||||
"source-map": ["source-map@0.6.1", "", {}, "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="],
|
||||
|
||||
"source-map-support": ["source-map-support@0.5.21", "", { "dependencies": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" } }, "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w=="],
|
||||
|
||||
"sprintf-js": ["sprintf-js@1.1.3", "", {}, "sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA=="],
|
||||
|
||||
"string-width": ["string-width@4.2.3", "", { "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", "strip-ansi": "^6.0.1" } }, "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g=="],
|
||||
|
||||
"string-width-cjs": ["string-width@4.2.3", "", { "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", "strip-ansi": "^6.0.1" } }, "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g=="],
|
||||
|
||||
"string_decoder": ["string_decoder@1.3.0", "", { "dependencies": { "safe-buffer": "~5.2.0" } }, "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA=="],
|
||||
|
||||
"strip-ansi": ["strip-ansi@6.0.1", "", { "dependencies": { "ansi-regex": "^5.0.1" } }, "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A=="],
|
||||
|
||||
"strip-ansi-cjs": ["strip-ansi@6.0.1", "", { "dependencies": { "ansi-regex": "^5.0.1" } }, "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A=="],
|
||||
|
||||
"strip-json-comments": ["strip-json-comments@3.1.1", "", {}, "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig=="],
|
||||
|
||||
"supports-color": ["supports-color@7.2.0", "", { "dependencies": { "has-flag": "^4.0.0" } }, "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw=="],
|
||||
|
||||
"systeminformation": ["systeminformation@5.27.14", "", { "os": "!aix", "bin": { "systeminformation": "lib/cli.js" } }, "sha512-3DoNDYSZBLxBwaJtQGWNpq0fonga/VZ47HY1+7/G3YoIPaPz93Df6egSzzTKbEMmlzUpy3eQ0nR9REuYIycXGg=="],
|
||||
|
||||
"tarn": ["tarn@3.0.2", "", {}, "sha512-51LAVKUSZSVfI05vjPESNc5vwqqZpbXCsU+/+wxlOrUjk2SnFTt97v9ZgQrD4YmxYW1Px6w2KjaDitCfkvgxMQ=="],
|
||||
|
||||
"tedious": ["tedious@18.6.2", "", { "dependencies": { "@azure/core-auth": "^1.7.2", "@azure/identity": "^4.2.1", "@azure/keyvault-keys": "^4.4.0", "@js-joda/core": "^5.6.1", "@types/node": ">=18", "bl": "^6.0.11", "iconv-lite": "^0.6.3", "js-md4": "^0.3.2", "native-duplexpair": "^1.0.0", "sprintf-js": "^1.1.3" } }, "sha512-g7jC56o3MzLkE3lHkaFe2ZdOVFBahq5bsB60/M4NYUbocw/MCrS89IOEQUFr+ba6pb8ZHczZ/VqCyYeYq0xBAg=="],
|
||||
|
||||
"to-regex-range": ["to-regex-range@5.0.1", "", { "dependencies": { "is-number": "^7.0.0" } }, "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ=="],
|
||||
|
||||
"ts-api-utils": ["ts-api-utils@2.1.0", "", { "peerDependencies": { "typescript": ">=4.8.4" } }, "sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ=="],
|
||||
|
||||
"tslib": ["tslib@2.8.1", "", {}, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="],
|
||||
|
||||
"tsx": ["tsx@4.21.0", "", { "dependencies": { "esbuild": "~0.27.0", "get-tsconfig": "^4.7.5" }, "optionalDependencies": { "fsevents": "~2.3.3" }, "bin": { "tsx": "dist/cli.mjs" } }, "sha512-5C1sg4USs1lfG0GFb2RLXsdpXqBSEhAaA/0kPL01wxzpMqLILNxIxIOKiILz+cdg/pLnOUxFYOR5yhHU666wbw=="],
|
||||
|
||||
"twemoji": ["twemoji@14.0.2", "", { "dependencies": { "fs-extra": "^8.0.1", "jsonfile": "^5.0.0", "twemoji-parser": "14.0.0", "universalify": "^0.1.2" } }, "sha512-BzOoXIe1QVdmsUmZ54xbEH+8AgtOKUiG53zO5vVP2iUu6h5u9lN15NcuS6te4OY96qx0H7JK9vjjl9WQbkTRuA=="],
|
||||
|
||||
"twemoji-parser": ["twemoji-parser@14.0.0", "", {}, "sha512-9DUOTGLOWs0pFWnh1p6NF+C3CkQ96PWmEFwhOVmT3WbecRC+68AIqpsnJXygfkFcp4aXbOp8Dwbhh/HQgvoRxA=="],
|
||||
|
||||
"type-check": ["type-check@0.4.0", "", { "dependencies": { "prelude-ls": "^1.2.1" } }, "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew=="],
|
||||
|
||||
"typescript": ["typescript@5.9.3", "", { "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" } }, "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw=="],
|
||||
|
||||
"typescript-telegram-bot-api": ["typescript-telegram-bot-api@0.11.0", "", { "dependencies": { "axios": "^1.7.7", "form-data": "^4.0.1" } }, "sha512-pWSv0fglpnETAGtptNaqHjqreUTunRstfxeI9opdhq7P8T8T/tbBH8nLzP7WVAoFW55F4I6biKa9NOx1bs5O3Q=="],
|
||||
|
||||
"undici-types": ["undici-types@7.16.0", "", {}, "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw=="],
|
||||
|
||||
"universalify": ["universalify@0.1.2", "", {}, "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg=="],
|
||||
|
||||
"uri-js": ["uri-js@4.4.1", "", { "dependencies": { "punycode": "^2.1.0" } }, "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg=="],
|
||||
|
||||
"uuid": ["uuid@8.3.2", "", { "bin": { "uuid": "dist/bin/uuid" } }, "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg=="],
|
||||
|
||||
"web-streams-polyfill": ["web-streams-polyfill@3.3.3", "", {}, "sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw=="],
|
||||
|
||||
"whatwg-fetch": ["whatwg-fetch@3.6.20", "", {}, "sha512-EqhiFU6daOA8kpjOWTL0olhVOF3i7OrFzSYiGsEMB8GcXS+RrzauAERX65xMeNWVqxA6HXH2m69Z9LaKKdisfg=="],
|
||||
|
||||
"which": ["which@2.0.2", "", { "dependencies": { "isexe": "^2.0.0" }, "bin": { "node-which": "./bin/node-which" } }, "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA=="],
|
||||
|
||||
"which-module": ["which-module@2.0.1", "", {}, "sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ=="],
|
||||
|
||||
"word-wrap": ["word-wrap@1.2.5", "", {}, "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA=="],
|
||||
|
||||
"wrap-ansi": ["wrap-ansi@6.2.0", "", { "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", "strip-ansi": "^6.0.0" } }, "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA=="],
|
||||
|
||||
"wrap-ansi-cjs": ["wrap-ansi@7.0.0", "", { "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", "strip-ansi": "^6.0.0" } }, "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q=="],
|
||||
|
||||
"ws": ["ws@8.18.3", "", { "peerDependencies": { "bufferutil": "^4.0.1", "utf-8-validate": ">=5.0.2" }, "optionalPeers": ["bufferutil", "utf-8-validate"] }, "sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg=="],
|
||||
|
||||
"wsl-utils": ["wsl-utils@0.1.0", "", { "dependencies": { "is-wsl": "^3.1.0" } }, "sha512-h3Fbisa2nKGPxCpm89Hk33lBLsnaGBvctQopaBSOW/uIs6FTe1ATyAnKFJrzVs9vpGdsTe73WF3V4lIsk4Gacw=="],
|
||||
|
||||
"y18n": ["y18n@4.0.3", "", {}, "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ=="],
|
||||
|
||||
"yargs": ["yargs@15.4.1", "", { "dependencies": { "cliui": "^6.0.0", "decamelize": "^1.2.0", "find-up": "^4.1.0", "get-caller-file": "^2.0.1", "require-directory": "^2.1.1", "require-main-filename": "^2.0.0", "set-blocking": "^2.0.0", "string-width": "^4.2.0", "which-module": "^2.0.0", "y18n": "^4.0.0", "yargs-parser": "^18.1.2" } }, "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A=="],
|
||||
|
||||
"yargs-parser": ["yargs-parser@18.1.3", "", { "dependencies": { "camelcase": "^5.0.0", "decamelize": "^1.2.0" } }, "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ=="],
|
||||
|
||||
"yocto-queue": ["yocto-queue@0.1.0", "", {}, "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q=="],
|
||||
|
||||
"@esbuild-kit/core-utils/esbuild": ["esbuild@0.18.20", "", { "optionalDependencies": { "@esbuild/android-arm": "0.18.20", "@esbuild/android-arm64": "0.18.20", "@esbuild/android-x64": "0.18.20", "@esbuild/darwin-arm64": "0.18.20", "@esbuild/darwin-x64": "0.18.20", "@esbuild/freebsd-arm64": "0.18.20", "@esbuild/freebsd-x64": "0.18.20", "@esbuild/linux-arm": "0.18.20", "@esbuild/linux-arm64": "0.18.20", "@esbuild/linux-ia32": "0.18.20", "@esbuild/linux-loong64": "0.18.20", "@esbuild/linux-mips64el": "0.18.20", "@esbuild/linux-ppc64": "0.18.20", "@esbuild/linux-riscv64": "0.18.20", "@esbuild/linux-s390x": "0.18.20", "@esbuild/linux-x64": "0.18.20", "@esbuild/netbsd-x64": "0.18.20", "@esbuild/openbsd-x64": "0.18.20", "@esbuild/sunos-x64": "0.18.20", "@esbuild/win32-arm64": "0.18.20", "@esbuild/win32-ia32": "0.18.20", "@esbuild/win32-x64": "0.18.20" }, "bin": { "esbuild": "bin/esbuild" } }, "sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA=="],
|
||||
|
||||
"@eslint-community/eslint-utils/eslint-visitor-keys": ["eslint-visitor-keys@3.4.3", "", {}, "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag=="],
|
||||
|
||||
"@eslint/eslintrc/ignore": ["ignore@5.3.2", "", {}, "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g=="],
|
||||
|
||||
"@isaacs/cliui/string-width": ["string-width@5.1.2", "", { "dependencies": { "eastasianwidth": "^0.2.0", "emoji-regex": "^9.2.2", "strip-ansi": "^7.0.1" } }, "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA=="],
|
||||
|
||||
"@isaacs/cliui/strip-ansi": ["strip-ansi@7.1.2", "", { "dependencies": { "ansi-regex": "^6.0.1" } }, "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA=="],
|
||||
|
||||
"@isaacs/cliui/wrap-ansi": ["wrap-ansi@8.1.0", "", { "dependencies": { "ansi-styles": "^6.1.0", "string-width": "^5.0.1", "strip-ansi": "^7.0.1" } }, "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ=="],
|
||||
|
||||
"@typescript-eslint/typescript-estree/minimatch": ["minimatch@9.0.5", "", { "dependencies": { "brace-expansion": "^2.0.1" } }, "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow=="],
|
||||
|
||||
"eslint/ignore": ["ignore@5.3.2", "", {}, "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g=="],
|
||||
|
||||
"fast-glob/glob-parent": ["glob-parent@5.1.2", "", { "dependencies": { "is-glob": "^4.0.1" } }, "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow=="],
|
||||
|
||||
"fs-extra/jsonfile": ["jsonfile@4.0.0", "", { "optionalDependencies": { "graceful-fs": "^4.1.6" } }, "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg=="],
|
||||
|
||||
"glob/minimatch": ["minimatch@9.0.5", "", { "dependencies": { "brace-expansion": "^2.0.1" } }, "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow=="],
|
||||
|
||||
"libsql/detect-libc": ["detect-libc@2.0.2", "", {}, "sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw=="],
|
||||
|
||||
"string-width/emoji-regex": ["emoji-regex@8.0.0", "", {}, "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="],
|
||||
|
||||
"string-width-cjs/emoji-regex": ["emoji-regex@8.0.0", "", {}, "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="],
|
||||
|
||||
"tsx/esbuild": ["esbuild@0.27.2", "", { "optionalDependencies": { "@esbuild/aix-ppc64": "0.27.2", "@esbuild/android-arm": "0.27.2", "@esbuild/android-arm64": "0.27.2", "@esbuild/android-x64": "0.27.2", "@esbuild/darwin-arm64": "0.27.2", "@esbuild/darwin-x64": "0.27.2", "@esbuild/freebsd-arm64": "0.27.2", "@esbuild/freebsd-x64": "0.27.2", "@esbuild/linux-arm": "0.27.2", "@esbuild/linux-arm64": "0.27.2", "@esbuild/linux-ia32": "0.27.2", "@esbuild/linux-loong64": "0.27.2", "@esbuild/linux-mips64el": "0.27.2", "@esbuild/linux-ppc64": "0.27.2", "@esbuild/linux-riscv64": "0.27.2", "@esbuild/linux-s390x": "0.27.2", "@esbuild/linux-x64": "0.27.2", "@esbuild/netbsd-arm64": "0.27.2", "@esbuild/netbsd-x64": "0.27.2", "@esbuild/openbsd-arm64": "0.27.2", "@esbuild/openbsd-x64": "0.27.2", "@esbuild/openharmony-arm64": "0.27.2", "@esbuild/sunos-x64": "0.27.2", "@esbuild/win32-arm64": "0.27.2", "@esbuild/win32-ia32": "0.27.2", "@esbuild/win32-x64": "0.27.2" }, "bin": { "esbuild": "bin/esbuild" } }, "sha512-HyNQImnsOC7X9PMNaCIeAm4ISCQXs5a5YasTXVliKv4uuBo1dKrG0A+uQS8M5eXjVMnLg3WgXaKvprHlFJQffw=="],
|
||||
|
||||
"yargs/find-up": ["find-up@4.1.0", "", { "dependencies": { "locate-path": "^5.0.0", "path-exists": "^4.0.0" } }, "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw=="],
|
||||
|
||||
"@esbuild-kit/core-utils/esbuild/@esbuild/android-arm": ["@esbuild/android-arm@0.18.20", "", { "os": "android", "cpu": "arm" }, "sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw=="],
|
||||
|
||||
"@esbuild-kit/core-utils/esbuild/@esbuild/android-arm64": ["@esbuild/android-arm64@0.18.20", "", { "os": "android", "cpu": "arm64" }, "sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ=="],
|
||||
|
||||
"@esbuild-kit/core-utils/esbuild/@esbuild/android-x64": ["@esbuild/android-x64@0.18.20", "", { "os": "android", "cpu": "x64" }, "sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg=="],
|
||||
|
||||
"@esbuild-kit/core-utils/esbuild/@esbuild/darwin-arm64": ["@esbuild/darwin-arm64@0.18.20", "", { "os": "darwin", "cpu": "arm64" }, "sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA=="],
|
||||
|
||||
"@esbuild-kit/core-utils/esbuild/@esbuild/darwin-x64": ["@esbuild/darwin-x64@0.18.20", "", { "os": "darwin", "cpu": "x64" }, "sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ=="],
|
||||
|
||||
"@esbuild-kit/core-utils/esbuild/@esbuild/freebsd-arm64": ["@esbuild/freebsd-arm64@0.18.20", "", { "os": "freebsd", "cpu": "arm64" }, "sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw=="],
|
||||
|
||||
"@esbuild-kit/core-utils/esbuild/@esbuild/freebsd-x64": ["@esbuild/freebsd-x64@0.18.20", "", { "os": "freebsd", "cpu": "x64" }, "sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ=="],
|
||||
|
||||
"@esbuild-kit/core-utils/esbuild/@esbuild/linux-arm": ["@esbuild/linux-arm@0.18.20", "", { "os": "linux", "cpu": "arm" }, "sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg=="],
|
||||
|
||||
"@esbuild-kit/core-utils/esbuild/@esbuild/linux-arm64": ["@esbuild/linux-arm64@0.18.20", "", { "os": "linux", "cpu": "arm64" }, "sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA=="],
|
||||
|
||||
"@esbuild-kit/core-utils/esbuild/@esbuild/linux-ia32": ["@esbuild/linux-ia32@0.18.20", "", { "os": "linux", "cpu": "ia32" }, "sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA=="],
|
||||
|
||||
"@esbuild-kit/core-utils/esbuild/@esbuild/linux-loong64": ["@esbuild/linux-loong64@0.18.20", "", { "os": "linux", "cpu": "none" }, "sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg=="],
|
||||
|
||||
"@esbuild-kit/core-utils/esbuild/@esbuild/linux-mips64el": ["@esbuild/linux-mips64el@0.18.20", "", { "os": "linux", "cpu": "none" }, "sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ=="],
|
||||
|
||||
"@esbuild-kit/core-utils/esbuild/@esbuild/linux-ppc64": ["@esbuild/linux-ppc64@0.18.20", "", { "os": "linux", "cpu": "ppc64" }, "sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA=="],
|
||||
|
||||
"@esbuild-kit/core-utils/esbuild/@esbuild/linux-riscv64": ["@esbuild/linux-riscv64@0.18.20", "", { "os": "linux", "cpu": "none" }, "sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A=="],
|
||||
|
||||
"@esbuild-kit/core-utils/esbuild/@esbuild/linux-s390x": ["@esbuild/linux-s390x@0.18.20", "", { "os": "linux", "cpu": "s390x" }, "sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ=="],
|
||||
|
||||
"@esbuild-kit/core-utils/esbuild/@esbuild/linux-x64": ["@esbuild/linux-x64@0.18.20", "", { "os": "linux", "cpu": "x64" }, "sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w=="],
|
||||
|
||||
"@esbuild-kit/core-utils/esbuild/@esbuild/netbsd-x64": ["@esbuild/netbsd-x64@0.18.20", "", { "os": "none", "cpu": "x64" }, "sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A=="],
|
||||
|
||||
"@esbuild-kit/core-utils/esbuild/@esbuild/openbsd-x64": ["@esbuild/openbsd-x64@0.18.20", "", { "os": "openbsd", "cpu": "x64" }, "sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg=="],
|
||||
|
||||
"@esbuild-kit/core-utils/esbuild/@esbuild/sunos-x64": ["@esbuild/sunos-x64@0.18.20", "", { "os": "sunos", "cpu": "x64" }, "sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ=="],
|
||||
|
||||
"@esbuild-kit/core-utils/esbuild/@esbuild/win32-arm64": ["@esbuild/win32-arm64@0.18.20", "", { "os": "win32", "cpu": "arm64" }, "sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg=="],
|
||||
|
||||
"@esbuild-kit/core-utils/esbuild/@esbuild/win32-ia32": ["@esbuild/win32-ia32@0.18.20", "", { "os": "win32", "cpu": "ia32" }, "sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g=="],
|
||||
|
||||
"@esbuild-kit/core-utils/esbuild/@esbuild/win32-x64": ["@esbuild/win32-x64@0.18.20", "", { "os": "win32", "cpu": "x64" }, "sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ=="],
|
||||
|
||||
"@isaacs/cliui/string-width/emoji-regex": ["emoji-regex@9.2.2", "", {}, "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg=="],
|
||||
|
||||
"@isaacs/cliui/strip-ansi/ansi-regex": ["ansi-regex@6.2.2", "", {}, "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg=="],
|
||||
|
||||
"@isaacs/cliui/wrap-ansi/ansi-styles": ["ansi-styles@6.2.3", "", {}, "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg=="],
|
||||
|
||||
"@typescript-eslint/typescript-estree/minimatch/brace-expansion": ["brace-expansion@2.0.2", "", { "dependencies": { "balanced-match": "^1.0.0" } }, "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ=="],
|
||||
|
||||
"glob/minimatch/brace-expansion": ["brace-expansion@2.0.2", "", { "dependencies": { "balanced-match": "^1.0.0" } }, "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ=="],
|
||||
|
||||
"tsx/esbuild/@esbuild/aix-ppc64": ["@esbuild/aix-ppc64@0.27.2", "", { "os": "aix", "cpu": "ppc64" }, "sha512-GZMB+a0mOMZs4MpDbj8RJp4cw+w1WV5NYD6xzgvzUJ5Ek2jerwfO2eADyI6ExDSUED+1X8aMbegahsJi+8mgpw=="],
|
||||
|
||||
"tsx/esbuild/@esbuild/android-arm": ["@esbuild/android-arm@0.27.2", "", { "os": "android", "cpu": "arm" }, "sha512-DVNI8jlPa7Ujbr1yjU2PfUSRtAUZPG9I1RwW4F4xFB1Imiu2on0ADiI/c3td+KmDtVKNbi+nffGDQMfcIMkwIA=="],
|
||||
|
||||
"tsx/esbuild/@esbuild/android-arm64": ["@esbuild/android-arm64@0.27.2", "", { "os": "android", "cpu": "arm64" }, "sha512-pvz8ZZ7ot/RBphf8fv60ljmaoydPU12VuXHImtAs0XhLLw+EXBi2BLe3OYSBslR4rryHvweW5gmkKFwTiFy6KA=="],
|
||||
|
||||
"tsx/esbuild/@esbuild/android-x64": ["@esbuild/android-x64@0.27.2", "", { "os": "android", "cpu": "x64" }, "sha512-z8Ank4Byh4TJJOh4wpz8g2vDy75zFL0TlZlkUkEwYXuPSgX8yzep596n6mT7905kA9uHZsf/o2OJZubl2l3M7A=="],
|
||||
|
||||
"tsx/esbuild/@esbuild/darwin-arm64": ["@esbuild/darwin-arm64@0.27.2", "", { "os": "darwin", "cpu": "arm64" }, "sha512-davCD2Zc80nzDVRwXTcQP/28fiJbcOwvdolL0sOiOsbwBa72kegmVU0Wrh1MYrbuCL98Omp5dVhQFWRKR2ZAlg=="],
|
||||
|
||||
"tsx/esbuild/@esbuild/darwin-x64": ["@esbuild/darwin-x64@0.27.2", "", { "os": "darwin", "cpu": "x64" }, "sha512-ZxtijOmlQCBWGwbVmwOF/UCzuGIbUkqB1faQRf5akQmxRJ1ujusWsb3CVfk/9iZKr2L5SMU5wPBi1UWbvL+VQA=="],
|
||||
|
||||
"tsx/esbuild/@esbuild/freebsd-arm64": ["@esbuild/freebsd-arm64@0.27.2", "", { "os": "freebsd", "cpu": "arm64" }, "sha512-lS/9CN+rgqQ9czogxlMcBMGd+l8Q3Nj1MFQwBZJyoEKI50XGxwuzznYdwcav6lpOGv5BqaZXqvBSiB/kJ5op+g=="],
|
||||
|
||||
"tsx/esbuild/@esbuild/freebsd-x64": ["@esbuild/freebsd-x64@0.27.2", "", { "os": "freebsd", "cpu": "x64" }, "sha512-tAfqtNYb4YgPnJlEFu4c212HYjQWSO/w/h/lQaBK7RbwGIkBOuNKQI9tqWzx7Wtp7bTPaGC6MJvWI608P3wXYA=="],
|
||||
|
||||
"tsx/esbuild/@esbuild/linux-arm": ["@esbuild/linux-arm@0.27.2", "", { "os": "linux", "cpu": "arm" }, "sha512-vWfq4GaIMP9AIe4yj1ZUW18RDhx6EPQKjwe7n8BbIecFtCQG4CfHGaHuh7fdfq+y3LIA2vGS/o9ZBGVxIDi9hw=="],
|
||||
|
||||
"tsx/esbuild/@esbuild/linux-arm64": ["@esbuild/linux-arm64@0.27.2", "", { "os": "linux", "cpu": "arm64" }, "sha512-hYxN8pr66NsCCiRFkHUAsxylNOcAQaxSSkHMMjcpx0si13t1LHFphxJZUiGwojB1a/Hd5OiPIqDdXONia6bhTw=="],
|
||||
|
||||
"tsx/esbuild/@esbuild/linux-ia32": ["@esbuild/linux-ia32@0.27.2", "", { "os": "linux", "cpu": "ia32" }, "sha512-MJt5BRRSScPDwG2hLelYhAAKh9imjHK5+NE/tvnRLbIqUWa+0E9N4WNMjmp/kXXPHZGqPLxggwVhz7QP8CTR8w=="],
|
||||
|
||||
"tsx/esbuild/@esbuild/linux-loong64": ["@esbuild/linux-loong64@0.27.2", "", { "os": "linux", "cpu": "none" }, "sha512-lugyF1atnAT463aO6KPshVCJK5NgRnU4yb3FUumyVz+cGvZbontBgzeGFO1nF+dPueHD367a2ZXe1NtUkAjOtg=="],
|
||||
|
||||
"tsx/esbuild/@esbuild/linux-mips64el": ["@esbuild/linux-mips64el@0.27.2", "", { "os": "linux", "cpu": "none" }, "sha512-nlP2I6ArEBewvJ2gjrrkESEZkB5mIoaTswuqNFRv/WYd+ATtUpe9Y09RnJvgvdag7he0OWgEZWhviS1OTOKixw=="],
|
||||
|
||||
"tsx/esbuild/@esbuild/linux-ppc64": ["@esbuild/linux-ppc64@0.27.2", "", { "os": "linux", "cpu": "ppc64" }, "sha512-C92gnpey7tUQONqg1n6dKVbx3vphKtTHJaNG2Ok9lGwbZil6DrfyecMsp9CrmXGQJmZ7iiVXvvZH6Ml5hL6XdQ=="],
|
||||
|
||||
"tsx/esbuild/@esbuild/linux-riscv64": ["@esbuild/linux-riscv64@0.27.2", "", { "os": "linux", "cpu": "none" }, "sha512-B5BOmojNtUyN8AXlK0QJyvjEZkWwy/FKvakkTDCziX95AowLZKR6aCDhG7LeF7uMCXEJqwa8Bejz5LTPYm8AvA=="],
|
||||
|
||||
"tsx/esbuild/@esbuild/linux-s390x": ["@esbuild/linux-s390x@0.27.2", "", { "os": "linux", "cpu": "s390x" }, "sha512-p4bm9+wsPwup5Z8f4EpfN63qNagQ47Ua2znaqGH6bqLlmJ4bx97Y9JdqxgGZ6Y8xVTixUnEkoKSHcpRlDnNr5w=="],
|
||||
|
||||
"tsx/esbuild/@esbuild/linux-x64": ["@esbuild/linux-x64@0.27.2", "", { "os": "linux", "cpu": "x64" }, "sha512-uwp2Tip5aPmH+NRUwTcfLb+W32WXjpFejTIOWZFw/v7/KnpCDKG66u4DLcurQpiYTiYwQ9B7KOeMJvLCu/OvbA=="],
|
||||
|
||||
"tsx/esbuild/@esbuild/netbsd-arm64": ["@esbuild/netbsd-arm64@0.27.2", "", { "os": "none", "cpu": "arm64" }, "sha512-Kj6DiBlwXrPsCRDeRvGAUb/LNrBASrfqAIok+xB0LxK8CHqxZ037viF13ugfsIpePH93mX7xfJp97cyDuTZ3cw=="],
|
||||
|
||||
"tsx/esbuild/@esbuild/netbsd-x64": ["@esbuild/netbsd-x64@0.27.2", "", { "os": "none", "cpu": "x64" }, "sha512-HwGDZ0VLVBY3Y+Nw0JexZy9o/nUAWq9MlV7cahpaXKW6TOzfVno3y3/M8Ga8u8Yr7GldLOov27xiCnqRZf0tCA=="],
|
||||
|
||||
"tsx/esbuild/@esbuild/openbsd-arm64": ["@esbuild/openbsd-arm64@0.27.2", "", { "os": "openbsd", "cpu": "arm64" }, "sha512-DNIHH2BPQ5551A7oSHD0CKbwIA/Ox7+78/AWkbS5QoRzaqlev2uFayfSxq68EkonB+IKjiuxBFoV8ESJy8bOHA=="],
|
||||
|
||||
"tsx/esbuild/@esbuild/openbsd-x64": ["@esbuild/openbsd-x64@0.27.2", "", { "os": "openbsd", "cpu": "x64" }, "sha512-/it7w9Nb7+0KFIzjalNJVR5bOzA9Vay+yIPLVHfIQYG/j+j9VTH84aNB8ExGKPU4AzfaEvN9/V4HV+F+vo8OEg=="],
|
||||
|
||||
"tsx/esbuild/@esbuild/openharmony-arm64": ["@esbuild/openharmony-arm64@0.27.2", "", { "os": "none", "cpu": "arm64" }, "sha512-LRBbCmiU51IXfeXk59csuX/aSaToeG7w48nMwA6049Y4J4+VbWALAuXcs+qcD04rHDuSCSRKdmY63sruDS5qag=="],
|
||||
|
||||
"tsx/esbuild/@esbuild/sunos-x64": ["@esbuild/sunos-x64@0.27.2", "", { "os": "sunos", "cpu": "x64" }, "sha512-kMtx1yqJHTmqaqHPAzKCAkDaKsffmXkPHThSfRwZGyuqyIeBvf08KSsYXl+abf5HDAPMJIPnbBfXvP2ZC2TfHg=="],
|
||||
|
||||
"tsx/esbuild/@esbuild/win32-arm64": ["@esbuild/win32-arm64@0.27.2", "", { "os": "win32", "cpu": "arm64" }, "sha512-Yaf78O/B3Kkh+nKABUF++bvJv5Ijoy9AN1ww904rOXZFLWVc5OLOfL56W+C8F9xn5JQZa3UX6m+IktJnIb1Jjg=="],
|
||||
|
||||
"tsx/esbuild/@esbuild/win32-ia32": ["@esbuild/win32-ia32@0.27.2", "", { "os": "win32", "cpu": "ia32" }, "sha512-Iuws0kxo4yusk7sw70Xa2E2imZU5HoixzxfGCdxwBdhiDgt9vX9VUCBhqcwY7/uh//78A1hMkkROMJq9l27oLQ=="],
|
||||
|
||||
"tsx/esbuild/@esbuild/win32-x64": ["@esbuild/win32-x64@0.27.2", "", { "os": "win32", "cpu": "x64" }, "sha512-sRdU18mcKf7F+YgheI/zGf5alZatMUTKj/jNS6l744f9u3WFu4v7twcUI9vu4mknF4Y9aDlblIie0IM+5xxaqQ=="],
|
||||
|
||||
"yargs/find-up/locate-path": ["locate-path@5.0.0", "", { "dependencies": { "p-locate": "^4.1.0" } }, "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g=="],
|
||||
|
||||
"yargs/find-up/locate-path/p-locate": ["p-locate@4.1.0", "", { "dependencies": { "p-limit": "^2.2.0" } }, "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A=="],
|
||||
|
||||
"yargs/find-up/locate-path/p-locate/p-limit": ["p-limit@2.3.0", "", { "dependencies": { "p-try": "^2.0.0" } }, "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w=="],
|
||||
}
|
||||
}
|
||||
@@ -1,28 +0,0 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
const net_1 = require("../base/net");
|
||||
class Ae {
|
||||
constructor() {
|
||||
this.regexp = /^\/ae\s([^]+)/i;
|
||||
}
|
||||
async execute(context, params) {
|
||||
const match = params[1];
|
||||
try {
|
||||
let e = eval(match);
|
||||
e = ((typeof e == 'string') ? e : JSON.stringify(e));
|
||||
await net_1.sendMessage(context, e);
|
||||
}
|
||||
catch (e) {
|
||||
const text = e.message.toString();
|
||||
if (text.includes('is not defined')) {
|
||||
await net_1.sendMessage(context, 'variable is not defined');
|
||||
return;
|
||||
}
|
||||
console.error(`${text}
|
||||
* Stacktrace: ${e.stack}`);
|
||||
await net_1.sendMessage(context, text);
|
||||
}
|
||||
}
|
||||
}
|
||||
exports.Ae = Ae;
|
||||
//# sourceMappingURL=ae.js.map
|
||||
@@ -1 +0,0 @@
|
||||
{"version":3,"file":"ae.js","sourceRoot":"","sources":["ae.ts"],"names":[],"mappings":";;AACA,qCAAwC;AAGxC,MAAa,EAAE;IAAf;QACI,WAAM,GAAG,gBAAgB,CAAA;IA4B7B,CAAC;IAvBG,KAAK,CAAC,OAAO,CAAC,OAAuB,EAAE,MAAgB;QACnD,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;QAEvB,IAAI;YACA,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAA;YAEnB,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAA;YAEpD,MAAM,iBAAW,CAAC,OAAO,EAAE,CAAC,CAAC,CAAA;SAChC;QAAC,OAAO,CAAC,EAAE;YACR,MAAM,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAA;YAEjC,IAAI,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE;gBACjC,MAAM,iBAAW,CAAC,OAAO,EAAE,yBAAyB,CAAC,CAAA;gBACrD,OAAM;aACT;YAED,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI;gCACD,CAAC,CAAC,KAAK,EAAE,CAAC,CAAA;YAE9B,MAAM,iBAAW,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;SACnC;IACL,CAAC;CACJ;AA7BD,gBA6BC"}
|
||||
@@ -1,34 +0,0 @@
|
||||
import {Command} from "./base/command";
|
||||
import {sendMessage} from "../base/net";
|
||||
import {MessageContext} from "../base/base";
|
||||
|
||||
export class Ae implements Command {
|
||||
regexp = /^\/ae\s([^]+)/i
|
||||
title: '/ae'
|
||||
description: 'eval'
|
||||
requireAdmin: true
|
||||
|
||||
async execute(context: MessageContext, params: string[]) {
|
||||
const match = params[1]
|
||||
|
||||
try {
|
||||
let e = eval(match)
|
||||
|
||||
e = ((typeof e == 'string') ? e : JSON.stringify(e))
|
||||
|
||||
await sendMessage(context, e)
|
||||
} catch (e) {
|
||||
const text = e.message.toString()
|
||||
|
||||
if (text.includes('is not defined')) {
|
||||
await sendMessage(context, 'variable is not defined')
|
||||
return
|
||||
}
|
||||
|
||||
console.error(`${text}
|
||||
* Stacktrace: ${e.stack}`)
|
||||
|
||||
await sendMessage(context, text)
|
||||
}
|
||||
}
|
||||
}
|
||||
Vendored
-13
@@ -1,13 +0,0 @@
|
||||
import {MessageContext} from "../../base/base";
|
||||
|
||||
export declare class Command {
|
||||
regexp: RegExp
|
||||
title?: string
|
||||
description?: string
|
||||
requireAdmin?: boolean
|
||||
requireReply?: boolean
|
||||
requireCreator?: boolean
|
||||
requireChat?: boolean
|
||||
|
||||
execute: (context: MessageContext, params: string[], reply?: MessageContext) => {}
|
||||
}
|
||||
@@ -1,54 +0,0 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
const base_1 = require("../../base/base");
|
||||
const db_1 = require("../../base/db");
|
||||
const net_1 = require("../../base/net");
|
||||
const test_1 = require("../test");
|
||||
const help_1 = require("../help");
|
||||
const ae_1 = require("../ae");
|
||||
const dad_1 = require("../dad");
|
||||
const fuckYou_1 = require("../fuckYou");
|
||||
const mom_1 = require("../mom");
|
||||
const mute_1 = require("../mute");
|
||||
const unmute_1 = require("../unmute");
|
||||
const ping_1 = require("../ping");
|
||||
const q_1 = require("../q");
|
||||
const randomString_1 = require("../randomString");
|
||||
const systemSpecs_1 = require("../systemSpecs");
|
||||
async function parseCommands(context) {
|
||||
try {
|
||||
const cmd = searchCommand(context);
|
||||
if (!cmd ||
|
||||
(cmd.requireChat && !context.isChat()) ||
|
||||
(cmd.requireReply && !context.hasRepliedMessage()))
|
||||
return;
|
||||
if ((cmd.requireCreator && context.senderId != base_1.CREATOR_ID) ||
|
||||
(cmd.requireAdmin && !base_1.includes(db_1.adminsList, context.senderId))) {
|
||||
await net_1.sendMessage(context, 'У вас нет доступа');
|
||||
return;
|
||||
}
|
||||
cmd.execute(context, context.text.match(cmd.regexp), context.repliedMessage);
|
||||
}
|
||||
catch (e) {
|
||||
console.log(base_1.getExceptionText(e));
|
||||
}
|
||||
function searchCommand(message, text) {
|
||||
return commands.find(c => c.regexp.test(message ? message.text : text));
|
||||
}
|
||||
}
|
||||
exports.parseCommands = parseCommands;
|
||||
let commands = [
|
||||
new ae_1.Ae(),
|
||||
new dad_1.Dad(),
|
||||
new fuckYou_1.FuckYou(),
|
||||
new help_1.Help(),
|
||||
new mom_1.Mom(),
|
||||
new mute_1.Mute(),
|
||||
new unmute_1.Unmute(),
|
||||
new ping_1.Ping(),
|
||||
new q_1.Q(),
|
||||
new randomString_1.RandomString(),
|
||||
new systemSpecs_1.SystemSpecs(),
|
||||
new test_1.Test()
|
||||
];
|
||||
//# sourceMappingURL=commands.js.map
|
||||
@@ -1 +0,0 @@
|
||||
{"version":3,"file":"commands.js","sourceRoot":"","sources":["commands.ts"],"names":[],"mappings":";;AAAA,0CAAuF;AAEvF,sCAAyC;AACzC,wCAA2C;AAC3C,kCAA6B;AAC7B,kCAA6B;AAC7B,8BAAyB;AACzB,gCAA2B;AAC3B,wCAAmC;AACnC,gCAA2B;AAC3B,kCAA6B;AAC7B,sCAAiC;AACjC,kCAA6B;AAC7B,4BAAuB;AACvB,kDAA6C;AAC7C,gDAA2C;AAEpC,KAAK,UAAU,aAAa,CAAC,OAAuB;IACvD,IAAI;QACA,MAAM,GAAG,GAAG,aAAa,CAAC,OAAO,CAAC,CAAA;QAElC,IAAI,CAAC,GAAG;YACJ,CAAC,GAAG,CAAC,WAAW,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YACtC,CAAC,GAAG,CAAC,YAAY,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC;YAAE,OAAM;QAE9D,IAAI,CAAC,GAAG,CAAC,cAAc,IAAI,OAAO,CAAC,QAAQ,IAAI,iBAAU,CAAC;YACtD,CAAC,GAAG,CAAC,YAAY,IAAI,CAAC,eAAQ,CAAC,eAAU,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,EAAE;YAE/D,MAAM,iBAAW,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAAA;YAC/C,OAAM;SACT;QAED,GAAG,CAAC,OAAO,CACP,OAAO,EACP,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAC9B,OAAO,CAAC,cAAc,CACzB,CAAA;KACJ;IAAC,OAAO,CAAC,EAAE;QACR,OAAO,CAAC,GAAG,CAAC,uBAAgB,CAAC,CAAC,CAAC,CAAC,CAAA;KACnC;IAED,SAAS,aAAa,CAAC,OAAO,EAAE,IAAa;QACzC,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;IAC3E,CAAC;AACL,CAAC;AA3BD,sCA2BC;AAED,IAAI,QAAQ,GAAc;IACtB,IAAI,OAAE,EAAE;IACR,IAAI,SAAG,EAAE;IACT,IAAI,iBAAO,EAAE;IACb,IAAI,WAAI,EAAE;IACV,IAAI,SAAG,EAAE;IACT,IAAI,WAAI,EAAE;IACV,IAAI,eAAM,EAAE;IACZ,IAAI,WAAI,EAAE;IACV,IAAI,KAAC,EAAE;IACP,IAAI,2BAAY,EAAE;IAClB,IAAI,yBAAW,EAAE;IACjB,IAAI,WAAI,EAAE;CACb,CAAA"}
|
||||
@@ -1,60 +0,0 @@
|
||||
import {CREATOR_ID, getExceptionText, includes, MessageContext} from "../../base/base";
|
||||
import {Command} from "./command";
|
||||
import {adminsList} from "../../base/db";
|
||||
import {sendMessage} from "../../base/net";
|
||||
import {Test} from "../test";
|
||||
import {Help} from "../help";
|
||||
import {Ae} from "../ae";
|
||||
import {Dad} from "../dad";
|
||||
import {FuckYou} from "../fuckYou";
|
||||
import {Mom} from "../mom";
|
||||
import {Mute} from "../mute";
|
||||
import {Unmute} from "../unmute";
|
||||
import {Ping} from "../ping";
|
||||
import {Q} from "../q";
|
||||
import {RandomString} from "../randomString";
|
||||
import {SystemSpecs} from "../systemSpecs";
|
||||
|
||||
export async function parseCommands(context: MessageContext) {
|
||||
try {
|
||||
const cmd = searchCommand(context)
|
||||
|
||||
if (!cmd ||
|
||||
(cmd.requireChat && !context.isChat()) ||
|
||||
(cmd.requireReply && !context.hasRepliedMessage())) return
|
||||
|
||||
if ((cmd.requireCreator && context.senderId != CREATOR_ID) ||
|
||||
(cmd.requireAdmin && !includes(adminsList, context.senderId))) {
|
||||
|
||||
await sendMessage(context, 'У вас нет доступа')
|
||||
return
|
||||
}
|
||||
|
||||
cmd.execute(
|
||||
context,
|
||||
context.text.match(cmd.regexp),
|
||||
context.repliedMessage
|
||||
)
|
||||
} catch (e) {
|
||||
console.log(getExceptionText(e))
|
||||
}
|
||||
|
||||
function searchCommand(message, text?: string): Command {
|
||||
return commands.find(c => c.regexp.test(message ? message.text : text))
|
||||
}
|
||||
}
|
||||
|
||||
let commands: Command[] = [
|
||||
new Ae(),
|
||||
new Dad(),
|
||||
new FuckYou(),
|
||||
new Help(),
|
||||
new Mom(),
|
||||
new Mute(),
|
||||
new Unmute(),
|
||||
new Ping(),
|
||||
new Q(),
|
||||
new RandomString(),
|
||||
new SystemSpecs(),
|
||||
new Test()
|
||||
]
|
||||
@@ -1,15 +0,0 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
const base_1 = require("../../base/base");
|
||||
const net_1 = require("../../base/net");
|
||||
class Stats {
|
||||
constructor() {
|
||||
this.regexp = /^\/stats/i;
|
||||
}
|
||||
async execute(context) {
|
||||
const text = `Статистика бота.\n\n⏳ Время работы: ${base_1.getUptime()}\n📥 Сообщений получено: ${base_1.messagesReceived}\n📤 Сообщений отправлено: ${base_1.messagesSent}`;
|
||||
await net_1.sendMessage(context, text);
|
||||
}
|
||||
}
|
||||
exports.Stats = Stats;
|
||||
//# sourceMappingURL=stats.js.map
|
||||
@@ -1 +0,0 @@
|
||||
{"version":3,"file":"stats.js","sourceRoot":"","sources":["stats.ts"],"names":[],"mappings":";;AACA,0CAA0F;AAC1F,wCAA2C;AAE3C,MAAa,KAAK;IAAlB;QACI,WAAM,GAAG,WAAW,CAAA;IASxB,CAAC;IALG,KAAK,CAAC,OAAO,CAAC,OAAuB;QACjC,MAAM,IAAI,GAAG,uCAAuC,gBAAS,EAAE,4BAA4B,uBAAgB,8BAA8B,mBAAY,EAAE,CAAA;QACvJ,MAAM,iBAAW,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;IACpC,CAAC;CAEJ;AAVD,sBAUC"}
|
||||
@@ -1,15 +0,0 @@
|
||||
import {Command} from "./command";
|
||||
import {getUptime, MessageContext, messagesReceived, messagesSent} from "../../base/base";
|
||||
import {sendMessage} from "../../base/net";
|
||||
|
||||
export class Stats implements Command {
|
||||
regexp = /^\/stats/i
|
||||
title: '/stats'
|
||||
description: 'статистика бота'
|
||||
|
||||
async execute(context: MessageContext) {
|
||||
const text = `Статистика бота.\n\n⏳ Время работы: ${getUptime()}\n📥 Сообщений получено: ${messagesReceived}\n📤 Сообщений отправлено: ${messagesSent}`
|
||||
await sendMessage(context, text)
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,16 +0,0 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
const base_1 = require("../base/base");
|
||||
const net_1 = require("../base/net");
|
||||
class Dad {
|
||||
constructor() {
|
||||
this.regexp = /бат(ь|я|ька|ёк)/i;
|
||||
}
|
||||
async execute(context) {
|
||||
if (!base_1.checkDad)
|
||||
return;
|
||||
await net_1.sendMessage(context, 'ща втащу');
|
||||
}
|
||||
}
|
||||
exports.Dad = Dad;
|
||||
//# sourceMappingURL=dad.js.map
|
||||
@@ -1 +0,0 @@
|
||||
{"version":3,"file":"dad.js","sourceRoot":"","sources":["dad.ts"],"names":[],"mappings":";;AACA,uCAAsD;AACtD,qCAAwC;AAExC,MAAa,GAAG;IAAhB;QACI,WAAM,GAAG,kBAAkB,CAAA;IAQ/B,CAAC;IALG,KAAK,CAAC,OAAO,CAAC,OAAuB;QACjC,IAAI,CAAC,eAAQ;YAAE,OAAM;QAErB,MAAM,iBAAW,CAAC,OAAO,EAAE,UAAU,CAAC,CAAA;IAC1C,CAAC;CACJ;AATD,kBASC"}
|
||||
@@ -1,14 +0,0 @@
|
||||
import {Command} from "./base/command";
|
||||
import {checkDad, MessageContext} from "../base/base";
|
||||
import {sendMessage} from "../base/net";
|
||||
|
||||
export class Dad implements Command {
|
||||
regexp = /бат(ь|я|ька|ёк)/i
|
||||
title: 'бать'
|
||||
|
||||
async execute(context: MessageContext) {
|
||||
if (!checkDad) return
|
||||
|
||||
await sendMessage(context, 'ща втащу')
|
||||
}
|
||||
}
|
||||
@@ -1,16 +0,0 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
const base_1 = require("../base/base");
|
||||
const net_1 = require("../base/net");
|
||||
class FuckYou {
|
||||
constructor() {
|
||||
this.regexp = /(иди|пош([её])л)\s(нахуй|на\sхуй)/i;
|
||||
}
|
||||
async execute(context) {
|
||||
if (!base_1.biteDick)
|
||||
return;
|
||||
await net_1.sendMessage(context, 'кусай за хуй');
|
||||
}
|
||||
}
|
||||
exports.FuckYou = FuckYou;
|
||||
//# sourceMappingURL=fuckYou.js.map
|
||||
@@ -1 +0,0 @@
|
||||
{"version":3,"file":"fuckYou.js","sourceRoot":"","sources":["fuckYou.ts"],"names":[],"mappings":";;AACA,uCAAsD;AACtD,qCAAwC;AAExC,MAAa,OAAO;IAApB;QACI,WAAM,GAAG,oCAAoC,CAAA;IAQjD,CAAC;IALG,KAAK,CAAC,OAAO,CAAC,OAAuB;QACjC,IAAI,CAAC,eAAQ;YAAE,OAAM;QAErB,MAAM,iBAAW,CAAC,OAAO,EAAE,cAAc,CAAC,CAAA;IAC9C,CAAC;CACJ;AATD,0BASC"}
|
||||
@@ -1,14 +0,0 @@
|
||||
import {Command} from "./base/command";
|
||||
import {biteDick, MessageContext} from "../base/base";
|
||||
import {sendMessage} from "../base/net";
|
||||
|
||||
export class FuckYou implements Command {
|
||||
regexp = /(иди|пош([её])л)\s(нахуй|на\sхуй)/i
|
||||
title: 'иди нахуй'
|
||||
|
||||
async execute(context: MessageContext) {
|
||||
if (!biteDick) return
|
||||
|
||||
await sendMessage(context, 'кусай за хуй')
|
||||
}
|
||||
}
|
||||
@@ -1,14 +0,0 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
const net_1 = require("../base/net");
|
||||
class Help {
|
||||
constructor() {
|
||||
this.regexp = /^\/help/i;
|
||||
}
|
||||
async execute(context) {
|
||||
const text = "Все вопросы к @melodaaa";
|
||||
return net_1.sendMessage(context, text);
|
||||
}
|
||||
}
|
||||
exports.Help = Help;
|
||||
//# sourceMappingURL=help.js.map
|
||||
@@ -1 +0,0 @@
|
||||
{"version":3,"file":"help.js","sourceRoot":"","sources":["help.ts"],"names":[],"mappings":";;AAEA,qCAAwC;AAExC,MAAa,IAAI;IAAjB;QACI,WAAM,GAAG,UAAU,CAAA;IAWvB,CAAC;IAPG,KAAK,CAAC,OAAO,CAAC,OAAuB;QACjC,MAAM,IAAI,GAAG,yBAAyB,CAAA;QACtC,OAAO,iBAAW,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;IACrC,CAAC;CAIJ;AAZD,oBAYC"}
|
||||
@@ -1,17 +0,0 @@
|
||||
import {Command} from "./base/command";
|
||||
import {MessageContext} from "../base/base";
|
||||
import {sendMessage} from "../base/net";
|
||||
|
||||
export class Help implements Command {
|
||||
regexp = /^\/help/i
|
||||
title: '/help'
|
||||
description: 'help'
|
||||
|
||||
async execute(context: MessageContext) {
|
||||
const text = "Все вопросы к @melodaaa"
|
||||
return sendMessage(context, text)
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
@@ -1,16 +0,0 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
const base_1 = require("../base/base");
|
||||
const net_1 = require("../base/net");
|
||||
class Mom {
|
||||
constructor() {
|
||||
this.regexp = /ма(ма|му|ть|ы|ой)/i;
|
||||
}
|
||||
async execute(context) {
|
||||
if (!base_1.checkMom)
|
||||
return;
|
||||
await net_1.sendMessage(context, 'мать не трож');
|
||||
}
|
||||
}
|
||||
exports.Mom = Mom;
|
||||
//# sourceMappingURL=mom.js.map
|
||||
@@ -1 +0,0 @@
|
||||
{"version":3,"file":"mom.js","sourceRoot":"","sources":["mom.ts"],"names":[],"mappings":";;AACA,uCAAsD;AACtD,qCAAwC;AAExC,MAAa,GAAG;IAAhB;QACI,WAAM,GAAG,oBAAoB,CAAA;IAQjC,CAAC;IALG,KAAK,CAAC,OAAO,CAAC,OAAuB;QACjC,IAAI,CAAC,eAAQ;YAAE,OAAM;QAErB,MAAM,iBAAW,CAAC,OAAO,EAAE,cAAc,CAAC,CAAA;IAC9C,CAAC;CACJ;AATD,kBASC"}
|
||||
@@ -1,14 +0,0 @@
|
||||
import {Command} from "./base/command";
|
||||
import {checkMom, MessageContext} from "../base/base";
|
||||
import {sendMessage} from "../base/net";
|
||||
|
||||
export class Mom implements Command {
|
||||
regexp = /ма(ма|му|ть|ы|ой)/i
|
||||
title: 'мать'
|
||||
|
||||
async execute(context: MessageContext) {
|
||||
if (!checkMom) return
|
||||
|
||||
await sendMessage(context, 'мать не трож')
|
||||
}
|
||||
}
|
||||
@@ -1,23 +0,0 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
const db_1 = require("../base/db");
|
||||
const net_1 = require("../base/net");
|
||||
class Mute {
|
||||
constructor() {
|
||||
this.regexp = /^\/mute/i;
|
||||
}
|
||||
async execute(context, params, reply) {
|
||||
if (!reply)
|
||||
return;
|
||||
const id = context.repliedMessage.senderId;
|
||||
const text = context.repliedMessage.getFullSenderTitle();
|
||||
if (db_1.addMute(id)) {
|
||||
await net_1.sendMessage(context, text + ' в муте! 🚫');
|
||||
}
|
||||
else {
|
||||
await net_1.sendMessage(context, text + ' уже в муте 🤔');
|
||||
}
|
||||
}
|
||||
}
|
||||
exports.Mute = Mute;
|
||||
//# sourceMappingURL=mute.js.map
|
||||
@@ -1 +0,0 @@
|
||||
{"version":3,"file":"mute.js","sourceRoot":"","sources":["mute.ts"],"names":[],"mappings":";;AACA,mCAAmC;AACnC,qCAAwC;AAGxC,MAAa,IAAI;IAAjB;QACI,WAAM,GAAG,UAAU,CAAA;IAkBvB,CAAC;IAbG,KAAK,CAAC,OAAO,CAAC,OAAuB,EAAE,MAAgB,EAAE,KAAqB;QAC1E,IAAI,CAAC,KAAK;YAAE,OAAM;QAElB,MAAM,EAAE,GAAG,OAAO,CAAC,cAAc,CAAC,QAAQ,CAAA;QAE1C,MAAM,IAAI,GAAG,OAAO,CAAC,cAAc,CAAC,kBAAkB,EAAE,CAAA;QAExD,IAAI,YAAO,CAAC,EAAE,CAAC,EAAE;YACb,MAAM,iBAAW,CAAC,OAAO,EAAE,IAAI,GAAG,aAAa,CAAC,CAAA;SACnD;aAAM;YACH,MAAM,iBAAW,CAAC,OAAO,EAAE,IAAI,GAAG,gBAAgB,CAAC,CAAA;SACtD;IACL,CAAC;CACJ;AAnBD,oBAmBC"}
|
||||
@@ -1,25 +0,0 @@
|
||||
import {Command} from "./base/command";
|
||||
import {addMute} from "../base/db";
|
||||
import {sendMessage} from "../base/net";
|
||||
import {MessageContext} from "../base/base";
|
||||
|
||||
export class Mute implements Command {
|
||||
regexp = /^\/mute/i
|
||||
title: '/mute'
|
||||
description: 'игнор участника со стороны бота'
|
||||
requireAdmin: true
|
||||
|
||||
async execute(context: MessageContext, params: string[], reply: MessageContext) {
|
||||
if (!reply) return
|
||||
|
||||
const id = context.repliedMessage.senderId
|
||||
|
||||
const text = context.repliedMessage.getFullSenderTitle()
|
||||
|
||||
if (addMute(id)) {
|
||||
await sendMessage(context, text + ' в муте! 🚫')
|
||||
} else {
|
||||
await sendMessage(context, text + ' уже в муте 🤔')
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,20 +0,0 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
const base_1 = require("../base/base");
|
||||
const net_1 = require("../base/net");
|
||||
class Ping {
|
||||
constructor() {
|
||||
this.regexp = /^\/ping/i;
|
||||
}
|
||||
async execute(context) {
|
||||
await net_1.sendMessage(context, 'pong').then(async () => {
|
||||
const nowMillis = new Date().getMilliseconds();
|
||||
const change = Math.abs(nowMillis - base_1.startTime);
|
||||
await net_1.sendMessage(context, `ping: ${change} ms`).then(() => {
|
||||
base_1.setStartTime(0);
|
||||
});
|
||||
});
|
||||
}
|
||||
}
|
||||
exports.Ping = Ping;
|
||||
//# sourceMappingURL=ping.js.map
|
||||
@@ -1 +0,0 @@
|
||||
{"version":3,"file":"ping.js","sourceRoot":"","sources":["ping.ts"],"names":[],"mappings":";;AACA,uCAAqE;AACrE,qCAAwC;AAExC,MAAa,IAAI;IAAjB;QACI,WAAM,GAAG,UAAU,CAAA;IAgBvB,CAAC;IAZG,KAAK,CAAC,OAAO,CAAC,OAAuB;QACjC,MAAM,iBAAW,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE;YAC/C,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,eAAe,EAAE,CAAA;YAE9C,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,gBAAS,CAAC,CAAA;YAC9C,MAAM,iBAAW,CAAC,OAAO,EAAE,SAAS,MAAM,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;gBACvD,mBAAY,CAAC,CAAC,CAAC,CAAA;YACnB,CAAC,CAAC,CAAA;QACN,CAAC,CAAC,CAAA;IACN,CAAC;CAGJ;AAjBD,oBAiBC"}
|
||||
@@ -1,22 +0,0 @@
|
||||
import {Command} from "./base/command";
|
||||
import {MessageContext, setStartTime, startTime} from "../base/base";
|
||||
import {sendMessage} from "../base/net";
|
||||
|
||||
export class Ping implements Command {
|
||||
regexp = /^\/ping/i
|
||||
title: '/ping'
|
||||
description: 'задержа между получаемым сообщением и отправленным'
|
||||
|
||||
async execute(context: MessageContext) {
|
||||
await sendMessage(context, 'pong').then(async () => {
|
||||
const nowMillis = new Date().getMilliseconds()
|
||||
|
||||
const change = Math.abs(nowMillis - startTime)
|
||||
await sendMessage(context, `ping: ${change} ms`).then(() => {
|
||||
setStartTime(0)
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -1,14 +0,0 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
const net_1 = require("../base/net");
|
||||
class Q {
|
||||
constructor() {
|
||||
this.regexp = /^(\/q|умри)/i;
|
||||
}
|
||||
async execute(context, params, reply) {
|
||||
await net_1.sendMessage(context, 'пака');
|
||||
process.exit();
|
||||
}
|
||||
}
|
||||
exports.Q = Q;
|
||||
//# sourceMappingURL=q.js.map
|
||||
@@ -1 +0,0 @@
|
||||
{"version":3,"file":"q.js","sourceRoot":"","sources":["q.ts"],"names":[],"mappings":";;AACA,qCAAwC;AAGxC,MAAa,CAAC;IAAd;QACI,WAAM,GAAG,cAAc,CAAA;IAU3B,CAAC;IANG,KAAK,CAAC,OAAO,CAAC,OAAuB,EAAE,MAAgB,EAAE,KAAqB;QAC1E,MAAM,iBAAW,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;QAElC,OAAO,CAAC,IAAI,EAAE,CAAA;IAClB,CAAC;CAEJ;AAXD,cAWC"}
|
||||
@@ -1,16 +0,0 @@
|
||||
import {Command} from "./base/command";
|
||||
import {sendMessage} from "../base/net";
|
||||
import {MessageContext} from "../base/base";
|
||||
|
||||
export class Q implements Command {
|
||||
regexp = /^(\/q|умри)/i
|
||||
title: '/q or умри'
|
||||
requireAdmin: true
|
||||
|
||||
async execute(context: MessageContext, params: string[], reply: MessageContext) {
|
||||
await sendMessage(context, 'пака')
|
||||
|
||||
process.exit()
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,21 +0,0 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
const base_1 = require("../base/base");
|
||||
const net_1 = require("../base/net");
|
||||
class RandomString {
|
||||
constructor() {
|
||||
this.regexp = /^\/randomstring\s(\d+)/i;
|
||||
}
|
||||
async execute(context, params) {
|
||||
const l = parseInt(params[1]);
|
||||
const length = l > 100 && context.senderId != base_1.CREATOR_ID ? 100 : l;
|
||||
let result = '';
|
||||
const characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzАБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдеёжзийклмнопрстуфхцчшщъыьэюя0123456789';
|
||||
for (let i = 0; i < length; i++) {
|
||||
result += characters.charAt(base_1.getRandomInt(characters.length));
|
||||
}
|
||||
await net_1.sendMessage(context, result);
|
||||
}
|
||||
}
|
||||
exports.RandomString = RandomString;
|
||||
//# sourceMappingURL=randomString.js.map
|
||||
@@ -1 +0,0 @@
|
||||
{"version":3,"file":"randomString.js","sourceRoot":"","sources":["randomString.ts"],"names":[],"mappings":";;AACA,uCAAsE;AACtE,qCAAwC;AAExC,MAAa,YAAY;IAAzB;QACI,WAAM,GAAG,yBAAyB,CAAA;IAmBtC,CAAC;IAfG,KAAK,CAAC,OAAO,CAAC,OAAuB,EAAE,MAAgB;QACnD,MAAM,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;QAE7B,MAAM,MAAM,GAAG,CAAC,GAAG,GAAG,IAAI,OAAO,CAAC,QAAQ,IAAI,iBAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;QAElE,IAAI,MAAM,GAAG,EAAE,CAAC;QAEhB,MAAM,UAAU,GAAG,kIAAkI,CAAC;QAEtJ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE;YAC7B,MAAM,IAAI,UAAU,CAAC,MAAM,CAAC,mBAAY,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;SAChE;QAED,MAAM,iBAAW,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;IACtC,CAAC;CACJ;AApBD,oCAoBC"}
|
||||
@@ -1,25 +0,0 @@
|
||||
import {Command} from "./base/command";
|
||||
import {CREATOR_ID, getRandomInt, MessageContext} from "../base/base";
|
||||
import {sendMessage} from "../base/net";
|
||||
|
||||
export class RandomString implements Command {
|
||||
regexp = /^\/randomstring\s(\d+)/i
|
||||
title: '/randomString [length]'
|
||||
description: 'строка из рандомных символов. Лимит 100 символов'
|
||||
|
||||
async execute(context: MessageContext, params: string[]) {
|
||||
const l = parseInt(params[1])
|
||||
|
||||
const length = l > 100 && context.senderId != CREATOR_ID ? 100 : l
|
||||
|
||||
let result = '';
|
||||
|
||||
const characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzАБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдеёжзийклмнопрстуфхцчшщъыьэюя0123456789';
|
||||
|
||||
for (let i = 0; i < length; i++) {
|
||||
result += characters.charAt(getRandomInt(characters.length));
|
||||
}
|
||||
|
||||
await sendMessage(context, result)
|
||||
}
|
||||
}
|
||||
@@ -1,14 +0,0 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
const base_1 = require("../base/base");
|
||||
const net_1 = require("../base/net");
|
||||
class SystemSpecs {
|
||||
constructor() {
|
||||
this.regexp = /^\/systemspecs/i;
|
||||
}
|
||||
async execute(context) {
|
||||
await net_1.sendMessage(context, base_1.systemSpecsText);
|
||||
}
|
||||
}
|
||||
exports.SystemSpecs = SystemSpecs;
|
||||
//# sourceMappingURL=systemSpecs.js.map
|
||||
@@ -1 +0,0 @@
|
||||
{"version":3,"file":"systemSpecs.js","sourceRoot":"","sources":["systemSpecs.ts"],"names":[],"mappings":";;AACA,uCAA6D;AAC7D,qCAAwC;AAExC,MAAa,WAAW;IAAxB;QAEI,WAAM,GAAG,iBAAiB,CAAA;IAM9B,CAAC;IAJG,KAAK,CAAC,OAAO,CAAC,OAAuB;QACjC,MAAM,iBAAW,CAAC,OAAO,EAAE,sBAAe,CAAC,CAAA;IAC/C,CAAC;CAEJ;AARD,kCAQC"}
|
||||
@@ -1,13 +0,0 @@
|
||||
import {Command} from "./base/command";
|
||||
import {MessageContext, systemSpecsText} from "../base/base";
|
||||
import {sendMessage} from "../base/net";
|
||||
|
||||
export class SystemSpecs implements Command {
|
||||
|
||||
regexp = /^\/systemspecs/i
|
||||
|
||||
async execute(context: MessageContext) {
|
||||
await sendMessage(context, systemSpecsText)
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,17 +0,0 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
const base_1 = require("../base/base");
|
||||
const net_1 = require("../base/net");
|
||||
class Test {
|
||||
constructor() {
|
||||
this.regexp = /^(test|тест|еуые|ntcn|инноке(нтий|ш|нтич))/i;
|
||||
}
|
||||
async execute(context) {
|
||||
if (!base_1.testAnswer)
|
||||
return;
|
||||
const index = base_1.getRandomInt(base_1.testAnswers.length);
|
||||
await net_1.sendMessage(context, base_1.testAnswers[index]);
|
||||
}
|
||||
}
|
||||
exports.Test = Test;
|
||||
//# sourceMappingURL=test.js.map
|
||||
@@ -1 +0,0 @@
|
||||
{"version":3,"file":"test.js","sourceRoot":"","sources":["test.ts"],"names":[],"mappings":";;AACA,uCAAmF;AACnF,qCAAwC;AAExC,MAAa,IAAI;IAAjB;QAEI,WAAM,GAAG,6CAA6C,CAAA;IAS1D,CAAC;IAPG,KAAK,CAAC,OAAO,CAAC,OAAuB;QACjC,IAAI,CAAC,iBAAU;YAAE,OAAM;QAEvB,MAAM,KAAK,GAAG,mBAAY,CAAC,kBAAW,CAAC,MAAM,CAAC,CAAA;QAC9C,MAAM,iBAAW,CAAC,OAAO,EAAE,kBAAW,CAAC,KAAK,CAAC,CAAC,CAAA;IAClD,CAAC;CAEJ;AAXD,oBAWC"}
|
||||
@@ -1,16 +0,0 @@
|
||||
import {Command} from "./base/command";
|
||||
import {getRandomInt, MessageContext, testAnswer, testAnswers} from "../base/base";
|
||||
import {sendMessage} from "../base/net";
|
||||
|
||||
export class Test implements Command {
|
||||
|
||||
regexp = /^(test|тест|еуые|ntcn|инноке(нтий|ш|нтич))/i
|
||||
|
||||
async execute(context: MessageContext) {
|
||||
if (!testAnswer) return
|
||||
|
||||
const index = getRandomInt(testAnswers.length)
|
||||
await sendMessage(context, testAnswers[index])
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,23 +0,0 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
const db_1 = require("../base/db");
|
||||
const net_1 = require("../base/net");
|
||||
class Unmute {
|
||||
constructor() {
|
||||
this.regexp = /^\/unmute/i;
|
||||
}
|
||||
async execute(context, params, reply) {
|
||||
if (!reply)
|
||||
return;
|
||||
const id = context.repliedMessage.senderId;
|
||||
const text = context.repliedMessage.getFullSenderTitle();
|
||||
if (db_1.removeMute(id)) {
|
||||
await net_1.sendMessage(context, text + ' больше не в муте! 😁');
|
||||
}
|
||||
else {
|
||||
await net_1.sendMessage(context, text + ' не был в муте 🤔');
|
||||
}
|
||||
}
|
||||
}
|
||||
exports.Unmute = Unmute;
|
||||
//# sourceMappingURL=unmute.js.map
|
||||
@@ -1 +0,0 @@
|
||||
{"version":3,"file":"unmute.js","sourceRoot":"","sources":["unmute.ts"],"names":[],"mappings":";;AACA,mCAAsC;AACtC,qCAAwC;AAGxC,MAAa,MAAM;IAAnB;QACI,WAAM,GAAG,YAAY,CAAA;IAkBzB,CAAC;IAbG,KAAK,CAAC,OAAO,CAAC,OAAuB,EAAE,MAAgB,EAAE,KAAqB;QAC1E,IAAI,CAAC,KAAK;YAAE,OAAM;QAElB,MAAM,EAAE,GAAG,OAAO,CAAC,cAAc,CAAC,QAAQ,CAAA;QAE1C,MAAM,IAAI,GAAG,OAAO,CAAC,cAAc,CAAC,kBAAkB,EAAE,CAAA;QAExD,IAAI,eAAU,CAAC,EAAE,CAAC,EAAE;YAChB,MAAM,iBAAW,CAAC,OAAO,EAAE,IAAI,GAAG,uBAAuB,CAAC,CAAA;SAC7D;aAAM;YACH,MAAM,iBAAW,CAAC,OAAO,EAAE,IAAI,GAAG,mBAAmB,CAAC,CAAA;SACzD;IACL,CAAC;CACJ;AAnBD,wBAmBC"}
|
||||
@@ -1,25 +0,0 @@
|
||||
import {Command} from "./base/command";
|
||||
import {removeMute} from "../base/db";
|
||||
import {sendMessage} from "../base/net";
|
||||
import {MessageContext} from "../base/base";
|
||||
|
||||
export class Unmute implements Command {
|
||||
regexp = /^\/unmute/i
|
||||
title: '/unmute'
|
||||
description: 'удаление из мут листа'
|
||||
requireAdmin: true
|
||||
|
||||
async execute(context: MessageContext, params: string[], reply: MessageContext) {
|
||||
if (!reply) return
|
||||
|
||||
const id = context.repliedMessage.senderId
|
||||
|
||||
const text = context.repliedMessage.getFullSenderTitle()
|
||||
|
||||
if (removeMute(id)) {
|
||||
await sendMessage(context, text + ' больше не в муте! 😁')
|
||||
} else {
|
||||
await sendMessage(context, text + ' не был в муте 🤔')
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,7 +0,0 @@
|
||||
{
|
||||
"admins": [475823381, 1686703180, 916147576],
|
||||
"chats": [],
|
||||
"users": [],
|
||||
"notes": [],
|
||||
"muted": []
|
||||
}
|
||||
@@ -1 +0,0 @@
|
||||
{"admins":[475823381,1686703180,916147576],"chats":[],"users":[],"notes":[],"muted":[]}
|
||||
@@ -0,0 +1,12 @@
|
||||
import "dotenv/config";
|
||||
import {defineConfig} from "drizzle-kit";
|
||||
import {Environment} from "./src/common/environment";
|
||||
|
||||
export default defineConfig({
|
||||
out: "./drizzle",
|
||||
schema: "./src/db/schema.ts",
|
||||
dialect: "sqlite",
|
||||
dbCredentials: {
|
||||
url: Environment.DB_PATH,
|
||||
},
|
||||
});
|
||||
@@ -1,10 +0,0 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
const base_1 = require("./base/base");
|
||||
const db_1 = require("./base/db");
|
||||
const net_1 = require("./base/net");
|
||||
base_1.initSystemSpecs();
|
||||
db_1.readData();
|
||||
db_1.retrieveAnswers();
|
||||
net_1.startBot();
|
||||
//# sourceMappingURL=index.js.map
|
||||
@@ -1 +0,0 @@
|
||||
{"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":";;AAAA,sCAA4C;AAC5C,kCAAoD;AACpD,oCAAoC;AAGpC,sBAAe,EAAE,CAAA;AAEjB,aAAQ,EAAE,CAAA;AACV,oBAAe,EAAE,CAAA;AACjB,cAAQ,EAAE,CAAA"}
|
||||
@@ -1,10 +0,0 @@
|
||||
import {initSystemSpecs} from "./base/base";
|
||||
import {readData, retrieveAnswers} from "./base/db";
|
||||
import {startBot} from "./base/net";
|
||||
|
||||
|
||||
initSystemSpecs()
|
||||
|
||||
readData()
|
||||
retrieveAnswers()
|
||||
startBot()
|
||||
Generated
+6573
-314
File diff suppressed because it is too large
Load Diff
+32
-7
@@ -1,12 +1,37 @@
|
||||
{
|
||||
"name": "tg-ts-bot",
|
||||
"name": "tg-chat-bot",
|
||||
"main": "src/index.ts",
|
||||
"version": "1.0.0",
|
||||
"scripts": {
|
||||
"build": "tsc",
|
||||
"start": "node dist/index.js",
|
||||
"bun:build": "bun run src/index.ts",
|
||||
"bun:start": "bun run dist/index.js"
|
||||
},
|
||||
"dependencies": {
|
||||
"@types/node": "^14.14.31",
|
||||
"fs": "0.0.1-security",
|
||||
"node-fetch": "^2.6.1",
|
||||
"systeminfo": "0.0.1",
|
||||
"systeminformation": "^5.6.1",
|
||||
"telebot": "^1.4.1"
|
||||
"@google/genai": "^1.34.0",
|
||||
"@libsql/client": "^0.15.15",
|
||||
"@napi-rs/canvas": "^0.1.88",
|
||||
"@types/bun": "^1.3.5",
|
||||
"@types/node": "^25.0.3",
|
||||
"axios": "^1.13.2",
|
||||
"dotenv": "^17.2.3",
|
||||
"drizzle-orm": "^1.0.0-beta.9-e89174b",
|
||||
"emoji-regex": "^10.6.0",
|
||||
"ollama": "^0.6.3",
|
||||
"qrcode": "^1.5.4",
|
||||
"sharp": "^0.34.5",
|
||||
"systeminformation": "^5.27.14",
|
||||
"twemoji": "^14.0.2",
|
||||
"typescript-telegram-bot-api": "^0.11.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/qrcode": "^1.5.6",
|
||||
"@typescript-eslint/eslint-plugin": "8.46.3",
|
||||
"@typescript-eslint/parser": "8.46.3",
|
||||
"drizzle-kit": "^0.31.8",
|
||||
"eslint": "9.39.1",
|
||||
"tsx": "^4.21.0",
|
||||
"typescript": "^5.9.3"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,42 @@
|
||||
/* eslint-disable no-unused-vars */
|
||||
import {CallbackQuery, InlineKeyboardButton} from "typescript-telegram-bot-api";
|
||||
import {Requirements} from "./requirements";
|
||||
import {bot} from "../index";
|
||||
|
||||
export abstract class CallbackCommand {
|
||||
|
||||
abstract text: string;
|
||||
abstract data: string;
|
||||
requirements?: Requirements = null;
|
||||
|
||||
abstract execute(query: CallbackQuery): Promise<void>;
|
||||
|
||||
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
||||
afterExecute(query: CallbackQuery): Promise<void> {
|
||||
return Promise.resolve();
|
||||
}
|
||||
|
||||
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
||||
protected getOptions(query: CallbackQuery): AnswerCallbackQueryOptions {
|
||||
return {callback_query_id: query.id};
|
||||
}
|
||||
|
||||
async answerCallbackQuery(query: CallbackQuery): Promise<void> {
|
||||
bot.answerCallbackQuery(this.getOptions(query)).catch(console.error);
|
||||
}
|
||||
|
||||
asButton(): InlineKeyboardButton {
|
||||
return {
|
||||
text: this.text,
|
||||
callback_data: this.data
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
export interface AnswerCallbackQueryOptions {
|
||||
callback_query_id: string;
|
||||
text?: string;
|
||||
show_alert?: boolean;
|
||||
url?: string;
|
||||
cache_time?: number;
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
import {Message} from "typescript-telegram-bot-api";
|
||||
import {Requirements} from "./requirements";
|
||||
|
||||
export abstract class ChatCommand {
|
||||
|
||||
abstract regexp: RegExp;
|
||||
requirements?: Requirements = null;
|
||||
title?: string;
|
||||
description?: string;
|
||||
|
||||
abstract execute(
|
||||
msg: Message,
|
||||
match?: RegExpExecArray
|
||||
): Promise<void>;
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
export abstract class Dao<I> {
|
||||
abstract getAll(): Promise<I[]>;
|
||||
|
||||
abstract getById(params: never): Promise<I | null>
|
||||
|
||||
abstract getByIds(params: never): Promise<I[]>
|
||||
|
||||
abstract insert(items: never[]): Promise<true>
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
export enum Requirement {
|
||||
BOT_CREATOR,
|
||||
BOT_ADMIN,
|
||||
BOT_CHAT_ADMIN,
|
||||
CHAT,
|
||||
REPLY
|
||||
}
|
||||
@@ -0,0 +1,33 @@
|
||||
import {Requirement} from "./requirement";
|
||||
|
||||
export class Requirements {
|
||||
requirements: Requirement[] = [];
|
||||
|
||||
private constructor(requirements?: Requirement[]) {
|
||||
this.requirements = requirements;
|
||||
}
|
||||
|
||||
static Build(...requirements: Requirement[]): Requirements {
|
||||
return new Requirements(requirements);
|
||||
}
|
||||
|
||||
isRequiresBotCreator(): boolean {
|
||||
return this.requirements.includes(Requirement.BOT_CREATOR);
|
||||
}
|
||||
|
||||
isRequiresBotAdmin(): boolean {
|
||||
return this.requirements.includes(Requirement.BOT_ADMIN);
|
||||
}
|
||||
|
||||
isRequiresBotChatAdmin(): boolean {
|
||||
return this.requirements.includes(Requirement.BOT_CHAT_ADMIN);
|
||||
}
|
||||
|
||||
isRequiresChat(): boolean {
|
||||
return this.requirements.includes(Requirement.CHAT);
|
||||
}
|
||||
|
||||
isRequiresReply(): boolean {
|
||||
return this.requirements.includes(Requirement.REPLY);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,42 @@
|
||||
import {ChatCommand} from "../base/chat-command";
|
||||
import {Message} from "typescript-telegram-bot-api";
|
||||
import {Requirements} from "../base/requirements";
|
||||
import {Requirement} from "../base/requirement";
|
||||
import {fullName, logError, oldSendMessage} from "../util/utils";
|
||||
import {Environment} from "../common/environment";
|
||||
import {botUser} from "../index";
|
||||
|
||||
export class AdminsAdd extends ChatCommand {
|
||||
regexp = /^\/addadmin/i;
|
||||
title = "/addAdmin";
|
||||
description = "Add user to admins";
|
||||
|
||||
requirements = Requirements.Build(
|
||||
Requirement.BOT_CREATOR,
|
||||
Requirement.REPLY,
|
||||
Requirement.CHAT
|
||||
);
|
||||
|
||||
async execute(msg: Message): Promise<void> {
|
||||
if (!msg.reply_to_message) return;
|
||||
|
||||
const id = msg.reply_to_message.from.id;
|
||||
const text = fullName(msg.reply_to_message.from);
|
||||
|
||||
if (id === botUser.id) {
|
||||
await oldSendMessage(msg, "Бот не может сам себя сделать админом").catch(logError);
|
||||
return;
|
||||
}
|
||||
|
||||
if (id === Environment.CREATOR_ID) {
|
||||
await oldSendMessage(msg, "Создатель бота и так является админом").catch(logError);
|
||||
return;
|
||||
}
|
||||
|
||||
if (await Environment.addAdmin(id)) {
|
||||
await oldSendMessage(msg, text + " теперь админ!").catch(logError);
|
||||
} else {
|
||||
await oldSendMessage(msg, text + " и так уже админ 🤔").catch(logError);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,42 @@
|
||||
import {ChatCommand} from "../base/chat-command";
|
||||
import {Message} from "typescript-telegram-bot-api";
|
||||
import {Requirements} from "../base/requirements";
|
||||
import {Requirement} from "../base/requirement";
|
||||
import {fullName, logError, oldSendMessage} from "../util/utils";
|
||||
import {Environment} from "../common/environment";
|
||||
import {botUser} from "../index";
|
||||
|
||||
export class AdminsRemove extends ChatCommand {
|
||||
regexp = /^\/removeadmin/i;
|
||||
title = "/removeAdmin";
|
||||
description = "Remove user from admins";
|
||||
|
||||
requirements = Requirements.Build(
|
||||
Requirement.BOT_ADMIN,
|
||||
Requirement.REPLY,
|
||||
Requirement.CHAT,
|
||||
);
|
||||
|
||||
async execute(msg: Message): Promise<void> {
|
||||
if (!msg.reply_to_message) return;
|
||||
|
||||
const id = msg.reply_to_message.from.id;
|
||||
const text = fullName(msg.reply_to_message.from);
|
||||
|
||||
if (id === botUser.id) {
|
||||
await oldSendMessage(msg, "Бот не может сам себя убрать из админов").catch(logError);
|
||||
return;
|
||||
}
|
||||
|
||||
if (id === Environment.CREATOR_ID) {
|
||||
await oldSendMessage(msg, "Создатель бота не может перестать быть админом").catch(logError);
|
||||
return;
|
||||
}
|
||||
|
||||
if (await Environment.removeAdmin(id)) {
|
||||
await oldSendMessage(msg, text + " больше не админ!").catch(logError);
|
||||
} else {
|
||||
await oldSendMessage(msg, text + " и так не был админом 🤔").catch(logError);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,37 @@
|
||||
import {ChatCommand} from "../base/chat-command";
|
||||
import {Message} from "typescript-telegram-bot-api";
|
||||
import {errorPlaceholder, logError, oldSendMessage} from "../util/utils";
|
||||
import {Requirements} from "../base/requirements";
|
||||
import {Requirement} from "../base/requirement";
|
||||
|
||||
export class Ae implements ChatCommand {
|
||||
regexp = /^\/ae\s([^]+)/i;
|
||||
title = "/ae";
|
||||
description = "evaluation";
|
||||
|
||||
requirements = Requirements.Build(Requirement.BOT_CREATOR);
|
||||
|
||||
async execute(msg: Message, params: string[]) {
|
||||
const match = params[1];
|
||||
|
||||
try {
|
||||
let e = eval(match);
|
||||
|
||||
e = ((typeof e == "string") ? e : JSON.stringify(e));
|
||||
|
||||
await oldSendMessage(msg, e).catch(async () => await errorPlaceholder(msg));
|
||||
} catch (e) {
|
||||
const text = e.message.toString();
|
||||
|
||||
if (text.includes("is not defined")) {
|
||||
await oldSendMessage(msg, "variable is not defined").catch(logError);
|
||||
return;
|
||||
}
|
||||
|
||||
console.error(`${text}
|
||||
* Stacktrace: ${e.stack}`);
|
||||
|
||||
await oldSendMessage(msg, text).catch(logError);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,50 @@
|
||||
import {ChatCommand} from "../base/chat-command";
|
||||
import {Requirements} from "../base/requirements";
|
||||
import {Requirement} from "../base/requirement";
|
||||
import {Message} from "typescript-telegram-bot-api";
|
||||
import {bot, botUser} from "../index";
|
||||
import {fullName, logError, oldSendMessage, replyToMessage} from "../util/utils";
|
||||
import {Environment} from "../common/environment";
|
||||
|
||||
export class Ban extends ChatCommand {
|
||||
regexp = /^\/ban/i;
|
||||
title = "/ban [reply]";
|
||||
description = "ban user from chat";
|
||||
|
||||
requirements = Requirements.Build(
|
||||
Requirement.CHAT,
|
||||
Requirement.BOT_CHAT_ADMIN,
|
||||
Requirement.REPLY,
|
||||
Requirement.BOT_ADMIN
|
||||
);
|
||||
|
||||
async execute(msg: Message) {
|
||||
if (!msg.reply_to_message) return;
|
||||
|
||||
const user = msg.reply_to_message.from;
|
||||
const userId = user.id;
|
||||
|
||||
if (userId === botUser.id) {
|
||||
await replyToMessage(msg, "Используй /leave").catch(logError);
|
||||
return;
|
||||
}
|
||||
|
||||
if (userId === Environment.CREATOR_ID) {
|
||||
await replyToMessage(msg, "Бот не будет банить своего создателя.").catch(logError);
|
||||
return;
|
||||
}
|
||||
|
||||
if (msg.from.id !== Environment.CREATOR_ID && Environment.ADMIN_IDS.has(userId)) {
|
||||
await replyToMessage(msg, "Бот не будет банить своих администраторов.").catch(logError);
|
||||
return;
|
||||
}
|
||||
|
||||
bot.banChatMember({chat_id: msg.chat.id, user_id: userId})
|
||||
.then(async () => {
|
||||
await oldSendMessage(msg, `${fullName(user)} забанен 🚫`).catch(logError);
|
||||
})
|
||||
.catch(async () => {
|
||||
await oldSendMessage(msg, `Не смог забанить ${fullName(user)} ☹️`).catch(logError);
|
||||
});
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
import {ChatCommand} from "../base/chat-command";
|
||||
import {Message} from "typescript-telegram-bot-api";
|
||||
import {MessageStore} from "../common/message-store";
|
||||
import {logError, sendMessage} from "../util/utils";
|
||||
import {Requirements} from "../base/requirements";
|
||||
import {Requirement} from "../base/requirement";
|
||||
|
||||
export class CacheClear extends ChatCommand {
|
||||
regexp = /^\/clearcache$/i;
|
||||
|
||||
requirements = Requirements.Build(Requirement.BOT_CREATOR);
|
||||
|
||||
async execute(msg: Message): Promise<void> {
|
||||
const size = MessageStore.all().size;
|
||||
MessageStore.clear();
|
||||
await sendMessage({chatId: msg.chat.id, text: `Было удалено сообщений: ${size}`}).catch(logError);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
import {ChatCommand} from "../base/chat-command";
|
||||
import {Message} from "typescript-telegram-bot-api";
|
||||
import {logError, sendMessage} from "../util/utils";
|
||||
import {MessageStore} from "../common/message-store";
|
||||
|
||||
export class CacheSize extends ChatCommand {
|
||||
regexp = /^\/cachesize$/i;
|
||||
|
||||
async execute(msg: Message): Promise<void> {
|
||||
const cacheSize = MessageStore.all();
|
||||
|
||||
await sendMessage({
|
||||
chatId: msg.chat.id,
|
||||
text: `Количество сохранённых сообщений: ${cacheSize.size}`
|
||||
}).catch(logError);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,37 @@
|
||||
import {ChatCommand} from "../base/chat-command";
|
||||
import {Message} from "typescript-telegram-bot-api";
|
||||
import {logError, randomValue, replyToMessage} from "../util/utils";
|
||||
|
||||
export class Choice extends ChatCommand {
|
||||
regexp = /^\/choice\b\s*(.*)$/i;
|
||||
title = "/choice a, b, ..., c";
|
||||
description = "Выбор случайного значения";
|
||||
|
||||
async execute(msg: Message, match?: RegExpExecArray): Promise<void> {
|
||||
console.log("match", match);
|
||||
|
||||
const payload = match[1];
|
||||
|
||||
const re =
|
||||
/\s*(?:"((?:\\.|[^"\\])*)"|'((?:\\.|[^'\\])*)'|([^,]+?))\s*(?:,|$)/g;
|
||||
|
||||
const out: string[] = [];
|
||||
for (const mm of payload.matchAll(re)) {
|
||||
const raw = (mm[1] ?? mm[2] ?? mm[3] ?? "").trim();
|
||||
|
||||
const val = raw
|
||||
.replace(/\\n/g, "\n")
|
||||
.replace(/\\r/g, "\r")
|
||||
.replace(/\\t/g, "\t")
|
||||
.replace(/\\"/g, "\"")
|
||||
.replace(/\\'/g, "'")
|
||||
.replace(/\\\\/g, "\\");
|
||||
|
||||
if (val.length) out.push(val);
|
||||
}
|
||||
|
||||
const random = randomValue(out);
|
||||
|
||||
await replyToMessage(msg, `Выбрал *${random}*`, "Markdown").catch(logError);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
import {ChatCommand} from "../base/chat-command";
|
||||
import {Message} from "typescript-telegram-bot-api";
|
||||
import {getRangedRandomInt, logError, replyToMessage} from "../util/utils";
|
||||
|
||||
export class Coin extends ChatCommand {
|
||||
regexp = /^\/coin$/i;
|
||||
title = "/coin";
|
||||
description = "Heads or tails";
|
||||
|
||||
async execute(msg: Message): Promise<void> {
|
||||
const random = getRangedRandomInt(0, 2);
|
||||
const headsOrTails = random === 1 ? "Выпал *Орёл* 🪙" : "Выпала *Решка* 🪙";
|
||||
await replyToMessage(msg, headsOrTails, "Markdown").catch(logError); }
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
import {ChatCommand} from "../base/chat-command";
|
||||
import {Message} from "typescript-telegram-bot-api";
|
||||
import {logError, randomValue} from "../util/utils";
|
||||
import {bot} from "../index";
|
||||
|
||||
type DiceEmoji = "🎲" | "🎯" | "🏀" | "⚽" | "🎳" | "🎰";
|
||||
const emojis = ["🎲", "🎯", "🏀", "⚽", "🎳", "🎰"];
|
||||
|
||||
export class Dice extends ChatCommand {
|
||||
regexp = /^\/dice/i;
|
||||
title = "/dice [emoji]";
|
||||
description = "Sends random or specific dice";
|
||||
|
||||
async execute(msg: Message): Promise<void> {
|
||||
const split = msg.text.split("/dice ");
|
||||
const secondPart = split[1]?.trim();
|
||||
const emojiIndex = emojis.indexOf(secondPart);
|
||||
const emojiToDice: DiceEmoji = (emojiIndex >= 0 ? emojis[emojiIndex] : randomValue(emojis)) as DiceEmoji;
|
||||
|
||||
await bot.sendDice({
|
||||
chat_id: msg.chat.id,
|
||||
emoji: emojiToDice,
|
||||
reply_parameters: {
|
||||
message_id: msg.message_id
|
||||
}
|
||||
}).catch(logError);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,56 @@
|
||||
import {ChatCommand} from "../base/chat-command";
|
||||
import {Message} from "typescript-telegram-bot-api";
|
||||
import {downloadTelegramFile, extractImageFileId, logError, replyToMessage, waveDistortSharp} from "../util/utils";
|
||||
import {bot} from "../index";
|
||||
|
||||
export class Distort extends ChatCommand {
|
||||
regexp = /^\/distort(?:@[\w_]+)?(?:\s+(\d+))?(?:\s+(\d+))?\s*$/i;
|
||||
title = "/distort [amp] [wavelength]";
|
||||
description = "Distortion of picture";
|
||||
|
||||
async execute(msg: Message, match?: RegExpExecArray): Promise<void> {
|
||||
const chatId = msg.chat.id;
|
||||
|
||||
const reply = msg.reply_to_message;
|
||||
if (!reply) {
|
||||
await replyToMessage(
|
||||
msg,
|
||||
"Ответь командой /distort на сообщение с картинкой (фото, документ или стикер).\n" + "Пример: /distort 16 80"
|
||||
);
|
||||
return;
|
||||
}
|
||||
|
||||
const fileId = extractImageFileId(reply);
|
||||
if (!fileId) {
|
||||
await replyToMessage(
|
||||
msg,
|
||||
"В реплае не вижу картинку. Пришли фото или файл-изображение."
|
||||
);
|
||||
return;
|
||||
}
|
||||
|
||||
const amp = match?.[1] ? parseInt(match[1], 10) : 14;
|
||||
const wavelength = match?.[2] ? parseInt(match[2], 10) : 72;
|
||||
|
||||
try {
|
||||
await bot.sendChatAction({chat_id: chatId, action: "upload_photo"});
|
||||
|
||||
const file = await bot.getFile({file_id: fileId});
|
||||
if (!file.file_path) throw new Error("No file_path in Telegram getFile response");
|
||||
|
||||
const inputBuf = await downloadTelegramFile(file.file_path);
|
||||
|
||||
const outBuf = await waveDistortSharp(inputBuf, amp, wavelength);
|
||||
|
||||
await bot.sendPhoto({
|
||||
chat_id: chatId,
|
||||
photo: outBuf,
|
||||
caption: `Искажение готово ✅ (amp=${amp}, wavelength=${wavelength})`,
|
||||
});
|
||||
} catch (e) {
|
||||
await replyToMessage(
|
||||
msg, `Не получилось исказить изображение: ${e?.message ?? String(e)}`
|
||||
).catch(logError);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,139 @@
|
||||
import {ChatCommand} from "../base/chat-command";
|
||||
import {Message} from "typescript-telegram-bot-api";
|
||||
import {
|
||||
collectReplyChainText,
|
||||
editMessageText,
|
||||
escapeMarkdownV2Text,
|
||||
logError,
|
||||
replyToMessage,
|
||||
startIntervalEditor
|
||||
} from "../util/utils";
|
||||
import {Environment} from "../common/environment";
|
||||
import {bot, googleAi} from "../index";
|
||||
import {MessageStore} from "../common/message-store";
|
||||
import {Requirements} from "../base/requirements";
|
||||
import {Requirement} from "../base/requirement";
|
||||
import {ApiError} from "@google/genai";
|
||||
|
||||
export class GeminiChat extends ChatCommand {
|
||||
regexp = /^\/gemini\s([^]+)/i;
|
||||
title = "/gemini";
|
||||
description = "Chat with AI (Gemini)";
|
||||
|
||||
requirements = Requirements.Build(Requirement.BOT_CREATOR);
|
||||
|
||||
async execute(msg: Message, match?: RegExpExecArray): Promise<void> {
|
||||
console.log("match", match);
|
||||
return this.executeGemini(msg, match?.[1]);
|
||||
}
|
||||
|
||||
async executeGemini(msg: Message, text: string): Promise<void> {
|
||||
if (!text || text.trim().length === 0) return;
|
||||
|
||||
const chatId = msg.chat.id;
|
||||
|
||||
const messageParts = await collectReplyChainText(msg, "/gemini");
|
||||
console.log("MESSAGE PARTS", messageParts);
|
||||
|
||||
const chatMessages = messageParts.map(part => {
|
||||
return {
|
||||
role: part.bot ? "ASSISTANT" : "USER",
|
||||
content: part.content
|
||||
};
|
||||
});
|
||||
chatMessages.reverse();
|
||||
chatMessages.unshift({role: "SYSTEM", content: Environment.SYSTEM_PROMPT});
|
||||
|
||||
let chatContent = "";
|
||||
for (const part of chatMessages) {
|
||||
chatContent += `${part.role.toUpperCase()}:\n${part.content}\n\n`;
|
||||
}
|
||||
|
||||
chatContent = chatContent.trim();
|
||||
|
||||
let waitMessage: Message;
|
||||
|
||||
const startTime = new Date().getSeconds();
|
||||
|
||||
try {
|
||||
waitMessage = await bot.sendMessage({
|
||||
chat_id: chatId,
|
||||
text: Environment.waitText,
|
||||
reply_parameters: {
|
||||
chat_id: chatId,
|
||||
message_id: msg.message_id
|
||||
}
|
||||
});
|
||||
|
||||
const stream = await googleAi.models.generateContentStream({
|
||||
model: "gemini-2.5-flash",
|
||||
contents: chatContent,
|
||||
});
|
||||
|
||||
let messageText = "";
|
||||
let shouldBreak = false;
|
||||
let diff = 0;
|
||||
|
||||
const editor = startIntervalEditor({
|
||||
intervalMs: 4500,
|
||||
getText: () => messageText,
|
||||
editFn: async (text) => {
|
||||
await editMessageText(chatId, waitMessage.message_id, escapeMarkdownV2Text(text), "Markdown");
|
||||
},
|
||||
});
|
||||
|
||||
try {
|
||||
for await (const chunk of stream) {
|
||||
const text = chunk.text;
|
||||
|
||||
const length = (messageText + text).length;
|
||||
if (length > 4096) {
|
||||
messageText = messageText.slice(0, 4093) + "...";
|
||||
shouldBreak = true;
|
||||
} else {
|
||||
messageText += text;
|
||||
}
|
||||
|
||||
if (shouldBreak) {
|
||||
console.log("messageText", messageText);
|
||||
console.log("length", length);
|
||||
console.log("break", true);
|
||||
|
||||
diff = Math.abs(new Date().getSeconds() - startTime);
|
||||
await editor.tick();
|
||||
await editor.stop();
|
||||
break;
|
||||
}
|
||||
|
||||
console.log("messageText", messageText);
|
||||
console.log("length", messageText.length);
|
||||
|
||||
diff = Math.abs(new Date().getSeconds() - startTime);
|
||||
}
|
||||
} finally {
|
||||
await editor.tick();
|
||||
await editor.stop();
|
||||
|
||||
console.log("time", diff);
|
||||
console.log("ended", true);
|
||||
|
||||
waitMessage.reply_to_message = msg;
|
||||
waitMessage.text = messageText;
|
||||
MessageStore.put(waitMessage);
|
||||
|
||||
await replyToMessage(waitMessage, `⏱️ ${diff}s`);
|
||||
}
|
||||
} catch (error) {
|
||||
console.error(error);
|
||||
|
||||
if (error instanceof ApiError) {
|
||||
if (error.status === 429) {
|
||||
await replyToMessage(waitMessage, "На сегодня всё, лимиты закончились.").catch(logError);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
await replyToMessage(waitMessage, `Произошла ошибка!\n${error.toString()}`).catch(logError);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,39 @@
|
||||
import {Message} from "typescript-telegram-bot-api";
|
||||
import {chatCommandToString, delay, logError, sendMessage} from "../util/utils";
|
||||
import {ChatCommand} from "../base/chat-command";
|
||||
import {chatCommands} from "../index";
|
||||
import {TelegramError} from "typescript-telegram-bot-api/dist/errors";
|
||||
|
||||
export class Help implements ChatCommand {
|
||||
regexp = /^\/(h|help)/i;
|
||||
title = "/help";
|
||||
description = "Show list of commands";
|
||||
|
||||
async execute(msg: Message) {
|
||||
let text = "Commands:\n\n";
|
||||
|
||||
chatCommands.forEach(c => {
|
||||
text += `${chatCommandToString(c)}\n`;
|
||||
});
|
||||
|
||||
await sendMessage({chatId: msg.from.id, text: text})
|
||||
.then(async () => {
|
||||
if (msg.chat.type !== "private") {
|
||||
await sendMessage({message: msg, text: "Отправил команды в ЛС 😎"}).catch(logError);
|
||||
}
|
||||
})
|
||||
.catch(async (e) => {
|
||||
if (e instanceof TelegramError) {
|
||||
if (e.response?.error_code === 403) {
|
||||
await sendMessage({
|
||||
message: msg,
|
||||
text: "Не смог отправить команды в ЛС ☹️\nТогда отправлю сюда"
|
||||
}).catch(logError);
|
||||
|
||||
await delay(1000);
|
||||
await sendMessage({message: msg, text: text}).catch(logError);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
import {ChatCommand} from "../base/chat-command";
|
||||
import {Message} from "typescript-telegram-bot-api";
|
||||
import {logError, replyToMessage} from "../util/utils";
|
||||
|
||||
export class Id extends ChatCommand {
|
||||
regexp = /^\/id/i;
|
||||
title = "/id";
|
||||
description = "ID of chat, user and reply (if replied to any message)";
|
||||
|
||||
async execute(msg: Message): Promise<void> {
|
||||
let text = `chat id: \n\`\`\`${msg.chat.id}\`\`\` \nfrom id: \n\`\`\`${msg.from.id}\`\`\``;
|
||||
if (msg.reply_to_message) {
|
||||
text += ` \nreply id: \n\`\`\`${msg.reply_to_message.from.id}\`\`\``;
|
||||
}
|
||||
|
||||
await replyToMessage(msg, text, "MarkdownV2").catch(logError);
|
||||
}
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user