openxiangda-skill-kit 2.3.121 → 2.3.122
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.
|
|
3
|
+
"version": "2.3.122",
|
|
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.69.
|
|
20
|
+
"openxiangda-devkit-core": "2.69.2"
|
|
21
21
|
},
|
|
22
22
|
"devDependencies": {
|
|
23
23
|
"tsx": "4.23.12",
|
|
@@ -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和目标平台,源码构建不等于现场可用。
|
|
@@ -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方法存在就报告接入完成。
|