@stalfh233/omc-cli 0.5.5 → 0.5.7

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 (228) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +359 -359
  3. package/coverage/m1-coverage-manifest-v1.json +1414 -1414
  4. package/dist/approval-flow.js +0 -0
  5. package/dist/args.js +0 -0
  6. package/dist/artifacts.js +0 -0
  7. package/dist/batch-call.js +0 -0
  8. package/dist/bench/call-face-eval.js +0 -0
  9. package/dist/bench/context-attribution.js +0 -0
  10. package/dist/bench/discovery-cost-eval.js +0 -0
  11. package/dist/bench/driver.js +0 -0
  12. package/dist/bench/evals.js +0 -0
  13. package/dist/bench/instrument.js +0 -0
  14. package/dist/bench/intent-face-eval.js +40 -40
  15. package/dist/bench/run.js +0 -0
  16. package/dist/bench/scenario.js +0 -0
  17. package/dist/bench/types.js +0 -0
  18. package/dist/bi-wire.js +0 -0
  19. package/dist/bizservice-config.js +0 -0
  20. package/dist/call.js +0 -0
  21. package/dist/capability-absences.js +0 -0
  22. package/dist/capability-overview.js +0 -0
  23. package/dist/capability-shape.js +0 -0
  24. package/dist/cli-contract.js +0 -0
  25. package/dist/cli-output.js +0 -0
  26. package/dist/cli.js +31 -1
  27. package/dist/closest-match.js +0 -0
  28. package/dist/code-rules.js +0 -0
  29. package/dist/command-transport.js +0 -0
  30. package/dist/compound-writes.js +0 -0
  31. package/dist/compute.js +0 -0
  32. package/dist/config-store.js +0 -0
  33. package/dist/context.js +0 -0
  34. package/dist/contract-consistency.js +0 -0
  35. package/dist/contract-resources.js +0 -0
  36. package/dist/coverage-consistency.js +0 -0
  37. package/dist/coverage-registry.js +0 -0
  38. package/dist/coverage.js +0 -0
  39. package/dist/data-list-filter.js +0 -0
  40. package/dist/describe-cache.js +0 -0
  41. package/dist/discovery.js +0 -0
  42. package/dist/endpoints.js +0 -0
  43. package/dist/environment-policy.js +0 -0
  44. package/dist/execution-metadata.js +0 -0
  45. package/dist/field-add.js +238 -0
  46. package/dist/field-change.js +0 -0
  47. package/dist/field-families.js +26 -2
  48. package/dist/form-default.js +0 -0
  49. package/dist/form-layout.js +0 -0
  50. package/dist/form-support.js +0 -0
  51. package/dist/formula-lint.js +0 -0
  52. package/dist/goal-routes.js +28 -16
  53. package/dist/governed-execution.js +0 -0
  54. package/dist/graph.js +50 -33
  55. package/dist/human-summary.js +0 -0
  56. package/dist/identity.js +0 -0
  57. package/dist/intent/baseline.js +0 -0
  58. package/dist/intent/capabilities/bizservice.js +0 -0
  59. package/dist/intent/capabilities/businessrule.js +0 -0
  60. package/dist/intent/capabilities/datarule.js +0 -0
  61. package/dist/intent/capabilities/field.js +0 -0
  62. package/dist/intent/capabilities/form.js +0 -0
  63. package/dist/intent/capabilities/index.js +0 -0
  64. package/dist/intent/capabilities/listview.js +0 -0
  65. package/dist/intent/capabilities/model.js +0 -0
  66. package/dist/intent/capabilities/onlinejs.js +0 -0
  67. package/dist/intent/capabilities/report.js +0 -0
  68. package/dist/intent/capabilities/workflow.js +0 -0
  69. package/dist/intent/capability.js +0 -0
  70. package/dist/intent/cli.js +0 -0
  71. package/dist/intent/compare.js +0 -0
  72. package/dist/intent/compiler.js +0 -0
  73. package/dist/intent/dsl.js +0 -0
  74. package/dist/intent/plan-apply.js +0 -0
  75. package/dist/intent/plan-file.js +0 -0
  76. package/dist/intent/readback.js +0 -0
  77. package/dist/intent/schema.js +0 -0
  78. package/dist/intent/validation.js +0 -0
  79. package/dist/intent/yaml.js +0 -0
  80. package/dist/journal.js +0 -0
  81. package/dist/json-column.js +0 -0
  82. package/dist/lanes/app-contract.js +0 -0
  83. package/dist/lanes/app-coverage.js +0 -0
  84. package/dist/lanes/app.js +0 -0
  85. package/dist/lanes/apply-changes.js +0 -0
  86. package/dist/lanes/b2-registration-contract.js +0 -0
  87. package/dist/lanes/b2-registration-coverage.js +0 -0
  88. package/dist/lanes/b2-registration.js +0 -0
  89. package/dist/lanes/businessrule-contract.js +0 -0
  90. package/dist/lanes/businessrule-coverage.js +0 -0
  91. package/dist/lanes/businessrule.js +11 -3
  92. package/dist/lanes/contract-support.js +0 -0
  93. package/dist/lanes/coverage-declaration.js +0 -0
  94. package/dist/lanes/custom-page.js +0 -0
  95. package/dist/lanes/datarule-contract.js +0 -0
  96. package/dist/lanes/datarule-coverage.js +0 -0
  97. package/dist/lanes/datarule-protocol.js +0 -0
  98. package/dist/lanes/datarule.js +6 -0
  99. package/dist/lanes/dictionary-contract.js +0 -0
  100. package/dist/lanes/dictionary-coverage.js +0 -0
  101. package/dist/lanes/dictionary.js +0 -0
  102. package/dist/lanes/environment-contract.js +0 -0
  103. package/dist/lanes/environment-coverage.js +0 -0
  104. package/dist/lanes/environment.js +0 -0
  105. package/dist/lanes/field-contract.js +0 -0
  106. package/dist/lanes/field-coverage.js +0 -0
  107. package/dist/lanes/field.js +0 -0
  108. package/dist/lanes/folder-contract.js +0 -0
  109. package/dist/lanes/folder-coverage.js +0 -0
  110. package/dist/lanes/folder.js +0 -0
  111. package/dist/lanes/form-contract.js +0 -0
  112. package/dist/lanes/form-coverage.js +0 -0
  113. package/dist/lanes/form.js +0 -0
  114. package/dist/lanes/lane-ids.js +0 -0
  115. package/dist/lanes/list-view-contract.js +0 -0
  116. package/dist/lanes/list-view-coverage.js +0 -0
  117. package/dist/lanes/list-view-shapes.js +0 -0
  118. package/dist/lanes/list-view.js +6 -0
  119. package/dist/lanes/meta-contract.js +0 -0
  120. package/dist/lanes/meta.js +0 -0
  121. package/dist/lanes/model-contract.js +0 -0
  122. package/dist/lanes/model-coverage.js +0 -0
  123. package/dist/lanes/model.js +0 -0
  124. package/dist/lanes/online-js-contract.js +0 -0
  125. package/dist/lanes/online-js-coverage.js +0 -0
  126. package/dist/lanes/online-js.js +0 -0
  127. package/dist/lanes/org-tree.js +0 -0
  128. package/dist/lanes/organization-coverage.js +27 -0
  129. package/dist/lanes/organization.js +10 -1
  130. package/dist/lanes/report-contract.js +0 -0
  131. package/dist/lanes/report-coverage.js +0 -0
  132. package/dist/lanes/report.js +0 -0
  133. package/dist/lanes/rule-graph.js +0 -0
  134. package/dist/lanes/rule-lifecycle-contract.js +0 -0
  135. package/dist/lanes/rule-lifecycle-coverage.js +0 -0
  136. package/dist/lanes/rule-lifecycle.js +0 -0
  137. package/dist/lanes/runtime-data-contract.js +0 -0
  138. package/dist/lanes/runtime-data-coverage.js +0 -0
  139. package/dist/lanes/runtime-data.js +24 -0
  140. package/dist/lanes/workflow-contract.js +0 -0
  141. package/dist/lanes/workflow-coverage.js +0 -0
  142. package/dist/lanes/workflow.js +7 -2
  143. package/dist/mcp-graph.js +0 -0
  144. package/dist/model-purge.js +0 -0
  145. package/dist/model-record.js +0 -0
  146. package/dist/model-scaffold.js +0 -0
  147. package/dist/omc-core-lazy.js +0 -0
  148. package/dist/online-js-layout.js +0 -0
  149. package/dist/online-js-source.js +28 -28
  150. package/dist/package-tool.js +0 -0
  151. package/dist/package.js +0 -0
  152. package/dist/path-projection.js +0 -0
  153. package/dist/plan.js +0 -0
  154. package/dist/read.js +0 -0
  155. package/dist/recipes/b2-registration.js +0 -0
  156. package/dist/recipes/businessrule.js +0 -0
  157. package/dist/recipes/datarule.js +0 -0
  158. package/dist/recipes/dictionary.js +0 -0
  159. package/dist/recipes/field.js +1 -1
  160. package/dist/recipes/form.js +0 -0
  161. package/dist/recipes/list-view.js +0 -0
  162. package/dist/recipes/model.js +0 -0
  163. package/dist/recipes/online-js.js +0 -0
  164. package/dist/recipes/runtime-data.js +0 -0
  165. package/dist/recipes/shared.js +0 -0
  166. package/dist/recipes/workflow.js +0 -0
  167. package/dist/redact.js +0 -0
  168. package/dist/refusal-guidance.js +0 -0
  169. package/dist/rollback-spec.js +0 -0
  170. package/dist/rollback.js +0 -0
  171. package/dist/rule-support.js +0 -0
  172. package/dist/rule-when.js +4 -3
  173. package/dist/runtime-support.js +0 -0
  174. package/dist/script.js +0 -0
  175. package/dist/service-doctor.js +0 -0
  176. package/dist/session-manager.js +0 -0
  177. package/dist/session.js +0 -0
  178. package/dist/skills.js +0 -0
  179. package/dist/sqlite-warning-filter.js +0 -0
  180. package/dist/support.js +0 -0
  181. package/dist/token-cache.js +0 -0
  182. package/dist/tool-types.js +0 -0
  183. package/dist/tools.js +0 -0
  184. package/dist/usage-log.js +0 -0
  185. package/dist/wire.js +0 -0
  186. package/dist/workflow-support.js +0 -0
  187. package/dist/write-lease.js +0 -0
  188. package/dist/write-lock.js +0 -0
  189. package/dist/write.js +0 -0
  190. package/dist/zip.js +0 -0
  191. package/docs/images/omc-nixi/README.md +41 -41
  192. package/docs/omc-introduction.md +851 -851
  193. package/docs/tool-surface-map.md +42 -42
  194. package/package.json +3 -3
  195. package/skills/omc-acceptance-criteria.md +50 -50
  196. package/skills/omc-business-configuration.md +336 -334
  197. package/skills/omc-capabilities.md +214 -214
  198. package/skills/omc-capability-scouting.md +55 -55
  199. package/skills/omc-config-draft-review.md +175 -175
  200. package/skills/omc-five-piece-flow.md +35 -35
  201. package/skills/omc-glossary.md +86 -86
  202. package/skills/omc-refusals.md +129 -129
  203. package/skills/omc-requirement-analysis.md +161 -161
  204. package/skills/omc-requirement-vocabulary.md +61 -61
  205. package/skills/omc-start-here.md +107 -106
  206. package/skills/omc-tool-selection.md +119 -119
  207. package/skills/omc-write-hazards.md +222 -200
  208. package/dist/approval-token.js +0 -102
  209. package/dist/bench/fake-http-server.js +0 -65
  210. package/dist/fake/app.js +0 -45
  211. package/dist/fake/b2-registration.js +0 -594
  212. package/dist/fake/businessrule.js +0 -242
  213. package/dist/fake/datarule.js +0 -72
  214. package/dist/fake/dictionary.js +0 -108
  215. package/dist/fake/environment.js +0 -30
  216. package/dist/fake/field.js +0 -167
  217. package/dist/fake/form.js +0 -101
  218. package/dist/fake/index.js +0 -121
  219. package/dist/fake/list-view.js +0 -289
  220. package/dist/fake/model.js +0 -136
  221. package/dist/fake/online-js.js +0 -18
  222. package/dist/fake/report.js +0 -253
  223. package/dist/fake/routes.js +0 -47
  224. package/dist/fake/rule-lifecycle.js +0 -37
  225. package/dist/fake/runtime-data.js +0 -367
  226. package/dist/fake/state.js +0 -67
  227. package/dist/fake/workflow.js +0 -364
  228. package/dist/server.js +0 -92
File without changes
File without changes
@@ -101,7 +101,7 @@ const numericTwoDecimals = Object.freeze({
101
101
  title: "数值字段(金额,两位小数 / 整数)— scale 必填",
102
102
  status: "offline-valid",
103
103
  tool: "field.create",
104
- args: { environment, schemaCode: model, code: "applyAmount", name: "申请金额", propertyType: "NUMERICAL", options: { scale: 3 } },
104
+ args: { environment, schemaCode: model, code: "applyAmount", name: "申请金额", propertyType: "NUMERICAL", options: { scale: 2 } },
105
105
  preconditions: ["模型已存在"],
106
106
  conditionalRequirements: ["NUMERICAL 必须显式 options.scale:scale = 小数位数(0=整数, 1=1位, 2=2位 … 8=8位);缺 scale 门户显示裸 decimal 且工具会拒绝。"],
107
107
  priorToolReferences: [{ tool: "discover_environment", args: { environment }, purpose: "确认目标模型已存在" }],
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
package/dist/redact.js CHANGED
File without changes
File without changes
File without changes
package/dist/rollback.js CHANGED
File without changes
File without changes
package/dist/rule-when.js CHANGED
@@ -31,8 +31,9 @@ export function composeRuleWhenGraph(options) {
31
31
  throw new Error("至少给一个 --then 动作");
32
32
  const leaves = [];
33
33
  for (const raw of options.when) {
34
- // 最长操作符优先:>= <= ~= !~ == != > <
35
- const match = /^([A-Za-z_][A-Za-z0-9_]*)(>=|<=|~=|!~|==|!=|=|>|<)([\s\S]+)$/.exec(raw.trim());
34
+ // 最长操作符优先:>= <= ~= !~ == != > <(操作符两侧允许空格——r34 探针
35
+ // 实测 `dr_price > 1000` 因空格被拒,属于自然书写)
36
+ const match = /^([A-Za-z_][A-Za-z0-9_]*)\s*(>=|<=|~=|!~|==|!=|=|>|<)\s*([\s\S]+)$/.exec(raw.trim());
36
37
  if (!match)
37
38
  throw new Error(`--when "${raw}" 解析失败:形如 字段=值 / 字段!=值 / 字段>=数字 / 字段~=文本(包含)`);
38
39
  const [, field, op, rawValue] = match;
@@ -46,7 +47,7 @@ export function composeRuleWhenGraph(options) {
46
47
  }
47
48
  const actions = [];
48
49
  for (const raw of options.then) {
49
- const match = /^set:([A-Za-z_][A-Za-z0-9_]*)=([\s\S]*)$/.exec(raw.trim());
50
+ const match = /^set:([A-Za-z_][A-Za-z0-9_]*)\s*=\s*([\s\S]*)$/.exec(raw.trim());
50
51
  if (!match)
51
52
  throw new Error(`--then "${raw}" 解析失败:v1 只支持 set:<字段>=<字面量>、set:<字段>={来源字段} 或 set:<字段>={公式}(如 set:total={amount}*0.9)`);
52
53
  const [, field, rawValue] = match;
File without changes
package/dist/script.js CHANGED
File without changes
File without changes
File without changes
package/dist/session.js CHANGED
File without changes
package/dist/skills.js CHANGED
File without changes
File without changes
package/dist/support.js CHANGED
File without changes
File without changes
File without changes
package/dist/tools.js CHANGED
File without changes
package/dist/usage-log.js CHANGED
File without changes
package/dist/wire.js CHANGED
File without changes
File without changes
File without changes
File without changes
package/dist/write.js CHANGED
File without changes
package/dist/zip.js CHANGED
File without changes
@@ -1,41 +1,41 @@
1
- # 截图占位目录(尼西实战案例)
2
-
3
- `omc-introduction.md` 的「15. 实战一:尼西双表单与流程搭建」章节里引用了 9 张截图。
4
- 把截图按下面文件名放进本目录即可,文档中的占位说明可逐条删除。
5
-
6
- ## 客户源需求(3 张)
7
-
8
- | 文件名 | 内容 |
9
- |---|---|
10
- | `01-requirement-ft-sheet.png` | 客户 Excel 的 `FT` Sheet(字段清单 / 必填 / LotClass 显隐) |
11
- | `02-requirement-fp-sheet.png` | 客户 Excel 的 `FP` Sheet |
12
- | `03-requirement-flow.png` | 客户给的流程图(FT/FP,含 `SubConRootCause=1` 分支) |
13
-
14
- ## 对话截图(6 张)
15
-
16
- | 文件名 | 内容 |
17
- |---|---|
18
- | `04-chat-app-create.png` | 确认新建应用 + `app.create ok` |
19
- | `05-chat-intent-apply.png` | `intent apply` 返回 `DELIVERED` + `equivalent: true`(89 个动作) |
20
- | `06-chat-workflow-role.png` | 流程节点与角色路由(PIC→蔡依涛 / MOS→赵益 / AOSIT / AOSENG) |
21
- | `07-chat-permission-matrix.png` | 节点字段权限矩阵(本节点 + 之前所有节点可见) |
22
- | `08-chat-biz-integration.png` | `service.register` 注册 productType 服务 + `method.test` 返回 `PRODUCT_TYPE=MOS` |
23
- | `09-chat-onlinejs-publish.png` | `onlinejs.compose` 返回 `published: true` |
24
-
25
- ## 替换方式
26
-
27
- 文档里每处占位是:
28
-
29
- ```
30
- > **[截图 01|客户源需求:FT 表单规格]**
31
- > 占位文件:`docs/images/omc-nixi/01-requirement-ft-sheet.png`
32
- > 建议内容:...
33
- ```
34
-
35
- 落地后改成标准图片引用即可:
36
-
37
- ```markdown
38
- ![客户源需求:FT 表单规格](images/omc-nixi/01-requirement-ft-sheet.png)
39
- ```
40
-
41
- 建议截图宽度 ≥ 1200px,避免中文文字模糊。
1
+ # 截图占位目录(尼西实战案例)
2
+
3
+ `omc-introduction.md` 的「15. 实战一:尼西双表单与流程搭建」章节里引用了 9 张截图。
4
+ 把截图按下面文件名放进本目录即可,文档中的占位说明可逐条删除。
5
+
6
+ ## 客户源需求(3 张)
7
+
8
+ | 文件名 | 内容 |
9
+ |---|---|
10
+ | `01-requirement-ft-sheet.png` | 客户 Excel 的 `FT` Sheet(字段清单 / 必填 / LotClass 显隐) |
11
+ | `02-requirement-fp-sheet.png` | 客户 Excel 的 `FP` Sheet |
12
+ | `03-requirement-flow.png` | 客户给的流程图(FT/FP,含 `SubConRootCause=1` 分支) |
13
+
14
+ ## 对话截图(6 张)
15
+
16
+ | 文件名 | 内容 |
17
+ |---|---|
18
+ | `04-chat-app-create.png` | 确认新建应用 + `app.create ok` |
19
+ | `05-chat-intent-apply.png` | `intent apply` 返回 `DELIVERED` + `equivalent: true`(89 个动作) |
20
+ | `06-chat-workflow-role.png` | 流程节点与角色路由(PIC→蔡依涛 / MOS→赵益 / AOSIT / AOSENG) |
21
+ | `07-chat-permission-matrix.png` | 节点字段权限矩阵(本节点 + 之前所有节点可见) |
22
+ | `08-chat-biz-integration.png` | `service.register` 注册 productType 服务 + `method.test` 返回 `PRODUCT_TYPE=MOS` |
23
+ | `09-chat-onlinejs-publish.png` | `onlinejs.compose` 返回 `published: true` |
24
+
25
+ ## 替换方式
26
+
27
+ 文档里每处占位是:
28
+
29
+ ```
30
+ > **[截图 01|客户源需求:FT 表单规格]**
31
+ > 占位文件:`docs/images/omc-nixi/01-requirement-ft-sheet.png`
32
+ > 建议内容:...
33
+ ```
34
+
35
+ 落地后改成标准图片引用即可:
36
+
37
+ ```markdown
38
+ ![客户源需求:FT 表单规格](images/omc-nixi/01-requirement-ft-sheet.png)
39
+ ```
40
+
41
+ 建议截图宽度 ≥ 1200px,避免中文文字模糊。