@tbox.cn/app-template-h5 0.1.9 → 0.1.11

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
@@ -35,7 +35,7 @@ pnpm install
35
35
  | `PORT` | server | 服务端口(默认 8000) |
36
36
  | `HOST` | server | 监听地址(默认 0.0.0.0) |
37
37
  | `VITE_API_URL` | client | API base(空串/未设 = 同源相对路径);经 `configureRuntime` 注入 |
38
- | `TBOX_DEV_TOKEN` | server | 沙箱 dev server 鉴权 token(方案 W;平台运行时注入,**本地无需设置**):形状 `^[A-Za-z0-9_-]{20,128}$`。在场 → protected 双面裁决——dev 面(凭据 + 浏览器导航/同源信号)完整 vite 能力,static 面(无凭据/跨源子资源)纯 dist + SSE 刷新(`GET /__tbox_dev_hot_reload`),零源码泄漏;缺席 → classic(与历史行为字节级等价)。形状不合规 → fail-closed 全 static |
38
+ | `TBOX_DEV_TOKEN` | server | 沙箱 dev server 鉴权 token(方案 W;平台运行时注入,**本地无需设置**):形状 `^[A-Za-z0-9_-]{20,128}$`。在场 → protected 双面裁决——dev 面(凭据 + 浏览器导航/同源信号)完整 vite 能力,static 面(无凭据/跨源子资源)dist 静态 + SPA fallback catch-all(GET/HEAD 未命中恒回入口页,对齐生产)+ SSE 刷新(`GET /__tbox_dev_hot_reload`),零源码泄漏;缺席 → classic(与历史行为字节级等价)。形状不合规 → fail-closed 全 static |
39
39
  | `TBOX_DEV_SSE_KEEPALIVE_MS` | server | protected 面 SSE 心跳间隔 ms(缺省 15000;smoke 覆盖用) |
40
40
 
41
41
  ## 验收
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tbox.cn/app-template-h5",
3
- "version": "0.1.9",
3
+ "version": "0.1.11",
4
4
  "description": "tbox 移动 H5 全栈模板(单 workspace:apps/client + apps/server),运行时与页面微调经 @tbox.cn/app-sdk。",
5
5
  "type": "module",
6
6
  "engines": {
@@ -35,7 +35,7 @@
35
35
  "eslint-plugin-react-hooks": "5.2.0",
36
36
  "typescript-eslint": "8.67.0",
37
37
  "vite": "6.4.3",
38
- "@tbox.cn/app-sdk-server": "0.23.0"
38
+ "@tbox.cn/app-sdk-server": "0.24.1"
39
39
  },
40
40
  "scripts": {
41
41
  "dev": "pnpm --filter ./apps/server dev",
@@ -7,11 +7,11 @@ settings:
7
7
  catalogs:
8
8
  default:
9
9
  '@tbox.cn/app-sdk-client':
10
- specifier: 0.21.1
11
- version: 0.21.1
10
+ specifier: 0.21.2
11
+ version: 0.21.2
12
12
  '@tbox.cn/app-sdk-server':
13
- specifier: 0.23.0
14
- version: 0.23.0
13
+ specifier: 0.24.1
14
+ version: 0.24.1
15
15
  '@types/express':
16
16
  specifier: 4.17.25
17
17
  version: 4.17.25
@@ -82,7 +82,7 @@ importers:
82
82
  devDependencies:
83
83
  '@tbox.cn/app-sdk-server':
84
84
  specifier: 'catalog:'
85
- version: 0.23.0
85
+ version: 0.24.1
86
86
  eslint:
87
87
  specifier: 'catalog:'
88
88
  version: 9.39.5
@@ -100,7 +100,7 @@ importers:
100
100
  dependencies:
101
101
  '@tbox.cn/app-sdk-client':
102
102
  specifier: 'catalog:'
103
- version: 0.21.1
103
+ version: 0.21.2
104
104
  react:
105
105
  specifier: 'catalog:'
106
106
  version: 18.3.1
@@ -140,7 +140,7 @@ importers:
140
140
  dependencies:
141
141
  '@tbox.cn/app-sdk-server':
142
142
  specifier: 'catalog:'
143
- version: 0.23.0
143
+ version: 0.24.1
144
144
  express:
145
145
  specifier: 'catalog:'
146
146
  version: 4.22.2
@@ -961,33 +961,25 @@ packages:
961
961
  '@standard-schema/spec@1.1.0':
962
962
  resolution: {integrity: sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==}
963
963
 
964
- '@tbox.cn/app-contracts@0.12.0':
965
- resolution: {integrity: sha512-GFthajvUSE7tY6Y5kLJgg2dRuZQdLfxq/WAEHOh+Q7RTwg7mpuLsWiNhXISkXMAtpxg0RkSgtwyRq33QS0ay3w==}
964
+ '@tbox.cn/app-contracts@0.12.4':
965
+ resolution: {integrity: sha512-ukIpgL1pCKQmWzhHiqREKB5FeVmHqFWMdN5qwzrwwFheZHWGPwhZMxsputr9uOGZeOYXs3yRbKQPMbqUNemMAw==}
966
966
  engines: {node: '>=20.0.0'}
967
967
 
968
- '@tbox.cn/app-contracts@0.12.3':
969
- resolution: {integrity: sha512-b71WtU1Kk9rC3lwaefb48ymKPgkdb7MJcJQ0lTeUZu/jSNHsqQ4ZZI9ZUbHQ/rzYvWmZbdxe5H94328jAfJoVA==}
968
+ '@tbox.cn/app-sdk-client@0.21.2':
969
+ resolution: {integrity: sha512-ApJGzaTXNLKEzg6Gx85OjKsI2ZbtciMDAxRU712rdFxGKIp0pPaNCKhmXJSzhGdsh2Jf5F+PoZY4LXtCSrKNiQ==}
970
970
  engines: {node: '>=20.0.0'}
971
971
 
972
- '@tbox.cn/app-sdk-client@0.21.1':
973
- resolution: {integrity: sha512-hN+tIj8kh11PD0HMhq5KUs/nZYjxS+ps3F3HTTmOHWXNXzilYafFxeIWJ1bXKVm1Di5EUIjNaRPUDkP6HAcHvw==}
972
+ '@tbox.cn/app-sdk-core@0.20.3':
973
+ resolution: {integrity: sha512-3oR/UtV8LMYS/M62I/LLlXfajXTwGFA8JEbSZftq/XR6bfzADcx7skhVqJAVBvfRqRN9mUcs/UnuJFYKEIamIQ==}
974
974
  engines: {node: '>=20.0.0'}
975
975
 
976
- '@tbox.cn/app-sdk-core@0.20.0':
977
- resolution: {integrity: sha512-hvdcXntg4iJniVu9LEwo5A/vov3L08kRlJLTgStYRdAlH9AJXWLDxFITMNf7YJX8W+j9wjJmmS7Sv88iswxM+w==}
978
- engines: {node: '>=20.0.0'}
979
-
980
- '@tbox.cn/app-sdk-core@0.20.2':
981
- resolution: {integrity: sha512-KDcFdIrIEOlwDvIqBu29CzR5vDjt0BCADMBrgrd5WlRqjrPM1/jM/RcaRO6gRuElmQCp5LfsoAkVeYTZE/6rpw==}
982
- engines: {node: '>=20.0.0'}
983
-
984
- '@tbox.cn/app-sdk-server@0.23.0':
985
- resolution: {integrity: sha512-h+WtBjHF6ophOLj+amsiejZJ8TwoxLTmbnEmgfmUxDMgXHLzqJe/A/KAXN701ryku0IEDtIRXeWJ1szPLG9H5g==}
976
+ '@tbox.cn/app-sdk-server@0.24.1':
977
+ resolution: {integrity: sha512-/l2ST/m/o1gM2+v9jPWKaNkQC4iAAqg2E/4mV9KiEFsCgvB8gZ2FA1b9qyh2Dmijw/3azvhao32VMbM3nAv4Ng==}
986
978
  engines: {node: '>=20.0.0'}
987
979
  hasBin: true
988
980
 
989
- '@tbox.cn/app-toolkit@0.7.3':
990
- resolution: {integrity: sha512-Tdh1XkqRX0DGvTxflrfgJ4WFVW5wiq9cGOd7hpFrGzQ95mXFiSUKyQMgMtIum8kbReUq+aPI5hv8Z87AugZ1yQ==}
981
+ '@tbox.cn/app-toolkit@0.7.4':
982
+ resolution: {integrity: sha512-FHxlqD9mlL5OdfmjthDbIZKWIMcZTD2a5+TOGrNUHn9pML9z9gagBco/KqEKJNejzq0CXZeAKdYRtY5bFi4TSg==}
991
983
  engines: {node: '>=20.0.0'}
992
984
 
993
985
  '@types/babel__core@7.20.5':
@@ -2832,46 +2824,36 @@ snapshots:
2832
2824
 
2833
2825
  '@standard-schema/spec@1.1.0': {}
2834
2826
 
2835
- '@tbox.cn/app-contracts@0.12.0':
2827
+ '@tbox.cn/app-contracts@0.12.4':
2836
2828
  dependencies:
2837
2829
  '@ag-ui/core': 0.0.47
2838
2830
  react: 18.3.1
2839
2831
  zod: 3.25.76
2840
2832
 
2841
- '@tbox.cn/app-contracts@0.12.3':
2833
+ '@tbox.cn/app-sdk-client@0.21.2':
2842
2834
  dependencies:
2843
- '@ag-ui/core': 0.0.47
2844
- react: 18.3.1
2845
- zod: 3.25.76
2846
-
2847
- '@tbox.cn/app-sdk-client@0.21.1':
2848
- dependencies:
2849
- '@tbox.cn/app-contracts': 0.12.0
2850
- '@tbox.cn/app-sdk-core': 0.20.0
2835
+ '@tbox.cn/app-contracts': 0.12.4
2836
+ '@tbox.cn/app-sdk-core': 0.20.3
2851
2837
  react: 18.3.1
2852
2838
  react-dom: 18.3.1(react@18.3.1)
2853
2839
 
2854
- '@tbox.cn/app-sdk-core@0.20.0':
2855
- dependencies:
2856
- '@tbox.cn/app-contracts': 0.12.0
2857
-
2858
- '@tbox.cn/app-sdk-core@0.20.2':
2840
+ '@tbox.cn/app-sdk-core@0.20.3':
2859
2841
  dependencies:
2860
- '@tbox.cn/app-contracts': 0.12.3
2842
+ '@tbox.cn/app-contracts': 0.12.4
2861
2843
 
2862
- '@tbox.cn/app-sdk-server@0.23.0':
2844
+ '@tbox.cn/app-sdk-server@0.24.1':
2863
2845
  dependencies:
2864
2846
  '@ag-ui/core': 0.0.47
2865
- '@tbox.cn/app-contracts': 0.12.3
2866
- '@tbox.cn/app-sdk-core': 0.20.2
2867
- '@tbox.cn/app-toolkit': 0.7.3
2847
+ '@tbox.cn/app-contracts': 0.12.4
2848
+ '@tbox.cn/app-sdk-core': 0.20.3
2849
+ '@tbox.cn/app-toolkit': 0.7.4
2868
2850
  express: 4.22.2
2869
2851
  jose: 6.2.8
2870
2852
  zod: 3.25.76
2871
2853
  transitivePeerDependencies:
2872
2854
  - supports-color
2873
2855
 
2874
- '@tbox.cn/app-toolkit@0.7.3':
2856
+ '@tbox.cn/app-toolkit@0.7.4':
2875
2857
  dependencies:
2876
2858
  ajv: 8.20.0
2877
2859
  zod: 3.25.76
@@ -33,13 +33,13 @@ catalog:
33
33
  "@types/node": 24.13.3
34
34
  express: 4.22.2
35
35
  "@types/express": 4.17.25
36
- "@tbox.cn/app-sdk-core": 0.20.2
37
- "@tbox.cn/app-sdk-client": 0.21.1
38
- "@tbox.cn/app-sdk-server": 0.23.0
39
- "@tbox.cn/app-agent-sdk-server": 0.2.0
40
- "@tbox.cn/app-agent-sdk-client": 0.1.4
41
- "@tbox.cn/app-contracts": 0.12.3
42
- "@tbox.cn/app-contracts-mall": 0.12.4
36
+ "@tbox.cn/app-sdk-core": 0.20.3
37
+ "@tbox.cn/app-sdk-client": 0.21.2
38
+ "@tbox.cn/app-sdk-server": 0.24.1
39
+ "@tbox.cn/app-agent-sdk-server": 0.2.2
40
+ "@tbox.cn/app-agent-sdk-client": 0.1.5
41
+ "@tbox.cn/app-contracts": 0.12.4
42
+ "@tbox.cn/app-contracts-mall": 0.12.5
43
43
  eslint: 9.39.5
44
44
  typescript-eslint: 8.67.0
45
45
  eslint-plugin-react-hooks: 5.2.0
package/scripts/stop.sh CHANGED
@@ -1,5 +1,5 @@
1
1
  #!/bin/bash
2
- # 停止本应用全部进程。杀面收敛原则(docs/postmortem/0001):
2
+ # 停止本应用全部进程。杀面收敛原则(历史事故复盘沉淀):
3
3
  # 1) cmdline 匹配:锚定本项目路径,逐字符 ERE 字面量化(BSD/GNU 无歧义),[^ ]* 锁单参数
4
4
  # 2) 端口定位:只取 LISTEN 态——持有连接的客户端(编排探活/代理父进程)不入杀面
5
5
  # PORT 契约:须与启动环境一致(生产形态 cmdline 不含路径,端口是唯一定位手段)