tako-cli 0.1.50 → 0.2.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/dist/difftastic-LICENSE-vvvada9m. +0 -0
- package/dist/hub-web/404.html +61 -0
- package/dist/hub-web/apple-touch-icon-180x180.png +0 -0
- package/dist/hub-web/assets/c-BIGW1oBm.js +1 -0
- package/dist/hub-web/assets/csharp-COcwbKMJ.js +1 -0
- package/dist/hub-web/assets/css-DPfMkruS.js +1 -0
- package/dist/hub-web/assets/diff-D97Zzqfu.js +1 -0
- package/dist/hub-web/assets/dockerfile-BcOcwvcX.js +1 -0
- package/dist/hub-web/assets/github-dark-DHJKELXO.js +1 -0
- package/dist/hub-web/assets/github-light-DAi9KRSo.js +1 -0
- package/dist/hub-web/assets/go-CxLEBnE3.js +1 -0
- package/dist/hub-web/assets/graphql-ChdNCCLP.js +1 -0
- package/dist/hub-web/assets/html-GMplVEZG.js +1 -0
- package/dist/hub-web/assets/index-0aqL8VXm.js +567 -0
- package/dist/hub-web/assets/index-4ZZB8Tlb.js +567 -0
- package/dist/hub-web/assets/index-B7irZTDK.js +567 -0
- package/dist/hub-web/assets/index-BXmgMqvR.js +567 -0
- package/dist/hub-web/assets/index-BlKY5jx3.css +1 -0
- package/dist/hub-web/assets/index-C1OMh9tk.js +567 -0
- package/dist/hub-web/assets/index-C8ydeZkH.js +567 -0
- package/dist/hub-web/assets/index-CIvUnoGv.css +1 -0
- package/dist/hub-web/assets/index-CJTpw75C.js +567 -0
- package/dist/hub-web/assets/index-CPl6oRKV.js +567 -0
- package/dist/hub-web/assets/index-Cs_fBMh6.css +1 -0
- package/dist/hub-web/assets/index-DBcOXTUF.css +1 -0
- package/dist/hub-web/assets/index-DUyAti-V.css +1 -0
- package/dist/hub-web/assets/index-Dj3J-3EQ.js +567 -0
- package/dist/hub-web/assets/index-h5hAGsle.js +567 -0
- package/dist/hub-web/assets/index-loRJ2ZgP.css +1 -0
- package/dist/hub-web/assets/ini-BEwlwnbL.js +1 -0
- package/dist/hub-web/assets/java-CylS5w8V.js +1 -0
- package/dist/hub-web/assets/javascript-wDzz0qaB.js +1 -0
- package/dist/hub-web/assets/json-Cp-IABpG.js +1 -0
- package/dist/hub-web/assets/jsx-g9-lgVsj.js +1 -0
- package/dist/hub-web/assets/kotlin-BdnUsdx6.js +1 -0
- package/dist/hub-web/assets/make-CHLpvVh8.js +1 -0
- package/dist/hub-web/assets/markdown-Cvjx9yec.js +1 -0
- package/dist/hub-web/assets/php-Dhbhpdrm.js +1 -0
- package/dist/hub-web/assets/powershell-Dpen1YoG.js +1 -0
- package/dist/hub-web/assets/python-B6aJPvgy.js +1 -0
- package/dist/hub-web/assets/rust-B1yitclQ.js +1 -0
- package/dist/hub-web/assets/scss-OYdSNvt2.js +1 -0
- package/dist/hub-web/assets/shellscript-Yzrsuije.js +1 -0
- package/dist/hub-web/assets/sql-BLtJtn59.js +1 -0
- package/dist/hub-web/assets/swift-D82vCrfD.js +1 -0
- package/dist/hub-web/assets/toml-vGWfd6FD.js +1 -0
- package/dist/hub-web/assets/tsx-COt5Ahok.js +1 -0
- package/dist/hub-web/assets/typescript-BPQ3VLAy.js +1 -0
- package/dist/hub-web/assets/workbox-window.prod.es5-BIl4cyR9.js +2 -0
- package/dist/hub-web/assets/xml-sdJ4AIDG.js +1 -0
- package/dist/hub-web/assets/yaml-Buea-lGh.js +1 -0
- package/dist/hub-web/favicon.ico +0 -0
- package/dist/hub-web/icon.svg +30 -0
- package/dist/hub-web/index.html +61 -0
- package/dist/hub-web/manifest.webmanifest +1 -0
- package/dist/hub-web/mask-icon.svg +3 -0
- package/dist/hub-web/maskable-icon-512x512.png +0 -0
- package/dist/hub-web/pwa-192x192.png +0 -0
- package/dist/hub-web/pwa-512x512.png +0 -0
- package/dist/hub-web/pwa-64x64.png +0 -0
- package/dist/hub-web/sw.js +2 -0
- package/dist/index.js +1702 -65
- package/dist/ripgrep-LICENSE-vvvada9m. +0 -0
- package/install.sh +25 -3
- package/package.json +54 -19
|
File without changes
|
package/install.sh
CHANGED
|
@@ -34,17 +34,39 @@ error() {
|
|
|
34
34
|
|
|
35
35
|
# 检测用户所在地区
|
|
36
36
|
detect_region() {
|
|
37
|
+
# Fast path: locale/timezone heuristic (instant, no network)
|
|
38
|
+
local lang="${LANG:-}${LC_ALL:-}${LANGUAGE:-}"
|
|
39
|
+
if echo "$lang" | grep -qi '^zh_CN'; then
|
|
40
|
+
REGION="cn"
|
|
41
|
+
info "检测到中文环境,使用国内镜像"
|
|
42
|
+
return 0
|
|
43
|
+
fi
|
|
44
|
+
|
|
45
|
+
# Check timezone (CST or Asia/Shanghai variants)
|
|
46
|
+
local tz="${TZ:-}"
|
|
47
|
+
if [ -z "$tz" ]; then
|
|
48
|
+
tz=$(date +%Z 2>/dev/null || echo "")
|
|
49
|
+
fi
|
|
50
|
+
case "$tz" in
|
|
51
|
+
CST|Asia/Shanghai|Asia/Chongqing|Asia/Urumqi|Asia/Harbin)
|
|
52
|
+
REGION="cn"
|
|
53
|
+
info "检测到中国时区,使用国内镜像"
|
|
54
|
+
return 0
|
|
55
|
+
;;
|
|
56
|
+
esac
|
|
57
|
+
|
|
58
|
+
# Slow path: IP-based detection (with --max-time to cap total request time)
|
|
37
59
|
info "检测网络环境..."
|
|
38
60
|
|
|
39
61
|
local country=""
|
|
40
|
-
country=$(curl -s --connect-timeout 2 "http://ip-api.com/line/?fields=countryCode" 2>/dev/null || echo "")
|
|
62
|
+
country=$(curl -s --connect-timeout 2 --max-time 3 "http://ip-api.com/line/?fields=countryCode" 2>/dev/null || echo "")
|
|
41
63
|
|
|
42
64
|
if [ -z "$country" ]; then
|
|
43
|
-
country=$(curl -s --connect-timeout 2 "https://ipinfo.io/country" 2>/dev/null || echo "")
|
|
65
|
+
country=$(curl -s --connect-timeout 2 --max-time 3 "https://ipinfo.io/country" 2>/dev/null || echo "")
|
|
44
66
|
fi
|
|
45
67
|
|
|
46
68
|
if [ -z "$country" ]; then
|
|
47
|
-
country=$(curl -s --connect-timeout 2 "https://api.ip.sb/geoip" 2>/dev/null | grep -o '"country_code":"[^"]*"' | head -1 | cut -d'"' -f4 || echo "")
|
|
69
|
+
country=$(curl -s --connect-timeout 2 --max-time 3 "https://api.ip.sb/geoip" 2>/dev/null | grep -o '"country_code":"[^"]*"' | head -1 | cut -d'"' -f4 || echo "")
|
|
48
70
|
fi
|
|
49
71
|
|
|
50
72
|
if [ "$country" = "CN" ]; then
|
package/package.json
CHANGED
|
@@ -1,17 +1,24 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "tako-cli",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"description": "Tako CLI - AI coding tools launcher",
|
|
3
|
+
"version": "0.2.0",
|
|
4
|
+
"description": "Tako CLI - AI coding tools launcher with agentic coding support",
|
|
5
|
+
"author": "Tako Team",
|
|
6
|
+
"license": "AGPL-3.0-only",
|
|
5
7
|
"type": "module",
|
|
6
|
-
"bin": {
|
|
7
|
-
"tako": "./dist/index.js"
|
|
8
|
-
},
|
|
9
8
|
"files": [
|
|
9
|
+
"dist/",
|
|
10
10
|
"install.sh",
|
|
11
|
-
"install.ps1"
|
|
12
|
-
"dist"
|
|
11
|
+
"install.ps1"
|
|
13
12
|
],
|
|
13
|
+
"imports": {
|
|
14
|
+
"#embedded-assets": {
|
|
15
|
+
"bun": "./src/runtime/embeddedAssets.bun.ts",
|
|
16
|
+
"default": "./src/runtime/embeddedAssets.stub.ts"
|
|
17
|
+
}
|
|
18
|
+
},
|
|
14
19
|
"scripts": {
|
|
20
|
+
"typecheck": "tsc --noEmit",
|
|
21
|
+
"build:web": "cd ../hub/web && bun install && bun run build",
|
|
15
22
|
"build": "bun run scripts/build.ts",
|
|
16
23
|
"bump": "bun scripts/bump.ts",
|
|
17
24
|
"test": "bun test",
|
|
@@ -20,24 +27,52 @@
|
|
|
20
27
|
"test:platform": "bun test tests/platform.*.test.ts",
|
|
21
28
|
"test:pre-release": "bun test tests/pre-release.test.ts",
|
|
22
29
|
"test:e2e": "bash scripts/test-install.sh",
|
|
23
|
-
"test:
|
|
24
|
-
"
|
|
25
|
-
"
|
|
26
|
-
"
|
|
30
|
+
"test:lifecycle": "bash ../../scripts/test-cli-lifecycle.sh",
|
|
31
|
+
"release": "bun run test:pre-release && bun scripts/bump.ts patch && npm publish --registry https://registry.npmjs.org && cd ../desktop-bundles && bun run release && cd ../cli && ./scripts/sync-gitee.sh",
|
|
32
|
+
"prepublishOnly": "bun run build",
|
|
33
|
+
"dev": "bun src/index.ts"
|
|
34
|
+
},
|
|
35
|
+
"dependencies": {
|
|
36
|
+
"@modelcontextprotocol/sdk": "^1.25.1",
|
|
37
|
+
"@openpanel/sdk": "^1.0.4",
|
|
38
|
+
"axios": "^1.13.2",
|
|
39
|
+
"chalk": "^5.6.2",
|
|
40
|
+
"cross-spawn": "^7.0.6",
|
|
41
|
+
"fastify": "^5.6.2",
|
|
42
|
+
"fastify-type-provider-zod": "6.1.0",
|
|
43
|
+
"ink": "^6.6.0",
|
|
44
|
+
"ps-list": "^9.0.0",
|
|
45
|
+
"react": "^19.2.3",
|
|
46
|
+
"socket.io-client": "^4.8.3",
|
|
47
|
+
"tar": "^7.5.2",
|
|
48
|
+
"yaml": "^2.8.2",
|
|
49
|
+
"zod": "^4.2.1"
|
|
27
50
|
},
|
|
28
51
|
"devDependencies": {
|
|
52
|
+
"@tako/installer": "workspace:*",
|
|
53
|
+
"@tako/protocol": "workspace:*",
|
|
54
|
+
"tako-hub": "workspace:*",
|
|
29
55
|
"@clack/prompts": "^0.7.0",
|
|
30
|
-
"
|
|
56
|
+
"@types/cross-spawn": "^6.0.6",
|
|
57
|
+
"@types/node": ">=25",
|
|
58
|
+
"@types/ps-list": "^6.2.1",
|
|
59
|
+
"@types/react": "^19.2.7",
|
|
60
|
+
"bun-types": "latest",
|
|
61
|
+
"dotenv": "^17.2.3",
|
|
62
|
+
"typescript": "^5",
|
|
63
|
+
"vitest": "^4.0.16"
|
|
64
|
+
},
|
|
65
|
+
"resolutions": {
|
|
66
|
+
"whatwg-url": "14.2.0",
|
|
67
|
+
"parse-path": "7.0.3",
|
|
68
|
+
"@types/parse-path": "7.0.3"
|
|
31
69
|
},
|
|
32
70
|
"keywords": [
|
|
33
71
|
"cli",
|
|
34
72
|
"ai",
|
|
35
73
|
"claude",
|
|
36
|
-
"codex"
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
"@openpanel/sdk": "^1.0.4",
|
|
41
|
-
"qrcode-terminal": "^0.12.0"
|
|
42
|
-
}
|
|
74
|
+
"codex",
|
|
75
|
+
"gemini",
|
|
76
|
+
"agentic-coding"
|
|
77
|
+
]
|
|
43
78
|
}
|