openxiangda 2.70.1 → 2.71.0

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 +2 -4
  4. package/dist/browser/components/workflow/WorkflowDesigner.js.map +1 -1
  5. package/dist/browser/platform-client.d.ts +7 -1
  6. package/dist/browser/platform-client.d.ts.map +1 -1
  7. package/dist/browser/platform-client.js +16 -1
  8. package/dist/browser/platform-client.js.map +1 -1
  9. package/dist/nest.d.ts +2 -2
  10. package/dist/nest.d.ts.map +1 -1
  11. package/dist/nest.js +1 -1
  12. package/dist/nest.js.map +1 -1
  13. package/dist/react.d.ts +2 -2
  14. package/dist/react.d.ts.map +1 -1
  15. package/dist/react.js +1 -1
  16. package/dist/react.js.map +1 -1
  17. package/documentation/backend.md +10 -0
  18. package/documentation/getting-started.md +7 -7
  19. package/documentation/manifest.json +4 -4
  20. package/documentation/multi-organization.md +10 -0
  21. package/package.json +26 -22
  22. package/releases/2.71.0.json +38 -0
  23. package/skills/manifest.json +1 -1
  24. package/skills/openxiangda-v2/SKILL.md +4 -4
  25. package/skills/openxiangda-v2/references/backend.md +10 -0
  26. package/skills/openxiangda-v2/references/getting-started.md +7 -7
  27. package/skills/openxiangda-v2/references/multi-organization.md +10 -0
  28. package/releases/2.63.0.json +0 -45
  29. package/releases/2.63.1.json +0 -46
  30. package/releases/2.66.0.json +0 -29
  31. package/releases/2.66.1.json +0 -29
  32. package/releases/2.66.2.json +0 -29
  33. package/releases/2.67.0.json +0 -33
  34. package/releases/2.67.1.json +0 -35
  35. package/releases/2.67.2.json +0 -34
  36. package/releases/2.68.2.json +0 -33
  37. package/releases/2.70.0.json +0 -35
  38. package/releases/2.70.1.json +0 -34
@@ -1 +1 @@
1
- {"version":3,"file":"react.d.ts","sourceRoot":"","sources":["../src/react.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"react.d.ts","sourceRoot":"","sources":["../src/react.ts"],"names":[],"mappings":"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"}
package/dist/react.js CHANGED
@@ -20,7 +20,7 @@ export * from './browser/admin-shell';
20
20
  export * from './browser/resource-definitions';
21
21
  export * from './browser/workflow-definitions';
22
22
  export * from './browser/workflow-launch';
23
- export { OpenXiangdaPlatformRequestError, platformRequestDiagnostic, resolveBusinessProcessOriginal, createResourceFormDraftClient, createWorkflowFormDraftClient, loadWorkflowTaskDrafts, queryFieldUserCandidates, queryWorkflowTaskUserCandidates, saveWorkflowTaskDraft, removeWorkflowTaskDraft, initiateWorkflowTaskFileUpload, loadWorkflowTaskFileUploadPlan, completeWorkflowTaskFileUpload, createAnonymousPublicClient, applicationFileIntentUrl, executeApplicationOperation, issueApplicationFileIntent, loadApplicationOperationSurfaces, loadSubjectReadSurface, loadWorkflowRecordHistory, loadNativeRecordPrint, loadNativeRecordComments, createNativeRecordComment, loadNativeRecordCommentReceipt, previewNativeRecordDeletion, deleteNativeRecordWithPreview, recoverNativeRecordDeletion, logoutCurrentUser, loadCurrentOrganizationMemberships, loadCurrentDirectoryRoleFacts, switchCurrentOrganization, } from './browser/platform-client';
23
+ export { OpenXiangdaPlatformRequestError, platformRequestDiagnostic, resolveBusinessProcessOriginal, createResourceFormDraftClient, createWorkflowFormDraftClient, loadWorkflowTaskDrafts, queryFieldUserCandidates, queryWorkflowTaskUserCandidates, saveWorkflowTaskDraft, removeWorkflowTaskDraft, initiateWorkflowTaskFileUpload, loadWorkflowTaskFileUploadPlan, completeWorkflowTaskFileUpload, createAnonymousPublicClient, applicationFileIntentUrl, executeApplicationOperation, issueApplicationFileIntent, loadApplicationOperationSurfaces, loadSubjectReadSurface, loadWorkflowRecordHistory, loadNativeRecordPrint, loadNativeRecordComments, createNativeRecordComment, loadNativeRecordCommentReceipt, previewNativeRecordDeletion, deleteNativeRecordWithPreview, recoverNativeRecordDeletion, logoutCurrentUser, loadCurrentOrganizationMemberships, loadCurrentDirectoryRoleFacts, loadCurrentDirectoryClasses, switchCurrentOrganization, } from './browser/platform-client';
24
24
  export * from './browser/components/resource/GeneratedResourceCrud';
25
25
  export { ResourceRecordComments } from './browser/components/resource/ResourceRecordComments';
26
26
  export { ResourceRecordDeletion } from './browser/components/resource/ResourceRecordDeletion';
package/dist/react.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"react.js","sourceRoot":"","sources":["../src/react.ts"],"names":[],"mappings":"AAAA,OAAO,iCAAiC,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC;AAC1C,OAAO,EAAE,8BAA8B,EAAE,MAAM,2BAA2B,CAAC;AAG3E,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,wBAAwB,CAAC;AACvC,cAAc,0CAA0C,CAAC;AACzD,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,mBAAmB,CAAC;AAClC,cAAc,0BAA0B,CAAC;AACzC,OAAO,EAAE,sBAAsB,EAAmC,MAAM,4BAA4B,CAAC;AACrG,cAAc,kCAAkC,CAAC;AACjD,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,2BAA2B,CAAC;AAC1C,OAAO,EACL,+BAA+B,EAC/B,yBAAyB,EAEzB,8BAA8B,EAC9B,6BAA6B,EAC7B,6BAA6B,EAC7B,sBAAsB,EACtB,wBAAwB,EACxB,+BAA+B,EAC/B,qBAAqB,EACrB,uBAAuB,EACvB,8BAA8B,EAC9B,8BAA8B,EAC9B,8BAA8B,EAG9B,2BAA2B,EAC3B,wBAAwB,EACxB,2BAA2B,EAC3B,0BAA0B,EAC1B,gCAAgC,EAChC,sBAAsB,EACtB,yBAAyB,EACzB,qBAAqB,EACrB,wBAAwB,EACxB,yBAAyB,EACzB,8BAA8B,EAC9B,2BAA2B,EAC3B,6BAA6B,EAC7B,2BAA2B,EAC3B,iBAAiB,EACjB,kCAAkC,EAClC,6BAA6B,EAC7B,yBAAyB,GAG1B,MAAM,2BAA2B,CAAC;AA0BnC,cAAc,qDAAqD,CAAC;AACpE,OAAO,EAAE,sBAAsB,EAAE,MAAM,sDAAsD,CAAC;AAC9F,OAAO,EAAE,sBAAsB,EAAE,MAAM,sDAAsD,CAAC;AAC9F,OAAO,EAAE,0BAA0B,EAAE,MAAM,0DAA0D,CAAC;AACtG,cAAc,oDAAoD,CAAC;AACnE,cAAc,qDAAqD,CAAC;AACpE,cAAc,qDAAqD,CAAC;AACpE,cAAc,+CAA+C,CAAC;AAC9D,cAAc,+DAA+D,CAAC;AAC9E,cAAc,+DAA+D,CAAC;AAC9E,cAAc,gEAAgE,CAAC;AAC/E,cAAc,yDAAyD,CAAC;AACxE,OAAO,EAAE,6BAA6B,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,gCAAgC,EAAE,qCAAqC,EAC9J,iCAAiC,EAAE,iCAAiC,EAAE,MAAM,2BAA2B,CAAC;AAC1G,cAAc,2DAA2D,CAAC;AAC1E,cAAc,qCAAqC,CAAC;AACpD,cAAc,qDAAqD,CAAC;AAGpE,cAAc,iEAAiE,CAAC;AAEhF,cAAc,0DAA0D,CAAC;AACzE,cAAc,gDAAgD,CAAC"}
1
+ {"version":3,"file":"react.js","sourceRoot":"","sources":["../src/react.ts"],"names":[],"mappings":"AAAA,OAAO,iCAAiC,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC;AAC1C,OAAO,EAAE,8BAA8B,EAAE,MAAM,2BAA2B,CAAC;AAG3E,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,wBAAwB,CAAC;AACvC,cAAc,0CAA0C,CAAC;AACzD,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,mBAAmB,CAAC;AAClC,cAAc,0BAA0B,CAAC;AACzC,OAAO,EAAE,sBAAsB,EAAmC,MAAM,4BAA4B,CAAC;AACrG,cAAc,kCAAkC,CAAC;AACjD,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,2BAA2B,CAAC;AAC1C,OAAO,EACL,+BAA+B,EAC/B,yBAAyB,EAEzB,8BAA8B,EAC9B,6BAA6B,EAC7B,6BAA6B,EAC7B,sBAAsB,EACtB,wBAAwB,EACxB,+BAA+B,EAC/B,qBAAqB,EACrB,uBAAuB,EACvB,8BAA8B,EAC9B,8BAA8B,EAC9B,8BAA8B,EAG9B,2BAA2B,EAC3B,wBAAwB,EACxB,2BAA2B,EAC3B,0BAA0B,EAC1B,gCAAgC,EAChC,sBAAsB,EACtB,yBAAyB,EACzB,qBAAqB,EACrB,wBAAwB,EACxB,yBAAyB,EACzB,8BAA8B,EAC9B,2BAA2B,EAC3B,6BAA6B,EAC7B,2BAA2B,EAC3B,iBAAiB,EACjB,kCAAkC,EAClC,6BAA6B,EAC7B,2BAA2B,EAC3B,yBAAyB,GAG1B,MAAM,2BAA2B,CAAC;AA0BnC,cAAc,qDAAqD,CAAC;AACpE,OAAO,EAAE,sBAAsB,EAAE,MAAM,sDAAsD,CAAC;AAC9F,OAAO,EAAE,sBAAsB,EAAE,MAAM,sDAAsD,CAAC;AAC9F,OAAO,EAAE,0BAA0B,EAAE,MAAM,0DAA0D,CAAC;AACtG,cAAc,oDAAoD,CAAC;AACnE,cAAc,qDAAqD,CAAC;AACpE,cAAc,qDAAqD,CAAC;AACpE,cAAc,+CAA+C,CAAC;AAC9D,cAAc,+DAA+D,CAAC;AAC9E,cAAc,+DAA+D,CAAC;AAC9E,cAAc,gEAAgE,CAAC;AAC/E,cAAc,yDAAyD,CAAC;AACxE,OAAO,EAAE,6BAA6B,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,gCAAgC,EAAE,qCAAqC,EAC9J,iCAAiC,EAAE,iCAAiC,EAAE,MAAM,2BAA2B,CAAC;AAC1G,cAAc,2DAA2D,CAAC;AAC1E,cAAc,qCAAqC,CAAC;AACpD,cAAc,qDAAqD,CAAC;AAGpE,cAAc,iEAAiE,CAAC;AAEhF,cAAc,0DAA0D,CAAC;AACzE,cAAc,gDAAgD,CAAC"}
@@ -642,3 +642,13 @@ platformAccess: { dataMutations: [
642
642
 
643
643
  可信 Scheduler/补偿 Worker:给可供后台执行的同一具名操作 `dataMutations` 条目加 `allowRuntimeWorker: true`,并使用
644
644
  `await applicationData.withWorkerAction('callback-operation-code', () => callbackService.handle(originalInput))`。此作用域中的 `.transaction()` 自动携带当前 RuntimeLeaseService 的持有者与租约证明;平台在原事务锁定当前运行凭据、部署/Head 和该后台租约,并逐资源拒绝没有该 opt-in 的条目。无需 HTTP 请求或用户身份;没有活动租约、普通 OAuth 或已过期/被替代的实例仍被拒绝。该作用域可调用现有 CallbackService、DueSweep 等服务,整批操作同事务,保持原业务幂等键。
645
+
646
+ ## 数据库接受时刻与批量前置条件 {#database-accepted-time}
647
+
648
+ 需要把申请时刻和冷却期限写入同一原子事务时,具名动作声明 platformAccess.transactionTime: { mode: 'database-accepted' },并启用 dataCommands: { mode: 'recoverable-native' }。从 openxiangda/nest 导入 databaseAcceptedTime,写 requestedAt: databaseAcceptedTime()、nextAllowedAt: databaseAcceptedTime(30 * 60 * 1000)。这是事务值表达式;只有已声明、可写、秒精度的顶级datetime字段由Native解析,JSON或事件载荷里的同形内容保持普通值。普通CRUD、事件worker、队列及调用方时钟不取得这项能力。
649
+
650
+ 所有已有update/delete/increment目标必须在同一事务有record-match、record-assert或record-set-match锁守卫。平台在全部显式锁和前置条件准备完成后只取一次数据库clock_timestamp,动态守卫、生成字段与回执evaluatedAt使用同一时刻。偏移为整数,绝对值最多366天;不接受SQL、调用方时间或身份覆盖。原结果恢复返回原回执,不重新取当前时间。
651
+
652
+ 同一批记录需要共同字段/时间条件时,可再声明 transactionTime.recordSetAssertions: true;record-set-match.assertions 使用最多20项现有value/field/database-now条件,对所有已锁、可读且版本匹配的行执行。最多500行、20个总守卫、单资源一组的预算保持。失败整体回滚,不能将隐藏字段或actor-authority塞入assertions。该入口仅供具名交互动作,事件worker保留原守卫白名单。
653
+
654
+ 编译分别要求data.transaction-time-values 1.0.0及(显式使用时)data.record-set-assertions 1.0.0;需要正式匹配的SDK和目标平台,源码构建不等于现场可用。
@@ -68,10 +68,10 @@ MCP 服务随项目根包一起安装,AI 客户端的 stdio 连接仍需配置
68
68
  以下命令的版本占位符由随包资料替换为该根包的精确版本。网站源码阅读者应先确认要使用的发行版本。
69
69
 
70
70
  ```bash
71
- pnpm dlx openxiangda@2.70.1 skill install --force
72
- pnpm dlx openxiangda@2.70.1 auth status --base-url <平台地址> --json
73
- pnpm dlx openxiangda@2.70.1 login --cwd my-app --base-url https://platform.example.com
74
- pnpm dlx openxiangda@2.70.1 create my-app --base-url https://platform.example.com
71
+ pnpm dlx openxiangda@2.71.0 skill install --force
72
+ pnpm dlx openxiangda@2.71.0 auth status --base-url <平台地址> --json
73
+ pnpm dlx openxiangda@2.71.0 login --cwd my-app --base-url https://platform.example.com
74
+ pnpm dlx openxiangda@2.71.0 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.70.1 auth status --base-url <平台> --json
225
- pnpm dlx openxiangda@2.70.1 source resolve <仓库URL> --base-url <平台> --json
226
- pnpm dlx openxiangda@2.70.1 source clone <仓库URL> <新目录> --base-url <平台> --json
224
+ pnpm dlx openxiangda@2.71.0 auth status --base-url <平台> --json
225
+ pnpm dlx openxiangda@2.71.0 source resolve <仓库URL> --base-url <平台> --json
226
+ pnpm dlx openxiangda@2.71.0 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.70.1",
3
+ "version": "2.71.0",
4
4
  "topics": [
5
5
  {
6
6
  "id": "getting-started",
7
7
  "title": "安装与开始开发",
8
8
  "file": "getting-started.md",
9
- "sha256": "00e63ce63d826a42af684680b6c99f25877aa7157c64f287aab7cdcdbfd766dc"
9
+ "sha256": "b47ff344309bf33094b7f00247dfdacc5139b444ed04baeb8dcf4907354c7a55"
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": "1000d6e9eefb31c4a4659e0a074f5c836b4ccc7652d714dd236f7a67b345566d"
87
+ "sha256": "b18dd7f7d2addb5e7603f6c5635375f67ea672a061349a36278505f8e173dcc7"
88
88
  },
89
89
  {
90
90
  "id": "public-access",
@@ -102,7 +102,7 @@
102
102
  "id": "backend",
103
103
  "title": "按需后端与业务动作",
104
104
  "file": "backend.md",
105
- "sha256": "0289841d9c19ffaff44a6eff0a5d5ece2561bca9e3623392bdea647abed306ed"
105
+ "sha256": "7c776eb18511e7dfcb58acbc20f7cc296871ca6360581ee72413c3aca4439fbf"
106
106
  },
107
107
  {
108
108
  "id": "agent-cards",
@@ -192,3 +192,13 @@ data: {
192
192
  5. 最终组织业务验收覆盖同一人多组织、同一来源 ID 跨校、教师/家长来源区分、班主任多个班级、无 unionId 学生、同步未完成、错误 corpId、无权限上级成员和学校之间越权拒绝。只测统计页正常展示不能证明这些边界。
193
193
 
194
194
  专题可用章节为 `scenario`、`availability`、`http-contracts`、`directory-facts`、`authorization`、`entry-sync`、`verification`。MCP 可按 `docs_read({ topic: 'multi-organization', section: 'http-contracts' })` 只读相关部分,资料 URI 为 `openxiangda://docs/multi-organization`。资料升级与 Skill/MCP 刷新方式见[版本升级](./upgrading.md)。
195
+
196
+ ## 本人的家校班级投影 {#current-classes}
197
+
198
+ 使用支持 directory.current-classes 1.0.0 的正式平台/SDK组合,可从 openxiangda/react 调用 loadCurrentDirectoryClasses({ limit: 100, after, signal }),读取当前登录人、当前工作学校的来源班级名称、当前组织规范名称organizationName、校区、学段、年级与本人来源角色。单页最多200项;继续页由nextCursor决定。组织切换废弃在途响应,不把旧学校表单选择器带到新学校。
199
+
200
+ DirectoryClassSummary.directoryClassId 是平台目录 UUID,sourceClassId 是来源班级范围字符串;都不能当作 Native resource-ref。投影不包含人员、unionId、raw、安装秘密,也不代表应用写权限。管理员不会自动获得所有来源班级。
201
+
202
+ 具名后端动作声明 platformAccess: { directoryClasses: { maxIds: 20 } },调用 OpenXiangdaBusinessDirectoryService.currentClasses(sourceClassIds) 精确解析1..maxIds个来源班级。同一动作证明中的人和工作组织由平台决定,不能传入其他userId/corpId/organizationId。缺少来源事实、工作组织、活动成员或任一选择不可读时整体拒绝;事务还需 actor-authority 和业务行边界复核。该能力是只读目录,无目录同步/管理授权。
203
+
204
+ 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方法存在就报告接入完成。
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "openxiangda",
3
- "version": "2.70.1",
3
+ "version": "2.71.0",
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.5",
99
- "openxiangda-contracts": "2.91.0",
100
- "openxiangda-devkit-core": "2.69.0",
98
+ "openxiangda-cli": "2.11.7",
99
+ "openxiangda-contracts": "2.92.0",
100
+ "openxiangda-devkit-core": "2.69.2",
101
101
  "openxiangda-legacy": "npm:openxiangda@1.0.269",
102
- "openxiangda-mcp": "2.2.18",
103
- "openxiangda-nest": "2.21.0",
104
- "openxiangda-skill-kit": "2.3.120",
102
+ "openxiangda-mcp": "2.2.20",
103
+ "openxiangda-nest": "2.22.0",
104
+ "openxiangda-skill-kit": "2.3.122",
105
105
  "xlsx": "https://github.com/1377385356/openxiangda/releases/download/vendor-mirror/xlsx-0.20.3.tgz"
106
106
  },
107
107
  "peerDependencies": {
@@ -167,37 +167,41 @@
167
167
  },
168
168
  "openxiangdaRelease": {
169
169
  "schemaVersion": "openxiangda.release-notes/v1",
170
- "version": "2.70.1",
170
+ "version": "2.71.0",
171
171
  "status": "reviewed",
172
- "title": "业务待办通知与旧审批当前节点接续",
173
- "summary": "应用事务可通过签名事件创建和结束真实待办;管理员可使用正式迁移回执将旧审批接续到原当前节点,保留原申请人与审批轮次。",
172
+ "title": "本人班级目录与数据库事务时间",
173
+ "summary": "具名动作和浏览器复用平台本人工作组织的家校班级投影,并由Native锁后的数据库时刻派生申请及冷却时间。",
174
174
  "newFeatures": [
175
- "事件订阅显式声明 business-task 与任务代码清单,Nest sendTaskFromEvent 投影原事件并复用平台任务中心、通知发件箱及结束状态。",
176
- "CLI 与 MCP 共享 workflows.legacy-prepare、workflows.legacy-apply、workflows.legacy-receipt 有界管理操作;旧审批历史作为来源事实保留。"
175
+ "loadCurrentDirectoryClasses读取当前用户/工作组织的班级、学校规范名称、校区、学段、年级和本人来源角色,组织切换丢弃迟到响应。",
176
+ "具名Nest动作显式声明directoryClasses.maxIds并精确解析1至20个来源班级,任一不可见时整体拒绝。",
177
+ "显式transactionTime动作使用databaseAcceptedTime写入datetime和最多366天整数偏移,原事务回执恢复不重新取时间。",
178
+ "可选recordSetAssertions对单组最多500个锁定且可读的记录执行公共字段或数据库时间条件,保留20总守卫预算。"
177
179
  ],
178
180
  "fixes": [
179
- "声明检查器与打包器完整保留待办任务代码清单,应用与平台编译器共同协商 notification-hub-v2.event-tasks。"
181
+ "CLI模板及随包中文资料与根包同批升级,七包组合由Changesets确定。",
182
+ "应用声明校验及双bundle保留班级目录与事务时间权限,统一openxiangda/nest入口导出数据库时间值及类型;真实应用消费与ESM/CJS编译贯通验证。"
180
183
  ],
181
184
  "affectedUsers": [
182
- "需要预约审批、排队分配、结算确认等业务待办,或需接入有可靠来源证明的在途旧审批的 V2 应用。"
185
+ "使用家校来源班级、多组织身份或精确申请/冷却时刻的V2应用。"
183
186
  ],
184
187
  "upgradeSteps": [
185
- "安装精确 openxiangda 2.70.1 组合并重新生成契约;先部署同源平台 contracts、后端及旧审批接续 SQL。",
186
- "业务状态与不可变待办事件同事务;旧审批先正式导入原业务单,再准备和执行原节点接续,未知结果查询原回执。"
188
+ "安装同一正式发行七包;平台维护者固定精确源码、contracts纯校验器和管理台seal后通过官方发行部署。",
189
+ "为需要的新动作显式声明目录/时间能力;所有已有写目标保留同ID的锁守卫及CAS。",
190
+ "通过目标预检后接入;真实组织同步、实际用户权限和PC/手机业务验收分别执行。"
187
191
  ],
188
192
  "knownLimitations": [
189
- "本次 SDK 发行不代表目标平台或应用已部署,也不证明真实角色办理或外部供应方送达。",
190
- "旧审批接续仅支持可靠身份、完整线性历史、手动审批和内部当前分派;不重放旧通知,不创建替代账号或伪造原申请人登录。",
191
- "真实消息通道须沿既有发送授权启用;新增任务能力不授权批量补发历史通知。"
193
+ "本地及隔离PostgreSQL验证不代表站点已更新或真实用户业务通过。",
194
+ "目录读取不授予应用写权限,不将校区当作独立企业,不提供其他用户、unionId或安装秘密。",
195
+ "事务时间值仅供具名交互动作的秒精度datetime字段;普通CRUD、事件worker及队列不取得该能力。"
192
196
  ],
193
197
  "compatibility": {
194
198
  "node": "Node.js 24 or newer for maintained toolchain",
195
199
  "generation": "OpenXiangda V2; V1 unchanged",
196
- "platform": "须配套正式 contracts、notification-hub-v2.event-tasks 后端及 AddWorkflowLegacyAdoptionsV2 SQL"
200
+ "platform": "directory.current-classes 1.0.0; data.transaction-time-values 1.0.0; opted-in data.record-set-assertions 1.0.0; exact paired contracts"
197
201
  },
198
202
  "issues": [],
199
- "sha256": "d44db59da451ea6bc39a953cb5cefcdfc88241e0129bcdfb6a2d539424b166db",
200
- "url": "https://github.com/1377385356/openxiangda/releases/tag/v2.70.1"
203
+ "sha256": "b034b4579f6640556cf5592e8908acd2c05922b6692d24dfe2dc2b077c913995",
204
+ "url": "https://github.com/1377385356/openxiangda/releases/tag/v2.71.0"
201
205
  },
202
206
  "scripts": {
203
207
  "build": "node ../../scripts/prune-package-dist.mjs && tsc -p tsconfig.json && node scripts/copy-assets.mjs",
@@ -0,0 +1,38 @@
1
+ {
2
+ "schemaVersion": "openxiangda.release-notes/v1",
3
+ "version": "2.71.0",
4
+ "status": "reviewed",
5
+ "title": "本人班级目录与数据库事务时间",
6
+ "summary": "具名动作和浏览器复用平台本人工作组织的家校班级投影,并由Native锁后的数据库时刻派生申请及冷却时间。",
7
+ "newFeatures": [
8
+ "loadCurrentDirectoryClasses读取当前用户/工作组织的班级、学校规范名称、校区、学段、年级和本人来源角色,组织切换丢弃迟到响应。",
9
+ "具名Nest动作显式声明directoryClasses.maxIds并精确解析1至20个来源班级,任一不可见时整体拒绝。",
10
+ "显式transactionTime动作使用databaseAcceptedTime写入datetime和最多366天整数偏移,原事务回执恢复不重新取时间。",
11
+ "可选recordSetAssertions对单组最多500个锁定且可读的记录执行公共字段或数据库时间条件,保留20总守卫预算。"
12
+ ],
13
+ "fixes": [
14
+ "CLI模板及随包中文资料与根包同批升级,七包组合由Changesets确定。",
15
+ "应用声明校验及双bundle保留班级目录与事务时间权限,统一openxiangda/nest入口导出数据库时间值及类型;真实应用消费与ESM/CJS编译贯通验证。"
16
+ ],
17
+ "affectedUsers": [
18
+ "使用家校来源班级、多组织身份或精确申请/冷却时刻的V2应用。"
19
+ ],
20
+ "upgradeSteps": [
21
+ "安装同一正式发行七包;平台维护者固定精确源码、contracts纯校验器和管理台seal后通过官方发行部署。",
22
+ "为需要的新动作显式声明目录/时间能力;所有已有写目标保留同ID的锁守卫及CAS。",
23
+ "通过目标预检后接入;真实组织同步、实际用户权限和PC/手机业务验收分别执行。"
24
+ ],
25
+ "knownLimitations": [
26
+ "本地及隔离PostgreSQL验证不代表站点已更新或真实用户业务通过。",
27
+ "目录读取不授予应用写权限,不将校区当作独立企业,不提供其他用户、unionId或安装秘密。",
28
+ "事务时间值仅供具名交互动作的秒精度datetime字段;普通CRUD、事件worker及队列不取得该能力。"
29
+ ],
30
+ "compatibility": {
31
+ "node": "Node.js 24 or newer for maintained toolchain",
32
+ "generation": "OpenXiangda V2; V1 unchanged",
33
+ "platform": "directory.current-classes 1.0.0; data.transaction-time-values 1.0.0; opted-in data.record-set-assertions 1.0.0; exact paired contracts"
34
+ },
35
+ "issues": [],
36
+ "sha256": "b034b4579f6640556cf5592e8908acd2c05922b6692d24dfe2dc2b077c913995",
37
+ "url": "https://github.com/1377385356/openxiangda/releases/tag/v2.71.0"
38
+ }
@@ -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": "a49037b93ba906515ad5b6d274b5f869d593bde7667e91c9d00fe1a9958e6b27"
7
+ "sha256": "c27754d3b2c11d245e19a259dacb73542e3b62770fef2469bdd29b5409765c29"
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.70.1 auth status --cwd <应用目录> --base-url <平台地址> --json
44
- pnpm dlx openxiangda@2.70.1 login --cwd <应用目录> --base-url <平台地址>
45
- pnpm dlx openxiangda@2.70.1 create <应用目录> --base-url <同一平台地址>
46
- pnpm dlx openxiangda@2.70.1 skill install --force
43
+ pnpm dlx openxiangda@2.71.0 auth status --cwd <应用目录> --base-url <平台地址> --json
44
+ pnpm dlx openxiangda@2.71.0 login --cwd <应用目录> --base-url <平台地址>
45
+ pnpm dlx openxiangda@2.71.0 create <应用目录> --base-url <同一平台地址>
46
+ pnpm dlx openxiangda@2.71.0 skill install --force
47
47
  ```
48
48
 
49
49
  创建前把产品要求的目标平台明确带入命令,不从旧登录态推断站点。已有工作区从原绑定恢复,平台不一致时先解决登录与目标,不改 link 文件跨站创建。
@@ -642,3 +642,13 @@ platformAccess: { dataMutations: [
642
642
 
643
643
  可信 Scheduler/补偿 Worker:给可供后台执行的同一具名操作 `dataMutations` 条目加 `allowRuntimeWorker: true`,并使用
644
644
  `await applicationData.withWorkerAction('callback-operation-code', () => callbackService.handle(originalInput))`。此作用域中的 `.transaction()` 自动携带当前 RuntimeLeaseService 的持有者与租约证明;平台在原事务锁定当前运行凭据、部署/Head 和该后台租约,并逐资源拒绝没有该 opt-in 的条目。无需 HTTP 请求或用户身份;没有活动租约、普通 OAuth 或已过期/被替代的实例仍被拒绝。该作用域可调用现有 CallbackService、DueSweep 等服务,整批操作同事务,保持原业务幂等键。
645
+
646
+ ## 数据库接受时刻与批量前置条件 {#database-accepted-time}
647
+
648
+ 需要把申请时刻和冷却期限写入同一原子事务时,具名动作声明 platformAccess.transactionTime: { mode: 'database-accepted' },并启用 dataCommands: { mode: 'recoverable-native' }。从 openxiangda/nest 导入 databaseAcceptedTime,写 requestedAt: databaseAcceptedTime()、nextAllowedAt: databaseAcceptedTime(30 * 60 * 1000)。这是事务值表达式;只有已声明、可写、秒精度的顶级datetime字段由Native解析,JSON或事件载荷里的同形内容保持普通值。普通CRUD、事件worker、队列及调用方时钟不取得这项能力。
649
+
650
+ 所有已有update/delete/increment目标必须在同一事务有record-match、record-assert或record-set-match锁守卫。平台在全部显式锁和前置条件准备完成后只取一次数据库clock_timestamp,动态守卫、生成字段与回执evaluatedAt使用同一时刻。偏移为整数,绝对值最多366天;不接受SQL、调用方时间或身份覆盖。原结果恢复返回原回执,不重新取当前时间。
651
+
652
+ 同一批记录需要共同字段/时间条件时,可再声明 transactionTime.recordSetAssertions: true;record-set-match.assertions 使用最多20项现有value/field/database-now条件,对所有已锁、可读且版本匹配的行执行。最多500行、20个总守卫、单资源一组的预算保持。失败整体回滚,不能将隐藏字段或actor-authority塞入assertions。该入口仅供具名交互动作,事件worker保留原守卫白名单。
653
+
654
+ 编译分别要求data.transaction-time-values 1.0.0及(显式使用时)data.record-set-assertions 1.0.0;需要正式匹配的SDK和目标平台,源码构建不等于现场可用。
@@ -68,10 +68,10 @@ MCP 服务随项目根包一起安装,AI 客户端的 stdio 连接仍需配置
68
68
  以下命令的版本占位符由随包资料替换为该根包的精确版本。网站源码阅读者应先确认要使用的发行版本。
69
69
 
70
70
  ```bash
71
- pnpm dlx openxiangda@2.70.1 skill install --force
72
- pnpm dlx openxiangda@2.70.1 auth status --base-url <平台地址> --json
73
- pnpm dlx openxiangda@2.70.1 login --cwd my-app --base-url https://platform.example.com
74
- pnpm dlx openxiangda@2.70.1 create my-app --base-url https://platform.example.com
71
+ pnpm dlx openxiangda@2.71.0 skill install --force
72
+ pnpm dlx openxiangda@2.71.0 auth status --base-url <平台地址> --json
73
+ pnpm dlx openxiangda@2.71.0 login --cwd my-app --base-url https://platform.example.com
74
+ pnpm dlx openxiangda@2.71.0 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.70.1 auth status --base-url <平台> --json
225
- pnpm dlx openxiangda@2.70.1 source resolve <仓库URL> --base-url <平台> --json
226
- pnpm dlx openxiangda@2.70.1 source clone <仓库URL> <新目录> --base-url <平台> --json
224
+ pnpm dlx openxiangda@2.71.0 auth status --base-url <平台> --json
225
+ pnpm dlx openxiangda@2.71.0 source resolve <仓库URL> --base-url <平台> --json
226
+ pnpm dlx openxiangda@2.71.0 source clone <仓库URL> <新目录> --base-url <平台> --json
227
227
  ```
228
228
 
229
229
  登录缺失或站点不匹配时,先按该平台执行 login。resolve 根据平台已经登记的绑定返回
@@ -192,3 +192,13 @@ data: {
192
192
  5. 最终组织业务验收覆盖同一人多组织、同一来源 ID 跨校、教师/家长来源区分、班主任多个班级、无 unionId 学生、同步未完成、错误 corpId、无权限上级成员和学校之间越权拒绝。只测统计页正常展示不能证明这些边界。
193
193
 
194
194
  专题可用章节为 `scenario`、`availability`、`http-contracts`、`directory-facts`、`authorization`、`entry-sync`、`verification`。MCP 可按 `docs_read({ topic: 'multi-organization', section: 'http-contracts' })` 只读相关部分,资料 URI 为 `openxiangda://docs/multi-organization`。资料升级与 Skill/MCP 刷新方式见[版本升级](upgrading.md)。
195
+
196
+ ## 本人的家校班级投影 {#current-classes}
197
+
198
+ 使用支持 directory.current-classes 1.0.0 的正式平台/SDK组合,可从 openxiangda/react 调用 loadCurrentDirectoryClasses({ limit: 100, after, signal }),读取当前登录人、当前工作学校的来源班级名称、当前组织规范名称organizationName、校区、学段、年级与本人来源角色。单页最多200项;继续页由nextCursor决定。组织切换废弃在途响应,不把旧学校表单选择器带到新学校。
199
+
200
+ DirectoryClassSummary.directoryClassId 是平台目录 UUID,sourceClassId 是来源班级范围字符串;都不能当作 Native resource-ref。投影不包含人员、unionId、raw、安装秘密,也不代表应用写权限。管理员不会自动获得所有来源班级。
201
+
202
+ 具名后端动作声明 platformAccess: { directoryClasses: { maxIds: 20 } },调用 OpenXiangdaBusinessDirectoryService.currentClasses(sourceClassIds) 精确解析1..maxIds个来源班级。同一动作证明中的人和工作组织由平台决定,不能传入其他userId/corpId/organizationId。缺少来源事实、工作组织、活动成员或任一选择不可读时整体拒绝;事务还需 actor-authority 和业务行边界复核。该能力是只读目录,无目录同步/管理授权。
203
+
204
+ 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方法存在就报告接入完成。
@@ -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
- }