openxiangda 2.74.1 → 2.75.1
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/browser/anonymous-public-query.d.ts +53 -0
- package/dist/browser/anonymous-public-query.d.ts.map +1 -0
- package/dist/browser/anonymous-public-query.js +70 -0
- package/dist/browser/anonymous-public-query.js.map +1 -0
- package/dist/browser/components/resource/useResourceFormDrafts.d.ts.map +1 -1
- package/dist/browser/platform-client.d.ts +4 -13
- package/dist/browser/platform-client.d.ts.map +1 -1
- package/dist/browser/platform-client.js +11 -0
- package/dist/browser/platform-client.js.map +1 -1
- package/dist/react.d.ts +1 -1
- package/dist/react.d.ts.map +1 -1
- package/dist/react.js.map +1 -1
- package/documentation/getting-started.md +7 -7
- package/documentation/manifest.json +3 -3
- package/documentation/public-access.md +25 -0
- package/package.json +27 -21
- package/releases/2.72.0.json +36 -0
- package/releases/2.73.0.json +31 -0
- package/releases/2.75.0.json +35 -0
- package/releases/2.75.1.json +37 -0
- package/skills/manifest.json +1 -1
- package/skills/openxiangda-v2/SKILL.md +4 -4
- package/skills/openxiangda-v2/references/getting-started.md +7 -7
- package/skills/openxiangda-v2/references/public-access.md +25 -0
- package/releases/2.68.1.json +0 -33
- package/releases/2.69.1.json +0 -32
- package/releases/2.70.2.json +0 -32
- package/releases/2.74.0.json +0 -37
- package/releases/2.74.1.json +0 -31
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schemaVersion": "openxiangda.documentation/v1",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.75.1",
|
|
4
4
|
"topics": [
|
|
5
5
|
{
|
|
6
6
|
"id": "getting-started",
|
|
7
7
|
"title": "安装与开始开发",
|
|
8
8
|
"file": "getting-started.md",
|
|
9
|
-
"sha256": "
|
|
9
|
+
"sha256": "97cacd30d3669686e8baca8b6f216e6b9ff076897477bb1e8d45266993ac01e4"
|
|
10
10
|
},
|
|
11
11
|
{
|
|
12
12
|
"id": "product-design",
|
|
@@ -90,7 +90,7 @@
|
|
|
90
90
|
"id": "public-access",
|
|
91
91
|
"title": "无账号的匿名公开访问",
|
|
92
92
|
"file": "public-access.md",
|
|
93
|
-
"sha256": "
|
|
93
|
+
"sha256": "049cfaa16e615dbdd7d10186f95ce1ade47506de353cf2fa8437d1c19770b904"
|
|
94
94
|
},
|
|
95
95
|
{
|
|
96
96
|
"id": "workflow-events",
|
|
@@ -254,3 +254,28 @@ const publicDetail = await client.getPublic(publicPage.items[0].data.id as strin
|
|
|
254
254
|
8. 生产入口为 HTTPS,没有新增公开存储桶或匿名上传白名单。
|
|
255
255
|
|
|
256
256
|
开发与交付时按[检查与验收](./testing.md)保留跨浏览器正反证据。
|
|
257
|
+
|
|
258
|
+
|
|
259
|
+
## 匿名具名查询的有界批量读取
|
|
260
|
+
|
|
261
|
+
需要多个独立公开查询时,使用官方 `createAnonymousPublicClient({ routeCode }).queryBatch(operations)`。先按正常公开入口完成 `bootstrap()`,使用同一浏览器匿名凭证;每项显式给出 `key`、`policyCode`、`queryCode`,可带原查询的 `parameters`、`limit`、`cursor`。批次固定当前应用、环境和一个已声明route,不接受浏览器传入SQL、字段、排序、角色或授权上下文。
|
|
262
|
+
|
|
263
|
+
```ts
|
|
264
|
+
const client = createAnonymousPublicClient({ routeCode: 'public-home', policyCode: 'catalogue' });
|
|
265
|
+
await client.bootstrap();
|
|
266
|
+
const batch = await client.queryBatch([
|
|
267
|
+
{ key: 'summary', policyCode: 'catalogue', queryCode: 'summary', limit: 1 },
|
|
268
|
+
{ key: 'cards', policyCode: 'catalogue', queryCode: 'cards', limit: 9 },
|
|
269
|
+
]);
|
|
270
|
+
for (const item of batch.items) {
|
|
271
|
+
if (!item.ok) throw new Error(`${item.error.code} (${item.error.status})`);
|
|
272
|
+
if (item.result.kind === 'records') {
|
|
273
|
+
// 记录行使用 record.data;聚合行是直接含指标/维度的对象。
|
|
274
|
+
console.log(item.result.items.map(record => record.data));
|
|
275
|
+
}
|
|
276
|
+
}
|
|
277
|
+
```
|
|
278
|
+
|
|
279
|
+
服务端每批最多10项、合计最多500条请求上限、输入最多64KiB,最多3项并发;每项继续执行原不可变策略、固定条件、字段白名单、限流和真实RLS。批量结果按key/策略/查询精确对应,单项403/404/429/503保留为error;不能把整批HTTP成功当作每项成功,也不能把拒绝变成空表/零。SDK对缺失、重复、错位、超量及错误形状的回执明确拒绝,不自动改走普通Data API或逐项重放。
|
|
280
|
+
|
|
281
|
+
此能力需要正式平台提供 `POST .../anonymous-public/public/query-batch`;旧平台的404应明确报告并先升级平台。批次是独立只读查询组合,不是同一数据库快照,不承载写入或通知。原单查询API继续可用,`AnonymousPublicQueryResult`、`AnonymousPublicQueryBatchOperation`、`AnonymousPublicQueryBatchResult`等类型从`openxiangda/react`导出。
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "openxiangda",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.75.1",
|
|
4
4
|
"description": "OpenXiangda 2.0 的统一命令、应用 SDK、MCP 与中文 AI 技能资料。",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -95,13 +95,13 @@
|
|
|
95
95
|
"dayjs": "1.11.18",
|
|
96
96
|
"docx-preview": "0.3.7",
|
|
97
97
|
"elkjs": "0.12.0",
|
|
98
|
-
"openxiangda-cli": "2.11.
|
|
99
|
-
"openxiangda-contracts": "2.95.
|
|
100
|
-
"openxiangda-devkit-core": "2.71.
|
|
98
|
+
"openxiangda-cli": "2.11.13",
|
|
99
|
+
"openxiangda-contracts": "2.95.2",
|
|
100
|
+
"openxiangda-devkit-core": "2.71.3",
|
|
101
101
|
"openxiangda-legacy": "npm:openxiangda@1.0.269",
|
|
102
|
-
"openxiangda-mcp": "2.2.
|
|
103
|
-
"openxiangda-nest": "2.22.
|
|
104
|
-
"openxiangda-skill-kit": "2.3.
|
|
102
|
+
"openxiangda-mcp": "2.2.25",
|
|
103
|
+
"openxiangda-nest": "2.22.5",
|
|
104
|
+
"openxiangda-skill-kit": "2.3.127",
|
|
105
105
|
"xlsx": "https://github.com/1377385356/openxiangda/releases/download/vendor-mirror/xlsx-0.20.3.tgz"
|
|
106
106
|
},
|
|
107
107
|
"peerDependencies": {
|
|
@@ -167,34 +167,40 @@
|
|
|
167
167
|
},
|
|
168
168
|
"openxiangdaRelease": {
|
|
169
169
|
"schemaVersion": "openxiangda.release-notes/v1",
|
|
170
|
-
"version": "2.
|
|
170
|
+
"version": "2.75.1",
|
|
171
171
|
"status": "reviewed",
|
|
172
|
-
"title": "
|
|
173
|
-
"summary": "
|
|
174
|
-
"newFeatures": [
|
|
172
|
+
"title": "公开查询批量读取与排序优先级修复",
|
|
173
|
+
"summary": "提供保留原平台权限的有界批量公开查询,修复多字段排序被重排的问题,配套同步官方技能资料。",
|
|
174
|
+
"newFeatures": [
|
|
175
|
+
"createAnonymousPublicClient.queryBatch固定应用、环境和声明路由,按key/policy/query精确匹配逐项记录、聚合或错误回执。",
|
|
176
|
+
"每批最多10项、500条请求上限、64KiB输入,配套平台最多3项并发;不新增普通匿名Data API、权限缓存或Nest CRUD代理。"
|
|
177
|
+
],
|
|
175
178
|
"fixes": [
|
|
176
|
-
"
|
|
177
|
-
"
|
|
179
|
+
"应用打包器和共享目标编译器均保留publicQueries.sort声明顺序;修改排序优先级会正确改变配置摘要。",
|
|
180
|
+
"聚合items正确表示为直接含维度/指标的对象,不再声明成record.data;保留原value-only计数与单查询API。",
|
|
181
|
+
"缺失、重复、错位、超量或形状错误的批量回执明确拒绝,单项403/404/429/503不会变成空表或零。"
|
|
178
182
|
],
|
|
179
183
|
"affectedUsers": [
|
|
180
|
-
"
|
|
184
|
+
"使用匿名公开目录、仪器卡片、首页统计或其他多个具名只读查询的OpenXiangda V2应用。"
|
|
181
185
|
],
|
|
182
186
|
"upgradeSteps": [
|
|
183
|
-
"
|
|
184
|
-
"
|
|
187
|
+
"先部署支持POST anonymous-public/public/query-batch的正式平台版本,再升级官方SDK与CLI;旧平台404应报告并完成平台更新。",
|
|
188
|
+
"升级后重新编译并发布TEST应用,以新不可变策略采用正确排序;不修改历史Head,不下载全表在前端弥补错误的前N选择。",
|
|
189
|
+
"使用原bootstrap获取正式浏览器凭证;批次每项显式指定策略、查询与key,调用方逐项处理成功或错误,延续原固定过滤和字段白名单。",
|
|
190
|
+
"保持真实页面请求数、P95/LCP与多角色业务验收独立进行,批量HTTP成功不代表每项成功。"
|
|
185
191
|
],
|
|
186
192
|
"knownLimitations": [
|
|
187
|
-
"
|
|
188
|
-
"
|
|
193
|
+
"批次由独立只读查询组成,不保证同一数据库快照;不支持写入、业务动作或通知。",
|
|
194
|
+
"本发行不代表任何客户站点已部署或页面性能已达标;普通列表服务端分页与应用接入另行验收。"
|
|
189
195
|
],
|
|
190
196
|
"compatibility": {
|
|
191
197
|
"node": "Node.js 24 or newer for maintained toolchain",
|
|
192
198
|
"generation": "OpenXiangda V2; V1 unchanged",
|
|
193
|
-
"platform": "
|
|
199
|
+
"platform": "Requires anonymous-public/public/query-batch; each item reuses existing public policy and Native authorization"
|
|
194
200
|
},
|
|
195
201
|
"issues": [],
|
|
196
|
-
"sha256": "
|
|
197
|
-
"url": "https://github.com/1377385356/openxiangda/releases/tag/v2.
|
|
202
|
+
"sha256": "3abc78c05afd7f71f1559f134f30a060c233e2a851adae71023c10e091ededb2",
|
|
203
|
+
"url": "https://github.com/1377385356/openxiangda/releases/tag/v2.75.1"
|
|
198
204
|
},
|
|
199
205
|
"scripts": {
|
|
200
206
|
"build": "node ../../scripts/prune-package-dist.mjs && tsc -p tsconfig.json && node scripts/copy-assets.mjs",
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": "openxiangda.release-notes/v1",
|
|
3
|
+
"version": "2.72.0",
|
|
4
|
+
"status": "reviewed",
|
|
5
|
+
"title": "有界匿名具名查询",
|
|
6
|
+
"summary": "为匿名公开门户提供固定字段、排序、参数和签名游标的服务端具名查询,减少首页、搜索和排行的全量分页读取。",
|
|
7
|
+
"newFeatures": [
|
|
8
|
+
"frontend.publicAccess 支持 publicQueries 与 public.query,固定资源、字段投影、排序、limit 和参数绑定。",
|
|
9
|
+
"匿名浏览器 SDK 提供具名查询客户端;平台服务端复用公开字段、固定 publicFilters、RLS 和托管文件投影。",
|
|
10
|
+
"记录查询游标绑定查询、参数、签名和有界偏移,未知字段、参数、游标和超限请求直接拒绝。"
|
|
11
|
+
],
|
|
12
|
+
"fixes": [
|
|
13
|
+
"公开目录页面可在具名查询声明存在时使用有界首屏查询,旧 public.list/public.read 策略保持兼容。",
|
|
14
|
+
"compiler、bundle、JSON Schema 和 server execution 统一校验 publicQueries,避免仅更新页面而绕过平台匿名访问合同。"
|
|
15
|
+
],
|
|
16
|
+
"affectedUsers": [
|
|
17
|
+
"需要匿名首页、公开目录、搜索、排行或统计的 OpenXiangda V2 应用。"
|
|
18
|
+
],
|
|
19
|
+
"upgradeSteps": [
|
|
20
|
+
"升级同一正式发行的 openxiangda、contracts、devkit-core 和 CLI 组合。",
|
|
21
|
+
"在匿名策略中声明 public.query 与 publicQueries,并按本应用字段配置固定排序和参数。",
|
|
22
|
+
"先在 TEST/preproduction 完成请求量、权限、游标失效和真实浏览器 PC/mobile 验收,再发布生产。"
|
|
23
|
+
],
|
|
24
|
+
"knownLimitations": [
|
|
25
|
+
"本地构建和单元测试不代表学校站点已安装该平台组合。",
|
|
26
|
+
"现版本服务端 aggregate 查询返回固定 count;复杂维度和度量仍需单独声明与验证。"
|
|
27
|
+
],
|
|
28
|
+
"compatibility": {
|
|
29
|
+
"node": "Node.js 24 or newer for maintained toolchain",
|
|
30
|
+
"generation": "OpenXiangda V2; V1 unchanged",
|
|
31
|
+
"platform": "anonymous-public named queries 1.0.0; existing anonymous public list/read policies remain compatible"
|
|
32
|
+
},
|
|
33
|
+
"issues": [],
|
|
34
|
+
"sha256": "cc2aaebd52707a5e6acf65319407411baa61aff689a2f5ea91294effd5f0ed31",
|
|
35
|
+
"url": "https://github.com/1377385356/openxiangda/releases/tag/v2.72.0"
|
|
36
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": "openxiangda.release-notes/v1",
|
|
3
|
+
"version": "2.73.0",
|
|
4
|
+
"status": "reviewed",
|
|
5
|
+
"title": "匿名聚合查询与工作流作者体验",
|
|
6
|
+
"summary": "为匿名公开门户提供固定维度、度量和排序的有界聚合查询,并包含已评审的工作流作者体验改进。",
|
|
7
|
+
"newFeatures": [
|
|
8
|
+
"匿名 public.query 支持固定 aggregate dimensions、measures 和 order,并复用 publicFilters、Native RLS 与有界分页。",
|
|
9
|
+
"工作流作者体验改进随同一正式七包组合发布。"
|
|
10
|
+
],
|
|
11
|
+
"fixes": [
|
|
12
|
+
"compiler、bundle、JSON Schema 和 server execution 对匿名聚合查询保持同一闭合合同。"
|
|
13
|
+
],
|
|
14
|
+
"affectedUsers": [
|
|
15
|
+
"需要匿名首页统计、分类、学院分布或排行的 OpenXiangda V2 应用。"
|
|
16
|
+
],
|
|
17
|
+
"upgradeSteps": [
|
|
18
|
+
"升级同一正式发行组合;在 TEST/preproduction 验证匿名聚合、游标、权限和浏览器性能。"
|
|
19
|
+
],
|
|
20
|
+
"knownLimitations": [
|
|
21
|
+
"本地门禁不代表学校站点已安装该平台组合。"
|
|
22
|
+
],
|
|
23
|
+
"compatibility": {
|
|
24
|
+
"node": "Node.js 24 or newer for maintained toolchain",
|
|
25
|
+
"generation": "OpenXiangda V2; V1 unchanged",
|
|
26
|
+
"platform": "anonymous-public named and aggregate queries 1.1.0; existing public list/read policies remain compatible"
|
|
27
|
+
},
|
|
28
|
+
"issues": [],
|
|
29
|
+
"sha256": "76468650e5afabd8c49c1b11655a8261044d2e6bc5e2916ae07225b073ee968c",
|
|
30
|
+
"url": "https://github.com/1377385356/openxiangda/releases/tag/v2.73.0"
|
|
31
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": "openxiangda.release-notes/v1",
|
|
3
|
+
"version": "2.75.0",
|
|
4
|
+
"status": "reviewed",
|
|
5
|
+
"title": "匿名公开具名查询批量读取",
|
|
6
|
+
"summary": "为公开门户提供保留原平台权限的有界批量查询客户端,减少多个独立查询的网络往返,并修正聚合结果类型。",
|
|
7
|
+
"newFeatures": [
|
|
8
|
+
"createAnonymousPublicClient.queryBatch固定应用、环境和声明路由,按key/policy/query精确匹配逐项记录、聚合或错误回执。",
|
|
9
|
+
"每批最多10项、500条请求上限、64KiB输入,配套平台最多3项并发;不新增普通匿名Data API、权限缓存或Nest CRUD代理。"
|
|
10
|
+
],
|
|
11
|
+
"fixes": [
|
|
12
|
+
"聚合items正确表示为直接含维度/指标的对象,不再声明成record.data;保留原value-only计数与单查询API。",
|
|
13
|
+
"缺失、重复、错位、超量或形状错误的批量回执明确拒绝,单项403/404/429/503不会变成空表或零。"
|
|
14
|
+
],
|
|
15
|
+
"affectedUsers": [
|
|
16
|
+
"使用匿名公开目录、仪器卡片、首页统计或其他多个具名只读查询的OpenXiangda V2应用。"
|
|
17
|
+
],
|
|
18
|
+
"upgradeSteps": [
|
|
19
|
+
"先部署支持POST anonymous-public/public/query-batch的正式平台版本,再升级官方SDK与CLI;旧平台404应报告并完成平台更新。",
|
|
20
|
+
"使用原bootstrap获取正式浏览器凭证;批次每项显式指定策略、查询与key,调用方逐项处理成功或错误,延续原固定过滤和字段白名单。",
|
|
21
|
+
"保持真实页面请求数、P95/LCP与多角色业务验收独立进行,批量HTTP成功不代表每项成功。"
|
|
22
|
+
],
|
|
23
|
+
"knownLimitations": [
|
|
24
|
+
"批次由独立只读查询组成,不保证同一数据库快照;不支持写入、业务动作或通知。",
|
|
25
|
+
"本发行不代表任何客户站点已部署或页面性能已达标;普通列表服务端分页与应用接入另行验收。"
|
|
26
|
+
],
|
|
27
|
+
"compatibility": {
|
|
28
|
+
"node": "Node.js 24 or newer for maintained toolchain",
|
|
29
|
+
"generation": "OpenXiangda V2; V1 unchanged",
|
|
30
|
+
"platform": "Requires anonymous-public/public/query-batch; each item reuses existing public policy and Native authorization"
|
|
31
|
+
},
|
|
32
|
+
"issues": [],
|
|
33
|
+
"sha256": "f5c80399d75664d6b7a58ad81bc5124cd4da188cf2893347337488996b4eb4d1",
|
|
34
|
+
"url": "https://github.com/1377385356/openxiangda/releases/tag/v2.75.0"
|
|
35
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": "openxiangda.release-notes/v1",
|
|
3
|
+
"version": "2.75.1",
|
|
4
|
+
"status": "reviewed",
|
|
5
|
+
"title": "公开查询批量读取与排序优先级修复",
|
|
6
|
+
"summary": "提供保留原平台权限的有界批量公开查询,修复多字段排序被重排的问题,配套同步官方技能资料。",
|
|
7
|
+
"newFeatures": [
|
|
8
|
+
"createAnonymousPublicClient.queryBatch固定应用、环境和声明路由,按key/policy/query精确匹配逐项记录、聚合或错误回执。",
|
|
9
|
+
"每批最多10项、500条请求上限、64KiB输入,配套平台最多3项并发;不新增普通匿名Data API、权限缓存或Nest CRUD代理。"
|
|
10
|
+
],
|
|
11
|
+
"fixes": [
|
|
12
|
+
"应用打包器和共享目标编译器均保留publicQueries.sort声明顺序;修改排序优先级会正确改变配置摘要。",
|
|
13
|
+
"聚合items正确表示为直接含维度/指标的对象,不再声明成record.data;保留原value-only计数与单查询API。",
|
|
14
|
+
"缺失、重复、错位、超量或形状错误的批量回执明确拒绝,单项403/404/429/503不会变成空表或零。"
|
|
15
|
+
],
|
|
16
|
+
"affectedUsers": [
|
|
17
|
+
"使用匿名公开目录、仪器卡片、首页统计或其他多个具名只读查询的OpenXiangda V2应用。"
|
|
18
|
+
],
|
|
19
|
+
"upgradeSteps": [
|
|
20
|
+
"先部署支持POST anonymous-public/public/query-batch的正式平台版本,再升级官方SDK与CLI;旧平台404应报告并完成平台更新。",
|
|
21
|
+
"升级后重新编译并发布TEST应用,以新不可变策略采用正确排序;不修改历史Head,不下载全表在前端弥补错误的前N选择。",
|
|
22
|
+
"使用原bootstrap获取正式浏览器凭证;批次每项显式指定策略、查询与key,调用方逐项处理成功或错误,延续原固定过滤和字段白名单。",
|
|
23
|
+
"保持真实页面请求数、P95/LCP与多角色业务验收独立进行,批量HTTP成功不代表每项成功。"
|
|
24
|
+
],
|
|
25
|
+
"knownLimitations": [
|
|
26
|
+
"批次由独立只读查询组成,不保证同一数据库快照;不支持写入、业务动作或通知。",
|
|
27
|
+
"本发行不代表任何客户站点已部署或页面性能已达标;普通列表服务端分页与应用接入另行验收。"
|
|
28
|
+
],
|
|
29
|
+
"compatibility": {
|
|
30
|
+
"node": "Node.js 24 or newer for maintained toolchain",
|
|
31
|
+
"generation": "OpenXiangda V2; V1 unchanged",
|
|
32
|
+
"platform": "Requires anonymous-public/public/query-batch; each item reuses existing public policy and Native authorization"
|
|
33
|
+
},
|
|
34
|
+
"issues": [],
|
|
35
|
+
"sha256": "3abc78c05afd7f71f1559f134f30a060c233e2a851adae71023c10e091ededb2",
|
|
36
|
+
"url": "https://github.com/1377385356/openxiangda/releases/tag/v2.75.1"
|
|
37
|
+
}
|
package/skills/manifest.json
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
{
|
|
5
5
|
"name": "openxiangda-v2",
|
|
6
6
|
"description": "使用 OpenXiangda 2.0 从模糊业务想法、已有资料或具体变更出发,通过对话发现模块、完成详细产品设计,由当前 AI Agent 按需用 Image 2.5 等图片能力形成视觉参考,直接实现真实页面并在浏览器修正,再检查和交付应用;维护 1.x 应用时使用对应的 1.x 技能。",
|
|
7
|
-
"sha256": "
|
|
7
|
+
"sha256": "d58e57c18421d0ebd54cd2222919249f8641b7142bbd45cb203b630899de0a64"
|
|
8
8
|
}
|
|
9
9
|
]
|
|
10
10
|
}
|
|
@@ -40,10 +40,10 @@ AI 接到新应用、页面或改版任务时,在同一个 OpenXiangda 工作
|
|
|
40
40
|
未创建工作区时使用本 Skill 随根包发布的精确版本:
|
|
41
41
|
|
|
42
42
|
```bash
|
|
43
|
-
pnpm dlx openxiangda@2.
|
|
44
|
-
pnpm dlx openxiangda@2.
|
|
45
|
-
pnpm dlx openxiangda@2.
|
|
46
|
-
pnpm dlx openxiangda@2.
|
|
43
|
+
pnpm dlx openxiangda@2.75.1 auth status --cwd <应用目录> --base-url <平台地址> --json
|
|
44
|
+
pnpm dlx openxiangda@2.75.1 login --cwd <应用目录> --base-url <平台地址>
|
|
45
|
+
pnpm dlx openxiangda@2.75.1 create <应用目录> --base-url <同一平台地址>
|
|
46
|
+
pnpm dlx openxiangda@2.75.1 skill install --force
|
|
47
47
|
```
|
|
48
48
|
|
|
49
49
|
创建前把产品要求的目标平台明确带入命令,不从旧登录态推断站点。已有工作区从原绑定恢复,平台不一致时先解决登录与目标,不改 link 文件跨站创建。
|
|
@@ -68,10 +68,10 @@ MCP 服务随项目根包一起安装,AI 客户端的 stdio 连接仍需配置
|
|
|
68
68
|
以下命令的版本占位符由随包资料替换为该根包的精确版本。网站源码阅读者应先确认要使用的发行版本。
|
|
69
69
|
|
|
70
70
|
```bash
|
|
71
|
-
pnpm dlx openxiangda@2.
|
|
72
|
-
pnpm dlx openxiangda@2.
|
|
73
|
-
pnpm dlx openxiangda@2.
|
|
74
|
-
pnpm dlx openxiangda@2.
|
|
71
|
+
pnpm dlx openxiangda@2.75.1 skill install --force
|
|
72
|
+
pnpm dlx openxiangda@2.75.1 auth status --base-url <平台地址> --json
|
|
73
|
+
pnpm dlx openxiangda@2.75.1 login --cwd my-app --base-url https://platform.example.com
|
|
74
|
+
pnpm dlx openxiangda@2.75.1 create my-app --base-url https://platform.example.com
|
|
75
75
|
cd my-app
|
|
76
76
|
pnpm openxiangda context --json
|
|
77
77
|
pnpm openxiangda dev
|
|
@@ -221,9 +221,9 @@ MCP 的 `docs_read` 可以读取本说明,当前没有独立的源码操作 MC
|
|
|
221
221
|
无需本地工作区,使用本 Skill 随包精确版本或已安装的对应 CLI:
|
|
222
222
|
|
|
223
223
|
```bash
|
|
224
|
-
pnpm dlx openxiangda@2.
|
|
225
|
-
pnpm dlx openxiangda@2.
|
|
226
|
-
pnpm dlx openxiangda@2.
|
|
224
|
+
pnpm dlx openxiangda@2.75.1 auth status --base-url <平台> --json
|
|
225
|
+
pnpm dlx openxiangda@2.75.1 source resolve <仓库URL> --base-url <平台> --json
|
|
226
|
+
pnpm dlx openxiangda@2.75.1 source clone <仓库URL> <新目录> --base-url <平台> --json
|
|
227
227
|
```
|
|
228
228
|
|
|
229
229
|
登录缺失或站点不匹配时,先按该平台执行 login。resolve 根据平台已经登记的绑定返回
|
|
@@ -254,3 +254,28 @@ const publicDetail = await client.getPublic(publicPage.items[0].data.id as strin
|
|
|
254
254
|
8. 生产入口为 HTTPS,没有新增公开存储桶或匿名上传白名单。
|
|
255
255
|
|
|
256
256
|
开发与交付时按[检查与验收](testing.md)保留跨浏览器正反证据。
|
|
257
|
+
|
|
258
|
+
|
|
259
|
+
## 匿名具名查询的有界批量读取
|
|
260
|
+
|
|
261
|
+
需要多个独立公开查询时,使用官方 `createAnonymousPublicClient({ routeCode }).queryBatch(operations)`。先按正常公开入口完成 `bootstrap()`,使用同一浏览器匿名凭证;每项显式给出 `key`、`policyCode`、`queryCode`,可带原查询的 `parameters`、`limit`、`cursor`。批次固定当前应用、环境和一个已声明route,不接受浏览器传入SQL、字段、排序、角色或授权上下文。
|
|
262
|
+
|
|
263
|
+
```ts
|
|
264
|
+
const client = createAnonymousPublicClient({ routeCode: 'public-home', policyCode: 'catalogue' });
|
|
265
|
+
await client.bootstrap();
|
|
266
|
+
const batch = await client.queryBatch([
|
|
267
|
+
{ key: 'summary', policyCode: 'catalogue', queryCode: 'summary', limit: 1 },
|
|
268
|
+
{ key: 'cards', policyCode: 'catalogue', queryCode: 'cards', limit: 9 },
|
|
269
|
+
]);
|
|
270
|
+
for (const item of batch.items) {
|
|
271
|
+
if (!item.ok) throw new Error(`${item.error.code} (${item.error.status})`);
|
|
272
|
+
if (item.result.kind === 'records') {
|
|
273
|
+
// 记录行使用 record.data;聚合行是直接含指标/维度的对象。
|
|
274
|
+
console.log(item.result.items.map(record => record.data));
|
|
275
|
+
}
|
|
276
|
+
}
|
|
277
|
+
```
|
|
278
|
+
|
|
279
|
+
服务端每批最多10项、合计最多500条请求上限、输入最多64KiB,最多3项并发;每项继续执行原不可变策略、固定条件、字段白名单、限流和真实RLS。批量结果按key/策略/查询精确对应,单项403/404/429/503保留为error;不能把整批HTTP成功当作每项成功,也不能把拒绝变成空表/零。SDK对缺失、重复、错位、超量及错误形状的回执明确拒绝,不自动改走普通Data API或逐项重放。
|
|
280
|
+
|
|
281
|
+
此能力需要正式平台提供 `POST .../anonymous-public/public/query-batch`;旧平台的404应明确报告并先升级平台。批次是独立只读查询组合,不是同一数据库快照,不承载写入或通知。原单查询API继续可用,`AnonymousPublicQueryResult`、`AnonymousPublicQueryBatchOperation`、`AnonymousPublicQueryBatchResult`等类型从`openxiangda/react`导出。
|
package/releases/2.68.1.json
DELETED
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"schemaVersion": "openxiangda.release-notes/v1",
|
|
3
|
-
"version": "2.68.1",
|
|
4
|
-
"status": "reviewed",
|
|
5
|
-
"title": "原部署运行的流程例外只读预览",
|
|
6
|
-
"summary": "按平台能力读取失败 DeploymentRun 的冻结候选、当前 Head 和真实流程例外,支持在独立诊断目录使用公开 SDK 读取旧工作区会话。",
|
|
7
|
-
"newFeatures": [
|
|
8
|
-
"`status <deployment-id> --workflow-exceptions` 只读展示原运行的例外及完整集合摘要,不确认或重试。",
|
|
9
|
-
"独立精确版本 devkit 客户端可读取旧工作区 link/session,无需更改应用 package、lock 或冻结包。"
|
|
10
|
-
],
|
|
11
|
-
"fixes": [],
|
|
12
|
-
"affectedUsers": [
|
|
13
|
-
"发布包含工作流的 V2 应用的开发者和管理员。"
|
|
14
|
-
],
|
|
15
|
-
"upgradeSteps": [
|
|
16
|
-
"平台需先提供 deployment.workflow-adoption-preview 1.0.0 能力;无能力时明确停止。",
|
|
17
|
-
"使用本版根包或独立 openxiangda-devkit-core 2.67.0 诊断目录;旧应用不必为了查看例外升级依赖。",
|
|
18
|
-
"保留原 DeploymentRun ID,先核对完整例外;生产仍只晋级已验收 TEST 原版本。"
|
|
19
|
-
],
|
|
20
|
-
"knownLimitations": [
|
|
21
|
-
"本批仅提供预览,不提供例外确认、事实转换或原 Run 恢复通道。",
|
|
22
|
-
"truncated=true 不代表已观察完整明细;预览不授予激活许可。",
|
|
23
|
-
"包发行不等于平台部署或真实业务验收;source/status 的独立500故障不在此修复中。"
|
|
24
|
-
],
|
|
25
|
-
"compatibility": {
|
|
26
|
-
"node": "Node.js 24 or newer for maintained toolchain",
|
|
27
|
-
"generation": "OpenXiangda V2; no V1 migration",
|
|
28
|
-
"platform": "New read-only preview requires deployment.workflow-adoption-preview 1.0.0; contracts remains 2.88.0"
|
|
29
|
-
},
|
|
30
|
-
"issues": [],
|
|
31
|
-
"sha256": "859687bd04474e031528a651304916e7535919419aa697ec1892ff5b17cdf666",
|
|
32
|
-
"url": "https://github.com/1377385356/openxiangda/releases/tag/v2.68.1"
|
|
33
|
-
}
|
package/releases/2.69.1.json
DELETED
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"schemaVersion": "openxiangda.release-notes/v1",
|
|
3
|
-
"version": "2.69.1",
|
|
4
|
-
"status": "reviewed",
|
|
5
|
-
"title": "流程画布按需面板与连续分支保存修复",
|
|
6
|
-
"summary": "修复流程设计器的常驻面板、连续条件路由断线及带可读名称的草稿无法保存。",
|
|
7
|
-
"newFeatures": [],
|
|
8
|
-
"fixes": [
|
|
9
|
-
"流程大纲默认隐藏,节点设置默认关闭;选择节点后按需打开配置,浮层不挤压编辑画布。",
|
|
10
|
-
"相邻条件区域只拥有各自分支,汇合目标保持单一位置;连续条件和嵌套并行的连线接回实际目标节点。",
|
|
11
|
-
"正式流程文档schema接受已有readability元数据,保留闭集字段、长度与数量上限及原业务权限校验。"
|
|
12
|
-
],
|
|
13
|
-
"affectedUsers": [
|
|
14
|
-
"使用V2流程设计器编辑或维护审批流程的应用。"
|
|
15
|
-
],
|
|
16
|
-
"upgradeSteps": [
|
|
17
|
-
"安装精确openxiangda 2.69.1官方组合并重新检查、构建应用。",
|
|
18
|
-
"平台后端同步正式contracts包及同源回执后,才具备草稿保存schema修复;应用自行维护流程列表和独立画布路由。"
|
|
19
|
-
],
|
|
20
|
-
"knownLimitations": [
|
|
21
|
-
"不修改历史实例、审批边界或业务拓扑;此版本不包含原DeploymentRun例外ack接口。",
|
|
22
|
-
"包发行不等于平台部署或现场草稿保存验收,已有未保存输入需保留。"
|
|
23
|
-
],
|
|
24
|
-
"compatibility": {
|
|
25
|
-
"node": "Node.js 24 or newer for maintained toolchain",
|
|
26
|
-
"generation": "OpenXiangda V2; V1 unchanged",
|
|
27
|
-
"platform": "平台后端须消费本轮正式contracts及配套组合;原权限、revision和operationId守卫保持"
|
|
28
|
-
},
|
|
29
|
-
"issues": [],
|
|
30
|
-
"sha256": "529eee3d6d426c149635e6143310ff6a4a01da6c7243e203ff959f9d3b34a4b5",
|
|
31
|
-
"url": "https://github.com/1377385356/openxiangda/releases/tag/v2.69.1"
|
|
32
|
-
}
|
package/releases/2.70.2.json
DELETED
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"schemaVersion": "openxiangda.release-notes/v1",
|
|
3
|
-
"version": "2.70.2",
|
|
4
|
-
"status": "reviewed",
|
|
5
|
-
"title": "首部节点插入与补正回放修复",
|
|
6
|
-
"summary": "首部插入人工、条件、业务或并行节点时,原子更新流程入口和补正重提交入口,保留新首审批与严格校验。",
|
|
7
|
-
"newFeatures": [],
|
|
8
|
-
"fixes": [
|
|
9
|
-
"首部插入同步补正回放目标,多补正和连续插入删除保留完整路径。",
|
|
10
|
-
"补正可达性遍历并行和汇合后继,保留禁止正向进入补正与退回源必须可达的规则。"
|
|
11
|
-
],
|
|
12
|
-
"affectedUsers": [
|
|
13
|
-
"使用流程画布首部插入、补正重提交或并行结构的V2应用。"
|
|
14
|
-
],
|
|
15
|
-
"upgradeSteps": [
|
|
16
|
-
"安装同源完整七包并配套后端共享校验器,核对纯校验器摘要。",
|
|
17
|
-
"从合同现场2.69.1升级继承组织授权、业务待办与旧审批接续合同;两份正式SQL须通过完整门禁和目标预检。完整配套已获授权。",
|
|
18
|
-
"应用更新前通过官方源码导出和注册保护保留现场流程第13版;不以旧源码覆盖或重放未保存草稿。"
|
|
19
|
-
],
|
|
20
|
-
"knownLimitations": [
|
|
21
|
-
"鼠标消失未复现,本地拖动及失焦恢复正常不代表现场问题已修复。",
|
|
22
|
-
"包发行不代表部署或真实角色验收;安装接续能力不授权调用旧审批接续、重放通知或晋级生产。"
|
|
23
|
-
],
|
|
24
|
-
"compatibility": {
|
|
25
|
-
"node": "Node.js 24 or newer for maintained toolchain",
|
|
26
|
-
"generation": "OpenXiangda V2; V1 unchanged",
|
|
27
|
-
"platform": "同源contracts纯校验器;从171017升级包含AddNativeOrganizationAuthorizationV2和AddWorkflowLegacyAdoptionsV2 SQL,目标预检不可省略。"
|
|
28
|
-
},
|
|
29
|
-
"issues": [],
|
|
30
|
-
"sha256": "d4cd6182b5f50770489b6615a5207dc0590e6a88f1d3fb635a8cf0defc0e8dd8",
|
|
31
|
-
"url": "https://github.com/1377385356/openxiangda/releases/tag/v2.70.2"
|
|
32
|
-
}
|
package/releases/2.74.0.json
DELETED
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"schemaVersion": "openxiangda.release-notes/v1",
|
|
3
|
-
"version": "2.74.0",
|
|
4
|
-
"status": "reviewed",
|
|
5
|
-
"title": "原生审批人来源与中文参数编辑",
|
|
6
|
-
"summary": "流程源码可以开放有界的部门主管、逐级主管和表单成员参数;配套平台支持在普通来源、条件规则与新节点中使用同一份已发布目录。",
|
|
7
|
-
"newFeatures": [
|
|
8
|
-
"Workflow authoring.peopleSources 声明当前AppVersion拥有的来源模板、中文标题及参数枚举或整数范围,浏览器不能扩大源码授权上限。",
|
|
9
|
-
"部门主管成为标准条件人员来源;配套平台显式返回 nativePeopleAuthoring 后,已发布审批或办理节点也能编辑完整原生人员来源。",
|
|
10
|
-
"部门字段、主管级别、审批终点、连续办理和无人策略以中文说明呈现,保存仍使用原始类型值。"
|
|
11
|
-
],
|
|
12
|
-
"fixes": [
|
|
13
|
-
"完整人员来源投影保留主管及部门参数,不把另一旧角色来源的scope、routing或人数约束混入新来源;旧principal-only编辑保持原限制。",
|
|
14
|
-
"普通来源与条件规则切换时正确注册并观察表单人员类型,保留整份来源,避免空配置或丢失原生条件叶。",
|
|
15
|
-
"模板目录不使后续步骤事实提前可用;非法参数、缺少组织上下文、未知值和不安全JSON结构失败关闭,连续主管必须使用允许的依次审批模式。"
|
|
16
|
-
],
|
|
17
|
-
"affectedUsers": [
|
|
18
|
-
"在PC流程画布配置部门主管、逐级主管、表单成员或条件审批人的OpenXiangda V2应用管理员和开发者。"
|
|
19
|
-
],
|
|
20
|
-
"upgradeSteps": [
|
|
21
|
-
"使用本次正式工具组合,并升级采用配套contracts与目录/投影服务的后端;核对真实 nativePeopleAuthoring 标志,不从SDK版本推断平台已支持。",
|
|
22
|
-
"应用在源码声明真实输入事实和明确的参数上限,再按正规流程版本规划、应用TEST部署和实际角色验证接入;保留原节点、默认人员、在途冻结快照及source-base。"
|
|
23
|
-
],
|
|
24
|
-
"knownLimitations": [
|
|
25
|
-
"本地合成HTTP、门禁或npm发行不代表客户平台已部署,也不代表真实组织主管解析、AI模型或OCR验收已通过。",
|
|
26
|
-
"未开放的provider、routing、委托和范围维度仍由源码拥有;抄送、发起自选及应用provider不通过通用参数控件扩权。",
|
|
27
|
-
"旧平台没有显式原生作者能力时保留旧编辑路径;源码采用新authoring字段后,不能直接回退到不认识该声明的旧内核。"
|
|
28
|
-
],
|
|
29
|
-
"compatibility": {
|
|
30
|
-
"node": "Node.js 24 or newer for maintained toolchain",
|
|
31
|
-
"generation": "OpenXiangda V2; V1 unchanged",
|
|
32
|
-
"platform": "Paired workflow released-catalog/node-configuration services and contracts; nativePeopleAuthoring must be explicitly advertised"
|
|
33
|
-
},
|
|
34
|
-
"issues": [],
|
|
35
|
-
"sha256": "72e5e3e9b12305bf729a5ec117b7320389e66459478ac8656e2e1627a770c298",
|
|
36
|
-
"url": "https://github.com/1377385356/openxiangda/releases/tag/v2.74.0"
|
|
37
|
-
}
|
package/releases/2.74.1.json
DELETED
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"schemaVersion": "openxiangda.release-notes/v1",
|
|
3
|
-
"version": "2.74.1",
|
|
4
|
-
"status": "reviewed",
|
|
5
|
-
"title": "隔离共用人员来源的节点级主管校验",
|
|
6
|
-
"summary": "修复给单个节点配置逐级主管时,错误要求其他共用同一源码绑定的节点也改变审批模式的问题。",
|
|
7
|
-
"newFeatures": [],
|
|
8
|
-
"fixes": [
|
|
9
|
-
"普通来源与条件规则的主管叶校验只检查当前被编辑节点,不将节点覆盖误当作共享源码绑定的全局修改。",
|
|
10
|
-
"保留完整原图、步骤输出及事实支配关系校验;全局源码绑定变更仍对全部真实引用执行严格主管规则。"
|
|
11
|
-
],
|
|
12
|
-
"affectedUsers": [
|
|
13
|
-
"多个审批或办理节点共用角色来源,并为其中一个节点选择逐级主管的OpenXiangda V2应用。"
|
|
14
|
-
],
|
|
15
|
-
"upgradeSteps": [
|
|
16
|
-
"消费同批正式工具组合与共享contracts,更新配套平台后在TEST验证普通及条件来源、节点模式和真实角色。",
|
|
17
|
-
"无需修改另一节点、复制业务绑定、改历史任务或重放审批来绕过旧误报。"
|
|
18
|
-
],
|
|
19
|
-
"knownLimitations": [
|
|
20
|
-
"本修复不配置真实组织主管,也不代表AI模型、OCR、真实角色或客户部署已验收。",
|
|
21
|
-
"沿用原生人员来源的已发布参数上限、组织上下文、逐级连续办理必须sequence及在途冻结边界。"
|
|
22
|
-
],
|
|
23
|
-
"compatibility": {
|
|
24
|
-
"node": "Node.js 24 or newer for maintained toolchain",
|
|
25
|
-
"generation": "OpenXiangda V2; V1 unchanged",
|
|
26
|
-
"platform": "Paired workflow source catalogue and node-configuration services; shared native validator must match this release"
|
|
27
|
-
},
|
|
28
|
-
"issues": [],
|
|
29
|
-
"sha256": "9a8e5febf8450b1fe748c1131fc9cdbaa8ad577f07879ff9f3de81e06ca94263",
|
|
30
|
-
"url": "https://github.com/1377385356/openxiangda/releases/tag/v2.74.1"
|
|
31
|
-
}
|