openxiangda 2.68.2 → 2.69.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.
Files changed (38) hide show
  1. package/dist/browser/components/resource/useResourceFormDrafts.d.ts.map +1 -1
  2. package/dist/browser/components/workflow/WorkflowDesigner.d.ts.map +1 -1
  3. package/dist/browser/components/workflow/WorkflowDesigner.js +5 -5
  4. package/dist/browser/components/workflow/WorkflowDesigner.js.map +1 -1
  5. package/dist/browser/components/workflow/workflow-parallel-layout.d.ts.map +1 -1
  6. package/dist/browser/components/workflow/workflow-parallel-layout.js +14 -5
  7. package/dist/browser/components/workflow/workflow-parallel-layout.js.map +1 -1
  8. package/dist/browser/platform-client.d.ts +15 -1
  9. package/dist/browser/platform-client.d.ts.map +1 -1
  10. package/dist/browser/platform-client.js +121 -7
  11. package/dist/browser/platform-client.js.map +1 -1
  12. package/dist/browser/runtime.d.ts.map +1 -1
  13. package/dist/browser/runtime.js +12 -1
  14. package/dist/browser/runtime.js.map +1 -1
  15. package/dist/browser/styles.css +6 -30
  16. package/dist/react.d.ts +2 -1
  17. package/dist/react.d.ts.map +1 -1
  18. package/dist/react.js +1 -1
  19. package/dist/react.js.map +1 -1
  20. package/documentation/getting-started.md +7 -7
  21. package/documentation/manifest.json +3 -3
  22. package/documentation/multi-organization.md +25 -10
  23. package/package.json +22 -23
  24. package/releases/2.68.1.json +33 -0
  25. package/releases/2.69.1.json +32 -0
  26. package/skills/manifest.json +1 -1
  27. package/skills/openxiangda-v2/SKILL.md +4 -4
  28. package/skills/openxiangda-v2/references/getting-started.md +7 -7
  29. package/skills/openxiangda-v2/references/multi-organization.md +25 -10
  30. package/releases/2.63.0.json +0 -45
  31. package/releases/2.63.1.json +0 -46
  32. package/releases/2.66.0.json +0 -29
  33. package/releases/2.66.1.json +0 -29
  34. package/releases/2.66.2.json +0 -29
  35. package/releases/2.67.0.json +0 -33
  36. package/releases/2.67.1.json +0 -35
  37. package/releases/2.67.2.json +0 -34
  38. package/releases/2.68.2.json +0 -33
@@ -2,7 +2,7 @@
2
2
 
3
3
  教育局与多所学校各有独立钉钉企业、同一教师属于多个组织、家长的孩子在不同学校时,优先复用平台的组织与身份基础能力。应用不再建立第二份企业组织树、钉钉身份库或学校密钥配置。
4
4
 
5
- 本专题描述 2026-10-13 的源码契约基线。组织基础能力已有服务器实现;应用 SDK、目录角色读取与跨组织数据权限尚有接入缺口。目标站点是否部署了这些接口,需现场核实;安装新工具或读到本专题不证明平台已经升级。
5
+ 本专题描述 2026-10-14 的源码契约基线。组织基础、本人目录角色事实读取和 SDK 组织上下文/切换生命周期已有配套实现;事实到应用角色、组织 reach 与跨组织数据权限仍有接入缺口。目标站点是否部署了这些接口,需现场核实;安装新工具或读到本专题不证明平台已经升级。
6
6
 
7
7
  ## AI 识别场景与选择能力 {#scenario}
8
8
 
@@ -23,11 +23,11 @@
23
23
  | 真实企业组织、单父树、最多三级 | 已实现平台注册与查询 | 复用平台 `organization.id`、`corpId`、父级和祖先路径,不以部门替代企业组织 |
24
24
  | 预开通与企业三方安装匹配 | 已实现显式 reconciliation;匹配后激活 | 由有权限的管理端预开通,核对真实企业名称;业务应用不保存各校 appSecret |
25
25
  | 普通/家校目录同步投影 | 已实现主体、成员和来源角色事实存储 | 以平台同步事实为身份来源,不自行抓取后再维护一套通讯录 |
26
- | 当前人的可切换组织 | 已有平台会话 HTTP 读取入口 | 读取本人活动成员列表,显示对应企业/学校选项 |
27
- | 当前工作组织、同会话切换 | 已有平台登录上下文、HTTP 切换和原始授权响应字段 | 在支持本契约的会话中读取/切换;不能从 URL 直接产生授权 |
26
+ | 当前人的可切换组织 | 已有平台会话 HTTP 与 `loadCurrentOrganizationMemberships()` | 读取本人活动成员列表,显示对应企业/学校选项 |
27
+ | 当前工作组织、同会话切换 | 已有平台登录上下文、SDK `activeOrganizationId` 和 `switchCurrentOrganization()` 生命周期 | 在支持本契约的会话中读取/切换;不能从 URL 直接产生授权 |
28
28
  | 组织管理授权 | 已实现平台管理员授予人/部门,祖先授权覆盖后代 | 管理操作由平台核验;不能把“教育局成员”当作“全区管理员” |
29
29
  | 应用角色 `self` / `subtree` | 传统平台角色 CRUD 能保存 `organizationReach`;V2 声明与执行尚未接通 | 在设计中明确每个角色的组织覆盖意图,不向 V2 config 填入未支持字段 |
30
- | 家校事实到应用角色、班级范围的消费 | 平台已存事实,完整应用读取/映射契约尚未接通 | 声明拟使用哪些事实及范围,将接入列为依赖;不能凭空调用 SDK |
30
+ | 家校事实到应用角色、班级范围的消费 | 本人事实 HTTP/SDK 读取已实现;业务角色与班级范围映射尚未接通 | 声明拟使用哪些事实及范围,将接入列为依赖;不能凭空调用 SDK |
31
31
  | 组织数据归属、隔离、后代可见与公共内容下发 | Native Data API 的组织边界尚未接通 | 不能宣称已经自动隔离或继承,也不能用前端筛选代替服务端权限 |
32
32
  | 安装回调、每校自动定时同步、组织通知路由与链接生成 | 尚未完成整条自动接入 | 不假定安装完成后立即能登录,不假定消息自动选中正确安装 |
33
33
 
@@ -75,7 +75,7 @@ const organizations = result.data.map(item => ({
75
75
  }));
76
76
  ```
77
77
 
78
- 这是现有 HTTP 响应的局部消费示例。不要将其中的字段或方法名写成 `openxiangda/react` 已导出的组织客户端。
78
+ 应用优先使用 `openxiangda/react` 的 `loadCurrentOrganizationMemberships({ signal })`,复用平台会话、读取取消和组织切换失效。上面的 HTTP 示例仅用于解释原始契约。
79
79
 
80
80
  ### 当前工作组织
81
81
 
@@ -83,15 +83,26 @@ const organizations = result.data.map(item => ({
83
83
  - `GET /openxiangda-api/v2/applications/{appCode}/native/authz/current?environmentKey={preproduction|production}` 的原始成功响应,在已有工作组织时包含 `data.environment.activeOrganizationId`;有活动应用授权时也包含 `data.principal.activeOrganizationId`。无组织时不包含这些可选字段;`state=unassigned` 时 principal 为 `null`。
84
84
  - `GET /openxiangda-api/v2/platform/organizations/context?corpId=...` 的 `data` 是活动组织 ID 字符串;尚未启用组织注册的传统租户返回 `null`。这个接口只解析租户内组织及安装状态,不证明调用人是成员,不会切换会话,也不授予权限。
85
85
 
86
- 当前浏览器 SDK 的 `RuntimeIdentity` 投影和 `useOpenXiangdaRuntime().identity` 尚未保留上述组织字段。Nest 的 `@CurrentUser()`/`OpenXiangdaCurrentUser` 尚未提供可信工作组织,Native principal 也尚未完整传递。不要写 `identity.activeOrganizationId` 或 `user.activeOrganizationId` 并声称可用;不要把前端传入的组织 ID 填到 Nest 的可信用户上下文。
86
+ 配套 SDK 的 `RuntimeIdentity`、`useOpenXiangdaRuntime().identity`、Nest `@CurrentUser()`/`OpenXiangdaCurrentUser` 与 NativePrincipal 保留可选 `activeOrganizationId`。缺失表示没有工作组织,不产生默认学校。浏览器验证 principal 与 environment 的组织一致;Nest 只取已验证平台 principal,不从前端 body/header 产生可信用户上下文。Connected Dev 会话绑定组织,切换后旧会话拒绝沿用;本人事实读取不提供管理授权。
87
87
 
88
88
  ### 同一会话切换组织
89
89
 
90
- `POST /api/auth/organization/switch`,JSON body 为 `{ "organizationId": "平台组织ID" }`。
90
+ 平台会话原始接口仍为 `POST /api/auth/organization/switch`,JSON body `{ "organizationId": "平台组织ID" }`;成功更新同一会话的 cookies。原始响应含认证 token,只供平台自己的认证处理,不把它持久化到应用。
91
91
 
92
- 服务端从已有会话确定用户和租户,再检查目标活动组织、安装及该用户活动成员;保持同一登录会话并重发认证 cookies。无需重新登录另一个钉钉企业。成功 `data` 包含 `activeOrganizationId`、目标 `organization`、`memberships` 及认证 token 字段;浏览器使用服务端 cookies,不记录或另行持久化这些 token。
92
+ V2 应用使用 `openxiangda/react` 的 `switchCurrentOrganization(organizationId)`:
93
93
 
94
- 组织切换不是选择一个应用角色,应用角色仍由平台授权结果提供。当前 V2 角色并集尚未按工作组织执行 reach 边界,不能把切换后的角色列表当作组织隔离证明。切换也不是 Perspective,后者只收窄读取。切换成功后废弃旧组织的页面数据、选择器、缓存和在途结果,再刷新/重读授权及数据;当前没有封装完整切换生命周期的应用 SDK,不能只改 localStorage 后继续使用旧授权。切换失败保留原会话,不能把目标名称当作已经切换成功。
94
+ ```ts
95
+ import { loadCurrentOrganizationMemberships, switchCurrentOrganization } from 'openxiangda/react';
96
+ const memberships = await loadCurrentOrganizationMemberships({ signal });
97
+ // 选项来自 memberships,organizationId 是选择值,权限仍由服务器核验。
98
+ await switchCurrentOrganization(memberships[0].organization.id);
99
+ ```
100
+
101
+ SDK 通过应用 `/auth/organization/switch-surface` 取得真实浏览器会话的 CSRF,再调用 `/auth/organization/switch`。该面只接受当前租户的合法浏览器 cookie、同源请求与 CSRF;CLI 开发 bearer、body 的 userId 或伪造 ctx 不能替代浏览器用户。平台仍核验目标活动组织、安装和成员,并保持同一登录会话;返回给应用的 receipt 不含 token。开发预览需要正常浏览器登录;缺少浏览器 cookie 会被拒绝,不退回开发者身份执行切换。
102
+
103
+ 成功、运输结果未知或服务器 5xx 时,SDK 失效旧授权、命令缓存和在途读取,通过 Runtime identity epoch 重读并重建页面。旧学校晚到的响应不会覆盖新学校数据。跨页只发送失效信号,不传身份或凭据;明确 4xx 拒绝保留原授权。切换写入不自动重放;结果未知先读回当前授权,不能把目标名称当成成功。组织切换不选择应用角色,也不是只收窄读取的 Perspective。
104
+
105
+ 完整 V2 role reach 和组织数据策略仍未接通,不能把切换后的角色列表或字段传递当作组织隔离证明。
95
106
 
96
107
  ### 管理面接口
97
108
 
@@ -114,7 +125,11 @@ const organizations = result.data.map(item => ({
114
125
 
115
126
  平台使用真实钉钉 `unionId` 识别可关联的跨企业用户。`unionId` 受开放平台账号范围约束,应用不以姓名、手机号或用户自填字段合并身份,也不将它当所有平台的全局主键。缺少 unionId 的学生仍有平台目录主体 ID,不伪造 provider unionId;登录用户使用平台 `userId`。来源用户 ID、目录主体 ID、登录用户 ID 和组织成员 ID 不能混用。
116
127
 
117
- 这些事实已由平台存储,但当前 `/me/memberships` 不返回完整家校角色/班级范围,也没有完整面向应用的角色事实 list/read SDK。应用希望使用时,在设计中明确映射哪些来源角色、消费哪些班级范围,等待对应读取/映射契约接通;不要调用管理 upsert 来“获取”事实,不新增一套应用通讯录做替代。
128
+ 本人角色事实接口为 `GET /openxiangda-api/v2/platform/organizations/me/directory-role-facts?limit=100&after=<cursor>`,`limit` 为 1..200,`after` 为上一页 `nextCursor`。只返回当前租户、工作组织、当前用户的活动事实;无工作组织返回 409 `PLATFORM_ORGANIZATION_CONTEXT_REQUIRED`。安装、成员、主体与事实状态由服务器重新校验;不返回 raw 或 unionId。
129
+
130
+ SDK 使用 `loadCurrentDirectoryRoleFacts({ limit, after, signal })`,返回 `DirectoryRoleFactPage`,包含 organizationId、userId、items、nextCursor。每个 item 包含 id、subjectId、source、roleCode、scopeType、scopeValue。客户端拒绝与当前 identity 不同组织/用户的响应,并在组织变化时丢弃旧读取,不自动拉取全部页面。
131
+
132
+ 读取来源事实不授予应用能力。业务角色、班级范围的可执行声明仍是后续接入项;不能以管理 upsert 或复制应用通讯录替代。
118
133
 
119
134
  ## 应用角色与数据边界 {#authorization}
120
135
 
@@ -1,45 +0,0 @@
1
- {
2
- "schemaVersion": "openxiangda.release-notes/v1",
3
- "version": "2.63.0",
4
- "status": "reviewed",
5
- "title": "Workflow design, handling nodes and editable application templates",
6
- "summary": "Publish the reviewed mainline workflow designer and handling capabilities, shared-record Save, structured parallel branches and guarded workflow source synchronisation. Add editable templates, resource reference read/update contexts and read-only AI command reconciliation. The platform must use the same public contracts 2.79.0 pure compiler as the SDK.",
7
- "newFeatures": [
8
- "Canonical workflow designer definitions, target/variable catalogs, administration, proposals and instance adoption share the same pure validation rules.",
9
- "Independent handling and correction nodes support explicit completion actions, opinion requirements, shared-record Save, return policies, durable reminders, platform notifications and supervisor-chain assignments.",
10
- "Paired parallel/join nodes have bounded disjoint branches, branch-scoped position proofs and publication validation while retaining immutable task-entry authority.",
11
- "Workflow source export/import, read-only version registration plans and environment synchronisation use digest and target-head guards and preserve prepared version history.",
12
- "Editable application templates cover administration, PC, mobile and login frames, with shared resource-page controllers, source digests and composition validation.",
13
- "Resource reference filtering has an independent read intent; ordinary edits supply saved-record id/revision and actual edits for authoritative server-side merge.",
14
- "AI reconciliation binds a read-only GET/read operation to the original command receipt instead of replaying a business mutation."
15
- ],
16
- "fixes": [
17
- "Give the new workflow pure-rule APIs a fresh public contracts version so platforms need not privately add exports under an already published semver.",
18
- "Correct canvas branch selection, outline hierarchy and approval action presentation while retaining permissions, CAS, idempotency and unknown-result recovery.",
19
- "Export standard resource query, cascade and address helpers from shared contracts so browser and platform consumers use the same query semantics."
20
- ],
21
- "affectedUsers": [
22
- "OpenXiangda V2 platforms and applications using workflow design, independent handling, shared Save, reminders, notifications or instance adoption.",
23
- "V2 workspaces using editable template composition, resource reference fields or read-only AI result reconciliation."
24
- ],
25
- "upgradeSteps": [
26
- "Deploy a platform matching the actual contracts 2.79.0 native validator first. Server contracts must come from the official published tarball with verified SRI.",
27
- "Upgrade the complete workspace distribution to public openxiangda 2.63.0, install the lockfile and refresh project documentation and MCP sessions.",
28
- "Preserve application, record, task, workflow-version and idempotency identities. Run normal check/deploy preflight against the actual platform capabilities and validator digest.",
29
- "Verify workflow design, shared Save, handling completion, return paths, notification recipients and reference reads/updates with real roles before environment promotion."
30
- ],
31
- "knownLimitations": [
32
- "New reference contexts and workflow contracts require the matching platform to be deployed first; declaring a different digest does not establish compatibility.",
33
- "Template appearance and package regressions do not replace real-role, notification, instance-adoption and business-data acceptance.",
34
- "The separate event-receipt lease-ownership and worker-effect candidates are not included in this public release."
35
- ],
36
- "compatibility": {
37
- "generation": "v2",
38
- "node": ">=24",
39
- "platform": "contracts 2.79.0 exact native validator and matching workflow/resource contexts",
40
- "v1": "Independent 1.x maintenance distribution is unchanged"
41
- },
42
- "issues": [],
43
- "sha256": "ef4279a6f846a604d68dbd1adc2473203ffef4287e2dc74b51aa17727a7397b5",
44
- "url": "https://github.com/1377385356/openxiangda/releases/tag/v2.63.0"
45
- }
@@ -1,46 +0,0 @@
1
- {
2
- "schemaVersion": "openxiangda.release-notes/v1",
3
- "version": "2.63.1",
4
- "status": "reviewed",
5
- "title": "流程设计、独立办理与公开契约配套发行",
6
- "summary": "正式发行已评审的流程设计、办理节点、共享数据保存、结构化并行、提醒通知和流程源码同步能力,提供可编辑应用模板、资源引用读取上下文及只读 AI 回执核对,同时修复首次导入前的源基线比较和配置写入边界。公开 SDK 与 contracts 2.79.1 使用同一冻结分发。",
7
- "newFeatures": [
8
- "流程设计、变量和目标目录、管理员配置、设计提案及历史实例接管共用规范定义与纯校验规则。",
9
- "独立办理与补正节点支持明确完成动作、意见要求、共享数据保存、退回策略、持久提醒、平台通知和主管链规则。",
10
- "结构化 parallel/join 节点支持有界独立分支、分支位置证明及发布校验,保留任务进入时的权威事实。",
11
- "流程源码导出、导入、版本注册和环境同步使用源摘要及目标版本守卫,保留准备版本历史。",
12
- "可编辑模板覆盖后台、PC、移动端和登录外观,资源页控制器、来源摘要及组合校验共用标准边界。",
13
- "资源引用筛选使用独立读取意图;普通关联编辑提供记录 id/revision 和实际编辑上下文,由平台合并权威绑定。",
14
- "AI 核对通过只读 GET/read 查询原幂等键的提交回执,不重新执行业务命令。"
15
- ],
16
- "fixes": [
17
- "首次导入前按目标应用声明比较流程源状态,忽略其他环境观察,复用规范摘要、校验源锁并将写入限定于应用导出的配置。",
18
- "并行分支卡片居中且条件开关保持单行,审批布局继续保留权限、CAS、幂等和未知结果恢复。",
19
- "新增流程规则使用正式公开 contracts 新版本,不在已公开旧版本号下私有添加 API。",
20
- "封包清单正确检查 template/list 命令,参考候选仓库支持显式任务代理访问官方上游。"
21
- ],
22
- "affectedUsers": [
23
- "使用流程设计、独立办理、共享保存、提醒通知、流程源同步或历史实例接管的 OpenXiangda 2.0 平台和应用。",
24
- "使用可编辑模板、资源引用字段或只读 AI 结果核对的 2.0 工作区。"
25
- ],
26
- "upgradeSteps": [
27
- "先部署与 contracts 2.79.1 实际纯规则摘要一致的平台;服务器使用官方公开 tarball 并核对 SRI。",
28
- "完整工作区分发升级到 openxiangda 2.63.1,按锁文件安装并刷新资料及 MCP 连接。",
29
- "保留原应用、数据、任务、流程版本和幂等标识,正常 check/deploy 核对实际能力与 validatorDigest。",
30
- "按真实角色验证设计、保存、办理完成、退回、通知收件人及关联字段读写,再执行原晋级流程。"
31
- ],
32
- "knownLimitations": [
33
- "新增读取上下文和流程契约需要配套平台先升级,修改摘要不能代替真实兼容性。",
34
- "包测试和模板外观不代替真实角色、通知、实例接管及业务数据读回验收。",
35
- "事件回执租约对象归属和 Worker 原子效果仍为独立 PLT-040 候选,本次不包含未整合改动。"
36
- ],
37
- "compatibility": {
38
- "generation": "v2",
39
- "node": ">=24",
40
- "platform": "contracts 2.79.1 exact native validator and matching workflow/resource contexts",
41
- "v1": "独立 1.x 维护分发不变"
42
- },
43
- "issues": [],
44
- "sha256": "364565fc1ab2b4a1db89328b684ca7f5d1b261ad882e00e5da7c1687e5be7861",
45
- "url": "https://github.com/1377385356/openxiangda/releases/tag/v2.63.1"
46
- }
@@ -1,29 +0,0 @@
1
- {
2
- "schemaVersion": "openxiangda.release-notes/v1",
3
- "version": "2.66.0",
4
- "status": "reviewed",
5
- "title": "受限事件后台事务能力",
6
- "summary": "复用平台事件投递租约及持久回执,支持定时消费者以显式资源与字段授权执行 Native 事务。",
7
- "newFeatures": [
8
- "事件消费者支持受限查询、冻结事务、原键提交与回执恢复;平台统一执行并验证事件租约。"
9
- ],
10
- "fixes": [
11
- "迟到消费者只能释放自身租约,不能覆盖新消费者处理权。"
12
- ],
13
- "affectedUsers": [
14
- "需要定时业务事务的 OpenXiangda V2 应用开发者与平台维护者。"
15
- ],
16
- "upgradeSteps": [
17
- "配对升级 SDK、CLI、共享契约和平台服务;为事件订阅显式声明 worker-effect 资源、字段及容量。"
18
- ],
19
- "knownLimitations": [
20
- "投递至少一次,业务事务依赖原幂等意图去重;不允许工作流拥有的资源写入或任意业务身份冒用。"
21
- ],
22
- "compatibility": {
23
- "node": ">=24",
24
- "pnpm": "10.15.1"
25
- },
26
- "issues": [],
27
- "sha256": "48c557ed1f5420f31b352721b05fc769d2f728c84102da0705eca9553844532a",
28
- "url": "https://github.com/1377385356/openxiangda/releases/tag/v2.66.0"
29
- }
@@ -1,29 +0,0 @@
1
- {
2
- "schemaVersion": "openxiangda.release-notes/v1",
3
- "version": "2.66.1",
4
- "status": "reviewed",
5
- "title": "事件 worker-effect SDK 导出修复",
6
- "summary": "保持 2.66.0 worker-effect 能力,并修复根包 Nest 入口导出缺失。",
7
- "newFeatures": [
8
- "事件消费者支持受限查询、冻结事务、原键提交与回执恢复;平台统一执行并验证事件租约。"
9
- ],
10
- "fixes": [
11
- "公开 Nest 入口补充导出事件 worker-effect 服务。"
12
- ],
13
- "affectedUsers": [
14
- "需要定时业务事务的 OpenXiangda V2 应用开发者与平台维护者。"
15
- ],
16
- "upgradeSteps": [
17
- "配对升级 SDK、CLI、共享契约和平台服务;为事件订阅显式声明 worker-effect 资源、字段及容量。"
18
- ],
19
- "knownLimitations": [
20
- "投递至少一次,业务事务依赖原幂等意图去重;不允许工作流拥有的资源写入或任意业务身份冒用。"
21
- ],
22
- "compatibility": {
23
- "node": ">=24",
24
- "pnpm": "10.15.1"
25
- },
26
- "issues": [],
27
- "sha256": "bf5cc01bff98c34817ba998f822f74561f8d4d44da121229b5e585654cba13c0",
28
- "url": "https://github.com/1377385356/openxiangda/releases/tag/v2.66.1"
29
- }
@@ -1,29 +0,0 @@
1
- {
2
- "schemaVersion": "openxiangda.release-notes/v1",
3
- "version": "2.66.2",
4
- "status": "reviewed",
5
- "title": "工具链事实契约兼容修复",
6
- "summary": "保持现有 worker-effect 能力,并修复工作区工具链事实的公开契约。",
7
- "newFeatures": [
8
- "事件消费者支持受限查询、冻结事务、原键提交与回执恢复;平台统一执行并验证事件租约。"
9
- ],
10
- "fixes": [
11
- "允许工作区上下文返回已安装工具链事实。"
12
- ],
13
- "affectedUsers": [
14
- "需要定时业务事务的 OpenXiangda V2 应用开发者与平台维护者。"
15
- ],
16
- "upgradeSteps": [
17
- "配对升级 SDK、CLI、共享契约和平台服务;为事件订阅显式声明 worker-effect 资源、字段及容量。"
18
- ],
19
- "knownLimitations": [
20
- "投递至少一次,业务事务依赖原幂等意图去重;不允许工作流拥有的资源写入或任意业务身份冒用。"
21
- ],
22
- "compatibility": {
23
- "node": ">=24",
24
- "pnpm": "10.15.1"
25
- },
26
- "issues": [],
27
- "sha256": "f597de89ed6ca7b7270427f35e2d9078576f1ee3ec06f961cd09b65e5298ebb8",
28
- "url": "https://github.com/1377385356/openxiangda/releases/tag/v2.66.2"
29
- }
@@ -1,33 +0,0 @@
1
- {
2
- "schemaVersion": "openxiangda.release-notes/v1",
3
- "version": "2.67.0",
4
- "status": "reviewed",
5
- "title": "应用Agent接口与事件worker声明修复",
6
- "summary": "新增作用域内应用Agent客户端,并补齐事件worker编译上下文及节点条件配置契约。",
7
- "newFeatures": [
8
- "公开openxiangda/agent客户端与hooks,沿用平台当前身份和持久游标,未知写入不自动重放。"
9
- ],
10
- "fixes": [
11
- "worker-effect编译传入显式emitEventTypes与实际工作流subject,避免合法声明被误拒绝。",
12
- "配置类型公开worker-effect执行声明,避免应用使用类型绕过。",
13
- "共享节点人员配置支持完整条件规则与权威来源边界。"
14
- ],
15
- "affectedUsers": [
16
- "OpenXiangda V2应用开发者和平台维护者"
17
- ],
18
- "upgradeSteps": [
19
- "按同批版本升级工具链,重新生成并检查应用契约。",
20
- "配套升级平台共享契约后验证TEST,真实角色验收独立执行。"
21
- ],
22
- "knownLimitations": [
23
- "事件至少一次投递,依赖原业务意图和平台回执去重。",
24
- "工具链发布不代表学校平台部署或应用业务验收完成。"
25
- ],
26
- "compatibility": {
27
- "node": ">=24",
28
- "pnpm": "10.15.1"
29
- },
30
- "issues": [],
31
- "sha256": "535f00f729995cc1f8ce0925c3ddbd5976e1ed6283ef60d2888955ae95393d02",
32
- "url": "https://github.com/1377385356/openxiangda/releases/tag/v2.67.0"
33
- }
@@ -1,35 +0,0 @@
1
- {
2
- "schemaVersion": "openxiangda.release-notes/v1",
3
- "version": "2.67.1",
4
- "status": "reviewed",
5
- "title": "应用Agent及worker声明与发行恢复修复",
6
- "summary": "新增作用域内应用Agent客户端,并补齐事件worker编译上下文及节点条件配置契约。",
7
- "newFeatures": [
8
- "公开openxiangda/agent客户端与hooks,沿用平台当前身份和持久游标,未知写入不自动重放。"
9
- ],
10
- "fixes": [
11
- "worker-effect编译传入显式emitEventTypes与实际工作流subject,避免合法声明被误拒绝。",
12
- "配置类型公开worker-effect执行声明,避免应用使用类型绕过。",
13
- "共享节点人员配置支持完整条件规则与权威来源边界。",
14
- "声明warning保持警告,真正错误仍阻断,避免正确应用被误拒绝。",
15
- "Git worktree发行计划、验证与发布共用冻结制品、回执和进程锁;发现旧私有回执时先恢复原状态。"
16
- ],
17
- "affectedUsers": [
18
- "OpenXiangda V2应用开发者和平台维护者"
19
- ],
20
- "upgradeSteps": [
21
- "按同批版本升级工具链,重新生成并检查应用契约。",
22
- "配套升级平台共享契约后验证TEST,真实角色验收独立执行。"
23
- ],
24
- "knownLimitations": [
25
- "事件至少一次投递,依赖原业务意图和平台回执去重。",
26
- "工具链发布不代表学校平台部署或应用业务验收完成。"
27
- ],
28
- "compatibility": {
29
- "node": ">=24",
30
- "pnpm": "10.15.1"
31
- },
32
- "issues": [],
33
- "sha256": "cab78d0c354ccfe6373966f884c475e4e50e0096a5cbe9763fce2a761ba99e99",
34
- "url": "https://github.com/1377385356/openxiangda/releases/tag/v2.67.1"
35
- }
@@ -1,34 +0,0 @@
1
- {
2
- "schemaVersion": "openxiangda.release-notes/v1",
3
- "version": "2.67.2",
4
- "status": "reviewed",
5
- "title": "读取范围能力交集与开发诊断修复",
6
- "summary": "所选读取范围严格收窄当前身份能力,并补充原执行健康、托管文件语义及设计资料预算诊断。",
7
- "newFeatures": [
8
- "应用自助操作提供原执行健康和托管文件语义观察,沿用当前身份与原请求。"
9
- ],
10
- "fixes": [
11
- "Perspective读取能力与当前身份能力取交集,避免有限角色选择其他角色的完整管理投影。",
12
- "AppSpec记录实际读取字节和省略原因,保留现有确认及部署门禁,不将超预算资料误判为不存在。",
13
- "工作区加载及封包的声明warning不再误当error阻断,真实错误继续拒绝。",
14
- "发行元数据读取保留有界并发和原渠道状态;CLI模板与根SDK版本配套。"
15
- ],
16
- "affectedUsers": [
17
- "使用多角色读取范围的V2应用开发者及平台维护者"
18
- ],
19
- "upgradeSteps": [
20
- "通过官方精确根包版本安装整组工具链,检查当前平台兼容性后重新部署TEST。",
21
- "使用有限角色、兼任角色及撤销授权场景核对页面投影;实际业务验收独立于发包。"
22
- ],
23
- "knownLimitations": [
24
- "源码回归不证明学校身份同步、通知通道、定时任务或完整迁移已验收。",
25
- "读取范围不改变写入和业务动作授权,Native后端继续独立执行字段与行权限。"
26
- ],
27
- "compatibility": {
28
- "node": ">=24",
29
- "pnpm": "10.15.1"
30
- },
31
- "issues": [],
32
- "sha256": "a6d7741c59762468ee23815832c0d707166bc60ca7913dabd4f945d6cf84ac20",
33
- "url": "https://github.com/1377385356/openxiangda/releases/tag/v2.67.2"
34
- }
@@ -1,33 +0,0 @@
1
- {
2
- "schemaVersion": "openxiangda.release-notes/v1",
3
- "version": "2.68.2",
4
- "status": "reviewed",
5
- "title": "固定公开单选过滤的编译一致性修复",
6
- "summary": "允许对 option.single 单选字段声明固定公开 eq 条件,保持平台强制过滤和字段白名单。",
7
- "newFeatures": [],
8
- "fixes": [
9
- "修复是否开放、发布状态等单选字段被应用与 Native 编译器错误拒绝的问题。",
10
- "单选值只接受字符串或 null,拒绝数组、对象、数值和布尔;多选、附件、人员及资源引用仍不接受。"
11
- ],
12
- "affectedUsers": [
13
- "通过 frontend.publicAccess 发布带开放/发布状态条件的公开目录应用。"
14
- ],
15
- "upgradeSteps": [
16
- "应用升级精确 openxiangda 2.68.2 并重新 check;不修改已安装编译器或生成输出。",
17
- "平台同步官方 openxiangda-contracts 2.88.1 编译器后再部署含此条件的应用;运行时过滤仍由平台负责。"
18
- ],
19
- "knownLimitations": [
20
- "仍只允许固定 eq 条件;不开放匿名任意筛选、排序或普通 Native Data API。",
21
- "包与平台发布不代表学校浏览器、真实角色或通知验收完成。"
22
- ],
23
- "compatibility": {
24
- "node": "Node.js 24 or newer for maintained toolchain",
25
- "generation": "OpenXiangda V2; V1 unchanged",
26
- "platform": "Native compiler openxiangda-contracts 2.88.1; server option JSON equality already implemented"
27
- },
28
- "issues": [
29
- "PLT-068"
30
- ],
31
- "sha256": "122b83c8aa1540c4e97ba7b4700618a03ff86585848f3f9f5626475ad13b7a8d",
32
- "url": "https://github.com/1377385356/openxiangda/releases/tag/v2.68.2"
33
- }