@tianshu-ai/tianshu 0.3.11 → 0.3.13
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/README.md +61 -47
- package/README.zh-CN.md +36 -16
- package/package.json +2 -1
- package/packages/server/dist/cli.d.ts.map +1 -1
- package/packages/server/dist/cli.js +3 -2
- package/packages/server/dist/cli.js.map +1 -1
- package/packages/server/dist/setup/checks/version.d.ts +18 -0
- package/packages/server/dist/setup/checks/version.d.ts.map +1 -0
- package/packages/server/dist/setup/checks/version.js +107 -0
- package/packages/server/dist/setup/checks/version.js.map +1 -0
- package/packages/server/dist/setup/cli-agent.d.ts.map +1 -1
- package/packages/server/dist/setup/cli-agent.js +163 -5
- package/packages/server/dist/setup/cli-agent.js.map +1 -1
- package/packages/server/dist/setup/doctor.d.ts +3 -0
- package/packages/server/dist/setup/doctor.d.ts.map +1 -1
- package/packages/server/dist/setup/doctor.js +2 -0
- package/packages/server/dist/setup/doctor.js.map +1 -1
- package/packages/server/dist/setup/update.d.ts +33 -0
- package/packages/server/dist/setup/update.d.ts.map +1 -1
- package/packages/server/dist/setup/update.js +4 -4
- package/packages/server/dist/setup/update.js.map +1 -1
- package/plugins/microsandbox/package.json +1 -1
- package/plugins/microsandbox/templates/browser.yaml +105 -0
- package/plugins/microsandbox/templates/task-runner-with-browser.yaml +80 -0
- package/plugins/microsandbox/templates/task-runner.yaml +80 -0
package/README.md
CHANGED
|
@@ -70,18 +70,32 @@ For the long version of the motivation, see the launch post:
|
|
|
70
70
|
## Quick start
|
|
71
71
|
|
|
72
72
|
```bash
|
|
73
|
-
|
|
74
|
-
cd tianshu
|
|
73
|
+
npm install -g @tianshu-ai/tianshu@latest
|
|
75
74
|
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
npm run dev # starts server (3110) + web (5183) + plugins
|
|
75
|
+
tianshu setup # interactive: pick provider, paste key, write config
|
|
76
|
+
tianshu doctor # verify everything is wired up
|
|
77
|
+
tianshu start # bootstrap the launchd service (macOS) and open the UI
|
|
80
78
|
```
|
|
81
79
|
|
|
82
|
-
Open <http://localhost:
|
|
80
|
+
Open <http://localhost:3110> and start chatting.
|
|
81
|
+
|
|
82
|
+
The server hosts the SPA on a single port — one process, one URL.
|
|
83
|
+
Need a public hostname (Cloudflare tunnel, reverse proxy)? Set
|
|
84
|
+
`server.publicUrl` in `~/.tianshu/config.json`; CLI commands will
|
|
85
|
+
print that instead.
|
|
83
86
|
|
|
84
|
-
###
|
|
87
|
+
### Day-2 control
|
|
88
|
+
|
|
89
|
+
```bash
|
|
90
|
+
tianshu status # what's loaded? port? health?
|
|
91
|
+
tianshu logs --follow # tail server stdout + stderr
|
|
92
|
+
tianshu restart # bounce the server
|
|
93
|
+
tianshu stop # bootout from launchd
|
|
94
|
+
tianshu tenant list # tenants + users + open-in-browser URLs
|
|
95
|
+
tianshu update # check for / install a newer published version
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
### What `tianshu setup` does
|
|
85
99
|
|
|
86
100
|
It's an interactive wizard (built on `@clack/prompts`, same family as
|
|
87
101
|
[OpenClaw](https://docs.openclaw.ai)) that:
|
|
@@ -89,16 +103,16 @@ It's an interactive wizard (built on `@clack/prompts`, same family as
|
|
|
89
103
|
- Asks which LLM provider to use (Anthropic / OpenAI / Google).
|
|
90
104
|
- Reads your API key with a hidden input.
|
|
91
105
|
- Writes `~/.tianshu/config.json` (provider settings, models, default).
|
|
92
|
-
- Writes
|
|
106
|
+
- Writes `~/.tianshu/.env` (your key, referenced as `${VAR}` from the config).
|
|
93
107
|
|
|
94
108
|
Non-interactive mode is supported for Docker / CI:
|
|
95
109
|
|
|
96
110
|
```bash
|
|
97
|
-
|
|
111
|
+
tianshu setup --non-interactive \
|
|
98
112
|
--provider=anthropic --api-key=sk-***
|
|
99
113
|
```
|
|
100
114
|
|
|
101
|
-
### What `
|
|
115
|
+
### What `tianshu doctor` checks
|
|
102
116
|
|
|
103
117
|
```
|
|
104
118
|
┌ Tianshu doctor
|
|
@@ -107,7 +121,7 @@ npx tianshu setup --non-interactive \
|
|
|
107
121
|
◇ Config files → ~/.tianshu/config.json + .env present + parseable
|
|
108
122
|
◇ LLM providers → at least one provider has a non-empty API key,
|
|
109
123
|
│ defaultModel resolves
|
|
110
|
-
◇ Network →
|
|
124
|
+
◇ Network → server port reachable, /api/health responding
|
|
111
125
|
◇ Sandbox → microsandbox binary present (--probe-sandbox
|
|
112
126
|
│ boots an alpine VM as a smoke test)
|
|
113
127
|
◇ Builtin plugins → manifests parse, ids unique
|
|
@@ -117,71 +131,71 @@ npx tianshu setup --non-interactive \
|
|
|
117
131
|
|
|
118
132
|
Use it whenever something doesn't feel right — it's read-only.
|
|
119
133
|
|
|
120
|
-
###
|
|
134
|
+
### Developing from a checkout
|
|
121
135
|
|
|
122
|
-
|
|
136
|
+
If you want to hack on tianshu itself (not just run it):
|
|
123
137
|
|
|
124
138
|
```bash
|
|
125
|
-
|
|
126
|
-
tianshu
|
|
127
|
-
tianshu doctor # verify config + reachability
|
|
128
|
-
tianshu start # bootstrap the launchd service (macOS)
|
|
129
|
-
```
|
|
130
|
-
|
|
131
|
-
Day-2 control:
|
|
139
|
+
git clone https://github.com/tianshu-ai/tianshu.git
|
|
140
|
+
cd tianshu
|
|
132
141
|
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
tianshu stop # bootout from launchd
|
|
138
|
-
tianshu tenant list # tenants + users + open-in-browser URLs
|
|
142
|
+
npm install
|
|
143
|
+
npm run setup # same wizard, writes to ~/.tianshu/
|
|
144
|
+
npm run doctor
|
|
145
|
+
npm run dev # vite (5183) + server (3110) + plugin watcher
|
|
139
146
|
```
|
|
140
147
|
|
|
148
|
+
In dev mode you open <http://localhost:5183>. The wizard's
|
|
149
|
+
launchd plist installer (`tianshu start` from inside a checkout)
|
|
150
|
+
stays in dev shape — vite hosts the SPA, server is API-only —
|
|
151
|
+
because the heuristic detects `.git/` in the install root.
|
|
152
|
+
|
|
141
153
|
Updating:
|
|
142
154
|
|
|
155
|
+
### Updating
|
|
156
|
+
|
|
143
157
|
```bash
|
|
144
158
|
tianshu update --check # peek at what `latest` is on npm
|
|
145
159
|
tianshu update # npm install -g the latest, prints next steps
|
|
146
160
|
tianshu update --tag next # install pre-release channel (if available)
|
|
147
161
|
```
|
|
148
162
|
|
|
149
|
-
|
|
150
|
-
`
|
|
151
|
-
the same from the checkout, but `tianshu update` will detect the
|
|
152
|
-
checkout and refuse — use `git pull` instead.
|
|
163
|
+
`tianshu update` detects a git checkout and refuses — use
|
|
164
|
+
`git pull` there instead.
|
|
153
165
|
|
|
154
166
|
### Useful flags
|
|
155
167
|
|
|
156
168
|
```bash
|
|
157
169
|
# Skip the readiness check on startup (useful for empty-shell deploys)
|
|
158
|
-
TIANSHU_IGNORE_SETUP=1
|
|
170
|
+
TIANSHU_IGNORE_SETUP=1 tianshu start
|
|
159
171
|
|
|
160
172
|
# Probe each provider's /v1/models endpoint to test reachability
|
|
161
|
-
|
|
173
|
+
tianshu doctor --probe-providers
|
|
162
174
|
|
|
163
175
|
# Boot a real microsandbox VM as a smoke test (~30s, pulls image)
|
|
164
|
-
|
|
176
|
+
tianshu doctor --probe-sandbox
|
|
165
177
|
```
|
|
166
178
|
|
|
167
|
-
> Default ports are `3110
|
|
168
|
-
>
|
|
169
|
-
>
|
|
179
|
+
> Default ports are `3110` (server / SPA) and, in dev mode only,
|
|
180
|
+
> `5183` (vite). Both are different from the closed-source
|
|
181
|
+
> predecessor's `3100 / 5173` so the two projects can run
|
|
182
|
+
> alongside each other on the same machine. Override via `PORT=`
|
|
183
|
+
> / `WEB_PORT=` if you need to.
|
|
170
184
|
|
|
171
185
|
### Running as a background service
|
|
172
186
|
|
|
173
|
-
`
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
- **Docker**: TODO; lands when `tianshu start` (single-port production server) does.
|
|
187
|
+
`tianshu start` (from a global install) installs a launchd agent
|
|
188
|
+
under `~/Library/LaunchAgents/` that auto-starts at login and
|
|
189
|
+
auto-restarts on crash. `tianshu stop` / `restart` / `status` /
|
|
190
|
+
`logs` manage it day to day. See
|
|
191
|
+
[docs/running.md](./docs/running.md) for the plist shape and
|
|
192
|
+
Linux / Docker plans (still TODO at the time of writing).
|
|
180
193
|
|
|
181
|
-
**Don't** use `nohup`, `&`, or `screen`
|
|
182
|
-
and don't auto-restart on
|
|
194
|
+
**Don't** use `nohup`, `&`, or `screen` for a long-running
|
|
195
|
+
install — they don't survive logout and don't auto-restart on
|
|
196
|
+
crash.
|
|
183
197
|
|
|
184
|
-
###
|
|
198
|
+
### Workspace-scoped npm scripts (dev checkouts only)
|
|
185
199
|
|
|
186
200
|
```bash
|
|
187
201
|
# build everything (type-check + bundle)
|
package/README.zh-CN.md
CHANGED
|
@@ -64,31 +64,51 @@ agent runtime 是真实软件,sidecar 是真实浏览器,sandbox 是真实
|
|
|
64
64
|
|
|
65
65
|
## 快速开始
|
|
66
66
|
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
67
|
+
```bash
|
|
68
|
+
npm install -g @tianshu-ai/tianshu@latest
|
|
69
|
+
|
|
70
|
+
tianshu setup # 向导:选 provider、贴 API key、写配置
|
|
71
|
+
tianshu doctor # 检查一切接到位
|
|
72
|
+
tianshu start # macOS 上装 launchd 服务并启动
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
浏览器打开 <http://localhost:3110> 即可。Server 同时提供 API 和
|
|
76
|
+
SPA,一个端口包揽,不需额外起 vite。
|
|
77
|
+
|
|
78
|
+
需要供外网访问(Cloudflare tunnel 或反向代理)?在
|
|
79
|
+
`~/.tianshu/config.json` 里设 `server.publicUrl`,CLI 输出的 URL
|
|
80
|
+
会采用该主机名。
|
|
81
|
+
|
|
82
|
+
### 日常控制
|
|
83
|
+
|
|
84
|
+
```bash
|
|
85
|
+
tianshu status # 服务运行状态 + 端口 + /api/health
|
|
86
|
+
tianshu logs --follow # 跟 stdout + stderr
|
|
87
|
+
tianshu restart # 重启服务
|
|
88
|
+
tianshu stop # 从 launchd 卸载
|
|
89
|
+
tianshu tenant list # 现有租户 + 用户 + 可点开的 URL
|
|
90
|
+
tianshu update # 检查并升级到 npm 上的最新版
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
### 从源码开发
|
|
70
94
|
|
|
71
95
|
```bash
|
|
72
96
|
git clone https://github.com/tianshu-ai/tianshu.git
|
|
73
97
|
cd tianshu
|
|
74
98
|
|
|
75
|
-
cp .env.example .env
|
|
76
|
-
|
|
77
99
|
npm install
|
|
78
|
-
npm run
|
|
100
|
+
npm run setup # 同一个向导,写入 ~/.tianshu/
|
|
101
|
+
npm run doctor
|
|
102
|
+
npm run dev # vite (5183) + server (3110) + plugin 热重载
|
|
79
103
|
```
|
|
80
104
|
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
- **Web**: <http://localhost:5183>(Vite,HMR)
|
|
85
|
-
|
|
86
|
-
Web 端会代理 `/api` 和 `/ws` 到 server。打开 <http://localhost:5183>
|
|
87
|
-
能看到健康检查 JSON 即可。
|
|
105
|
+
开发模式下打开 <http://localhost:5183> (vite 代理 `/api` 和 `/ws`
|
|
106
|
+
到 server)。在源码仓里调用 `tianshu start` 会装 dev 形态的
|
|
107
|
+
launchd,有 `.git/` 在仓根里时会自动识别。
|
|
88
108
|
|
|
89
|
-
>
|
|
90
|
-
>
|
|
91
|
-
>
|
|
109
|
+
> 默认端口是 `3110`(server / SPA)和仅在 dev 模式下的 `5183`
|
|
110
|
+
> (vite),不是常见的 `3100 / 5173`,这样可以跟闭源前身项目
|
|
111
|
+
> 同机运行。需要改用 `PORT=` / `WEB_PORT=`。
|
|
92
112
|
|
|
93
113
|
## 路线图
|
|
94
114
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tianshu-ai/tianshu",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.13",
|
|
4
4
|
"description": "An open AI agent platform with a sidecar browser. Built in public.",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"homepage": "https://github.com/tianshu-ai/tianshu",
|
|
@@ -31,6 +31,7 @@
|
|
|
31
31
|
"plugins/**/manifest.json",
|
|
32
32
|
"plugins/**/skills/**",
|
|
33
33
|
"plugins/**/agent-seeds/**",
|
|
34
|
+
"plugins/**/templates/**",
|
|
34
35
|
"README.md",
|
|
35
36
|
"LICENSE"
|
|
36
37
|
],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAiDA,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CACpB;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,UAAU,CAkBpD;AAkCD,wBAAsB,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAiDA,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CACpB;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,UAAU,CAkBpD;AAkCD,wBAAsB,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAgN1D"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// `tianshu` CLI — top-level dispatch.
|
|
2
2
|
//
|
|
3
3
|
// Commands:
|
|
4
|
-
// tianshu doctor [--probe-providers] [--probe-sandbox] [--json]
|
|
4
|
+
// tianshu doctor [--probe-providers] [--probe-sandbox] [--skip-version-check] [--json]
|
|
5
5
|
// tianshu setup [--wizard] [--non-interactive --provider X --api-key Y [--base-url URL] [--default-model Z]] [--force] [--dry-run] [--use-env]
|
|
6
6
|
// tianshu start | stop | restart | status [--json] [--no-wait]
|
|
7
7
|
// tianshu logs [--follow] [--lines=N] [--stream=out|err|both]
|
|
@@ -54,7 +54,7 @@ export function parseArgs(argv) {
|
|
|
54
54
|
function topLevelUsage() {
|
|
55
55
|
return [
|
|
56
56
|
"Usage:",
|
|
57
|
-
" tianshu doctor [--probe-providers] [--probe-sandbox] [--json]",
|
|
57
|
+
" tianshu doctor [--probe-providers] [--probe-sandbox] [--skip-version-check] [--json]",
|
|
58
58
|
" tianshu setup [--wizard] [--non-interactive --provider X --api-key Y [--base-url URL] [--default-model Z]] [--use-env]",
|
|
59
59
|
" tianshu start | stop | restart | status [--json] [--no-wait]",
|
|
60
60
|
" tianshu logs [--follow] [--lines=N] [--stream=out|err|both]",
|
|
@@ -105,6 +105,7 @@ export async function main(argv) {
|
|
|
105
105
|
return runDoctor({
|
|
106
106
|
probeProviders: parsed.flags.has("probe-providers"),
|
|
107
107
|
probeSandbox: parsed.flags.has("probe-sandbox"),
|
|
108
|
+
skipVersionCheck: parsed.flags.has("skip-version-check"),
|
|
108
109
|
json: parsed.flags.has("json"),
|
|
109
110
|
});
|
|
110
111
|
case "setup": {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { CheckGroup } from "../render.js";
|
|
2
|
+
export interface VersionCheckOpts {
|
|
3
|
+
/** Override timeout for the registry probe (ms). Test seam. */
|
|
4
|
+
fetchTimeoutMs?: number;
|
|
5
|
+
/** When true, skip the network call entirely. */
|
|
6
|
+
skipRemote?: boolean;
|
|
7
|
+
}
|
|
8
|
+
export declare function checkVersion(opts?: VersionCheckOpts): Promise<CheckGroup>;
|
|
9
|
+
/**
|
|
10
|
+
* Naive semver-ish comparison: returns true when `candidate` looks
|
|
11
|
+
* newer than `base`. Doesn't handle prerelease tags
|
|
12
|
+
* (`-alpha.1`) — for those we fall back to a string compare,
|
|
13
|
+
* which is good enough for "is this different?" purposes; the
|
|
14
|
+
* caller's actual fix advice is the same either way (run
|
|
15
|
+
* `tianshu update`).
|
|
16
|
+
*/
|
|
17
|
+
export declare function isNewer(candidate: string, base: string): boolean;
|
|
18
|
+
//# sourceMappingURL=version.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../../src/setup/checks/version.ts"],"names":[],"mappings":"AAuBA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAQ1C,MAAM,WAAW,gBAAgB;IAC/B,+DAA+D;IAC/D,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,iDAAiD;IACjD,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,wBAAsB,YAAY,CAChC,IAAI,GAAE,gBAAqB,GAC1B,OAAO,CAAC,UAAU,CAAC,CAiErB;AAED;;;;;;;GAOG;AACH,wBAAgB,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAQhE"}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
// Version freshness check: compare the running tianshu version
|
|
2
|
+
// against the `latest` dist-tag on the npm registry.
|
|
3
|
+
//
|
|
4
|
+
// Three outcomes:
|
|
5
|
+
// - up to date → ok
|
|
6
|
+
// - update available → warning (with the npm command to apply)
|
|
7
|
+
// - registry unreachable / dev checkout → ok (informational only)
|
|
8
|
+
//
|
|
9
|
+
// Why warning, not blocker: an old version is rarely actually
|
|
10
|
+
// broken; the user might be deliberately pinned. We surface the
|
|
11
|
+
// gap so they know it's there, but `tianshu doctor` should still
|
|
12
|
+
// exit 0 — that exit code is for "things are wrong RIGHT NOW",
|
|
13
|
+
// not "things could be newer".
|
|
14
|
+
//
|
|
15
|
+
// Dev checkouts (running from `git clone` rather than
|
|
16
|
+
// `npm install -g`) get a different message — we don't compare
|
|
17
|
+
// version numbers because the checkout might intentionally be
|
|
18
|
+
// ahead of npm. `git status` is the right tool there.
|
|
19
|
+
//
|
|
20
|
+
// Offline / firewalled installs degrade gracefully: registry
|
|
21
|
+
// fetch failure is logged as a single ok line ("couldn't check
|
|
22
|
+
// for updates"), never blocks doctor.
|
|
23
|
+
import { detectInstallSource, fetchDistTag, PACKAGE_NAME, readLocalVersion, } from "../update.js";
|
|
24
|
+
export async function checkVersion(opts = {}) {
|
|
25
|
+
const lines = [];
|
|
26
|
+
const current = readLocalVersion();
|
|
27
|
+
const source = detectInstallSource();
|
|
28
|
+
// Dev checkouts: don't claim "out of date" — the checkout may
|
|
29
|
+
// be ahead of npm or pinned by intent. Just report the local
|
|
30
|
+
// version + how to update.
|
|
31
|
+
if (source === "checkout") {
|
|
32
|
+
lines.push({
|
|
33
|
+
severity: "ok",
|
|
34
|
+
text: `Tianshu ${current} (git checkout)`,
|
|
35
|
+
detail: "Running from a source tree. Use `git pull` to update; npm-registry comparison skipped.",
|
|
36
|
+
});
|
|
37
|
+
return { title: "Tianshu version", lines };
|
|
38
|
+
}
|
|
39
|
+
lines.push({
|
|
40
|
+
severity: "ok",
|
|
41
|
+
text: `Tianshu ${current}`,
|
|
42
|
+
detail: source === "npm-global"
|
|
43
|
+
? `Installed via npm (${PACKAGE_NAME}).`
|
|
44
|
+
: `Install source: ${source}.`,
|
|
45
|
+
});
|
|
46
|
+
if (opts.skipRemote) {
|
|
47
|
+
return { title: "Tianshu version", lines };
|
|
48
|
+
}
|
|
49
|
+
const remote = await fetchDistTag("latest", opts.fetchTimeoutMs ?? 5_000);
|
|
50
|
+
if (!remote.ok) {
|
|
51
|
+
// Conservative: don't escalate. Reachability problems are
|
|
52
|
+
// somebody else's domain (corporate proxy, offline). We've
|
|
53
|
+
// already shown the current version above — that's enough.
|
|
54
|
+
lines.push({
|
|
55
|
+
severity: "ok",
|
|
56
|
+
text: "Couldn't reach npm registry to check for updates",
|
|
57
|
+
detail: `${remote.error}. Skipped update check; existing install is unaffected.`,
|
|
58
|
+
});
|
|
59
|
+
return { title: "Tianshu version", lines };
|
|
60
|
+
}
|
|
61
|
+
if (remote.version === current) {
|
|
62
|
+
lines.push({
|
|
63
|
+
severity: "ok",
|
|
64
|
+
text: `Up to date with npm \`latest\` (${remote.version})`,
|
|
65
|
+
});
|
|
66
|
+
return { title: "Tianshu version", lines };
|
|
67
|
+
}
|
|
68
|
+
// Different version on npm. Could be newer OR (rare, but
|
|
69
|
+
// possible if the user installed a pre-release) older. Either
|
|
70
|
+
// way the user should know.
|
|
71
|
+
const direction = isNewer(remote.version, current) ? "newer" : "different";
|
|
72
|
+
lines.push({
|
|
73
|
+
severity: "warning",
|
|
74
|
+
text: direction === "newer"
|
|
75
|
+
? `Update available: ${current} → ${remote.version}`
|
|
76
|
+
: `npm \`latest\` is ${remote.version} (different from ${current})`,
|
|
77
|
+
detail: "Run `tianshu update` to install. The install replaces only the package files; tenants, config, and data stay untouched. After updating, run `tianshu restart` to bounce the server.",
|
|
78
|
+
});
|
|
79
|
+
return { title: "Tianshu version", lines };
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Naive semver-ish comparison: returns true when `candidate` looks
|
|
83
|
+
* newer than `base`. Doesn't handle prerelease tags
|
|
84
|
+
* (`-alpha.1`) — for those we fall back to a string compare,
|
|
85
|
+
* which is good enough for "is this different?" purposes; the
|
|
86
|
+
* caller's actual fix advice is the same either way (run
|
|
87
|
+
* `tianshu update`).
|
|
88
|
+
*/
|
|
89
|
+
export function isNewer(candidate, base) {
|
|
90
|
+
const a = parsePart(candidate);
|
|
91
|
+
const b = parsePart(base);
|
|
92
|
+
if (a === null || b === null)
|
|
93
|
+
return candidate !== base;
|
|
94
|
+
for (let i = 0; i < 3; i++) {
|
|
95
|
+
if (a[i] !== b[i])
|
|
96
|
+
return a[i] > b[i];
|
|
97
|
+
}
|
|
98
|
+
return false;
|
|
99
|
+
}
|
|
100
|
+
function parsePart(v) {
|
|
101
|
+
const clean = v.replace(/^v/, "").split("-")[0];
|
|
102
|
+
const parts = clean.split(".").map((s) => Number.parseInt(s, 10));
|
|
103
|
+
if (parts.length < 3 || parts.some((n) => !Number.isFinite(n)))
|
|
104
|
+
return null;
|
|
105
|
+
return [parts[0], parts[1], parts[2]];
|
|
106
|
+
}
|
|
107
|
+
//# sourceMappingURL=version.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.js","sourceRoot":"","sources":["../../../src/setup/checks/version.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli-agent.d.ts","sourceRoot":"","sources":["../../src/setup/cli-agent.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"cli-agent.d.ts","sourceRoot":"","sources":["../../src/setup/cli-agent.ts"],"names":[],"mappings":"AAgCA,OAAO,KAAK,EAKV,IAAI,EAIL,MAAM,uBAAuB,CAAC;AAiC/B,MAAM,WAAW,YAAY;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;2DACuD;IACvD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;qDAGiD;IACjD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AA2VD,UAAU,WAAW;IACnB,MAAM,EAAE,IAAI,CAAC;IACb,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAC5D;;;oEAGgE;IAChE,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;mEAC+D;IAC/D,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,MAAM,CAAC;CACtD;AA0DD;;;;;GAKG;AACH,wBAAgB,UAAU,CACxB,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,GAAG,SAAS,GAC5B,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAy8B7B;AAwDD;;;;GAIG;AACH,wBAAsB,WAAW,CAAC,IAAI,GAAE,YAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAgOxE"}
|