weaver-work-cli 0.1.23 → 0.1.25

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 (358) hide show
  1. package/README.md +33 -3
  2. package/dist/core/output.js +53 -1
  3. package/dist/internal/e10/auth/commands.js +210 -17
  4. package/dist/internal/e10/auth/crypto.js +52 -12
  5. package/dist/internal/e10/auth/xiaoe.js +117 -35
  6. package/dist/internal/e10/context.js +3 -3
  7. package/dist/internal/e10/request-runtime.js +46 -4
  8. package/dist/shortcuts/caizhilian/file-upload/metadata.js +124 -0
  9. package/dist/shortcuts/caizhilian/file-upload/multipart.js +47 -0
  10. package/dist/shortcuts/caizhilian/file-upload/protocol.js +116 -0
  11. package/dist/shortcuts/caizhilian/file-upload/receipt.js +37 -0
  12. package/dist/shortcuts/caizhilian/host.js +13 -5
  13. package/dist/shortcuts/caizhilian/operations/handlers/file-upload.js +72 -179
  14. package/dist/shortcuts/caizhilian/operations/handlers/fileops.js +67 -1
  15. package/dist/shortcuts/caizhilian/operations/handlers/folder.js +701 -4
  16. package/dist/shortcuts/caizhilian/operations/handlers/setting-attach.js +198 -0
  17. package/dist/shortcuts/caizhilian/operations/registry.js +5 -1
  18. package/dist/shortcuts/caizhilian/operations/shared.js +32 -0
  19. package/dist/shortcuts/caizhilian/operations/specs.js +67 -0
  20. package/dist/shortcuts/workflow/continuation.js +14 -9
  21. package/dist/shortcuts/workflow/endpoints.js +11 -1
  22. package/dist/shortcuts/workflow/index.js +55 -1
  23. package/dist/shortcuts/workflow/operations/flow-status.js +63 -0
  24. package/dist/shortcuts/workflow/operations/form.js +1822 -547
  25. package/dist/shortcuts/workflow/operations/read.js +414 -13
  26. package/dist/shortcuts/workflow/operations/shared.js +28 -0
  27. package/dist/shortcuts/workflow/operations/write.js +5 -5
  28. package/dist/shortcuts/workflow/operations.js +8 -6
  29. package/dist/shortcuts/workflow/stdout-compact.js +33 -0
  30. package/docs/caizhilian.md +12 -5
  31. package/docs/e10-auth.md +25 -3
  32. package/node_modules/@napi-rs/keyring/LICENSE +21 -0
  33. package/node_modules/@napi-rs/keyring/README.md +19 -0
  34. package/node_modules/@napi-rs/keyring/index.d.ts +166 -0
  35. package/node_modules/@napi-rs/keyring/index.js +514 -0
  36. package/node_modules/@napi-rs/keyring/keytar.d.ts +53 -0
  37. package/node_modules/@napi-rs/keyring/keytar.js +26 -0
  38. package/node_modules/@napi-rs/keyring/package.json +125 -0
  39. package/node_modules/@napi-rs/keyring-darwin-arm64/README.md +3 -0
  40. package/node_modules/@napi-rs/keyring-darwin-arm64/keyring.darwin-arm64.node +0 -0
  41. package/node_modules/@napi-rs/keyring-darwin-arm64/package.json +32 -0
  42. package/node_modules/commander/LICENSE +22 -0
  43. package/node_modules/commander/Readme.md +1149 -0
  44. package/node_modules/commander/esm.mjs +16 -0
  45. package/node_modules/commander/index.js +24 -0
  46. package/node_modules/commander/lib/argument.js +149 -0
  47. package/node_modules/commander/lib/command.js +2662 -0
  48. package/node_modules/commander/lib/error.js +39 -0
  49. package/node_modules/commander/lib/help.js +709 -0
  50. package/node_modules/commander/lib/option.js +367 -0
  51. package/node_modules/commander/lib/suggestSimilar.js +101 -0
  52. package/node_modules/commander/package-support.json +16 -0
  53. package/node_modules/commander/package.json +82 -0
  54. package/node_modules/commander/typings/esm.d.mts +3 -0
  55. package/node_modules/commander/typings/index.d.ts +1045 -0
  56. package/package.json +5 -1
  57. package/skills/weaver-e10-builder/SKILL.md +281 -0
  58. package/skills/weaver-e10-builder/_catalog.md +94 -0
  59. package/skills/weaver-e10-builder/actionflows/CONTEXT.md +71 -0
  60. package/skills/weaver-e10-builder/actionflows/SKILL.md +176 -0
  61. package/skills/weaver-e10-builder/actionflows/docs/adr/0001-generated-actionflow-cleanup-identity.md +5 -0
  62. package/skills/weaver-e10-builder/actionflows/docs/adr/0002-preserve-existing-actionflow-on-update.md +36 -0
  63. package/skills/weaver-e10-builder/actionflows/references/components/calendar/MeetingCreate.md +19 -0
  64. package/skills/weaver-e10-builder/actionflows/references/components/calendar/ScheduleCreate.md +17 -0
  65. package/skills/weaver-e10-builder/actionflows/references/components/database/DMLExecute.md +38 -0
  66. package/skills/weaver-e10-builder/actionflows/references/components/document/AttachmentCopy.md +17 -0
  67. package/skills/weaver-e10-builder/actionflows/references/components/document/AttachmentMove.md +17 -0
  68. package/skills/weaver-e10-builder/actionflows/references/components/document/DocumentCopy.md +17 -0
  69. package/skills/weaver-e10-builder/actionflows/references/components/document/DocumentDelete.md +17 -0
  70. package/skills/weaver-e10-builder/actionflows/references/components/document/DocumentEdit.md +17 -0
  71. package/skills/weaver-e10-builder/actionflows/references/components/document/DocumentMove.md +17 -0
  72. package/skills/weaver-e10-builder/actionflows/references/components/document/DocumentPermissionChange.md +17 -0
  73. package/skills/weaver-e10-builder/actionflows/references/components/document/DocumentRenewal.md +17 -0
  74. package/skills/weaver-e10-builder/actionflows/references/components/document/DocumentRevert.md +17 -0
  75. package/skills/weaver-e10-builder/actionflows/references/components/document/DocumentSave.md +17 -0
  76. package/skills/weaver-e10-builder/actionflows/references/components/document/DocumentSubscription.md +17 -0
  77. package/skills/weaver-e10-builder/actionflows/references/components/document/DocumentSubscriptionApprove.md +17 -0
  78. package/skills/weaver-e10-builder/actionflows/references/components/document/DocumentSubscriptionSendBack.md +17 -0
  79. package/skills/weaver-e10-builder/actionflows/references/components/document/DocumentSubscriptionWithdraw.md +17 -0
  80. package/skills/weaver-e10-builder/actionflows/references/components/document/FileFolderSave.md +17 -0
  81. package/skills/weaver-e10-builder/actionflows/references/components/document/GetAttachmentInfo.md +17 -0
  82. package/skills/weaver-e10-builder/actionflows/references/components/document/GetDocumentInfo.md +17 -0
  83. package/skills/weaver-e10-builder/actionflows/references/components/document/ModifyDocumentStatus.md +17 -0
  84. package/skills/weaver-e10-builder/actionflows/references/components/document/ReplaceAttachment.md +17 -0
  85. package/skills/weaver-e10-builder/actionflows/references/components/document/UpdatePrintNum.md +17 -0
  86. package/skills/weaver-e10-builder/actionflows/references/components/ebuilder/ActionEbAdd.md +100 -0
  87. package/skills/weaver-e10-builder/actionflows/references/components/ebuilder/ActionEbDelete.md +23 -0
  88. package/skills/weaver-e10-builder/actionflows/references/components/ebuilder/ActionEbRecover.md +17 -0
  89. package/skills/weaver-e10-builder/actionflows/references/components/ebuilder/ActionEbSaveVersion.md +17 -0
  90. package/skills/weaver-e10-builder/actionflows/references/components/ebuilder/ActionEbUpdate.md +67 -0
  91. package/skills/weaver-e10-builder/actionflows/references/components/ebuilder/DateTrigger.md +32 -0
  92. package/skills/weaver-e10-builder/actionflows/references/components/ebuilder/EbGetDataById.md +17 -0
  93. package/skills/weaver-e10-builder/actionflows/references/components/ebuilder/EnquiryForm.md +107 -0
  94. package/skills/weaver-e10-builder/actionflows/references/components/ebuilder/EventButton.md +33 -0
  95. package/skills/weaver-e10-builder/actionflows/references/components/ebuilder/EventFormData.md +19 -0
  96. package/skills/weaver-e10-builder/actionflows/references/components/ebuilder/TimeBatchTrigger.md +19 -0
  97. package/skills/weaver-e10-builder/actionflows/references/components/http/Http.md +77 -0
  98. package/skills/weaver-e10-builder/actionflows/references/components/logic/Condition.md +23 -0
  99. package/skills/weaver-e10-builder/actionflows/references/components/logic/LogicFlowSet.md +17 -0
  100. package/skills/weaver-e10-builder/actionflows/references/components/logic/MultipleExecution.md +38 -0
  101. package/skills/weaver-e10-builder/actionflows/references/components/logic/Output.md +37 -0
  102. package/skills/weaver-e10-builder/actionflows/references/components/message/InnerMQSend.md +50 -0
  103. package/skills/weaver-e10-builder/actionflows/references/components/message/SendMessage.md +30 -0
  104. package/skills/weaver-e10-builder/actionflows/references/components/personnel/AlterPersonStatus.md +30 -0
  105. package/skills/weaver-e10-builder/actionflows/references/components/personnel/HrmEmployeeUpdate.md +34 -0
  106. package/skills/weaver-e10-builder/actionflows/references/components/personnel/PersonnelAlterType.md +38 -0
  107. package/skills/weaver-e10-builder/actionflows/references/components/personnel/PersonnelOnboarding.md +36 -0
  108. package/skills/weaver-e10-builder/actionflows/references/components/serverless/ServerlessAction.md +42 -0
  109. package/skills/weaver-e10-builder/actionflows/references/components/trigger/CustomTrigger.md +82 -0
  110. package/skills/weaver-e10-builder/actionflows/references/components/trigger/InnerMQListener.md +41 -0
  111. package/skills/weaver-e10-builder/actionflows/references/components/trigger/SimpleScheduler.md +19 -0
  112. package/skills/weaver-e10-builder/actionflows/references/components/trigger/WebHookTrigger.md +91 -0
  113. package/skills/weaver-e10-builder/actionflows/references/components/workflow/ApproveAddSign.md +17 -0
  114. package/skills/weaver-e10-builder/actionflows/references/components/workflow/ApproveAgreeRejectApply.md +17 -0
  115. package/skills/weaver-e10-builder/actionflows/references/components/workflow/ApproveCommit.md +17 -0
  116. package/skills/weaver-e10-builder/actionflows/references/components/workflow/ApproveConsulTurnTodo.md +17 -0
  117. package/skills/weaver-e10-builder/actionflows/references/components/workflow/ApproveCreate.md +17 -0
  118. package/skills/weaver-e10-builder/actionflows/references/components/workflow/ApproveDelete.md +19 -0
  119. package/skills/weaver-e10-builder/actionflows/references/components/workflow/ApproveDoCirculate.md +17 -0
  120. package/skills/weaver-e10-builder/actionflows/references/components/workflow/ApproveDoForward.md +17 -0
  121. package/skills/weaver-e10-builder/actionflows/references/components/workflow/ApproveDoTurnTodo.md +17 -0
  122. package/skills/weaver-e10-builder/actionflows/references/components/workflow/ApproveEntrust.md +19 -0
  123. package/skills/weaver-e10-builder/actionflows/references/components/workflow/ApproveIntervention.md +17 -0
  124. package/skills/weaver-e10-builder/actionflows/references/components/workflow/ApproveMandatoryArchiving.md +17 -0
  125. package/skills/weaver-e10-builder/actionflows/references/components/workflow/ApproveManualCC.md +17 -0
  126. package/skills/weaver-e10-builder/actionflows/references/components/workflow/ApproveRefuseRejectApply.md +17 -0
  127. package/skills/weaver-e10-builder/actionflows/references/components/workflow/ApproveRejectApply.md +17 -0
  128. package/skills/weaver-e10-builder/actionflows/references/components/workflow/ApproveSave.md +17 -0
  129. package/skills/weaver-e10-builder/actionflows/references/components/workflow/ApproveSendBack.md +17 -0
  130. package/skills/weaver-e10-builder/actionflows/references/components/workflow/ApproveShareEntry.md +17 -0
  131. package/skills/weaver-e10-builder/actionflows/references/components/workflow/ApproveTrigger.md +99 -0
  132. package/skills/weaver-e10-builder/actionflows/references/components/workflow/ApproveWithdraw.md +17 -0
  133. package/skills/weaver-e10-builder/actionflows/references/components/workflow/WorkFlowDocEmpowerment.md +17 -0
  134. package/skills/weaver-e10-builder/actionflows/references/components/workflow/WorkflowToDoc.md +17 -0
  135. package/skills/weaver-e10-builder/actionflows/references/condition_rules.md +100 -0
  136. package/skills/weaver-e10-builder/actionflows/references/dynamic_capability_matrix.md +39 -0
  137. package/skills/weaver-e10-builder/actionflows/references/dynamic_resources.md +41 -0
  138. package/skills/weaver-e10-builder/actionflows/references/examples/enquiry-form-batch-insert-scene2.json +1043 -0
  139. package/skills/weaver-e10-builder/actionflows/references/function_rules.md +15 -0
  140. package/skills/weaver-e10-builder/actionflows/references/trigger_runtime_notes.md +53 -0
  141. package/skills/weaver-e10-builder/assets/dom-structure/Bar.json +341 -0
  142. package/skills/weaver-e10-builder/assets/dom-structure/BarStack.json +341 -0
  143. package/skills/weaver-e10-builder/assets/dom-structure/Bubble.json +323 -0
  144. package/skills/weaver-e10-builder/assets/dom-structure/Calendar.json +515 -0
  145. package/skills/weaver-e10-builder/assets/dom-structure/Circular.json +337 -0
  146. package/skills/weaver-e10-builder/assets/dom-structure/CollapsePanel.json +289 -0
  147. package/skills/weaver-e10-builder/assets/dom-structure/Comment.json +617 -0
  148. package/skills/weaver-e10-builder/assets/dom-structure/CountDown.json +755 -0
  149. package/skills/weaver-e10-builder/assets/dom-structure/DigitalPanel.json +191 -0
  150. package/skills/weaver-e10-builder/assets/dom-structure/EbButton.json +387 -0
  151. package/skills/weaver-e10-builder/assets/dom-structure/FastCreate.json +242 -0
  152. package/skills/weaver-e10-builder/assets/dom-structure/Gauge.json +282 -0
  153. package/skills/weaver-e10-builder/assets/dom-structure/HBar.json +336 -0
  154. package/skills/weaver-e10-builder/assets/dom-structure/HBarStack.json +337 -0
  155. package/skills/weaver-e10-builder/assets/dom-structure/Line.json +341 -0
  156. package/skills/weaver-e10-builder/assets/dom-structure/NList.json +712 -0
  157. package/skills/weaver-e10-builder/assets/dom-structure/NavBar.json +274 -0
  158. package/skills/weaver-e10-builder/assets/dom-structure/NavPanel.json +390 -0
  159. package/skills/weaver-e10-builder/assets/dom-structure/NewTab.json +606 -0
  160. package/skills/weaver-e10-builder/assets/dom-structure/Nightingale.json +336 -0
  161. package/skills/weaver-e10-builder/assets/dom-structure/PageHeader.json +205 -0
  162. package/skills/weaver-e10-builder/assets/dom-structure/Picture.json +209 -0
  163. package/skills/weaver-e10-builder/assets/dom-structure/Pie.json +338 -0
  164. package/skills/weaver-e10-builder/assets/dom-structure/ProgressChart.json +299 -0
  165. package/skills/weaver-e10-builder/assets/dom-structure/SearchGlobal.json +628 -0
  166. package/skills/weaver-e10-builder/assets/dom-structure/Slide.json +489 -0
  167. package/skills/weaver-e10-builder/assets/dom-structure/Treemap.json +324 -0
  168. package/skills/weaver-e10-builder/assets/factory/chart-dimensions.json +536 -0
  169. package/skills/weaver-e10-builder/assets/factory/example-btn-progress-collapse-configured.json +2515 -0
  170. package/skills/weaver-e10-builder/assets/factory/example-configured-2.json +13805 -0
  171. package/skills/weaver-e10-builder/assets/factory/example-configured.json +6735 -0
  172. package/skills/weaver-e10-builder/assets/factory/factory-bar-stack.json +326 -0
  173. package/skills/weaver-e10-builder/assets/factory/factory-bar.json +222 -0
  174. package/skills/weaver-e10-builder/assets/factory/factory-bubble.json +322 -0
  175. package/skills/weaver-e10-builder/assets/factory/factory-calendar.json +325 -0
  176. package/skills/weaver-e10-builder/assets/factory/factory-circular.json +320 -0
  177. package/skills/weaver-e10-builder/assets/factory/factory-collapse-panel.json +132 -0
  178. package/skills/weaver-e10-builder/assets/factory/factory-comment.json +388 -0
  179. package/skills/weaver-e10-builder/assets/factory/factory-count-down.json +198 -0
  180. package/skills/weaver-e10-builder/assets/factory/factory-digital-panel.json +108 -0
  181. package/skills/weaver-e10-builder/assets/factory/factory-eb-button.json +150 -0
  182. package/skills/weaver-e10-builder/assets/factory/factory-fast-create.json +62 -0
  183. package/skills/weaver-e10-builder/assets/factory/factory-gauge.json +312 -0
  184. package/skills/weaver-e10-builder/assets/factory/factory-h-bar-stack.json +328 -0
  185. package/skills/weaver-e10-builder/assets/factory/factory-h-bar.json +326 -0
  186. package/skills/weaver-e10-builder/assets/factory/factory-line.json +212 -0
  187. package/skills/weaver-e10-builder/assets/factory/factory-nav-bar.json +167 -0
  188. package/skills/weaver-e10-builder/assets/factory/factory-nav-menu.json +144 -0
  189. package/skills/weaver-e10-builder/assets/factory/factory-nav-panel.json +338 -0
  190. package/skills/weaver-e10-builder/assets/factory/factory-new-tab.json +163 -0
  191. package/skills/weaver-e10-builder/assets/factory/factory-nightingale.json +312 -0
  192. package/skills/weaver-e10-builder/assets/factory/factory-nlist.json +112 -0
  193. package/skills/weaver-e10-builder/assets/factory/factory-page-header.json +171 -0
  194. package/skills/weaver-e10-builder/assets/factory/factory-picture.json +169 -0
  195. package/skills/weaver-e10-builder/assets/factory/factory-pie.json +212 -0
  196. package/skills/weaver-e10-builder/assets/factory/factory-progress-chart.json +162 -0
  197. package/skills/weaver-e10-builder/assets/factory/factory-search-global.json +104 -0
  198. package/skills/weaver-e10-builder/assets/factory/factory-slide.json +164 -0
  199. package/skills/weaver-e10-builder/assets/factory/factory-treemap.json +322 -0
  200. package/skills/weaver-e10-builder/assets/icons.db +0 -0
  201. package/skills/weaver-e10-builder/assets/sample/.claude/settings.local.json +8 -0
  202. package/skills/weaver-e10-builder/assets/sample/api/formApi.js +510 -0
  203. package/skills/weaver-e10-builder/assets/sample/config/config.js +0 -0
  204. package/skills/weaver-e10-builder/assets/sample/config/configLoad.js +0 -0
  205. package/skills/weaver-e10-builder/assets/sample/config/configLoad_default.js +0 -0
  206. package/skills/weaver-e10-builder/assets/sample/config/config_default.js +0 -0
  207. package/skills/weaver-e10-builder/assets/sample/entry.js +22 -0
  208. package/skills/weaver-e10-builder/assets/sample/eslint.config.cjs +48 -0
  209. package/skills/weaver-e10-builder/assets/sample/memo.md +0 -0
  210. package/skills/weaver-e10-builder/assets/sample/readme.js +8 -0
  211. package/skills/weaver-e10-builder/references/app/guide-app-publish.md +92 -0
  212. package/skills/weaver-e10-builder/references/auth/guide-auth.md +88 -0
  213. package/skills/weaver-e10-builder/references/coding/guide-edit-backfill.md +189 -0
  214. package/skills/weaver-e10-builder/references/coding/guide-form-crud.md +262 -0
  215. package/skills/weaver-e10-builder/references/coding/guide-page-code.md +244 -0
  216. package/skills/weaver-e10-builder/references/coding/guide-page-export.md +119 -0
  217. package/skills/weaver-e10-builder/references/coding/ref-compile-rules.md +130 -0
  218. package/skills/weaver-e10-builder/references/common/guide-plan-template.md +164 -0
  219. package/skills/weaver-e10-builder/references/common/map.md +153 -0
  220. package/skills/weaver-e10-builder/references/common/ref-cli-commands.md +635 -0
  221. package/skills/weaver-e10-builder/references/components/@weapp-Button.md +104 -0
  222. package/skills/weaver-e10-builder/references/components/base-Badge.md +100 -0
  223. package/skills/weaver-e10-builder/references/components/base-Dialog.md +358 -0
  224. package/skills/weaver-e10-builder/references/components/base-Empty.md +58 -0
  225. package/skills/weaver-e10-builder/references/components/base-Tag.md +112 -0
  226. package/skills/weaver-e10-builder/references/components/display-Alert.md +64 -0
  227. package/skills/weaver-e10-builder/references/components/display-Avatar.md +150 -0
  228. package/skills/weaver-e10-builder/references/components/display-Calendar.md +263 -0
  229. package/skills/weaver-e10-builder/references/components/display-Carousel.md +115 -0
  230. package/skills/weaver-e10-builder/references/components/display-Collapse.md +299 -0
  231. package/skills/weaver-e10-builder/references/components/display-FilePreview.md +49 -0
  232. package/skills/weaver-e10-builder/references/components/display-Icon.md +66 -0
  233. package/skills/weaver-e10-builder/references/components/display-List.md +320 -0
  234. package/skills/weaver-e10-builder/references/components/display-Pagination.md +41 -0
  235. package/skills/weaver-e10-builder/references/components/display-Spin.md +34 -0
  236. package/skills/weaver-e10-builder/references/components/display-Steps.md +89 -0
  237. package/skills/weaver-e10-builder/references/components/display-Table.md +160 -0
  238. package/skills/weaver-e10-builder/references/components/display-Title.md +117 -0
  239. package/skills/weaver-e10-builder/references/components/form-Checkbox.md +161 -0
  240. package/skills/weaver-e10-builder/references/components/form-DepartmentBrowser-api.md +52 -0
  241. package/skills/weaver-e10-builder/references/components/form-EmployeeBrowser-api.md +51 -0
  242. package/skills/weaver-e10-builder/references/components/form-EmployeeBrowser.md +51 -0
  243. package/skills/weaver-e10-builder/references/components/form-Input.md +123 -0
  244. package/skills/weaver-e10-builder/references/components/form-Radio.md +145 -0
  245. package/skills/weaver-e10-builder/references/components/form-Select.md +191 -0
  246. package/skills/weaver-e10-builder/references/components/form-Switch.md +46 -0
  247. package/skills/weaver-e10-builder/references/components/form-Upload.md +53 -0
  248. package/skills/weaver-e10-builder/references/components/generic-Echarts.md +102 -0
  249. package/skills/weaver-e10-builder/references/ebuilder-designer/guide-designer-components.md +130 -0
  250. package/skills/weaver-e10-builder/references/ebuilder-designer/guide-designer-css.md +127 -0
  251. package/skills/weaver-e10-builder/references/ebuilder-designer/guide-designer-factory.md +460 -0
  252. package/skills/weaver-e10-builder/references/ebuilder-designer/guide-designer-version.md +111 -0
  253. package/skills/weaver-e10-builder/references/ebuilder-designer/guide-designer.md +288 -0
  254. package/skills/weaver-e10-builder/references/esb-interface/guide-import.md +34 -0
  255. package/skills/weaver-e10-builder/references/form/guide-create-form.md +248 -0
  256. package/skills/weaver-e10-builder/references/form/guide-ebuilder-filter.md +73 -0
  257. package/skills/weaver-e10-builder/references/form/guide-ebuilder-scope.md +82 -0
  258. package/skills/weaver-e10-builder/references/form/guide-field-linkage.md +123 -0
  259. package/skills/weaver-e10-builder/references/form/guide-form-archive-permission.md +175 -0
  260. package/skills/weaver-e10-builder/references/form/guide-form-association.md +124 -0
  261. package/skills/weaver-e10-builder/references/form/guide-form-button.md +169 -0
  262. package/skills/weaver-e10-builder/references/form/guide-form-data.md +78 -0
  263. package/skills/weaver-e10-builder/references/form/guide-form-formula-functions.md +343 -0
  264. package/skills/weaver-e10-builder/references/form/guide-form-layout-incremental.md +90 -0
  265. package/skills/weaver-e10-builder/references/form/guide-form-layout-planning.md +68 -0
  266. package/skills/weaver-e10-builder/references/form/guide-form-linkage.md +269 -0
  267. package/skills/weaver-e10-builder/references/form/guide-form-message.md +74 -0
  268. package/skills/weaver-e10-builder/references/form/guide-form-physical-table.md +146 -0
  269. package/skills/weaver-e10-builder/references/form/guide-form-serial-mark.md +47 -0
  270. package/skills/weaver-e10-builder/references/form/guide-form-sub-detail.md +82 -0
  271. package/skills/weaver-e10-builder/references/form/guide-form-view-permission.md +38 -0
  272. package/skills/weaver-e10-builder/references/form/guide-form-view.md +371 -0
  273. package/skills/weaver-e10-builder/references/form/guide-formula-linkage.md +281 -0
  274. package/skills/weaver-e10-builder/references/form/guide-list-columns.md +52 -0
  275. package/skills/weaver-e10-builder/references/form/guide-list-custom-text.md +52 -0
  276. package/skills/weaver-e10-builder/references/form/guide-list-stats.md +136 -0
  277. package/skills/weaver-e10-builder/references/form/guide-virtual-form.md +156 -0
  278. package/skills/weaver-e10-builder/references/form/ref-form-fields.md +293 -0
  279. package/skills/weaver-e10-builder/references/form/style-templates.md +97 -0
  280. package/skills/weaver-e10-builder/references/hrm/guide-matrix.md +245 -0
  281. package/skills/weaver-e10-builder/references/hrm/guide-org-employee.md +155 -0
  282. package/skills/weaver-e10-builder/references/menu/system-menus.md +75 -0
  283. package/skills/weaver-e10-builder/references/report/add-dataset-registration-guide.md +139 -0
  284. package/skills/weaver-e10-builder/references/report/ai-report-workflow.md +412 -0
  285. package/skills/weaver-e10-builder/references/report/api-report-build-fast-path.md +275 -0
  286. package/skills/weaver-e10-builder/references/report/app-datasource-lookup-guide.md +230 -0
  287. package/skills/weaver-e10-builder/references/report/cell-config-echo-guide.md +163 -0
  288. package/skills/weaver-e10-builder/references/report/cell-transform-guide.md +147 -0
  289. package/skills/weaver-e10-builder/references/report/condition-format-guide.md +140 -0
  290. package/skills/weaver-e10-builder/references/report/cross-dataset-filter-guide.md +304 -0
  291. package/skills/weaver-e10-builder/references/report/dataset-query-filter-guide.md +235 -0
  292. package/skills/weaver-e10-builder/references/report/dataset-sidebar-ops-guide.md +280 -0
  293. package/skills/weaver-e10-builder/references/report/dataset-table-field-contract-guide.md +339 -0
  294. package/skills/weaver-e10-builder/references/report/datasource-metadata-guide.md +365 -0
  295. package/skills/weaver-e10-builder/references/report/datasource-selection-and-parent-filter-guide.md +148 -0
  296. package/skills/weaver-e10-builder/references/report/date-range-query-reference.md +102 -0
  297. package/skills/weaver-e10-builder/references/report/default-header-style-guide.md +70 -0
  298. package/skills/weaver-e10-builder/references/report/designer-blank-prevention-guide.md +111 -0
  299. package/skills/weaver-e10-builder/references/report/event-hreflink-guide.md +184 -0
  300. package/skills/weaver-e10-builder/references/report/field-bind-exact-match-guide.md +208 -0
  301. package/skills/weaver-e10-builder/references/report/formula-cell-api-guide.md +258 -0
  302. package/skills/weaver-e10-builder/references/report/guide-report-build.md +131 -0
  303. package/skills/weaver-e10-builder/references/report/guide-report-modify.md +100 -0
  304. package/skills/weaver-e10-builder/references/report/guide-report-multisource.md +143 -0
  305. package/skills/weaver-e10-builder/references/report/guide-report-query.md +98 -0
  306. package/skills/weaver-e10-builder/references/report/hidden-row-and-header-merge-guide.md +100 -0
  307. package/skills/weaver-e10-builder/references/report/layout-showlocation-freeze-guide.md +167 -0
  308. package/skills/weaver-e10-builder/references/report/preaggregate-auto-disable-guide.md +107 -0
  309. package/skills/weaver-e10-builder/references/report/query-condition-api-guide.md +890 -0
  310. package/skills/weaver-e10-builder/references/report/ref-report-commands.md +122 -0
  311. package/skills/weaver-e10-builder/references/report/ref-report-pitfalls.md +226 -0
  312. package/skills/weaver-e10-builder/references/report/report-baseinfo-defaults-guide.md +117 -0
  313. package/skills/weaver-e10-builder/references/report/report-building-guide.md +511 -0
  314. package/skills/weaver-e10-builder/references/report/report-config-schema.md +445 -0
  315. package/skills/weaver-e10-builder/references/report/report-create-modes-guide.md +182 -0
  316. package/skills/weaver-e10-builder/references/report/report-data-model.md +447 -0
  317. package/skills/weaver-e10-builder/references/report/report-delivery-contract.md +101 -0
  318. package/skills/weaver-e10-builder/references/report/report-designer-feature-map.md +500 -0
  319. package/skills/weaver-e10-builder/references/report/report-internal-error-guide.md +78 -0
  320. package/skills/weaver-e10-builder/references/report/report-knowledge-base.md +389 -0
  321. package/skills/weaver-e10-builder/references/report/report-lifecycle-api-guide.md +392 -0
  322. package/skills/weaver-e10-builder/references/report/report-list-page-ops-guide.md +191 -0
  323. package/skills/weaver-e10-builder/references/report/report-permission-guide.md +365 -0
  324. package/skills/weaver-e10-builder/references/report/report-requirement-analysis-template.md +202 -0
  325. package/skills/weaver-e10-builder/references/report/report-self-check-guide.md +164 -0
  326. package/skills/weaver-e10-builder/references/report/safe-partial-save-guide.md +151 -0
  327. package/skills/weaver-e10-builder/references/report/snowflake-id-precision-guide.md +84 -0
  328. package/skills/weaver-e10-builder/references/report/spec-build-schema.md +294 -0
  329. package/skills/weaver-e10-builder/references/report/targeted-fix-guide.md +97 -0
  330. package/skills/weaver-e10-builder/references/report/user-request-scope-only-guide.md +82 -0
  331. package/skills/weaver-e10-builder/references/workflow/guide-function-management.md +154 -0
  332. package/skills/weaver-e10-builder/references/workflow/guide-opinion-settings.md +126 -0
  333. package/skills/weaver-e10-builder/references/workflow/guide-workflow-action.md +174 -0
  334. package/skills/weaver-e10-builder/references/workflow/guide-workflow-auth-resp.md +224 -0
  335. package/skills/weaver-e10-builder/references/workflow/guide-workflow-condition.md +447 -0
  336. package/skills/weaver-e10-builder/references/workflow/guide-workflow-node-layout.md +181 -0
  337. package/skills/weaver-e10-builder/references/workflow/guide-workflow-odoc-setting.md +248 -0
  338. package/skills/weaver-e10-builder/references/workflow/guide-workflow-odoc.md +68 -0
  339. package/skills/weaver-e10-builder/references/workflow/guide-workflow.md +527 -0
  340. package/skills/weaver-e10-builder/references/workflow/operator-matrix.md +76 -0
  341. package/skills/weaver-e10-caizhilian/SKILL.md +14 -4
  342. package/skills/weaver-e10-caizhilian/references/file-upload.md +100 -295
  343. package/skills/weaver-e10-caizhilian/references/files.md +15 -0
  344. package/skills/weaver-e10-caizhilian/references/folder.md +31 -3
  345. package/skills/weaver-e10-caizhilian/references/setting-attach.md +48 -3
  346. package/skills/weaver-e10-caizhilian/references/source-manifest.json +634 -25
  347. package/skills/weaver-e10-jiuchuanhui/SKILL.md +9 -1
  348. package/skills/weaver-e10-shared/SKILL.md +19 -5
  349. package/skills/weaver-e10-shared/references/e10-auth-and-session.md +25 -5
  350. package/skills/weaver-e10-workflow/SKILL.md +28 -47
  351. package/skills/weaver-e10-workflow/references/source-manifest.json +46 -36
  352. package/skills/weaver-e10-workflow/references/workflow-batch.md +2 -4
  353. package/skills/weaver-e10-workflow/references/workflow-create.md +261 -86
  354. package/skills/weaver-e10-workflow/references/workflow-edit.md +2 -1
  355. package/skills/weaver-e10-workflow/references/workflow-memory.md +3 -6
  356. package/skills/weaver-e10-workflow/references/workflow-operate.md +2 -1
  357. package/skills/weaver-e10-workflow/references/workflow-query.md +11 -9
  358. package/skills/weaver-e10-workflow/references/workflow-share.md +2 -0
@@ -0,0 +1,70 @@
1
+ # 默认表头样式(强制分流)
2
+
3
+ > **适用**:新建 / `e10-cli report build` 搭表时的标题行、列表字段表头行外观。
4
+ > **CLI**:`e10-cli report validate style --list` / `--inline '{...}'`
5
+ > **实现**:`e10-cli report validate style` → `build_from_spec.js` 分层套用。
6
+
7
+ ---
8
+
9
+ ## 〇、何时用默认、何时听用户(强制)
10
+
11
+ | 用户输入 | 行为 |
12
+ |----------|------|
13
+ | **未提样式**、**未给效果图/截图配色** | 自动套 **默认表头样式**(本页 §一);正文保持素色 |
14
+ | **明确样式**(颜色/字体/主题/「表头蓝色」等) | **完全按用户**;写入 `spec.style` / `titleStyle` / `headerStyle`;**不再**叠默认蓝灰头 |
15
+ | **有效果图 / 原型截图** | 从效果图提取配色写入 spec,并设 `styleFromMockup: true`;**禁止**再盖默认头 |
16
+ | `applyDefaultHeader: false` 或 `stylePreset: "plain"` | 强制素色,不要装饰表头 |
17
+
18
+ **禁止**:用户已指定样式或已给效果图时,仍强行刷默认 `#B6D6FF` / `#E6E6E6`。
19
+ **禁止**:定点改已有报表时,未点名「改样式」却整表套默认头(见 `user-request-scope-only-guide.md`)。
20
+
21
+ ---
22
+
23
+ ## 一、默认值(与 assets 列表模板一致)
24
+
25
+ | 层级 | 用途 | backColor | foreColor | font | 对齐 |
26
+ |------|------|-----------|-----------|------|------|
27
+ | **title** | `layout.title` 合并标题行 | `#B6D6FF` | `#000000` | 微软雅黑 **14** 加粗 | 居中 |
28
+ | **header** | 列名 Const 表头行 | `#E6E6E6` | `#000000` | 微软雅黑 **12** 加粗 | 居中 |
29
+ | **body** | Field / 公式数据格 | `#FFFFFF` | `#333333` | 微软雅黑 **12** | 居左 |
30
+
31
+ 边框默认 `#CCCCCC`(标题边略深 `#99B8D9`)。字号须落在设计器目录(无 10 号)。
32
+
33
+ ---
34
+
35
+ ## 二、spec 字段
36
+
37
+ ```json
38
+ {
39
+ "styleFromMockup": false,
40
+ "applyDefaultHeader": true,
41
+ "style": { },
42
+ "titleStyle": { },
43
+ "headerStyle": { },
44
+ "bodyStyle": { }
45
+ }
46
+ ```
47
+
48
+ | 字段 | 说明 |
49
+ |------|------|
50
+ | (均省略) | → `source=default-header`,套 §一 |
51
+ | `style` / 任一层 `*Style` | → `source=user`,用户优先 |
52
+ | `styleFromMockup: true` | → `source=user`,禁止默认头 |
53
+ | `applyDefaultHeader: false` | → `source=plain` |
54
+
55
+ `build_from_spec` 回读/日志含 `styleSource`。
56
+
57
+ ---
58
+
59
+ ## 三、Agent 话术
60
+
61
+ - 未指定时:落库后可一句带过「已套用默认表头(蓝标题 + 灰列头);若要改配色请说明」。
62
+ - 有指定/效果图:不要提默认头,只按用户视觉落地。
63
+
64
+ ---
65
+
66
+ ## 四、相关
67
+
68
+ - `spec-build-schema.md` §三
69
+ - `cell-config-echo-guide.md`(同款样式复用、字号目录)
70
+ - `assets/template-list-report.json`(同色脚手架)
@@ -0,0 +1,111 @@
1
+ # 设计器空白防护(强制 · 不允许发生)
2
+
3
+ > **事故(已验证 · 报表 `1312790168931180545`)**:设计区中间空白,但 `fields.length` 仍 > 0 —— **不是删格**,是配置毒化导致前端加载崩溃/空白。
4
+ > **硬约束**:下列写入错误 **一律禁止**;落库前必须校验;发现设计区空白优先按本指南定位,禁止盲目整表覆盖。
5
+
6
+ ---
7
+
8
+ ## 一、已验证会导致「设计区空白」的写入(禁令)
9
+
10
+ | # | 错误写法 | 后果 | 正确做法 |
11
+ |---|----------|------|----------|
12
+ | **1** | `snapshot.sheetId = Number(reportId)`(及 `id`/`jobId` 用 Number) | 雪花 ID 超 `MAX_SAFE_INTEGER` 截断(`…0545`→`…0500`),快照 sheetId 错位 → **设计区空白** | **一律 `String(reportId)`**;禁止对雪花 ID 做 `Number()` |
13
+ | **2** | `showLocation: 0`(或从 sheetProps 原样回传 0) | 前端 truthy 判断异常,布局空白/错乱 | 仅允许 **`1`(居左)或 `2`(居中)**;读到 0 必须改成 2(或用户点名居左则 1) |
14
+ | **3** | `scrollPage: "1"` 且 `scrollContentField` 为空 | 滑动分页表单项 required,配置残缺 → 设计器异常 | 开滑动分页必须带有效 `scrollContentField`;否则 **`scrollPage: "0"`** |
15
+ | **4** | 空 workbook / 空 dataTable 提交 `saveReportDevInfo` | fields 被全量清空 → 真空白 | `mergeWorkbookSafe` / 从 fields 重建;见 `safe-partial-save-guide.md` |
16
+ | **5** | Formula `cellText` 带前导 `=` / 错误 countType | 设计器整页空白 | 见 `formula-cell-api-guide.md` |
17
+
18
+ **禁止**:为「开快照 / 改分页 / 改打印」而提交会触发上表任一错误的 payload。
19
+
20
+ ---
21
+
22
+ ## 二、定时快照命名与 ID 契约
23
+
24
+ ### 2.1 默认快照名称(强制)
25
+
26
+ 用户**未指定**快照名称时,默认:
27
+
28
+ ```text
29
+ {当前报表名}-{date}-{time}
30
+ ```
31
+
32
+ 示例:报表名 `测试报表-chl` → `测试报表-chl-{date}-{time}`
33
+
34
+ | 占位符 | 含义 |
35
+ |--------|------|
36
+ | `{date}` | 生成日(平台解析) |
37
+ | `{time}` | 生成时分(平台解析) |
38
+
39
+ **禁止**再默认写成 `{year}-{month}-{day}`(旧习惯)。用户显式传入 `--snapshot-name` 时才用自定义名。
40
+
41
+ ### 2.2 sheetId / id / jobId
42
+
43
+ ```javascript
44
+ {
45
+ enableSnapshot: true,
46
+ cron: '0 0/1 * * * ?', // 例:每分钟
47
+ snapshotName: `${reportName}-{date}-{time}`,
48
+ params: JSON.stringify({ searchCondition: {} }),
49
+ sheetId: String(reportId), // 禁止 Number()
50
+ // id / jobId 若回传:同样 String(...)
51
+ }
52
+ ```
53
+
54
+ 落库后门禁:
55
+
56
+ - `enableSnapshot === true`(若本次为开启)
57
+ - `String(snapshot.sheetId) === String(reportId)`(在**未经过 JSON number 污染的原始串**上比;Node `JSON.parse` 大整数可能已截断,**写入侧必须保证字符串**)
58
+ - `fields.length` 不下降
59
+
60
+ CLI:`e10-cli report snapshot set --report-id <id> [--cron "..."] [--snapshot-name "..."]`
61
+
62
+ ---
63
+
64
+ ## 三、其它本会话沉淀(写入时一并遵守)
65
+
66
+ | 主题 | 规则 | 文档 / CLI |
67
+ |------|------|------------|
68
+ | 数字格式回显 | formatter **目录全等** + `formatterType` 成对;货币=`huobi`+全角¥格式串 | `cell-config-echo-guide.md`;`validate format` |
69
+ | 日期分组回显 | `groupType=year/yearmonth/...` 写入 fields + cellType | 同上 |
70
+ | 字体字号 | 不支持则**提示**并用默认字号继续,**不卡住** | 同上 |
71
+ | 禁整表刷样式/边框 | 用户要整表设样式 → **提示不支持**,须给区域 | 同上 + scope |
72
+ | `showLocation` | 禁止 0 | `layout-showlocation-freeze-guide.md` |
73
+ | **网格线** | workbook **禁止** `gridline` 键(存在→500);page `gridLine=0` | §4.6.1;`validate gridline` |
74
+ | 滑动分页 | `scrollPage=1` 须有内容字段;每页条数 `pageRowCount` | `allPageSetting` |
75
+ | 打印眉头页码 | Spread `headerCenter: "&[Page]"`;重复行 0-based | sheet `printInfo` |
76
+ | 局部保存 | 快照必须 `mergeWorkbookSafe`;禁空 workbook | `safe-partial-save-guide.md` |
77
+
78
+ ---
79
+
80
+ ## 四、保存前 Agent / CLI 检查清单(防空白)
81
+
82
+ 任意 `saveReportDevInfo`(含快照)前:
83
+
84
+ - [ ] `fields.length > 0`(已有报表)
85
+ - [ ] workbook 重建后 `countCells > 0`
86
+ - [ ] `showLocation` ∈ `{1, 2}`,若为 0 → 改为 2
87
+ - [ ] **网格线**:workbook sheets **无** `gridline`/`gridLine`/`__gridline`;page 层默认 `gridLine=0` → `validate gridline`
88
+ - [ ] 若写 snapshot:`sheetId`/`id`/`jobId` 均为**字符串**;`snapshotName` 未指定则用 `{报表名}-{date}-{time}`
89
+ - [ ] 若 `scrollPage==="1"` → `scrollContentField` 非空,否则改 `"0"`
90
+ - [ ] 保存后 `fields.length` 不降;提示用户 Ctrl+F5
91
+
92
+ CLI 自检:`e10-cli report verify blank <reportId>`(含网格线联动);`e10-cli report validate gridline --inline '...'`
93
+
94
+ ---
95
+
96
+ ## 五、设计区已空白时的处置
97
+
98
+ 1. **先** `getReportDevInfo`:若 `fields.length > 0` → 多半是配置毒化(快照 ID / showLocation / scrollPage),**不是**删光了
99
+ 2. 关闭或修复坏快照(`enableSnapshot:false` 或重写 **String** sheetId)
100
+ 3. 纠正 `showLocation`、关闭残缺滑动分页
101
+ 4. 从 fields 安全重建 workbook 再存
102
+ 5. 仅当 `fields.length===0` 才走 `rollbackReport`(版本 snapshotId)
103
+
104
+ ---
105
+
106
+ ## 六、与 Skill 映射
107
+
108
+ - SKILL 硬规则 **§L**
109
+ - `safe-partial-save-guide.md` §3.2
110
+ - `e10-cli report -cli.md` §一
111
+ - 脚本:`set_snapshot_schedule.js`、`validate_designer_blank_guard.js`
@@ -0,0 +1,184 @@
1
+ # 报表事件 · 超链接传参(强制)
2
+
3
+ > **UI**:设计器右侧 **事件** Tab — PC链接地址 / H5链接地址 / 打开方式
4
+ > **帮助手册依据**:知识库 §5.3「查询条件传参」、§6.6「跳转数据列表页」;搭建指南「事件」Tab
5
+ > **源码**:`HreflinkTrans` · `SpreadUtil.getFormulaParams` · `DynamicParamsBuilder` · `HreflinkCellType`
6
+ > **CLI**:`e10-cli report validate href --file cell.json` / `--map "弹出页"`
7
+
8
+ ---
9
+
10
+ ## 〇、能力与落库键
11
+
12
+ | UI | 落库字段 | 说明 |
13
+ |----|----------|------|
14
+ | PC链接地址 | **`pcHreflink`** | 分析页 PC 点击跳转;运行时别名 `hreflink` |
15
+ | H5链接地址 | **`h5Hreflink`** | 移动端优先;运行时别名 `mbhreflink`;有值且移动端时覆盖 PC 链接 |
16
+ | 打开方式 | **`openType`** | 见 §二 |
17
+
18
+ 须写入 **`fields[]` + workbook `style.cellType`**(Const/Field 均可配事件;超链接占位 Const 另遵守父格规则)。
19
+
20
+ ---
21
+
22
+ ## 一、帮助手册规则(产品语义)
23
+
24
+ 摘自报表功能说明 / 知识库(Agent 须按此话术与用户对齐):
25
+
26
+ 1. **事件动作可传递单元格值**(当前格及其父格值;**父格的父格也支持**)。
27
+ 2. **可传递查询条件值**(查询条件标识形如 `{searchfield001}`)。
28
+ 3. **跳转列表示例**:在链接中拼接单元格坐标参数,如
29
+ `/sp/ebdfpage/list/xxx?ry=B5&kssj=E3`
30
+ (`B5`/`E3` 表示取该格展开后的实际值)。
31
+ 4. 打开方式 UI:**弹出页 / 当前页 / 执行js代码**。
32
+
33
+ ---
34
+
35
+ ## 二、打开方式 `openType`
36
+
37
+ | UI(事件面板) | 落库值 | 运行时 |
38
+ |----------------|--------|--------|
39
+ | **弹出页** | **`blank`**(默认;空则归一为 blank) | 新窗口/弹层 |
40
+ | **当前页** | **`self`** | 当前页跳转 |
41
+ | **执行js代码** | **`jsscript`** | 将链接内容当 JS 执行 |
42
+
43
+ 禁止自造 `popup` / `window` 等别名。
44
+
45
+ **链接字符**:`?` / `&` 必须是 **ASCII**(`?`=U+003F)。禁止中文全角 `?`(U+FF1F),否则预览点击无反应(事故:E7 全角 vs F7 半角)。
46
+
47
+ ```bash
48
+ e10-cli report validate href --map "弹出页"
49
+ e10-cli report validate href --map "执行js代码"
50
+ e10-cli report validate href --file cell.json --fix # 全角?→ASCII ?
51
+ ```
52
+
53
+ ---
54
+
55
+ ## 三、传「单元格值」语法(帮助手册 · 强制)
56
+
57
+ > **范围**:仅当前格 + 设置链接字段的**左/上父格**(父格的父格也支持)。超出父格链的坐标**不能**取值。
58
+
59
+ ### 3.1 查询串传参(台账过滤 / 外链最常用)
60
+
61
+ 格式:`参数名=字段坐标`(坐标**不加** `{}`)。
62
+
63
+ | 规则 | 说明 |
64
+ |------|------|
65
+ | 链接**已有** `?` | 用 `&` 拼接:`...&aa=D4&bb=C4` |
66
+ | 链接**没有** `?` | 第一个参数用 `?`:`...?aa=D4&bb=C4` |
67
+ | 多值 | 多个 `&参数名=坐标` |
68
+ | 参数名 | **避免**系统关键字:`id`、`name` 等 |
69
+ | 父格链 | 左父格为默认时,E4→D4→C4,故 E4 链接可传 E4/D4/C4 |
70
+
71
+ ```text
72
+ # 示例1(已有 ?)
73
+ https://weapp.xxx.cn/sp/ebdfpage/list/1092...?id=1123...&aa=D4&bb=C4
74
+
75
+ # 示例2(无业务 ? 时,第一个单元格参用 ?)
76
+ https://weapp.xxx.cn/sp/ebdfpage/list/1092...?aa=D3&bb=C4
77
+
78
+ # 百度等外链(勿用 id/name 作参数名)
79
+ https://www.baidu.com/s?zclb=D7&zcmc=E7&cx={searchfield001}
80
+ ```
81
+
82
+ 运行时将 `D4`/`C4` 替换为对应单元格展开后的**实际值**。
83
+
84
+ ### 3.2 路径占位(表单布局 card 等)
85
+
86
+ 布局地址里的 `$dataid$` 等改为 **`{坐标}`**(**带花括号**):
87
+
88
+ ```text
89
+ /sp/ebdfpage/card/0/1123053786772799489/{C4}
90
+ ```
91
+
92
+ ### 3.3 其它写法(次要)
93
+
94
+ | 写法 | 说明 |
95
+ |------|------|
96
+ | **`{L4}` / `{A1}`** | 路径或需花括号的场景 |
97
+ | **`$datasetId.fieldName$`** | 同行数据集字段(引擎支持;**手册主推仍是坐标传参**) |
98
+
99
+ **超链接 Const 父格(强制)**:若链接依赖坐标数据格且该格是 Const 占位:
100
+
101
+ - **左父格**须指向提供该值的数据格,**禁止**默认 / `(0,0)`
102
+ - **上父格**通常 `-1`
103
+
104
+ 普通 **Field** 纵向列表、左父格默认时:可按 §3.1 传当前格及左侧父格链坐标(如 E4 传 D4、C4)。
105
+
106
+ 详见 `report-self-check-guide.md` §2.2。
107
+
108
+ ---
109
+
110
+ ## 四、传「查询条件值」语法
111
+
112
+ 查询条件在高级搜索中的标识:
113
+
114
+ | 标识 | 含义 |
115
+ |------|------|
116
+ | `{searchfield001}` | `asNameIndex=1` → `searchfield` + 三位补零 |
117
+ | `{searchfield002}` | `asNameIndex=2` |
118
+ | `{searchfield001_start}` / `{searchfield001_end}` | 日期区间起止 |
119
+
120
+ 规则:
121
+
122
+ 1. `asNameIndex` 与 `showOrder` 一致且唯一 >0(见 `query-condition-api-guide.md`)。
123
+ 2. 链接中写 `{searchfield00x}`,预览时替换为用户当前查询值。
124
+ 3. 也可在表头 Const 的 `cellText` 中引用同一标识显示查询值。
125
+ 4. 系统参数(如 `{userid}`、`{date}`、`{year}`)亦可出现在链接中(`DynamicParamsBuilder`)。
126
+
127
+ 示例:
128
+
129
+ ```text
130
+ /sp/ebdfpage/list/864399547574140928?creator={searchfield001}&dept=B5
131
+ ```
132
+
133
+ > 查询条件用 `{searchfield00x}`;单元格在查询串里用 **无花括号** 坐标(`dept=B5`)。
134
+
135
+ ---
136
+
137
+ ## 五、完整写入示例
138
+
139
+ ```json
140
+ {
141
+ "cellType": "Field",
142
+ "name": "3506271460832878820",
143
+ "text": "资产名称",
144
+ "pcHreflink": "https://www.baidu.com/s?zclb=D7&zcmc=E7&cx={searchfield001}",
145
+ "h5Hreflink": "",
146
+ "openType": "blank"
147
+ }
148
+ ```
149
+
150
+ 路径型示例(Const/Field 均可):
151
+
152
+ ```json
153
+ {
154
+ "cellType": "Const",
155
+ "cellText": "点击查看",
156
+ "pcHreflink": "/sp/ebdfpage/card/0/1123053786772799489/{C4}",
157
+ "openType": "blank",
158
+ "leftX": 3,
159
+ "leftY": 2,
160
+ "topX": -1,
161
+ "topY": -1
162
+ }
163
+ ```
164
+
165
+ ---
166
+
167
+ ## 六、Agent 检查清单
168
+
169
+ - [ ] `openType` ∈ `blank|self|jsscript`,UI 文案已映射
170
+ - [ ] 传单元格:查询串用 `参数名=坐标`(无 `{}`);路径用 `{坐标}`;仅当前格+父格链
171
+ - [ ] 传查询条件:`{searchfield00x}`,asNameIndex 已对齐
172
+ - [ ] 参数名避免 `id`/`name` 等系统关键字
173
+ - [ ] PC/H5 分端:移动需要时填 `h5Hreflink`
174
+ - [ ] 双写 fields + workbook;`safe_report_save` / fieldToCell 不丢链接键
175
+
176
+ ---
177
+
178
+ ## 关联
179
+
180
+ - `report-help-guide.md` §事件(摘要)
181
+ - `report-knowledge-base.md` §5.3 / §6.6
182
+ - `query-condition-api-guide.md` — asNameIndex / searchfield
183
+ - `report-self-check-guide.md` — 超链接父格
184
+ - `report-designer-feature-map.md` §7.2
@@ -0,0 +1,208 @@
1
+ # 字段精确绑定(强制 · 禁止匹配失败)
2
+
3
+ > **事故案例(已验证)**:报表 `AAA`(`1312677851392417792`)保存了 9 个 Field 格,但 `name` / `fieldKey` 末段写成裸雪花 ID `3506271516100878845`,而数据源真实字段名是 `field_3506271516100878845` → **设计器有字段格、取数全部匹配失败(字段获取不上)**。
4
+ > **前置事故(已验证 · `1312765120721813505`)**:Agent 用错 `addDataset`(`type=form` + `sourceGroup=appId`)时,`fieldsKey` **本身只有裸雪花**;用户在设计器手动「+」同表则得到 `field_*`。
5
+ > **遗漏点**:不是写 Field 时忘加前缀,而是 **注册契约与设计器不一致** —— 必先读 **`add-dataset-registration-guide.md`**,把数据集加成 LOGIC + `weaver-ebuilder-form-service`,再绑定。
6
+ > **唯一标准**:`name` / `fieldKey` 末段必须 **精确等于** 当前数据集 `fieldsAndOriginFields.fieldsKey[].name`(以接口回读为准)。
7
+ > **禁止**:注册错了却在 cell 上「手工补 `field_`」;或对正确的 `field_*` fieldsKey 去前缀。
8
+ > **硬目标**:任意 Field 的 `name` **必须**等于该 dataset 的 `fieldsKey[].name`;**零容忍**猜测、截断、错数据集。
9
+
10
+ ---
11
+
12
+ ## 〇、先保证 fieldsKey 带 `field_`(普通应用)
13
+
14
+ | 检查 | 说明 |
15
+ |------|------|
16
+ | addDataset | 默认 `sourceType=LOGIC` + `sourceGroup=weaver-ebuilder-form-service` |
17
+ | 门禁 | 业务字段若多为裸雪花 → **注册错误**,`delDataset` 重建;见 `add-dataset-registration-guide.md` |
18
+ | 同 sourceId 多实例 | **优先绑**设计器/LOGIC 那条(`field_*`),勿绑旧 form+appId 实例 |
19
+
20
+ ---
21
+
22
+ ## 一、唯一合法字段名来源
23
+
24
+ ```
25
+ GET /api/bs/edc/dataset/fieldsAndOriginFields
26
+ ?datasetId={datasetId}&hasField=true&isFront=true&reportId={reportId}
27
+ → data.fieldsKey[] // 权威列表;isFront=false 常为空,禁止依赖
28
+ ```
29
+
30
+ 每个 `fieldsKey` 项的关键属性:
31
+
32
+ | 属性 | 用途 | 示例 |
33
+ |------|------|------|
34
+ | **`name`** | **写入 Field 的 `name` / fieldKey 末段(唯一正确)** | `field_3506271516100878845`、`create_time` |
35
+ | `text` / `showName` | 仅用于按中文显示名**查找**对应 `name` | `资产类别` |
36
+ | `originName` | 参考,不可直接当 fieldKey 末段(除非与 `name` 相同) | — |
37
+
38
+ **禁止**从下列来源臆造 `name`:
39
+
40
+ | 错误来源 | 错误示例 | 后果 |
41
+ |----------|----------|------|
42
+ | 表单字段 ID / 雪花 ID(无 `field_`) | `3506271516100878845` | **取数匹配失败**(本案) |
43
+ | 显示名 | `资产类别` | 设计器/取数均失败 |
44
+ | 截断 / 半截 | `field_5`、`field_3506` | 匹配失败 |
45
+ | 去掉 `field_` 前缀 | 把 `field_xxx` 写成 `xxx` | **取数匹配失败** |
46
+ | 外部字段表 fieldId 未与 fieldsKey 交叉核对 | 形态可能不同 | 须与 fieldsKey.name 对齐后再用 |
47
+
48
+ ---
49
+
50
+ ## 二、绑定算法(强制)
51
+
52
+ > **⚠️ 2026-09-11 追加门禁(事故:报表 `1313789294296735745`)**:B3 列文案「姓名」,但该表单**没有「姓名」字段**,
53
+ > 旧逻辑静默兜底到系统字段 `name`(真实显示名「标题」)→ 单元格文案与绑定字段语义不符、属性面板回显对不上。
54
+ > **新规则:精确匹配失败必须 `exit 4` 提示用户指定字段,禁止任何自动兜底(尤其禁止回退系统字段)。**
55
+ > 落地实现:`spec_lib.resolveFieldBindings()` + `e10-cli report build` 的**建表前预检**。
56
+
57
+ 对需求中的每一列(显示名 → 数据字段):
58
+
59
+ ### 2.0 允许的匹配(命中即止,**全为精确匹配**)
60
+
61
+ | 顺序 | 依据 | 说明 |
62
+ |------|------|------|
63
+ | 1 | `column.fieldName` / `spec.fieldMap[列标题]` | 用户/Agent 显式指定(可为 `field_xxx`、显示名、系统字段名) |
64
+ | 2 | 列标题 === `fieldsKey[].text/showName`(归一化:去空白、全角括号→半角) | 主路径 |
65
+ | 3 | `column.field` === `text/showName` 或 `name` | 兼容旧 spec |
66
+ | 4 | 都不中 | **`unmatched` → exit 4**(附模糊候选供用户挑选) |
67
+
68
+ **禁止**:包含/被包含(`includes`)等模糊规则自动绑定;**禁止**把 `name`/`id`/`create_time` 等系统字段当作兜底。
69
+
70
+ ### 2.0.1 规则 A · 找不到字段 → **停下让用户指定**(强制 · 2026-09-11)
71
+
72
+ > **核心**:需求里的字段在当前数据集表单里**找不到**时,**不许猜、不许兜底**,必须停下把候选交给用户。
73
+
74
+ `resolveFieldBindings()` 的 `unmatched[]` 三种 `reason` 及处置:
75
+
76
+ | `reason` | 含义 | 退出码 | 处置 |
77
+ |----------|------|--------|------|
78
+ | `no_exact_match` | 列标题在 `fieldsKey.text` 中**无精确命中** | **4** | 把 `candidates` + `allFields` 抛给用户,请其指定字段 |
79
+ | `explicit_not_found` | 显式 `fieldName`/`fieldMap` 指向的字段**不存在** | **4** | 同上(禁止臆造字段名) |
80
+ | `display_mismatch` | 能绑到,但字段**真实显示名 ≠ 列文案**且未确认 | **4** | 用户确认列名有意如此 → `fieldConfirmed` / `--field-confirmed "列标题"` |
81
+
82
+ **两阶段拦截**(都不建表 / 删未完成表):
83
+
84
+ | 阶段 | 时机 | 未通过 |
85
+ |------|------|--------|
86
+ | 预检 | `fieldsBySource`(**建表前**) | **exit 4 · 未创建任何报表** |
87
+ | 复校 | 本表 `addDataset` → `fieldsKey`(落库前) | **exit 4 · 删除本轮未完成报表** |
88
+
89
+ 输出结构(`rule:"A"`):
90
+
91
+ ```json
92
+ {
93
+ "action": "confirm_field", "rule": "A", "needConfirm": true, "reportCreated": false,
94
+ "unmatched": [ { "column": "姓名", "reason": "no_exact_match", "prompt": "…请用户从 allFields/candidates 中指定字段",
95
+ "candidates": [ { "name": "field_...", "text": "发展人", "system": false } ] } ],
96
+ "allFields": [ { "name": "field_...", "text": "发展人", "system": false } ],
97
+ "next": { "specFields": { "fieldMap": { "<列标题>": "<字段显示名 | field_雪花 | 系统字段名>" } } }
98
+ }
99
+ ```
100
+
101
+ 用户指定后复跑:`spec.fieldMap = { "姓名": "发展人" }`(或 `field_xxx`)。
102
+ 若列名坚持与字段显示名不同 → 另加 `fieldConfirmed: ["姓名"]` / CLI `--field-confirmed "姓名"`。
103
+
104
+ **禁止**:
105
+ - 用「最相近的」字段顶上(哪怕语义看似接近);
106
+ - 回退系统字段(`name`→「标题」是历史事故);
107
+ - 先带病落库、事后再让用户改。
108
+
109
+ > 一页速览:`e10-cli report --help`。
110
+
111
+ ```javascript
112
+ // 1. 拉权威列表
113
+ const fieldsKey = (await fieldsAndOriginFields(...)).data.fieldsKey;
114
+
115
+ // 2. 解析(库函数,已含门禁)
116
+ const plan = resolveFieldBindings(fieldsKey, spec.columns, { fieldMap, fieldConfirmed });
117
+ if (!plan.ok) {
118
+ // exit 4:把每列 candidates 抛给用户,等其指定字段;不要自己猜
119
+ }
120
+ const nf = plan.bindings.find(b => b.index === colIndex).field;
121
+ ```
122
+
123
+ **规则摘要**:
124
+
125
+ 1. **先** `fieldsAndOriginFields`,**再**写任何 Field 单元格
126
+ 2. `name` **逐字等于** `fieldsKey[].name`(含 `field_` 前缀;系统字段如 `create_time` 原样)
127
+ 3. `fieldKey` = `{datasetId}.{sourceId}.{fieldsKey.name}`,三段齐全
128
+ 4. 保存前对**每一个** Field 做 `byName.has(name)`;任一失败 → **中止保存**,禁止带病落库
129
+
130
+ ---
131
+
132
+ ## 三、保存后强制回读校验(交付门禁)
133
+
134
+ `getReportDevInfo` 后,对每个 `cellType === 'Field'`:
135
+
136
+ ```javascript
137
+ function assertFieldBindExact(devFields, fieldsKey) {
138
+ const legal = new Set(fieldsKey.map(f => f.name));
139
+ const fieldCells = devFields.filter(f => f.cellType === 'Field');
140
+ if (!fieldCells.length) throw new Error('无 Field 单元格');
141
+ for (const f of fieldCells) {
142
+ const last = String(f.fieldKey || '').split('.')[2] || '';
143
+ if (!f.name || !legal.has(f.name)) {
144
+ throw new Error(`字段匹配失败 name=${f.name} text=${f.text}`);
145
+ }
146
+ if (last !== f.name || !legal.has(last)) {
147
+ throw new Error(`fieldKey 末段不在 fieldsKey: ${f.fieldKey}`);
148
+ }
149
+ // 裸雪花:若 fieldsKey 里已有 field_xxx,则禁止用裸名;否则先查 addDataset 是否注册错
150
+ }
151
+ }
152
+ ```
153
+
154
+ | 检查 | 失败即 FAIL |
155
+ |------|-------------|
156
+ | 每个 Field 的 `name ∈ fieldsKey.name` | ✅ |
157
+ | `fieldKey` 末段 === `name` | ✅ |
158
+ | 普通应用:fieldsKey 业务字段含 `field_*`(注册门禁) | ✅ 见 `add-dataset-registration-guide.md` |
159
+ | Field 数量 ≥ 需求列数 | ✅ |
160
+ | **单元格文案 === 绑定字段真实显示名**(否则须用户确认) | ⚠ `verify bind` 列出 `display_mismatch` |
161
+ | **同 sourceId 只挂 1 个数据集**(否则左侧重复分组) | ⚠ `verify bind` 列出 `duplicate_dataset_mount` |
162
+
163
+ `e10-cli report verify bind <reportId> [appId] [--strict]`:门禁失败 exit 1;`--strict` 时「待用户确认项」exit 2。
164
+
165
+ **未通过校验 → 须修正并告知用户**;可与「已交付的设计器链接」并行:先给链接(见 `report-delivery-contract.md` §〇),校验失败再补丁修复,**禁止**为等校验而拖延首轮地址。
166
+
167
+ ---
168
+
169
+ ## 四、故障对照
170
+
171
+ | 现象 | 根因 | 处理 |
172
+ |------|------|------|
173
+ | 设计器有 Field 格,预览/取数无数据或字段空白 | `name` 为裸 ID,缺 `field_` | 按 fieldsKey.name 重绑并 saveReportDevInfo |
174
+ | **手动加的数据集有 `field_`,API 加的没有** | **addDataset 用了 form+appId,不是设计器 LOGIC** | 按 `add-dataset-registration-guide.md` del 后重建 |
175
+ | **单元格表头文案 ≠ 属性面板字段名**(如「姓名」实为「标题」) | 旧逻辑把无匹配列**兜底到系统字段** | 改为 `exit 4` 让用户指定;存量报表用 `fieldMap`/重绑修复 |
176
+ | **左侧出现重复数据源分组** | 同 sourceId 被重复 `addDataset` 挂载 + 画布游离单元格引用 | 先改绑/清单元格再 `delDataset`;见 `dataset-sidebar-ops-guide.md §5.3` |
177
+ | `matchByName=false`(自检) | 同上 / 用了显示名 | 强制走 §二 resolve |
178
+ | 部分列有数据部分没有 | 个别列 name 写错 | 逐列对照 fieldsKey |
179
+ | fieldsKey 为空 | 未传 `isFront=true` 或 datasetId 错 | 修正后再绑定,禁止用空列表继续 |
180
+
181
+ ---
182
+
183
+ ## 五、与现有文档关系
184
+
185
+ | 文档 | 关系 |
186
+ |------|------|
187
+ | **`add-dataset-registration-guide.md`** | **addDataset 与设计器对齐;fieldsKey 无 `field_` 的根因** |
188
+ | `api-report-build-fast-path.md` | 建表流程 §三/§五 引用本节;保存门禁 |
189
+ | `cross-dataset-filter-guide.md` | leftFilter 的 fieldKey 末段同样必须是 fieldsKey.name |
190
+ | `e10-cli report verify bind` | 保存后一键校验(必跑) |
191
+ | `e10-cli report validate` | 离线 JSON 形态检查;**线上以本节 + verify_field_bind 为准** |
192
+
193
+ ---
194
+
195
+ ## 六、Agent 执行清单(复制即用)
196
+
197
+ - [ ] `sourceName` 为 `{表单名}(业务模块)`(回显名),不是裸表单名(`build spec` 已自动补后缀)
198
+ - [ ] 本报表**已有同 sourceId 数据集 → 复用**,不重复 `addDataset`
199
+ - [ ] `addDataset` 为 `LOGIC` + `weaver-ebuilder-form-service`(非共享表特例)
200
+ - [ ] `fieldsKey` 业务字段已含 `field_*`(否则先修注册)
201
+ - [ ] `fieldsAndOriginFields?isFront=true` 已拿到非空 `fieldsKey`
202
+ - [ ] 每个需求列:`显示名 → fieldsKey.name` 映射表已打印确认(`build spec` 输出 `fieldBindings`)
203
+ - [ ] **任一无精确命中 → exit 4 时,把 `candidates`/`allFields` 交给用户指定字段,禁止自行猜**
204
+ - [ ] 同 sourceId 多实例时绑的是 LOGIC/`field_*` 那条
205
+ - [ ] `name` ∈ 当前 dataset 的 fieldsKey(勿臆造 / 勿手工补 `field_`)
206
+ - [ ] 保存前 `assert` 全部通过
207
+ - [ ] 保存后 `verify_field_bind.js` / 等价断言全部通过
208
+ - [ ] 未通过则**不交付**