@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 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
- git clone https://github.com/tianshu-ai/tianshu.git
74
- cd tianshu
73
+ npm install -g @tianshu-ai/tianshu@latest
75
74
 
76
- npm install
77
- npm run setup # interactive: pick provider, paste key, write config
78
- npm run doctor # verify everything is wired up
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:5183> and start chatting.
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
- ### What `npm run setup` does
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 `<repo>/.env` (your key, references via `${VAR}` from the config).
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
- npx tianshu setup --non-interactive \
111
+ tianshu setup --non-interactive \
98
112
  --provider=anthropic --api-key=sk-***
99
113
  ```
100
114
 
101
- ### What `npm run doctor` checks
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 → ports 3110 / 5183 free
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
- ### Installing globally
134
+ ### Developing from a checkout
121
135
 
122
- Published to npm under `@tianshu-ai/tianshu`:
136
+ If you want to hack on tianshu itself (not just run it):
123
137
 
124
138
  ```bash
125
- npm install -g @tianshu-ai/tianshu
126
- tianshu setup --wizard # interactive: pick provider, key, ports
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
- ```bash
134
- tianshu status # what's loaded? port? health?
135
- tianshu logs --follow # tail server stdout + stderr
136
- tianshu restart # bounce the dev server
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
- Developing from a checkout: clone the repo, `npm install`, then
150
- `npm run dev` to get the live server + UI. `bin/tianshu.mjs` works
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 npm run dev
170
+ TIANSHU_IGNORE_SETUP=1 tianshu start
159
171
 
160
172
  # Probe each provider's /v1/models endpoint to test reachability
161
- npm run doctor -- --probe-providers
173
+ tianshu doctor --probe-providers
162
174
 
163
175
  # Boot a real microsandbox VM as a smoke test (~30s, pulls image)
164
- npm run doctor -- --probe-sandbox
176
+ tianshu doctor --probe-sandbox
165
177
  ```
166
178
 
167
- > Default ports are `3110 / 5183` (not the more common `3100 / 5173`)
168
- > so this repo can run alongside its closed-source predecessor on the
169
- > same dev machine. Override via `PORT=` / vite config if you want.
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
- `npm run dev` is foreground Ctrl-C kills it and it doesn't survive
174
- reboots. For a permanent dev box use the platform's native service
175
- manager:
176
-
177
- - **macOS**: drop a [`launchd` plist](./docs/running.md#macos--launchd-recommended-for-a-permanent-dev-box) under `~/Library/LaunchAgents/` (template + commands in [docs/running.md](./docs/running.md)).
178
- - **Linux**: TODO; same shape as launchd via systemd user service.
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` they don't survive logout
182
- and don't auto-restart on crash.
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
- ### Useful commands
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
- > ⚠️ Day 0 —— 你只能拿到一个 health 接口和一个 hello-world 页面。
68
- > 真东西(agent runtime、浏览器 sidecar、任务看板)会在接下来几周里
69
- > 一个 PR 一个 PR 地接进来。
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 dev
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
- - **Server**: <http://localhost:3110>(Express + WebSocket,热重载)
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
- > 注:默认端口是 `3110 / 5183`(不是常见的 `3100 / 5173`),故意避开闭源前身项目,
90
- > 然后两者可以在同一台开发机上同时跑。需要老端口设 `PORT=` / 改 vite
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.11",
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,CA+M1D"}
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":"AAAA,sCAAsC;AACtC,EAAE;AACF,YAAY;AACZ,kEAAkE;AAClE,iJAAiJ;AACjJ,iEAAiE;AACjE,gEAAgE;AAChE,wDAAwD;AACxD,uEAAuE;AACvE,iFAAiF;AACjF,oBAAoB;AACpB,6BAA6B;AAC7B,EAAE;AACF,0DAA0D;AAC1D,2DAA2D;AAC3D,0DAA0D;AAC1D,8DAA8D;AAC9D,sCAAsC;AAEtC,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EACL,kBAAkB,EAClB,SAAS,EACT,oBAAoB,EACpB,oBAAoB,EACpB,wBAAwB,EACxB,mBAAmB,EACnB,cAAc,GACf,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EACL,QAAQ,EACR,OAAO,EACP,UAAU,EACV,SAAS,EACT,OAAO,GACR,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAE9C,kEAAkE;AAClE,kEAAkE;AAClE,+DAA+D;AAC/D,+DAA+D;AAC/D,8DAA8D;AAC9D,OAAO,EAAE,CAAC;AASV,MAAM,UAAU,SAAS,CAAC,IAAc;IACtC,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,MAAM,OAAO,GAA2B,EAAE,CAAC;IAC3C,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;IAChC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACzB,MAAM,EAAE,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAC5B,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC;gBACX,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;YAChD,CAAC;iBAAM,CAAC;gBACN,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC;aAAM,CAAC;YACN,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACvB,CAAC;IACH,CAAC;IACD,MAAM,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,GAAG,UAAU,CAAC;IACtC,OAAO,EAAE,OAAO,EAAE,OAAO,IAAI,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;AACtE,CAAC;AAED,SAAS,aAAa;IACpB,OAAO;QACL,QAAQ;QACR,iEAAiE;QACjE,0HAA0H;QAC1H,gEAAgE;QAChE,+DAA+D;QAC/D,uDAAuD;QACvD,sEAAsE;QACtE,gFAAgF;QAChF,mBAAmB;QACnB,4BAA4B;QAC5B,EAAE;QACF,uCAAuC,cAAc,EAAE,EAAE;KAC1D,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,KAAK,UAAU,iBAAiB;IAC9B,4DAA4D;IAC5D,2DAA2D;IAC3D,IAAI,CAAC;QACH,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC;QACnC,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,uBAAuB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC9D,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,GAAG,EAAE,MAAM,CAAC,CAEnD,CAAC;QACF,OAAO,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC;IACjC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,OAAO,CAAC;IACjB,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,IAAI,CAAC,IAAc;IACvC,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAE/B,sCAAsC;IACtC,QAAQ,MAAM,CAAC,OAAO,EAAE,CAAC;QACvB,KAAK,EAAE,CAAC;QACR,KAAK,MAAM,CAAC,CAAC,CAAC;YACZ,MAAM,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YACpC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC,CAAC;gBAC7B,OAAO,CAAC,CAAC;YACX,CAAC;YACD,4DAA4D;YAC5D,4DAA4D;YAC5D,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC,CAAC;YAC7B,OAAO,CAAC,CAAC;QACX,CAAC;QACD,KAAK,SAAS,CAAC;QACf,KAAK,WAAW,CAAC;QACjB,KAAK,IAAI;YACP,OAAO,CAAC,GAAG,CAAC,MAAM,iBAAiB,EAAE,CAAC,CAAC;YACvC,OAAO,CAAC,CAAC;QAEX,KAAK,QAAQ;YACX,OAAO,SAAS,CAAC;gBACf,cAAc,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,iBAAiB,CAAC;gBACnD,YAAY,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC;gBAC/C,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC;aAC/B,CAAC,CAAC;QAEL,KAAK,OAAO,CAAC,CAAC,CAAC;YACb,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,MAAM,cAAc,CAAC;oBAC/B,cAAc,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,iBAAiB,CAAC;oBACnD,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,QAAQ;oBACjC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC;oBACjC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC;oBACnC,YAAY,EAAE,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC;oBAC7C,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC;oBAChC,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC;oBACnC,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC;iBACpC,CAAC,CAAC;gBACH,IAAI,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,iBAAiB,CAAC,EAAE,CAAC;oBACxC,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,KAAK;wBAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBAClD,CAAC;gBACD,OAAO,CAAC,CAAC;YACX,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,CAAC,KAAK,CACX,iBAAiB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CACpE,CAAC;gBACF,OAAO,CAAC,CAAC;YACX,CAAC;QACH,CAAC;QAED,KAAK,OAAO;YACV,OAAO,QAAQ,CAAC;gBACd,IAAI,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC;gBAClC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC;aAC/B,CAAC,CAAC;QACL,KAAK,MAAM;YACT,OAAO,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACrD,KAAK,SAAS;YACZ,OAAO,UAAU,CAAC;gBAChB,IAAI,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC;gBAClC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC;aAC/B,CAAC,CAAC;QACL,KAAK,QAAQ;YACX,OAAO,SAAS,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACvD,KAAK,QAAQ;YACX,OAAO,SAAS,CAAC;gBACf,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC;gBAChC,GAAG,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG;gBACvB,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC;aACpC,CAAC,CAAC;QACL,KAAK,MAAM,CAAC,CAAC,CAAC;YACZ,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC;YACtC,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;YACxC,MAAM,MAAM,GACV,SAAS,KAAK,KAAK,IAAI,SAAS,KAAK,KAAK,IAAI,SAAS,KAAK,MAAM;gBAChE,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,SAAS,CAAC;YAChB,OAAO,OAAO,CAAC;gBACb,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC;gBAC3D,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS;gBAC3D,MAAM;aACP,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,wDAAwD;IACxD,MAAM,GAAG,GAAG,IAAI,SAAS,EAAE,CAAC;IAC5B,IAAI,CAAC;QACH,IAAI,MAAM,CAAC,OAAO,KAAK,QAAQ,IAAI,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE,CAAC;YACnE,0DAA0D;YAC1D,sDAAsD;YACtD,wDAAwD;YACxD,wDAAwD;YACxD,qDAAqD;YACrD,qDAAqD;YACrD,wDAAwD;YACxD,oBAAoB;YACpB,MAAM,GAAG,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;YACvB,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAC1C,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAC5C,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACrB,IAAI,QAAQ;oBAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;;oBAC3B,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;gBACjC,OAAO,CAAC,CAAC;YACX,CAAC;YACD,IAAI,SAAS,EAAE,CAAC;gBACd,KAAK,MAAM,EAAE,IAAI,GAAG;oBAAE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBACtC,OAAO,CAAC,CAAC;YACX,CAAC;YACD,MAAM,OAAO,GAAG,oBAAoB,EAAE,CAAC;YACvC,MAAM,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;gBAClC,QAAQ;gBACR,KAAK,EAAE,eAAe,CAAC,QAAQ,CAAC;aACjC,CAAC,CAAC,CAAC;YACJ,IAAI,QAAQ,EAAE,CAAC;gBACb,OAAO,CAAC,GAAG,CACT,IAAI,CAAC,SAAS,CACZ,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBACf,QAAQ,EAAE,CAAC,CAAC,QAAQ;oBACpB,KAAK,EAAE,CAAC,CAAC,KAAK;oBACd,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;wBACxB,MAAM,EAAE,CAAC;wBACT,GAAG,EAAE,kBAAkB,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;qBAChD,CAAC,CAAC;iBACJ,CAAC,CAAC,EACH,IAAI,EACJ,CAAC,CACF,CACF,CAAC;gBACF,OAAO,CAAC,CAAC;YACX,CAAC;YACD,uDAAuD;YACvD,sDAAsD;YACtD,4BAA4B;YAC5B,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;gBACrB,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACzB,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,cAAc,CAAC,CAAC;oBACzC,SAAS;gBACX,CAAC;gBACD,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;gBACxB,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;oBACxB,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,kBAAkB,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,CAClE,CAAC;gBACJ,CAAC;YACH,CAAC;YACD,OAAO,CAAC,CAAC;QACX,CAAC;QACD,IAAI,MAAM,CAAC,OAAO,KAAK,QAAQ,IAAI,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAC;YACrE,MAAM,EAAE,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YAChC,IAAI,CAAC,EAAE,EAAE,CAAC;gBACR,OAAO,CAAC,KAAK,CAAC,gBAAgB,GAAG,aAAa,EAAE,CAAC,CAAC;gBAClD,OAAO,CAAC,CAAC;YACX,CAAC;YACD,MAAM,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAC3B,OAAO,CAAC,GAAG,CAAC,kBAAkB,GAAG,CAAC,QAAQ,OAAO,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;YAC7D,OAAO,CAAC,CAAC;QACX,CAAC;QACD,IAAI,MAAM,CAAC,OAAO,KAAK,QAAQ,IAAI,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAC;YACrE,MAAM,EAAE,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YAChC,IAAI,CAAC,EAAE,EAAE,CAAC;gBACR,OAAO,CAAC,KAAK,CAAC,gBAAgB,GAAG,aAAa,EAAE,CAAC,CAAC;gBAClD,OAAO,CAAC,CAAC;YACX,CAAC;YACD,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;YACnB,OAAO,CAAC,GAAG,CAAC,uBAAuB,EAAE,gBAAgB,EAAE,gBAAgB,CAAC,CAAC;YACzE,OAAO,CAAC,CAAC;QACX,CAAC;QACD,IAAI,MAAM,CAAC,OAAO,KAAK,MAAM,IAAI,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAC;YACnE,MAAM,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC;YAC/C,IAAI,CAAC,QAAQ,IAAI,CAAC,MAAM,EAAE,CAAC;gBACzB,OAAO,CAAC,KAAK,CAAC,kCAAkC,GAAG,aAAa,EAAE,CAAC,CAAC;gBACpE,OAAO,CAAC,CAAC;YACX,CAAC;YACD,MAAM,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC/B,GAAG,CAAC,UAAU,CAAC,GAAG,EAAE;gBAClB,MAAM;gBACN,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,QAAQ,IAAI,KAAK;gBAC1C,UAAU,EAAE,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,GAAG,MAAM,QAAQ;gBAC9D,WAAW,EAAE,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC;aAC5C,CAAC,CAAC;YACH,OAAO,CAAC,GAAG,CAAC,gBAAgB,MAAM,cAAc,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;YAChE,OAAO,CAAC,CAAC;QACX,CAAC;QACD,OAAO,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC,CAAC;QAC/B,OAAO,CAAC,CAAC;IACX,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,YAAY,oBAAoB,EAAE,CAAC;YACxC,OAAO,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;YACvC,OAAO,CAAC,CAAC;QACX,CAAC;QACD,IACE,GAAG,YAAY,wBAAwB;YACvC,GAAG,YAAY,mBAAmB,EAClC,CAAC;YACD,OAAO,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;YACvC,OAAO,CAAC,CAAC;QACX,CAAC;QACD,OAAO,CAAC,KAAK,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QAC7E,OAAO,CAAC,CAAC;IACX,CAAC;YAAS,CAAC;QACT,GAAG,CAAC,SAAS,EAAE,CAAC;IAClB,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,eAAe,CAAC,QAAgB;IACvC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CACxB,cAAc,EAAE,EAChB,SAAS,EACT,QAAQ,EACR,WAAW,EACX,OAAO,CACR,CAAC;IACF,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC;QAAE,OAAO,EAAE,CAAC;IACxC,IAAI,CAAC;QACH,OAAO,EAAE;aACN,WAAW,CAAC,QAAQ,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;aAC9C,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;aAC9B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;aAClB,IAAI,EAAE,CAAC;IACZ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,8DAA8D;AAC9D,8DAA8D;AAC9D,+DAA+D;AAC/D,4DAA4D;AAC5D,qDAAqD;AAErD,iEAAiE;AACjE,gEAAgE;AAChE,4DAA4D;AAC5D,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,UAAU,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IACpD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/C,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACrB,CAAC"}
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":"AA+BA,OAAO,KAAK,EAKV,IAAI,EAIL,MAAM,uBAAuB,CAAC;AA2B/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;AA6SD,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,CAi1B7B;AAwDD;;;;GAIG;AACH,wBAAsB,WAAW,CAAC,IAAI,GAAE,YAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAgOxE"}
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"}