openxiangda-skill-kit 2.3.32 → 2.3.34

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "openxiangda-skill-kit",
3
- "version": "2.3.32",
3
+ "version": "2.3.34",
4
4
  "description": "OpenXiangda 2.0 中文 AI 技能的校验、分发与安装。",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -17,7 +17,7 @@
17
17
  "README.md"
18
18
  ],
19
19
  "dependencies": {
20
- "openxiangda-devkit-core": "2.34.1"
20
+ "openxiangda-devkit-core": "2.34.3"
21
21
  },
22
22
  "devDependencies": {
23
23
  "tsx": "4.23.12",
@@ -340,6 +340,12 @@ await bootstrapOpenXiangdaApplication(AppModule);
340
340
 
341
341
  ## 通知与事件 {#notifications}
342
342
 
343
+ 运营查询与恢复使用用户态 `OpenXiangdaNotificationService.listMessages({ correlationId, limit, offset })`、`listDeadLetters({ messageId, limit, offset })` 和 `replayDeadLetter(deadLetterId)`。应用保留原平台 messageId,按业务来源定位原通知;恢复只重试原投递,禁止重新 `send` 整个批次。平台保持 `app:notification2:read`、`app:notification2:content:read`、`app:notification2:delivery:retry` 分离授权,应用通常仅向管理员授予需要的管理权限。接口固定当前应用和环境,不接受应用服务身份代替用户。
344
+
345
+ 死信返回 messageId、deliveryId、correlationId;投影阶段尚无消息时为 null。若较新修订已投递,重放返回 `superseded: true` 而不再次发送。重复或未知结果应刷新原消息/死信状态,不能更换业务通知幂等键绕过。
346
+
347
+ 具名动作的 `platformAccess.managedFiles` 可精确声明 `file`、`image`、`signature` 和 `text.rich` 字段。富文本内嵌图片必须绑定实际富文本字段,不能借封面字段的权限。创建和更新意图分别声明;Connected Dev 同样逐请求验证开发会话,再对既有记录生成短时精确附件证明,不开放资源普通 CRUD。
348
+
343
349
  具名用户动作发送通知使用 `OpenXiangdaBusinessNotificationService.send()`,携带稳定 eventId、messageKey、sourceSequence 和 idempotencyKey。重放同一事件返回已有消息;同一 messageKey 的更高序列用于收敛状态。通知目标使用声明的 PC/移动路由代码及参数,不拼接环境域名或身份凭据。
344
350
 
345
351
  签名事件处理器使用 `sendFromEvent()`,在声明中指定事件 data 内的收件人与文案路径,由平台验证不可变事件后解析。普通业务动作不需要平台通知管理权限。需要高级钉钉卡片时才使用已授权的管理服务和已启用通道,不能把它设为普通审批的默认依赖。
@@ -386,3 +392,12 @@ if (output.status === 'pending') {
386
392
  这些方法适用于当前用户、具名业务动作和应用服务身份,沿用各自权限;业务记录绑定仍需正式数据事务。输出目前支持 OSS/MinIO,受字段上限与100MiB硬上限约束,上传凭据五分钟后过期,完成须在额外十分钟内进行。过期错误应由调用者建立新的处理意图,不能无限重试相同过期计划。下载最长五分钟,签发后到期前为短期委托,不能即时撤回。不要在日志、持久草稿或业务数据中保存签名地址、POST policy 或签名字段。
387
393
 
388
394
  主子记录共享精确金额额度、撤回修订和审批释放,请使用[精确金额占用](decimal-reservations.md)的受管提交及终态事务。
395
+
396
+
397
+ ## 解析管理员选定的组织人员
398
+
399
+ 管理员补录或身份订正应使用平台目录,不创建第二份人员主数据。具名动作声明
400
+ `platformAccess: { directory: { mode: 'selected-user', fields: ['displayName', 'employeeNumber', 'primaryDepartment', 'departments'] } }`
401
+ 后,调用 `businessDirectory.selectedUser(userId)`。仅传标准人员选择器返回的确定 ID;姓名、工号和部门均由平台返回,不能相信表单传入快照。
402
+
403
+ 此动作的调用者还需要既有 `app:<appCode>:directory:read` 权限;平台复核当前租户、环境、目录范围和人员有效期,一次只解析一人。普通用户本人报名继续使用 `currentInitiator()`。身份快照不是永久授权凭据,后续业务事务仍需检查角色、状态与额度。平台能力为 `directory.selected-user` 1.0.0;失败时保留原操作,不回退姓名匹配或应用人员表。