@tbox.cn/app-template-agent 0.10.5 → 0.10.7

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/AGENTS.md CHANGED
@@ -166,7 +166,7 @@ integrations.config → integrations.configByInstance[instId] → modules[owner]
166
166
  services[slot].instances[instId].credentialRef → services[slot].credentialRef → integrations.credentialRefByInstance[instId] → integrations.credentialRef
167
167
  ```
168
168
 
169
- **implementation 派生**:显式 `slot.implementation` / `inst.implementation` 优先;字符串厂商缺省则按 `supplies[provider\u0000service]` 查表派生(unique→自动取一 / 0→`PROVIDER_NOT_SUPPLIED` / 多→要求显式);内联声明必须显式(zod 已拦)。
169
+ **implementation 派生**:显式 `slot.implementation` / `inst.implementation` 优先;字符串厂商缺省则按 `supplies[provider\u0000service]` 查表派生(unique→自动取一 / 0→`BINDING_UNRESOLVED` / 多→要求显式);内联声明必须显式(zod 已拦)。
170
170
 
171
171
  > 内联声明对象只在 `services[slot].provider` 层合法。`modules[].provider` 与 `integrations.provider` 只接受字符串厂商名——这是 zod 直接拒导致 fail-visible 的常见错点。
172
172
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tbox.cn/app-template-agent",
3
- "version": "0.10.5",
3
+ "version": "0.10.7",
4
4
  "description": "tbox AI Agent 全栈模板(多包 pnpm workspace):apps/client + apps/server。唯一模板(W4 单一模板统一化:缺省空装配 chat 形态;mall 能力经 profiles/mall 加装),能力经 tbox-app module add 模块扩展(shopping-guide/member 等)。",
5
5
  "engines": {
6
6
  "node": ">=24.0.0 <25.0.0"
@@ -26,6 +26,102 @@
26
26
  用不同 provider 名分键。adapter 内取凭据值(如自签名):`input.credential()` 惰性 getter
27
27
  (返回 `{ scope, type, value }`;未配 credentialRef → undefined)。
28
28
 
29
+ ## 声明形态 ⇔ 实现落点(先选对形态再动手)
30
+
31
+ | 声明形态(services.<slot>.provider) | adapter 落点 | 失配信号 |
32
+ |---|---|---|
33
+ | 内联对象 `{ provider, credentialType }` | **本包**(provider-custom) | 未注册 → `PROVIDER_NOT_IMPLEMENTED` |
34
+ | 字符串厂商名(如 `"mall-demo"`) | 对应正式 provider 包(catalog 来源;`packages/provider-mock` 为样例) | catalog 无此厂商 → **`PROVIDER_NOT_FOUND`** |
35
+
36
+ **本包 adapter 禁止配字符串声明**:本包零贡献(manifest 无
37
+ `declare.providers.slots`),永不进 provider catalog——字符串声明运行时按
38
+ catalog 查表,必报 `PROVIDER_NOT_FOUND`(错误文案「provider 未命中
39
+ catalog」≠ 名字拼错,是**形态落错**)。
40
+
41
+ ## 内联声明 JSON 片段(可复制形态)
42
+
43
+ `config/integrations.json` 槽级写法(`provider` 对象与 `implementation`
44
+ 是**兄弟键**——implementation 不在对象内;省略 `instances` = 通配激活):
45
+
46
+ ```json
47
+ {
48
+ "services": {
49
+ "parking.query": {
50
+ "provider": { "provider": "my-api", "credentialType": "static-headers-v1" },
51
+ "implementation": "my-api@1",
52
+ "config": { "baseUrl": "https://api.example.com" },
53
+ "credentialRef": "secret://my-api-parking.query"
54
+ }
55
+ }
56
+ }
57
+ ```
58
+
59
+ **错误形态对照**:
60
+
61
+ | ❌ 错误 | 原因 |
62
+ |---|---|
63
+ | `"provider": { "provider": "my-api", "implementation": "my-api@1" }` | `implementation` 不是内联对象字段(zod 拒) |
64
+ | `"provider": "my-api"` 而 adapter 在本包 | catalog 查表失配 → `PROVIDER_NOT_FOUND`(见上节) |
65
+ | `"instances": {}` | 零激活(省略 = 通配激活) |
66
+
67
+ 实参(config 值 / 凭据 stem / 槽名)按用户 API 文档填;凭据真值只进
68
+ `config/credentials/<stem>.json` 嵌套形(格式见「认证与凭据」)。
69
+
70
+ ## 最小代码骨架
71
+
72
+ 类型 import 双源(全部 `import type`——typecheck 首祸排除):
73
+
74
+ - `ServiceAdapterFactory` / `ServerContext` ← `@tbox.cn/app-agent-sdk-server`
75
+ - Port 接口 ← 服务域契约包(mall 域 = `@app/contracts-mall`;消费模块
76
+ `src/server/ports.ts` 的 import 行可反查正确来源——如 `parking.query` 的
77
+ 供给接口 `ParkingQueryPort`;本包 `package.json` 按需补该依赖)
78
+
79
+ ```ts
80
+ // packages/provider-custom/src/server/my-api.ts
81
+ import type { ServiceAdapterFactory } from '@tbox.cn/app-agent-sdk-server';
82
+ import type { ParkingQueryPort } from '@app/contracts-mall';
83
+
84
+ export const myApiFactory: ServiceAdapterFactory = (input) => {
85
+ const impl: ParkingQueryPort = {
86
+ async queryFee(q, req) {
87
+ // input.transport:HTTP 通道(baseUrl/认证/熔断/HTTPS 强制内建)
88
+ const res = await input.transport.request({
89
+ path: '/v1/parking/fee',
90
+ method: 'POST',
91
+ body: { plateNo: req.plateNo },
92
+ });
93
+ return mapFee(res);
94
+ },
95
+ // ...Port 其余方法签名照抄接口定义
96
+ };
97
+ return impl;
98
+ };
99
+ ```
100
+
101
+ **Port 形状检索工作法(零猜测)**:
102
+
103
+ ```sh
104
+ rg "export (interface|type) .*Port" packages/<消费模块>/src/server/ports.ts
105
+ rg "<接口名>" packages/contracts-mall/src/
106
+ ```
107
+
108
+ - Port 方法签名 = 实现清单——逐个照抄(参数/返回值与工具语义一一对应);
109
+ - 厂商响应 → contracts 结构转换后返回,不透传厂商字段名。
110
+
111
+ 注册(`src/server/index.ts` 的 `register(ctx)` 内):
112
+
113
+ ```ts
114
+ import type { ServerContext } from '@tbox.cn/app-agent-sdk-server';
115
+ import { myApiFactory } from './my-api';
116
+
117
+ // register(ctx) 内:
118
+ ctx.integrations?.registerAdapter('my-api', 'inline', myApiFactory);
119
+ ```
120
+
121
+ 单 factory 多服务:按 `input.service` 分支返回不同 Port 实现(服务清单见
122
+ 消费模块 `tbox.module.json` `declare.owns`);或每服务独立 provider 名
123
+ 分键注册。`input` 字段全集见 `src/server/index.ts` 签名示例注释。
124
+
29
125
  ## provider 名三处一致
30
126
 
31
127
  取的 provider 名必须下三处同名(任一处失配则运行时报 `PROVIDER_NOT_IMPLEMENTED`——
@@ -89,8 +185,9 @@ resolveService 惰性查表查不到对应 adapter):
89
185
  ## 完成判据
90
186
 
91
187
  - `pnpm typecheck && pnpm build` 通过;
92
- - 平台重启后该服务的调用不再报 `PROVIDER_NOT_IMPLEMENTED`(resolveService 惰性——调用时
93
- 观测;通配槽下 doctor 不检查凭据,运行时为最终裁判)。
188
+ - 对话或 curl 触发一次该服务的工具调用,确认正常出结果(typecheck/build 与 doctor
189
+ 均不触运行时——resolveService 惰性,调用时才判 `PROVIDER_NOT_IMPLEMENTED`);
190
+ - 通配槽下 doctor 不检查凭据,运行时为最终裁判。
94
191
 
95
192
  ## 真实厂商接入
96
193
 
@@ -16,17 +16,17 @@ catalogs:
16
16
  specifier: 0.1.0
17
17
  version: 0.1.0
18
18
  '@tbox.cn/app-agent-sdk-client':
19
- specifier: 0.1.2
20
- version: 0.1.2
19
+ specifier: 0.1.3
20
+ version: 0.1.3
21
21
  '@tbox.cn/app-agent-sdk-server':
22
- specifier: 0.1.2
23
- version: 0.1.2
22
+ specifier: 0.1.4
23
+ version: 0.1.4
24
24
  '@tbox.cn/app-contracts':
25
- specifier: 0.12.2
26
- version: 0.12.2
25
+ specifier: 0.12.3
26
+ version: 0.12.3
27
27
  '@tbox.cn/app-contracts-mall':
28
- specifier: 0.12.2
29
- version: 0.12.2
28
+ specifier: 0.12.3
29
+ version: 0.12.3
30
30
  '@tbox.cn/app-sdk-server':
31
31
  specifier: 0.21.1
32
32
  version: 0.21.1
@@ -142,10 +142,10 @@ importers:
142
142
  version: link:../../packages/provider-custom
143
143
  '@tbox.cn/app-agent-sdk-client':
144
144
  specifier: 'catalog:'
145
- version: 0.1.2(@types/react@18.3.31)
145
+ version: 0.1.3(@types/react@18.3.31)
146
146
  '@tbox.cn/app-contracts':
147
147
  specifier: 'catalog:'
148
- version: 0.12.2
148
+ version: 0.12.3
149
149
  '@tbox.cn/app-theme-tbox':
150
150
  specifier: 'catalog:'
151
151
  version: 0.1.3
@@ -206,10 +206,10 @@ importers:
206
206
  version: 0.1.0(@mastra/core@1.59.0(ai@6.0.246(zod@3.25.76))(express@4.22.2)(rxjs@7.8.1)(zod@3.25.76))(@tbox-dev-js/sdk@0.1.18)(zod@3.25.76)
207
207
  '@tbox.cn/app-agent-sdk-server':
208
208
  specifier: 'catalog:'
209
- version: 0.1.2(@tbox-dev-js/sdk@0.1.18)(rxjs@7.8.1)
209
+ version: 0.1.4(@tbox-dev-js/sdk@0.1.18)(rxjs@7.8.1)
210
210
  '@tbox.cn/app-contracts':
211
211
  specifier: 'catalog:'
212
- version: 0.12.2
212
+ version: 0.12.3
213
213
  express:
214
214
  specifier: 'catalog:'
215
215
  version: 4.22.2
@@ -246,10 +246,10 @@ importers:
246
246
  version: 2.1.10(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
247
247
  '@tbox.cn/app-agent-sdk-client':
248
248
  specifier: 'catalog:'
249
- version: 0.1.2(@types/react@18.3.31)
249
+ version: 0.1.3(@types/react@18.3.31)
250
250
  '@tbox.cn/app-contracts':
251
251
  specifier: 'catalog:'
252
- version: 0.12.2
252
+ version: 0.12.3
253
253
  antd-mobile:
254
254
  specifier: 'catalog:'
255
255
  version: 5.42.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
@@ -298,7 +298,7 @@ importers:
298
298
  dependencies:
299
299
  '@tbox.cn/app-contracts-mall':
300
300
  specifier: 'catalog:'
301
- version: 0.12.2
301
+ version: 0.12.3
302
302
  devDependencies:
303
303
  '@types/node':
304
304
  specifier: 24.13.3
@@ -314,13 +314,13 @@ importers:
314
314
  dependencies:
315
315
  '@tbox.cn/app-agent-sdk-client':
316
316
  specifier: 'catalog:'
317
- version: 0.1.2(@types/react@18.3.31)
317
+ version: 0.1.3(@types/react@18.3.31)
318
318
  '@tbox.cn/app-agent-sdk-server':
319
319
  specifier: 'catalog:'
320
- version: 0.1.2(@tbox-dev-js/sdk@0.1.18)(rxjs@7.8.1)
320
+ version: 0.1.4(@tbox-dev-js/sdk@0.1.18)(rxjs@7.8.1)
321
321
  '@tbox.cn/app-contracts':
322
322
  specifier: 'catalog:'
323
- version: 0.12.2
323
+ version: 0.12.3
324
324
  devDependencies:
325
325
  '@types/node':
326
326
  specifier: 24.13.3
@@ -1335,16 +1335,16 @@ packages:
1335
1335
  '@tbox-dev-js/sdk': '>=0.1.18 <0.2.0'
1336
1336
  zod: '>=3.24.0 <4.0.0'
1337
1337
 
1338
- '@tbox.cn/app-agent-sdk-client@0.1.2':
1339
- resolution: {integrity: sha512-Ba5n4PUCWsj8+jByOYGGAXS5lzEioBYmaMxvLL0Axvc3Id9gVYF31Jj5H4U+bVzO4Jtbb7huqG9sf3qX69lffw==}
1338
+ '@tbox.cn/app-agent-sdk-client@0.1.3':
1339
+ resolution: {integrity: sha512-oyHvufpJ1bWfoEAm82Kkh07d0NbuK9NQkZGEvprB3UBKEQRgyydKps58K1IHHjVZ/eDMBeGA8DgAxqAbC8rQCw==}
1340
1340
  engines: {node: '>=20.0.0'}
1341
1341
 
1342
- '@tbox.cn/app-agent-sdk-server@0.1.2':
1343
- resolution: {integrity: sha512-qS9RDPAGHiFB+FesBtgc2QLZnGNgXrG62fCyPQ663Cb9xfF0Fs0r+fTPXpG2ewsBkoST7c1oy/ZlfMO85o7/pw==}
1342
+ '@tbox.cn/app-agent-sdk-server@0.1.4':
1343
+ resolution: {integrity: sha512-V4XS+DkanVTdX/5TsgPFgBV/6+iNx0lgA4AjGfhR4eIyV3fhlBU0qS3KN+ZPbfQQfgh95fqenV4n6jMO8iothw==}
1344
1344
  engines: {node: '>=20.0.0'}
1345
1345
 
1346
- '@tbox.cn/app-contracts-mall@0.12.2':
1347
- resolution: {integrity: sha512-/vBCWpvFsCagnUSHbogHFFrnCURic9QUZ//AURasTzZoSv5u5/OetHAQ8JON1ukJ8ItLzfhjRJ1IBvFNMA3xhg==}
1346
+ '@tbox.cn/app-contracts-mall@0.12.3':
1347
+ resolution: {integrity: sha512-ahV/yVeJCcO6PioAoVRPfnSNNFOAcHwtkTns6dK2xnpPIN1ouHPcZd6NoM4kZaTs/ZWNwVMPQEfqFBjLnS9heA==}
1348
1348
  engines: {node: '>=20.0.0'}
1349
1349
 
1350
1350
  '@tbox.cn/app-contracts@0.12.0':
@@ -1355,8 +1355,8 @@ packages:
1355
1355
  resolution: {integrity: sha512-h5HXIfk5frNx6hufY2IBE+hISCk3/2n8A7G3EtnAF4JsR91Pm/uwdmn4zYtZOz0r9cL7Wk1SrUMcokMZ9HkbLw==}
1356
1356
  engines: {node: '>=20.0.0'}
1357
1357
 
1358
- '@tbox.cn/app-contracts@0.12.2':
1359
- resolution: {integrity: sha512-SnteKq3+kQjwDHb4BN2HX2Eawd7ws84IxPkJziaeKaDGBfJ1RzPRUAQyL/Zo4kJLCzsY3ViE2AEh1SG10r4MXw==}
1358
+ '@tbox.cn/app-contracts@0.12.3':
1359
+ resolution: {integrity: sha512-b71WtU1Kk9rC3lwaefb48ymKPgkdb7MJcJQ0lTeUZu/jSNHsqQ4ZZI9ZUbHQ/rzYvWmZbdxe5H94328jAfJoVA==}
1360
1360
  engines: {node: '>=20.0.0'}
1361
1361
 
1362
1362
  '@tbox.cn/app-sdk-client@0.21.1':
@@ -1371,10 +1371,9 @@ packages:
1371
1371
  resolution: {integrity: sha512-OSncc0sjhcuEQAlcANLCKNP0V+hgVhP0qol6pIyYSxSUUVLf69naiGWC4CBtY7PTIYlhximMw6bIn8tqNYKFXg==}
1372
1372
  engines: {node: '>=20.0.0'}
1373
1373
 
1374
- '@tbox.cn/app-sdk-server@0.21.0':
1375
- resolution: {integrity: sha512-buiwhnT46Jb1P99UJN1p0ATjRzhFIXIgqIYQDT4aT3fVbmMxWUuAPpFYhM3uTFGx5oPh18/ju3MVz0FxZ5DMCg==}
1374
+ '@tbox.cn/app-sdk-core@0.20.2':
1375
+ resolution: {integrity: sha512-KDcFdIrIEOlwDvIqBu29CzR5vDjt0BCADMBrgrd5WlRqjrPM1/jM/RcaRO6gRuElmQCp5LfsoAkVeYTZE/6rpw==}
1376
1376
  engines: {node: '>=20.0.0'}
1377
- hasBin: true
1378
1377
 
1379
1378
  '@tbox.cn/app-sdk-server@0.21.1':
1380
1379
  resolution: {integrity: sha512-LCB9gH6n5ILdLDHQUAq1NLrclLjmB0dsqGVHe4Zb4yucUPb16jxk/53NREYq0NzsHiTDxc29IvcreVaxRpVmXw==}
@@ -1384,10 +1383,6 @@ packages:
1384
1383
  '@tbox.cn/app-theme-tbox@0.1.3':
1385
1384
  resolution: {integrity: sha512-Wf2umpT/k+Ppy1oKuCDqe6M5yvp4F/tjdGpU7uygGWMaEduwFnoK0EVh4eDcA6dMlERLCAjxFlEUY68xXGq99A==}
1386
1385
 
1387
- '@tbox.cn/app-toolkit@0.5.0':
1388
- resolution: {integrity: sha512-ShLYwxsMzhr8V5sjixo4GFGBZbAw4/8CoTnCigrbBcRLtydf2ezLrLDR9jHfi/d5fQworFR5ZBzI7xDSjvR2zA==}
1389
- engines: {node: '>=20.0.0'}
1390
-
1391
1386
  '@tbox.cn/app-toolkit@0.7.2':
1392
1387
  resolution: {integrity: sha512-bvq5l7rwwX3EJe0hQm4dnwSh0tuDmoucCkCfX306PvNbhSv0H9uHSljg/jeXh08DBtc2gjIJyvPsfDxrv5X6Uw==}
1393
1388
  engines: {node: '>=20.0.0'}
@@ -4090,11 +4085,11 @@ snapshots:
4090
4085
  '@tbox-dev-js/sdk': 0.1.18
4091
4086
  zod: 3.25.76
4092
4087
 
4093
- '@tbox.cn/app-agent-sdk-client@0.1.2(@types/react@18.3.31)':
4088
+ '@tbox.cn/app-agent-sdk-client@0.1.3(@types/react@18.3.31)':
4094
4089
  dependencies:
4095
- '@tbox.cn/app-contracts': 0.12.1
4090
+ '@tbox.cn/app-contracts': 0.12.3
4096
4091
  '@tbox.cn/app-sdk-client': 0.21.1
4097
- '@tbox.cn/app-sdk-core': 0.20.1
4092
+ '@tbox.cn/app-sdk-core': 0.20.2
4098
4093
  react: 18.3.1
4099
4094
  react-dom: 18.3.1(react@18.3.1)
4100
4095
  zustand: 4.5.7(@types/react@18.3.31)(react@18.3.1)
@@ -4102,7 +4097,7 @@ snapshots:
4102
4097
  - '@types/react'
4103
4098
  - immer
4104
4099
 
4105
- '@tbox.cn/app-agent-sdk-server@0.1.2(@tbox-dev-js/sdk@0.1.18)(rxjs@7.8.1)':
4100
+ '@tbox.cn/app-agent-sdk-server@0.1.4(@tbox-dev-js/sdk@0.1.18)(rxjs@7.8.1)':
4106
4101
  dependencies:
4107
4102
  '@ag-ui/core': 0.0.47
4108
4103
  '@ai-sdk/openai-compatible': 2.0.68(zod@3.25.76)
@@ -4110,9 +4105,9 @@ snapshots:
4110
4105
  '@mastra/core': 1.59.0(ai@6.0.246(zod@3.25.76))(express@4.22.2)(rxjs@7.8.1)(zod@3.25.76)
4111
4106
  '@mastra/observability': 1.16.5(@mastra/core@1.59.0(ai@6.0.246(zod@3.25.76))(express@4.22.2)(rxjs@7.8.1)(zod@3.25.76))(zod@3.25.76)
4112
4107
  '@tbox.cn/agent-plugin': 0.1.0(@mastra/core@1.59.0(ai@6.0.246(zod@3.25.76))(express@4.22.2)(rxjs@7.8.1)(zod@3.25.76))(@tbox-dev-js/sdk@0.1.18)(zod@3.25.76)
4113
- '@tbox.cn/app-contracts': 0.12.1
4114
- '@tbox.cn/app-sdk-core': 0.20.1
4115
- '@tbox.cn/app-sdk-server': 0.21.0
4108
+ '@tbox.cn/app-contracts': 0.12.3
4109
+ '@tbox.cn/app-sdk-core': 0.20.2
4110
+ '@tbox.cn/app-sdk-server': 0.21.1
4116
4111
  ai: 6.0.246(zod@3.25.76)
4117
4112
  express: 4.22.2
4118
4113
  gray-matter: 4.0.3
@@ -4130,9 +4125,9 @@ snapshots:
4130
4125
  - utf-8-validate
4131
4126
  - workflow
4132
4127
 
4133
- '@tbox.cn/app-contracts-mall@0.12.2':
4128
+ '@tbox.cn/app-contracts-mall@0.12.3':
4134
4129
  dependencies:
4135
- '@tbox.cn/app-contracts': 0.12.1
4130
+ '@tbox.cn/app-contracts': 0.12.3
4136
4131
  zod: 3.25.76
4137
4132
 
4138
4133
  '@tbox.cn/app-contracts@0.12.0':
@@ -4147,7 +4142,7 @@ snapshots:
4147
4142
  react: 18.3.1
4148
4143
  zod: 3.25.76
4149
4144
 
4150
- '@tbox.cn/app-contracts@0.12.2':
4145
+ '@tbox.cn/app-contracts@0.12.3':
4151
4146
  dependencies:
4152
4147
  '@ag-ui/core': 0.0.47
4153
4148
  react: 18.3.1
@@ -4168,17 +4163,9 @@ snapshots:
4168
4163
  dependencies:
4169
4164
  '@tbox.cn/app-contracts': 0.12.1
4170
4165
 
4171
- '@tbox.cn/app-sdk-server@0.21.0':
4166
+ '@tbox.cn/app-sdk-core@0.20.2':
4172
4167
  dependencies:
4173
- '@ag-ui/core': 0.0.47
4174
- '@tbox.cn/app-contracts': 0.12.0
4175
- '@tbox.cn/app-sdk-core': 0.20.0
4176
- '@tbox.cn/app-toolkit': 0.5.0
4177
- express: 4.22.2
4178
- jose: 6.2.8
4179
- zod: 3.25.76
4180
- transitivePeerDependencies:
4181
- - supports-color
4168
+ '@tbox.cn/app-contracts': 0.12.3
4182
4169
 
4183
4170
  '@tbox.cn/app-sdk-server@0.21.1':
4184
4171
  dependencies:
@@ -4194,11 +4181,6 @@ snapshots:
4194
4181
 
4195
4182
  '@tbox.cn/app-theme-tbox@0.1.3': {}
4196
4183
 
4197
- '@tbox.cn/app-toolkit@0.5.0':
4198
- dependencies:
4199
- ajv: 8.20.0
4200
- zod: 3.25.76
4201
-
4202
4184
  '@tbox.cn/app-toolkit@0.7.2':
4203
4185
  dependencies:
4204
4186
  ajv: 8.20.0
@@ -38,13 +38,13 @@ catalog:
38
38
  ws: 8.21.3
39
39
  "@types/ws": 8.18.1
40
40
  "@tbox.cn/agent-plugin": 0.1.0
41
- "@tbox.cn/app-sdk-core": 0.20.1
41
+ "@tbox.cn/app-sdk-core": 0.20.2
42
42
  "@tbox.cn/app-sdk-client": 0.21.1
43
43
  "@tbox.cn/app-sdk-server": 0.21.1
44
- "@tbox.cn/app-agent-sdk-server": 0.1.2
45
- "@tbox.cn/app-agent-sdk-client": 0.1.2
46
- "@tbox.cn/app-contracts": 0.12.2
47
- "@tbox.cn/app-contracts-mall": 0.12.2
44
+ "@tbox.cn/app-agent-sdk-server": 0.1.4
45
+ "@tbox.cn/app-agent-sdk-client": 0.1.3
46
+ "@tbox.cn/app-contracts": 0.12.3
47
+ "@tbox.cn/app-contracts-mall": 0.12.3
48
48
  "@tbox.cn/app-theme-tbox": 0.1.3
49
49
  zustand: 4.5.7
50
50
  eslint: 9.39.5