openxiangda-skill-kit 2.3.31 → 2.3.33

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.31",
3
+ "version": "2.3.33",
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.2"
21
21
  },
22
22
  "devDependencies": {
23
23
  "tsx": "4.23.12",
@@ -39,13 +39,15 @@ await bridge.submit({ locationId: found.items[0].value, description: '空调不
39
39
  // apps/web/vite.agent-card.config.ts
40
40
  import { defineConfig } from 'vite';
41
41
  export default defineConfig({
42
+ // lib 模式打包 React/Ant Design 时,确保浏览器沙箱内不残留 Node 的 process。
43
+ define: { 'process.env.NODE_ENV': JSON.stringify('production') },
42
44
  build: { outDir: 'dist', emptyOutDir: false, cssCodeSplit: false,
43
45
  lib: { entry: 'src/agent-card.tsx', name: 'OpenXiangdaRepairCard', formats: ['iife'], fileName: () => 'agent-cards/repair.js' },
44
46
  },
45
47
  });
46
48
  ```
47
49
 
48
- 在普通前端构建之后运行 `vite build --config vite.agent-card.config.ts`。卡片样式可由脚本注入在自己的 iframe 内,不应依赖应用全局 CSS、路由、Cookie、登录或平台页面的 DOM。Host 使用无同源权限的 sandbox 和 CSP,只开放 `options` 与 `submit`;SDK 的请求先由 Host 检查卡片实例、声明字段、候选值,再由 Agent 服务端重验用户、应用权限、AppVersion、请求 Schema、Interaction revision 和幂等键。业务 handler 必须再次校验地点等稳定引用。结果卡只收到声明字段的只读投影。
50
+ 在普通前端构建之后运行 `vite build --config vite.agent-card.config.ts`。产物须小于 2 MiB;构建通过后还须在 `sandbox="allow-scripts"`、无同源权限和 Host CSP 的 iframe 中运行一次真实浏览器测试,确认没有 `process is not defined` 等异常,且能完成 `ready/state/options/submit` 消息往返。卡片样式可由脚本注入在自己的 iframe 内,不应依赖应用全局 CSS、路由、Cookie、登录或平台页面的 DOM。Host 使用无同源权限的 sandbox 和 CSP,只开放 `options` 与 `submit`;SDK 的请求先由 Host 检查卡片实例、声明字段、候选值,再由 Agent 服务端重验用户、应用权限、AppVersion、请求 Schema、Interaction revision 和幂等键。业务 handler 必须再次校验地点等稳定引用。结果卡只收到声明字段的只读投影。
49
51
 
50
52
  卡片在 8 秒内无法握手、资源缺失或版本变化时,平台显示标准卡片。卡片消息不会修改 Codex 原生 SSE 文本流。这个桥采用与 MCP Apps 相同的资源/宿主调用思路,但首版不是官方 MCP Apps 线级协议;不要在应用里自行实现新工具网关或把 UI 脚本注入平台主页面。
51
53
 
@@ -386,3 +386,12 @@ if (output.status === 'pending') {
386
386
  这些方法适用于当前用户、具名业务动作和应用服务身份,沿用各自权限;业务记录绑定仍需正式数据事务。输出目前支持 OSS/MinIO,受字段上限与100MiB硬上限约束,上传凭据五分钟后过期,完成须在额外十分钟内进行。过期错误应由调用者建立新的处理意图,不能无限重试相同过期计划。下载最长五分钟,签发后到期前为短期委托,不能即时撤回。不要在日志、持久草稿或业务数据中保存签名地址、POST policy 或签名字段。
387
387
 
388
388
  主子记录共享精确金额额度、撤回修订和审批释放,请使用[精确金额占用](decimal-reservations.md)的受管提交及终态事务。
389
+
390
+
391
+ ## 解析管理员选定的组织人员
392
+
393
+ 管理员补录或身份订正应使用平台目录,不创建第二份人员主数据。具名动作声明
394
+ `platformAccess: { directory: { mode: 'selected-user', fields: ['displayName', 'employeeNumber', 'primaryDepartment', 'departments'] } }`
395
+ 后,调用 `businessDirectory.selectedUser(userId)`。仅传标准人员选择器返回的确定 ID;姓名、工号和部门均由平台返回,不能相信表单传入快照。
396
+
397
+ 此动作的调用者还需要既有 `app:<appCode>:directory:read` 权限;平台复核当前租户、环境、目录范围和人员有效期,一次只解析一人。普通用户本人报名继续使用 `currentInitiator()`。身份快照不是永久授权凭据,后续业务事务仍需检查角色、状态与额度。平台能力为 `directory.selected-user` 1.0.0;失败时保留原操作,不回退姓名匹配或应用人员表。