@stalfh233/omc-cli 0.5.6 → 0.5.8

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 +314 -0
  46. package/dist/field-change.js +0 -0
  47. package/dist/field-families.js +0 -0
  48. package/dist/form-default.js +0 -0
  49. package/dist/form-layout.js +0 -0
  50. package/dist/form-support.js +9 -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 +1 -1
  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 +19 -1
  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 +0 -0
  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 -335
  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
@@ -1,65 +0,0 @@
1
- import { createServer } from "node:http";
2
- import { FakeCloudPivot } from "../fake/index.js";
3
- export async function startFakeHttpServer() {
4
- const server = createServer();
5
- await new Promise((resolve) => server.listen(0, "127.0.0.1", resolve));
6
- const address = server.address();
7
- if (address === null || typeof address === "string") {
8
- server.closeAllConnections?.();
9
- await new Promise((resolve) => server.close(() => resolve()));
10
- throw new Error("fake http server has no listen address");
11
- }
12
- const url = `http://127.0.0.1:${address.port}`;
13
- const fake = new FakeCloudPivot({ version: "8.6.26", baseUrl: url });
14
- server.on("request", (request, response) => {
15
- const chunks = [];
16
- request.on("data", (chunk) => chunks.push(chunk));
17
- request.on("end", () => {
18
- const target = new URL(request.url ?? "/", url);
19
- const query = {};
20
- for (const [key, value] of target.searchParams)
21
- query[key] = value;
22
- const raw = Buffer.concat(chunks);
23
- const contentType = request.headers["content-type"] ?? "";
24
- const body = raw.length === 0 ? undefined : contentType.includes("json") ? JSON.parse(raw.toString("utf8")) : raw.toString("utf8");
25
- const headers = {};
26
- for (const [key, value] of Object.entries(request.headers)) {
27
- if (typeof value === "string") {
28
- const capitalized = key.replace(/\b\w/g, (c) => c.toUpperCase()).replace(/-(\w)/g, (_m, c) => `-${c.toUpperCase()}`);
29
- headers[capitalized] = value;
30
- }
31
- }
32
- fake
33
- .request({
34
- path: target.pathname,
35
- method: request.method === "POST" ? "POST" : "GET",
36
- ...(Object.keys(query).length > 0 ? { query } : {}),
37
- ...(body === undefined ? {} : { body }),
38
- headers,
39
- })
40
- .then((result) => {
41
- const payload = Buffer.isBuffer(result.body) ? result.body : JSON.stringify(result.body);
42
- response.writeHead(result.status, Buffer.isBuffer(result.body) ? undefined : { "Content-Type": "application/json" });
43
- response.end(payload);
44
- })
45
- .catch(() => {
46
- response.writeHead(500, { "Content-Type": "application/json" });
47
- response.end(JSON.stringify({ errcode: 500, errmsg: "fake transport failure", data: null }));
48
- });
49
- });
50
- });
51
- return {
52
- fake,
53
- url,
54
- close: () => new Promise((resolve, reject) => {
55
- server.closeAllConnections?.();
56
- server.close((error) => (error ? reject(error) : resolve()));
57
- }),
58
- };
59
- }
60
- export function canonicalBusinessCalls(fake) {
61
- return JSON.stringify(fake.state.callLog
62
- .filter((entry) => !entry.path.startsWith("/user/") && !entry.path.startsWith("/api/public/") && !entry.path.startsWith("/api/api/organization/"))
63
- .map((entry) => ({ path: entry.path, method: entry.method, body: entry.body ?? null, query: entry.query && Object.keys(entry.query).length > 0 ? entry.query : null })));
64
- }
65
- //# sourceMappingURL=fake-http-server.js.map
package/dist/fake/app.js DELETED
@@ -1,45 +0,0 @@
1
- import { NOT_HANDLED } from "./state.js";
2
- /** app-management lane: application package CRUD. Twin of src/lanes/app.ts. */
3
- export const appRoute = (ctx, input) => {
4
- const q = input.query ?? {};
5
- const body = (input.body ?? {});
6
- switch (input.path) {
7
- case "/api/api/app/apppackage/list":
8
- return ctx.options.applicationList ?? [...ctx.state.apps.values()].map((app) => ({ appCode: app.code, appName: app.name, id: app.id, groupId: app.groupId, published: app.published !== false }));
9
- case "/api/api/app/apppackage/list_all_group":
10
- return [...ctx.state.appGroups.values()].map((group) => ({
11
- id: group.id,
12
- code: group.code,
13
- name: group.name,
14
- children: [...ctx.state.apps.values()].filter((app) => app.groupId === group.id).map((app) => ({ id: app.id, code: app.code, name: app.name, groupId: app.groupId })),
15
- }));
16
- case "/api/api/app/apppackage/create": {
17
- const code = String(body.code);
18
- ctx.state.apps.set(code, { id: `app-${ctx.state.apps.size + 1}`, code, name: String(body.name ?? code), groupId: String(body.groupId ?? [...ctx.state.appGroups.keys()][0] ?? "group-1") });
19
- return null;
20
- }
21
- case "/api/api/app/apppackage/get": {
22
- const app = [...ctx.state.apps.values()].find((row) => row.code === q.appCode);
23
- return app ? { id: app.id, code: app.code, name: app.name, name_i18n: JSON.stringify({ "zh-CN": app.name }), groupId: app.groupId, enabled: true } : null;
24
- }
25
- case "/api/api/app/apppackage/update": {
26
- // AppIntegrationFacadeImpl.updateAppPackage: id-required whole-record
27
- // update; explicit groupId honored; blank groupId would be forced to
28
- // the "default" group; enabled !== true wipes workflow favorites.
29
- const target = [...ctx.state.apps.values()].find((row) => row.id === body.id);
30
- if (target) {
31
- if (typeof body.groupId === "string" && body.groupId)
32
- target.groupId = body.groupId;
33
- if (typeof body.name === "string" && body.name)
34
- target.name = body.name;
35
- }
36
- return null;
37
- }
38
- case "/api/api/app/apppackage/delete":
39
- ctx.state.apps.delete(String(q.appCode));
40
- return null;
41
- default:
42
- return NOT_HANDLED;
43
- }
44
- };
45
- //# sourceMappingURL=app.js.map