@stalfh233/omc-cli 0.6.6 → 0.6.10

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 (68) hide show
  1. package/README.md +2 -1
  2. package/dist/approval-flow.js +5 -3
  3. package/dist/bizservice-config.js +26 -10
  4. package/dist/call.js +47 -0
  5. package/dist/capability-overview.js +47 -24
  6. package/dist/cli-contract.js +90 -17
  7. package/dist/cli-output.js +41 -2
  8. package/dist/cli-stdout.js +74 -0
  9. package/dist/cli.js +162 -54
  10. package/dist/command-transport.js +8 -1
  11. package/dist/config-store.js +17 -2
  12. package/dist/discovery.js +62 -3
  13. package/dist/field-families.js +35 -6
  14. package/dist/goal-routes.js +118 -11
  15. package/dist/human-summary.js +11 -0
  16. package/dist/lanes/app-contract.js +12 -5
  17. package/dist/lanes/app.js +221 -134
  18. package/dist/lanes/apply-changes.js +2 -1
  19. package/dist/lanes/b2-registration-contract.js +3 -3
  20. package/dist/lanes/b2-registration.js +890 -693
  21. package/dist/lanes/businessrule.js +75 -51
  22. package/dist/lanes/custom-page.js +166 -115
  23. package/dist/lanes/datarule-contract.js +2 -2
  24. package/dist/lanes/datarule.js +238 -154
  25. package/dist/lanes/dictionary.js +253 -110
  26. package/dist/lanes/environment.js +57 -9
  27. package/dist/lanes/field.js +160 -107
  28. package/dist/lanes/folder-contract.js +7 -3
  29. package/dist/lanes/folder.js +249 -118
  30. package/dist/lanes/form-contract.js +1 -1
  31. package/dist/lanes/form.js +188 -64
  32. package/dist/lanes/list-view.js +405 -369
  33. package/dist/lanes/meta.js +31 -6
  34. package/dist/lanes/model-contract.js +1 -1
  35. package/dist/lanes/model.js +610 -512
  36. package/dist/lanes/online-js-contract.js +1 -1
  37. package/dist/lanes/online-js.js +160 -146
  38. package/dist/lanes/organization.js +905 -640
  39. package/dist/lanes/programming.js +274 -136
  40. package/dist/lanes/report-contract.js +2 -2
  41. package/dist/lanes/report.js +354 -198
  42. package/dist/lanes/rule-lifecycle.js +294 -140
  43. package/dist/lanes/runtime-data-contract.js +4 -4
  44. package/dist/lanes/runtime-data.js +869 -745
  45. package/dist/lanes/workflow-contract.js +3 -3
  46. package/dist/lanes/workflow.js +732 -605
  47. package/dist/model-scaffold.js +26 -5
  48. package/dist/path-projection.js +196 -14
  49. package/dist/plan.js +25 -0
  50. package/dist/programming-workflow.js +55 -3
  51. package/dist/read-shapes.js +146 -0
  52. package/dist/read.js +40 -9
  53. package/dist/recipes/businessrule.js +74 -24
  54. package/dist/recipes/dictionary.js +7 -4
  55. package/dist/recipes/form.js +46 -0
  56. package/dist/recipes/runtime-data.js +3 -2
  57. package/dist/refusal-guidance.js +29 -5
  58. package/dist/rule-support.js +14 -1
  59. package/dist/rule-when.js +2 -2
  60. package/dist/tool-types.js +9 -3
  61. package/dist/version-family-gaps.js +101 -0
  62. package/dist/write.js +2 -1
  63. package/package.json +6 -4
  64. package/skills/omc-glossary.md +13 -0
  65. package/skills/omc-refusals.md +13 -5
  66. package/skills/omc-start-here.md +2 -2
  67. package/skills/omc-tool-selection.md +2 -1
  68. package/skills/omc-write-hazards.md +5 -2
@@ -196,15 +196,15 @@ export const WORKFLOW_LANE_CONTRACT = Object.freeze({
196
196
  }),
197
197
  "org.role.list": Object.freeze({
198
198
  scope: "workflow participant resolution",
199
- description: "列出组织角色(`GET /api/api/organization/role/list`),递归展开角色组,返回 {count, roleCount, groupCount, roles[{id,name,code,roleType,corpId,group}], groups[{id,name,code,path,childCount}]}。**`count` 只数角色,不含角色组**——角色组是容器(平台行标记 `group:true`),旧版把空组当角色列出,曾让调用方把「19 个角色组」误读成「目标角色未创建」;`groups[].childCount` 才说明组内是否真的没有角色。用于把审批节点的参与者解析成平台认识的引用。**真实参与者语法**(2026-09-23 生产观察):`participant` 只能是 (a) 关键字 `{Originator}`;(b) 参与者对象数组 JSON `[{\"code\":\"<roleCode>\",\"corpId\":\"<corpId|other>\",\"id\":\"<roleId>\",\"name\":\"<角色名>\",\"type\":2}]`(type 2=角色,3=用户;多个用 `+` 连接);(c) 函数表达式如 `FindUserByRole({Originator.OU},\"<roleCode>\",\"random\")`。**自由文本角色名(如 `部门负责人`)能 publish 但解析不到人、不生成待办**——先用本工具拿到 `code`/`id` 再构造对象数组。",
199
+ description: "列出组织角色(`GET /api/api/organization/role/list`),递归展开角色组,返回 {count, roleCount, groupCount, roles[{id,name,code,roleType,corpId,group,groupId,groupCode,groupName}], groups[{id,name,code,parentId,path,childCount}]}。**`count` 只数角色,不含角色组**——角色组是容器(平台行标记 `group:true`),旧版把空组当角色列出,曾让调用方把「19 个角色组」误读成「目标角色未创建」;`groups[].childCount` 才说明组内是否真的没有角色。`roles[].group` 是组名(兼容旧读法),写角色请用 `groupId`/`groupCode`。用于把审批节点的参与者解析成平台认识的引用。**真实参与者语法**(2026-09-23 生产观察):`participant` 只能是 (a) 关键字 `{Originator}`;(b) 参与者对象数组 JSON `[{\"code\":\"<roleCode>\",\"corpId\":\"<corpId|other>\",\"id\":\"<roleId>\",\"name\":\"<角色名>\",\"type\":2}]`(type 2=角色,3=用户;多个用 `+` 连接);(c) 函数表达式如 `FindUserByRole({Originator.OU},\"<roleCode>\",\"random\")`。**自由文本角色名(如 `部门负责人`)能 publish 但解析不到人、不生成待办**——先用本工具拿到 `code`/`id` 再构造对象数组。",
200
200
  }),
201
201
  "org.department.list": Object.freeze({
202
202
  scope: "workflow participant resolution",
203
- description: "列出组织结构(`GET /api/api/organization/department/tree`),扁平化为 {id,name,code,corpId,parentId}。**平台语义:不带 deptIds 只返回根部门;带 deptIds=<id> 返回该部门整棵子树(不是一层)**——工具先取根再逐个取子树,支持多层;可选 parentId 只看子树。用于需要按部门解析审批人(配合 `FindUserByRole({Originator.OU},\"<roleCode>\",\"random\")` 或部门引用)时取得真实 code/id。",
203
+ description: "列出组织结构(`GET /api/api/organization/department/tree`),扁平化为 {id,name,code,corpId,parentId}。**平台语义:不带 deptIds 只返回根部门;带 deptIds=<id> 返回该部门整棵子树(不是一层)**——工具先取根再逐个取子树,支持多层;可选 parentId 只看子树。compact 读回仍保留 `{id,name,code,parentId}`(不会压成 `id|name` 丢掉层级)。用于需要按部门解析审批人(配合 `FindUserByRole({Originator.OU},\"<roleCode>\",\"random\")` 或部门引用)时取得真实 code/id。",
204
204
  }),
205
205
  "org.user.search": Object.freeze({
206
206
  scope: "workflow participant resolution",
207
- description: "按关键字搜索用户(`POST /api/api/organization/user/search`,body `{wd,page,size,filterType?}`,返回 {id,name,username,userId,departmentId,corpId,status})。平台 `wd` 必填、空串报 10005,所以**省略 wd 时不打 user/search**:工具改为遍历部门树(`organization/department/tree` + `department/list_user`)聚合成全员清单(返回 `keyword:null` 与 `departmentsScanned`;>200 部门会带 `truncated`)。用于把「张三」解析成真实用户 id/username 再构造参与者对象(`[{\"code\":\"<username|userId>\",\"corpId\":\"<corpId|other>\",\"id\":\"<userId>\",\"name\":\"<姓名>\",\"type\":3}]`,type 3=用户 / 2=角色 / 多个用 `+` 连接);只要某部门的人用 org.department.users,角色用 org.role.list。",
207
+ description: "按关键字搜索用户(`POST /api/api/organization/user/search`,body `{wd,page,size,filterType?}`,返回 {id,name,username,userId,departmentId,corpId,status})。平台 `wd` 必填、空串报 10005,所以**省略 wd 时不打 user/search**:工具改为遍历部门树(`organization/department/tree` + `department/list_user`)聚合成全员清单(返回 `keyword:null` 与 `departmentsScanned`;>200 部门会带 `truncated`)。≤50 人默认内联 `{id,name,username,departmentId}`,更大才外置 artifact。用于把「张三」解析成真实用户 id/username 再构造参与者对象(`[{\"code\":\"<username|userId>\",\"corpId\":\"<corpId|other>\",\"id\":\"<userId>\",\"name\":\"<姓名>\",\"type\":3}]`,type 3=用户 / 2=角色 / 多个用 `+` 连接);只要某部门的人用 org.department.users,角色用 org.role.list。",
208
208
  }),
209
209
  "workitem.list": Object.freeze({
210
210
  scope: "runtime workflow work-item query",