@wirecat/tg-cli 0.0.0 → 0.43.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +527 -0
- package/THIRD_PARTY_NOTICES +55 -0
- package/dist/app.d.ts +11 -0
- package/dist/app.d.ts.map +1 -0
- package/dist/app.js +16 -0
- package/dist/app.js.map +1 -0
- package/dist/bin/tg.d.ts +3 -0
- package/dist/bin/tg.d.ts.map +1 -0
- package/dist/bin/tg.js +18 -0
- package/dist/bin/tg.js.map +1 -0
- package/dist/bot/adapter.d.ts +9 -0
- package/dist/bot/adapter.d.ts.map +1 -0
- package/dist/bot/adapter.js +171 -0
- package/dist/bot/adapter.js.map +1 -0
- package/dist/bot/generated/definitions.d.ts +3 -0
- package/dist/bot/generated/definitions.d.ts.map +1 -0
- package/dist/bot/generated/definitions.js +19104 -0
- package/dist/bot/generated/definitions.js.map +1 -0
- package/dist/bot/generated/manifest.d.ts +3 -0
- package/dist/bot/generated/manifest.d.ts.map +1 -0
- package/dist/bot/generated/manifest.js +15354 -0
- package/dist/bot/generated/manifest.js.map +1 -0
- package/dist/bot/generated/schemas.d.ts +1407 -0
- package/dist/bot/generated/schemas.d.ts.map +1 -0
- package/dist/bot/generated/schemas.js +5118 -0
- package/dist/bot/generated/schemas.js.map +1 -0
- package/dist/bot/generated/types.d.ts +6884 -0
- package/dist/bot/generated/types.d.ts.map +1 -0
- package/dist/bot/generated/types.js +5 -0
- package/dist/bot/generated/types.js.map +1 -0
- package/dist/bot/map.d.ts +122 -0
- package/dist/bot/map.d.ts.map +1 -0
- package/dist/bot/map.js +193 -0
- package/dist/bot/map.js.map +1 -0
- package/dist/bot/proxy.d.ts +15 -0
- package/dist/bot/proxy.d.ts.map +1 -0
- package/dist/bot/proxy.js +64 -0
- package/dist/bot/proxy.js.map +1 -0
- package/dist/bot/transport.d.ts +42 -0
- package/dist/bot/transport.d.ts.map +1 -0
- package/dist/bot/transport.js +158 -0
- package/dist/bot/transport.js.map +1 -0
- package/dist/browser.d.ts +6 -0
- package/dist/browser.d.ts.map +1 -0
- package/dist/browser.js +18 -0
- package/dist/browser.js.map +1 -0
- package/dist/commands/bot-api.d.ts +3 -0
- package/dist/commands/bot-api.d.ts.map +1 -0
- package/dist/commands/bot-api.js +112 -0
- package/dist/commands/bot-api.js.map +1 -0
- package/dist/commands/bot.d.ts +7 -0
- package/dist/commands/bot.d.ts.map +1 -0
- package/dist/commands/bot.js +99 -0
- package/dist/commands/bot.js.map +1 -0
- package/dist/commands/context.d.ts +59 -0
- package/dist/commands/context.d.ts.map +1 -0
- package/dist/commands/context.js +176 -0
- package/dist/commands/context.js.map +1 -0
- package/dist/commands/proxy-config.d.ts +9 -0
- package/dist/commands/proxy-config.d.ts.map +1 -0
- package/dist/commands/proxy-config.js +63 -0
- package/dist/commands/proxy-config.js.map +1 -0
- package/dist/commands/session.d.ts +22 -0
- package/dist/commands/session.d.ts.map +1 -0
- package/dist/commands/session.js +191 -0
- package/dist/commands/session.js.map +1 -0
- package/dist/commands/setup.d.ts +3 -0
- package/dist/commands/setup.d.ts.map +1 -0
- package/dist/commands/setup.js +203 -0
- package/dist/commands/setup.js.map +1 -0
- package/dist/commands/update.d.ts +2 -0
- package/dist/commands/update.d.ts.map +1 -0
- package/dist/commands/update.js +35 -0
- package/dist/commands/update.js.map +1 -0
- package/dist/install/postinstall.d.ts +8 -0
- package/dist/install/postinstall.d.ts.map +1 -0
- package/dist/install/postinstall.js +62 -0
- package/dist/install/postinstall.js.map +1 -0
- package/dist/paths.d.ts +9 -0
- package/dist/paths.d.ts.map +1 -0
- package/dist/paths.js +11 -0
- package/dist/paths.js.map +1 -0
- package/dist/program.d.ts +8 -0
- package/dist/program.d.ts.map +1 -0
- package/dist/program.js +138 -0
- package/dist/program.js.map +1 -0
- package/dist/proxy.d.ts +31 -0
- package/dist/proxy.d.ts.map +1 -0
- package/dist/proxy.js +99 -0
- package/dist/proxy.js.map +1 -0
- package/dist/telegram/adapter.d.ts +432 -0
- package/dist/telegram/adapter.d.ts.map +1 -0
- package/dist/telegram/adapter.js +1898 -0
- package/dist/telegram/adapter.js.map +1 -0
- package/dist/telegram/bot-history.d.ts +18 -0
- package/dist/telegram/bot-history.d.ts.map +1 -0
- package/dist/telegram/bot-history.js +145 -0
- package/dist/telegram/bot-history.js.map +1 -0
- package/dist/telegram/comments.d.ts +18 -0
- package/dist/telegram/comments.d.ts.map +1 -0
- package/dist/telegram/comments.js +48 -0
- package/dist/telegram/comments.js.map +1 -0
- package/dist/telegram/credentials.d.ts +22 -0
- package/dist/telegram/credentials.d.ts.map +1 -0
- package/dist/telegram/credentials.js +49 -0
- package/dist/telegram/credentials.js.map +1 -0
- package/dist/telegram/errors.d.ts +6 -0
- package/dist/telegram/errors.d.ts.map +1 -0
- package/dist/telegram/errors.js +186 -0
- package/dist/telegram/errors.js.map +1 -0
- package/dist/telegram/folder-rules.d.ts +14 -0
- package/dist/telegram/folder-rules.d.ts.map +1 -0
- package/dist/telegram/folder-rules.js +23 -0
- package/dist/telegram/folder-rules.js.map +1 -0
- package/dist/telegram/format-html.d.ts +4 -0
- package/dist/telegram/format-html.d.ts.map +1 -0
- package/dist/telegram/format-html.js +29 -0
- package/dist/telegram/format-html.js.map +1 -0
- package/dist/telegram/format-markdown.d.ts +3 -0
- package/dist/telegram/format-markdown.d.ts.map +1 -0
- package/dist/telegram/format-markdown.js +160 -0
- package/dist/telegram/format-markdown.js.map +1 -0
- package/dist/telegram/join-requests.d.ts +15 -0
- package/dist/telegram/join-requests.d.ts.map +1 -0
- package/dist/telegram/join-requests.js +35 -0
- package/dist/telegram/join-requests.js.map +1 -0
- package/dist/telegram/map.d.ts +92 -0
- package/dist/telegram/map.d.ts.map +1 -0
- package/dist/telegram/map.js +471 -0
- package/dist/telegram/map.js.map +1 -0
- package/dist/telegram/poll-voters.d.ts +15 -0
- package/dist/telegram/poll-voters.d.ts.map +1 -0
- package/dist/telegram/poll-voters.js +31 -0
- package/dist/telegram/poll-voters.js.map +1 -0
- package/dist/telegram/polls.d.ts +5 -0
- package/dist/telegram/polls.d.ts.map +1 -0
- package/dist/telegram/polls.js +20 -0
- package/dist/telegram/polls.js.map +1 -0
- package/dist/telegram/profile.d.ts +9 -0
- package/dist/telegram/profile.d.ts.map +1 -0
- package/dist/telegram/profile.js +175 -0
- package/dist/telegram/profile.js.map +1 -0
- package/dist/telegram/proxy.d.ts +48 -0
- package/dist/telegram/proxy.d.ts.map +1 -0
- package/dist/telegram/proxy.js +108 -0
- package/dist/telegram/proxy.js.map +1 -0
- package/dist/telegram/registration.d.ts +31 -0
- package/dist/telegram/registration.d.ts.map +1 -0
- package/dist/telegram/registration.js +95 -0
- package/dist/telegram/registration.js.map +1 -0
- package/dist/telegram/send-as.d.ts +17 -0
- package/dist/telegram/send-as.d.ts.map +1 -0
- package/dist/telegram/send-as.js +67 -0
- package/dist/telegram/send-as.js.map +1 -0
- package/dist/telegram/stats.d.ts +13 -0
- package/dist/telegram/stats.d.ts.map +1 -0
- package/dist/telegram/stats.js +135 -0
- package/dist/telegram/stats.js.map +1 -0
- package/dist/telegram/storage.d.ts +4 -0
- package/dist/telegram/storage.d.ts.map +1 -0
- package/dist/telegram/storage.js +68 -0
- package/dist/telegram/storage.js.map +1 -0
- package/dist/telegram/upload.d.ts +9 -0
- package/dist/telegram/upload.d.ts.map +1 -0
- package/dist/telegram/upload.js +29 -0
- package/dist/telegram/upload.js.map +1 -0
- package/dist/update.d.ts +28 -0
- package/dist/update.d.ts.map +1 -0
- package/dist/update.js +56 -0
- package/dist/update.js.map +1 -0
- package/dist/version.d.ts +2 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +2 -0
- package/dist/version.js.map +1 -0
- package/install/postinstall.mjs +3 -0
- package/install/windows.ps1 +161 -0
- package/package.json +71 -2
- package/skills/tg-cli/SKILL.md +489 -0
- package/spec/bot/LICENSE +21 -0
- package/spec/bot/README.md +16 -0
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
param(
|
|
2
|
+
[ValidateSet('tg', 'max')][string] $Tool = 'tg',
|
|
3
|
+
[ValidateSet('all', 'codex', 'cursor', 'claude', 'gemini', 'none')][string] $Agent = 'all',
|
|
4
|
+
[string] $Prefix,
|
|
5
|
+
[string] $PackageSpec,
|
|
6
|
+
[string] $NodeDirectory,
|
|
7
|
+
[switch] $RepairOnly,
|
|
8
|
+
[switch] $Json
|
|
9
|
+
)
|
|
10
|
+
|
|
11
|
+
$ErrorActionPreference = 'Stop'
|
|
12
|
+
if ($env:OS -ne 'Windows_NT') { throw 'This installer is for Windows.' }
|
|
13
|
+
|
|
14
|
+
function Note([string] $Message) {
|
|
15
|
+
if ($Json) { [Console]::Error.WriteLine($Message) } else { Write-Host $Message }
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
function NormalPath([string] $Value) {
|
|
19
|
+
$expanded = [Environment]::ExpandEnvironmentVariables($Value.Trim().Trim('"'))
|
|
20
|
+
return $expanded.TrimEnd('\', '/').ToLowerInvariant()
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
function ContainsPath([string] $Value, [string] $Directory) {
|
|
24
|
+
$wanted = NormalPath $Directory
|
|
25
|
+
foreach ($entry in ($Value -split ';')) {
|
|
26
|
+
if ($entry.Trim() -and (NormalPath $entry) -eq $wanted) { return $true }
|
|
27
|
+
}
|
|
28
|
+
return $false
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
function AddUserPaths([string[]] $Directories) {
|
|
32
|
+
$key = [Microsoft.Win32.Registry]::CurrentUser.CreateSubKey('Environment')
|
|
33
|
+
try {
|
|
34
|
+
$old = [string] $key.GetValue('Path', '', [Microsoft.Win32.RegistryValueOptions]::DoNotExpandEnvironmentNames)
|
|
35
|
+
$kind = [Microsoft.Win32.RegistryValueKind]::ExpandString
|
|
36
|
+
if ($key.GetValueNames() -contains 'Path') { $kind = $key.GetValueKind('Path') }
|
|
37
|
+
$machine = [Environment]::GetEnvironmentVariable('Path', 'Machine')
|
|
38
|
+
$updated = $old
|
|
39
|
+
$added = @()
|
|
40
|
+
foreach ($directory in $Directories) {
|
|
41
|
+
if (-not (ContainsPath "$machine;$updated" $directory)) {
|
|
42
|
+
$updated = if ($updated) { "$directory;$updated" } else { $directory }
|
|
43
|
+
$added += $directory
|
|
44
|
+
}
|
|
45
|
+
$remaining = ($env:Path -split ';') | Where-Object { (NormalPath $_) -ne (NormalPath $directory) }
|
|
46
|
+
$env:Path = "$directory;" + ($remaining -join ';')
|
|
47
|
+
}
|
|
48
|
+
if ($updated.Length -gt 32767) { throw 'User PATH is too long to add the CLI safely.' }
|
|
49
|
+
if ($updated -ne $old) { $key.SetValue('Path', $updated, $kind) }
|
|
50
|
+
} finally { $key.Dispose() }
|
|
51
|
+
if ($added.Count) {
|
|
52
|
+
if (-not ('WireCat.EnvironmentChange' -as [type])) {
|
|
53
|
+
Add-Type -TypeDefinition @'
|
|
54
|
+
using System;
|
|
55
|
+
using System.Runtime.InteropServices;
|
|
56
|
+
namespace WireCat {
|
|
57
|
+
public class EnvironmentChange {
|
|
58
|
+
[DllImport("user32.dll", CharSet = CharSet.Unicode, SetLastError = true)]
|
|
59
|
+
public static extern IntPtr SendMessageTimeout(IntPtr window, uint message,
|
|
60
|
+
UIntPtr wParam, string lParam, uint flags, uint timeout, out UIntPtr result);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
'@
|
|
64
|
+
}
|
|
65
|
+
$result = [UIntPtr]::Zero
|
|
66
|
+
$null = [WireCat.EnvironmentChange]::SendMessageTimeout([IntPtr] 0xffff, 0x1a,
|
|
67
|
+
[UIntPtr]::Zero, 'Environment', 2, 2000, [ref] $result)
|
|
68
|
+
}
|
|
69
|
+
return $added
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
function RemoveGeneratedPowerShellShim([string] $Directory) {
|
|
73
|
+
$script = Join-Path $Directory "$Tool.ps1"
|
|
74
|
+
if (Test-Path -LiteralPath $script) {
|
|
75
|
+
$content = (Get-Content -LiteralPath $script -Raw).Replace('\', '/')
|
|
76
|
+
if (-not $content.Contains("node_modules/@wirecat/$Tool-cli/dist/bin/$Tool.js")) {
|
|
77
|
+
throw "An unrelated $Tool.ps1 exists in the npm prefix; it was left untouched."
|
|
78
|
+
}
|
|
79
|
+
# npm's .cmd launcher works even when PowerShell refuses unsigned .ps1 scripts.
|
|
80
|
+
Remove-Item -LiteralPath $script
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
$node = (Get-Command node -CommandType Application -ErrorAction Stop | Select-Object -First 1).Source
|
|
85
|
+
if (-not $NodeDirectory) { $NodeDirectory = Split-Path $node -Parent }
|
|
86
|
+
if (-not $Prefix) {
|
|
87
|
+
$npm = (Get-Command npm.cmd -CommandType Application -ErrorAction Stop | Select-Object -First 1).Source
|
|
88
|
+
$Prefix = (& $npm prefix -g | Out-String).Trim()
|
|
89
|
+
if ($LASTEXITCODE -ne 0) { throw 'Could not determine the npm installation folder.' }
|
|
90
|
+
}
|
|
91
|
+
$Prefix = [IO.Path]::GetFullPath($Prefix)
|
|
92
|
+
if ($Prefix.Contains(';') -or $NodeDirectory.Contains(';')) { throw 'Installation folders cannot contain a semicolon.' }
|
|
93
|
+
|
|
94
|
+
if (-not $RepairOnly) {
|
|
95
|
+
$nodeVersion = (& $node --version | Out-String).Trim()
|
|
96
|
+
if ($LASTEXITCODE -ne 0 -or $nodeVersion -notmatch '^v(\d+)\.(\d+)\.') { throw 'Could not read the Node.js version.' }
|
|
97
|
+
$major = [int] $Matches[1]
|
|
98
|
+
$minor = [int] $Matches[2]
|
|
99
|
+
if (-not ($major -ge 24 -or ($major -eq 22 -and $minor -ge 16))) {
|
|
100
|
+
throw 'Node.js 22.16+ or 24+ is required. Install a supported Node.js release first.'
|
|
101
|
+
}
|
|
102
|
+
$npm = (Get-Command npm.cmd -CommandType Application -ErrorAction Stop | Select-Object -First 1).Source
|
|
103
|
+
$package = "@wirecat/$Tool-cli"
|
|
104
|
+
if (-not $PackageSpec) { $PackageSpec = $package }
|
|
105
|
+
Note "1/3 Installing $package..."
|
|
106
|
+
$savedPreference = $ErrorActionPreference
|
|
107
|
+
$agentVariable = $Tool.ToUpperInvariant() + '_INSTALL_AGENT'
|
|
108
|
+
$savedAgent = [Environment]::GetEnvironmentVariable($agentVariable, 'Process')
|
|
109
|
+
try {
|
|
110
|
+
# PowerShell 5.1 turns redirected native warnings into errors; npm's exit code decides success.
|
|
111
|
+
$ErrorActionPreference = 'Continue'
|
|
112
|
+
[Environment]::SetEnvironmentVariable($agentVariable, $Agent, 'Process')
|
|
113
|
+
$log = & $npm install --global --prefix $Prefix "--allow-scripts=$package" --foreground-scripts $PackageSpec 2>&1
|
|
114
|
+
$installExit = $LASTEXITCODE
|
|
115
|
+
} finally {
|
|
116
|
+
$ErrorActionPreference = $savedPreference
|
|
117
|
+
[Environment]::SetEnvironmentVariable($agentVariable, $savedAgent, 'Process')
|
|
118
|
+
}
|
|
119
|
+
foreach ($line in $log) { Note ([string] $line) }
|
|
120
|
+
if ($installExit -ne 0) { throw 'npm installation failed; PATH was not changed.' }
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
$shim = Join-Path $Prefix "$Tool.cmd"
|
|
124
|
+
if (-not (Test-Path -LiteralPath $shim)) { throw "The installation did not create $Tool.cmd." }
|
|
125
|
+
$added = @(AddUserPaths @($NodeDirectory, $Prefix))
|
|
126
|
+
RemoveGeneratedPowerShellShim $Prefix
|
|
127
|
+
|
|
128
|
+
if ($RepairOnly) {
|
|
129
|
+
if ($Json) { @{ tool = $Tool; prefix = $Prefix; pathAdded = $added } | ConvertTo-Json -Compress }
|
|
130
|
+
exit 0
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
Note '2/3 PATH is ready in this terminal and saved for future terminals.'
|
|
134
|
+
$version = (& $shim --version | Out-String).Trim()
|
|
135
|
+
if ($LASTEXITCODE -ne 0) { throw 'The installed CLI could not start.' }
|
|
136
|
+
$written = @()
|
|
137
|
+
if ($Agent -ne 'none') {
|
|
138
|
+
Note "3/3 Installing agent instructions ($Agent)..."
|
|
139
|
+
$target = if ($Agent -eq 'all') { 'all' } elseif ($Agent -eq 'claude') { 'claude' } else { 'agents' }
|
|
140
|
+
$skillJson = & $shim skill install --for $target --json
|
|
141
|
+
if ($LASTEXITCODE -ne 0) { throw 'Agent skill installation failed.' }
|
|
142
|
+
$skill = ($skillJson -join "`n") | ConvertFrom-Json
|
|
143
|
+
$written = @($skill.written)
|
|
144
|
+
if (-not $written.Count) { throw 'Agent skill installation wrote no instructions.' }
|
|
145
|
+
foreach ($file in $written) {
|
|
146
|
+
if (-not (Test-Path -LiteralPath $file)) { throw 'An installed agent skill could not be found.' }
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
$resolved = Get-Command $Tool -CommandType Application -ErrorAction Stop | Select-Object -First 1
|
|
151
|
+
if ([IO.Path]::GetFullPath($resolved.Source) -ne [IO.Path]::GetFullPath($shim)) {
|
|
152
|
+
throw "Another $Tool command shadows this installation on PATH."
|
|
153
|
+
}
|
|
154
|
+
$directVersion = (& $Tool --version | Out-String).Trim()
|
|
155
|
+
if ($LASTEXITCODE -ne 0 -or $directVersion -ne $version) { throw "Bare $Tool did not start the installed version." }
|
|
156
|
+
Note "$Tool $version is ready. Agent: read '$Tool skill show' before login; the skill is already installed."
|
|
157
|
+
Note 'Account login is the next step; the owner enters codes or scans the QR locally.'
|
|
158
|
+
if ($Json) {
|
|
159
|
+
@{ tool = $Tool; version = $version; prefix = $Prefix; pathAdded = $added;
|
|
160
|
+
agent = $Agent; written = $written; instructions = "$Tool skill show" } | ConvertTo-Json -Compress
|
|
161
|
+
}
|
package/package.json
CHANGED
|
@@ -1,10 +1,79 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wirecat/tg-cli",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"description": "
|
|
3
|
+
"version": "0.43.0",
|
|
4
|
+
"description": "A local command line interface for a personal Telegram account, built for agents and scripts",
|
|
5
5
|
"license": "MIT",
|
|
6
|
+
"author": "Viacheslav Ptsarev",
|
|
6
7
|
"repository": {
|
|
7
8
|
"type": "git",
|
|
8
9
|
"url": "git+https://github.com/WireCatLabs/tg-cli.git"
|
|
10
|
+
},
|
|
11
|
+
"type": "module",
|
|
12
|
+
"engines": {
|
|
13
|
+
"node": "^22.16.0 || >=24"
|
|
14
|
+
},
|
|
15
|
+
"packageManager": "pnpm@11.20.0",
|
|
16
|
+
"bin": {
|
|
17
|
+
"tg": "dist/bin/tg.js"
|
|
18
|
+
},
|
|
19
|
+
"files": [
|
|
20
|
+
"dist",
|
|
21
|
+
"skills",
|
|
22
|
+
"README.md",
|
|
23
|
+
"LICENSE",
|
|
24
|
+
"THIRD_PARTY_NOTICES",
|
|
25
|
+
"install",
|
|
26
|
+
"spec/bot/LICENSE"
|
|
27
|
+
],
|
|
28
|
+
"scripts": {
|
|
29
|
+
"build": "tsc --build",
|
|
30
|
+
"typecheck": "tsc --build --force --emitDeclarationOnly && tsc -p tsconfig.test.json && tsc -p tsconfig.scripts.json",
|
|
31
|
+
"lint": "biome check .",
|
|
32
|
+
"lint:fix": "biome check --write .",
|
|
33
|
+
"test": "vitest run",
|
|
34
|
+
"test:watch": "vitest",
|
|
35
|
+
"test:coverage": "vitest run --coverage",
|
|
36
|
+
"test:matrix": "vitest run >/dev/null && tsc --build --force >/dev/null && cli-dev test-matrix --program dist/program.js --untested scripts/test-matrix-untested.ts --name tg --check",
|
|
37
|
+
"test:slow": "vitest run --reporter=json --outputFile=coverage/tests.json >/dev/null; cli-dev slow-tests",
|
|
38
|
+
"smoke:bun": "bun run scripts/smoke.ts",
|
|
39
|
+
"docs:check": "node --experimental-strip-types scripts/docs-check.ts && cspell --no-progress --no-summary README.md 'docs/*.md' && rumdl check --config node_modules/@wirecat/cli-core/config/rumdl.toml --disable MD028 README.md docs/*.md",
|
|
40
|
+
"parity:check": "pnpm build && node dist/bin/tg.js commands --json | cli-messaging-parity tg && node dist/bin/tg.js commands --json | cli-messaging-parity tg --pages README.md docs/*.md",
|
|
41
|
+
"smoke:live": "pnpm build && node --experimental-strip-types scripts/smoke-live.ts",
|
|
42
|
+
"release:check": "pnpm build && node --experimental-strip-types scripts/release-check.ts",
|
|
43
|
+
"version:check": "cli-dev version",
|
|
44
|
+
"version:sync": "cli-dev version --sync",
|
|
45
|
+
"generate": "pnpm bot:generate && pnpm build && node --experimental-strip-types scripts/commands.ts",
|
|
46
|
+
"probe:random-id": "pnpm build && node --experimental-strip-types scripts/probe-random-id.ts",
|
|
47
|
+
"probe:sessions": "pnpm build && node --experimental-strip-types scripts/live-two-processes.ts",
|
|
48
|
+
"probe:sessions-parallel": "pnpm build && node --experimental-strip-types scripts/live-two-processes.ts --parallel",
|
|
49
|
+
"spike:live": "bin/tg-spike-live",
|
|
50
|
+
"prepare": "lefthook install || true",
|
|
51
|
+
"secrets:scan": "gitleaks git --no-banner --redact .",
|
|
52
|
+
"postinstall": "node install/postinstall.mjs",
|
|
53
|
+
"bot:generate": "node --experimental-strip-types scripts/bot/generate.ts",
|
|
54
|
+
"bot:generate:check": "node --experimental-strip-types scripts/bot/generate.ts --check",
|
|
55
|
+
"check:agent-docs": "pnpm build && node --experimental-strip-types scripts/check-agent-docs.ts"
|
|
56
|
+
},
|
|
57
|
+
"dependencies": {
|
|
58
|
+
"@wirecat/cli-core": "0.18.1",
|
|
59
|
+
"@wirecat/cli-messaging": "0.215.0",
|
|
60
|
+
"@mtcute/node": "0.32.3",
|
|
61
|
+
"commander": "15.0.0",
|
|
62
|
+
"undici": "7.30.0",
|
|
63
|
+
"valibot": "1.5.0"
|
|
64
|
+
},
|
|
65
|
+
"devDependencies": {
|
|
66
|
+
"@biomejs/biome": "^2.5.14",
|
|
67
|
+
"@cspell/dict-en-gb": "^5.0.34",
|
|
68
|
+
"@cspell/dict-ru_ru": "^2.3.2",
|
|
69
|
+
"@napi-rs/canvas": "1.0.10",
|
|
70
|
+
"@types/node": "^22.20.4",
|
|
71
|
+
"@vitest/coverage-v8": "5.0.2",
|
|
72
|
+
"cspell": "^10.3.6",
|
|
73
|
+
"lefthook": "^2.1.14",
|
|
74
|
+
"rumdl": "^0.2.78",
|
|
75
|
+
"typescript": "^7.0.2",
|
|
76
|
+
"unpdf": "1.8.1",
|
|
77
|
+
"vitest": "^5.0.2"
|
|
9
78
|
}
|
|
10
79
|
}
|