@agile-team/mach-report 2.14.0 → 2.16.0
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.
- package/README.md +26 -16
- package/THIRD_PARTY_NOTICES.md +3 -1
- package/dist/{ExcelBindingWizard-CLT2p7P3.cjs → ExcelBindingWizard-CP6h2x1f.cjs} +1 -1
- package/dist/{ExcelBindingWizard-CvsWR8Ga.js → ExcelBindingWizard-HhB3hAJE.js} +3 -3
- package/dist/ParamEditor-CUQLgoxa.cjs +1 -0
- package/dist/ParamEditor-OKesP_nO.js +594 -0
- package/dist/{ReportBatchPanel-DkxTzBkD.cjs → ReportBatchPanel-cZCAMAwH.cjs} +1 -1
- package/dist/{ReportBatchPanel-LqVgiqp7.js → ReportBatchPanel-ruxcbfY6.js} +39 -39
- package/dist/ReportPreview-BcDKCLiK.js +4834 -0
- package/dist/ReportPreview-Bk9nLfO9.cjs +6 -0
- package/dist/{ReportTemplateLibrary-cQ1sqNYo.cjs → ReportTemplateLibrary-BDlNT8JN.cjs} +1 -1
- package/dist/{ReportTemplateLibrary-MjWEtc7X.js → ReportTemplateLibrary-DcwrH-63.js} +1 -1
- package/dist/{RuleEditor-BaR6xUiI.cjs → RuleEditor-BX5S8RSF.cjs} +1 -1
- package/dist/{RuleEditor-ChuXMlei.js → RuleEditor-CGl9XY2s.js} +5 -5
- package/dist/{TemplateOutlinePanel-BHKP89Xz.cjs → TemplateOutlinePanel-CGrT5DFN.cjs} +1 -1
- package/dist/{TemplateOutlinePanel-Dci6aRn1.js → TemplateOutlinePanel-SXCjaPKR.js} +2 -2
- package/dist/{TemplateReusePanel-CY5eO2Sh.cjs → TemplateReusePanel-6Z3wRFz8.cjs} +1 -1
- package/dist/{TemplateReusePanel-B7Gmyc1z.js → TemplateReusePanel-lHLOS9Wn.js} +2 -2
- package/dist/{TemplateReviewPanel-DjlX3xpt.js → TemplateReviewPanel-CJ9PLc48.js} +2 -2
- package/dist/{TemplateReviewPanel-JvZe9_4G.cjs → TemplateReviewPanel-Dpk7sLcF.cjs} +1 -1
- package/dist/analytics.cjs +1 -1
- package/dist/analytics.d.cts +5 -1
- package/dist/analytics.d.ts +5 -1
- package/dist/analytics.js +154 -60
- package/dist/artifact-integrity.json +143 -0
- package/dist/assets-CqIbfbTr.js +126 -0
- package/dist/assets-e4YSke8n.cjs +1 -0
- package/dist/auto-YR7a4BtF.js +240 -0
- package/dist/auto-uVBjX1j5.cjs +1 -0
- package/dist/batch-WzDIXJAt.js +220 -0
- package/dist/batch-z6Aw5GEY.cjs +1 -0
- package/dist/capabilities-DDwXr_cA.js +103 -0
- package/dist/capabilities-DNLyZdNw.cjs +1 -0
- package/dist/codes.d.cts +4 -0
- package/dist/codes.d.ts +4 -0
- package/dist/component-tree-Ca6YYfHq.js +61 -0
- package/dist/component-tree-DkGLEfZC.cjs +1 -0
- package/dist/{computed-Bvk0W15F.js → computed-C-4C2S5h.js} +3 -3
- package/dist/config-Dg_o8e7m.cjs +1 -0
- package/dist/config-XQ4qrQ7Q.js +844 -0
- package/dist/designer-BfQSahxq.js +5163 -0
- package/dist/designer-CPPdeM5_.cjs +2 -0
- package/dist/designer.cjs +1 -1
- package/dist/designer.d.cts +197 -16
- package/dist/designer.d.ts +197 -16
- package/dist/designer.js +1 -1
- package/dist/diagnostic-notification-B9K9We3h.cjs +1 -0
- package/dist/diagnostic-notification-qGAYZdkB.js +7 -0
- package/dist/drill-CsdjgkRM.cjs +1 -0
- package/dist/drill-DIGsZfyB.js +145 -0
- package/dist/encoding-BOGq4qYL.js +21 -0
- package/dist/encoding-BYF9ZTl9.cjs +1 -0
- package/dist/{font-loader-DHto6Lra.js → font-loader-CzI1GuBc.js} +1 -1
- package/dist/{font-loader-vhCT8znW.cjs → font-loader-EKLzOJxf.cjs} +1 -1
- package/dist/index.cjs +8 -9
- package/dist/index.d.cts +84 -4
- package/dist/index.d.ts +84 -4
- package/dist/index.js +829 -833
- package/dist/json-snapshot-D6ioHth9.js +1702 -0
- package/dist/json-snapshot-DknkjvxP.cjs +2 -0
- package/dist/licenses/_bwip-js_generic-4.11.4.txt +24 -0
- package/dist/licenses/_fast-csv_format-4.3.5.txt +22 -0
- package/dist/licenses/_fast-csv_parse-4.3.6.txt +22 -0
- package/dist/licenses/_pdf-lib_fontkit-1.1.1.txt +326 -0
- package/dist/licenses/_pdf-lib_standard-fonts-1.0.0.txt +22 -0
- package/dist/licenses/_pdf-lib_upng-1.0.1.txt +22 -0
- package/dist/licenses/_types_node-14.18.63.txt +22 -0
- package/dist/licenses/_types_pako-2.0.3.txt +22 -0
- package/dist/licenses/_types_pegjs-0.10.6.txt +22 -0
- package/dist/licenses/archiver-5.3.2.txt +23 -0
- package/dist/licenses/archiver-utils-2.1.0.txt +23 -0
- package/dist/licenses/archiver-utils-3.0.4.txt +23 -0
- package/dist/licenses/async-3.2.6.txt +20 -0
- package/dist/licenses/balanced-match-1.0.2.txt +22 -0
- package/dist/licenses/base64-js-1.5.1.txt +22 -0
- package/dist/licenses/big-integer-1.6.52.txt +25 -0
- package/dist/licenses/binary-0.3.0.txt +178 -0
- package/dist/licenses/bl-4.1.0.txt +14 -0
- package/dist/licenses/bluebird-3.4.7.txt +22 -0
- package/dist/licenses/brace-expansion-1.1.21.txt +22 -0
- package/dist/licenses/brace-expansion-2.1.7.txt +22 -0
- package/dist/licenses/buffer-5.7.1.txt +22 -0
- package/dist/licenses/buffer-crc32-0.2.13.txt +20 -0
- package/dist/licenses/buffer-indexof-polyfill-1.0.2.txt +23 -0
- package/dist/licenses/buffers-0.1.1.txt +140 -0
- package/dist/licenses/chainsaw-0.1.0.txt +184 -0
- package/dist/licenses/compress-commons-4.1.2.txt +23 -0
- package/dist/licenses/concat-map-0.0.1.txt +19 -0
- package/dist/licenses/core-util-is-1.0.3.txt +20 -0
- package/dist/licenses/crc-32-1.2.2.txt +202 -0
- package/dist/licenses/crc32-stream-4.0.3.txt +23 -0
- package/dist/licenses/dayjs-1.11.23.txt +22 -0
- package/dist/licenses/duplexer2-0.1.4.txt +27 -0
- package/dist/licenses/end-of-stream-1.4.5.txt +22 -0
- package/dist/licenses/exceljs-4.4.0.txt +23 -0
- package/dist/licenses/fast-csv-4.3.6.txt +22 -0
- package/dist/licenses/fast-png-6.4.0.txt +22 -0
- package/dist/licenses/fs-constants-1.0.0.txt +22 -0
- package/dist/licenses/fs.realpath-1.0.0.txt +44 -0
- package/dist/licenses/fstream-1.0.12.txt +16 -0
- package/dist/licenses/glob-7.2.3.txt +22 -0
- package/dist/licenses/graceful-fs-4.2.11.txt +16 -0
- package/dist/licenses/ieee754-1.2.1.txt +12 -0
- package/dist/licenses/immediate-3.0.6.txt +21 -0
- package/dist/licenses/inflight-1.0.6.txt +16 -0
- package/dist/licenses/inherits-2.0.4.txt +17 -0
- package/dist/licenses/iobuffer-5.4.0.txt +23 -0
- package/dist/licenses/isarray-1.0.0.txt +61 -0
- package/dist/licenses/jszip-3.10.2.txt +652 -0
- package/dist/licenses/lazystream-1.0.1.txt +24 -0
- package/dist/licenses/lie-3.3.0.txt +8 -0
- package/dist/licenses/listenercount-1.0.1.txt +6 -0
- package/dist/licenses/lodash.defaults-4.2.0.txt +48 -0
- package/dist/licenses/lodash.difference-4.5.0.txt +48 -0
- package/dist/licenses/lodash.escaperegexp-4.1.2.txt +48 -0
- package/dist/licenses/lodash.flatten-4.4.0.txt +48 -0
- package/dist/licenses/lodash.groupby-4.6.0.txt +48 -0
- package/dist/licenses/lodash.isboolean-3.0.3.txt +23 -0
- package/dist/licenses/lodash.isequal-4.5.0.txt +48 -0
- package/dist/licenses/lodash.isfunction-3.0.9.txt +48 -0
- package/dist/licenses/lodash.isnil-4.0.0.txt +23 -0
- package/dist/licenses/lodash.isplainobject-4.0.6.txt +48 -0
- package/dist/licenses/lodash.isundefined-3.0.1.txt +23 -0
- package/dist/licenses/lodash.union-4.6.0.txt +48 -0
- package/dist/licenses/lodash.uniq-4.5.0.txt +48 -0
- package/dist/licenses/minimatch-3.1.5.txt +16 -0
- package/dist/licenses/minimatch-5.1.9.txt +16 -0
- package/dist/licenses/minimist-1.2.8.txt +19 -0
- package/dist/licenses/mkdirp-0.5.6.txt +22 -0
- package/dist/licenses/node-sql-parser-5.4.0.txt +202 -0
- package/dist/licenses/normalize-path-3.0.0.txt +22 -0
- package/dist/licenses/once-1.4.0.txt +16 -0
- package/dist/licenses/pako-1.0.11.txt +22 -0
- package/dist/licenses/pako-2.2.0.txt +22 -0
- package/dist/licenses/path-is-absolute-1.0.1.txt +22 -0
- package/dist/licenses/pdf-lib-1.17.1.txt +22 -0
- package/dist/licenses/process-nextick-args-2.0.1.txt +20 -0
- package/dist/licenses/readable-stream-2.3.8.txt +48 -0
- package/dist/licenses/readable-stream-3.6.2.txt +48 -0
- package/dist/licenses/readdir-glob-1.1.3.txt +202 -0
- package/dist/licenses/rimraf-2.7.1.txt +16 -0
- package/dist/licenses/safe-buffer-5.1.2.txt +22 -0
- package/dist/licenses/safe-buffer-5.2.1.txt +22 -0
- package/dist/licenses/saxes-5.0.1.txt +397 -0
- package/dist/licenses/setimmediate-1.0.5.txt +21 -0
- package/dist/licenses/string_decoder-1.1.1.txt +49 -0
- package/dist/licenses/string_decoder-1.3.0.txt +49 -0
- package/dist/licenses/tar-stream-2.2.0.txt +22 -0
- package/dist/licenses/tmp-0.2.7.txt +22 -0
- package/dist/licenses/traverse-0.3.9.txt +25 -0
- package/dist/licenses/tslib-1.14.1.txt +13 -0
- package/dist/licenses/unzipper-0.10.14.txt +26 -0
- package/dist/licenses/util-deprecate-1.0.2.txt +25 -0
- package/dist/licenses/uuid-11.1.1.txt +10 -0
- package/dist/licenses/wrappy-1.0.2.txt +16 -0
- package/dist/licenses/xmlchars-2.2.0.txt +19 -0
- package/dist/licenses/zip-stream-4.1.1.txt +23 -0
- package/dist/matrix-CGRGkn5s.js +112 -0
- package/dist/matrix-gEO7ZM_u.cjs +1 -0
- package/dist/media-B7vnpD8k.cjs +1 -0
- package/dist/media-Y90dHK9z.js +70 -0
- package/dist/param-validation-C3HlcLLO.cjs +1 -0
- package/dist/param-validation-Do7Eg8Zv.js +181 -0
- package/dist/{pdf-AyJGb22z.cjs → pdf-ByVCb1i6.cjs} +49 -49
- package/dist/{pdf-8UPQebOE.js → pdf-DJ5S6ukC.js} +4924 -4872
- package/dist/pdf.cjs +1 -1
- package/dist/pdf.d.cts +20 -3
- package/dist/pdf.d.ts +20 -3
- package/dist/pdf.js +2 -2
- package/dist/{plugin-BGKf-Tqg.js → plugin-C2j5_mhx.js} +2 -2
- package/dist/{plugin-CktLH_Iy.cjs → plugin-Dr39GBRG.cjs} +1 -1
- package/dist/prepared-DdrjLC7L.cjs +1 -0
- package/dist/prepared-DqtpvRTn.js +87 -0
- package/dist/progress-B0ctFpKf.cjs +1 -0
- package/dist/progress-BXzlVbIp.js +29 -0
- package/dist/progress-DJBd9Rb9.cjs +1 -0
- package/dist/progress-Hc2vxoCs.js +52 -0
- package/dist/protocol-BzwMP4Vw.cjs +1 -0
- package/dist/protocol-kt4Iy6-3.js +90 -0
- package/dist/record-bindings-CZWBJ1fU.js +195 -0
- package/dist/record-bindings-DUX1VMlR.cjs +1 -0
- package/dist/{region-binding-workflow-DEJbhpCv.js → region-binding-workflow-CWNvIjkV.js} +1 -1
- package/dist/{region-binding-workflow-BzfbxRiR.cjs → region-binding-workflow-CqSMxQ4p.cjs} +1 -1
- package/dist/report-encoding-worker.cjs +1 -0
- package/dist/report-encoding-worker.d.ts +1 -0
- package/dist/report-encoding-worker.js +2 -0
- package/dist/{report-params-B44imUd4.js → report-params-B1RzkhJj.js} +1 -1
- package/dist/{report-params-SJfhKgaX.cjs → report-params-WDGrA4oP.cjs} +1 -1
- package/dist/rich-text-layout-ALlMoYOG.cjs +3 -0
- package/dist/rich-text-layout-Ct5WrY1g.js +102 -0
- package/dist/runtime-BjKBI530.js +168 -0
- package/dist/runtime-CBFEPKEs.cjs +1 -0
- package/dist/sbom.cdx.json +3982 -0
- package/dist/server/node.d.cts +106 -2
- package/dist/server/node.d.ts +106 -2
- package/dist/server-node.cjs +5 -1
- package/dist/server-node.js +4634 -539
- package/dist/server.cjs +1 -1
- package/dist/server.d.cts +780 -5
- package/dist/server.d.ts +780 -5
- package/dist/server.js +773 -691
- package/dist/sha256-BshdOkCC.cjs +1 -0
- package/dist/sha256-DTG-Gq8i.js +157 -0
- package/dist/style-67OqfNed.js +73 -0
- package/dist/style-C22Pbv3T.cjs +1 -0
- package/dist/style.css +1 -1
- package/dist/template-bindings-C2SpvsMU.js +58 -0
- package/dist/template-bindings-CEtWyiLX.cjs +1 -0
- package/dist/template-catalog-BtR2JmCL.js +414 -0
- package/dist/template-catalog-C2NLdrwB.cjs +1 -0
- package/dist/{template-fragments-DFUpq5QM.cjs → template-fragments-BVsbxs4a.cjs} +1 -1
- package/dist/{template-fragments-CLkGo6To.js → template-fragments-By0aZC1D.js} +21 -21
- package/dist/{template-outline-B3xVkzSv.cjs → template-outline-BwRV_eRo.cjs} +1 -1
- package/dist/{template-outline-CFenM1PV.js → template-outline-cnWfT_LK.js} +3 -3
- package/dist/template-registry-C62vpv4a.cjs +1 -0
- package/dist/template-registry-Cw3vRTX2.js +801 -0
- package/dist/textwrap-BEIg2w8y.js +110 -0
- package/dist/textwrap-BI-yJ6Wt.cjs +4 -0
- package/dist/{tree-CqcQ99NM.js → tree-CjVZLRw7.js} +1 -1
- package/dist/vue/async.d.cts +189 -14
- package/dist/vue/async.d.ts +189 -14
- package/dist/vue/index.d.cts +246 -22
- package/dist/vue/index.d.ts +246 -22
- package/dist/vue-async.cjs +1 -1
- package/dist/vue-async.js +3 -3
- package/dist/vue.cjs +1 -1
- package/dist/vue.js +80 -78
- package/dist/{workbook-session-BfK1yHOO.js → workbook-session-BeSO8PFB.js} +5460 -5295
- package/dist/{workbook-session-DNa2RHNG.cjs → workbook-session-Cbts-22R.cjs} +19 -19
- package/dist/worker.cjs +1 -1
- package/dist/worker.d.cts +104 -2
- package/dist/worker.d.ts +104 -2
- package/dist/worker.js +12 -156
- package/dist/xlsx-node.cjs +35 -35
- package/dist/xlsx-node.js +2138 -2137
- package/dist/xlsx.cjs +4 -4
- package/dist/xlsx.d.cts +24 -10
- package/dist/xlsx.d.ts +24 -10
- package/dist/xlsx.js +303 -277
- package/package.json +7 -4
- package/dist/ParamEditor-CflQV3eQ.js +0 -526
- package/dist/ParamEditor-vIDzvpPV.cjs +0 -1
- package/dist/ReportPreview-CvbqLUzM.cjs +0 -6
- package/dist/ReportPreview-D_ywJ_-H.js +0 -4533
- package/dist/assets-C2U-e-Sz.cjs +0 -4
- package/dist/assets-Q0wUwNrV.js +0 -217
- package/dist/batch-DzaTNLWI.js +0 -371
- package/dist/batch-xMkqYiTr.cjs +0 -1
- package/dist/capabilities-CK_7hizc.js +0 -63
- package/dist/capabilities-CsZ-pNHR.cjs +0 -1
- package/dist/config-0UIohTS7.cjs +0 -1
- package/dist/config-Dt9NtCPl.js +0 -566
- package/dist/data-explanation-BktvER5B.cjs +0 -1
- package/dist/data-explanation-C_J6jYNi.js +0 -16
- package/dist/defaults-DXhiM1ZD.js +0 -10
- package/dist/defaults-xhmcLLrf.cjs +0 -1
- package/dist/designer-Ci1LizA9.js +0 -5020
- package/dist/designer-rtmVIIdN.cjs +0 -2
- package/dist/grid-strokes-Cr7DwUux.cjs +0 -1
- package/dist/grid-strokes-DyyG1q_o.js +0 -53
- package/dist/json-snapshot-BeFT3Tso.js +0 -1952
- package/dist/json-snapshot-D1NTP2oI.cjs +0 -2
- package/dist/matrix-DVyWiYsd.cjs +0 -1
- package/dist/matrix-yZsGnldA.js +0 -227
- package/dist/page-window-index-CIuT4BAv.js +0 -43
- package/dist/page-window-index-DEjnM6IB.cjs +0 -1
- package/dist/param-validation-BlHHXs6u.js +0 -153
- package/dist/param-validation-DCK039V1.cjs +0 -1
- package/dist/progress-7OSZbFok.js +0 -39
- package/dist/progress-BnLiS5eH.cjs +0 -1
- package/dist/render-plan-7xpGrCEl.cjs +0 -1
- package/dist/render-plan-Ck6koX9L.js +0 -13
- package/dist/style-CQ1PK8ZB.js +0 -67
- package/dist/style-UgIJSA1F.cjs +0 -1
- package/dist/task-events-DQ276fn2.cjs +0 -1
- package/dist/task-events-Dpsvf_t2.js +0 -47
- package/dist/template-bindings-BJR4k7qZ.cjs +0 -1
- package/dist/template-bindings-Daui7hLF.js +0 -252
- package/dist/template-registry-COXDEJEM.js +0 -570
- package/dist/template-registry-D3SjENi6.cjs +0 -1
- package/dist/validate-BJ5HIWY8.cjs +0 -1
- package/dist/validate-CkQBWCeg.js +0 -163
package/dist/server.d.cts
CHANGED
|
@@ -8,8 +8,20 @@ declare interface AggregateDefinition {
|
|
|
8
8
|
digits?: number;
|
|
9
9
|
}
|
|
10
10
|
|
|
11
|
+
declare interface AggregateDefinition_2 {
|
|
12
|
+
/** Output column; valueField defaults to this field. */
|
|
13
|
+
field: string;
|
|
14
|
+
op: AggregateOperation_2;
|
|
15
|
+
valueField?: string;
|
|
16
|
+
weightField?: string;
|
|
17
|
+
numeric?: "number" | "decimal";
|
|
18
|
+
digits?: number;
|
|
19
|
+
}
|
|
20
|
+
|
|
11
21
|
declare type AggregateOperation = "sum" | "count" | "avg" | "min" | "max" | "weightedAvg";
|
|
12
22
|
|
|
23
|
+
declare type AggregateOperation_2 = "sum" | "count" | "avg" | "min" | "max" | "weightedAvg";
|
|
24
|
+
|
|
13
25
|
declare interface AssetRenderBudget {
|
|
14
26
|
/** Maximum newly rendered assets, default 1000. Existing imageData is kept unchanged. */
|
|
15
27
|
maxAssets?: number;
|
|
@@ -21,7 +33,7 @@ declare interface AssetRenderBudget {
|
|
|
21
33
|
maxDurationMs?: number;
|
|
22
34
|
}
|
|
23
35
|
|
|
24
|
-
declare interface AssetRenderOptions extends OutputDiagnosticOptions {
|
|
36
|
+
declare interface AssetRenderOptions extends OutputDiagnosticOptions, ImageMediaOptions {
|
|
25
37
|
assetRenderers?: Partial<Record<ImageComponentKind, ComponentImageRenderer>>;
|
|
26
38
|
assetBudget?: AssetRenderBudget;
|
|
27
39
|
/** Default throw prevents an incomplete export; placeholder retains the component and emits diagnostics. */
|
|
@@ -47,6 +59,18 @@ declare interface CodeOptions {
|
|
|
47
59
|
showText?: boolean;
|
|
48
60
|
}
|
|
49
61
|
|
|
62
|
+
/** Serializable symbol settings. Encoders remain in the optional /codes entry. */
|
|
63
|
+
declare interface CodeOptions_2 {
|
|
64
|
+
/** Explicit content, including an empty value, takes precedence over legacy fallbackText. */
|
|
65
|
+
value?: string;
|
|
66
|
+
symbology?: "code128" | "code39" | "ean13" | "ean8";
|
|
67
|
+
errorCorrection?: "L" | "M" | "Q" | "H";
|
|
68
|
+
/** White modules around a symbol: QR >=4, linear >=10, EAN >=11. */
|
|
69
|
+
quietZoneModules?: number;
|
|
70
|
+
/** Human-readable content below a linear barcode. */
|
|
71
|
+
showText?: boolean;
|
|
72
|
+
}
|
|
73
|
+
|
|
50
74
|
/**
|
|
51
75
|
* 列值格式化(声明式、JSON 可序列化)。
|
|
52
76
|
* 在 paginate 的 cellText 出口统一消费:格式化发生在进 RenderPlan 之前,
|
|
@@ -70,6 +94,29 @@ declare type ColumnFormat = {
|
|
|
70
94
|
pattern?: string;
|
|
71
95
|
};
|
|
72
96
|
|
|
97
|
+
/**
|
|
98
|
+
* 列值格式化(声明式、JSON 可序列化)。
|
|
99
|
+
* 在 paginate 的 cellText 出口统一消费:格式化发生在进 RenderPlan 之前,
|
|
100
|
+
* 三后端(DOM/Canvas/PDF)零改动。
|
|
101
|
+
*
|
|
102
|
+
* 语义约定(v0.9 固化):
|
|
103
|
+
* - number.digits 显式给出 → 精确保留(12.5 + digits:2 → "12.50")
|
|
104
|
+
* - number.thousands 默认 false(千分位显式开启)
|
|
105
|
+
* - date 字符串按"本地时区的日历日"解析(YYYY-MM-DD / YYYY/MM/DD 直取年月日,
|
|
106
|
+
* 不经 Date 字符串构造——后者按 UTC 零点,负时区环境会少一天)
|
|
107
|
+
*/
|
|
108
|
+
declare type ColumnFormat_2 = {
|
|
109
|
+
kind: "number";
|
|
110
|
+
thousands?: boolean;
|
|
111
|
+
digits?: number;
|
|
112
|
+
} | {
|
|
113
|
+
kind: "percent";
|
|
114
|
+
digits?: number;
|
|
115
|
+
} | {
|
|
116
|
+
kind: "date";
|
|
117
|
+
pattern?: string;
|
|
118
|
+
};
|
|
119
|
+
|
|
73
120
|
/** A literal own field of the current label record; expressions and paths are not evaluated. */
|
|
74
121
|
declare interface ComponentBinding {
|
|
75
122
|
field: string;
|
|
@@ -79,6 +126,15 @@ declare interface ComponentBinding {
|
|
|
79
126
|
emptyText?: string;
|
|
80
127
|
}
|
|
81
128
|
|
|
129
|
+
/** A literal own field of the current label record; expressions and paths are not evaluated. */
|
|
130
|
+
declare interface ComponentBinding_2 {
|
|
131
|
+
field: string;
|
|
132
|
+
format?: ValueFormat_2;
|
|
133
|
+
prefix?: string;
|
|
134
|
+
suffix?: string;
|
|
135
|
+
emptyText?: string;
|
|
136
|
+
}
|
|
137
|
+
|
|
82
138
|
declare interface ComponentImageContext {
|
|
83
139
|
readonly component: Readonly<PlanComponent>;
|
|
84
140
|
readonly pageIndex: number;
|
|
@@ -91,6 +147,8 @@ declare type ComponentImageRenderer = (context: ComponentImageContext) => string
|
|
|
91
147
|
|
|
92
148
|
declare type ComponentKind = "text" | "image" | "barcode" | "qrcode" | "chart" | "line" | "rect" | "ellipse";
|
|
93
149
|
|
|
150
|
+
declare type ComponentKind_2 = "text" | "image" | "barcode" | "qrcode" | "chart" | "line" | "rect" | "ellipse";
|
|
151
|
+
|
|
94
152
|
declare interface ComponentStyle {
|
|
95
153
|
fontSizePx?: number;
|
|
96
154
|
fontSize?: number;
|
|
@@ -115,6 +173,30 @@ declare interface ComponentStyle {
|
|
|
115
173
|
rotateDeg?: number;
|
|
116
174
|
}
|
|
117
175
|
|
|
176
|
+
declare interface ComponentStyle_2 {
|
|
177
|
+
fontSizePx?: number;
|
|
178
|
+
fontSize?: number;
|
|
179
|
+
fontFamily?: string;
|
|
180
|
+
bold?: boolean;
|
|
181
|
+
italic?: boolean;
|
|
182
|
+
underline?: boolean;
|
|
183
|
+
color?: string;
|
|
184
|
+
backgroundColor?: string;
|
|
185
|
+
align?: "left" | "center" | "right" | "justify";
|
|
186
|
+
verticalAlign?: "top" | "middle" | "bottom";
|
|
187
|
+
lineColor?: string;
|
|
188
|
+
borderColor?: string;
|
|
189
|
+
lineWidthPt?: number;
|
|
190
|
+
borderTop?: boolean;
|
|
191
|
+
borderRight?: boolean;
|
|
192
|
+
borderBottom?: boolean;
|
|
193
|
+
borderLeft?: boolean;
|
|
194
|
+
lineHeight?: number;
|
|
195
|
+
letterSpacing?: number;
|
|
196
|
+
opacity?: number;
|
|
197
|
+
rotateDeg?: number;
|
|
198
|
+
}
|
|
199
|
+
|
|
118
200
|
declare interface ComputedField extends ExpressionOptions {
|
|
119
201
|
field: string;
|
|
120
202
|
expression: ReportExpression | string;
|
|
@@ -125,6 +207,23 @@ declare interface ComputedField extends ExpressionOptions {
|
|
|
125
207
|
dependsOn?: readonly string[];
|
|
126
208
|
}
|
|
127
209
|
|
|
210
|
+
declare interface ComputedField_2 extends ExpressionOptions_2 {
|
|
211
|
+
field: string;
|
|
212
|
+
expression: ReportExpression_2 | string;
|
|
213
|
+
/** Scope controls aggregate inputs; row expressions may reference the current row in any scope. */
|
|
214
|
+
scope?: "row" | "group" | "dataset";
|
|
215
|
+
groupBy?: readonly string[];
|
|
216
|
+
/** String adapter expressions cannot be inspected; declare dependencies explicitly. */
|
|
217
|
+
dependsOn?: readonly string[];
|
|
218
|
+
}
|
|
219
|
+
|
|
220
|
+
export declare function createManagerTemplateCatalog(manager: ReportTemplateManager, metadata?: (document: ReportTemplateDocument) => Pick<LocalTemplateCatalogItem, "category" | "tags">): ReportTemplateCatalogProvider;
|
|
221
|
+
|
|
222
|
+
/** Session-local intents; durable hosts should supply their own authorized stable IDs. */
|
|
223
|
+
export declare function createMemoryReportInstanceIds(maximum?: number): {
|
|
224
|
+
forCase(templateId: string, caseId: string): string;
|
|
225
|
+
};
|
|
226
|
+
|
|
128
227
|
/** Bounded reference store for tests/local sessions. Production hosts implement durable transactional CAS. */
|
|
129
228
|
export declare function createMemoryReportInstanceStore(options?: MemoryReportInstanceStoreOptions): ReportInstanceStore;
|
|
130
229
|
|
|
@@ -180,6 +279,31 @@ export declare function createReportTaskQueue(options?: {
|
|
|
180
279
|
maxQueued?: number;
|
|
181
280
|
}): ReportTaskQueue;
|
|
182
281
|
|
|
282
|
+
/** Export explicitly selected metadata/samples; external resource bytes stay in host-managed storage. */
|
|
283
|
+
export declare function createReportTemplatePackage(input: Omit<ReportTemplatePackage, "schemaVersion" | "resources" | "minimumVersion"> & {
|
|
284
|
+
resources?: ReportPackageResource[];
|
|
285
|
+
minimumVersion?: string;
|
|
286
|
+
}, options?: ReportTemplatePackageOptions): ReportTemplatePackage;
|
|
287
|
+
|
|
288
|
+
/** Optional package-owned catalog → draft publication → immutable batch/instance wiring. */
|
|
289
|
+
export declare function createReportWorkflow(options: ReportWorkflowOptions): {
|
|
290
|
+
catalog: ReportTemplateCatalogProvider;
|
|
291
|
+
publish: (input: ReportWorkflowPublishInput) => Promise<ReportTemplateRecord_2>;
|
|
292
|
+
/** Resolve only a manager-owned publication, then keep that exact revision for this batch. */
|
|
293
|
+
batch(id: string, request?: {
|
|
294
|
+
expectedRevision?: string;
|
|
295
|
+
signal?: AbortSignal;
|
|
296
|
+
}): Promise<{
|
|
297
|
+
document: ReportTemplateDocument;
|
|
298
|
+
execute(item: ReportBatchCase, { signal }: {
|
|
299
|
+
signal?: AbortSignal;
|
|
300
|
+
}): Promise<{
|
|
301
|
+
instanceId: string;
|
|
302
|
+
label: string;
|
|
303
|
+
}>;
|
|
304
|
+
}>;
|
|
305
|
+
};
|
|
306
|
+
|
|
183
307
|
declare interface DatasetContract {
|
|
184
308
|
fields: readonly ReportFieldContract[];
|
|
185
309
|
rowKey?: string;
|
|
@@ -201,6 +325,13 @@ declare interface ExpressionOptions {
|
|
|
201
325
|
divisionByZero?: "null" | "error";
|
|
202
326
|
}
|
|
203
327
|
|
|
328
|
+
declare interface ExpressionOptions_2 {
|
|
329
|
+
numeric?: "number" | "decimal";
|
|
330
|
+
digits?: number;
|
|
331
|
+
nulls?: "propagate" | "error";
|
|
332
|
+
divisionByZero?: "null" | "error";
|
|
333
|
+
}
|
|
334
|
+
|
|
204
335
|
declare interface FormulaAdapter {
|
|
205
336
|
/** Explicit trusted engine; core never evaluates source code/macros/external workbook references. */
|
|
206
337
|
evaluate(expression: string, context: {
|
|
@@ -211,6 +342,8 @@ declare interface FormulaAdapter {
|
|
|
211
342
|
}
|
|
212
343
|
|
|
213
344
|
declare interface GridCell {
|
|
345
|
+
/** Styled cell content; text remains a plain-text fallback. Imported rich cells are read-only. */
|
|
346
|
+
richParagraphs?: RichParagraph[];
|
|
214
347
|
text?: string;
|
|
215
348
|
rawText?: string;
|
|
216
349
|
/** 原始值,仅供 Excel raw 模式消费;不参与预览、分页与 PDF 绘制。 */
|
|
@@ -234,8 +367,47 @@ declare interface GridCell {
|
|
|
234
367
|
style?: ComponentStyle;
|
|
235
368
|
}
|
|
236
369
|
|
|
370
|
+
declare interface GridCell_2 {
|
|
371
|
+
/** Styled cell content; text remains a plain-text fallback. Imported rich cells are read-only. */
|
|
372
|
+
richParagraphs?: RichParagraph_2[];
|
|
373
|
+
text?: string;
|
|
374
|
+
rawText?: string;
|
|
375
|
+
/** 原始值,仅供 Excel raw 模式消费;不参与预览、分页与 PDF 绘制。 */
|
|
376
|
+
value?: string | number | boolean | null;
|
|
377
|
+
/** Excel 数字格式(例如 #,##0.00 / 0.00%),不改变 text。 */
|
|
378
|
+
numberFormat?: string;
|
|
379
|
+
/** Physical left inset for hierarchical labels; raw value stays unchanged. */
|
|
380
|
+
indentMm?: number;
|
|
381
|
+
/** 编辑输入类型;省略时只按原始值推断,数字字符串不会被转换为数值。 */
|
|
382
|
+
valueType?: "text" | "number" | "boolean";
|
|
383
|
+
/** 单元格级编辑控制;预览仍需显式开启 editing。 */
|
|
384
|
+
editable?: boolean;
|
|
385
|
+
source?: ReportCellSource_2;
|
|
386
|
+
/** SDK 派生结果不映射业务来源,始终只读(包括覆盖同名源字段的计算)。 */
|
|
387
|
+
derived?: boolean;
|
|
388
|
+
/** Excel 公式保留元数据;当前引擎不计算公式,公式格始终只读。 */
|
|
389
|
+
formula?: string;
|
|
390
|
+
children?: PlanComponent_2[];
|
|
391
|
+
colSpan?: number;
|
|
392
|
+
rowSpan?: number;
|
|
393
|
+
style?: ComponentStyle_2;
|
|
394
|
+
}
|
|
395
|
+
|
|
237
396
|
declare type ImageComponentKind = "image" | "chart" | "barcode" | "qrcode";
|
|
238
397
|
|
|
398
|
+
/** Bounded binary image inspection shared by PDF, Excel and template import. No decoder is loaded. */
|
|
399
|
+
declare interface ImageMediaOptions {
|
|
400
|
+
maxImageBytes?: number;
|
|
401
|
+
maxTotalImageBytes?: number;
|
|
402
|
+
maxImages?: number;
|
|
403
|
+
/** Decoded pixels per unique image, default 16 million. */
|
|
404
|
+
maxImagePixels?: number;
|
|
405
|
+
/** Total decoded pixels for unique media, default 64 million. */
|
|
406
|
+
maxTotalImagePixels?: number;
|
|
407
|
+
/** Maximum source dimension, default 16384 pixels. */
|
|
408
|
+
maxImageDimension?: number;
|
|
409
|
+
}
|
|
410
|
+
|
|
239
411
|
export declare interface LabelStreamContext {
|
|
240
412
|
index: number;
|
|
241
413
|
rowOffset: number;
|
|
@@ -282,6 +454,9 @@ export declare interface LabelStreamReceipt {
|
|
|
282
454
|
/** auto:真实数字/显式数值格式居右,日期与布尔居中,其他内容居左。 */
|
|
283
455
|
declare type ListAlignment = NonNullable<ComponentStyle["align"]> | "auto";
|
|
284
456
|
|
|
457
|
+
/** auto:真实数字/显式数值格式居右,日期与布尔居中,其他内容居左。 */
|
|
458
|
+
declare type ListAlignment_2 = NonNullable<ComponentStyle_2["align"]> | "auto";
|
|
459
|
+
|
|
285
460
|
declare interface ListColumn {
|
|
286
461
|
header: string;
|
|
287
462
|
field: string;
|
|
@@ -308,6 +483,32 @@ declare interface ListColumn {
|
|
|
308
483
|
visibleWhen?: StyleRule["when"];
|
|
309
484
|
}
|
|
310
485
|
|
|
486
|
+
declare interface ListColumn_2 {
|
|
487
|
+
header: string;
|
|
488
|
+
field: string;
|
|
489
|
+
widthMm: number;
|
|
490
|
+
style?: ComponentStyle_2;
|
|
491
|
+
/** 内容对齐,优先于 style.align;数值字符串不会自动判为数字。 */
|
|
492
|
+
align?: ListAlignment_2;
|
|
493
|
+
/** 独立的表头对齐,不改变内容对齐。 */
|
|
494
|
+
headerAlign?: ComponentStyle_2["align"];
|
|
495
|
+
/** 独立的表头样式,优先于列表级表头样式。 */
|
|
496
|
+
headerStyle?: ComponentStyle_2;
|
|
497
|
+
/** 值格式化(声明式):千分位/小数位、百分比、日期 pattern */
|
|
498
|
+
format?: ColumnFormat_2;
|
|
499
|
+
/** 条件格式规则(声明式,命中合并进单元格样式;如负数红字) */
|
|
500
|
+
rules?: StyleRule_2[];
|
|
501
|
+
/** 内容列编辑控制;仍需由预览显式开启 editing,不影响表头/小计只读规则。 */
|
|
502
|
+
editable?: boolean;
|
|
503
|
+
/** 空值列或特殊数据类型可显式声明编辑输入类型。 */
|
|
504
|
+
valueType?: GridCell_2["valueType"];
|
|
505
|
+
/** 字段语义用于 auto 对齐;明确声明编号,避免把数字编号当成度量。 */
|
|
506
|
+
semanticRole?: "identifier" | "dimension" | "measure" | "date" | "text";
|
|
507
|
+
hidden?: boolean;
|
|
508
|
+
/** Condition hides cell content, preserving its physical layout in preview and exports. */
|
|
509
|
+
visibleWhen?: StyleRule_2["when"];
|
|
510
|
+
}
|
|
511
|
+
|
|
311
512
|
declare interface ListComponent {
|
|
312
513
|
kind: "list";
|
|
313
514
|
/** Opaque serializable layout annotations; interpreted only by explicit optional adapters. */
|
|
@@ -361,6 +562,59 @@ declare interface ListComponent {
|
|
|
361
562
|
grandTotal?: ListGrandTotal;
|
|
362
563
|
}
|
|
363
564
|
|
|
565
|
+
declare interface ListComponent_2 {
|
|
566
|
+
kind: "list";
|
|
567
|
+
/** Opaque serializable layout annotations; interpreted only by explicit optional adapters. */
|
|
568
|
+
meta?: Record<string, unknown>;
|
|
569
|
+
id?: string;
|
|
570
|
+
/** 宽表标记用于连续 Excel;不改变低层列表的列宽和分页算法。 */
|
|
571
|
+
layout?: "page" | "wide";
|
|
572
|
+
/** 逻辑表名称,供 Excel Sheet 命名;不额外生成标题组件。 */
|
|
573
|
+
title?: string;
|
|
574
|
+
leftMm: number;
|
|
575
|
+
topMm: number;
|
|
576
|
+
widthMm: number;
|
|
577
|
+
dataset: string;
|
|
578
|
+
/** Headerless record/region bindings do not allocate a synthetic list header. */
|
|
579
|
+
header?: boolean;
|
|
580
|
+
/** A fixed record region rejects multiple rows instead of dropping source data. */
|
|
581
|
+
cardinality?: "record";
|
|
582
|
+
/** 数据集中稳定业务主键的字段名;省略时编辑仅有计划内坐标。 */
|
|
583
|
+
rowKey?: string;
|
|
584
|
+
revisionField?: string;
|
|
585
|
+
sourceTokenField?: string;
|
|
586
|
+
columns: ListColumn_2[];
|
|
587
|
+
fontSizePt?: number;
|
|
588
|
+
headerBold?: boolean;
|
|
589
|
+
rowHeightMm?: number;
|
|
590
|
+
paddingMm?: number;
|
|
591
|
+
headerEveryPage?: boolean;
|
|
592
|
+
headerBackgroundColor?: string;
|
|
593
|
+
/** 内容默认对齐,列配置可覆盖;低层模板缺省仍为 left。 */
|
|
594
|
+
align?: ListAlignment_2;
|
|
595
|
+
/** 表头默认对齐,列配置可覆盖。 */
|
|
596
|
+
headerAlign?: ComponentStyle_2["align"];
|
|
597
|
+
headerStyle?: ComponentStyle_2;
|
|
598
|
+
/** 可选多行合并表头;列宽按列表物理列对齐,供 Excel 业务模板复用。 */
|
|
599
|
+
headerGrid?: PlanGrid_2;
|
|
600
|
+
border?: boolean;
|
|
601
|
+
/** 分组小计(组头/组尾小计/组头防孤行) */
|
|
602
|
+
groupBy?: ListGroupBy_2;
|
|
603
|
+
/** Ordered outer-to-inner grouping; groupBy remains the single-level shorthand. */
|
|
604
|
+
groups?: ListGroupBy_2[];
|
|
605
|
+
computed?: ComputedField_2[];
|
|
606
|
+
/** Dynamic pivot of the current source dataset, with read-only derived identities. */
|
|
607
|
+
matrix?: MatrixTableOptions_2;
|
|
608
|
+
/** Full ordered hierarchy; source parent values and descendant-leaf rollups are explicit. */
|
|
609
|
+
tree?: TreeTableOptions_2;
|
|
610
|
+
/** Explicit row visibility; hidden rows do not participate in summaries. */
|
|
611
|
+
rowVisibleWhen?: StyleRule_2["when"];
|
|
612
|
+
/** Master/detail relation is keyed by business identity, never by display row index. */
|
|
613
|
+
detail?: ListDetail_2;
|
|
614
|
+
/** 末尾总合计行(依赖 groupBy.subtotal 或显式 fields) */
|
|
615
|
+
grandTotal?: ListGrandTotal_2;
|
|
616
|
+
}
|
|
617
|
+
|
|
364
618
|
declare interface ListDetail {
|
|
365
619
|
dataset: string;
|
|
366
620
|
parentKey: string;
|
|
@@ -377,6 +631,22 @@ declare interface ListDetail {
|
|
|
377
631
|
unmatched?: "error" | "ignore";
|
|
378
632
|
}
|
|
379
633
|
|
|
634
|
+
declare interface ListDetail_2 {
|
|
635
|
+
dataset: string;
|
|
636
|
+
parentKey: string;
|
|
637
|
+
foreignKey: string;
|
|
638
|
+
rowKey?: string;
|
|
639
|
+
/** 子表独立的并发契约;省略时不继承主表字段。 */
|
|
640
|
+
revisionField?: string;
|
|
641
|
+
sourceTokenField?: string;
|
|
642
|
+
columns: ListColumn_2[];
|
|
643
|
+
rowHeightMm?: number;
|
|
644
|
+
header?: boolean;
|
|
645
|
+
label?: string;
|
|
646
|
+
/** Unmatched children fail by default; opt-in ignore is explicit. */
|
|
647
|
+
unmatched?: "error" | "ignore";
|
|
648
|
+
}
|
|
649
|
+
|
|
380
650
|
declare type ListGrandTotal = boolean | {
|
|
381
651
|
label?: string;
|
|
382
652
|
style?: ComponentStyle;
|
|
@@ -385,6 +655,14 @@ declare type ListGrandTotal = boolean | {
|
|
|
385
655
|
aggregates?: AggregateDefinition[];
|
|
386
656
|
};
|
|
387
657
|
|
|
658
|
+
declare type ListGrandTotal_2 = boolean | {
|
|
659
|
+
label?: string;
|
|
660
|
+
style?: ComponentStyle_2;
|
|
661
|
+
/** 合计列(缺省沿用 groupBy.subtotal) */
|
|
662
|
+
fields?: string[];
|
|
663
|
+
aggregates?: AggregateDefinition_2[];
|
|
664
|
+
};
|
|
665
|
+
|
|
388
666
|
/** 分组小计配置(声明式,见 ListComponent.groupBy) */
|
|
389
667
|
declare interface ListGroupBy {
|
|
390
668
|
/** 分组字段(值变化即切组) */
|
|
@@ -403,6 +681,34 @@ declare interface ListGroupBy {
|
|
|
403
681
|
repeatHeader?: boolean;
|
|
404
682
|
}
|
|
405
683
|
|
|
684
|
+
/** 分组小计配置(声明式,见 ListComponent.groupBy) */
|
|
685
|
+
declare interface ListGroupBy_2 {
|
|
686
|
+
/** 分组字段(值变化即切组) */
|
|
687
|
+
field: string;
|
|
688
|
+
/** 组头文案模板,{value} 占位(默认 "{value}") */
|
|
689
|
+
headerTemplate?: string;
|
|
690
|
+
headerStyle?: ComponentStyle_2;
|
|
691
|
+
/** 需要小计的列字段(组尾输出合计行;数值列求和,其余输出首值/留空) */
|
|
692
|
+
subtotal?: string[];
|
|
693
|
+
subtotalStyle?: ComponentStyle_2;
|
|
694
|
+
subtotalLabel?: string;
|
|
695
|
+
/** 组头防孤行(默认 true:页尾放不下"组头+首行"时整体换页) */
|
|
696
|
+
keepWithNext?: boolean;
|
|
697
|
+
aggregates?: AggregateDefinition_2[];
|
|
698
|
+
/** Repeat this group heading after page breaks within the group. */
|
|
699
|
+
repeatHeader?: boolean;
|
|
700
|
+
}
|
|
701
|
+
|
|
702
|
+
declare interface LocalTemplateCatalogItem {
|
|
703
|
+
/** Editable document: prefer the latest draft; otherwise use the published document. */
|
|
704
|
+
document: ReportTemplateDocument;
|
|
705
|
+
published?: ReportTemplateDocument;
|
|
706
|
+
draftRevision?: string;
|
|
707
|
+
publishedRevision?: string;
|
|
708
|
+
category?: string;
|
|
709
|
+
tags?: string[];
|
|
710
|
+
}
|
|
711
|
+
|
|
406
712
|
declare interface MatrixTableOptions {
|
|
407
713
|
rowFields: readonly string[];
|
|
408
714
|
columnFields: readonly string[];
|
|
@@ -419,6 +725,22 @@ declare interface MatrixTableOptions {
|
|
|
419
725
|
maxCells?: number;
|
|
420
726
|
}
|
|
421
727
|
|
|
728
|
+
declare interface MatrixTableOptions_2 {
|
|
729
|
+
rowFields: readonly string[];
|
|
730
|
+
columnFields: readonly string[];
|
|
731
|
+
measures: readonly (AggregateDefinition_2 & {
|
|
732
|
+
label?: string;
|
|
733
|
+
})[];
|
|
734
|
+
totals?: boolean;
|
|
735
|
+
rowHeader?: string;
|
|
736
|
+
columnWidthMm?: number;
|
|
737
|
+
rowWidthMm?: number;
|
|
738
|
+
maxRows?: number;
|
|
739
|
+
maxColumns?: number;
|
|
740
|
+
maxInputRows?: number;
|
|
741
|
+
maxCells?: number;
|
|
742
|
+
}
|
|
743
|
+
|
|
422
744
|
export declare interface MemoryReportInstanceStoreOptions {
|
|
423
745
|
maxInstances?: number;
|
|
424
746
|
maxRevisions?: number;
|
|
@@ -427,7 +749,7 @@ export declare interface MemoryReportInstanceStoreOptions {
|
|
|
427
749
|
}
|
|
428
750
|
|
|
429
751
|
declare interface OutputDiagnostic {
|
|
430
|
-
code: "missing-image" | "unsupported-component" | "unsupported-image-format" | "unsupported-style" | "rich-text-flattened" | "nested-components-omitted" | "async-image-required" | "image-decode-failed" | "asset-render-failed" | "asset-budget-exceeded";
|
|
752
|
+
code: "invalid-image-data" | "image-budget-exceeded" | "component-render-failed" | "unsupported-text" | "output-degraded" | "missing-image" | "unsupported-component" | "unsupported-image-format" | "unsupported-style" | "rich-text-flattened" | "nested-components-omitted" | "async-image-required" | "image-decode-failed" | "asset-render-failed" | "asset-budget-exceeded";
|
|
431
753
|
severity: "warning";
|
|
432
754
|
format: OutputFormat;
|
|
433
755
|
pageIndex: number;
|
|
@@ -471,6 +793,9 @@ declare interface PaginateOptions {
|
|
|
471
793
|
formula?: FormulaAdapter;
|
|
472
794
|
}
|
|
473
795
|
|
|
796
|
+
/** Parse a bounded manifest without network access, code execution, registration or publication. */
|
|
797
|
+
export declare function parseReportTemplatePackage(input: unknown, options?: ReportTemplatePackageOptions): ReportTemplatePackage;
|
|
798
|
+
|
|
474
799
|
declare interface PlanComponent {
|
|
475
800
|
/** Optional QR/barcode encoding configuration; no encoder is loaded by the core. */
|
|
476
801
|
code?: CodeOptions;
|
|
@@ -500,6 +825,35 @@ declare interface PlanComponent {
|
|
|
500
825
|
fallbackText?: string;
|
|
501
826
|
}
|
|
502
827
|
|
|
828
|
+
declare interface PlanComponent_2 {
|
|
829
|
+
/** Optional QR/barcode encoding configuration; no encoder is loaded by the core. */
|
|
830
|
+
code?: CodeOptions_2;
|
|
831
|
+
/** Template-only binding; resolved and removed before constructing the output plan. */
|
|
832
|
+
binding?: ComponentBinding_2;
|
|
833
|
+
/** Template page furniture repeats per page and reserves its vertical band. */
|
|
834
|
+
pageAnchor?: "header" | "footer";
|
|
835
|
+
kind: ComponentKind_2;
|
|
836
|
+
leftMm: number;
|
|
837
|
+
topMm: number;
|
|
838
|
+
widthMm: number;
|
|
839
|
+
heightMm: number;
|
|
840
|
+
nid?: string;
|
|
841
|
+
rkey?: string;
|
|
842
|
+
text?: string;
|
|
843
|
+
rawText?: string;
|
|
844
|
+
lines?: string[];
|
|
845
|
+
richParagraphs?: RichParagraph_2[];
|
|
846
|
+
imageData?: string;
|
|
847
|
+
/** 明确指定线段方向;省略保持历史水平线行为。 */
|
|
848
|
+
lineDirection?: "down" | "up";
|
|
849
|
+
grid?: PlanGrid_2;
|
|
850
|
+
table?: PlanTableFragment_2;
|
|
851
|
+
style?: ComponentStyle_2;
|
|
852
|
+
meta?: Record<string, unknown>;
|
|
853
|
+
/** MachReport 扩展字段:未知 kind 的兜底渲染标记 */
|
|
854
|
+
fallbackText?: string;
|
|
855
|
+
}
|
|
856
|
+
|
|
503
857
|
declare interface PlanGrid {
|
|
504
858
|
/** 行内允许 null 空位;渲染器按空单元格处理 */
|
|
505
859
|
cells: (GridCell | null)[][];
|
|
@@ -510,6 +864,16 @@ declare interface PlanGrid {
|
|
|
510
864
|
paddingMm?: number;
|
|
511
865
|
}
|
|
512
866
|
|
|
867
|
+
declare interface PlanGrid_2 {
|
|
868
|
+
/** 行内允许 null 空位;渲染器按空单元格处理 */
|
|
869
|
+
cells: (GridCell_2 | null)[][];
|
|
870
|
+
colWidthsMm?: number[];
|
|
871
|
+
rowHeightsMm?: number[];
|
|
872
|
+
gapMm?: number;
|
|
873
|
+
/** 单元格四边内距;旧静态网格默认 0.5mm,分页列表使用其真实测量内距。 */
|
|
874
|
+
paddingMm?: number;
|
|
875
|
+
}
|
|
876
|
+
|
|
513
877
|
declare interface PlanPage {
|
|
514
878
|
meta?: Record<string, unknown>;
|
|
515
879
|
/** wide 表示完整自然列宽;页面仅为预览的垂直窗口分段。 */
|
|
@@ -540,6 +904,23 @@ declare interface PlanTableFragment {
|
|
|
540
904
|
};
|
|
541
905
|
}
|
|
542
906
|
|
|
907
|
+
/** 列表的逻辑行来源;用于连续 Excel 重组,避免按文本猜测重复表头。 */
|
|
908
|
+
declare interface PlanTableFragment_2 {
|
|
909
|
+
/** 在整个计划中唯一的逻辑表身份;同一表的分页片段共享身份。 */
|
|
910
|
+
id: string;
|
|
911
|
+
/** 表头固定 -1;其余行(包括组头/小计/总计)从 0 连续递增。 */
|
|
912
|
+
rowIndex: number;
|
|
913
|
+
role: "header" | "body" | "group-header" | "subtotal" | "grand-total";
|
|
914
|
+
/** 按物理列顺序保存字段身份;不以表头显示文本判断列结构。 */
|
|
915
|
+
columnKeys: string[];
|
|
916
|
+
layout?: "page" | "wide";
|
|
917
|
+
title?: string;
|
|
918
|
+
/** 只有宿主声明稳定 rowKey 时生成,不能用显示顺序替代业务主键。 */
|
|
919
|
+
source?: Omit<ReportCellSource_2, "field" | "rowKey"> & {
|
|
920
|
+
rowKey?: string | number;
|
|
921
|
+
};
|
|
922
|
+
}
|
|
923
|
+
|
|
543
924
|
export declare interface PreparedReport {
|
|
544
925
|
plan: RenderPlan;
|
|
545
926
|
diagnostics: ReportDiagnostic[];
|
|
@@ -548,6 +929,8 @@ export declare interface PreparedReport {
|
|
|
548
929
|
revision?: string;
|
|
549
930
|
sourceToken?: string;
|
|
550
931
|
}>;
|
|
932
|
+
/** Ordered occurrences; legacy revisions remains last-value-by-ID for compatibility. */
|
|
933
|
+
sources?: ReportRuntimeSource[];
|
|
551
934
|
/** Captured metrics identity; absence on old saved instances remains supported with diagnostics. */
|
|
552
935
|
layout?: {
|
|
553
936
|
textMetrics: "heuristic" | "provided" | "font-bytes";
|
|
@@ -621,6 +1004,19 @@ declare interface ReportCellEdit {
|
|
|
621
1004
|
|
|
622
1005
|
/** 可持久化的业务身份与计划坐标独立;权限及并发校验仍由业务服务器执行。 */
|
|
623
1006
|
declare interface ReportCellSource {
|
|
1007
|
+
/** Source identity across report occurrences; sharing must be explicitly declared. */
|
|
1008
|
+
sourceScope?: string;
|
|
1009
|
+
datasetId: string;
|
|
1010
|
+
rowKey: string | number;
|
|
1011
|
+
field: string;
|
|
1012
|
+
revision?: string | number;
|
|
1013
|
+
sourceToken?: string;
|
|
1014
|
+
}
|
|
1015
|
+
|
|
1016
|
+
/** 可持久化的业务身份与计划坐标独立;权限及并发校验仍由业务服务器执行。 */
|
|
1017
|
+
declare interface ReportCellSource_2 {
|
|
1018
|
+
/** Source identity across report occurrences; sharing must be explicitly declared. */
|
|
1019
|
+
sourceScope?: string;
|
|
624
1020
|
datasetId: string;
|
|
625
1021
|
rowKey: string | number;
|
|
626
1022
|
field: string;
|
|
@@ -644,9 +1040,13 @@ declare interface ReportDataTarget {
|
|
|
644
1040
|
rowKey?: string | number;
|
|
645
1041
|
/** Use table identity when the same dataset appears in several tables. */
|
|
646
1042
|
tableId?: string;
|
|
1043
|
+
/** Assigned by the source/runtime when several reports share dataset names. */
|
|
1044
|
+
reportScope?: string;
|
|
647
1045
|
}
|
|
648
1046
|
|
|
649
1047
|
declare interface ReportDefinition {
|
|
1048
|
+
/** Explicitly shared editable data identity. Omit to isolate each report occurrence. */
|
|
1049
|
+
sourceScope?: string;
|
|
650
1050
|
/** 静态模板或宿主提供的异步模板加载器;动态模板默认每次重新读取,不缓存版本。 */
|
|
651
1051
|
template: ReportTemplate | ReportTemplateLoader;
|
|
652
1052
|
/** 静态数据;load 存在时优先使用 load 的结果。 */
|
|
@@ -698,6 +1098,19 @@ declare type ReportExpression = {
|
|
|
698
1098
|
args: readonly ReportExpression[];
|
|
699
1099
|
};
|
|
700
1100
|
|
|
1101
|
+
declare type ReportExpression_2 = {
|
|
1102
|
+
field: string;
|
|
1103
|
+
} | {
|
|
1104
|
+
value: string | number | boolean | null;
|
|
1105
|
+
} | {
|
|
1106
|
+
aggregate: AggregateOperation_2;
|
|
1107
|
+
field?: string;
|
|
1108
|
+
weightField?: string;
|
|
1109
|
+
} | {
|
|
1110
|
+
op: "add" | "subtract" | "multiply" | "divide" | "coalesce";
|
|
1111
|
+
args: readonly ReportExpression_2[];
|
|
1112
|
+
};
|
|
1113
|
+
|
|
701
1114
|
declare interface ReportFieldContract {
|
|
702
1115
|
field: string;
|
|
703
1116
|
label?: string;
|
|
@@ -721,6 +1134,14 @@ declare interface ReportFlowBand {
|
|
|
721
1134
|
heightMm: number;
|
|
722
1135
|
}
|
|
723
1136
|
|
|
1137
|
+
declare interface ReportFlowBand_2 {
|
|
1138
|
+
/** Exact stable component IDs. Static components use nid, lists use id. */
|
|
1139
|
+
componentIds: string[];
|
|
1140
|
+
/** Source-template coordinates; following bands keep their original gap. */
|
|
1141
|
+
topMm: number;
|
|
1142
|
+
heightMm: number;
|
|
1143
|
+
}
|
|
1144
|
+
|
|
724
1145
|
export declare interface ReportGenerationInput {
|
|
725
1146
|
scope: string;
|
|
726
1147
|
id: string;
|
|
@@ -771,7 +1192,9 @@ export declare interface ReportInstanceSnapshot {
|
|
|
771
1192
|
sourceRevisions: Record<string, string>;
|
|
772
1193
|
plan: RenderPlan;
|
|
773
1194
|
/** Exact generation diagnostics, row statistics and font metrics; optional for legacy instances. */
|
|
774
|
-
output?: Omit<PreparedReport, "plan" | "revisions"
|
|
1195
|
+
output?: Omit<PreparedReport, "plan" | "revisions" | "sources"> & {
|
|
1196
|
+
sources?: Array<Omit<ReportRuntimeSource, "sourceToken">>;
|
|
1197
|
+
};
|
|
775
1198
|
/** Private storage keys; signed download URLs must be generated by the host after authorization. */
|
|
776
1199
|
artifacts?: ReportInstanceArtifact[];
|
|
777
1200
|
}
|
|
@@ -795,6 +1218,10 @@ export declare class ReportJobError extends Error {
|
|
|
795
1218
|
export declare interface ReportJobExecutionContext {
|
|
796
1219
|
scope: string;
|
|
797
1220
|
taskId: string;
|
|
1221
|
+
/** Immutable claim generation; compare atomically at the host artifact commit boundary. */
|
|
1222
|
+
readonly attempt: number;
|
|
1223
|
+
/** Opaque tuple identity, scoped to this claim; never a credential. */
|
|
1224
|
+
readonly executionToken: string;
|
|
798
1225
|
signal: AbortSignal;
|
|
799
1226
|
reportProgress(completed: number, total?: number): Promise<void>;
|
|
800
1227
|
}
|
|
@@ -917,10 +1344,53 @@ declare interface ReportLoadContext {
|
|
|
917
1344
|
signal?: AbortSignal;
|
|
918
1345
|
}
|
|
919
1346
|
|
|
1347
|
+
export declare interface ReportPackageFixture {
|
|
1348
|
+
name: string;
|
|
1349
|
+
/** Explicit host confirmation; the SDK does not infer that business values are anonymous. */
|
|
1350
|
+
deidentified: true;
|
|
1351
|
+
datasets: DatasetRows;
|
|
1352
|
+
params?: Record<string, string>;
|
|
1353
|
+
}
|
|
1354
|
+
|
|
1355
|
+
export declare interface ReportPackageImageTarget {
|
|
1356
|
+
pageIndex: number;
|
|
1357
|
+
/** Top component index, then optional repeated grid-row / cell / child triplets. */
|
|
1358
|
+
componentPath: number[];
|
|
1359
|
+
}
|
|
1360
|
+
|
|
1361
|
+
export declare interface ReportPackageResource {
|
|
1362
|
+
id: string;
|
|
1363
|
+
kind: "font" | "image";
|
|
1364
|
+
mediaType: "font/ttf" | "font/otf" | "image/png" | "image/jpeg";
|
|
1365
|
+
bytes: number;
|
|
1366
|
+
sha256: string;
|
|
1367
|
+
license?: string;
|
|
1368
|
+
font?: {
|
|
1369
|
+
family: string;
|
|
1370
|
+
face: "regular" | "bold" | "italic" | "boldItalic";
|
|
1371
|
+
};
|
|
1372
|
+
targets?: ReportPackageImageTarget[];
|
|
1373
|
+
}
|
|
1374
|
+
|
|
1375
|
+
export declare interface ReportPackageResourceBytes {
|
|
1376
|
+
bytes: Uint8Array;
|
|
1377
|
+
mediaType: ReportPackageResource["mediaType"];
|
|
1378
|
+
}
|
|
1379
|
+
|
|
1380
|
+
export declare function reportPackageResourceDigest(bytes: Uint8Array): string;
|
|
1381
|
+
|
|
1382
|
+
export declare type ReportPackageResourceResolver = (resource: Readonly<ReportPackageResource>, context: {
|
|
1383
|
+
signal: AbortSignal;
|
|
1384
|
+
}) => ReportPackageResourceBytes | Promise<ReportPackageResourceBytes>;
|
|
1385
|
+
|
|
920
1386
|
declare interface ReportPageFlow {
|
|
921
1387
|
bands: ReportFlowBand[];
|
|
922
1388
|
}
|
|
923
1389
|
|
|
1390
|
+
declare interface ReportPageFlow_2 {
|
|
1391
|
+
bands: ReportFlowBand_2[];
|
|
1392
|
+
}
|
|
1393
|
+
|
|
924
1394
|
/** 报表参数定义(声明式,模板自描述参数面:渲染组件据此生成查询面板) */
|
|
925
1395
|
declare interface ReportParamDef {
|
|
926
1396
|
/** 参数名(传入 params,与数据集 SQL #{field} 绑定对应) */
|
|
@@ -933,6 +1403,36 @@ declare interface ReportParamDef {
|
|
|
933
1403
|
label: string;
|
|
934
1404
|
value: string;
|
|
935
1405
|
}>;
|
|
1406
|
+
/** Opaque host-resolved source key. No URL, credentials or executable code is stored. */
|
|
1407
|
+
optionsSource?: string;
|
|
1408
|
+
/** Select dependencies must be declared parameters; changing a parent clears descendants. */
|
|
1409
|
+
dependsOn?: string[];
|
|
1410
|
+
defaultValue?: string;
|
|
1411
|
+
required?: boolean;
|
|
1412
|
+
placeholder?: string;
|
|
1413
|
+
/** 数字上下界;日期/月/年使用对应规范字符串;dateRange 对两端使用 YYYY-MM-DD 边界(含边界)。 */
|
|
1414
|
+
min?: number | string;
|
|
1415
|
+
max?: number | string;
|
|
1416
|
+
minLength?: number;
|
|
1417
|
+
maxLength?: number;
|
|
1418
|
+
}
|
|
1419
|
+
|
|
1420
|
+
/** 报表参数定义(声明式,模板自描述参数面:渲染组件据此生成查询面板) */
|
|
1421
|
+
declare interface ReportParamDef_2 {
|
|
1422
|
+
/** 参数名(传入 params,与数据集 SQL #{field} 绑定对应) */
|
|
1423
|
+
field: string;
|
|
1424
|
+
/** 显示名(缺省用 field) */
|
|
1425
|
+
label?: string;
|
|
1426
|
+
type?: "text" | "number" | "date" | "month" | "year" | "dateRange" | "select";
|
|
1427
|
+
/** select 选项 */
|
|
1428
|
+
options?: Array<{
|
|
1429
|
+
label: string;
|
|
1430
|
+
value: string;
|
|
1431
|
+
}>;
|
|
1432
|
+
/** Opaque host-resolved source key. No URL, credentials or executable code is stored. */
|
|
1433
|
+
optionsSource?: string;
|
|
1434
|
+
/** Select dependencies must be declared parameters; changing a parent clears descendants. */
|
|
1435
|
+
dependsOn?: string[];
|
|
936
1436
|
defaultValue?: string;
|
|
937
1437
|
required?: boolean;
|
|
938
1438
|
placeholder?: string;
|
|
@@ -950,7 +1450,7 @@ declare interface ReportParamIssue {
|
|
|
950
1450
|
message: string;
|
|
951
1451
|
}
|
|
952
1452
|
|
|
953
|
-
declare type ReportParamIssueCode = "definition" | "required" | "type" | "option" | "minimum" | "maximum" | "minLength" | "maxLength";
|
|
1453
|
+
declare type ReportParamIssueCode = "definition" | "required" | "type" | "option" | "dependency" | "minimum" | "maximum" | "minLength" | "maxLength";
|
|
954
1454
|
|
|
955
1455
|
declare interface ReportParamValidation {
|
|
956
1456
|
ok: boolean;
|
|
@@ -1064,10 +1564,11 @@ export declare interface ReportRuntimeExportInput extends ReportRuntimeInput {
|
|
|
1064
1564
|
format: "pdf" | "xlsx";
|
|
1065
1565
|
/** strict 在编码前拒绝已识别的输出降级;默认保留诊断并继续。 */
|
|
1066
1566
|
fidelity?: "warn" | "strict";
|
|
1067
|
-
xlsx?: {
|
|
1567
|
+
xlsx?: ImageMediaOptions & {
|
|
1068
1568
|
sheetMode?: "auto" | "pages" | "continuous";
|
|
1069
1569
|
valueMode?: "text" | "raw";
|
|
1070
1570
|
paperSize?: "auto" | "a3" | "a4" | "a5";
|
|
1571
|
+
sheetName?: (sheetIndex: number) => string;
|
|
1071
1572
|
};
|
|
1072
1573
|
}
|
|
1073
1574
|
|
|
@@ -1098,6 +1599,8 @@ export declare interface ReportRuntimeOptions {
|
|
|
1098
1599
|
/** Encode an existing plan without querying providers or repaginating. */
|
|
1099
1600
|
export declare interface ReportRuntimePreparedExportInput extends ReportTaskMonitoring {
|
|
1100
1601
|
prepared: PreparedReport;
|
|
1602
|
+
/** verify checks font metric identity; preserve explicitly keeps existing geometry, with a diagnostic. Encoding fidelity is unchanged. */
|
|
1603
|
+
layoutPolicy?: "verify" | "preserve";
|
|
1101
1604
|
format: ReportRuntimeExportInput["format"];
|
|
1102
1605
|
fidelity?: ReportRuntimeExportInput["fidelity"];
|
|
1103
1606
|
pdf?: ReportPdfFontOptions;
|
|
@@ -1105,6 +1608,15 @@ export declare interface ReportRuntimePreparedExportInput extends ReportTaskMoni
|
|
|
1105
1608
|
signal?: AbortSignal;
|
|
1106
1609
|
}
|
|
1107
1610
|
|
|
1611
|
+
/** One query occurrence; repeated report IDs retain independent provenance. */
|
|
1612
|
+
export declare interface ReportRuntimeSource {
|
|
1613
|
+
reportId: string;
|
|
1614
|
+
reportIndex: number;
|
|
1615
|
+
reportScope: string;
|
|
1616
|
+
revision?: string;
|
|
1617
|
+
sourceToken?: string;
|
|
1618
|
+
}
|
|
1619
|
+
|
|
1108
1620
|
export declare interface ReportRuntimeStats {
|
|
1109
1621
|
rows: number;
|
|
1110
1622
|
pages: number;
|
|
@@ -1195,6 +1707,55 @@ declare interface ReportTemplate {
|
|
|
1195
1707
|
pages: TemplatePage[];
|
|
1196
1708
|
}
|
|
1197
1709
|
|
|
1710
|
+
declare interface ReportTemplate_2 {
|
|
1711
|
+
schemaVersion?: string;
|
|
1712
|
+
/** 参数定义(可选;宿主也可经 ReportPreview 的 paramDefs prop 提供,prop 优先) */
|
|
1713
|
+
params?: ReportParamDef_2[];
|
|
1714
|
+
/** Fixed label pages repeat in record → copy → template-page order. */
|
|
1715
|
+
repeat?: ReportTemplateRepeat_2;
|
|
1716
|
+
pages: TemplatePage_2[];
|
|
1717
|
+
}
|
|
1718
|
+
|
|
1719
|
+
declare interface ReportTemplateCatalogEntry extends ReportTemplateSummary {
|
|
1720
|
+
category?: string;
|
|
1721
|
+
tags?: string[];
|
|
1722
|
+
updatedAt?: string;
|
|
1723
|
+
/** Optional lifecycle metadata. revision continues to identify the editable document. */
|
|
1724
|
+
draftRevision?: string;
|
|
1725
|
+
publishedRevision?: string;
|
|
1726
|
+
}
|
|
1727
|
+
|
|
1728
|
+
declare interface ReportTemplateCatalogOpenContext {
|
|
1729
|
+
mode: "edit" | "published";
|
|
1730
|
+
}
|
|
1731
|
+
|
|
1732
|
+
declare interface ReportTemplateCatalogPage {
|
|
1733
|
+
items: ReportTemplateCatalogEntry[];
|
|
1734
|
+
next?: string;
|
|
1735
|
+
categories?: Array<{
|
|
1736
|
+
id: string;
|
|
1737
|
+
label: string;
|
|
1738
|
+
count?: number;
|
|
1739
|
+
}>;
|
|
1740
|
+
}
|
|
1741
|
+
|
|
1742
|
+
/** Discovery metadata is separate from executable templates and from enterprise account authorization. */
|
|
1743
|
+
declare interface ReportTemplateCatalogProvider {
|
|
1744
|
+
search(request: ReportTemplateCatalogQuery): Promise<ReportTemplateCatalogPage>;
|
|
1745
|
+
get(id: string, context: {
|
|
1746
|
+
signal?: AbortSignal;
|
|
1747
|
+
mode?: ReportTemplateCatalogOpenContext["mode"];
|
|
1748
|
+
}): Promise<ReportTemplateDocument | undefined>;
|
|
1749
|
+
}
|
|
1750
|
+
|
|
1751
|
+
declare interface ReportTemplateCatalogQuery {
|
|
1752
|
+
query?: string;
|
|
1753
|
+
category?: string;
|
|
1754
|
+
cursor?: string;
|
|
1755
|
+
limit?: number;
|
|
1756
|
+
signal?: AbortSignal;
|
|
1757
|
+
}
|
|
1758
|
+
|
|
1198
1759
|
declare interface ReportTemplateChange {
|
|
1199
1760
|
kind: "added" | "removed" | "modified" | "moved";
|
|
1200
1761
|
category: "metadata" | "structure" | "binding" | "calculation" | "format";
|
|
@@ -1222,6 +1783,17 @@ declare interface ReportTemplateDocument {
|
|
|
1222
1783
|
template: ReportTemplate;
|
|
1223
1784
|
}
|
|
1224
1785
|
|
|
1786
|
+
/** 可存入数据库/文件的纯 JSON 模板;数据、接口与鉴权仍由宿主提供。 */
|
|
1787
|
+
declare interface ReportTemplateDocument_2 {
|
|
1788
|
+
schemaVersion: "1.0";
|
|
1789
|
+
id: string;
|
|
1790
|
+
name: string;
|
|
1791
|
+
/** 宿主的发布版本/乐观锁标识,不由引擎自动递增。 */
|
|
1792
|
+
revision?: string;
|
|
1793
|
+
description?: string;
|
|
1794
|
+
template: ReportTemplate_2;
|
|
1795
|
+
}
|
|
1796
|
+
|
|
1225
1797
|
declare interface ReportTemplateFixture {
|
|
1226
1798
|
name: string;
|
|
1227
1799
|
datasets: DatasetRows;
|
|
@@ -1230,6 +1802,35 @@ declare interface ReportTemplateFixture {
|
|
|
1230
1802
|
|
|
1231
1803
|
declare type ReportTemplateLoader = (context: ReportLoadContext) => ReportTemplate | Promise<ReportTemplate>;
|
|
1232
1804
|
|
|
1805
|
+
declare interface ReportTemplateManager {
|
|
1806
|
+
list(signal?: AbortSignal): ReturnType<ReportTemplateStore["list"]>;
|
|
1807
|
+
get(id: string, options?: {
|
|
1808
|
+
draft?: boolean;
|
|
1809
|
+
signal?: AbortSignal;
|
|
1810
|
+
}): Promise<ReportTemplateDocument | undefined>;
|
|
1811
|
+
history(id: string, signal?: AbortSignal): Promise<readonly ReportTemplateVersion[]>;
|
|
1812
|
+
saveDraft(input: unknown, options: TemplateMutationOptions): Promise<ReportTemplateRecord>;
|
|
1813
|
+
publish(id: string, options: TemplateMutationOptions): Promise<ReportTemplateRecord>;
|
|
1814
|
+
rollback(id: string, revision: string, options: TemplateMutationOptions): Promise<ReportTemplateRecord>;
|
|
1815
|
+
}
|
|
1816
|
+
|
|
1817
|
+
export declare interface ReportTemplatePackage {
|
|
1818
|
+
schemaVersion: "1.0";
|
|
1819
|
+
minimumVersion: string;
|
|
1820
|
+
document: ReportTemplateDocument;
|
|
1821
|
+
contracts?: Record<string, DatasetContract>;
|
|
1822
|
+
resources: ReportPackageResource[];
|
|
1823
|
+
fixtures?: ReportPackageFixture[];
|
|
1824
|
+
}
|
|
1825
|
+
|
|
1826
|
+
export declare interface ReportTemplatePackageOptions {
|
|
1827
|
+
/** Installed SDK version, compared before any resolver or persistence is called. */
|
|
1828
|
+
runtimeVersion?: string;
|
|
1829
|
+
maxBytes?: number;
|
|
1830
|
+
maxResourceBytes?: number;
|
|
1831
|
+
signal?: AbortSignal;
|
|
1832
|
+
}
|
|
1833
|
+
|
|
1233
1834
|
declare interface ReportTemplateProvider {
|
|
1234
1835
|
list(context: {
|
|
1235
1836
|
signal?: AbortSignal;
|
|
@@ -1239,6 +1840,22 @@ declare interface ReportTemplateProvider {
|
|
|
1239
1840
|
}): Promise<ReportTemplateDocument | undefined>;
|
|
1240
1841
|
}
|
|
1241
1842
|
|
|
1843
|
+
declare interface ReportTemplateRecord {
|
|
1844
|
+
id: string;
|
|
1845
|
+
revision: string;
|
|
1846
|
+
draft?: ReportTemplateDocument;
|
|
1847
|
+
publishedRevision?: string;
|
|
1848
|
+
published?: ReportTemplateDocument;
|
|
1849
|
+
}
|
|
1850
|
+
|
|
1851
|
+
declare interface ReportTemplateRecord_2 {
|
|
1852
|
+
id: string;
|
|
1853
|
+
revision: string;
|
|
1854
|
+
draft?: ReportTemplateDocument_2;
|
|
1855
|
+
publishedRevision?: string;
|
|
1856
|
+
published?: ReportTemplateDocument_2;
|
|
1857
|
+
}
|
|
1858
|
+
|
|
1242
1859
|
/** Every record emits its copies, each containing all template pages in their original order. */
|
|
1243
1860
|
declare interface ReportTemplateRepeat {
|
|
1244
1861
|
dataset: string;
|
|
@@ -1249,6 +1866,16 @@ declare interface ReportTemplateRepeat {
|
|
|
1249
1866
|
};
|
|
1250
1867
|
}
|
|
1251
1868
|
|
|
1869
|
+
/** Every record emits its copies, each containing all template pages in their original order. */
|
|
1870
|
+
declare interface ReportTemplateRepeat_2 {
|
|
1871
|
+
dataset: string;
|
|
1872
|
+
rowKey?: string;
|
|
1873
|
+
/** Whole copies per record, 1..1000. The field value must be a number, never a numeric string. */
|
|
1874
|
+
copies?: number | {
|
|
1875
|
+
field: string;
|
|
1876
|
+
};
|
|
1877
|
+
}
|
|
1878
|
+
|
|
1252
1879
|
declare interface ReportTemplateReview {
|
|
1253
1880
|
ok: boolean;
|
|
1254
1881
|
changes?: ReportTemplateDiff;
|
|
@@ -1286,11 +1913,78 @@ declare interface ReportTemplateReviewOptions {
|
|
|
1286
1913
|
strictOutputs?: boolean;
|
|
1287
1914
|
}
|
|
1288
1915
|
|
|
1916
|
+
/** compareAndSwap 必须由宿主数据库/文件适配器保证原子性,不能用先读再无条件写替代。 */
|
|
1917
|
+
declare interface ReportTemplateStore {
|
|
1918
|
+
read(id: string, signal?: AbortSignal): Promise<ReportTemplateRecord | undefined>;
|
|
1919
|
+
list(signal?: AbortSignal): Promise<Array<{
|
|
1920
|
+
id: string;
|
|
1921
|
+
revision: string;
|
|
1922
|
+
publishedRevision?: string;
|
|
1923
|
+
}>>;
|
|
1924
|
+
history(id: string, signal?: AbortSignal): Promise<ReportTemplateVersion[]>;
|
|
1925
|
+
getVersion(id: string, revision: string, signal?: AbortSignal): Promise<ReportTemplateVersion | undefined>;
|
|
1926
|
+
/** 状态更新和 publication 的不可变追加必须处于同一原子事务;草稿写入不读取历史。 */
|
|
1927
|
+
compareAndSwap(id: string, expectedRevision: string | null, next: ReportTemplateRecord, options: TemplateStoreWriteOptions): Promise<boolean>;
|
|
1928
|
+
}
|
|
1929
|
+
|
|
1289
1930
|
declare type ReportTemplateSummary = Omit<ReportTemplateDocument, "template">;
|
|
1290
1931
|
|
|
1932
|
+
declare interface ReportTemplateVersion {
|
|
1933
|
+
revision: string;
|
|
1934
|
+
publishedAt: string;
|
|
1935
|
+
document: ReportTemplateDocument;
|
|
1936
|
+
restoredFrom?: string;
|
|
1937
|
+
}
|
|
1938
|
+
|
|
1291
1939
|
/** Optional business explanations never replace raw data or schema validation. */
|
|
1292
1940
|
declare type ReportValueState = "missing-source" | "not-applicable" | "not-calculable";
|
|
1293
1941
|
|
|
1942
|
+
/** Structural bridge: no Vue/designer dependency is loaded by the workflow. */
|
|
1943
|
+
export declare interface ReportWorkflowEditor {
|
|
1944
|
+
readonly saving?: boolean;
|
|
1945
|
+
readonly blocked?: boolean;
|
|
1946
|
+
readonly pendingLocalChanges: boolean;
|
|
1947
|
+
save(): void | Promise<void>;
|
|
1948
|
+
}
|
|
1949
|
+
|
|
1950
|
+
export declare interface ReportWorkflowOptions {
|
|
1951
|
+
templates: ReportTemplateManager;
|
|
1952
|
+
instances: ReportInstanceStore;
|
|
1953
|
+
scope: string;
|
|
1954
|
+
data: Omit<ReportDefinition, "template"> | ((document: ReportTemplateDocument) => Omit<ReportDefinition, "template">);
|
|
1955
|
+
runtime?: Omit<ReportRuntimeOptions, "reports">;
|
|
1956
|
+
pdf?: ReportPdfFontOptions;
|
|
1957
|
+
instanceId?(templateId: string, caseId: string): string;
|
|
1958
|
+
title?(document: ReportTemplateDocument, item: ReportBatchCase, params: Record<string, string>): string;
|
|
1959
|
+
catalog?: ReportTemplateCatalogProvider;
|
|
1960
|
+
catalogMetadata?(document: ReportTemplateDocument): Pick<LocalTemplateCatalogItem, "category" | "tags">;
|
|
1961
|
+
}
|
|
1962
|
+
|
|
1963
|
+
export declare interface ReportWorkflowPublishInput {
|
|
1964
|
+
editor: ReportWorkflowEditor;
|
|
1965
|
+
document(): ReportTemplateDocument;
|
|
1966
|
+
successfulSaves(): number;
|
|
1967
|
+
afterSave(): Promise<unknown>;
|
|
1968
|
+
}
|
|
1969
|
+
|
|
1970
|
+
export declare interface ResolvedReportPackageFont {
|
|
1971
|
+
id: string;
|
|
1972
|
+
family: string;
|
|
1973
|
+
face: NonNullable<ReportPackageResource["font"]>["face"];
|
|
1974
|
+
bytes: Uint8Array;
|
|
1975
|
+
}
|
|
1976
|
+
|
|
1977
|
+
/** Verify all host-resolved bytes before returning a hydrated independent document. No implicit save. */
|
|
1978
|
+
export declare function resolveReportTemplatePackage(input: unknown, options: ReportTemplatePackageOptions & {
|
|
1979
|
+
resolve: ReportPackageResourceResolver;
|
|
1980
|
+
maxDurationMs?: number;
|
|
1981
|
+
}): Promise<{
|
|
1982
|
+
document: ReportTemplateDocument;
|
|
1983
|
+
fonts: ResolvedReportPackageFont[];
|
|
1984
|
+
contracts: Record<string, DatasetContract> | undefined;
|
|
1985
|
+
fixtures: ReportPackageFixture[];
|
|
1986
|
+
}>;
|
|
1987
|
+
|
|
1294
1988
|
/** Publication gate with actual sequential PDF/XLSX encoding, no business query or implicit save. */
|
|
1295
1989
|
export declare function reviewReportPublication(input: unknown, options?: ReportPublicationOptions): Promise<ReportPublicationReview>;
|
|
1296
1990
|
|
|
@@ -1303,6 +1997,15 @@ declare interface RichParagraph {
|
|
|
1303
1997
|
indentMm?: number;
|
|
1304
1998
|
}
|
|
1305
1999
|
|
|
2000
|
+
declare interface RichParagraph_2 {
|
|
2001
|
+
segments: RichSegment_2[];
|
|
2002
|
+
align?: ComponentStyle_2["align"];
|
|
2003
|
+
lineHeight?: number;
|
|
2004
|
+
spaceBeforeMm?: number;
|
|
2005
|
+
spaceAfterMm?: number;
|
|
2006
|
+
indentMm?: number;
|
|
2007
|
+
}
|
|
2008
|
+
|
|
1306
2009
|
declare interface RichSegment {
|
|
1307
2010
|
kind?: "text" | "field";
|
|
1308
2011
|
text?: string;
|
|
@@ -1310,6 +2013,13 @@ declare interface RichSegment {
|
|
|
1310
2013
|
style?: ComponentStyle;
|
|
1311
2014
|
}
|
|
1312
2015
|
|
|
2016
|
+
declare interface RichSegment_2 {
|
|
2017
|
+
kind?: "text" | "field";
|
|
2018
|
+
text?: string;
|
|
2019
|
+
field?: string;
|
|
2020
|
+
style?: ComponentStyle_2;
|
|
2021
|
+
}
|
|
2022
|
+
|
|
1313
2023
|
/** Bounded fixed-label consumption, not cross-chunk aggregation or a new durable task queue.
|
|
1314
2024
|
* The next source chunk is pulled only after execute + onReceipt complete. Earlier receipts
|
|
1315
2025
|
* remain committed if a later chunk fails; use onReceipt for a durable incremental manifest.
|
|
@@ -1324,6 +2034,8 @@ export declare function runReportBatch<T>(input: readonly ReportBatchCase[], exe
|
|
|
1324
2034
|
signal: AbortSignal;
|
|
1325
2035
|
}) => Promise<T>, options?: ReportBatchOptions): Promise<ReportBatchOutcome<T>[]>;
|
|
1326
2036
|
|
|
2037
|
+
export declare function saveAndPublishReportTemplate(manager: ReportTemplateManager, options: ReportWorkflowPublishInput): Promise<ReportTemplateRecord_2>;
|
|
2038
|
+
|
|
1327
2039
|
/** Canonical plain JSON rejects getters/scripts and gives stable idempotency without coercion. */
|
|
1328
2040
|
export declare function serializeJobJson(value: unknown, budget?: {
|
|
1329
2041
|
maxNodes?: number;
|
|
@@ -1347,8 +2059,28 @@ declare interface StyleRule {
|
|
|
1347
2059
|
style: Record<string, unknown>;
|
|
1348
2060
|
}
|
|
1349
2061
|
|
|
2062
|
+
/** 条件格式规则求值(声明式,见 ListColumn.rules) */
|
|
2063
|
+
declare interface StyleRule_2 {
|
|
2064
|
+
when: {
|
|
2065
|
+
field: string;
|
|
2066
|
+
op: ">" | ">=" | "<" | "<=" | "==" | "!=";
|
|
2067
|
+
value: number | string;
|
|
2068
|
+
/** Explicit decimal comparisons retain decimal thresholds as text. */
|
|
2069
|
+
numeric?: "number" | "decimal";
|
|
2070
|
+
};
|
|
2071
|
+
/** 命中时合并进单元格样式(color/bold/backgroundColor 等) */
|
|
2072
|
+
style: Record<string, unknown>;
|
|
2073
|
+
}
|
|
2074
|
+
|
|
1350
2075
|
declare type TemplateComponent = PlanComponent | ListComponent;
|
|
1351
2076
|
|
|
2077
|
+
declare type TemplateComponent_2 = PlanComponent_2 | ListComponent_2;
|
|
2078
|
+
|
|
2079
|
+
declare interface TemplateMutationOptions {
|
|
2080
|
+
expectedRevision: string | null;
|
|
2081
|
+
signal?: AbortSignal;
|
|
2082
|
+
}
|
|
2083
|
+
|
|
1352
2084
|
declare interface TemplatePage {
|
|
1353
2085
|
widthMm: number;
|
|
1354
2086
|
heightMm: number;
|
|
@@ -1364,6 +2096,26 @@ declare interface TemplatePage {
|
|
|
1364
2096
|
meta?: Record<string, unknown>;
|
|
1365
2097
|
}
|
|
1366
2098
|
|
|
2099
|
+
declare interface TemplatePage_2 {
|
|
2100
|
+
widthMm: number;
|
|
2101
|
+
heightMm: number;
|
|
2102
|
+
/** 宽表保持全列自然宽度,页高只控制内部纵向分段。 */
|
|
2103
|
+
layout?: "page" | "wide";
|
|
2104
|
+
marginTopMm?: number;
|
|
2105
|
+
marginBottomMm?: number;
|
|
2106
|
+
marginLeftMm?: number;
|
|
2107
|
+
marginRightMm?: number;
|
|
2108
|
+
components: TemplateComponent_2[];
|
|
2109
|
+
/** Explicit vertical bands preserve source gaps as dynamic regions expand. */
|
|
2110
|
+
flow?: ReportPageFlow_2;
|
|
2111
|
+
meta?: Record<string, unknown>;
|
|
2112
|
+
}
|
|
2113
|
+
|
|
2114
|
+
declare interface TemplateStoreWriteOptions {
|
|
2115
|
+
publication?: ReportTemplateVersion;
|
|
2116
|
+
signal?: AbortSignal;
|
|
2117
|
+
}
|
|
2118
|
+
|
|
1367
2119
|
/**
|
|
1368
2120
|
* 文本测量与折行(分页/Canvas/PDF 共用的唯一折行真相源)。
|
|
1369
2121
|
*
|
|
@@ -1404,6 +2156,26 @@ declare interface TreeTableOptions {
|
|
|
1404
2156
|
maxAggregationVisits?: number;
|
|
1405
2157
|
}
|
|
1406
2158
|
|
|
2159
|
+
/** A serialized tree contract. Sibling and root order follow input order. */
|
|
2160
|
+
declare interface TreeTableOptions_2 {
|
|
2161
|
+
input: "flat" | "nested";
|
|
2162
|
+
idField: string;
|
|
2163
|
+
/** Flat roots have null/undefined parent values. */
|
|
2164
|
+
parentField?: string;
|
|
2165
|
+
/** Nested child arrays, defaults to children. Every node still needs an ID. */
|
|
2166
|
+
childrenField?: string;
|
|
2167
|
+
labelField: string;
|
|
2168
|
+
indentMm?: number;
|
|
2169
|
+
orphan?: "error" | "root";
|
|
2170
|
+
/** Source preserves parent values; leaf-aggregate derives only parents from descendant leaves. */
|
|
2171
|
+
parentValues?: "source" | "leaf-aggregate";
|
|
2172
|
+
aggregates?: AggregateDefinition_2[];
|
|
2173
|
+
maxRows?: number;
|
|
2174
|
+
maxDepth?: number;
|
|
2175
|
+
/** Bounded leaf-to-ancestor aggregate work; default one million. */
|
|
2176
|
+
maxAggregationVisits?: number;
|
|
2177
|
+
}
|
|
2178
|
+
|
|
1407
2179
|
export declare function validateJobRecord(record: ReportJobRecord, scope: string, id: string, expectedRevision: number | null): void;
|
|
1408
2180
|
|
|
1409
2181
|
export declare function validateJobTransition(previous: ReportJobRecord | undefined, next: ReportJobRecord): void;
|
|
@@ -1411,4 +2183,7 @@ export declare function validateJobTransition(previous: ReportJobRecord | undefi
|
|
|
1411
2183
|
/** The same declarative formatting used by list columns, before any output backend. */
|
|
1412
2184
|
declare type ValueFormat = ColumnFormat;
|
|
1413
2185
|
|
|
2186
|
+
/** The same declarative formatting used by list columns, before any output backend. */
|
|
2187
|
+
declare type ValueFormat_2 = ColumnFormat_2;
|
|
2188
|
+
|
|
1414
2189
|
export { }
|