openxiangda 2.75.8 → 2.75.9
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/documentation/application-operations.md +2 -1
- package/documentation/getting-started.md +7 -7
- package/documentation/manifest.json +6 -6
- package/documentation/multi-organization.md +5 -2
- package/documentation/reference/mcp.md +134 -0
- package/documentation/workflow-events.md +15 -0
- package/package.json +22 -26
- package/releases/2.75.9.json +33 -0
- package/skills/manifest.json +1 -1
- package/skills/openxiangda-v2/SKILL.md +4 -4
- package/skills/openxiangda-v2/references/application-operations.md +2 -1
- package/skills/openxiangda-v2/references/getting-started.md +7 -7
- package/skills/openxiangda-v2/references/mcp.md +134 -0
- package/skills/openxiangda-v2/references/multi-organization.md +5 -2
- package/skills/openxiangda-v2/references/workflow-events.md +15 -0
- package/releases/2.63.0.json +0 -45
- package/releases/2.63.1.json +0 -46
- package/releases/2.66.0.json +0 -29
- package/releases/2.66.1.json +0 -29
- package/releases/2.66.2.json +0 -29
- package/releases/2.67.0.json +0 -33
- package/releases/2.67.1.json +0 -35
- package/releases/2.67.2.json +0 -34
- package/releases/2.68.2.json +0 -33
- package/releases/2.70.0.json +0 -35
- package/releases/2.70.1.json +0 -34
- package/releases/2.75.2.json +0 -34
- package/releases/2.75.4.json +0 -31
- package/releases/2.75.6.json +0 -35
- package/releases/2.75.8.json +0 -37
|
@@ -118,7 +118,8 @@ Native记录事件才能使用 `ordering:record`。订阅错误先修正应用
|
|
|
118
118
|
|
|
119
119
|
先读 `notifications.diagnostics/channels/rules`。缺少标准模板/规则时执行
|
|
120
120
|
`notifications.bootstrap` 再回读。已有健康渠道可直接选默认,不必重新配置或获取密码。
|
|
121
|
-
|
|
121
|
+
新增/更新使用 `notifications.configure-external-http`、`notifications.configure-dingtalk-oa` 或 `notifications.configure-dingtalk-card`。
|
|
122
|
+
互动卡片可显式启用 `authorizationMode: THIRD_PARTY_INSTALLATION`,由平台按可信消息所属组织核对三方安装;内容、模板和详情目标由应用控制。OA工作通知配置不能代替互动卡片渠道。
|
|
122
123
|
完整参数见目录inputSchema;新渠道revision用0,更新用实时revision。配置只接受Secret引用,
|
|
123
124
|
不接受token、明文clientSecret或收件身份。External HTTP支持HMAC、OAuth2客户端凭据和mTLS。
|
|
124
125
|
正式启用沿用服务器 `confirmProduction:true`,表示该请求明确选择正式环境,无需管理页。
|
|
@@ -68,10 +68,10 @@ MCP 服务随项目根包一起安装,AI 客户端的 stdio 连接仍需配置
|
|
|
68
68
|
以下命令的版本占位符由随包资料替换为该根包的精确版本。网站源码阅读者应先确认要使用的发行版本。
|
|
69
69
|
|
|
70
70
|
```bash
|
|
71
|
-
pnpm dlx openxiangda@2.75.
|
|
72
|
-
pnpm dlx openxiangda@2.75.
|
|
73
|
-
pnpm dlx openxiangda@2.75.
|
|
74
|
-
pnpm dlx openxiangda@2.75.
|
|
71
|
+
pnpm dlx openxiangda@2.75.9 skill install --force
|
|
72
|
+
pnpm dlx openxiangda@2.75.9 auth status --base-url <平台地址> --json
|
|
73
|
+
pnpm dlx openxiangda@2.75.9 login --cwd my-app --base-url https://platform.example.com
|
|
74
|
+
pnpm dlx openxiangda@2.75.9 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.75.
|
|
225
|
-
pnpm dlx openxiangda@2.75.
|
|
226
|
-
pnpm dlx openxiangda@2.75.
|
|
224
|
+
pnpm dlx openxiangda@2.75.9 auth status --base-url <平台> --json
|
|
225
|
+
pnpm dlx openxiangda@2.75.9 source resolve <仓库URL> --base-url <平台> --json
|
|
226
|
+
pnpm dlx openxiangda@2.75.9 source clone <仓库URL> <新目录> --base-url <平台> --json
|
|
227
227
|
```
|
|
228
228
|
|
|
229
229
|
登录缺失或站点不匹配时,先按该平台执行 login。resolve 根据平台已经登记的绑定返回
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schemaVersion": "openxiangda.documentation/v1",
|
|
3
|
-
"version": "2.75.
|
|
3
|
+
"version": "2.75.9",
|
|
4
4
|
"topics": [
|
|
5
5
|
{
|
|
6
6
|
"id": "getting-started",
|
|
7
7
|
"title": "安装与开始开发",
|
|
8
8
|
"file": "getting-started.md",
|
|
9
|
-
"sha256": "
|
|
9
|
+
"sha256": "66c388a08b5e9a4f1fe76658128308d74376273cd89fcefe5fd07fdd37b4fbca"
|
|
10
10
|
},
|
|
11
11
|
{
|
|
12
12
|
"id": "product-design",
|
|
@@ -84,7 +84,7 @@
|
|
|
84
84
|
"id": "multi-organization",
|
|
85
85
|
"title": "多组织、局校管理与家校目录",
|
|
86
86
|
"file": "multi-organization.md",
|
|
87
|
-
"sha256": "
|
|
87
|
+
"sha256": "4bd17017cd22539d388b6a14e6c3b0d58f0d32151ae43701f16839be0a0ba842"
|
|
88
88
|
},
|
|
89
89
|
{
|
|
90
90
|
"id": "public-access",
|
|
@@ -96,7 +96,7 @@
|
|
|
96
96
|
"id": "workflow-events",
|
|
97
97
|
"title": "审批、事件与通知",
|
|
98
98
|
"file": "workflow-events.md",
|
|
99
|
-
"sha256": "
|
|
99
|
+
"sha256": "7256b122ef8b974251bae794e1de3ed4bb4bc830f06881c4b09f5534c1a444c7"
|
|
100
100
|
},
|
|
101
101
|
{
|
|
102
102
|
"id": "backend",
|
|
@@ -144,7 +144,7 @@
|
|
|
144
144
|
"id": "application-operations",
|
|
145
145
|
"title": "AI 自助诊断、环境密钥和通知配置",
|
|
146
146
|
"file": "application-operations.md",
|
|
147
|
-
"sha256": "
|
|
147
|
+
"sha256": "3c82699f70f6a34656d2f79b38b70beddad209db10ec0938621133443aed286c"
|
|
148
148
|
},
|
|
149
149
|
{
|
|
150
150
|
"id": "testing",
|
|
@@ -174,7 +174,7 @@
|
|
|
174
174
|
"id": "mcp",
|
|
175
175
|
"title": "MCP 配置与工具参考",
|
|
176
176
|
"file": "reference/mcp.md",
|
|
177
|
-
"sha256": "
|
|
177
|
+
"sha256": "21578d0e33c000405657acd90de5d9150ebabd94884b96af9a167229ea623fc8"
|
|
178
178
|
}
|
|
179
179
|
]
|
|
180
180
|
}
|
|
@@ -29,7 +29,8 @@
|
|
|
29
29
|
| 应用角色 `self` / `subtree` | V2 声明、组织维度角色绑定和实时 SQL 准入已接通 | 声明每个角色的覆盖意图;旧应用未声明继续沿用原行为 |
|
|
30
30
|
| 家校事实到应用角色、班级范围的消费 | `authz.directoryRoleSources` 由平台投影到应用角色和字符串 scope | 使用真实来源角色事实,目录派生绑定不能手工覆盖;事实退休立即拒绝旧投影 |
|
|
31
31
|
| 组织数据归属、隔离、后代可见与内容下发 | `organization.mode=owned/inherited-down`、不可改归属及 RLS 已实现 | 声明策略并核验目标站点的配套能力,按真实组织角色验收允许和拒绝 |
|
|
32
|
-
|
|
|
32
|
+
| 安装回调、每校自动定时同步 | 尚未完成整条自动接入 | 不假定安装完成后立即能登录 |
|
|
33
|
+
| 三方互动卡片按组织授权与身份路由 | 配套平台支持显式启用的THIRD_PARTY_INSTALLATION渠道 | 核对可信来源组织、有效安装及企业身份;应用控制内容、模板、接收范围和详情目标,实际投递与点击分别验证 |
|
|
33
34
|
|
|
34
35
|
平台管理组织的授权与应用业务授权是两种事实。能开通学校或查询组织树,不会自动获得该学校的业务数据权限;看到一条成员关系,也不会自动成为应用管理员。
|
|
35
36
|
|
|
@@ -181,7 +182,7 @@ data: {
|
|
|
181
182
|
|
|
182
183
|
组织已开通但尚未安装,或安装已匹配但成员尚未同步,均不等于用户已获得应用访问权限。提示“账号信息尚未同步,请稍后再试”等状态可以使用实际平台结果,不能假装登录成功。自动安装事件、逐组织定时同步、应用可触发的有界同步请求尚未接通,不应在应用里开启无界轮询或用管理员凭据调用修复接口。
|
|
183
184
|
|
|
184
|
-
|
|
185
|
+
配套平台版本的 Notification Hub 支持通过THIRD_PARTY_INSTALLATION卡片渠道按持久化来源组织选择有效Suite安装与企业身份,首次接受通知时固定接收范围及目标安装,发送前复核身份。应用通过正式事件通知契约声明内容和目标;需要班级来源角色时可声明directoryRecipients,平台仅在事件所属组织中有界解析,不导出通讯录。信息模板的变量名由应用配置,链接封装保留应用业务参数和corpId占位符,详见[工作流与事件](workflow-events.md)。管理员必须先核对目标站点的配套版本、渠道、安装与权限。消息到人、消息点击进入正确学校和该用户有业务权限是三个独立条件,需分别验收;不能仅凭 unionId 或SDK接口存在就认定实际路由通过。
|
|
185
186
|
|
|
186
187
|
## 开发前核对与验收 {#verification}
|
|
187
188
|
|
|
@@ -202,3 +203,5 @@ DirectoryClassSummary.directoryClassId 是平台目录 UUID,sourceClassId 是
|
|
|
202
203
|
具名后端动作声明 platformAccess: { directoryClasses: { maxIds: 20 } },调用 OpenXiangdaBusinessDirectoryService.currentClasses(sourceClassIds) 精确解析1..maxIds个来源班级。同一动作证明中的人和工作组织由平台决定,不能传入其他userId/corpId/organizationId。缺少来源事实、工作组织、活动成员或任一选择不可读时整体拒绝;事务还需 actor-authority 和业务行边界复核。该能力是只读目录,无目录同步/管理授权。
|
|
203
204
|
|
|
204
205
|
HTTP GET /openxiangda-api/v2/platform/organizations/me/directory-classes 只接受limit/after;POST /openxiangda-api/v2/applications/:appCode/directory/current-classes 的 schemaVersion 为 openxiangda.current-classes-directory-request/v1、字段为sourceClassIds。返回 openxiangda.directory-class-page/v1,绑定userId和organizationId。未部署此能力的站点不能仅凭SDK方法存在就报告接入完成。
|
|
206
|
+
|
|
207
|
+
通知事件可用 `targetOrganizationPath` 指向不可变业务事实中的目标组织ID(例如区级规则所属组织)。平台核验同租户有效组织及来源的祖先/后代关系,按目标组织核验接收人及安装;URL或浏览器输入不授予权限。`directoryRecipients` 始终限原学校,不允许借此跨组织展开班级成员。来源组织归属保留,接受后的目标与接收人冻结,原键重试不重新展开。
|
|
@@ -1706,6 +1706,140 @@ MCP 使用项目锁定的根包;在客户端配置下列 stdio 启动参数,
|
|
|
1706
1706
|
"input"
|
|
1707
1707
|
]
|
|
1708
1708
|
},
|
|
1709
|
+
{
|
|
1710
|
+
"type": "object",
|
|
1711
|
+
"additionalProperties": false,
|
|
1712
|
+
"properties": {
|
|
1713
|
+
"operation": {
|
|
1714
|
+
"const": "notifications.configure-dingtalk-card",
|
|
1715
|
+
"description": "配置钉钉互动卡片与可选的三方组织授权;仅使用 Secret 引用"
|
|
1716
|
+
},
|
|
1717
|
+
"environment": {
|
|
1718
|
+
"type": "string",
|
|
1719
|
+
"enum": [
|
|
1720
|
+
"test",
|
|
1721
|
+
"production"
|
|
1722
|
+
]
|
|
1723
|
+
},
|
|
1724
|
+
"input": {
|
|
1725
|
+
"type": "object",
|
|
1726
|
+
"additionalProperties": false,
|
|
1727
|
+
"properties": {
|
|
1728
|
+
"bindingCode": {
|
|
1729
|
+
"type": "string",
|
|
1730
|
+
"minLength": 1,
|
|
1731
|
+
"maxLength": 128
|
|
1732
|
+
},
|
|
1733
|
+
"expectedRevision": {
|
|
1734
|
+
"type": "integer",
|
|
1735
|
+
"minimum": 0,
|
|
1736
|
+
"maximum": 9007199254740991
|
|
1737
|
+
},
|
|
1738
|
+
"status": {
|
|
1739
|
+
"type": "string",
|
|
1740
|
+
"enum": [
|
|
1741
|
+
"active",
|
|
1742
|
+
"paused"
|
|
1743
|
+
]
|
|
1744
|
+
},
|
|
1745
|
+
"config": {
|
|
1746
|
+
"type": "object",
|
|
1747
|
+
"additionalProperties": false,
|
|
1748
|
+
"properties": {
|
|
1749
|
+
"schemaVersion": {
|
|
1750
|
+
"const": "openxiangda.notification.dingtalk-card-channel/v2"
|
|
1751
|
+
},
|
|
1752
|
+
"corpId": {
|
|
1753
|
+
"type": "string",
|
|
1754
|
+
"minLength": 1,
|
|
1755
|
+
"maxLength": 128
|
|
1756
|
+
},
|
|
1757
|
+
"usage": {
|
|
1758
|
+
"const": "ADVANCED"
|
|
1759
|
+
},
|
|
1760
|
+
"authorizationMode": {
|
|
1761
|
+
"const": "THIRD_PARTY_INSTALLATION"
|
|
1762
|
+
},
|
|
1763
|
+
"defaultCardTemplateId": {
|
|
1764
|
+
"type": "string",
|
|
1765
|
+
"minLength": 1,
|
|
1766
|
+
"maxLength": 255
|
|
1767
|
+
},
|
|
1768
|
+
"informationalTemplateParameters": {
|
|
1769
|
+
"type": "object",
|
|
1770
|
+
"additionalProperties": false,
|
|
1771
|
+
"properties": {
|
|
1772
|
+
"content": {
|
|
1773
|
+
"type": "string",
|
|
1774
|
+
"minLength": 1,
|
|
1775
|
+
"maxLength": 64,
|
|
1776
|
+
"pattern": "^[A-Za-z][A-Za-z0-9_]{0,63}$"
|
|
1777
|
+
},
|
|
1778
|
+
"link": {
|
|
1779
|
+
"type": "string",
|
|
1780
|
+
"minLength": 1,
|
|
1781
|
+
"maxLength": 64,
|
|
1782
|
+
"pattern": "^[A-Za-z][A-Za-z0-9_]{0,63}$"
|
|
1783
|
+
}
|
|
1784
|
+
},
|
|
1785
|
+
"required": [
|
|
1786
|
+
"content",
|
|
1787
|
+
"link"
|
|
1788
|
+
]
|
|
1789
|
+
},
|
|
1790
|
+
"clientIdSecretRef": {
|
|
1791
|
+
"type": "string",
|
|
1792
|
+
"minLength": 1,
|
|
1793
|
+
"maxLength": 128
|
|
1794
|
+
},
|
|
1795
|
+
"clientSecretSecretRef": {
|
|
1796
|
+
"type": "string",
|
|
1797
|
+
"minLength": 1,
|
|
1798
|
+
"maxLength": 128
|
|
1799
|
+
},
|
|
1800
|
+
"robotCode": {
|
|
1801
|
+
"type": "string",
|
|
1802
|
+
"minLength": 1,
|
|
1803
|
+
"maxLength": 255
|
|
1804
|
+
},
|
|
1805
|
+
"callbackMode": {
|
|
1806
|
+
"const": "STREAM"
|
|
1807
|
+
},
|
|
1808
|
+
"supportForward": {
|
|
1809
|
+
"const": false
|
|
1810
|
+
},
|
|
1811
|
+
"actionTokenTtlMinutes": {
|
|
1812
|
+
"type": "integer",
|
|
1813
|
+
"minimum": 5,
|
|
1814
|
+
"maximum": 43200
|
|
1815
|
+
}
|
|
1816
|
+
},
|
|
1817
|
+
"required": [
|
|
1818
|
+
"schemaVersion",
|
|
1819
|
+
"corpId",
|
|
1820
|
+
"usage",
|
|
1821
|
+
"clientIdSecretRef",
|
|
1822
|
+
"clientSecretSecretRef",
|
|
1823
|
+
"callbackMode",
|
|
1824
|
+
"supportForward",
|
|
1825
|
+
"actionTokenTtlMinutes"
|
|
1826
|
+
]
|
|
1827
|
+
}
|
|
1828
|
+
},
|
|
1829
|
+
"required": [
|
|
1830
|
+
"bindingCode",
|
|
1831
|
+
"expectedRevision",
|
|
1832
|
+
"status",
|
|
1833
|
+
"config"
|
|
1834
|
+
]
|
|
1835
|
+
}
|
|
1836
|
+
},
|
|
1837
|
+
"required": [
|
|
1838
|
+
"operation",
|
|
1839
|
+
"environment",
|
|
1840
|
+
"input"
|
|
1841
|
+
]
|
|
1842
|
+
},
|
|
1709
1843
|
{
|
|
1710
1844
|
"type": "object",
|
|
1711
1845
|
"additionalProperties": false,
|
|
@@ -1310,3 +1310,18 @@ generationPath、sequencePath、statePath、recipientPaths、titlePath 和可选
|
|
|
1310
1310
|
并创建下一轮,不因管理员变化覆盖旧任务。此能力复用平台任务中心、通知发件箱、
|
|
1311
1311
|
供应方关闭和审计;普通 informational 通知仍不能创建待办。业务提交成功不等于
|
|
1312
1312
|
供应方投递或用户收到,分别核对业务回执、事件投递和消息详情。
|
|
1313
|
+
|
|
1314
|
+
|
|
1315
|
+
### 三方应用互动卡片与班级接收范围
|
|
1316
|
+
|
|
1317
|
+
应用通过 `notifications.configure-dingtalk-card` 配置模板、Secret引用和可选的 `authorizationMode: THIRD_PARTY_INSTALLATION`。三方模式按消息持久化来源组织核对Suite安装及企业身份;配置corpId仅供管理员检查渠道,不作为未知消息的默认投递企业。应用决定内容、模板和PC/移动详情目标,平台统一校验、投递并维护回执。
|
|
1318
|
+
|
|
1319
|
+
信息模板可以声明 `informationalTemplateParameters: { content: 'content', link: 'link' }`:变量名属于应用;内容来自应用的summary,链接从应用声明的navigationTarget封装,保留路由、业务参数与字面量corpId占位符。该模式不能隐藏审批办理动作,原标准模板默认不变。高级显式卡片继续使用应用提供的cardParamMap。
|
|
1320
|
+
|
|
1321
|
+
事件通知的可选 `directoryRecipients: [{ classIdPath: 'projection.classId', roleCodes: ['guardian'] }]` 按不可变事件所属组织解析已同步班级身份,可与recipientPaths合并去重;recipientPaths可在有目录范围时传空数组。角色限guardian/head_teacher/teacher,最多20个范围,合计最多1000人;无有效人员、无来源组织、超限、失效身份均拒绝。此能力不导出通讯录、不依据URL的corpId授权、不推断其他组织。
|
|
1322
|
+
|
|
1323
|
+
上线渠道不会补发历史通知;真实金丝雀投递仅使用指定新业务和接收人。渠道健康、消息收到、点击打开正确组织以及业务详情权限需分别验收。
|
|
1324
|
+
|
|
1325
|
+
通知事件可用 `targetOrganizationPath` 指向不可变业务事实中的目标组织ID(例如区级规则所属组织)。平台核验同租户有效组织及来源的祖先/后代关系,按目标组织核验接收人及安装;URL或浏览器输入不授予权限。`directoryRecipients` 始终限原学校,不允许借此跨组织展开班级成员。来源组织归属保留,接受后的目标与接收人冻结,原键重试不重新展开。
|
|
1326
|
+
|
|
1327
|
+
worker-effect在readFields中可显式声明系统只读元数据 `organization_id`,用于冻结继承规则的真实所有者;行授权不变,未授予不能选择,写入始终拒绝。
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "openxiangda",
|
|
3
|
-
"version": "2.75.
|
|
3
|
+
"version": "2.75.9",
|
|
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.
|
|
100
|
-
"openxiangda-devkit-core": "2.
|
|
98
|
+
"openxiangda-cli": "2.11.21",
|
|
99
|
+
"openxiangda-contracts": "2.96.0",
|
|
100
|
+
"openxiangda-devkit-core": "2.72.0",
|
|
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.31",
|
|
103
|
+
"openxiangda-nest": "2.22.11",
|
|
104
|
+
"openxiangda-skill-kit": "2.3.134",
|
|
105
105
|
"xlsx": "https://github.com/1377385356/openxiangda/releases/download/vendor-mirror/xlsx-0.20.3.tgz"
|
|
106
106
|
},
|
|
107
107
|
"peerDependencies": {
|
|
@@ -167,40 +167,36 @@
|
|
|
167
167
|
},
|
|
168
168
|
"openxiangdaRelease": {
|
|
169
169
|
"schemaVersion": "openxiangda.release-notes/v1",
|
|
170
|
-
"version": "2.75.
|
|
170
|
+
"version": "2.75.9",
|
|
171
171
|
"status": "reviewed",
|
|
172
|
-
"title": "OpenXiangda 2.75.
|
|
173
|
-
"summary": "
|
|
172
|
+
"title": "OpenXiangda 2.75.9: organization-scoped third-party cards",
|
|
173
|
+
"summary": "Generic event contracts retain application-owned content and targets while the platform resolves enterprise authorization and class recipients.",
|
|
174
174
|
"newFeatures": [
|
|
175
|
-
"
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
"合并重复的角色来源展示,完整保留原人员范围、人数限制与未知规则。",
|
|
179
|
-
"部门主管按应用允许的部门依据、表单字段及层级配置,缺少主管不扩大人员范围。",
|
|
180
|
-
"审批操作折叠展示,退回规则归属当前节点;Tab切换保留未保存输入并定位校验错误。",
|
|
181
|
-
"打开侧栏后保留可用画布区域,防止节点被配置面板遮挡。",
|
|
182
|
-
"包含发起单位组织上下文及部门主管提交预检契约,需配套平台后端。"
|
|
175
|
+
"Declared class-role notification audiences and verified related delivery organizations.",
|
|
176
|
+
"Managed configuration for third-party card channels and custom content/link parameter names.",
|
|
177
|
+
"Explicit read-only organization_id metadata for event workers; no wider row authority."
|
|
183
178
|
],
|
|
179
|
+
"fixes": [],
|
|
184
180
|
"affectedUsers": [
|
|
185
|
-
"
|
|
181
|
+
"V2 application developers sending cards through third-party school installations."
|
|
186
182
|
],
|
|
187
183
|
"compatibility": {
|
|
188
184
|
"node": "Node.js 24 or newer",
|
|
189
185
|
"generation": "V2 only; V1 unchanged",
|
|
190
|
-
"platform": "
|
|
186
|
+
"platform": "Requires matching notification platform services and compiler.",
|
|
191
187
|
"releaseChannels": "latest / stable-v2"
|
|
192
188
|
},
|
|
193
189
|
"upgradeSteps": [
|
|
194
|
-
"
|
|
195
|
-
"
|
|
190
|
+
"Upgrade the matching backend and configure published templates with encrypted credential references.",
|
|
191
|
+
"Pin the SDK, verify organization isolation and detail permissions on TEST, then promote."
|
|
196
192
|
],
|
|
197
193
|
"knownLimitations": [
|
|
198
|
-
"
|
|
199
|
-
"
|
|
194
|
+
"Package tests do not prove real DingTalk receipt, placeholder substitution or login return.",
|
|
195
|
+
"No automatic historical resend; recover uncertain results with original keys."
|
|
200
196
|
],
|
|
201
197
|
"issues": [],
|
|
202
|
-
"sha256": "
|
|
203
|
-
"url": "https://github.com/1377385356/openxiangda/releases/tag/v2.75.
|
|
198
|
+
"sha256": "3c215aa49c0d416cb2f5cb1b73cb8914810048ee54b1474fae49e20c877682bf",
|
|
199
|
+
"url": "https://github.com/1377385356/openxiangda/releases/tag/v2.75.9"
|
|
204
200
|
},
|
|
205
201
|
"scripts": {
|
|
206
202
|
"build": "node ../../scripts/prune-package-dist.mjs && tsc -p tsconfig.json && node scripts/copy-assets.mjs",
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": "openxiangda.release-notes/v1",
|
|
3
|
+
"version": "2.75.9",
|
|
4
|
+
"status": "reviewed",
|
|
5
|
+
"title": "OpenXiangda 2.75.9: organization-scoped third-party cards",
|
|
6
|
+
"summary": "Generic event contracts retain application-owned content and targets while the platform resolves enterprise authorization and class recipients.",
|
|
7
|
+
"newFeatures": [
|
|
8
|
+
"Declared class-role notification audiences and verified related delivery organizations.",
|
|
9
|
+
"Managed configuration for third-party card channels and custom content/link parameter names.",
|
|
10
|
+
"Explicit read-only organization_id metadata for event workers; no wider row authority."
|
|
11
|
+
],
|
|
12
|
+
"fixes": [],
|
|
13
|
+
"affectedUsers": [
|
|
14
|
+
"V2 application developers sending cards through third-party school installations."
|
|
15
|
+
],
|
|
16
|
+
"compatibility": {
|
|
17
|
+
"node": "Node.js 24 or newer",
|
|
18
|
+
"generation": "V2 only; V1 unchanged",
|
|
19
|
+
"platform": "Requires matching notification platform services and compiler.",
|
|
20
|
+
"releaseChannels": "latest / stable-v2"
|
|
21
|
+
},
|
|
22
|
+
"upgradeSteps": [
|
|
23
|
+
"Upgrade the matching backend and configure published templates with encrypted credential references.",
|
|
24
|
+
"Pin the SDK, verify organization isolation and detail permissions on TEST, then promote."
|
|
25
|
+
],
|
|
26
|
+
"knownLimitations": [
|
|
27
|
+
"Package tests do not prove real DingTalk receipt, placeholder substitution or login return.",
|
|
28
|
+
"No automatic historical resend; recover uncertain results with original keys."
|
|
29
|
+
],
|
|
30
|
+
"issues": [],
|
|
31
|
+
"sha256": "3c215aa49c0d416cb2f5cb1b73cb8914810048ee54b1474fae49e20c877682bf",
|
|
32
|
+
"url": "https://github.com/1377385356/openxiangda/releases/tag/v2.75.9"
|
|
33
|
+
}
|
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": "4210e05cdd97c259e667e85cc4dd87deafa9efe535747c2621b7e5bde81b20ae"
|
|
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.75.
|
|
44
|
-
pnpm dlx openxiangda@2.75.
|
|
45
|
-
pnpm dlx openxiangda@2.75.
|
|
46
|
-
pnpm dlx openxiangda@2.75.
|
|
43
|
+
pnpm dlx openxiangda@2.75.9 auth status --cwd <应用目录> --base-url <平台地址> --json
|
|
44
|
+
pnpm dlx openxiangda@2.75.9 login --cwd <应用目录> --base-url <平台地址>
|
|
45
|
+
pnpm dlx openxiangda@2.75.9 create <应用目录> --base-url <同一平台地址>
|
|
46
|
+
pnpm dlx openxiangda@2.75.9 skill install --force
|
|
47
47
|
```
|
|
48
48
|
|
|
49
49
|
创建前把产品要求的目标平台明确带入命令,不从旧登录态推断站点。已有工作区从原绑定恢复,平台不一致时先解决登录与目标,不改 link 文件跨站创建。
|
|
@@ -118,7 +118,8 @@ Native记录事件才能使用 `ordering:record`。订阅错误先修正应用
|
|
|
118
118
|
|
|
119
119
|
先读 `notifications.diagnostics/channels/rules`。缺少标准模板/规则时执行
|
|
120
120
|
`notifications.bootstrap` 再回读。已有健康渠道可直接选默认,不必重新配置或获取密码。
|
|
121
|
-
|
|
121
|
+
新增/更新使用 `notifications.configure-external-http`、`notifications.configure-dingtalk-oa` 或 `notifications.configure-dingtalk-card`。
|
|
122
|
+
互动卡片可显式启用 `authorizationMode: THIRD_PARTY_INSTALLATION`,由平台按可信消息所属组织核对三方安装;内容、模板和详情目标由应用控制。OA工作通知配置不能代替互动卡片渠道。
|
|
122
123
|
完整参数见目录inputSchema;新渠道revision用0,更新用实时revision。配置只接受Secret引用,
|
|
123
124
|
不接受token、明文clientSecret或收件身份。External HTTP支持HMAC、OAuth2客户端凭据和mTLS。
|
|
124
125
|
正式启用沿用服务器 `confirmProduction:true`,表示该请求明确选择正式环境,无需管理页。
|
|
@@ -68,10 +68,10 @@ MCP 服务随项目根包一起安装,AI 客户端的 stdio 连接仍需配置
|
|
|
68
68
|
以下命令的版本占位符由随包资料替换为该根包的精确版本。网站源码阅读者应先确认要使用的发行版本。
|
|
69
69
|
|
|
70
70
|
```bash
|
|
71
|
-
pnpm dlx openxiangda@2.75.
|
|
72
|
-
pnpm dlx openxiangda@2.75.
|
|
73
|
-
pnpm dlx openxiangda@2.75.
|
|
74
|
-
pnpm dlx openxiangda@2.75.
|
|
71
|
+
pnpm dlx openxiangda@2.75.9 skill install --force
|
|
72
|
+
pnpm dlx openxiangda@2.75.9 auth status --base-url <平台地址> --json
|
|
73
|
+
pnpm dlx openxiangda@2.75.9 login --cwd my-app --base-url https://platform.example.com
|
|
74
|
+
pnpm dlx openxiangda@2.75.9 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.75.
|
|
225
|
-
pnpm dlx openxiangda@2.75.
|
|
226
|
-
pnpm dlx openxiangda@2.75.
|
|
224
|
+
pnpm dlx openxiangda@2.75.9 auth status --base-url <平台> --json
|
|
225
|
+
pnpm dlx openxiangda@2.75.9 source resolve <仓库URL> --base-url <平台> --json
|
|
226
|
+
pnpm dlx openxiangda@2.75.9 source clone <仓库URL> <新目录> --base-url <平台> --json
|
|
227
227
|
```
|
|
228
228
|
|
|
229
229
|
登录缺失或站点不匹配时,先按该平台执行 login。resolve 根据平台已经登记的绑定返回
|
|
@@ -1706,6 +1706,140 @@ MCP 使用项目锁定的根包;在客户端配置下列 stdio 启动参数,
|
|
|
1706
1706
|
"input"
|
|
1707
1707
|
]
|
|
1708
1708
|
},
|
|
1709
|
+
{
|
|
1710
|
+
"type": "object",
|
|
1711
|
+
"additionalProperties": false,
|
|
1712
|
+
"properties": {
|
|
1713
|
+
"operation": {
|
|
1714
|
+
"const": "notifications.configure-dingtalk-card",
|
|
1715
|
+
"description": "配置钉钉互动卡片与可选的三方组织授权;仅使用 Secret 引用"
|
|
1716
|
+
},
|
|
1717
|
+
"environment": {
|
|
1718
|
+
"type": "string",
|
|
1719
|
+
"enum": [
|
|
1720
|
+
"test",
|
|
1721
|
+
"production"
|
|
1722
|
+
]
|
|
1723
|
+
},
|
|
1724
|
+
"input": {
|
|
1725
|
+
"type": "object",
|
|
1726
|
+
"additionalProperties": false,
|
|
1727
|
+
"properties": {
|
|
1728
|
+
"bindingCode": {
|
|
1729
|
+
"type": "string",
|
|
1730
|
+
"minLength": 1,
|
|
1731
|
+
"maxLength": 128
|
|
1732
|
+
},
|
|
1733
|
+
"expectedRevision": {
|
|
1734
|
+
"type": "integer",
|
|
1735
|
+
"minimum": 0,
|
|
1736
|
+
"maximum": 9007199254740991
|
|
1737
|
+
},
|
|
1738
|
+
"status": {
|
|
1739
|
+
"type": "string",
|
|
1740
|
+
"enum": [
|
|
1741
|
+
"active",
|
|
1742
|
+
"paused"
|
|
1743
|
+
]
|
|
1744
|
+
},
|
|
1745
|
+
"config": {
|
|
1746
|
+
"type": "object",
|
|
1747
|
+
"additionalProperties": false,
|
|
1748
|
+
"properties": {
|
|
1749
|
+
"schemaVersion": {
|
|
1750
|
+
"const": "openxiangda.notification.dingtalk-card-channel/v2"
|
|
1751
|
+
},
|
|
1752
|
+
"corpId": {
|
|
1753
|
+
"type": "string",
|
|
1754
|
+
"minLength": 1,
|
|
1755
|
+
"maxLength": 128
|
|
1756
|
+
},
|
|
1757
|
+
"usage": {
|
|
1758
|
+
"const": "ADVANCED"
|
|
1759
|
+
},
|
|
1760
|
+
"authorizationMode": {
|
|
1761
|
+
"const": "THIRD_PARTY_INSTALLATION"
|
|
1762
|
+
},
|
|
1763
|
+
"defaultCardTemplateId": {
|
|
1764
|
+
"type": "string",
|
|
1765
|
+
"minLength": 1,
|
|
1766
|
+
"maxLength": 255
|
|
1767
|
+
},
|
|
1768
|
+
"informationalTemplateParameters": {
|
|
1769
|
+
"type": "object",
|
|
1770
|
+
"additionalProperties": false,
|
|
1771
|
+
"properties": {
|
|
1772
|
+
"content": {
|
|
1773
|
+
"type": "string",
|
|
1774
|
+
"minLength": 1,
|
|
1775
|
+
"maxLength": 64,
|
|
1776
|
+
"pattern": "^[A-Za-z][A-Za-z0-9_]{0,63}$"
|
|
1777
|
+
},
|
|
1778
|
+
"link": {
|
|
1779
|
+
"type": "string",
|
|
1780
|
+
"minLength": 1,
|
|
1781
|
+
"maxLength": 64,
|
|
1782
|
+
"pattern": "^[A-Za-z][A-Za-z0-9_]{0,63}$"
|
|
1783
|
+
}
|
|
1784
|
+
},
|
|
1785
|
+
"required": [
|
|
1786
|
+
"content",
|
|
1787
|
+
"link"
|
|
1788
|
+
]
|
|
1789
|
+
},
|
|
1790
|
+
"clientIdSecretRef": {
|
|
1791
|
+
"type": "string",
|
|
1792
|
+
"minLength": 1,
|
|
1793
|
+
"maxLength": 128
|
|
1794
|
+
},
|
|
1795
|
+
"clientSecretSecretRef": {
|
|
1796
|
+
"type": "string",
|
|
1797
|
+
"minLength": 1,
|
|
1798
|
+
"maxLength": 128
|
|
1799
|
+
},
|
|
1800
|
+
"robotCode": {
|
|
1801
|
+
"type": "string",
|
|
1802
|
+
"minLength": 1,
|
|
1803
|
+
"maxLength": 255
|
|
1804
|
+
},
|
|
1805
|
+
"callbackMode": {
|
|
1806
|
+
"const": "STREAM"
|
|
1807
|
+
},
|
|
1808
|
+
"supportForward": {
|
|
1809
|
+
"const": false
|
|
1810
|
+
},
|
|
1811
|
+
"actionTokenTtlMinutes": {
|
|
1812
|
+
"type": "integer",
|
|
1813
|
+
"minimum": 5,
|
|
1814
|
+
"maximum": 43200
|
|
1815
|
+
}
|
|
1816
|
+
},
|
|
1817
|
+
"required": [
|
|
1818
|
+
"schemaVersion",
|
|
1819
|
+
"corpId",
|
|
1820
|
+
"usage",
|
|
1821
|
+
"clientIdSecretRef",
|
|
1822
|
+
"clientSecretSecretRef",
|
|
1823
|
+
"callbackMode",
|
|
1824
|
+
"supportForward",
|
|
1825
|
+
"actionTokenTtlMinutes"
|
|
1826
|
+
]
|
|
1827
|
+
}
|
|
1828
|
+
},
|
|
1829
|
+
"required": [
|
|
1830
|
+
"bindingCode",
|
|
1831
|
+
"expectedRevision",
|
|
1832
|
+
"status",
|
|
1833
|
+
"config"
|
|
1834
|
+
]
|
|
1835
|
+
}
|
|
1836
|
+
},
|
|
1837
|
+
"required": [
|
|
1838
|
+
"operation",
|
|
1839
|
+
"environment",
|
|
1840
|
+
"input"
|
|
1841
|
+
]
|
|
1842
|
+
},
|
|
1709
1843
|
{
|
|
1710
1844
|
"type": "object",
|
|
1711
1845
|
"additionalProperties": false,
|
|
@@ -29,7 +29,8 @@
|
|
|
29
29
|
| 应用角色 `self` / `subtree` | V2 声明、组织维度角色绑定和实时 SQL 准入已接通 | 声明每个角色的覆盖意图;旧应用未声明继续沿用原行为 |
|
|
30
30
|
| 家校事实到应用角色、班级范围的消费 | `authz.directoryRoleSources` 由平台投影到应用角色和字符串 scope | 使用真实来源角色事实,目录派生绑定不能手工覆盖;事实退休立即拒绝旧投影 |
|
|
31
31
|
| 组织数据归属、隔离、后代可见与内容下发 | `organization.mode=owned/inherited-down`、不可改归属及 RLS 已实现 | 声明策略并核验目标站点的配套能力,按真实组织角色验收允许和拒绝 |
|
|
32
|
-
|
|
|
32
|
+
| 安装回调、每校自动定时同步 | 尚未完成整条自动接入 | 不假定安装完成后立即能登录 |
|
|
33
|
+
| 三方互动卡片按组织授权与身份路由 | 配套平台支持显式启用的THIRD_PARTY_INSTALLATION渠道 | 核对可信来源组织、有效安装及企业身份;应用控制内容、模板、接收范围和详情目标,实际投递与点击分别验证 |
|
|
33
34
|
|
|
34
35
|
平台管理组织的授权与应用业务授权是两种事实。能开通学校或查询组织树,不会自动获得该学校的业务数据权限;看到一条成员关系,也不会自动成为应用管理员。
|
|
35
36
|
|
|
@@ -181,7 +182,7 @@ data: {
|
|
|
181
182
|
|
|
182
183
|
组织已开通但尚未安装,或安装已匹配但成员尚未同步,均不等于用户已获得应用访问权限。提示“账号信息尚未同步,请稍后再试”等状态可以使用实际平台结果,不能假装登录成功。自动安装事件、逐组织定时同步、应用可触发的有界同步请求尚未接通,不应在应用里开启无界轮询或用管理员凭据调用修复接口。
|
|
183
184
|
|
|
184
|
-
|
|
185
|
+
配套平台版本的 Notification Hub 支持通过THIRD_PARTY_INSTALLATION卡片渠道按持久化来源组织选择有效Suite安装与企业身份,首次接受通知时固定接收范围及目标安装,发送前复核身份。应用通过正式事件通知契约声明内容和目标;需要班级来源角色时可声明directoryRecipients,平台仅在事件所属组织中有界解析,不导出通讯录。信息模板的变量名由应用配置,链接封装保留应用业务参数和corpId占位符,详见[工作流与事件](workflow-events.md)。管理员必须先核对目标站点的配套版本、渠道、安装与权限。消息到人、消息点击进入正确学校和该用户有业务权限是三个独立条件,需分别验收;不能仅凭 unionId 或SDK接口存在就认定实际路由通过。
|
|
185
186
|
|
|
186
187
|
## 开发前核对与验收 {#verification}
|
|
187
188
|
|
|
@@ -202,3 +203,5 @@ DirectoryClassSummary.directoryClassId 是平台目录 UUID,sourceClassId 是
|
|
|
202
203
|
具名后端动作声明 platformAccess: { directoryClasses: { maxIds: 20 } },调用 OpenXiangdaBusinessDirectoryService.currentClasses(sourceClassIds) 精确解析1..maxIds个来源班级。同一动作证明中的人和工作组织由平台决定,不能传入其他userId/corpId/organizationId。缺少来源事实、工作组织、活动成员或任一选择不可读时整体拒绝;事务还需 actor-authority 和业务行边界复核。该能力是只读目录,无目录同步/管理授权。
|
|
203
204
|
|
|
204
205
|
HTTP GET /openxiangda-api/v2/platform/organizations/me/directory-classes 只接受limit/after;POST /openxiangda-api/v2/applications/:appCode/directory/current-classes 的 schemaVersion 为 openxiangda.current-classes-directory-request/v1、字段为sourceClassIds。返回 openxiangda.directory-class-page/v1,绑定userId和organizationId。未部署此能力的站点不能仅凭SDK方法存在就报告接入完成。
|
|
206
|
+
|
|
207
|
+
通知事件可用 `targetOrganizationPath` 指向不可变业务事实中的目标组织ID(例如区级规则所属组织)。平台核验同租户有效组织及来源的祖先/后代关系,按目标组织核验接收人及安装;URL或浏览器输入不授予权限。`directoryRecipients` 始终限原学校,不允许借此跨组织展开班级成员。来源组织归属保留,接受后的目标与接收人冻结,原键重试不重新展开。
|
|
@@ -1310,3 +1310,18 @@ generationPath、sequencePath、statePath、recipientPaths、titlePath 和可选
|
|
|
1310
1310
|
并创建下一轮,不因管理员变化覆盖旧任务。此能力复用平台任务中心、通知发件箱、
|
|
1311
1311
|
供应方关闭和审计;普通 informational 通知仍不能创建待办。业务提交成功不等于
|
|
1312
1312
|
供应方投递或用户收到,分别核对业务回执、事件投递和消息详情。
|
|
1313
|
+
|
|
1314
|
+
|
|
1315
|
+
### 三方应用互动卡片与班级接收范围
|
|
1316
|
+
|
|
1317
|
+
应用通过 `notifications.configure-dingtalk-card` 配置模板、Secret引用和可选的 `authorizationMode: THIRD_PARTY_INSTALLATION`。三方模式按消息持久化来源组织核对Suite安装及企业身份;配置corpId仅供管理员检查渠道,不作为未知消息的默认投递企业。应用决定内容、模板和PC/移动详情目标,平台统一校验、投递并维护回执。
|
|
1318
|
+
|
|
1319
|
+
信息模板可以声明 `informationalTemplateParameters: { content: 'content', link: 'link' }`:变量名属于应用;内容来自应用的summary,链接从应用声明的navigationTarget封装,保留路由、业务参数与字面量corpId占位符。该模式不能隐藏审批办理动作,原标准模板默认不变。高级显式卡片继续使用应用提供的cardParamMap。
|
|
1320
|
+
|
|
1321
|
+
事件通知的可选 `directoryRecipients: [{ classIdPath: 'projection.classId', roleCodes: ['guardian'] }]` 按不可变事件所属组织解析已同步班级身份,可与recipientPaths合并去重;recipientPaths可在有目录范围时传空数组。角色限guardian/head_teacher/teacher,最多20个范围,合计最多1000人;无有效人员、无来源组织、超限、失效身份均拒绝。此能力不导出通讯录、不依据URL的corpId授权、不推断其他组织。
|
|
1322
|
+
|
|
1323
|
+
上线渠道不会补发历史通知;真实金丝雀投递仅使用指定新业务和接收人。渠道健康、消息收到、点击打开正确组织以及业务详情权限需分别验收。
|
|
1324
|
+
|
|
1325
|
+
通知事件可用 `targetOrganizationPath` 指向不可变业务事实中的目标组织ID(例如区级规则所属组织)。平台核验同租户有效组织及来源的祖先/后代关系,按目标组织核验接收人及安装;URL或浏览器输入不授予权限。`directoryRecipients` 始终限原学校,不允许借此跨组织展开班级成员。来源组织归属保留,接受后的目标与接收人冻结,原键重试不重新展开。
|
|
1326
|
+
|
|
1327
|
+
worker-effect在readFields中可显式声明系统只读元数据 `organization_id`,用于冻结继承规则的真实所有者;行授权不变,未授予不能选择,写入始终拒绝。
|
package/releases/2.63.0.json
DELETED
|
@@ -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
|
-
}
|
package/releases/2.63.1.json
DELETED
|
@@ -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
|
-
}
|
package/releases/2.66.0.json
DELETED
|
@@ -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
|
-
}
|
package/releases/2.66.1.json
DELETED
|
@@ -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
|
-
}
|
package/releases/2.66.2.json
DELETED
|
@@ -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
|
-
}
|
package/releases/2.67.0.json
DELETED
|
@@ -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
|
-
}
|
package/releases/2.67.1.json
DELETED
|
@@ -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
|
-
}
|
package/releases/2.67.2.json
DELETED
|
@@ -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
|
-
}
|
package/releases/2.68.2.json
DELETED
|
@@ -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
|
-
}
|
package/releases/2.70.0.json
DELETED
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"schemaVersion": "openxiangda.release-notes/v1",
|
|
3
|
-
"version": "2.70.0",
|
|
4
|
-
"status": "reviewed",
|
|
5
|
-
"title": "组织角色与业务记录归属边界",
|
|
6
|
-
"summary": "应用可声明平台目录角色映射、self/subtree 组织范围及 Native 记录组织归属,由配套平台统一执行身份与数据授权。",
|
|
7
|
-
"newFeatures": [
|
|
8
|
-
"角色显式声明 organizationReach;directoryRoleSources 将可信平台目录事实映射为当前组织内的应用角色和班级等字符串范围。",
|
|
9
|
-
"Native 资源声明 none、owned 或 inherited-down 组织策略;组织归属元数据可用于有界读取和统计,业务输入不能更改归属。",
|
|
10
|
-
"编译器共同校验组织角色、来源范围和资源策略,自动协商 authz.organizations、authz.directory-roles 与 data.organizations 能力。"
|
|
11
|
-
],
|
|
12
|
-
"fixes": [
|
|
13
|
-
"隔离 CLI 候选构建保留固定 Corepack 缓存,嵌套源码构建并发上限为两个任务;保留真实依赖安装和端到端检查。"
|
|
14
|
-
],
|
|
15
|
-
"affectedUsers": [
|
|
16
|
-
"使用多组织、教育局与独立学校或平台家校目录的 OpenXiangda V2 应用;已有未声明组织策略的应用保持原授权语义。"
|
|
17
|
-
],
|
|
18
|
-
"upgradeSteps": [
|
|
19
|
-
"安装精确 openxiangda 2.70.0 官方组合并刷新项目资料,检查生成契约及能力要求。",
|
|
20
|
-
"平台配套正式 contracts、组织角色投影服务与新增 SQL 后再启用组织资源;在目标站点验证真实来源、活动成员、安装及角色正反路径。"
|
|
21
|
-
],
|
|
22
|
-
"knownLimitations": [
|
|
23
|
-
"npm 包发布不代表平台部署、真实组织同步或业务验收;源码和独立 PostgreSQL 测试不能代替现场登录与权限验证。",
|
|
24
|
-
"普通后台或应用凭据不自动取得组织权限;未声明明确系统动作边界的后台任务不能访问组织资源。",
|
|
25
|
-
"已有无组织记录不自动推断或回填归属,启用组织策略后不能降级移除边界。"
|
|
26
|
-
],
|
|
27
|
-
"compatibility": {
|
|
28
|
-
"node": "Node.js 24 or newer for maintained toolchain",
|
|
29
|
-
"generation": "OpenXiangda V2; V1 unchanged",
|
|
30
|
-
"platform": "须部署同源 contracts 及组织授权 SQL/后端;组织来源角色限定 self,subtree 授权由合法应用管理员显式管理"
|
|
31
|
-
},
|
|
32
|
-
"issues": [],
|
|
33
|
-
"sha256": "7291b56c3a9c02615075ea5bb9bcf22669b3d19540f5f95173f54589d31a24f8",
|
|
34
|
-
"url": "https://github.com/1377385356/openxiangda/releases/tag/v2.70.0"
|
|
35
|
-
}
|
package/releases/2.70.1.json
DELETED
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"schemaVersion": "openxiangda.release-notes/v1",
|
|
3
|
-
"version": "2.70.1",
|
|
4
|
-
"status": "reviewed",
|
|
5
|
-
"title": "业务待办通知与旧审批当前节点接续",
|
|
6
|
-
"summary": "应用事务可通过签名事件创建和结束真实待办;管理员可使用正式迁移回执将旧审批接续到原当前节点,保留原申请人与审批轮次。",
|
|
7
|
-
"newFeatures": [
|
|
8
|
-
"事件订阅显式声明 business-task 与任务代码清单,Nest sendTaskFromEvent 投影原事件并复用平台任务中心、通知发件箱及结束状态。",
|
|
9
|
-
"CLI 与 MCP 共享 workflows.legacy-prepare、workflows.legacy-apply、workflows.legacy-receipt 有界管理操作;旧审批历史作为来源事实保留。"
|
|
10
|
-
],
|
|
11
|
-
"fixes": [
|
|
12
|
-
"声明检查器与打包器完整保留待办任务代码清单,应用与平台编译器共同协商 notification-hub-v2.event-tasks。"
|
|
13
|
-
],
|
|
14
|
-
"affectedUsers": [
|
|
15
|
-
"需要预约审批、排队分配、结算确认等业务待办,或需接入有可靠来源证明的在途旧审批的 V2 应用。"
|
|
16
|
-
],
|
|
17
|
-
"upgradeSteps": [
|
|
18
|
-
"安装精确 openxiangda 2.70.1 组合并重新生成契约;先部署同源平台 contracts、后端及旧审批接续 SQL。",
|
|
19
|
-
"业务状态与不可变待办事件同事务;旧审批先正式导入原业务单,再准备和执行原节点接续,未知结果查询原回执。"
|
|
20
|
-
],
|
|
21
|
-
"knownLimitations": [
|
|
22
|
-
"本次 SDK 发行不代表目标平台或应用已部署,也不证明真实角色办理或外部供应方送达。",
|
|
23
|
-
"旧审批接续仅支持可靠身份、完整线性历史、手动审批和内部当前分派;不重放旧通知,不创建替代账号或伪造原申请人登录。",
|
|
24
|
-
"真实消息通道须沿既有发送授权启用;新增任务能力不授权批量补发历史通知。"
|
|
25
|
-
],
|
|
26
|
-
"compatibility": {
|
|
27
|
-
"node": "Node.js 24 or newer for maintained toolchain",
|
|
28
|
-
"generation": "OpenXiangda V2; V1 unchanged",
|
|
29
|
-
"platform": "须配套正式 contracts、notification-hub-v2.event-tasks 后端及 AddWorkflowLegacyAdoptionsV2 SQL"
|
|
30
|
-
},
|
|
31
|
-
"issues": [],
|
|
32
|
-
"sha256": "d44db59da451ea6bc39a953cb5cefcdfc88241e0129bcdfb6a2d539424b166db",
|
|
33
|
-
"url": "https://github.com/1377385356/openxiangda/releases/tag/v2.70.1"
|
|
34
|
-
}
|
package/releases/2.75.2.json
DELETED
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"schemaVersion": "openxiangda.release-notes/v1",
|
|
3
|
-
"version": "2.75.2",
|
|
4
|
-
"status": "reviewed",
|
|
5
|
-
"title": "流程条件在画布、列表和AI预览中保持中文可读",
|
|
6
|
-
"summary": "统一使用已验证的中文选项展示条件,并保留显式通向拒绝结果的业务分支。原始值、表达式、审批人和授权不变。",
|
|
7
|
-
"newFeatures": [],
|
|
8
|
-
"fixes": [
|
|
9
|
-
"画布连线、提示、可访问节点列表及AI方案预览共用已验证的选项标签,不再在已有中文选项时重复显示英文编码。",
|
|
10
|
-
"只读图按实际入边区分普通拒绝操作与显式业务条件,不再仅因结束结果为拒绝就隐藏业务分支。",
|
|
11
|
-
"保留管理员自定义分支名、未知历史原值、原始标量类型、定义摘要和可执行图;根包与CLI模板版本成对更新。",
|
|
12
|
-
"同步中文管理专题及Skill资料,说明WorkflowDiagram的可选展示选项与其不改变业务语义的边界。"
|
|
13
|
-
],
|
|
14
|
-
"affectedUsers": [
|
|
15
|
-
"使用2.0流程设计器、只读流程图、节点列表和AI改图预览的应用。"
|
|
16
|
-
],
|
|
17
|
-
"upgradeSteps": [
|
|
18
|
-
"应用使用本轮精确根包版本及其锁定依赖组合,不手工混装物理包;目标平台先消费同源正式SDK并通过兼容预检。",
|
|
19
|
-
"发布前保留未保存草稿,部署后核对原流程节点和绑定,再按真实管理员、审批人和发起人验收。"
|
|
20
|
-
],
|
|
21
|
-
"knownLimitations": [
|
|
22
|
-
"没有合法中文标签或类型不兼容的历史值继续显示原始值,不会猜测或改写业务编码。",
|
|
23
|
-
"AI预览显示修复不代表模型可用;真实推理仍需单独配置平台执行服务、工作器及模型连接。",
|
|
24
|
-
"本地纯测试和受控浏览器图不替代实际站点、角色、物理鼠标或真实模型验收。"
|
|
25
|
-
],
|
|
26
|
-
"compatibility": {
|
|
27
|
-
"node": "Node.js 24 or newer for maintained toolchain",
|
|
28
|
-
"generation": "OpenXiangda V2; V1 unchanged",
|
|
29
|
-
"platform": "Requires anonymous-public/public/query-batch; each item reuses existing public policy and Native authorization"
|
|
30
|
-
},
|
|
31
|
-
"issues": [],
|
|
32
|
-
"sha256": "57283ba53d110aac43c3084bac70b23f29fecdaa4c7cdfd670840c238e80ee38",
|
|
33
|
-
"url": "https://github.com/1377385356/openxiangda/releases/tag/v2.75.2"
|
|
34
|
-
}
|
package/releases/2.75.4.json
DELETED
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"schemaVersion": "openxiangda.release-notes/v1",
|
|
3
|
-
"version": "2.75.4",
|
|
4
|
-
"status": "reviewed",
|
|
5
|
-
"title": "对齐 AppSpec 正式发布资料预算",
|
|
6
|
-
"summary": "将正式发布生命周期的 AppSpec 当前资料文件上限与公开文档中的 512 文件预算对齐,支持完整记录的大型应用通过生产晋级预检。",
|
|
7
|
-
"newFeatures": [],
|
|
8
|
-
"fixes": [
|
|
9
|
-
"生产生命周期校验使用 512 个当前 AppSpec 非资产文件上限,不再以过期的 128 文件硬编码阻断大型应用。",
|
|
10
|
-
"保留单文件、总字节、资产和上下文预算,继续拒绝超预算、非法类型和符号链接输入。"
|
|
11
|
-
],
|
|
12
|
-
"affectedUsers": [
|
|
13
|
-
"当前 AppSpec 资料超过旧 128 文件上限、但仍符合 512 文件和字节预算的 OpenXiangda V2 应用。"
|
|
14
|
-
],
|
|
15
|
-
"upgradeSteps": [
|
|
16
|
-
"使用本轮七包精确版本组合,并先执行 openxiangda check 与生产 promotion preflight。",
|
|
17
|
-
"继续完整记录应用目标、变更、设计、评审和验收,不要通过删除或隐藏活动资料规避生命周期校验。"
|
|
18
|
-
],
|
|
19
|
-
"knownLimitations": [
|
|
20
|
-
"本次修正只扩大与文档一致的当前资料文件预算,不放宽单文件、总字节、原型资产、上下文或真实验收门禁。",
|
|
21
|
-
"本地检查通过不代表目标站点的生产身份、通知、密钥和业务验收已经完成。"
|
|
22
|
-
],
|
|
23
|
-
"compatibility": {
|
|
24
|
-
"node": "Node.js 24 or newer for maintained toolchain",
|
|
25
|
-
"generation": "OpenXiangda V2; V1 unchanged",
|
|
26
|
-
"platform": "Requires the matching OpenXiangda V2 configuration compiler and compatibility preflight"
|
|
27
|
-
},
|
|
28
|
-
"issues": [],
|
|
29
|
-
"sha256": "474b635fec9ee5f30910d587fc9d293b042d67adae4666c85e6770bb0b8155de",
|
|
30
|
-
"url": "https://github.com/1377385356/openxiangda/releases/tag/v2.75.4"
|
|
31
|
-
}
|
package/releases/2.75.6.json
DELETED
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"schemaVersion": "openxiangda.release-notes/v1",
|
|
3
|
-
"version": "2.75.6",
|
|
4
|
-
"status": "reviewed",
|
|
5
|
-
"title": "OpenXiangda 2.75.6:同域名独立租户的浏览器会话协调",
|
|
6
|
-
"summary": "平台显式按应用路径绑定独立租户时,SDK 使用平台提供的范围隔离跨标签页会话通知,并为共享接口续期传递应用路由上下文。未绑定应用沿用原有平台会话。",
|
|
7
|
-
"newFeatures": [],
|
|
8
|
-
"fixes": [
|
|
9
|
-
"隔离路径绑定租户的 BroadcastChannel 与 localStorage 退出、组织切换通知,避免新旧租户页面互相失效。",
|
|
10
|
-
"共享平台接口请求和续期携带应用路由提示;身份与租户校验继续由服务端完成。",
|
|
11
|
-
"CLI 模板及官方 contracts 制品随同一源提交配对发布;编译器授权和业务语义未改变。"
|
|
12
|
-
],
|
|
13
|
-
"affectedUsers": [
|
|
14
|
-
"在同一域名不同应用路径部署独立租户的站点维护者及应用用户。"
|
|
15
|
-
],
|
|
16
|
-
"compatibility": {
|
|
17
|
-
"node": "Node.js 24 or newer for maintained toolchain",
|
|
18
|
-
"generation": "OpenXiangda V2; unbound and V1 session coordination unchanged",
|
|
19
|
-
"platform": "需要支持应用入口绑定、独立平台 Cookie 与 openxiangda-platform-session-scope 元数据的配套平台。平台消费同源 openxiangda-contracts 2.95.6 制品。",
|
|
20
|
-
"releaseChannels": "latest / stable-v2"
|
|
21
|
-
},
|
|
22
|
-
"upgradeSteps": [
|
|
23
|
-
"部署兼容 SDK 的应用前端并保留成功 TEST 运行;正式复用该不可变版本。",
|
|
24
|
-
"随后在配套平台显式配置精确 host、应用编码与租户编码绑定;不修改旧域名归属,不合并账号或目录。",
|
|
25
|
-
"分别验证新旧登录、续期、退出、跨标签页及真实钉钉回调;包发布不代表现场业务验收。"
|
|
26
|
-
],
|
|
27
|
-
"knownLimitations": [
|
|
28
|
-
"路径隔离保留独立登录态,但不同路径仍属于同一浏览器 origin,并非跨来源脚本安全隔离。",
|
|
29
|
-
"旧 SDK 会忽略新增范围元数据;必须先更新相关前端再启用独立租户入口。",
|
|
30
|
-
"免登仍要求对应租户的真实钉钉配置与用户身份,不会继承其他租户账号。"
|
|
31
|
-
],
|
|
32
|
-
"issues": [],
|
|
33
|
-
"sha256": "4af73277009cb3b1fbaef52ba5c5a6d626b3712ca95784fae852594f356867d8",
|
|
34
|
-
"url": "https://github.com/1377385356/openxiangda/releases/tag/v2.75.6"
|
|
35
|
-
}
|
package/releases/2.75.8.json
DELETED
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"schemaVersion": "openxiangda.release-notes/v1",
|
|
3
|
-
"version": "2.75.8",
|
|
4
|
-
"status": "reviewed",
|
|
5
|
-
"title": "OpenXiangda 2.75.8:流程画布分组配置与部门主管取人",
|
|
6
|
-
"summary": "流程节点采用审批人、审批操作和更多设置三个分组;部门主管明确区分发起人所属部门与表单部门,退回按节点配置,普通流转在画布上修改。",
|
|
7
|
-
"newFeatures": [
|
|
8
|
-
"画布提供节点拖动移动及键盘等价操作,普通出口改接前校验循环、可达性与并行边界。"
|
|
9
|
-
],
|
|
10
|
-
"fixes": [
|
|
11
|
-
"合并重复的角色来源展示,完整保留原人员范围、人数限制与未知规则。",
|
|
12
|
-
"部门主管按应用允许的部门依据、表单字段及层级配置,缺少主管不扩大人员范围。",
|
|
13
|
-
"审批操作折叠展示,退回规则归属当前节点;Tab切换保留未保存输入并定位校验错误。",
|
|
14
|
-
"打开侧栏后保留可用画布区域,防止节点被配置面板遮挡。",
|
|
15
|
-
"包含发起单位组织上下文及部门主管提交预检契约,需配套平台后端。"
|
|
16
|
-
],
|
|
17
|
-
"affectedUsers": [
|
|
18
|
-
"维护V2审批流程和部门主管节点的应用管理员。"
|
|
19
|
-
],
|
|
20
|
-
"compatibility": {
|
|
21
|
-
"node": "Node.js 24 or newer",
|
|
22
|
-
"generation": "V2 only; V1 unchanged",
|
|
23
|
-
"platform": "需要配套 contracts 2.95.7 及先收集组织要求再解析审批人的平台后端。",
|
|
24
|
-
"releaseChannels": "latest / stable-v2"
|
|
25
|
-
},
|
|
26
|
-
"upgradeSteps": [
|
|
27
|
-
"先核对目标平台共享编译器与本发行配套,再部署应用TEST。",
|
|
28
|
-
"声明允许使用的部门字段和主管层级;真实角色验证后按原成功TEST版本晋级。"
|
|
29
|
-
],
|
|
30
|
-
"knownLimitations": [
|
|
31
|
-
"已受理命令保留原流程版本,不能静默迁移。",
|
|
32
|
-
"缺少主管必须维护真实组织配置,不会自动指定其他人员。"
|
|
33
|
-
],
|
|
34
|
-
"issues": [],
|
|
35
|
-
"sha256": "d5367f1d66960c744d3bb55d94818a200c158e9ec3252fd0b78d9a5c2640e32e",
|
|
36
|
-
"url": "https://github.com/1377385356/openxiangda/releases/tag/v2.75.8"
|
|
37
|
-
}
|