openxiangda 2.48.2 → 2.59.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (245) hide show
  1. package/README.md +1 -0
  2. package/dist/browser/AuthoritativeSelector.d.ts +4 -2
  3. package/dist/browser/AuthoritativeSelector.d.ts.map +1 -1
  4. package/dist/browser/AuthoritativeSelector.js +42 -12
  5. package/dist/browser/AuthoritativeSelector.js.map +1 -1
  6. package/dist/browser/FilePreviewPage.d.ts.map +1 -1
  7. package/dist/browser/FilePreviewPage.js +4 -0
  8. package/dist/browser/FilePreviewPage.js.map +1 -1
  9. package/dist/browser/components/administration/RoleMembershipManager.d.ts.map +1 -1
  10. package/dist/browser/components/administration/RoleMembershipManager.js +5 -5
  11. package/dist/browser/components/administration/RoleMembershipManager.js.map +1 -1
  12. package/dist/browser/components/administration/scope-applicability.d.ts +3 -0
  13. package/dist/browser/components/administration/scope-applicability.d.ts.map +1 -0
  14. package/dist/browser/components/administration/scope-applicability.js +7 -0
  15. package/dist/browser/components/administration/scope-applicability.js.map +1 -0
  16. package/dist/browser/components/platform-fields/ConstrainedUserField.d.ts +16 -0
  17. package/dist/browser/components/platform-fields/ConstrainedUserField.d.ts.map +1 -0
  18. package/dist/browser/components/platform-fields/ConstrainedUserField.js +140 -0
  19. package/dist/browser/components/platform-fields/ConstrainedUserField.js.map +1 -0
  20. package/dist/browser/components/platform-fields/DateTimeField.d.ts +1 -1
  21. package/dist/browser/components/platform-fields/DateTimeField.d.ts.map +1 -1
  22. package/dist/browser/components/platform-fields/DateTimeField.js +15 -8
  23. package/dist/browser/components/platform-fields/DateTimeField.js.map +1 -1
  24. package/dist/browser/components/platform-fields/ManagedMediaPlayer.d.ts +19 -0
  25. package/dist/browser/components/platform-fields/ManagedMediaPlayer.d.ts.map +1 -0
  26. package/dist/browser/components/platform-fields/ManagedMediaPlayer.js +42 -0
  27. package/dist/browser/components/platform-fields/ManagedMediaPlayer.js.map +1 -0
  28. package/dist/browser/components/platform-fields/MobileDateTimeField.d.ts +1 -1
  29. package/dist/browser/components/platform-fields/MobileDateTimeField.d.ts.map +1 -1
  30. package/dist/browser/components/platform-fields/MobileDateTimeField.js +5 -3
  31. package/dist/browser/components/platform-fields/MobileDateTimeField.js.map +1 -1
  32. package/dist/browser/components/platform-fields/MobileSelection.d.ts +3 -1
  33. package/dist/browser/components/platform-fields/MobileSelection.d.ts.map +1 -1
  34. package/dist/browser/components/platform-fields/MobileSelection.js +2 -2
  35. package/dist/browser/components/platform-fields/MobileSelection.js.map +1 -1
  36. package/dist/browser/components/platform-fields/MobileZonedDateTimeField.js +2 -2
  37. package/dist/browser/components/platform-fields/MobileZonedDateTimeField.js.map +1 -1
  38. package/dist/browser/components/platform-fields/ResourceReferenceField.d.ts +4 -2
  39. package/dist/browser/components/platform-fields/ResourceReferenceField.d.ts.map +1 -1
  40. package/dist/browser/components/platform-fields/ResourceReferenceField.js +3 -3
  41. package/dist/browser/components/platform-fields/ResourceReferenceField.js.map +1 -1
  42. package/dist/browser/components/platform-fields/SubtableField.d.ts +11 -2
  43. package/dist/browser/components/platform-fields/SubtableField.d.ts.map +1 -1
  44. package/dist/browser/components/platform-fields/SubtableField.js +55 -24
  45. package/dist/browser/components/platform-fields/SubtableField.js.map +1 -1
  46. package/dist/browser/components/platform-fields/ZonedDateTimeField.js +2 -2
  47. package/dist/browser/components/platform-fields/ZonedDateTimeField.js.map +1 -1
  48. package/dist/browser/components/platform-fields/managed-media-read.d.ts +19 -0
  49. package/dist/browser/components/platform-fields/managed-media-read.d.ts.map +1 -0
  50. package/dist/browser/components/platform-fields/managed-media-read.js +32 -0
  51. package/dist/browser/components/platform-fields/managed-media-read.js.map +1 -0
  52. package/dist/browser/components/platform-fields/reference-binding-change.d.ts +6 -0
  53. package/dist/browser/components/platform-fields/reference-binding-change.d.ts.map +1 -0
  54. package/dist/browser/components/platform-fields/reference-binding-change.js +32 -0
  55. package/dist/browser/components/platform-fields/reference-binding-change.js.map +1 -0
  56. package/dist/browser/components/platform-fields/user-candidate-context.d.ts +54 -0
  57. package/dist/browser/components/platform-fields/user-candidate-context.d.ts.map +1 -0
  58. package/dist/browser/components/platform-fields/user-candidate-context.js +70 -0
  59. package/dist/browser/components/platform-fields/user-candidate-context.js.map +1 -0
  60. package/dist/browser/components/platform-fields/zoned-date-time.d.ts +4 -0
  61. package/dist/browser/components/platform-fields/zoned-date-time.d.ts.map +1 -1
  62. package/dist/browser/components/platform-fields/zoned-date-time.js +9 -1
  63. package/dist/browser/components/platform-fields/zoned-date-time.js.map +1 -1
  64. package/dist/browser/components/resource/GeneratedResourceCrud.d.ts.map +1 -1
  65. package/dist/browser/components/resource/GeneratedResourceCrud.js +28 -4
  66. package/dist/browser/components/resource/GeneratedResourceCrud.js.map +1 -1
  67. package/dist/browser/components/resource/GeneratedResourceForm.js +3 -3
  68. package/dist/browser/components/resource/GeneratedResourceForm.js.map +1 -1
  69. package/dist/browser/components/resource/RecordDetailFrame.d.ts +3 -1
  70. package/dist/browser/components/resource/RecordDetailFrame.d.ts.map +1 -1
  71. package/dist/browser/components/resource/RecordDetailFrame.js +2 -2
  72. package/dist/browser/components/resource/RecordDetailFrame.js.map +1 -1
  73. package/dist/browser/components/resource/ResourceFormFrame.d.ts +3 -2
  74. package/dist/browser/components/resource/ResourceFormFrame.d.ts.map +1 -1
  75. package/dist/browser/components/resource/ResourceFormFrame.js +13 -2
  76. package/dist/browser/components/resource/ResourceFormFrame.js.map +1 -1
  77. package/dist/browser/components/resource/ResourceRecordComments.d.ts +13 -0
  78. package/dist/browser/components/resource/ResourceRecordComments.d.ts.map +1 -0
  79. package/dist/browser/components/resource/ResourceRecordComments.js +75 -0
  80. package/dist/browser/components/resource/ResourceRecordComments.js.map +1 -0
  81. package/dist/browser/components/resource/ResourceRecordDeletion.d.ts +7 -0
  82. package/dist/browser/components/resource/ResourceRecordDeletion.d.ts.map +1 -0
  83. package/dist/browser/components/resource/ResourceRecordDeletion.js +53 -0
  84. package/dist/browser/components/resource/ResourceRecordDeletion.js.map +1 -0
  85. package/dist/browser/components/resource/ResourceRecordPrintPreview.d.ts +16 -0
  86. package/dist/browser/components/resource/ResourceRecordPrintPreview.d.ts.map +1 -0
  87. package/dist/browser/components/resource/ResourceRecordPrintPreview.js +92 -0
  88. package/dist/browser/components/resource/ResourceRecordPrintPreview.js.map +1 -0
  89. package/dist/browser/components/resource/SurfaceFields.d.ts +12 -3
  90. package/dist/browser/components/resource/SurfaceFields.d.ts.map +1 -1
  91. package/dist/browser/components/resource/SurfaceFields.js +24 -8
  92. package/dist/browser/components/resource/SurfaceFields.js.map +1 -1
  93. package/dist/browser/components/resource/generated-resource-definition.d.ts +13 -0
  94. package/dist/browser/components/resource/generated-resource-definition.d.ts.map +1 -1
  95. package/dist/browser/components/resource/record-comment-session.d.ts +17 -0
  96. package/dist/browser/components/resource/record-comment-session.d.ts.map +1 -0
  97. package/dist/browser/components/resource/record-comment-session.js +64 -0
  98. package/dist/browser/components/resource/record-comment-session.js.map +1 -0
  99. package/dist/browser/components/resource/record-deletion-session.d.ts +19 -0
  100. package/dist/browser/components/resource/record-deletion-session.d.ts.map +1 -0
  101. package/dist/browser/components/resource/record-deletion-session.js +64 -0
  102. package/dist/browser/components/resource/record-deletion-session.js.map +1 -0
  103. package/dist/browser/components/resource/record-print-session.d.ts +12 -0
  104. package/dist/browser/components/resource/record-print-session.d.ts.map +1 -0
  105. package/dist/browser/components/resource/record-print-session.js +32 -0
  106. package/dist/browser/components/resource/record-print-session.js.map +1 -0
  107. package/dist/browser/components/resource/resource-field-selection.d.ts +2 -0
  108. package/dist/browser/components/resource/resource-field-selection.d.ts.map +1 -1
  109. package/dist/browser/components/resource/useResourceFormDrafts.d.ts.map +1 -1
  110. package/dist/browser/components/workflow/StandardWorkflowPages.d.ts +28 -5
  111. package/dist/browser/components/workflow/StandardWorkflowPages.d.ts.map +1 -1
  112. package/dist/browser/components/workflow/StandardWorkflowPages.js +143 -51
  113. package/dist/browser/components/workflow/StandardWorkflowPages.js.map +1 -1
  114. package/dist/browser/components/workflow/WorkflowDelegationManager.js +13 -8
  115. package/dist/browser/components/workflow/WorkflowDelegationManager.js.map +1 -1
  116. package/dist/browser/components/workflow/WorkflowDiagram.d.ts.map +1 -1
  117. package/dist/browser/components/workflow/WorkflowDiagram.js +5 -2
  118. package/dist/browser/components/workflow/WorkflowDiagram.js.map +1 -1
  119. package/dist/browser/components/workflow/WorkflowFlowCanvas.d.ts.map +1 -1
  120. package/dist/browser/components/workflow/WorkflowFlowCanvas.js +2 -1
  121. package/dist/browser/components/workflow/WorkflowFlowCanvas.js.map +1 -1
  122. package/dist/browser/components/workflow/WorkflowNodeCard.d.ts +1 -1
  123. package/dist/browser/components/workflow/WorkflowNodeCard.d.ts.map +1 -1
  124. package/dist/browser/components/workflow/WorkflowNodeCard.js +7 -5
  125. package/dist/browser/components/workflow/WorkflowNodeCard.js.map +1 -1
  126. package/dist/browser/components/workflow/WorkflowNodeConfigurationEditor.d.ts.map +1 -1
  127. package/dist/browser/components/workflow/WorkflowNodeConfigurationEditor.js +14 -11
  128. package/dist/browser/components/workflow/WorkflowNodeConfigurationEditor.js.map +1 -1
  129. package/dist/browser/components/workflow/WorkflowRecordEditor.js +1 -1
  130. package/dist/browser/components/workflow/WorkflowRecordEditor.js.map +1 -1
  131. package/dist/browser/components/workflow/WorkflowRecordHistoryPanel.d.ts +9 -0
  132. package/dist/browser/components/workflow/WorkflowRecordHistoryPanel.d.ts.map +1 -0
  133. package/dist/browser/components/workflow/WorkflowRecordHistoryPanel.js +50 -0
  134. package/dist/browser/components/workflow/WorkflowRecordHistoryPanel.js.map +1 -0
  135. package/dist/browser/components/workflow/WorkflowTaskForm.d.ts +4 -1
  136. package/dist/browser/components/workflow/WorkflowTaskForm.d.ts.map +1 -1
  137. package/dist/browser/components/workflow/WorkflowTaskForm.js +34 -10
  138. package/dist/browser/components/workflow/WorkflowTaskForm.js.map +1 -1
  139. package/dist/browser/components/workflow/standard-process-values.d.ts +10 -2
  140. package/dist/browser/components/workflow/standard-process-values.d.ts.map +1 -1
  141. package/dist/browser/components/workflow/standard-process-values.js +22 -1
  142. package/dist/browser/components/workflow/standard-process-values.js.map +1 -1
  143. package/dist/browser/components/workflow/workflow-flow-layout.d.ts.map +1 -1
  144. package/dist/browser/components/workflow/workflow-flow-layout.js +33 -3
  145. package/dist/browser/components/workflow/workflow-flow-layout.js.map +1 -1
  146. package/dist/browser/components/workflow/workflow-submission-form.d.ts +22 -0
  147. package/dist/browser/components/workflow/workflow-submission-form.d.ts.map +1 -0
  148. package/dist/browser/components/workflow/workflow-submission-form.js +64 -0
  149. package/dist/browser/components/workflow/workflow-submission-form.js.map +1 -0
  150. package/dist/browser/components/workflow/workflow-task-required-errors.d.ts +10 -0
  151. package/dist/browser/components/workflow/workflow-task-required-errors.d.ts.map +1 -0
  152. package/dist/browser/components/workflow/workflow-task-required-errors.js +28 -0
  153. package/dist/browser/components/workflow/workflow-task-required-errors.js.map +1 -0
  154. package/dist/browser/durable-command.d.ts.map +1 -1
  155. package/dist/browser/durable-command.js +7 -2
  156. package/dist/browser/durable-command.js.map +1 -1
  157. package/dist/browser/managed-read-recovery.d.ts +2 -0
  158. package/dist/browser/managed-read-recovery.d.ts.map +1 -1
  159. package/dist/browser/managed-read-recovery.js +6 -1
  160. package/dist/browser/managed-read-recovery.js.map +1 -1
  161. package/dist/browser/platform-client.d.ts +37 -1
  162. package/dist/browser/platform-client.d.ts.map +1 -1
  163. package/dist/browser/platform-client.js +199 -6
  164. package/dist/browser/platform-client.js.map +1 -1
  165. package/dist/browser/record-comments.css +14 -0
  166. package/dist/browser/record-deletion.css +11 -0
  167. package/dist/browser/record-print.css +31 -0
  168. package/dist/browser/runtime-authorization-recovery.d.ts.map +1 -1
  169. package/dist/browser/runtime-authorization-recovery.js +34 -9
  170. package/dist/browser/runtime-authorization-recovery.js.map +1 -1
  171. package/dist/browser/runtime.d.ts +3 -1
  172. package/dist/browser/runtime.d.ts.map +1 -1
  173. package/dist/browser/runtime.js.map +1 -1
  174. package/dist/browser/styles.css +30 -0
  175. package/dist/browser/workflow-operation-input.d.ts +15 -0
  176. package/dist/browser/workflow-operation-input.d.ts.map +1 -0
  177. package/dist/browser/workflow-operation-input.js +64 -0
  178. package/dist/browser/workflow-operation-input.js.map +1 -0
  179. package/dist/config.d.ts +2 -1
  180. package/dist/config.d.ts.map +1 -1
  181. package/dist/config.js +2 -1
  182. package/dist/config.js.map +1 -1
  183. package/dist/core.d.ts +6 -2
  184. package/dist/core.d.ts.map +1 -1
  185. package/dist/core.js +3 -1
  186. package/dist/core.js.map +1 -1
  187. package/dist/expressions.d.ts +4 -0
  188. package/dist/expressions.d.ts.map +1 -0
  189. package/dist/expressions.js +3 -0
  190. package/dist/expressions.js.map +1 -0
  191. package/dist/field-kit.d.ts +3 -0
  192. package/dist/field-kit.d.ts.map +1 -1
  193. package/dist/field-kit.js +3 -0
  194. package/dist/field-kit.js.map +1 -1
  195. package/dist/nest.d.ts +1 -1
  196. package/dist/nest.d.ts.map +1 -1
  197. package/dist/nest.js.map +1 -1
  198. package/dist/react.d.ts +6 -2
  199. package/dist/react.d.ts.map +1 -1
  200. package/dist/react.js +5 -1
  201. package/dist/react.js.map +1 -1
  202. package/dist/testing.d.ts +1 -1
  203. package/dist/testing.d.ts.map +1 -1
  204. package/dist/testing.js +1 -1
  205. package/dist/testing.js.map +1 -1
  206. package/documentation/administration.md +40 -1
  207. package/documentation/backend.md +189 -3
  208. package/documentation/data-authz.md +72 -2
  209. package/documentation/declarations-cheatsheet.md +11 -1
  210. package/documentation/development.md +7 -0
  211. package/documentation/field-components.md +80 -0
  212. package/documentation/frontend.md +8 -0
  213. package/documentation/getting-started.md +60 -7
  214. package/documentation/managed-concurrency-frontend.md +10 -4
  215. package/documentation/manifest.json +12 -12
  216. package/documentation/testing.md +17 -0
  217. package/documentation/workflow-events.md +403 -9
  218. package/package.json +32 -20
  219. package/releases/2.51.0.json +32 -0
  220. package/releases/2.54.4.json +30 -0
  221. package/releases/2.54.6.json +30 -0
  222. package/releases/2.55.0.json +34 -0
  223. package/releases/2.55.1.json +32 -0
  224. package/releases/2.55.5.json +30 -0
  225. package/releases/2.55.6.json +32 -0
  226. package/releases/2.57.1.json +31 -0
  227. package/releases/2.58.0.json +37 -0
  228. package/releases/2.58.1.json +31 -0
  229. package/releases/2.59.0.json +36 -0
  230. package/releases/2.59.1.json +37 -0
  231. package/skills/manifest.json +1 -1
  232. package/skills/openxiangda-v2/SKILL.md +4 -4
  233. package/skills/openxiangda-v2/references/administration.md +40 -1
  234. package/skills/openxiangda-v2/references/backend.md +189 -3
  235. package/skills/openxiangda-v2/references/data-authz.md +72 -2
  236. package/skills/openxiangda-v2/references/declarations-cheatsheet.md +11 -1
  237. package/skills/openxiangda-v2/references/development.md +7 -0
  238. package/skills/openxiangda-v2/references/field-components.md +80 -0
  239. package/skills/openxiangda-v2/references/frontend.md +8 -0
  240. package/skills/openxiangda-v2/references/getting-started.md +60 -7
  241. package/skills/openxiangda-v2/references/managed-concurrency-frontend.md +10 -4
  242. package/skills/openxiangda-v2/references/testing.md +17 -0
  243. package/skills/openxiangda-v2/references/workflow-events.md +403 -9
  244. package/releases/2.48.1.json +0 -30
  245. package/releases/2.48.2.json +0 -29
@@ -0,0 +1,30 @@
1
+ {
2
+ "schemaVersion": "openxiangda.release-notes/v1",
3
+ "version": "2.54.4",
4
+ "status": "reviewed",
5
+ "title": "原子业务审批的最终状态合同修正",
6
+ "summary": "同源SDK的审批事务守卫对齐Workflow实例实际的已通过、已拒绝状态,防止最终审批或驳回被错误阻断。",
7
+ "newFeatures": [],
8
+ "fixes": [
9
+ "expectedTransition.status使用running、approved、rejected、withdrawn;拒绝将任务completed状态当作实例状态。",
10
+ "Schema与公开TypeScript类型同步,补充四种实际状态与错误completed状态的回归验证。"
11
+ ],
12
+ "affectedUsers": [
13
+ "显式使用definition.commandHandlers及BusinessProcess.commandWithData的V2应用。"
14
+ ],
15
+ "upgradeSteps": [
16
+ "整体使用同源SDK发行,并配套接受实际实例状态的平台Server;在测试环境验证原token、回执、补填及业务效果的原子提交。"
17
+ ],
18
+ "knownLimitations": [
19
+ "这是本机测试候选,npm发布和真实三端业务验收分别记录,源码检查不代表完成交付。",
20
+ "固定handler仍仅支持approve、reject、withdraw;不降级为分离事务,也不支持跳转、强制决定或自动同意。",
21
+ "正式npm发行验证仍需配套参考应用锁文件;本机同源制品不替代该门禁。"
22
+ ],
23
+ "issues": [],
24
+ "compatibility": {
25
+ "node": ">=24",
26
+ "platform": "workflow.business-data-command@1.0.0,Server使用真实实例状态与同事务Native效果。"
27
+ },
28
+ "sha256": "245c53a18b1af890f22f38e5d0f75129e47aaae8898ae98844fa0ebd141ba48b",
29
+ "url": "https://github.com/1377385356/openxiangda/releases/tag/v2.54.4"
30
+ }
@@ -0,0 +1,30 @@
1
+ {
2
+ "schemaVersion": "openxiangda.release-notes/v1",
3
+ "version": "2.54.6",
4
+ "status": "reviewed",
5
+ "title": "业务提交前检查必需审批人",
6
+ "summary": "流程可显式要求提交前解析指定审批节点。缺少当前有效审批人时,平台在业务事务内拒绝申请,避免保存后留下无法推进的流程。",
7
+ "newFeatures": [
8
+ "固定 definition.launchPreflight.requiredApprovalNodes 指定最多20个必需审批节点,两端编译器验证引用、范围和本机参与人来源。",
9
+ "BusinessProcess 同事务解析当前有效配置与 Native 角色成员;原成功提交回执优先返回,实际节点进入仍重新核验审批人。"
10
+ ],
11
+ "fixes": [],
12
+ "affectedUsers": [
13
+ "需要在保存申请时保证前置审批人存在的 V2 应用;仅显式声明时要求新平台能力。"
14
+ ],
15
+ "upgradeSteps": [
16
+ "完整升级同源SDK与支持 workflow.launch-preflight@1.0.0 的平台,然后为所需审批节点声明准入并验证当前角色范围。"
17
+ ],
18
+ "knownLimitations": [
19
+ "当前为本机开发候选,未发布 npm 或学校生产;工具检查、平台事务测试与真实应用角色验收分别记录。",
20
+ "仅支持 fixed_users、initiator、app_role、app_role_in_scope;未来任务字段、外部provider和交互选人不参与同步准入。",
21
+ "准入不冻结未来参与人,成功后人员改变仍由实际节点进入处理;正式 npm 发行门禁尚未完成。"
22
+ ],
23
+ "issues": [],
24
+ "compatibility": {
25
+ "node": ">=24",
26
+ "platform": "workflow.launch-preflight@1.0.0(显式声明才要求)"
27
+ },
28
+ "sha256": "ca379b1ab33ef8362ea34b9242cc30772caf30c0830f2a77fbd4dba1b17a6c21",
29
+ "url": "https://github.com/1377385356/openxiangda/releases/tag/v2.54.6"
30
+ }
@@ -0,0 +1,34 @@
1
+ {
2
+ "schemaVersion": "openxiangda.release-notes/v1",
3
+ "version": "2.55.0",
4
+ "status": "reviewed",
5
+ "title": "流程拒绝意见策略与受限资料编辑",
6
+ "summary": "流程定义可显式允许选填拒绝意见,保留旧流程必填默认和管理员收紧边界;同步主线的具名资料编辑支持固定字段及受限输入。",
7
+ "newFeatures": [
8
+ "固定审批节点可声明 operationPolicy.reject.commentRequired:false;省略时仍必填,新声明要求 workflow.optional-rejection-comment@1.0.0。",
9
+ "具名资料编辑可声明固定资源和字段,复用受限人员、字典和托管附件输入,PC 与移动页共用 Field Kit。"
10
+ ],
11
+ "fixes": [
12
+ "审批节点 JSON Schema 接受并有界校验正式 operationPolicy,Surface 和执行端使用同一冻结策略。",
13
+ "主线修正 dataCommands 在开发配置和产物投影中的遗漏。"
14
+ ],
15
+ "affectedUsers": [
16
+ "需要保留选填拒绝意见语义的 V2 流程,或使用具名动作编辑固定资料字段的应用。"
17
+ ],
18
+ "upgradeSteps": [
19
+ "完整升级同源 SDK 与目标平台;选填拒绝意见须启用支持该能力的平台,并以新不可变流程版本声明。",
20
+ "已有任务继续使用进入节点时冻结的规则,管理员不得放宽代码必填策略。"
21
+ ],
22
+ "knownLimitations": [
23
+ "当前用于本机开发配套,不代表 npm 或学校生产已发布;真实应用验收单独记录。",
24
+ "选填仅允许省略、空串或空白;已提供的非字符串及超过 4000 字符仍拒绝。",
25
+ "具名资料编辑仍受动作能力、行范围和原修订校验约束,不开放普通 UPDATE。"
26
+ ],
27
+ "issues": [],
28
+ "compatibility": {
29
+ "node": ">=24",
30
+ "platform": "显式选填要求 workflow.optional-rejection-comment@1.0.0;具名资料编辑按声明要求匹配平台能力"
31
+ },
32
+ "sha256": "c48e83ce9ccb01af7e8af97458fee0fb192e0945fc6a596b985ed1fffaf876a0",
33
+ "url": "https://github.com/1377385356/openxiangda/releases/tag/v2.55.0"
34
+ }
@@ -0,0 +1,32 @@
1
+ {
2
+ "schemaVersion": "openxiangda.release-notes/v1",
3
+ "version": "2.55.1",
4
+ "status": "reviewed",
5
+ "title": "持久原结果恢复与流程字段策略修复",
6
+ "summary": "已受理命令的短读取超时不会提前终止原三十分钟观察;同步主线的条件必填错误清理和冻结的选填撤回原因策略。",
7
+ "newFeatures": [
8
+ "固定流程定义支持 instanceCommands.withdraw.reasonRequired:false;省略仍必填,新声明要求 workflow.optional-withdrawal-reason@1.0.0。"
9
+ ],
10
+ "fixes": [
11
+ "已受理 durable 原结果查询收到 SDK 明确标记可恢复的短读取预算耗尽后,在原绝对截止前按退避继续只读查询;不重放提交。",
12
+ "另一字段解除条件必填后清除 SDK 自己生成的旧必填错误,保留其他客户端、子表和服务端错误。"
13
+ ],
14
+ "affectedUsers": [
15
+ "使用 durable 持久命令的热点报名应用和包含条件必填或撤回策略的 V2 流程。"
16
+ ],
17
+ "upgradeSteps": [
18
+ "使用正式精确版本升级应用 SDK;原结果恢复无需更改服务端协议。",
19
+ "使用选填撤回原因时,平台必须具备对应能力;已有实例继续使用冻结版本。"
20
+ ],
21
+ "knownLimitations": [
22
+ "一次读取仍最多两分钟,总观察仍为原三十分钟;权限、依赖和普通网络错误不会被自动隐藏。",
23
+ "容量必须在目标硬件上独立测量;单元验证不能证明万人或浏览器洪峰已通过。"
24
+ ],
25
+ "issues": [],
26
+ "compatibility": {
27
+ "node": ">=24",
28
+ "platform": "durable 恢复沿用既有结果协议;显式选填撤回原因要求 workflow.optional-withdrawal-reason@1.0.0"
29
+ },
30
+ "sha256": "c6c0691f9fe9571dfe1c9078546a5db3f63645ba11a67a3f3d0d6324ba7713d1",
31
+ "url": "https://github.com/1377385356/openxiangda/releases/tag/v2.55.1"
32
+ }
@@ -0,0 +1,30 @@
1
+ {
2
+ "schemaVersion": "openxiangda.release-notes/v1",
3
+ "version": "2.55.5",
4
+ "status": "reviewed",
5
+ "title": "OpenXiangda 2.55.5:具名业务与读取视角的边界",
6
+ "summary": "修复管理页面的读取 Perspective 被转发到受信业务 Data API 而导致合法业务提交拒绝的问题。",
7
+ "newFeatures": [],
8
+ "fixes": [
9
+ "Nest 具名业务 Data API 派生无读取视角的下游上下文,保留固定动作证明与原请求;普通 Data API 继续继承读取 Perspective。"
10
+ ],
11
+ "affectedUsers": [
12
+ "从已选择管理读取 Perspective 的页面调用 V2 Nest 具名业务动作的应用。"
13
+ ],
14
+ "upgradeSteps": [
15
+ "安装完整同源 SDK,执行应用 check,并分别验收合法提交、普通读取范围、当前成员事务守卫及原结果恢复。"
16
+ ],
17
+ "knownLimitations": [
18
+ "SDK HTTP 边界验收不代替真实角色和页面业务验收;本轮仅本机分发,不发布 npm。"
19
+ ],
20
+ "compatibility": {
21
+ "node": ">=24",
22
+ "platform": "native-4;保持 Native 服务主体读取视角拒绝检查",
23
+ "v1": "V1 引擎与应用不变"
24
+ },
25
+ "issues": [
26
+ "PLT-033"
27
+ ],
28
+ "sha256": "d8174bbf5684326c34ac3f467a3e2fdc12ef00f101edf442008ee59519a41e2d",
29
+ "url": "https://github.com/1377385356/openxiangda/releases/tag/v2.55.5"
30
+ }
@@ -0,0 +1,32 @@
1
+ {
2
+ "schemaVersion": "openxiangda.release-notes/v1",
3
+ "version": "2.55.6",
4
+ "status": "reviewed",
5
+ "title": "OpenXiangda 2.55.6:入口排队与身份加载连续性",
6
+ "summary": "修复平台入口等待期限与浏览器身份读取恢复期限不一致导致有效等待过早中断的问题。",
7
+ "newFeatures": [],
8
+ "fixes": [
9
+ "仅对有效平台入口回执接续身份等待,固定原期限并上限三十分钟,后续回执只能缩短。",
10
+ "入口身份读取遵循有界排队提示,普通请求、权限拒绝、投影重试和网络失败保持各自边界。"
11
+ ],
12
+ "affectedUsers": [
13
+ "启用 V2 平台入口排队并在拥挤时加载当前用户信息的应用。"
14
+ ],
15
+ "upgradeSteps": [
16
+ "安装同源 SDK 并重新构建应用,验证权限拒绝、入口期限、页面取消、原报名结果恢复及真实冷入口并发。"
17
+ ],
18
+ "knownLimitations": [
19
+ "本地测试不代表线上容量;r62 的 48 人中断仍保留,必须使用新隔离活动重新压测。",
20
+ "本次 HTTP 请求图不证明完整 SSO 或浏览器渲染上限。"
21
+ ],
22
+ "compatibility": {
23
+ "node": ">=24",
24
+ "platform": "V2 原入口回执协议;无数据库迁移",
25
+ "v1": "V1 引擎和应用不变"
26
+ },
27
+ "issues": [
28
+ "r62-entry-identity-interrupted"
29
+ ],
30
+ "sha256": "48803b23bb19feee37b60779064e03c2cb60c26a591f794755bcf4c2b5b887a7",
31
+ "url": "https://github.com/1377385356/openxiangda/releases/tag/v2.55.6"
32
+ }
@@ -0,0 +1,31 @@
1
+ {
2
+ "schemaVersion": "openxiangda.release-notes/v1",
3
+ "version": "2.57.1",
4
+ "status": "reviewed",
5
+ "title": "身份入口暂不可用时保留固定恢复期限",
6
+ "summary": "启用入口等待的平台可声明有界读取恢复预算,SDK继续恢复身份而不刷新原截止。",
7
+ "newFeatures": [],
8
+ "fixes": [
9
+ "修复入口429 unavailable无票据剩余时间时回落普通五分钟恢复的问题。",
10
+ "后续票据回执只能缩短截止;保留权限拒绝、失效、取消及写操作约束。"
11
+ ],
12
+ "affectedUsers": [
13
+ "使用高并发入口等待与runtime身份读取的V2应用。"
14
+ ],
15
+ "upgradeSteps": [
16
+ "同时使用提供recoveryBudgetMs的Server及同源SDK;无该元数据时维持原五分钟恢复。",
17
+ "完整分发组合通过正式门禁后部署,保留原压测失败与期限。"
18
+ ],
19
+ "knownLimitations": [
20
+ "本批尚未完成公开npm发行和学校站点部署,源码测试不代表线上验收。",
21
+ "恢复预算只用于读取重试,不提供身份或队列位置,不延长Redis票据。"
22
+ ],
23
+ "issues": [],
24
+ "compatibility": {
25
+ "node": ">=24",
26
+ "platform": "native-4、可选入口unavailable recoveryBudgetMs",
27
+ "v1": "V1不消费该恢复接口"
28
+ },
29
+ "sha256": "d797d800560e8e24b276c6674fa2ea303f89b844cf1f5ee7b1199543180174c4",
30
+ "url": "https://github.com/1377385356/openxiangda/releases/tag/v2.57.1"
31
+ }
@@ -0,0 +1,37 @@
1
+ {
2
+ "schemaVersion": "openxiangda.release-notes/v1",
3
+ "version": "2.58.0",
4
+ "status": "reviewed",
5
+ "title": "有界入口读取恢复与流程、开发配置能力更新",
6
+ "summary": "身份读取在原期限内恢复短暂网络失败;同时交付主线已合入的流程范围、主子事务和开发配置能力。",
7
+ "newFeatures": [
8
+ "具名流程支持保存前范围候选与一层 owned 主子创建闭包,仍由平台按实际资料及职责校验。",
9
+ "流程节点支持有界职责成员并集及可选操作原因,任务使用进入节点时冻结的规则。",
10
+ "显式 owned 子表支持最多500行及有界记录集合事务守卫,保留 CAS、字节与文件限额。",
11
+ "预发布开发配置可同步真实 Native 配置而不构建 Web/Nest 制品,不能晋级生产。",
12
+ "连接开发支持从源码接收有界后端事件交付,保留真实平台租约和确认边界。"
13
+ ],
14
+ "fixes": [
15
+ "身份 GET 不再因第三次短暂传输失败提前退出;采用有界指数退避,保留原恢复截止、单次超时、取消与明确权限拒绝。"
16
+ ],
17
+ "affectedUsers": [
18
+ "使用 V2 入口等待、具名流程、owned 子表或预发布开发配置的应用。"
19
+ ],
20
+ "upgradeSteps": [
21
+ "消费同源完整发行组合,并按声明协商目标平台能力。",
22
+ "入口预约、身份回执恢复和结果查询提示需配套平台更新;更新后重新校准真实页面请求图及性能测试。"
23
+ ],
24
+ "knownLimitations": [
25
+ "本轮尚未完成客户站点部署及新版本容量验收;源码验证不代表线上通过。",
26
+ "入口恢复仅重试读取,不自动重放报名等业务写操作,不续期原 Redis 票据。",
27
+ "此前8000人实验有7989人客户端30分钟内读回,最高完整通过仍5000人;实验不含SSO,不能代替首秒8000人完整浏览器容量结论。"
28
+ ],
29
+ "issues": [],
30
+ "compatibility": {
31
+ "node": ">=24",
32
+ "platform": "按声明协商对应 Native 与流程能力;入口恢复配套平台回执",
33
+ "v1": "V1不消费该V2接口"
34
+ },
35
+ "sha256": "ac8676f79afa9bc596508c7ca897ec60ffadf79f86ca36429dc1a279df23cf09",
36
+ "url": "https://github.com/1377385356/openxiangda/releases/tag/v2.58.0"
37
+ }
@@ -0,0 +1,31 @@
1
+ {
2
+ "schemaVersion": "openxiangda.release-notes/v1",
3
+ "version": "2.58.1",
4
+ "status": "reviewed",
5
+ "title": "同源交付记录流程历史及入口读取恢复",
6
+ "summary": "根包和模板消费新增 Nest 记录流程历史接口,并保留2.58.0的入口读取恢复与能力更新。",
7
+ "newFeatures": [
8
+ "Nest 用户上下文支持业务记录流程历史读取,复用 Native/RLS、记录实例绑定、分页及修订校验。"
9
+ ],
10
+ "fixes": [
11
+ "统一根包、CLI模板与Nest的精确发行版本,避免混用新增接口和旧归档。"
12
+ ],
13
+ "affectedUsers": [
14
+ "使用 Nest 工作流记录历史或入口等待恢复的V2应用。"
15
+ ],
16
+ "upgradeSteps": [
17
+ "安装完整同源发行组合;入口预约与结果查询退避需要配套平台更新并重新校准请求图。"
18
+ ],
19
+ "knownLimitations": [
20
+ "2.58.0及本批尚未完成客户站点新候选容量验收;上一轮8000人仅7989人客户端30分钟内读回,最高完整通过仍5000人。",
21
+ "不改变流程办理权限,不自动重放业务写操作,不覆盖SSO集中登录容量。"
22
+ ],
23
+ "issues": [],
24
+ "compatibility": {
25
+ "node": ">=24",
26
+ "platform": "复用平台当前用户记录流程历史与V2入口能力",
27
+ "v1": "V1不消费该V2接口"
28
+ },
29
+ "sha256": "9e7fb09dc8b7a0de8fff5e955e7d35cb4d4d1ce1be5fa1105a5d2c2517de6414",
30
+ "url": "https://github.com/1377385356/openxiangda/releases/tag/v2.58.1"
31
+ }
@@ -0,0 +1,36 @@
1
+ {
2
+ "schemaVersion": "openxiangda.release-notes/v1",
3
+ "version": "2.59.0",
4
+ "status": "reviewed",
5
+ "title": "托管查询断连恢复与流程表单能力更新",
6
+ "summary": "托管只读查询在认证传输层明确标记断连后沿原预算恢复;正式发行同时包含主线已评审的可选流程、子表及连接开发能力。",
7
+ "newFeatures": [
8
+ "流程支持发起人补正、具名业务补正命令、审批节点代理范围、批准后代理和原子Native阶段条件;新能力通过目标平台协商。",
9
+ "owned子表支持最少行数、可信初始流程事实、具名只读展示和任务字段来源;资源关联支持显式绑定变化清空。",
10
+ "日期字段支持分钟精度,日期事件支持可信来源投影;大型应用声明与JSON节点预算可显式协商扩展。",
11
+ "连接开发支持普通浏览器登录身份与平台可信后台调用;新增纯表达式入口供浏览器和Node共享流程表达式。"
12
+ ],
13
+ "fixes": [
14
+ "read、mine、result、allocation的已标记连接中断与繁忙共用固定预算、尝试上限、退避及取消边界;已受理观察继续原结果,不延长首次提交截止。",
15
+ "修复受控子表字段联动、审批已确认任务转交后的页面继续和普通浏览器业务API的CSRF传递。"
16
+ ],
17
+ "affectedUsers": [
18
+ "使用托管并发查询、标准流程表单、owned子表或普通角色连接开发的V2应用。"
19
+ ],
20
+ "upgradeSteps": [
21
+ "通过精确版本安装完整同源发行组合;启用新声明前核验目标平台能力。托管高并发应用需在真实浏览器与隔离压测中重新校准恢复行为。"
22
+ ],
23
+ "knownLimitations": [
24
+ "客户上一档万人HTTP请求图有29人结果观察被断连中断;后台全部终结但该档仍未完整通过。本版本的新万人复测尚未完成,既有最高完整通过为8000人HTTP请求图。",
25
+ "不自动重放业务写入,不将断连认定为已受理,不覆盖集中SSO登录或浏览器JS渲染容量;权限、依赖及未标记错误继续拒绝。",
26
+ "新增可选流程及普通角色源码调用需要配套平台能力;旧平台不能启用未支持的声明。"
27
+ ],
28
+ "issues": [],
29
+ "compatibility": {
30
+ "node": ">=24",
31
+ "platform": "托管断连恢复复用现有接口;新增声明按目标平台能力协商",
32
+ "v1": "V1不消费本批V2运行时能力"
33
+ },
34
+ "sha256": "7cdc36d28dc77f417b8bbbbdd8ab1fe0da4cdc3aead69c0b2ad6c87fdaae09bb",
35
+ "url": "https://github.com/1377385356/openxiangda/releases/tag/v2.59.0"
36
+ }
@@ -0,0 +1,37 @@
1
+ {
2
+ "schemaVersion": "openxiangda.release-notes/v1",
3
+ "version": "2.59.1",
4
+ "status": "reviewed",
5
+ "title": "同源托管断连恢复与声明生成修复",
6
+ "summary": "发布同源托管只读断连恢复及主线已评审能力,并补齐大型资源类型生成和自动审批只读详情的修复。",
7
+ "newFeatures": [
8
+ "流程支持发起人补正、具名业务补正命令、审批节点代理范围、批准后代理和原子Native阶段条件;新能力通过目标平台协商。",
9
+ "owned子表支持最少行数、可信初始流程事实、具名只读展示和任务字段来源;资源关联支持显式绑定变化清空。",
10
+ "日期字段支持分钟精度,日期事件支持可信来源投影;大型应用声明与JSON节点预算可显式协商扩展。",
11
+ "连接开发支持普通浏览器登录身份与平台可信后台调用;新增纯表达式入口供浏览器和Node共享流程表达式。"
12
+ ],
13
+ "fixes": [
14
+ "read、mine、result、allocation的已标记连接中断与繁忙共用固定预算、尝试上限、退避及取消边界;已受理观察继续原结果,不延长首次提交截止。",
15
+ "修复受控子表字段联动、审批已确认任务转交后的页面继续和普通浏览器业务API的CSRF传递。",
16
+ "大型资源目录使用命名条目与精确只读类型,避免TypeScript序列化上限;自动发起人审批允许已解析的完全只读详情,保留可编辑席位人工办理。"
17
+ ],
18
+ "affectedUsers": [
19
+ "使用托管并发查询、标准流程表单、owned子表或普通角色连接开发的V2应用。"
20
+ ],
21
+ "upgradeSteps": [
22
+ "通过精确版本安装完整同源发行组合;启用新声明前核验目标平台能力。托管高并发应用需在真实浏览器与隔离压测中重新校准恢复行为。"
23
+ ],
24
+ "knownLimitations": [
25
+ "客户上一档万人HTTP请求图有29人结果观察被断连中断;后台全部终结但该档仍未完整通过。本版本的新万人复测尚未完成,既有最高完整通过为8000人HTTP请求图。",
26
+ "不自动重放业务写入,不将断连认定为已受理,不覆盖集中SSO登录或浏览器JS渲染容量;权限、依赖及未标记错误继续拒绝。",
27
+ "新增可选流程及普通角色源码调用需要配套平台能力;旧平台不能启用未支持的声明。"
28
+ ],
29
+ "issues": [],
30
+ "compatibility": {
31
+ "node": ">=24",
32
+ "platform": "托管断连恢复复用现有接口;新增声明按目标平台能力协商",
33
+ "v1": "V1不消费本批V2运行时能力"
34
+ },
35
+ "sha256": "3a9716eafe5e14bfe5eda8b2482393e4aad28155fde5933f3fe759a6a98c5972",
36
+ "url": "https://github.com/1377385356/openxiangda/releases/tag/v2.59.1"
37
+ }
@@ -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": "b8d9f8625838d2c246b059fb8d14ac107fa1a8183f7bb3066e1fcad10087f1ed"
7
+ "sha256": "3fcaf3ced4c43928021d5397d1f9239f5be96fa9df98b9029f5db25e29350788"
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.48.2 auth status --cwd <应用目录> --base-url <平台地址> --json
44
- pnpm dlx openxiangda@2.48.2 login --cwd <应用目录> --base-url <平台地址>
45
- pnpm dlx openxiangda@2.48.2 create <应用目录> --base-url <同一平台地址>
46
- pnpm dlx openxiangda@2.48.2 skill install --force
43
+ pnpm dlx openxiangda@2.59.1 auth status --cwd <应用目录> --base-url <平台地址> --json
44
+ pnpm dlx openxiangda@2.59.1 login --cwd <应用目录> --base-url <平台地址>
45
+ pnpm dlx openxiangda@2.59.1 create <应用目录> --base-url <同一平台地址>
46
+ pnpm dlx openxiangda@2.59.1 skill install --force
47
47
  ```
48
48
 
49
49
  创建前把产品要求的目标平台明确带入命令,不从旧登录态推断站点。已有工作区从原绑定恢复,平台不一致时先解决登录与目标,不改 link 文件跨站创建。
@@ -2,6 +2,12 @@
2
2
 
3
3
  平台的应用管理控制台维护应用成员、角色授权和流程运行参数。应用自身声明的 `/admin` 业务菜单展示业务页面,两者职责不同。可见入口和可执行操作以当前用户与目标环境返回结果为准。
4
4
 
5
+ 角色成员的范围维度也支持模型字段的 `userCandidates.scope` 引用,不要求为审批人职责增加无关的数据读写策略。目录 `scopeDimensions[].applicability.candidateFields` 返回字段所在的资源、数据修订、字段、角色与操作;当前环境及仍在办理的历史流程所引用的字段均可贡献范围适用性。实例完成或发起命令取消后,旧字段不再单独贡献适用性。配置成员的范围不会自动授予数据读写、菜单或应用管理权限;实际选人与提交仍核验范围、操作、成员有效期及账号状态。
6
+
7
+ 流程的 `app_role_in_scope` 绑定也贡献范围适用性,包括审批、抄送、兼容的节点人员覆盖及路由补充来源。目录 `scopeDimensions[].applicability.workflowBindings` 返回流程、节点、角色、定义/绑定版本、配置修订、来源和 `active`/`in_flight` 上下文;不包含业务事实或标题。当前启用定义和仍在办理的固定版本均可维护其职责,终态实例或已取消发起命令不再单独贡献适用性。
8
+
9
+ 自定义管理页面按“候选字段引用该角色、有效流程范围职责引用该角色,或任一数据策略规则适用于该角色”筛选维度。每条策略须单独处理 `unrestrictedRoleCodes`;不能仅依据汇总 `allRoles`、`roleCodes` 或全局排除列表判断。未返回 `candidateFields` 或 `workflowBindings` 时按空列表处理。流程职责的范围维护不授予普通数据读写权限,也不改变已创建任务的参与人快照。
10
+
5
11
  ## 发现当前入口 {#context}
6
12
 
7
13
  ```bash
@@ -85,10 +91,43 @@ export function ResponsibilityMembers() {
85
91
 
86
92
  读取沿用原流程管理权限。仅获成员管理委托的用户可能可以维护角色,同时没有权限读取关联流程;组件单独呈现该拒绝。返回不含成员、实例标识或业务事实,每页最多 100 条;最多 1000 个版本组合、32 MiB 源 JSON、10000 节点/引用,超限明确拒绝。
87
93
 
94
+ ### 多职责成员合并
95
+
96
+ 审批或抄送的 `app_role` / `app_role_in_scope` 来源可用 `roleCodes` 声明 2–8 个不同职责,
97
+ 与单职责 `roleCode` 互斥。例如:
98
+
99
+ ```ts
100
+ jointReviewers: {
101
+ provider: 'app_role',
102
+ roleCodes: ['student-office', 'organization'],
103
+ }
104
+ ```
105
+
106
+ 节点进入时读取这些职责的当前有效成员;范围角色共用同一份代码计算的 `scope`。
107
+ 同一人员只占一个审批席位或抄送名额,解析解释保留各职责来源。
108
+ 职责顺序决定重叠人员席位使用哪个职责的代理规则:采用首个匹配职责,
109
+ 不会借用后续职责的代理。已有任务保持原人员快照。
110
+
111
+ 管理员仅在代码开放人员来源配置的节点中调整职责组合;单选仍保存 `roleCode`,
112
+ 多选保存 `roleCodes`。保存、版本激活均检查所有职责,任何职责失效或查询失败都不能
113
+ 变成部分名单。总候选最多 200 个成员身份;去重后的审批上限仍受原 binding 限制,
114
+ 自动抄送最多 20 人。声明自动协商 `workflow.role-union@1.0.0`,无需初始化开关。
115
+
88
116
  管理范围检索使用 `listRoleManagementScopeValues(dimensionCode, { keyword, limit, offset })`,返回 `NativeRoleManagementScopeValuePage` 的 `id/label` 与 `limit/offset`。它使用 `openxiangda.native-role-management-scope-value-page/v2`,与 Data 字段选择器的 `value/label/cursor` 协议分开。权限仍要求对成员的分配或更新能力;只读权限不因此扩张。
89
117
 
90
118
  ## 限时审批代理 {#workflow-delegations}
91
119
 
120
+ 限定流程后,可进一步选择该职责在某个审批节点的代理。共享维护页的节点选项来自本人有效
121
+ 职责下的真实审批引用,包含当前及在途定义;不同节点可分别委托不同人员。不选节点覆盖
122
+ 范围内全部适用节点,全节点代理与重叠的单节点代理不能同时生效。预览和原操作回执保留范围,
123
+ 旧回执缺少节点仍按原规则读取;创建、撤销或到期均不改派已创建的任务。
124
+
125
+ 自定义页面使用 `WorkflowDelegationMutationRequest` 的create操作,在非空 `workflowCode`
126
+ 下传可选 `nodeId`;候选查询也携带同样的流程与节点。`delegationCatalog().sources[].nodeScopes`
127
+ 提供可选节点,服务器重新核验职责和范围,不能从客户端指定审批人身份。
128
+ 按节点创建必须使用预览/execute/receipt协议;旧 `createDelegation` 入口拒绝 `nodeId`,
129
+ 避免与不支持节点限制的旧服务联调时意外扩大范围。平台自动支持,无新增默认关闭开关。
130
+
92
131
  平台自动提供 `workflow.delegation-management@1.0.0`,没有额外的默认关闭开关。本人只能委托自己的有效审批职责;代理人必须具有同角色、覆盖原范围且有效期覆盖整个代理窗口的成员身份。采用平台数据库时间与 `[开始, 结束)` 区间,禁止自己代理、重叠链和环。管理员可全应用查看和撤销,创建由原审批人本人完成;成员管理委托不会扩大后台或代理管理权。
93
132
 
94
133
  标准管理入口、应用后台工具与门户个人页可复用 `WorkflowDelegationManager`。组件读取当前挂载应用和环境;`initialAll` 只是筛选意图,平台仍核验超管权限。宿主把草稿回调交给已有导航保护,避免切页时丢失输入或未知操作:
@@ -158,7 +197,7 @@ export function ReadableWorkflow({ workflowCode, version }: {
158
197
 
159
198
  开发者在审批节点的 `administration` 声明可维护的模式、人员来源和任务按钮。未声明这些项的节点保留名称、说明及原人员来源维护;拓扑、分支、范围计算仍由代码控制。使用新声明的应用需要平台 `workflow.node-administration@1.0.0`,编译与激活均检查该能力。
160
199
 
161
- 模式为 `single/any/all/sequence` 的允许子集;可维护来源限 `fixed_users/app_role/app_role_in_scope`,范围角色必须已有代码声明的 scope。按钮 code 保持同意、拒绝、退回、转交、委托、加签的稳定语义;同意和拒绝不能关闭。只有同意/拒绝支持意见规则,拒绝或代码已有必填意见不能放宽。字段显隐、填写与必填行为由应用页面和代码维护,不提供流程节点的字段管理覆盖。可编译声明见 `examples/workflow-administration/declaration.ts`。
200
+ 模式为 `single/any/all/sequence` 的允许子集;可维护来源限 `fixed_users/app_role/app_role_in_scope`,范围角色必须已有代码声明的 scope。按钮 code 保持同意、拒绝、退回、转交、委托、加签的稳定语义;同意和拒绝不能关闭。只有同意/拒绝支持意见规则;拒绝默认必填,固定节点代码可用 operationPolicy.reject.commentRequired: false 显式选填。管理员可收紧选填规则,也可恢复代码明确允许的选填;不能放宽代码必填或未声明时的拒绝默认必填。已进入的任务保留冻结规则。字段显隐、填写与必填行为由应用页面和代码维护,不提供流程节点的字段管理覆盖。可编译声明见 `examples/workflow-administration/declaration.ts`。
162
201
 
163
202
  自动抄送节点仅开放名称、说明和显式声明的 `administration.assigneeProviders`;未开放时接收来源只读。共享编辑器显示“抄送人”,不显示审批方式或审批按钮,固定名单最多20人。`next`、空人策略和通知策略仍归代码;新配置只影响以后进入,过去抄送名单保持冻结。完整例子见 `examples/workflow-administration/automatic-cc.ts`,执行及读取边界见[自动抄送](workflow-events.md#automatic-cc)。
164
203