@agile-team/mach-report 2.15.0 → 2.17.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 +21 -12
- package/dist/{ExcelBindingWizard-Bs43BGNp.cjs → ExcelBindingWizard-Bq6FYME6.cjs} +1 -1
- package/dist/{ExcelBindingWizard-BKH1nGNS.js → ExcelBindingWizard-Co1svTsw.js} +3 -3
- package/dist/{ParamEditor-Da4akw6V.cjs → ParamEditor-B5UZRgxv.cjs} +1 -1
- package/dist/{ParamEditor-DoAhzJsm.js → ParamEditor-DNNARyeB.js} +1 -1
- package/dist/{ReportBatchPanel-wP9m9Pj1.cjs → ReportBatchPanel-Ctvs2t_9.cjs} +1 -1
- package/dist/{ReportBatchPanel-BMf6boMA.js → ReportBatchPanel-uQh06usx.js} +3 -3
- package/dist/ReportPreview-BdQawRh0.js +4879 -0
- package/dist/ReportPreview-CJC_-j2I.cjs +6 -0
- package/dist/{ReportTemplateLibrary-Sxr3eD0J.cjs → ReportTemplateLibrary-CnP7_1pH.cjs} +1 -1
- package/dist/{ReportTemplateLibrary-C9wutIiT.js → ReportTemplateLibrary-TIL_Oj2l.js} +1 -1
- package/dist/RuleEditor-DkRjOLlr.js +2141 -0
- package/dist/RuleEditor-h5anGsDB.cjs +1 -0
- package/dist/{TemplateOutlinePanel-JTSR53vJ.cjs → TemplateOutlinePanel-BlLxRrfu.cjs} +1 -1
- package/dist/{TemplateOutlinePanel-D6Bkny59.js → TemplateOutlinePanel-BouxsuqQ.js} +1 -1
- package/dist/{TemplateReusePanel-rVuK1kTz.js → TemplateReusePanel-BEACLPaN.js} +2 -2
- package/dist/{TemplateReusePanel-Kx35S0Ql.cjs → TemplateReusePanel-yxsHSO40.cjs} +1 -1
- package/dist/{TemplateReviewPanel-B0ar9_zf.js → TemplateReviewPanel-B1OGRY2i.js} +1 -1
- package/dist/{TemplateReviewPanel-Dn6X9UmY.cjs → TemplateReviewPanel-D9Cx0m2N.cjs} +1 -1
- package/dist/analytics.cjs +1 -1
- package/dist/analytics.d.cts +65 -1
- package/dist/analytics.d.ts +65 -1
- package/dist/analytics.js +4 -4
- package/dist/artifact-integrity.json +105 -101
- package/dist/assets-BIMVwjQe.js +231 -0
- package/dist/assets-Dfs2ElxI.cjs +1 -0
- package/dist/auto-BIOmtVhk.js +240 -0
- package/dist/auto-DDHflI9v.cjs +1 -0
- package/dist/{batch-BfZHN1do.js → batch-WzDIXJAt.js} +1 -1
- package/dist/{batch-CLpELXBl.cjs → batch-z6Aw5GEY.cjs} +1 -1
- package/dist/codes.d.cts +2 -0
- package/dist/codes.d.ts +2 -0
- package/dist/component-tree-Ca6YYfHq.js +61 -0
- package/dist/component-tree-DkGLEfZC.cjs +1 -0
- package/dist/computed-BW5a8QFk.js +612 -0
- package/dist/computed-C2GD3XcE.cjs +1 -0
- package/dist/config-Dg_o8e7m.cjs +1 -0
- package/dist/{config-BVsJXSqS.js → config-XQ4qrQ7Q.js} +66 -64
- package/dist/dataset-DL83majE.js +161 -0
- package/dist/dataset-IrlXbUvh.cjs +1 -0
- package/dist/designer-D9XAxqSc.js +5178 -0
- package/dist/designer-uCDo5XSK.cjs +2 -0
- package/dist/designer.cjs +1 -1
- package/dist/designer.d.cts +178 -3
- package/dist/designer.d.ts +178 -3
- package/dist/designer.js +1 -1
- package/dist/drill-ByN8COs_.cjs +1 -0
- package/dist/{drill-ByJviLXS.js → drill-CKW3Xtfa.js} +5 -5
- package/dist/encoding-BFMFIc4r.cjs +1 -0
- package/dist/encoding-DP_Eaf0A.js +21 -0
- package/dist/{font-loader-B_UkxpzC.cjs → font-loader-7FWVlykp.cjs} +1 -1
- package/dist/{font-loader-Q3bQjmrI.js → font-loader-CQZowp0I.js} +1 -1
- package/dist/index.cjs +8 -9
- package/dist/index.d.cts +175 -1
- package/dist/index.d.ts +175 -1
- package/dist/index.js +1343 -915
- package/dist/json-snapshot-D7PE1NsU.cjs +2 -0
- package/dist/json-snapshot-DYmEe3sO.js +1779 -0
- package/dist/matrix-JLAXlux-.js +302 -0
- package/dist/matrix-gTHpDTGm.cjs +1 -0
- package/dist/{pdf-CvvrjPQg.cjs → pdf-B8JouyYv.cjs} +48 -50
- package/dist/{pdf-BwNyeGpt.js → pdf-l3ea86di.js} +2734 -2748
- package/dist/pdf.cjs +1 -1
- package/dist/pdf.d.cts +14 -0
- package/dist/pdf.d.ts +14 -0
- package/dist/pdf.js +2 -2
- package/dist/{plugin-Ca_XZG3l.js → plugin-BBp74CQZ.js} +1 -1
- package/dist/{plugin-DHO7X8z2.cjs → plugin-CtFX9PFG.cjs} +1 -1
- package/dist/prepared-CARicKYh.js +87 -0
- package/dist/prepared-Ch1x_Gog.cjs +1 -0
- package/dist/progress-BXzlVbIp.js +29 -0
- package/dist/progress-DJBd9Rb9.cjs +1 -0
- package/dist/{progress-D-OTpEav.js → progress-Hc2vxoCs.js} +2 -2
- package/dist/protocol-B5A2uom4.cjs +1 -0
- package/dist/protocol-BaiWjq5w.js +90 -0
- package/dist/record-bindings-B86Sur_y.cjs +1 -0
- package/dist/{record-bindings-Do_b3h4V.js → record-bindings-D4TuMzHs.js} +10 -11
- package/dist/{region-binding-workflow-BMhK_TjP.js → region-binding-workflow-BNasF5kz.js} +2 -2
- package/dist/{region-binding-workflow-DIYJdCUr.cjs → region-binding-workflow-O2Cni3mF.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/rich-text-layout-ALlMoYOG.cjs +3 -0
- package/dist/rich-text-layout-Ct5WrY1g.js +102 -0
- package/dist/runtime-DakRXui3.js +170 -0
- package/dist/runtime-dL5ygIfa.cjs +1 -0
- package/dist/sbom.cdx.json +2 -2
- package/dist/server/node.d.cts +132 -1
- package/dist/server/node.d.ts +132 -1
- package/dist/server-node.cjs +5 -1
- package/dist/server-node.js +5177 -463
- package/dist/server.cjs +1 -1
- package/dist/server.d.cts +182 -2
- package/dist/server.d.ts +182 -2
- package/dist/server.js +918 -833
- 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-catalog-Dua8h9ZA.cjs +1 -0
- package/dist/{template-catalog-j2B1MJlL.js → template-catalog-wT1fNeAP.js} +10 -10
- package/dist/{template-fragments-DcKeiylI.cjs → template-fragments-BajTajb4.cjs} +1 -1
- package/dist/{template-fragments-BGbQLGlV.js → template-fragments-DmX5XK4N.js} +2 -2
- package/dist/template-registry-CpysHAxy.cjs +1 -0
- package/dist/{template-registry-BtaKPELV.js → template-registry-u11fPd8D.js} +389 -321
- package/dist/{textwrap-DE1kgcJB.js → textwrap-BEIg2w8y.js} +1 -1
- package/dist/textwrap-BI-yJ6Wt.cjs +4 -0
- package/dist/{tree-BX380Rr7.cjs → tree-CLpxYbKa.cjs} +1 -1
- package/dist/{tree-CjVZLRw7.js → tree-DNJorJUf.js} +1 -1
- package/dist/vue/async.d.cts +174 -2
- package/dist/vue/async.d.ts +174 -2
- package/dist/vue/index.d.cts +218 -3
- package/dist/vue/index.d.ts +218 -3
- package/dist/vue-async.cjs +1 -1
- package/dist/vue-async.js +3 -3
- package/dist/vue.cjs +1 -1
- package/dist/vue.js +7 -7
- package/dist/{workbook-session-BvToI-Fd.js → workbook-session-B8pNW24X.js} +153 -140
- package/dist/{workbook-session-Bjv1YCRK.cjs → workbook-session-DN5LSA5C.cjs} +12 -12
- package/dist/worker.cjs +1 -1
- package/dist/worker.d.cts +84 -1
- package/dist/worker.d.ts +84 -1
- package/dist/worker.js +12 -157
- package/dist/xlsx-node.cjs +33 -33
- package/dist/xlsx-node.js +1282 -1289
- package/dist/xlsx.cjs +4 -3
- package/dist/xlsx.d.cts +90 -2
- package/dist/xlsx.d.ts +90 -2
- package/dist/xlsx.js +279 -259
- package/package.json +6 -3
- package/dist/ReportPreview-ChV19HBp.js +0 -4619
- package/dist/ReportPreview-DbLvvOUT.cjs +0 -6
- package/dist/RuleEditor-C_Clasvd.js +0 -2037
- package/dist/RuleEditor-XhGHK8DE.cjs +0 -1
- package/dist/assets-B9ImAi6_.cjs +0 -1
- package/dist/assets-DEaz4qsp.js +0 -124
- package/dist/batch-BaP6pWDE.cjs +0 -1
- package/dist/batch-CGyt-b2W.js +0 -273
- package/dist/capabilities-CAh2Nrue.cjs +0 -1
- package/dist/capabilities-DskCHs3V.js +0 -69
- package/dist/computed-C-4C2S5h.js +0 -521
- package/dist/computed-CGV2a809.cjs +0 -1
- package/dist/config-D10us76d.cjs +0 -1
- package/dist/data-explanation-B8MZRYVS.js +0 -16
- package/dist/data-explanation-DE55G30w.cjs +0 -1
- package/dist/dataset-BkRmwgeJ.cjs +0 -1
- package/dist/dataset-H5pFuQGU.js +0 -121
- package/dist/defaults-DXhiM1ZD.js +0 -10
- package/dist/defaults-xhmcLLrf.cjs +0 -1
- package/dist/designer-2bDlcNXQ.js +0 -5136
- package/dist/designer-BT7XCdbW.cjs +0 -2
- package/dist/drill-DYTxuL3A.cjs +0 -1
- package/dist/grid-strokes-Cr7DwUux.cjs +0 -1
- package/dist/grid-strokes-DyyG1q_o.js +0 -53
- package/dist/json-snapshot-DFb2eWkf.js +0 -1416
- package/dist/json-snapshot-WWSGlaHG.cjs +0 -2
- package/dist/matrix-CGRGkn5s.js +0 -112
- package/dist/matrix-gEO7ZM_u.cjs +0 -1
- package/dist/prepared-CFy9B75C.cjs +0 -1
- package/dist/prepared-ajM-H-9B.js +0 -69
- package/dist/record-bindings-By_UKZ2g.cjs +0 -1
- package/dist/render-plan-7xpGrCEl.cjs +0 -1
- package/dist/render-plan-Ck6koX9L.js +0 -13
- package/dist/sha256-ArEYjaTI.cjs +0 -1
- package/dist/sha256-DPEuJ3nh.js +0 -155
- package/dist/style-CQ1PK8ZB.js +0 -67
- package/dist/style-UgIJSA1F.cjs +0 -1
- package/dist/template-catalog-FJE_c9Qe.cjs +0 -1
- package/dist/template-registry-Co1zPq5e.cjs +0 -1
- package/dist/textwrap-CWHyzkBH.cjs +0 -4
package/dist/server/node.d.ts
CHANGED
|
@@ -2,6 +2,15 @@
|
|
|
2
2
|
|
|
3
3
|
import { WorkerOptions as WorkerOptions_2 } from 'node:worker_threads';
|
|
4
4
|
|
|
5
|
+
declare interface BrowserReportWorker {
|
|
6
|
+
postMessage(value: unknown, transfer?: Transferable[]): void;
|
|
7
|
+
terminate(): void;
|
|
8
|
+
addEventListener(type: "message", listener: (event: MessageEvent) => void): void;
|
|
9
|
+
addEventListener(type: "error" | "messageerror", listener: (event: Event) => void): void;
|
|
10
|
+
removeEventListener(type: "message", listener: (event: MessageEvent) => void): void;
|
|
11
|
+
removeEventListener(type: "error" | "messageerror", listener: (event: Event) => void): void;
|
|
12
|
+
}
|
|
13
|
+
|
|
5
14
|
/** Serializable symbol settings. Encoders remain in the optional /codes entry. */
|
|
6
15
|
declare interface CodeOptions {
|
|
7
16
|
/** Explicit content, including an empty value, takes precedence over legacy fallbackText. */
|
|
@@ -72,9 +81,20 @@ declare interface ComponentStyle {
|
|
|
72
81
|
rotateDeg?: number;
|
|
73
82
|
}
|
|
74
83
|
|
|
84
|
+
/** Node needs no URL factory: this module is the isolated encoding entry in both ESM and CommonJS builds. */
|
|
85
|
+
export declare function createNodeAutoReportExporter(options?: Omit<ReportExportExecutionOptions, "workerFactory">): ReportAutoExporter;
|
|
86
|
+
|
|
75
87
|
/** 独立 worker_threads 适配器;worker 入口注册自己的模板/Provider,不把函数跨线程序列化。 */
|
|
76
88
|
export declare function createNodeReportExecutor(options: NodeReportExecutorOptions): ReportRuntimeExecutor;
|
|
77
89
|
|
|
90
|
+
export declare interface FileReportDocumentStore extends ReportDocumentStore {
|
|
91
|
+
close(): Promise<void>;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
export declare interface FileReportDocumentStoreOptions extends ReportDocumentBudget {
|
|
95
|
+
directory: string;
|
|
96
|
+
}
|
|
97
|
+
|
|
78
98
|
export declare interface FileReportJobStore extends ReportJobStore {
|
|
79
99
|
close(): Promise<void>;
|
|
80
100
|
}
|
|
@@ -85,6 +105,8 @@ export declare interface FileReportJobStoreOptions extends ReportJobStoreBudgetO
|
|
|
85
105
|
}
|
|
86
106
|
|
|
87
107
|
declare interface GridCell {
|
|
108
|
+
/** Styled cell content; text remains a plain-text fallback. Imported rich cells are read-only. */
|
|
109
|
+
richParagraphs?: RichParagraph[];
|
|
88
110
|
text?: string;
|
|
89
111
|
rawText?: string;
|
|
90
112
|
/** 原始值,仅供 Excel raw 模式消费;不参与预览、分页与 PDF 绘制。 */
|
|
@@ -108,12 +130,28 @@ declare interface GridCell {
|
|
|
108
130
|
style?: ComponentStyle;
|
|
109
131
|
}
|
|
110
132
|
|
|
133
|
+
/** Bounded binary image inspection shared by PDF, Excel and template import. No decoder is loaded. */
|
|
134
|
+
declare interface ImageMediaOptions {
|
|
135
|
+
maxImageBytes?: number;
|
|
136
|
+
maxTotalImageBytes?: number;
|
|
137
|
+
maxImages?: number;
|
|
138
|
+
/** Decoded pixels per unique image, default 16 million. */
|
|
139
|
+
maxImagePixels?: number;
|
|
140
|
+
/** Total decoded pixels for unique media, default 64 million. */
|
|
141
|
+
maxTotalImagePixels?: number;
|
|
142
|
+
/** Maximum source dimension, default 16384 pixels. */
|
|
143
|
+
maxImageDimension?: number;
|
|
144
|
+
}
|
|
145
|
+
|
|
111
146
|
export declare interface NodeReportExecutorOptions extends ReportWorkerOptions {
|
|
112
147
|
filename?: string | URL;
|
|
113
148
|
workerUrl?: string | URL;
|
|
114
149
|
workerOptions?: WorkerOptions_2;
|
|
115
150
|
}
|
|
116
151
|
|
|
152
|
+
/** Exclusive-process disk reference. Pages stay on disk; manifest/page reads and appends are bounded. */
|
|
153
|
+
export declare function openFileReportDocumentStore(options: FileReportDocumentStoreOptions): Promise<FileReportDocumentStore>;
|
|
154
|
+
|
|
117
155
|
/** Durable local store with one process owner; database adapters provide multi-instance atomic CAS. */
|
|
118
156
|
export declare function openFileReportJobStore(options: FileReportJobStoreOptions): Promise<FileReportJobStore>;
|
|
119
157
|
|
|
@@ -213,6 +251,16 @@ declare interface RenderPlan {
|
|
|
213
251
|
/** Optional publication digest for Node hosts; use as reviewReportPublication({ digest }). */
|
|
214
252
|
export declare function reportArtifactSha256(bytes: Uint8Array): string;
|
|
215
253
|
|
|
254
|
+
export declare interface ReportAutoExporter {
|
|
255
|
+
exportPrepared(input: ReportRuntimePreparedExportInput, localOverride?: ReportLocalExport): Promise<ReportAutoExportResult>;
|
|
256
|
+
cancel(): void;
|
|
257
|
+
dispose(): void;
|
|
258
|
+
}
|
|
259
|
+
|
|
260
|
+
export declare interface ReportAutoExportResult extends ReportRuntimeExportResult {
|
|
261
|
+
execution: ReportExportDecision;
|
|
262
|
+
}
|
|
263
|
+
|
|
216
264
|
/** 可持久化的业务身份与计划坐标独立;权限及并发校验仍由业务服务器执行。 */
|
|
217
265
|
declare interface ReportCellSource {
|
|
218
266
|
/** Source identity across report occurrences; sharing must be explicitly declared. */
|
|
@@ -257,6 +305,73 @@ declare interface ReportDiagnostic {
|
|
|
257
305
|
target?: ReportDataTarget;
|
|
258
306
|
}
|
|
259
307
|
|
|
308
|
+
declare interface ReportDocumentBudget {
|
|
309
|
+
maxDocuments?: number;
|
|
310
|
+
maxBytes?: number;
|
|
311
|
+
maxPages?: number;
|
|
312
|
+
maxPageBytes?: number;
|
|
313
|
+
maxManifestBytes?: number;
|
|
314
|
+
}
|
|
315
|
+
|
|
316
|
+
declare interface ReportDocumentManifest {
|
|
317
|
+
scope: string;
|
|
318
|
+
id: string;
|
|
319
|
+
version: string;
|
|
320
|
+
/** CAS token increases after each append and completion. */
|
|
321
|
+
revision: number;
|
|
322
|
+
state: "building" | "complete" | "failed";
|
|
323
|
+
failure?: {
|
|
324
|
+
code: "cancelled" | "generation";
|
|
325
|
+
message: string;
|
|
326
|
+
};
|
|
327
|
+
pageCount: number;
|
|
328
|
+
bytes: number;
|
|
329
|
+
plan: Omit<RenderPlan, "pages">;
|
|
330
|
+
metadata?: Omit<PreparedReport, "plan">;
|
|
331
|
+
}
|
|
332
|
+
|
|
333
|
+
declare interface ReportDocumentStore {
|
|
334
|
+
create(input: Pick<ReportDocumentManifest, "scope" | "id" | "version" | "plan">, signal?: AbortSignal): Promise<ReportDocumentManifest>;
|
|
335
|
+
append(scope: string, id: string, version: string, expectedRevision: number, page: PlanPage, signal?: AbortSignal): Promise<ReportDocumentManifest>;
|
|
336
|
+
complete(scope: string, id: string, version: string, expectedRevision: number, metadata?: Omit<PreparedReport, "plan">, signal?: AbortSignal): Promise<ReportDocumentManifest>;
|
|
337
|
+
fail(scope: string, id: string, version: string, expectedRevision: number, failure: NonNullable<ReportDocumentManifest["failure"]>): Promise<ReportDocumentManifest>;
|
|
338
|
+
read(scope: string, id: string, signal?: AbortSignal): Promise<ReportDocumentManifest | undefined>;
|
|
339
|
+
readPage(scope: string, id: string, version: string, index: number, signal?: AbortSignal): Promise<PlanPage | undefined>;
|
|
340
|
+
remove(scope: string, id: string, version: string, signal?: AbortSignal): Promise<boolean>;
|
|
341
|
+
}
|
|
342
|
+
|
|
343
|
+
export declare interface ReportExportDecision {
|
|
344
|
+
mode: "local" | "worker";
|
|
345
|
+
reason: ReportExportDecisionReason;
|
|
346
|
+
/** Lower bounds: traversal stops as soon as isolation is warranted. No font or image hashing. */
|
|
347
|
+
estimate: {
|
|
348
|
+
pages: number;
|
|
349
|
+
cells: number;
|
|
350
|
+
bytes: number;
|
|
351
|
+
};
|
|
352
|
+
hardCancellation: boolean;
|
|
353
|
+
}
|
|
354
|
+
|
|
355
|
+
declare type ReportExportDecisionReason = "small-task" | "threshold" | "scan-limit" | "explicit-local" | "explicit-worker" | "worker-unavailable" | "worker-start-failed" | "nonserializable-options";
|
|
356
|
+
|
|
357
|
+
export declare interface ReportExportExecutionOptions {
|
|
358
|
+
mode?: "auto" | "worker" | "local";
|
|
359
|
+
/** A fresh bundler-managed module Worker for every call; never a shared worker. */
|
|
360
|
+
workerFactory?: () => BrowserReportWorker;
|
|
361
|
+
thresholds?: ReportExportThresholds;
|
|
362
|
+
/** Auto only. Startup unavailability may use local; encoding failures never retry. */
|
|
363
|
+
fallback?: "local" | "error";
|
|
364
|
+
timeoutMs?: number;
|
|
365
|
+
budget?: ReportRuntimeBudget;
|
|
366
|
+
onDecision?: (decision: ReportExportDecision) => void;
|
|
367
|
+
}
|
|
368
|
+
|
|
369
|
+
declare interface ReportExportThresholds {
|
|
370
|
+
cells?: number;
|
|
371
|
+
pages?: number;
|
|
372
|
+
bytes?: number;
|
|
373
|
+
}
|
|
374
|
+
|
|
260
375
|
declare type ReportJobJson = null | boolean | number | string | ReportJobJson[] | {
|
|
261
376
|
[key: string]: ReportJobJson;
|
|
262
377
|
};
|
|
@@ -338,6 +453,8 @@ declare interface ReportJobTombstone {
|
|
|
338
453
|
expiresAt: number;
|
|
339
454
|
}
|
|
340
455
|
|
|
456
|
+
declare type ReportLocalExport = (input: ReportRuntimePreparedExportInput) => Promise<ReportRuntimeExportResult>;
|
|
457
|
+
|
|
341
458
|
/** 报表参数定义(声明式,模板自描述参数面:渲染组件据此生成查询面板) */
|
|
342
459
|
declare interface ReportParamDef {
|
|
343
460
|
/** 参数名(传入 params,与数据集 SQL #{field} 绑定对应) */
|
|
@@ -402,6 +519,16 @@ declare interface ReportRuntime {
|
|
|
402
519
|
exportPrepared(input: ReportRuntimePreparedExportInput): Promise<ReportRuntimeExportResult>;
|
|
403
520
|
}
|
|
404
521
|
|
|
522
|
+
declare interface ReportRuntimeBudget {
|
|
523
|
+
maxRows?: number;
|
|
524
|
+
maxPages?: number;
|
|
525
|
+
maxCells?: number;
|
|
526
|
+
maxOutputBytes?: number;
|
|
527
|
+
/** Bound the plain JSON snapshot accepted by exportPrepared (default 64 MB). */
|
|
528
|
+
maxPreparedBytes?: number;
|
|
529
|
+
maxDurationMs?: number;
|
|
530
|
+
}
|
|
531
|
+
|
|
405
532
|
/** 可用 worker_threads/进程/RPC 实现;接收可序列化请求,signal 由桥接层映射为取消消息。 */
|
|
406
533
|
declare interface ReportRuntimeExecutor {
|
|
407
534
|
/** Old custom executors may omit this; the runtime explicitly rejects unsupported prepared output. */
|
|
@@ -414,10 +541,11 @@ declare interface ReportRuntimeExportInput extends ReportRuntimeInput {
|
|
|
414
541
|
format: "pdf" | "xlsx";
|
|
415
542
|
/** strict 在编码前拒绝已识别的输出降级;默认保留诊断并继续。 */
|
|
416
543
|
fidelity?: "warn" | "strict";
|
|
417
|
-
xlsx?: {
|
|
544
|
+
xlsx?: ImageMediaOptions & {
|
|
418
545
|
sheetMode?: "auto" | "pages" | "continuous";
|
|
419
546
|
valueMode?: "text" | "raw";
|
|
420
547
|
paperSize?: "auto" | "a3" | "a4" | "a5";
|
|
548
|
+
sheetName?: (sheetIndex: number) => string;
|
|
421
549
|
};
|
|
422
550
|
}
|
|
423
551
|
|
|
@@ -438,6 +566,8 @@ declare interface ReportRuntimeInput extends ReportTaskMonitoring {
|
|
|
438
566
|
/** Encode an existing plan without querying providers or repaginating. */
|
|
439
567
|
declare interface ReportRuntimePreparedExportInput extends ReportTaskMonitoring {
|
|
440
568
|
prepared: PreparedReport;
|
|
569
|
+
/** verify checks font metric identity; preserve explicitly keeps existing geometry, with a diagnostic. Encoding fidelity is unchanged. */
|
|
570
|
+
layoutPolicy?: "verify" | "preserve";
|
|
441
571
|
format: ReportRuntimeExportInput["format"];
|
|
442
572
|
fidelity?: ReportRuntimeExportInput["fidelity"];
|
|
443
573
|
pdf?: ReportPdfFontOptions;
|
|
@@ -494,6 +624,7 @@ export declare class ReportWorkerError extends Error {
|
|
|
494
624
|
|
|
495
625
|
declare interface ReportWorkerOptions {
|
|
496
626
|
timeoutMs?: number;
|
|
627
|
+
budget?: ReportRuntimeBudget;
|
|
497
628
|
}
|
|
498
629
|
|
|
499
630
|
declare interface RichParagraph {
|