@yss123/cage-cli 0.3.0 → 0.3.2

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 (388) hide show
  1. package/README.md +7 -3
  2. package/dist/approval-tree.d.ts +88 -0
  3. package/dist/approval-tree.js +18 -0
  4. package/dist/approval-tree.js.map +1 -0
  5. package/dist/capabilities.js +46 -31
  6. package/dist/capabilities.js.map +1 -1
  7. package/dist/graph-approvals.d.ts +11 -1
  8. package/dist/graph-approvals.js +18 -5
  9. package/dist/graph-approvals.js.map +1 -1
  10. package/dist/graph-relations.js +10 -8
  11. package/dist/graph-relations.js.map +1 -1
  12. package/dist/graph.js +2 -0
  13. package/dist/graph.js.map +1 -1
  14. package/dist/main.js +1 -1
  15. package/dist/main.js.map +1 -1
  16. package/dist/ontology.js +8 -5
  17. package/dist/ontology.js.map +1 -1
  18. package/dist/project-structure.js +2 -2
  19. package/dist/project-structure.js.map +1 -1
  20. package/dist/sync.d.ts +1 -1
  21. package/dist/sync.js +25 -108
  22. package/dist/sync.js.map +1 -1
  23. package/graph-ui/approval-flow.js +28 -8
  24. package/graph-ui/approval-parallel.js +110 -0
  25. package/graph-ui/approval-tree.js +17 -0
  26. package/graph-ui/business.css +26 -0
  27. package/graph-ui/business.js +30 -13
  28. package/graph-ui/graph-approvals.js +18 -5
  29. package/graph-ui/graph-relations.js +10 -8
  30. package/package.json +6 -6
  31. package/templates/app/.agents/skills/cage-development/SKILL.md +10 -0
  32. package/templates/app/AGENTS.md +39 -122
  33. package/templates/app/CLAUDE.md +6 -0
  34. package/templates/app/README.md +9 -8
  35. package/templates/app/apps/api/package.json +2 -2
  36. package/templates/app/apps/web/package.json +1 -1
  37. package/templates/app/apps/web/src/modules/approval/components/task-operation-dialog.tsx +61 -0
  38. package/templates/app/apps/web/src/modules/approval/hooks/use-approval-tasks.ts +6 -9
  39. package/templates/app/apps/web/src/modules/approval/pages/approval-tasks-page.tsx +81 -49
  40. package/templates/app/apps/web/src/modules/approval/pages/approval-tasks.css +18 -0
  41. package/templates/app/apps/web/src/modules/purchase/components/approval-history.tsx +39 -4
  42. package/templates/app/apps/web/src/modules/purchase/components/order-reviewers.tsx +38 -0
  43. package/templates/app/apps/web/src/modules/purchase/components/purchase-order-form.tsx +9 -2
  44. package/templates/app/apps/web/src/modules/purchase/pages/purchase-intelligence.css +2 -0
  45. package/templates/app/apps/web/src/modules/purchase/pages/purchase-order-detail-page.tsx +2 -0
  46. package/templates/app/apps/web/src/modules/purchase/pages/purchase-orders-page.tsx +2 -0
  47. package/templates/app/apps/web/src/shared/lib/error-message.ts +6 -1
  48. package/templates/app/apps/web/src/shared/ui/approval-member-picker.css +10 -0
  49. package/templates/app/apps/web/src/shared/ui/approval-member-picker.tsx +51 -0
  50. package/templates/app/cage.config.json +14 -0
  51. package/templates/app/db/migrations/0004_draft.sql +27 -0
  52. package/templates/app/docs/README.md +11 -0
  53. package/templates/app/docs/development/README.md +64 -0
  54. package/templates/app/docs/development/examples/note/note-detail-page.tsx +106 -0
  55. package/templates/app/docs/development/examples/note/note.ts +67 -0
  56. package/templates/app/docs/development/examples/note/notes-page.tsx +87 -0
  57. package/templates/{blank/docs/ai → app/docs/development/examples}/purchase-example.md +24 -10
  58. package/templates/{blank/docs/ai → app/docs/development/getting-started}/architecture.md +4 -4
  59. package/templates/app/docs/development/getting-started/first-feature.md +66 -0
  60. package/templates/{blank/docs/ai → app/docs/development/getting-started}/workflow.md +13 -12
  61. package/templates/app/docs/development/guides/approvals.md +270 -0
  62. package/templates/app/docs/development/guides/business-collaboration.md +63 -0
  63. package/templates/{blank/docs/ai → app/docs/development/guides}/files.md +5 -1
  64. package/templates/app/docs/{ai → development/guides}/intelligence.md +4 -4
  65. package/templates/{blank/docs/ai → app/docs/development/guides}/recipes.md +31 -11
  66. package/templates/app/docs/{ai → development/guides}/relations.md +2 -2
  67. package/templates/app/docs/{ai → development/guides}/routing.md +1 -1
  68. package/templates/{blank/docs/ai → app/docs/development/guides}/transfers.md +1 -1
  69. package/templates/{blank/docs/ai → app/docs/development/reference}/commenting.md +1 -1
  70. package/templates/app/docs/{ai → development/reference}/primitives.md +8 -62
  71. package/templates/app/docs/{ai → development/reference}/project-structure.md +2 -2
  72. package/templates/app/docs/development/skills/cage-development/SKILL.md +134 -0
  73. package/templates/{blank/docs/ai → app/docs/development/tools}/diagnostics.md +3 -3
  74. package/templates/{blank/docs/ai → app/docs/development/tools}/ontology-context.md +3 -3
  75. package/templates/app/docs/{ai → development/tools}/troubleshooting.md +7 -1
  76. package/templates/app/docs/errors/CAGE-AI-001.md +3 -3
  77. package/templates/app/docs/errors/CAGE-APPR-001.md +13 -10
  78. package/templates/app/docs/errors/CAGE-APPR-002.md +1 -1
  79. package/templates/app/docs/errors/CAGE-APPR-003.md +1 -1
  80. package/templates/app/docs/errors/CAGE-APPR-004.md +1 -1
  81. package/templates/app/docs/errors/CAGE-APPR-005.md +5 -5
  82. package/templates/app/docs/errors/CAGE-APPR-006.md +25 -10
  83. package/templates/app/docs/errors/CAGE-APPR-007.md +9 -7
  84. package/templates/app/docs/errors/CAGE-APPR-010.md +1 -1
  85. package/templates/app/docs/errors/CAGE-AUDIT-001.md +1 -1
  86. package/templates/app/docs/errors/CAGE-AUTH-001.md +1 -1
  87. package/templates/app/docs/errors/CAGE-BIZ-001.md +1 -1
  88. package/templates/app/docs/errors/CAGE-BIZ-002.md +1 -1
  89. package/templates/app/docs/errors/CAGE-BUDGET-001.md +1 -1
  90. package/templates/app/docs/errors/CAGE-BUDGET-002.md +1 -1
  91. package/templates/app/docs/errors/CAGE-BUDGET-003.md +1 -1
  92. package/templates/app/docs/errors/CAGE-CMD-002.md +1 -1
  93. package/templates/app/docs/errors/CAGE-CMD-003.md +1 -1
  94. package/templates/app/docs/errors/CAGE-CONN-001.md +1 -1
  95. package/templates/app/docs/errors/CAGE-CONN-002.md +1 -1
  96. package/templates/app/docs/errors/CAGE-CONN-003.md +1 -1
  97. package/templates/app/docs/errors/CAGE-CONN-004.md +1 -1
  98. package/templates/app/docs/errors/CAGE-CONN-005.md +1 -1
  99. package/templates/app/docs/errors/CAGE-CONN-006.md +1 -1
  100. package/templates/app/docs/errors/CAGE-CONN-007.md +1 -1
  101. package/templates/app/docs/errors/CAGE-CONN-008.md +1 -1
  102. package/templates/app/docs/errors/CAGE-CONN-009.md +1 -1
  103. package/templates/app/docs/errors/CAGE-CONN-010.md +1 -1
  104. package/templates/app/docs/errors/CAGE-CONN-011.md +1 -1
  105. package/templates/app/docs/errors/CAGE-CONN-012.md +1 -1
  106. package/templates/app/docs/errors/CAGE-CONN-013.md +1 -1
  107. package/templates/app/docs/errors/CAGE-CONN-014.md +1 -1
  108. package/templates/app/docs/errors/CAGE-CONN-015.md +1 -1
  109. package/templates/app/docs/errors/CAGE-CREATE-001.md +2 -2
  110. package/templates/app/docs/errors/CAGE-DECL-001.md +1 -1
  111. package/templates/app/docs/errors/CAGE-DECL-002.md +1 -1
  112. package/templates/app/docs/errors/CAGE-DECL-003.md +1 -1
  113. package/templates/app/docs/errors/CAGE-DECL-004.md +1 -1
  114. package/templates/app/docs/errors/CAGE-DEP-001.md +1 -1
  115. package/templates/app/docs/errors/CAGE-DEP-002.md +1 -1
  116. package/templates/app/docs/errors/CAGE-DEP-003.md +1 -1
  117. package/templates/app/docs/errors/CAGE-DEP-004.md +1 -1
  118. package/templates/app/docs/errors/CAGE-DEP-005.md +1 -1
  119. package/templates/app/docs/errors/CAGE-DIAG-001.md +1 -1
  120. package/templates/app/docs/errors/CAGE-DLQ-001.md +1 -1
  121. package/templates/app/docs/errors/CAGE-ENV-001.md +1 -1
  122. package/templates/app/docs/errors/CAGE-ENV-002.md +1 -1
  123. package/templates/app/docs/errors/CAGE-ENV-003.md +1 -1
  124. package/templates/app/docs/errors/CAGE-EVENT-001.md +2 -2
  125. package/templates/app/docs/errors/CAGE-EVENT-002.md +1 -1
  126. package/templates/app/docs/errors/CAGE-FIELD-001.md +1 -1
  127. package/templates/app/docs/errors/CAGE-FIELD-002.md +1 -1
  128. package/templates/app/docs/errors/CAGE-FIELD-003.md +1 -1
  129. package/templates/app/docs/errors/CAGE-FIELD-004.md +1 -1
  130. package/templates/app/docs/errors/CAGE-FILE-001.md +1 -1
  131. package/templates/app/docs/errors/CAGE-GEN-001.md +1 -1
  132. package/templates/app/docs/errors/CAGE-GEN-002.md +1 -1
  133. package/templates/app/docs/errors/CAGE-GEN-003.md +1 -1
  134. package/templates/app/docs/errors/CAGE-GRANT-001.md +1 -1
  135. package/templates/app/docs/errors/CAGE-GRANT-002.md +1 -1
  136. package/templates/app/docs/errors/CAGE-GRANT-003.md +1 -1
  137. package/templates/app/docs/errors/CAGE-IMPACT-001.md +1 -1
  138. package/templates/app/docs/errors/CAGE-IMPACT-002.md +1 -1
  139. package/templates/app/docs/errors/CAGE-INIT-001.md +1 -1
  140. package/templates/app/docs/errors/CAGE-INIT-002.md +1 -1
  141. package/templates/app/docs/errors/CAGE-INIT-003.md +1 -1
  142. package/templates/app/docs/errors/CAGE-INIT-004.md +1 -1
  143. package/templates/app/docs/errors/CAGE-INIT-005.md +1 -1
  144. package/templates/app/docs/errors/CAGE-JOB-001.md +1 -1
  145. package/templates/app/docs/errors/CAGE-JOB-002.md +1 -1
  146. package/templates/app/docs/errors/CAGE-JOB-003.md +1 -1
  147. package/templates/app/docs/errors/CAGE-LINT-001.md +1 -1
  148. package/templates/app/docs/errors/CAGE-MIG-001.md +1 -1
  149. package/templates/app/docs/errors/CAGE-MIG-002.md +1 -1
  150. package/templates/app/docs/errors/CAGE-MIG-005.md +1 -1
  151. package/templates/app/docs/errors/CAGE-NAME-001.md +1 -1
  152. package/templates/app/docs/errors/CAGE-NAME-002.md +1 -1
  153. package/templates/app/docs/errors/CAGE-NAME-003.md +1 -1
  154. package/templates/app/docs/errors/CAGE-NAME-004.md +1 -1
  155. package/templates/app/docs/errors/CAGE-NAME-005.md +1 -1
  156. package/templates/app/docs/errors/CAGE-NAME-006.md +1 -1
  157. package/templates/app/docs/errors/CAGE-ORG-001.md +1 -1
  158. package/templates/app/docs/errors/CAGE-PAIR-002.md +1 -1
  159. package/templates/app/docs/errors/CAGE-QUERY-001.md +1 -1
  160. package/templates/app/docs/errors/CAGE-QUERY-002.md +1 -1
  161. package/templates/app/docs/errors/CAGE-QUERY-003.md +1 -1
  162. package/templates/app/docs/errors/CAGE-REACT-001.md +1 -1
  163. package/templates/app/docs/errors/CAGE-REACT-002.md +1 -1
  164. package/templates/app/docs/errors/CAGE-REACT-003.md +1 -1
  165. package/templates/app/docs/errors/CAGE-READS-001.md +1 -1
  166. package/templates/app/docs/errors/CAGE-REG-001.md +2 -2
  167. package/templates/app/docs/errors/CAGE-REG-002.md +1 -1
  168. package/templates/app/docs/errors/CAGE-REG-003.md +1 -1
  169. package/templates/app/docs/errors/CAGE-REL-001.md +1 -1
  170. package/templates/app/docs/errors/CAGE-ROUTE-001.md +1 -1
  171. package/templates/app/docs/errors/CAGE-SCOPE-001.md +1 -1
  172. package/templates/app/docs/errors/CAGE-SCOPE-002.md +1 -1
  173. package/templates/app/docs/errors/CAGE-SECRET-001.md +1 -1
  174. package/templates/app/docs/errors/CAGE-SECRET-002.md +1 -1
  175. package/templates/app/docs/errors/CAGE-SENS-001.md +1 -1
  176. package/templates/app/docs/errors/CAGE-SQL-001.md +1 -1
  177. package/templates/app/docs/errors/CAGE-SQL-002.md +1 -1
  178. package/templates/app/docs/errors/CAGE-STATE-001.md +1 -1
  179. package/templates/app/docs/errors/CAGE-STATE-002.md +1 -1
  180. package/templates/app/docs/errors/CAGE-STATE-003.md +1 -1
  181. package/templates/app/docs/errors/CAGE-STATE-004.md +1 -1
  182. package/templates/app/docs/errors/CAGE-STATE-005.md +1 -1
  183. package/templates/app/docs/errors/CAGE-STATE-010.md +1 -1
  184. package/templates/app/docs/errors/CAGE-STATE-011.md +1 -1
  185. package/templates/app/docs/errors/CAGE-STRUCT-001.md +4 -4
  186. package/templates/app/docs/errors/CAGE-STRUCT-002.md +3 -3
  187. package/templates/app/docs/errors/CAGE-SYNC-001.md +4 -4
  188. package/templates/app/docs/errors/CAGE-TEST-001.md +1 -1
  189. package/templates/app/docs/errors/CAGE-TEST-002.md +1 -1
  190. package/templates/app/docs/errors/CAGE-TEST-003.md +1 -1
  191. package/templates/app/docs/errors/CAGE-UNSAFE-001.md +1 -1
  192. package/templates/app/docs/errors/CAGE-UPGRADE-001.md +1 -1
  193. package/templates/app/docs/errors/CAGE-WORKER-001.md +1 -1
  194. package/templates/app/docs/errors/CAGE-WORKER-002.md +1 -1
  195. package/templates/app/docs/errors/CAGE-WORKER-003.md +1 -1
  196. package/templates/app/docs/errors/README.md +3 -3
  197. package/templates/app/docs/errors/runtime.md +1 -1
  198. package/templates/app/package.json +3 -3
  199. package/templates/app/packages/contracts/package.json +1 -1
  200. package/templates/app/packages/contracts/src/aggregates/approval-member/index.ts +70 -0
  201. package/templates/app/packages/contracts/src/aggregates/purchase-order/index.ts +10 -2
  202. package/templates/app/packages/contracts/src/index.ts +9 -0
  203. package/templates/app/packages/domain/package.json +5 -5
  204. package/templates/app/packages/domain/src/modules/purchase/approval-members.ts +54 -0
  205. package/templates/app/packages/domain/src/modules/purchase/approvals.ts +19 -8
  206. package/templates/app/packages/domain/src/modules/purchase/index.ts +2 -1
  207. package/templates/app/packages/domain/src/modules/purchase/intelligence.test.ts +169 -7
  208. package/templates/app/packages/domain/src/modules/purchase/purchase-order.ts +56 -5
  209. package/templates/blank/.agents/skills/cage-development/SKILL.md +10 -0
  210. package/templates/blank/AGENTS.md +39 -122
  211. package/templates/blank/CLAUDE.md +6 -0
  212. package/templates/blank/README.md +3 -3
  213. package/templates/blank/apps/api/package.json +1 -1
  214. package/templates/blank/apps/web/package.json +1 -1
  215. package/templates/blank/docs/README.md +11 -0
  216. package/templates/blank/docs/development/README.md +64 -0
  217. package/templates/blank/docs/development/examples/note/note-detail-page.tsx +106 -0
  218. package/templates/blank/docs/development/examples/note/note.ts +67 -0
  219. package/templates/blank/docs/development/examples/note/notes-page.tsx +87 -0
  220. package/templates/{app/docs/ai → blank/docs/development/examples}/purchase-example.md +24 -10
  221. package/templates/{app/docs/ai → blank/docs/development/getting-started}/architecture.md +4 -4
  222. package/templates/blank/docs/development/getting-started/first-feature.md +66 -0
  223. package/templates/{app/docs/ai → blank/docs/development/getting-started}/workflow.md +13 -12
  224. package/templates/blank/docs/development/guides/approvals.md +270 -0
  225. package/templates/blank/docs/development/guides/business-collaboration.md +63 -0
  226. package/templates/{app/docs/ai → blank/docs/development/guides}/files.md +5 -1
  227. package/templates/blank/docs/{ai → development/guides}/intelligence.md +4 -4
  228. package/templates/{app/docs/ai → blank/docs/development/guides}/recipes.md +31 -11
  229. package/templates/blank/docs/{ai → development/guides}/relations.md +2 -2
  230. package/templates/blank/docs/{ai → development/guides}/routing.md +1 -1
  231. package/templates/{app/docs/ai → blank/docs/development/guides}/transfers.md +1 -1
  232. package/templates/{app/docs/ai → blank/docs/development/reference}/commenting.md +1 -1
  233. package/templates/blank/docs/{ai → development/reference}/primitives.md +8 -62
  234. package/templates/blank/docs/{ai → development/reference}/project-structure.md +2 -2
  235. package/templates/blank/docs/development/skills/cage-development/SKILL.md +134 -0
  236. package/templates/{app/docs/ai → blank/docs/development/tools}/diagnostics.md +3 -3
  237. package/templates/{app/docs/ai → blank/docs/development/tools}/ontology-context.md +3 -3
  238. package/templates/blank/docs/{ai → development/tools}/troubleshooting.md +7 -1
  239. package/templates/blank/docs/errors/CAGE-AI-001.md +3 -3
  240. package/templates/blank/docs/errors/CAGE-APPR-001.md +13 -10
  241. package/templates/blank/docs/errors/CAGE-APPR-002.md +1 -1
  242. package/templates/blank/docs/errors/CAGE-APPR-003.md +1 -1
  243. package/templates/blank/docs/errors/CAGE-APPR-004.md +1 -1
  244. package/templates/blank/docs/errors/CAGE-APPR-005.md +5 -5
  245. package/templates/blank/docs/errors/CAGE-APPR-006.md +25 -10
  246. package/templates/blank/docs/errors/CAGE-APPR-007.md +9 -7
  247. package/templates/blank/docs/errors/CAGE-APPR-010.md +1 -1
  248. package/templates/blank/docs/errors/CAGE-AUDIT-001.md +1 -1
  249. package/templates/blank/docs/errors/CAGE-AUTH-001.md +1 -1
  250. package/templates/blank/docs/errors/CAGE-BIZ-001.md +1 -1
  251. package/templates/blank/docs/errors/CAGE-BIZ-002.md +1 -1
  252. package/templates/blank/docs/errors/CAGE-BUDGET-001.md +1 -1
  253. package/templates/blank/docs/errors/CAGE-BUDGET-002.md +1 -1
  254. package/templates/blank/docs/errors/CAGE-BUDGET-003.md +1 -1
  255. package/templates/blank/docs/errors/CAGE-CMD-002.md +1 -1
  256. package/templates/blank/docs/errors/CAGE-CMD-003.md +1 -1
  257. package/templates/blank/docs/errors/CAGE-CONN-001.md +1 -1
  258. package/templates/blank/docs/errors/CAGE-CONN-002.md +1 -1
  259. package/templates/blank/docs/errors/CAGE-CONN-003.md +1 -1
  260. package/templates/blank/docs/errors/CAGE-CONN-004.md +1 -1
  261. package/templates/blank/docs/errors/CAGE-CONN-005.md +1 -1
  262. package/templates/blank/docs/errors/CAGE-CONN-006.md +1 -1
  263. package/templates/blank/docs/errors/CAGE-CONN-007.md +1 -1
  264. package/templates/blank/docs/errors/CAGE-CONN-008.md +1 -1
  265. package/templates/blank/docs/errors/CAGE-CONN-009.md +1 -1
  266. package/templates/blank/docs/errors/CAGE-CONN-010.md +1 -1
  267. package/templates/blank/docs/errors/CAGE-CONN-011.md +1 -1
  268. package/templates/blank/docs/errors/CAGE-CONN-012.md +1 -1
  269. package/templates/blank/docs/errors/CAGE-CONN-013.md +1 -1
  270. package/templates/blank/docs/errors/CAGE-CONN-014.md +1 -1
  271. package/templates/blank/docs/errors/CAGE-CONN-015.md +1 -1
  272. package/templates/blank/docs/errors/CAGE-CREATE-001.md +2 -2
  273. package/templates/blank/docs/errors/CAGE-DECL-001.md +1 -1
  274. package/templates/blank/docs/errors/CAGE-DECL-002.md +1 -1
  275. package/templates/blank/docs/errors/CAGE-DECL-003.md +1 -1
  276. package/templates/blank/docs/errors/CAGE-DECL-004.md +1 -1
  277. package/templates/blank/docs/errors/CAGE-DEP-001.md +1 -1
  278. package/templates/blank/docs/errors/CAGE-DEP-002.md +1 -1
  279. package/templates/blank/docs/errors/CAGE-DEP-003.md +1 -1
  280. package/templates/blank/docs/errors/CAGE-DEP-004.md +1 -1
  281. package/templates/blank/docs/errors/CAGE-DEP-005.md +1 -1
  282. package/templates/blank/docs/errors/CAGE-DIAG-001.md +1 -1
  283. package/templates/blank/docs/errors/CAGE-DLQ-001.md +1 -1
  284. package/templates/blank/docs/errors/CAGE-ENV-001.md +1 -1
  285. package/templates/blank/docs/errors/CAGE-ENV-002.md +1 -1
  286. package/templates/blank/docs/errors/CAGE-ENV-003.md +1 -1
  287. package/templates/blank/docs/errors/CAGE-EVENT-001.md +2 -2
  288. package/templates/blank/docs/errors/CAGE-EVENT-002.md +1 -1
  289. package/templates/blank/docs/errors/CAGE-FIELD-001.md +1 -1
  290. package/templates/blank/docs/errors/CAGE-FIELD-002.md +1 -1
  291. package/templates/blank/docs/errors/CAGE-FIELD-003.md +1 -1
  292. package/templates/blank/docs/errors/CAGE-FIELD-004.md +1 -1
  293. package/templates/blank/docs/errors/CAGE-FILE-001.md +1 -1
  294. package/templates/blank/docs/errors/CAGE-GEN-001.md +1 -1
  295. package/templates/blank/docs/errors/CAGE-GEN-002.md +1 -1
  296. package/templates/blank/docs/errors/CAGE-GEN-003.md +1 -1
  297. package/templates/blank/docs/errors/CAGE-GRANT-001.md +1 -1
  298. package/templates/blank/docs/errors/CAGE-GRANT-002.md +1 -1
  299. package/templates/blank/docs/errors/CAGE-GRANT-003.md +1 -1
  300. package/templates/blank/docs/errors/CAGE-IMPACT-001.md +1 -1
  301. package/templates/blank/docs/errors/CAGE-IMPACT-002.md +1 -1
  302. package/templates/blank/docs/errors/CAGE-INIT-001.md +1 -1
  303. package/templates/blank/docs/errors/CAGE-INIT-002.md +1 -1
  304. package/templates/blank/docs/errors/CAGE-INIT-003.md +1 -1
  305. package/templates/blank/docs/errors/CAGE-INIT-004.md +1 -1
  306. package/templates/blank/docs/errors/CAGE-INIT-005.md +1 -1
  307. package/templates/blank/docs/errors/CAGE-JOB-001.md +1 -1
  308. package/templates/blank/docs/errors/CAGE-JOB-002.md +1 -1
  309. package/templates/blank/docs/errors/CAGE-JOB-003.md +1 -1
  310. package/templates/blank/docs/errors/CAGE-LINT-001.md +1 -1
  311. package/templates/blank/docs/errors/CAGE-MIG-001.md +1 -1
  312. package/templates/blank/docs/errors/CAGE-MIG-002.md +1 -1
  313. package/templates/blank/docs/errors/CAGE-MIG-005.md +1 -1
  314. package/templates/blank/docs/errors/CAGE-NAME-001.md +1 -1
  315. package/templates/blank/docs/errors/CAGE-NAME-002.md +1 -1
  316. package/templates/blank/docs/errors/CAGE-NAME-003.md +1 -1
  317. package/templates/blank/docs/errors/CAGE-NAME-004.md +1 -1
  318. package/templates/blank/docs/errors/CAGE-NAME-005.md +1 -1
  319. package/templates/blank/docs/errors/CAGE-NAME-006.md +1 -1
  320. package/templates/blank/docs/errors/CAGE-ORG-001.md +1 -1
  321. package/templates/blank/docs/errors/CAGE-PAIR-002.md +1 -1
  322. package/templates/blank/docs/errors/CAGE-QUERY-001.md +1 -1
  323. package/templates/blank/docs/errors/CAGE-QUERY-002.md +1 -1
  324. package/templates/blank/docs/errors/CAGE-QUERY-003.md +1 -1
  325. package/templates/blank/docs/errors/CAGE-REACT-001.md +1 -1
  326. package/templates/blank/docs/errors/CAGE-REACT-002.md +1 -1
  327. package/templates/blank/docs/errors/CAGE-REACT-003.md +1 -1
  328. package/templates/blank/docs/errors/CAGE-READS-001.md +1 -1
  329. package/templates/blank/docs/errors/CAGE-REG-001.md +2 -2
  330. package/templates/blank/docs/errors/CAGE-REG-002.md +1 -1
  331. package/templates/blank/docs/errors/CAGE-REG-003.md +1 -1
  332. package/templates/blank/docs/errors/CAGE-REL-001.md +1 -1
  333. package/templates/blank/docs/errors/CAGE-ROUTE-001.md +1 -1
  334. package/templates/blank/docs/errors/CAGE-SCOPE-001.md +1 -1
  335. package/templates/blank/docs/errors/CAGE-SCOPE-002.md +1 -1
  336. package/templates/blank/docs/errors/CAGE-SECRET-001.md +1 -1
  337. package/templates/blank/docs/errors/CAGE-SECRET-002.md +1 -1
  338. package/templates/blank/docs/errors/CAGE-SENS-001.md +1 -1
  339. package/templates/blank/docs/errors/CAGE-SQL-001.md +1 -1
  340. package/templates/blank/docs/errors/CAGE-SQL-002.md +1 -1
  341. package/templates/blank/docs/errors/CAGE-STATE-001.md +1 -1
  342. package/templates/blank/docs/errors/CAGE-STATE-002.md +1 -1
  343. package/templates/blank/docs/errors/CAGE-STATE-003.md +1 -1
  344. package/templates/blank/docs/errors/CAGE-STATE-004.md +1 -1
  345. package/templates/blank/docs/errors/CAGE-STATE-005.md +1 -1
  346. package/templates/blank/docs/errors/CAGE-STATE-010.md +1 -1
  347. package/templates/blank/docs/errors/CAGE-STATE-011.md +1 -1
  348. package/templates/blank/docs/errors/CAGE-STRUCT-001.md +4 -4
  349. package/templates/blank/docs/errors/CAGE-STRUCT-002.md +3 -3
  350. package/templates/blank/docs/errors/CAGE-SYNC-001.md +4 -4
  351. package/templates/blank/docs/errors/CAGE-TEST-001.md +1 -1
  352. package/templates/blank/docs/errors/CAGE-TEST-002.md +1 -1
  353. package/templates/blank/docs/errors/CAGE-TEST-003.md +1 -1
  354. package/templates/blank/docs/errors/CAGE-UNSAFE-001.md +1 -1
  355. package/templates/blank/docs/errors/CAGE-UPGRADE-001.md +1 -1
  356. package/templates/blank/docs/errors/CAGE-WORKER-001.md +1 -1
  357. package/templates/blank/docs/errors/CAGE-WORKER-002.md +1 -1
  358. package/templates/blank/docs/errors/CAGE-WORKER-003.md +1 -1
  359. package/templates/blank/docs/errors/README.md +3 -3
  360. package/templates/blank/docs/errors/runtime.md +1 -1
  361. package/templates/blank/docs/examples/purchase-admin/README.md +1 -1
  362. package/templates/blank/docs/examples/purchase-admin/apps/web/src/modules/approval/components/task-operation-dialog.tsx +61 -0
  363. package/templates/blank/docs/examples/purchase-admin/apps/web/src/modules/approval/hooks/use-approval-tasks.ts +6 -9
  364. package/templates/blank/docs/examples/purchase-admin/apps/web/src/modules/approval/pages/approval-tasks-page.tsx +81 -49
  365. package/templates/blank/docs/examples/purchase-admin/apps/web/src/modules/approval/pages/approval-tasks.css +18 -0
  366. package/templates/blank/docs/examples/purchase-admin/apps/web/src/modules/purchase/components/approval-history.tsx +39 -4
  367. package/templates/blank/docs/examples/purchase-admin/apps/web/src/modules/purchase/components/order-reviewers.tsx +38 -0
  368. package/templates/blank/docs/examples/purchase-admin/apps/web/src/modules/purchase/components/purchase-order-form.tsx +9 -2
  369. package/templates/blank/docs/examples/purchase-admin/apps/web/src/modules/purchase/pages/purchase-intelligence.css +2 -0
  370. package/templates/blank/docs/examples/purchase-admin/apps/web/src/modules/purchase/pages/purchase-order-detail-page.tsx +2 -0
  371. package/templates/blank/docs/examples/purchase-admin/apps/web/src/modules/purchase/pages/purchase-orders-page.tsx +2 -0
  372. package/templates/blank/docs/examples/purchase-admin/apps/web/src/shared/lib/error-message.ts +6 -1
  373. package/templates/blank/docs/examples/purchase-admin/apps/web/src/shared/ui/approval-member-picker.css +10 -0
  374. package/templates/blank/docs/examples/purchase-admin/apps/web/src/shared/ui/approval-member-picker.tsx +51 -0
  375. package/templates/blank/docs/examples/purchase-admin/cage.config.json +14 -0
  376. package/templates/blank/docs/examples/purchase-admin/packages/contracts/src/aggregates/approval-member/index.ts +70 -0
  377. package/templates/blank/docs/examples/purchase-admin/packages/contracts/src/aggregates/purchase-order/index.ts +10 -2
  378. package/templates/blank/docs/examples/purchase-admin/packages/contracts/src/index.ts +9 -0
  379. package/templates/blank/docs/examples/purchase-admin/packages/domain/src/modules/purchase/approval-members.ts +54 -0
  380. package/templates/blank/docs/examples/purchase-admin/packages/domain/src/modules/purchase/approvals.ts +19 -8
  381. package/templates/blank/docs/examples/purchase-admin/packages/domain/src/modules/purchase/index.ts +2 -1
  382. package/templates/blank/docs/examples/purchase-admin/packages/domain/src/modules/purchase/intelligence.test.ts +169 -7
  383. package/templates/blank/docs/examples/purchase-admin/packages/domain/src/modules/purchase/purchase-order.ts +56 -5
  384. package/templates/blank/package.json +3 -3
  385. package/templates/blank/packages/contracts/package.json +1 -1
  386. package/templates/blank/packages/domain/package.json +5 -5
  387. package/templates/app/docs/ai/README.md +0 -98
  388. package/templates/blank/docs/ai/README.md +0 -98
package/dist/main.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
package/dist/ontology.js CHANGED
@@ -7,6 +7,7 @@
7
7
  import { createHash } from 'node:crypto';
8
8
  import { brandOf, isRelation, snake, stableStringify } from '@yss123/cage-kernel';
9
9
  import { z } from 'zod';
10
+ import { approvalRouteSteps } from './approval-tree.js';
10
11
  /**
11
12
  * 对稳定序列化值计算 SHA-256 并取前 12 位,作为本体节点语义变化标记,不用于密码或安全认证。
12
13
  */
@@ -224,13 +225,14 @@ export function extract(reg, sites = [], unsafeCount = 0) {
224
225
  const v = e.value;
225
226
  if (e.kind === 'ROUTE') {
226
227
  const binding = reg.approvalByProcess(v.process);
227
- push('route', `route:${v.process}`, { process: v.process, nodes: v.nodes }, { ...(siteOf.get(e.name) ? { file: siteOf.get(e.name).file, line: siteOf.get(e.name).line } : {}) });
228
+ push('route', `route:${v.process}`, { process: v.process, nodes: v.nodes, ...(v.reminders ? { reminders: v.reminders } : {}) }, { ...(siteOf.get(e.name) ? { file: siteOf.get(e.name).file, line: siteOf.get(e.name).line } : {}) });
228
229
  if (binding) {
229
230
  edges.push({ kind: 'binds', from: `route:${v.process}`, to: binding.name });
230
- for (const step of v.nodes.flatMap((n) => n.kind === 'when' ? n.steps : [n]).filter((n) => n.kind === 'ai')) {
231
- for (const field of step.context.fields)
231
+ // 条件和并行可嵌套,取证依赖必须完整遍历叶节点;不能只展开第一层而漏掉分支中的 AI。
232
+ for (const step of approvalRouteSteps(v.nodes).filter(node => node.kind === 'ai')) {
233
+ for (const field of step.context?.fields ?? [])
232
234
  edges.push({ kind: 'uses', from: `route:${v.process}`, to: `${binding.a.agg.name}.${field}`, as: 'AI 上下文' });
233
- for (const query of step.context.queries ?? [])
235
+ for (const query of step.context?.queries ?? [])
234
236
  edges.push({ kind: 'queries', from: `route:${v.process}`, to: query });
235
237
  }
236
238
  for (const f of v.fieldsUsed)
@@ -238,7 +240,8 @@ export function extract(reg, sites = [], unsafeCount = 0) {
238
240
  kind: 'uses',
239
241
  from: `route:${v.process}`,
240
242
  to: `${binding.a.agg.name}.${f}`,
241
- as: '路由条件',
243
+ // 催办申请人同样来自 routable,但它决定实例操作归属,不是审批分支或审批人。
244
+ as: v.reminders?.requesterField === f ? '催办申请人' : '路由条件',
242
245
  });
243
246
  }
244
247
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ontology.js","sourceRoot":"","sources":["../src/ontology.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ontology.js","sourceRoot":"","sources":["../src/ontology.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,qEAAqE;AACrE,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,eAAe,EAAsE,MAAM,qBAAqB,CAAC;AACtJ,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAgHxD;;GAEG;AACH,MAAM,CAAC,GAAG,CAAC,CAAU,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAErG;;GAEG;AACH,SAAS,UAAU,CAAC,CAAY;IAC9B,IAAI,CAAC;QACH,OAAO,CAAC,CAAC,YAAY,CAAC,CAAC,EAAE,EAAE,eAAe,EAAE,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IACpE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,UAAU,CAAC,CAAM;IACxB,OAAO;QACL,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,GAAG,EAAE,CAAC,CAAC,GAAG;QACV,QAAQ,EAAE,CAAC,CAAC,UAAU;QACtB,SAAS,EAAE,CAAC,CAAC,aAAa,IAAI,IAAI;QAClC,GAAG,EAAE,CAAC,CAAC,GAAG,IAAI,IAAI;QAClB,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ;QACpB,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ;QACpB,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,IAAI,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzG,WAAW,EAAE,CAAC,CAAC,WAAW,IAAI,IAAI;QAClC,MAAM,EAAE,CAAC,CAAC,MAAM,IAAI,IAAI;QACxB,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrD,KAAK,EAAE,CAAC,CAAC,KAAK;YACZ,CAAC,CAAC,MAAM,CAAC,WAAW,CAChB,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAgB,EAAE,EAAE,CAAC;gBACtD,CAAC;gBACD,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC,UAAU,EAAE;aAC3C,CAAC,CACH;YACH,CAAC,CAAC,IAAI;KACT,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,OAAO,CAAC,GAAa,EAAE,QAAoB,EAAE,EAAE,WAAW,GAAG,CAAC;IAC5E,MAAM,KAAK,GAAc,EAAE,CAAC;IAC5B,MAAM,KAAK,GAAc,EAAE,CAAC;IAC5B,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5D,MAAM,KAAK,GAAG,CAAC,CAAS,EAAE,EAAE;QAC1B,MAAM,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACxB,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACxC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACjD,CAAC,CAAC;IACF,MAAM,QAAQ,GAAG,CAAC,CAAS,EAAE,EAAE;QAC7B,MAAM,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACxB,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACxC,8CAA8C;QAC9C,iCAAiC;QACjC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACrD,CAAC,CAAC;IACF,MAAM,IAAI,GAAG,CACX,IAAc,EACd,EAAU,EACV,KAA8B,EAC9B,KAAuC,EAAE,EACzC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;IAE1E,MAAM,UAAU,GAAG,IAAI,GAAG,EAAwB,CAAC;IACnD,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC;QAC/B,IAAI,CACF,WAAW,EACX,CAAC,CAAC,IAAI,EACN;YACE,KAAK,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE;YAC1C,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,SAAS,IAAI,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,UAAU,IAAI,IAAI,EAAE;YAC7E,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC;YACrC,YAAY,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YACnG,WAAW,EAAE,CAAC,CAAC,WAAW,IAAI,IAAI;YAClC,aAAa,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,gBAAgB;SAC3D,EACD,KAAK,CAAC,CAAC,CAAC,CACT,CAAC;QACF,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAgB,CAAC,EAAE,CAAC;YACxD,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,EAAE,EAAE,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC;gBAChD,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAClG,CAAC,CAAC;YACH,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;YAClE,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;YACpC,IAAI,CAAC,CAAC,GAAG;gBAAE,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,GAAG;oBACrE,WAAW,EAAE,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,aAAa;oBACxI,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBAChD,CAAC,CAAC;QACL,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YAChC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,EAAE,EAAE;gBAC9B,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;gBACvC,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,KAAK,CAAC;aAChC,CAAC,CAAC;QACL,CAAC;QACD,IAAI,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC,IAAI,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QACvD,IAAI,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC,IAAI,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC7D,CAAC;IAED,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;QAC3B,IAAI,CACF,OAAO,EACP,CAAC,CAAC,IAAI,EACN,EAAE,MAAM,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAgB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EACtG,KAAK,CAAC,CAAC,CAAC,CACT,CAAC;IACJ,CAAC;IAED,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;QAC7B,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,CAAC,CAAC;QAC9B,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC;QACzB,IAAI,CACF,SAAS,EACT,UAAU,EACV;YACE,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,EAAE,EAAE,GAAG,CAAC,EAAE;YACV,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,KAAK,EAAE,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC;YAC5B,KAAK,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YACjF,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;YACzC,UAAU,EAAE,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;YACnE,WAAW,EAAE,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YAC/C,GAAG,EAAE,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAC5C,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,CAAC,CAAC,UAAU,CAAC,EAAE,WAAW,IAAI,EAAE;YAChF,MAAM,EAAE,GAAG,CAAC,MAAM;SACnB,EACD,KAAK,CAAC,GAAG,CAAC,CACX,CAAC;QACF,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAE,GAAG,CAAC,IAAiB,CAAC;QACtE,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;YACtB,KAAK,CAAC,IAAI,CAAC;gBACT,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,EAAE;gBACpD,2CAA2C;gBAC3C,EAAE,EAAE,GAAG,GAAG,IAAI,GAAG,CAAC,EAAE,IAAI,CAAC,EAAE;gBAC3B,GAAG,EAAE,UAAU;aAChB,CAAC,CAAC;QACL,CAAC;QACD,KAAK,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC;YAChD,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QACrE,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;YAC7B,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;YACrE,4BAA4B;YAC5B,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;gBACd,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;oBAC/C,IAAI,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,MAAM;wBACrB,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,EAAE,GAAG,GAAG,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;gBACvF,CAAC;YACH,CAAC;QACH,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC;YAChC,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,EAAE;gBAC5B,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,GAAG,GAAG,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAC1F,CAAC;IACH,CAAC;IAED,KAAK,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;QACxC,IAAI,CACF,UAAU,EACV,IAAI,EACJ;YACE,EAAE,EAAE,CAAC,CAAC,EAAE;YACR,KAAK,EAAG,CAAS,CAAC,KAAK,IAAI,IAAI;YAC/B,UAAU,EAAG,CAAS,CAAC,UAAU,IAAI,IAAI;YACzC,QAAQ,EAAE,CAAC,CAAC,QAAQ,IAAI,IAAI;YAC5B,QAAQ,EAAE,CAAC,CAAC,QAAQ,IAAI,IAAI;YAC5B,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI;YACnB,OAAO,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC;YACpC,GAAG,EAAE,CAAC,CAAE,CAAS,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,IAAI,CAAC,EAAE,IAAI,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;SAC9G,EACD,KAAK,CAAC,CAAC,CAAC,CACT,CAAC;QACF,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/D,KAAK,CAAC,IAAI,CAAC;YACT,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,IAAI;YACV,EAAE,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC;YAC/B,QAAQ,EAAE,CAAC,CAAC,QAAQ;YACpB,QAAQ,EAAE,CAAC,CAAC,QAAQ;SACrB,CAAC,CAAC;IACL,CAAC;IAED,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;QAC5B,IAAI,CACF,OAAO,EACP,CAAC,CAAC,IAAI,EACN;YACE,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YACjC,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI;YAC5B,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI;YAC1C,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC;YAC1B,OAAO,EAAE,CAAC,CAAC,GAAG,IAAI,IAAI;SACvB,EACD,KAAK,CAAC,CAAC,CAAC,CACT,CAAC;QACF,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;YACxB,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YAC1D,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;YAC5D,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;gBACtC,IAAI,IAAI,MAAM,CAAC,OAAO,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;oBACjE,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;YAC/E,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;QACxC,IAAI,CACF,UAAU,EACV,IAAI,EACJ;YACE,OAAO,EAAE,CAAC,CAAC,OAAO;YAClB,SAAS,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI;YACrB,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI;YACnB,QAAQ,EAAE,CAAC,CAAC,QAAQ;YACpB,UAAU,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,UAAU,CAAC;YAC1C,UAAU,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,UAAU,CAAC;YAC1C,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACvE,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACxD,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;SACxC,EACD,KAAK,CAAC,CAAC,CAAC,CACT,CAAC;QACF,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/D,0CAA0C;QAC1C,sCAAsC;QACtC,KAAK,MAAM,KAAK,IAAI,CAAC,CAAC,QAAQ;YAAE,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5F,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QAC9E,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QAC9E,IAAI,CAAC,CAAC,UAAU;YAAE,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QAChG,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ;YACxB,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IACpF,CAAC;IAED,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;QACzB,IAAI,CACF,KAAK,EACL,CAAC,CAAC,IAAI,EACN;YACE,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YACjC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YAC9C,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;SACtB,EACD,KAAK,CAAC,CAAC,CAAC,CACT,CAAC;QACF,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK;YAAE,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QACnF,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK;YAAE,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAChG,CAAC;IAED,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC;QAC/B,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC;QAClB,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YACvB,MAAM,OAAO,GAAG,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YACjD,IAAI,CACF,OAAO,EACP,SAAS,CAAC,CAAC,OAAO,EAAE,EACpB,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAC1F,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAE,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CACtG,CAAC;YACF,IAAI,OAAO,EAAE,CAAC;gBACZ,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;gBAC5E,6CAA6C;gBAC7C,KAAK,MAAM,IAAI,IAAI,kBAAkB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;oBAClF,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,OAAO,EAAE,MAAM,IAAI,EAAE;wBAAE,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,IAAI,KAAK,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;oBAC7J,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,OAAO,EAAE,OAAO,IAAI,EAAE;wBAAE,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;gBAC1H,CAAC;gBACD,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,UAAsB;oBACtC,KAAK,CAAC,IAAI,CAAC;wBACT,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,SAAS,CAAC,CAAC,OAAO,EAAE;wBAC1B,EAAE,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,EAAE;wBAChC,4CAA4C;wBAC5C,EAAE,EAAE,CAAC,CAAC,SAAS,EAAE,cAAc,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM;qBACzD,CAAC,CAAC;YACP,CAAC;QACH,CAAC;aAAM,IAAI,CAAC,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YAClC,IAAI,CACF,WAAW,EACX,aAAa,CAAC,CAAC,IAAI,EAAE,EACrB;gBACE,KAAK,EAAE,CAAC,CAAC,KAAK;gBACd,MAAM,EAAE,CAAC,CAAC,MAAM,IAAI,IAAI;gBACxB,UAAU,EAAE,MAAM,CAAC,WAAW,CAC5B,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAgB,EAAE,EAAE,CAAC;oBAC1D,CAAC;oBACD;wBACE,MAAM,EAAE,CAAC,CAAC,MAAM;wBAChB,MAAM,EAAE,CAAC,CAAC,MAAM;wBAChB,IAAI,EAAE,CAAC,CAAC,IAAI;wBACZ,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC;wBAC9B,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC;qBACjC;iBACF,CAAC,CACH;aACF,EACD,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAE,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAC7F,CAAC;QACJ,CAAC;aAAM,IAAI,CAAC,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YACjC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC;YAClB,IAAI,CACF,UAAU,EACV,EAAE,EACF;gBACE,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI;gBACnB,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI;gBAC9B,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI;gBACpB,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI;gBACrE,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;aACtB,EACD,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAE,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAC7F,CAAC;YACF,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;YAC7D,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,aAAa,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAClF,IAAI,CAAC,CAAC,SAAS;gBAAE,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACtG,8BAA8B;YAC9B,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;YAC1F,KAAK,MAAM,CAAC,IAAK,CAAC,CAAC,MAAmB,IAAI,EAAE,EAAE,CAAC;gBAC7C,KAAK,MAAM,CAAC,IAAI,QAAQ;oBACtB,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM;wBACvB,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;YACvF,CAAC;QACH,CAAC;aAAM,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAChC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC;YAClB,IAAI,CACF,SAAS,EACT,EAAE,EACF;gBACE,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,IAAI;gBAC3B,KAAK,EAAE,CAAC,CAAC,KAAK;gBACd,OAAO,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC;gBACpC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC;aAC/B,EACD,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAE,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAC7F,CAAC;YACF,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC7E,CAAC;IACH,CAAC;IAED,mCAAmC;IACnC,wCAAwC;IACxC,MAAM,SAAS,GAAG,CAAC,MAAsB,EAAkC,EAAE;QAC3E,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAE,CAAC;QAC9B,MAAM,KAAK,GAAG,MAA2B,CAAC;QAC1C,IAAI,IAAI,KAAK,SAAS;YAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,GAAG,CAAC,YAAY,CAAC,MAAiD,CAAC,EAAE,CAAC;QAC5H,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,WAAW,EAAc;YACpC,EAAE,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,CAAE,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAE;SACnH,CAAC;IACJ,CAAC,CAAC;IACF,KAAK,MAAM,OAAO,IAAI,GAAG,CAAC,iBAAiB,EAAE,CAAC;QAC5C,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,IAAI,EAAE;YAC5B,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI;YAC1E,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,KAAK,EAAE,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW;SAC3G,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QACnB,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,EAAE,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;QACxI,KAAK,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YACzD,MAAM,OAAO,GAAG,GAAG,OAAO,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC;YACxC,MAAM,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACxC,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE;gBACrB,OAAO,EAAE,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW;gBACzE,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC,IAAI,IAAI,QAAQ,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,EAAE,EAAE;gBACvG,OAAO,EAAE,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,GAAG,MAAM,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;gBACpG,OAAO,EAAE,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;aAC3J,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;YACnB,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;YACxG,KAAK,MAAM,GAAG,IAAI,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACpE,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;gBAC9B,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;YAC3G,CAAC;YACD,KAAK,MAAM,OAAO,IAAI,KAAK,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC;gBAC1C,MAAM,GAAG,GAAG,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;gBACnC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW;oBAC1G,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YAC1D,CAAC;QACH,CAAC;QACD,KAAK,MAAM,UAAU,IAAI,OAAO,CAAC,WAAW;YAAE,KAAK,CAAC,IAAI,CAAC;gBACvD,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,IAAI,IAAI,UAAU,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,IAAI,IAAI,UAAU,CAAC,EAAE,EAAE;gBACnG,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,KAAK,EAAE,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,IAAI,KAAK;aACvH,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAC/E,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC;AACnD,CAAC;AAcD;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,IAAc,EAAE,IAAc;IACzD,MAAM,GAAG,GAAG,CAAC,CAAU,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC;IAChD,MAAM,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACtD,MAAM,EAAE,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACvD,MAAM,GAAG,GAAa,EAAE,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;IAC9D,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;QACxB,MAAM,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACrB,IAAI,CAAC,GAAG;YAAE,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;aACvB,IAAI,GAAG,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI;YAAE,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;IAC5E,CAAC;IACD,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC;QAAE,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;YAAE,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC5D,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,CAAW,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC"}
@@ -54,7 +54,7 @@ export function checkProjectStructure(cfg) {
54
54
  code: 'CAGE-STRUCT-001',
55
55
  at,
56
56
  reason: `${kind} 源码没有放入约定模块:${from.path}`,
57
- fix: `src 根目录只保留${kind === 'domain' ? '领域 index.ts' : '浏览器 main.tsx'};业务按归属放入 ${layers.join(' / ')},见 docs/ai/project-structure.md`,
57
+ fix: `src 根目录只保留${kind === 'domain' ? '领域 index.ts' : '浏览器 main.tsx'};业务按归属放入 ${layers.join(' / ')},见 docs/development/reference/project-structure.md`,
58
58
  });
59
59
  }
60
60
  const source = readFileSync(file, 'utf8');
@@ -94,7 +94,7 @@ export function checkProjectStructure(cfg) {
94
94
  code: 'CAGE-STRUCT-002',
95
95
  at: `${at}:${source.slice(0, spec.pos).split('\n').length}`,
96
96
  reason: `${reason}(${spec.fileName})`,
97
- fix: '调整依赖归属;共用纯逻辑下沉到 shared,页面协作由 app 传参,领域交互通过模块公开声明。见 docs/ai/project-structure.md',
97
+ fix: '调整依赖归属;共用纯逻辑下沉到 shared,页面协作由 app 传参,领域交互通过模块公开声明。见 docs/development/reference/project-structure.md',
98
98
  });
99
99
  }
100
100
  }
@@ -1 +1 @@
1
- {"version":3,"file":"project-structure.js","sourceRoot":"","sources":["../src/project-structure.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"project-structure.js","sourceRoot":"","sources":["../src/project-structure.ts"],"names":[],"mappings":"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"}
package/dist/sync.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { type CageConfig } from './config.js';
2
2
  import type { Finding } from './findings.js';
3
- /** 当前 CLI 版本对应的项目协作说明;这是分发给 agent 的文档,不是运行时业务配置。 */
3
+ /** 当前 CLI 版本对应的项目协作说明;引导 agent 查证框架能力、与用户确定业务并实施,由 create/sync/upgrade 分发,不执行运行时业务配置。 */
4
4
  export declare const managedBlock: string;
5
5
  /**
6
6
  * 将现有文档中的唯一托管区替换为目标版本,返回完整文本而不写文件。
package/dist/sync.js CHANGED
@@ -8,130 +8,47 @@ import { existsSync, mkdirSync, readFileSync, writeFileSync } from 'node:fs';
8
8
  import { dirname } from 'node:path';
9
9
  import { abs } from './config.js';
10
10
  import { VERSION } from './version.js';
11
- /** 当前 CLI 版本对应的项目协作说明;这是分发给 agent 的文档,不是运行时业务配置。 */
11
+ /** 当前 CLI 版本对应的项目协作说明;引导 agent 查证框架能力、与用户确定业务并实施,由 create/sync/upgrade 分发,不执行运行时业务配置。 */
12
12
  export const managedBlock = `<!-- cage:begin v${VERSION} -->
13
13
  ## Cage 业务开发约定(框架托管)
14
14
 
15
- ### 先读,再按需求改业务
15
+ ### 学习与任务入口
16
16
 
17
- 本项目由 create-cage-app 创建。框架来自 \`@yss123/cage-*\` 依赖,业务写在本项目;不需要克隆框架仓库,也不要复制框架内部实现。
17
+ 本项目使用 \`@yss123/cage-*\`,业务写在本项目。先读项目说明指定的教材;独立项目默认入口是 \`docs/development/README.md\`。
18
18
 
19
- 先读项目说明指定的学习资料,默认入口为 \`docs/ai/README.md\`。第一次读 \`architecture.md\`、\`project-structure.md\` 和 \`primitives.md\`;具体任务读 \`recipes.md\`,采购全链路读 \`purchase-example.md\`,错误查 \`docs/errors/README.md\` 和 \`docs/ai/troubleshooting.md\`。资料相对该学习目录,项目说明可指定源码仓库中的规范资料位置。
19
+ 开始 Cage 业务开发或排错时,加载 \`docs/development/skills/cage-development/SKILL.md\`。它讲清运行模型、业务澄清、能力选择、实施与验收方法;首次学习配合 \`docs/development/getting-started/first-feature.md\`。已熟悉时只读受影响专题,普通样式/文案改动无需重走业务建模。
20
20
 
21
- ### 详细中文注释(每次开发必须遵守)
21
+ 支持 Agent Skills 的工具可发现 \`.agents/skills/cage-development\`;其他工具直接读取上述 Markdown,使用相同流程。教材随框架版本分发,均为本地文件,不需要额外服务、模型或索引。框架仓库范例使用项目说明指定的规范教材位置。
22
22
 
23
- 所有新增和维护的手写源码都必须写详细中文注释,先读学习目录中的 \`commenting.md\`(独立项目为 \`docs/ai/commenting.md\`)。注释是交付内容,不能以“代码自解释”或“保持简洁”为由省略。
23
+ ### 框架执行什么
24
24
 
25
- - 每个文件开头说明模块职责、谁调用它、主要调用链和责任边界;纯导出入口也说明如何组合模块。
26
- - 导出函数、类、组件、hooks、接口和业务声明使用 JSDoc,写清用途、参数含义、返回结果、主要步骤、前置条件、失败行为和副作用;复杂内部函数同样说明。参数类型已表达的语法无需重复,业务单位、空值、默认行为与约束必须解释。
27
- - 领域代码说明字段和状态的业务意义、命令调用身份与权限/范围、reads 依赖、事件用途、事务与异步边界、幂等/重试及资源释放;只写实际声明和实现已有的保证。
28
- - 页面说明 URL/查询参数、数据来源、临时状态、加载/空态/失败/无权限、提交后的刷新、会话与订阅清理;复杂分支、计算、顺序、并发和缓存规则在附近解释原因与过程。
29
- - 测试说明场景、前置条件、动作、断言和所防止的回归;脚本说明输入、读写路径、执行顺序、外部副作用与退出条件。注释不含密钥、凭据或个人数据。
30
- - 注释同时回答“做什么、为什么、如何完成、有哪些边界”,不能只有一句标题,也不能机械逐行翻译、凑字数或批量粘贴空泛模板。代码变更时同步更新注释,交付前逐文件核对。
31
- - 生成契约的注释由生成器维护,不手改生成物;已执行/已发布迁移不能改写。仅补注释时不得顺便重构或改变逻辑、接口、配置值和运行文案。
25
+ - 业务声明从 domain 总入口导出,框架据此构建注册表、能力、HTTP 接口、本体图、契约与迁移草稿;只有文件而未导出不会生效。
26
+ - 命令是业务写入口;handler 描述变化与显式 reads,内核处理授权、状态、范围、版本、事务、审计及 outbox。读侧通过生成契约或 query 的安全视图,外部 IO 通过连接器。
27
+ - 角色、能力、数据范围、调用身份与业务约束分别建模。前端 can() 只影响显示,新增能力不自动授给生产角色;审批选人不授予能力。
28
+ - 页面依赖生成契约及客户端。表单、弹窗等临时状态留在前端;正式业务数据和流程结果通过服务端读写。实际记录不能用模拟仓储或固定统计替代。
32
29
 
33
- ### 原生 AI 能力入口
30
+ ### 实现与排错
34
31
 
35
- 遇到以下需求,先读 \`docs/ai/intelligence.md\`,用 \`pnpm exec cage capabilities "关键词" --format json\` 核对当前安装版本的公开 API,再检查本项目 domain 导出和页面接入。关键词可直接使用下表需求名称;未命中时缩短关键词或查公开符号,不能据此断言能力不存在。
32
+ 1. 阅读需求、文档和现有实现后,按 \`docs/development/guides/business-collaboration.md\` 主动提出疑点、可行选项、影响与推荐理由,让用户选择业务规则;沿用已明确的选择与授权,等待回答时推进独立部分,可选建议不阻塞已明确任务。再把确定的规则映射到聚合、命令、归属/范围、后续行为与验收,沿已有模块修改。具体选择看 \`docs/development/guides/recipes.md\`,目录归属看 \`docs/development/reference/project-structure.md\`。
33
+ 2. 不熟悉的 API 先按手册任务目录定位,用本地文件搜索查术语,再执行 \`pnpm exec cage capabilities 符号 --format json\` 核对当前版本签名;\`cage context "业务关键词"\` 定位当前应用。未命中不代表不支持,不发明方法或返回字段。
34
+ 3. 涉及已有领域含义变化,先 \`pnpm exec cage snapshot save before-change\` 保存本体基线,或使用真实 Git 基线。修改声明与导出,运行 check/gen,审查契约和迁移草稿。生成物不手改,已执行迁移不可改写。
35
+ 4. 页面使用真实契约,处理业务失败、版本冲突、会话与缓存;多页面使用独立 URL,列表筛选/分页进入查询参数。按 \`docs/development/guides/routing.md\` 验收深链接、刷新、登录回跳和无权限行为。
36
+ 5. 出错保留 code/at/reason/fix,查 \`docs/errors/README.md\` 与 \`docs/development/tools/troubleshooting.md\`;从真实调用逐层定位。不得放宽权限、删约束或关闭门禁来掩盖问题。
36
37
 
37
- | 需求 | 框架入口与应用职责 |
38
- | --- | --- |
39
- | AI审批 / 智能审批 | 现有 \`step\` 使用 \`kind: 'ai'\`,支持 pass 通过、return 退回修改、manual 转人工;应用声明策略、结论命令、自动执行角色及接管人 |
40
- | 业务助理 / 本体助理 | 导出 \`ai({ models, assistant })\`;框架提供执行循环、按领域声明生成的工具、会话、偏好记忆和 HTTP;应用配置授权及界面 |
41
- | 页面上下文 / 随页助理 | \`useAssistant(client.ai, page)\` 配合 \`useAiPageContext\` / \`AiPageContext\`;应用上报页面、对象、选中项和草稿,服务端重读并校验业务事实 |
42
- | 模型管理 / Responses | \`managedModel\` 接入 Admin 动态配置,支持 Chat Completions / Responses;应用配置部署加密密钥并显式授权管理者 |
43
- | 性格 / 流式输出 | Admin 管理性格,SDK 提供选择、增量文字与执行进度;应用实现悬浮窗、Markdown 和确认卡片 |
44
- | 上下文预算 | \`ai({ context: ... })\` 的配置形状见 \`AiContextOptions\`;框架按预算选择完整工具或发现模式,历史和本体按需读取 |
38
+ 遇到原生 AI、AI 审批或随页助理,先读 \`docs/development/guides/intelligence.md\`,核对已有能力及应用启用状态。审批、文件、关系、数据传输等专题由 Skill 按需引导,不重建框架已有运行时。
45
39
 
46
- 前端只使用客户端、协议与契约;后端循环、通用工具和记忆使用框架实现。页面快照和性格不授予权限。分别核对**框架支持**(公开导出)、**项目已启用**(domain 导出、迁移、模型、权限、worker、SDK)和**实际验证通过**(真实角色与模型联调);空白模板的参考代码不表示已启用。具体接入顺序和验收步骤见该指南,不必将整份指南塞入每次任务上下文。
40
+ ### 代码与环境边界
47
41
 
48
- ### 业务代码放在哪里
42
+ - 所有手写代码遵守 \`docs/development/reference/commenting.md\`:文件职责与调用链、导出 API/字段、复杂分支的中文说明,写清做什么、为什么、怎样完成及实际边界;随代码更新。生成物注释从生成器维护。
43
+ - domain 按 modules/workflows/integrations/shared 组织,Web 按 app/modules/shared 组织。模块通过 index.ts 公开入口组合,前端不导入 domain、数据库或内核运行时;不关闭 modular 目录门禁。
44
+ - 新项目启动步骤见 \`docs/development/getting-started/workflow.md\`。使用已有 PostgreSQL 和项目 .env;init 准备账号,migrate 更新结构,bootstrap 显式初始化组织,dev 启动进程。普通业务不新增连接池或管理 Docker。
45
+ - 不输出或提交 .env、数据库密码、Cookie 密钥及初始化凭据。API 与 worker 使用一致的 domain,修改配置后按实际需要重启。
49
46
 
50
- | 位置 | 职责 |
51
- | --- | --- |
52
- | \`packages/domain/src/modules/<业务>\` | 同业务聚合、状态、命令、事件、审批、查询、任务;模块 index.ts 公开导出 |
53
- | \`packages/domain/src/workflows\`、\`integrations\` | 跨模块反应 / 第三方协议与映射;不堆到全局 reactions.ts、queries.ts |
54
- | \`packages/domain/src/index.ts\` | 统一导出全部业务及组织模型;没导出的声明不会注册 |
55
- | \`packages/contracts/src/aggregates/<聚合>\`、\`queries\` | 生成协议;根 index.ts 提供 @app/contracts 公共入口,只用 cage gen 更新 |
56
- | \`apps/api/src\` | API/worker 薄启动入口,普通业务不手写 HTTP 路由 |
57
- | \`apps/web/src/app\` | 会话、URL 路由、布局、模块组合;main.tsx 只挂载和装配 Provider |
58
- | \`apps/web/src/modules/<业务>\` | 页面、表单、专用 hooks/API/样式;从模块 index.ts 暴露页面 |
59
- | \`apps/web/src/shared\` | 跨模块复用且不绑定业务的 UI、hooks、纯辅助函数 |
60
- | \`db/migrations\` | 审查过的结构迁移,作用于已配置的数据库 |
61
- | \`cage.config.json\` | 项目路径、检查配置、graph.labels 中文图谱名称 |
62
- | \`.env\` | 本机真实连接和密钥;不提交、不输出完整内容 |
47
+ ### 完成依据
63
48
 
64
- 新增业务不得继续平铺在 src 根目录。前端模块只依赖自己和 shared,由 app 通过公开入口组合;shared 不反向依赖业务。领域模块间确有读取依赖时走目标模块 index.ts;跨模块反应写 workflows。小模块不创建空层级,已有独立职责再拆文件。完整命名、目录树和示例见 \`docs/ai/project-structure.md\`。新模板启用 \`structure: modular\`,check/verify 检查目录和导入边界,遇到 CAGE-STRUCT 错误按职责修正。
49
+ 验证与改动匹配。check/gen/typecheck/build 证明各自检查范围;业务读写还需独立读取结果,权限需直接请求验证,审批需待办与结论,文件需实际内容,异步需任务终态,页面需浏览器操作。
65
50
 
66
- ### 实现一项需求的顺序
67
-
68
- 1. 先运行 \`pnpm exec cage context "需求关键词"\`;按需 \`graph search\` 查候选、\`graph inspect\` 查完整节点、\`graph path\` 看关系路径。确认中文匹配入口后按源码位置阅读实现;候选和子图不是全部依赖,具体条件不能凭连线推断。完整用法见 \`docs/ai/ontology-context.md\`。从用户需求确定字段、状态/动作、角色/范围、约束与后续动作;能由业务声明表达的不改框架。
69
- 2. 已有业务含义变化时,修改前用 \`pnpm exec cage snapshot save before-change\` 保存不可覆盖的命名基线;或使用真实 Git 提交/独立本体图文件。
70
- 3. 先声明 aggregate/states/command/constraints/event,再写 handler、reaction/query/approval/connector,最后接业务页面。声明使用模块顶层 \`export const\`,从 domain 入口导出,跨文件导出名保持唯一。
71
- 4. 运行 \`pnpm exec cage check\` 和 \`pnpm gen\`,审查 contracts 和迁移草稿。按需运行 \`pnpm exec cage impact --snapshot before-change\`,补中文图谱名。
72
- 5. 页面使用生成方法并处理 code/domainCode;列表、详情等多页面注册到 React Router,Link/NavLink 导航,筛选/分页进入 URL。组件状态用于弹窗和表单等临时交互。新增能力由管理员授权。数据库结构变化审查后显式 \`pnpm migrate\`,dev 不代办迁移。
73
- 6. 按 \`commenting.md\` 逐文件检查详细中文注释与实现一致,再按改动运行必要验证;交付时说明体验步骤、授权配置、迁移、注释覆盖,以及通过/跳过/未执行项。
74
-
75
- ### 必守边界
76
-
77
- - 聚合定义对象字段、状态、范围字段与不变量;命令是业务写入口。handler 只计算业务变化和读取 reads 中的依赖,不直接操作数据库、网络或文件。
78
- - 对象关系统一放在 fields:ref 为外键,hasMany 为只读反查,manyToMany 自动生成中间表并随所属对象命令提交。前端用生成的 related 方法分页读取;不手写纯中间表聚合,不把单页结果当完整集合替换。完整例子见 docs/ai/relations.md。
79
- - command 的 input 使用 Zod;已有记录输入必须含 id。from/to 表达状态迁移;\`to: null\` 只适用于已有记录并保留状态,不能靠 handler 改 status 绕过状态机。
80
- - 写入、审计、版本、幂等和事务交给内核;不要在业务项目重建 repository、连接池或权限流水线。
81
- - 自定义查询声明 reads,二选一使用 sql/build,只读 \`safe.*\`;值参数化。不得拼接 SQL、查询基表绕过范围或硬编码密钥。
82
- - scope 描述范围字段,角色数据决定实际范围;\`scope.none()\` 不代表所有人可访问。\`can/useCan\` 只控制按钮,后端负责授权。
83
- - 前端从 \`@app/contracts\` 导入生成 API/类型,按需使用 \`@yss123/cage-client\`;不导入 domain、内核或数据库包。
84
- - 多页面业务必须有独立 URL,不用 useState/tab 模拟整页导航;详情从 URL 取 ID 并独立加载。前端路由集中在 app,页面从模块公开入口接入 Outlet。登录后保留原路径/query/hash,401 回登录,403 展示权限提示;/admin/ 使用普通链接进入独立系统管理。前端路由不替代后端授权。实现、SPA 部署回退和浏览器配方见 docs/ai/routing.md。
85
- - 跨聚合写入通过 reaction 调用命令。\`tx: 'same'\` 共同提交/回滚,默认 outbox 异步执行。资源 acquires/releases 是图规则标签,实际占用/释放仍由命令完成;离开持有状态要检查每条释放路径。
86
- - 批量调用同一命令使用 reactionEach,声明 maxItems、唯一排序字段 orderBy、items 和 map;稳定键排序后串行执行。步骤依赖用 order,同事件同事务分组不得混用有序/无序或重复顺序。保持同事务回滚边界,见 docs/ai/primitives.md。
87
- - 审批通过 approval + route 配置,结论是 process 命令;选中审批人不等于已具备能力、范围和额度。第三方 IO 通过连接器,回调验签后调用 external 命令。
88
- - job 的读取与调用必须列入 reads/calls。业务导入/导出放在需要的业务页面调用通用任务接口,202 只代表任务已接受;worker 必须运行。
89
- - 已部署事件只做兼容扩展;新增字段设为 optional,不兼容含义用新事件。已执行/已发布迁移不能改写,结构更新新增迁移。
90
- - 不手改生成物,不关闭门禁掩盖错误,不因方便自动授予生产角色新能力。unsafe 必须写明 reason/owner,不能替代普通业务声明。
91
- - 按前述详细中文注释规范完成文件、API、业务声明和关键流程说明;避免无业务价值的防御分支和静默兜底。维护脚本用 TypeScript,不新增 .mjs。
92
-
93
- ### 最小命令形状
94
-
95
- \`\`\`ts
96
- // 片段:Order 为已导出的聚合,OrderSubmitted 为事件,业务校验按需求添加。
97
- /**
98
- * 将草稿订单提交审批:只有 draft 可进入 pending_approval。
99
- * 入口使用 Order.submit 能力,真实授权、范围、状态和版本由内核检查;声明本身不自动授予权限。
100
- * handler 返回草稿供后续校验和持久化,OrderSubmitted 随命令事务登记,后续由已配置消费者处理。
101
- * 失败不会提交这次业务变更;事件已登记也不代表后续审批已经完成。
102
- */
103
- export const submitOrder = command(Order, {
104
- name: 'submit',
105
- from: 'draft',
106
- to: 'pending_approval',
107
- emits: [OrderSubmitted],
108
- handler: (draft) => draft,
109
- });
110
- \`\`\`
111
-
112
- 完整可添加的普通管理对象见 \`docs/ai/primitives.md\` 的 Note;采购模板的审批、资源、第三方示例在 \`packages/domain/src\`,空白模板的参考源码在 \`docs/examples/purchase-admin\`。先读本项目 AGENTS.md 中的模板说明,区分运行代码与参考资料。API 以当前包公开导出和生成契约为准,不发明不存在的配置和方法。
113
-
114
- ### 启动、验证与排错
115
-
116
- 在项目根目录执行:首次 \`pnpm install\`,复制并编辑 .env.example,仅提供已有库管理员连接后 \`pnpm exec cage init\`;再 \`pnpm build:app\`、\`pnpm gen\`,审查后 \`pnpm migrate\`;用 \`pnpm exec cage bootstrap --credentials-file .cage/admin-credentials.json\` 显式初始化组织,最后 \`pnpm dev\`。已有配置不能覆盖,凭据文件必须是新受限文件且父目录存在。
117
-
118
- init 只准备账号/schema/授权并填写三个连接,不创建数据库;APP/READ/MIGRATE 指向同一个库。已有集群账号复用原密码,日常启动不用管理员。普通项目不新增 Docker 生命周期命令。
119
-
120
- API 日常启动不初始化组织、不输出管理员密码;生产缺少合格 Cookie 密钥会拒绝启动。bootstrap 不自动授予业务能力。\`/healthz\` 只表示存活,\`/readyz\` 检查必要依赖。首阶段 API 与 worker 同版本部署,查看实际注册指纹和消费者心跳。
121
-
122
- - \`pnpm exec cage graph\`:浏览器图谱,默认端口 15418,以终端为准。
123
- - \`pnpm exec cage context command:对象.命令 --format json --out .cage/context.json\`:按完整 key 取精简上下文;默认 Markdown,可用 --depth/--limit 调整范围。CLI 每次重新抽取;Web“复制 AI 上下文”使用当前页面快照,改代码后先刷新图谱。
124
- - \`graph inspect/path\` 有歧义时复制候选完整 key;path 默认沿箭头,--direction both 的逆向遍历不表示执行方向。报告中的测试/前端文件是候选,须核对;context 与图谱查询不覆盖当前图或命名快照。
125
- - \`pnpm exec cage capabilities 关键词 --format json\`:查当前安装版本公开签名;\`cage doctor\`:区分注册、生成、构建、迁移、授权与实际进程证据,unknown 不能当作通过。\`cage timeline/explain\` 关联实际异步证据与解释授权,参数和权限见 docs/ai/diagnostics.md。
126
- - 生成方法支持 signal/timeoutMs/idempotencyKey 请求选项。底层 CageResult 与 mutation 行为有区别:useCageCommand 失败抛 CageCommandError,成功才返回业务数据。订阅 client.subscribe 在退出、401、切换账号时取消查询并清除应用缓存。
127
- - \`pnpm exec cage gen --check\`:生成一致性;\`pnpm exec cage sync --check\`:本托管区一致性。
128
- - \`pnpm exec cage test --only project\`:业务测试;\`pnpm verify\`:类型、依赖、lint、图规则、生成、托管区、预算和测试。
129
- - \`pnpm exec cage verify --skip-tests\` 表示不完整门禁;派生测试跳过不能当作通过。测试连接只用独立测试集群。
130
- - 重要业务改动验证成功路径及有风险的反例;文档或可逆的小改动不反复跑全量数据库测试。
131
- - 修改页面/导航后实际验收深链接、刷新、前进后退、登录回跳、无权限和 404;生产再查 SPA 回退。check/verify 不自动完成浏览器验收,未执行要明确报告。见 docs/ai/routing.md。
132
- - CLI 报错先看 code/at/reason/fix,再查错误码册;HTTP 错误查 runtime.md。异步失败先看 worker、同步记录和死信,修复后重放,不能直接 SQL 改状态。
133
-
134
- 框架托管区由 cage sync 更新;项目独有的业务规则写在标记之外,避免升级覆盖。
51
+ \`pnpm verify\` 汇总门禁;\`verify --skip-tests\` 不代表完整通过。诊断用 \`cage doctor\`、\`timeline\`、\`explain\`,具体前提见 \`docs/development/tools/diagnostics.md\`。交付分别说明通过、跳过、未执行及剩余配置;文档和可逆小改动不反复执行全量数据库回归。
135
52
  <!-- cage:end -->`;
136
53
  /**
137
54
  * 将现有文档中的唯一托管区替换为目标版本,返回完整文本而不写文件。
package/dist/sync.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"sync.js","sourceRoot":"","sources":["../src/sync.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,GAAG,EAAmB,MAAM,aAAa,CAAC;AAEnD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,oDAAoD;AACpD,MAAM,CAAC,MAAM,YAAY,GAAG,oBAAoB,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBA2HrC,CAAC;AAEnB;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAe,EAAE,MAAM,GAAG,YAAY;IACrE,MAAM,MAAM,GAAG,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,2BAA2B,CAAC,CAAC,CAAC;IAClE,MAAM,IAAI,GAAG,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC,CAAC;IACzD,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM;QAAE,OAAO,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;IACrE,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,KAAM,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,KAAM,EAAE,CAAC;QAClF,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;IAC9E,CAAC;IACD,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAM,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;AACxG,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,IAAI,CAAC,GAAe,EAAE,KAAK,GAAG,KAAK;IACjD,MAAM,IAAI,GAAG,GAAG,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;IACnC,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAClE,MAAM,KAAK,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;IACvC,IAAI,KAAK,KAAK,MAAM;QAAE,OAAO,EAAE,CAAC;IAChC,IAAI,KAAK;QACP,OAAO;YACL;gBACE,IAAI,EAAE,eAAe;gBACrB,EAAE,EAAE,WAAW;gBACf,MAAM,EAAE,WAAW;gBACnB,GAAG,EAAE,wBAAwB;aAC9B;SACF,CAAC;IACJ,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9C,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC3B,OAAO,EAAE,CAAC;AACZ,CAAC"}
1
+ {"version":3,"file":"sync.js","sourceRoot":"","sources":["../src/sync.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,GAAG,EAAmB,MAAM,aAAa,CAAC;AAEnD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,yFAAyF;AACzF,MAAM,CAAC,MAAM,YAAY,GAAG,oBAAoB,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAwCrC,CAAC;AAEnB;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAe,EAAE,MAAM,GAAG,YAAY;IACrE,MAAM,MAAM,GAAG,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,2BAA2B,CAAC,CAAC,CAAC;IAClE,MAAM,IAAI,GAAG,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC,CAAC;IACzD,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM;QAAE,OAAO,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;IACrE,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,KAAM,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,KAAM,EAAE,CAAC;QAClF,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;IAC9E,CAAC;IACD,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAM,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;AACxG,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,IAAI,CAAC,GAAe,EAAE,KAAK,GAAG,KAAK;IACjD,MAAM,IAAI,GAAG,GAAG,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;IACnC,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAClE,MAAM,KAAK,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;IACvC,IAAI,KAAK,KAAK,MAAM;QAAE,OAAO,EAAE,CAAC;IAChC,IAAI,KAAK;QACP,OAAO;YACL;gBACE,IAAI,EAAE,eAAe;gBACrB,EAAE,EAAE,WAAW;gBACf,MAAM,EAAE,WAAW;gBACnB,GAAG,EAAE,wBAAwB;aAC9B;SACF,CAAC;IACJ,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9C,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC3B,OAAO,EAAE,CAAC;AACZ,CAAC"}
@@ -1,7 +1,8 @@
1
+ import { layoutStructuredApproval } from './approval-parallel.js';
1
2
  /**
2
3
  * 按中英文近似字宽换行,返回完整文字行;不是浏览器字体精确测量。
3
4
  */
4
- function wrap(text, limit) {
5
+ export function wrapApprovalText(text, limit) {
5
6
  const lines = [];
6
7
  let line = '', length = 0;
7
8
  for (const char of text) {
@@ -18,6 +19,14 @@ function wrap(text, limit) {
18
19
  lines.push(line);
19
20
  return lines;
20
21
  }
22
+ /** 结构化条件或并行需要递归布局;只有原始平面顺序组时沿用既有紧凑图。 */
23
+ export function hasStructuredApproval(groups) {
24
+ return groups.some(group => !!group.parallel || !!group.groups);
25
+ }
26
+ /** 标题只在存在真实 AND 容器时说明同时启动,嵌套 when 本身仍是条件顺序而非并行。 */
27
+ function hasParallel(groups) {
28
+ return groups.some(group => !!group.parallel || (group.groups && hasParallel(group.groups)));
29
+ }
21
30
  /** 审批始终在容器内纵向阅读,外部主流程可以横排。先测量再参与全图布局,
22
31
  * 条件与审批步骤都不会越出容器,跳过线在侧边汇合后才进入下一条条件。 */
23
32
  /**
@@ -27,7 +36,9 @@ function wrap(text, limit) {
27
36
  * @returns 相对坐标、文本行与连线;不读取具体审批任务。
28
37
  */
29
38
  export function layoutApprovalFlow(flow, name) {
30
- const title = wrap(name, 18);
39
+ if (hasStructuredApproval(flow.groups))
40
+ return layoutStructuredApproval(flow, name);
41
+ const title = wrapApprovalText(name, 18);
31
42
  const boxes = [];
32
43
  const paths = [];
33
44
  const merges = [];
@@ -45,7 +56,7 @@ export function layoutApprovalFlow(flow, name) {
45
56
  * 测量任务标题、选人与规则,推进纵向游标并连接前驱;条件组首任务可标记“是”分支。
46
57
  */
47
58
  const addTask = (task, firstLabel) => {
48
- const title = wrap(task.title, 14), actor = wrap(`审批人:${task.actor}`, 19), rule = wrap(task.rule, 18);
59
+ const title = wrapApprovalText(task.title, 14), actor = wrapApprovalText(`审批人:${task.actor}`, 19), rule = wrapApprovalText(task.rule, 18);
49
60
  const height = 18 + title.length * 18 + actor.length * 16 + rule.length * 16;
50
61
  connect(y, firstLabel);
51
62
  boxes.push({ kind: 'task', x: left, y, width, height, title, actor, rule, task });
@@ -57,7 +68,7 @@ export function layoutApprovalFlow(flow, name) {
57
68
  group.tasks.forEach((task) => addTask(task));
58
69
  continue;
59
70
  }
60
- const title = wrap(`${group.condition}?`, 13);
71
+ const title = wrapApprovalText(`${group.condition}?`, 13);
61
72
  const height = Math.max(64, title.length * 36);
62
73
  connect(y);
63
74
  const top = y;
@@ -101,9 +112,11 @@ export function renderApprovalFlow(layout) {
101
112
  layout.title.forEach((line, index) => content.append(text(24, 31 + index * 20, line, 'approval-flow-title', 'start')));
102
113
  content.append(text(24, 32 + layout.title.length * 20, !layout.flow.route
103
114
  ? '审批步骤待补充 · 点击查看声明'
104
- : layout.flow.groups.some((group) => group.condition)
105
- ? '按顺序审批 · 条件满足时加审'
106
- : '按顺序审批 · 每一步通过后继续', 'approval-flow-subtitle', 'start'));
115
+ : hasParallel(layout.flow.groups)
116
+ ? '分支同时启动 · 全部分支完成后汇合'
117
+ : layout.flow.groups.some((group) => group.condition)
118
+ ? '按顺序审批 · 条件满足时加审'
119
+ : '按顺序审批 · 每一步通过后继续', 'approval-flow-subtitle', 'start'));
107
120
  for (const path of layout.paths) {
108
121
  content.append(vector('path', {
109
122
  d: path.d,
@@ -132,7 +145,7 @@ export function renderApprovalFlow(layout) {
132
145
  }));
133
146
  box.title.forEach((line, index) => item.append(text(box.x + box.width / 2, box.y + box.height / 2 + 4 + (index - (box.title.length - 1) / 2) * 16, line, 'approval-condition-title')));
134
147
  }
135
- else {
148
+ else if (box.kind === 'task') {
136
149
  item.append(vector('rect', {
137
150
  x: box.x,
138
151
  y: box.y,
@@ -148,6 +161,13 @@ export function renderApprovalFlow(layout) {
148
161
  box.actor.forEach((line, index) => item.append(text(center, box.y + 24 + box.title.length * 18 + index * 16, line, 'approval-task-actor')));
149
162
  box.rule.forEach((line, index) => item.append(text(center, box.y + 24 + box.title.length * 18 + box.actor.length * 16 + index * 16, line, 'approval-task-rule')));
150
163
  }
164
+ else {
165
+ // 网关与分支标题不冒充可审批任务,也不显示全局序号;AND 的两条入口/出口由真实布局路径表达。
166
+ const gateway = box.kind === 'fork' || box.kind === 'join';
167
+ item.append(vector('rect', { x: box.x, y: box.y, width: box.width, height: box.height,
168
+ rx: gateway ? 3 : 8, class: gateway ? 'approval-gateway-shape' : 'approval-branch-shape' }));
169
+ box.title.forEach((line, index) => item.append(text(box.x + box.width / 2, box.y + (box.height - box.title.length * 17) / 2 + 13 + index * 17, line, gateway ? 'approval-gateway-title' : 'approval-task-title')));
170
+ }
151
171
  content.append(item);
152
172
  }
153
173
  for (const merge of layout.merges)