@webskill/sdk 0.27.0 → 0.28.1

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.
@@ -1,6 +1,6 @@
1
- import { K as FileSystemProvider, S as UiBridge, _t as SkillDocument, et as Page, f as LlmMessage, ht as SkillCatalogEntry, l as LlmClient, tt as PageQuery, xt as SkillManagerPort } from "./types-CpDRZ0rA-CFQ-vdKz.js";
2
- import { Wt as RuntimeRun, dn as SkillIntegrityGuard, fn as SkillOutcomeReporter, gn as SkillStateGuard, hr as WebSkillRuntime, tt as IntegrityVerdict } from "./index-D6eSrEi5.js";
3
- import { S as candidateToCatalogEntry, _ as SKILL_VERSION_PAGE_SIZE, a as AuditLog, b as SkillVersionPage, c as CandidateBinaryRef, d as CandidateRisk, f as CandidateSkill, g as CompositeApprovalPolicy, h as CandidateStore, i as AuditEvent, l as CandidateFile, m as CandidateStatus, n as ApprovalDecision, o as AuditQueryFilter, p as CandidateSource, r as ApprovalPolicy, s as CANDIDATE_PAGE_SIZE, t as AlwaysHumanApprovalPolicy, u as CandidatePage, v as SkillState, x as SkillVersionStore, y as SkillVersion } from "./skillVersionStore-S4_HJ_Fl-Ds97pwm5.js";
1
+ import { K as FileSystemProvider, S as UiBridge, _t as SkillDocument, et as Page, f as LlmMessage, ht as SkillCatalogEntry, l as LlmClient, tt as PageQuery, xt as SkillManagerPort } from "./types-wKp3YBSM-167azx1H.js";
2
+ import { Wt as RuntimeRun, dn as SkillIntegrityGuard, fn as SkillOutcomeReporter, gn as SkillStateGuard, hr as WebSkillRuntime, tt as IntegrityVerdict } from "./index-DU8sKyQq.js";
3
+ import { S as candidateToCatalogEntry, _ as SKILL_VERSION_PAGE_SIZE, a as AuditLog, b as SkillVersionPage, c as CandidateBinaryRef, d as CandidateRisk, f as CandidateSkill, g as CompositeApprovalPolicy, h as CandidateStore, i as AuditEvent, l as CandidateFile, m as CandidateStatus, n as ApprovalDecision, o as AuditQueryFilter, p as CandidateSource, r as ApprovalPolicy, s as CANDIDATE_PAGE_SIZE, t as AlwaysHumanApprovalPolicy, u as CandidatePage, v as SkillState, x as SkillVersionStore, y as SkillVersion } from "./skillVersionStore-S4_HJ_Fl-DzZM_UIw.js";
4
4
  //#region ../governance/dist/index.d.ts
5
5
  //#region src/candidate/candidateNormalizer.d.ts
6
6
  /** 剥 markdown fence 与 <think> 块、截取首尾 {};非对象 → CANDIDATE_INVALID */
@@ -1,5 +1,5 @@
1
- import { L as ChatAttachmentKind, Rt as WebSkillErrorCode, S as UiBridge, a as InteractionOrigin, c as InteractionResponse, nt as RemoteUrlPolicy, s as InteractionRequest, t as Artifact } from "./types-CpDRZ0rA-CFQ-vdKz.js";
2
- import { B as ExternalToolSource, F as DocxTextExtractor, Fn as ToolStepReader, M as DataSourceInfo, kn as ToolCallContext, mt as PptxTextExtractor, pt as PdfTextExtractor, vr as XlsxTextExtractor, xn as SpreadsheetImageBytes } from "./index-D6eSrEi5.js";
1
+ import { L as ChatAttachmentKind, Rt as WebSkillErrorCode, S as UiBridge, a as InteractionOrigin, c as InteractionResponse, nt as RemoteUrlPolicy, s as InteractionRequest, t as Artifact } from "./types-wKp3YBSM-167azx1H.js";
2
+ import { B as ExternalToolSource, F as DocxTextExtractor, Fn as ToolStepReader, M as DataSourceInfo, kn as ToolCallContext, mt as PptxTextExtractor, pt as PdfTextExtractor, vr as XlsxTextExtractor, xn as SpreadsheetImageBytes } from "./index-DU8sKyQq.js";
3
3
  //#region ../agent/dist/index.d.ts
4
4
  //#region src/todo/types.d.ts
5
5
  /** 待办条目状态:未开始 / 进行中 / 已完成(FR-3.1) */
@@ -771,10 +771,17 @@ declare const PERCEIVE_PAGE_TOOL = "perceive_page";
771
771
  interface PagePerceptionToolSourceOptions {
772
772
  policy: PagePerceptionPolicy;
773
773
  /**
774
- * 取像预算与开关(FR-12.5)。每次调用重取,设置或选中模型改完立刻生效;
774
+ * 普通读页的取像预算与开关(FR-12.5)。每次调用重取,设置或选中模型改完立刻生效;
775
775
  * 缺省即不取像。判定在遍历 DOM **之前**完成一次,不是每个节点判一次。
776
776
  */
777
777
  imageCapture?(): ImageCaptureBudget | Promise<ImageCaptureBudget>;
778
+ /**
779
+ * 显式 `images: true` 的取像预算(0.27.1 分册 11 FR-11.2)。
780
+ *
781
+ * 与 `imageCapture` 分开,宿主才能表达「普通读页不取图、用户明确问图才取图」。
782
+ * 缺席时显式请求按不可用处理,**不得**回退到普通 `imageCapture`。
783
+ */
784
+ imageCaptureForRequest?(): ImageCaptureBudget | Promise<ImageCaptureBudget>;
778
785
  /**
779
786
  * 分段预算与开关(分册 22 FR-22.4)。同样每次调用重取,理由与 `imageCapture` 一致:
780
787
  * 凝固进实例会让宿主中途改配置整轮不生效。
@@ -790,6 +797,11 @@ interface ImageCaptureBudget {
790
797
  maxImages: number;
791
798
  /** 小于该面积(平方像素)的元素视作图标;缺省与 0 都表示不过滤(0.13.0 FR-20.3) */
792
799
  minImageArea?: number;
800
+ /**
801
+ * `enabled: false` 时给模型看的原因(0.27.1 分册 11 FR-11.5)。
802
+ * 面向模型,必须是英文;缺省时工具源用通用说明。
803
+ */
804
+ unavailableReason?: string;
793
805
  }
794
806
  /**
795
807
  * 把只读感知接到既有工具协议上。**本工具源不导出任何写入动作**(FR-10.7):
@@ -2147,12 +2159,44 @@ interface TableSheet {
2147
2159
  interface TableWorkbook {
2148
2160
  readonly sheets: readonly TableSheet[];
2149
2161
  }
2162
+ interface StreamingTableRow {
2163
+ /** 工作表里的 1 基行号 */
2164
+ readonly row: number;
2165
+ readonly cells: readonly string[];
2166
+ }
2167
+ interface StreamingTableMeta {
2168
+ /** 去掉末尾空行后的行数 */
2169
+ readonly rowCount: number;
2170
+ readonly columnCount: number;
2171
+ /** 首个非空行;空表为 0 */
2172
+ readonly firstNonEmptyRow: number;
2173
+ readonly firstRow: readonly string[];
2174
+ /** 首个非空行作为表头时,其后的非空数据行数 */
2175
+ readonly dataRows: number;
2176
+ readonly estimatedTokens: number;
2177
+ readonly textChars: number;
2178
+ }
2179
+ interface StreamingTableSheet {
2180
+ readonly name: string;
2181
+ /** 元数据在实现侧缓存;实现可保留有界的数据行缓存,超界仍只保留常量规模的信息 */
2182
+ meta(): Promise<StreamingTableMeta>;
2183
+ /** 未生成画像或超出缓存预算时重新打开底层文件逐行产出;有界缓存可复用,末尾空行不产出 */
2184
+ scan(): AsyncIterable<StreamingTableRow>;
2185
+ }
2186
+ /** @experimental */
2187
+ interface StreamingTableWorkbook {
2188
+ readonly kind: 'streaming';
2189
+ readonly sheets: readonly StreamingTableSheet[];
2190
+ }
2191
+ type QueryableTableWorkbook = TableWorkbook | StreamingTableWorkbook;
2192
+ type TableBinarySource = Uint8Array | (() => Promise<AsyncIterable<Uint8Array>>);
2150
2193
  /**
2151
- * xlsx 字节 → 单元格网格。宿主注入后,大表格才会以画像进消息、统计才能走 `query_table`。
2194
+ * xlsx → 单元格网格或可重复扫描的行流。宿主注入后,大表格才会以画像进消息、统计才能走 `query_table`。
2152
2195
  * @experimental
2153
2196
  */
2154
2197
  interface XlsxTableReader {
2155
2198
  read(bytes: Uint8Array): Promise<TableWorkbook>;
2199
+ readStreaming?(source: TableBinarySource): Promise<StreamingTableWorkbook>;
2156
2200
  }
2157
2201
  /**
2158
2202
  * 按取件号取一份已解析的表。字节从哪来、解析结果缓不缓存由装配方决定,
@@ -2163,7 +2207,7 @@ interface XlsxTableReader {
2163
2207
  interface TableSource {
2164
2208
  load(id: string, context?: ToolCallContext): Promise<{
2165
2209
  name: string;
2166
- workbook: TableWorkbook;
2210
+ workbook: QueryableTableWorkbook;
2167
2211
  } | undefined>;
2168
2212
  }
2169
2213
  //#endregion
@@ -2185,6 +2229,57 @@ declare function profileTable(input: {
2185
2229
  headerRow?: number;
2186
2230
  }): string;
2187
2231
  //#endregion
2232
+ //#region src/table/streamingProfile.d.ts
2233
+ declare function profileStreamingTable(input: {
2234
+ name: string;
2235
+ id: string;
2236
+ workbook: StreamingTableWorkbook;
2237
+ sheet?: string | number;
2238
+ headerRow?: number;
2239
+ }): Promise<string>;
2240
+ //#endregion
2241
+ //#region src/table/columns.d.ts
2242
+ interface TableColumn {
2243
+ readonly index: number;
2244
+ readonly letter: string;
2245
+ /** 去首尾空白;可能为空 */
2246
+ readonly header: string;
2247
+ /** 列字母 + 表头,错误信息与画像里指认一列用 */
2248
+ readonly label: string;
2249
+ /** 输出里这一列的名字:有表头用表头,否则用列字母 */
2250
+ readonly name: string;
2251
+ }
2252
+ interface TableRow {
2253
+ /** 工作表里的 1 基行号 */
2254
+ readonly row: number;
2255
+ readonly cells: readonly string[];
2256
+ }
2257
+ interface TableView {
2258
+ readonly sheetName: string;
2259
+ readonly sheetIndex: number;
2260
+ /** 1 基工作表行号;空表为 0 */
2261
+ readonly headerRow: number;
2262
+ readonly columns: readonly TableColumn[];
2263
+ readonly data: readonly TableRow[];
2264
+ }
2265
+ //#endregion
2266
+ //#region src/table/streaming.d.ts
2267
+ interface StreamingTableView {
2268
+ readonly sheetName: string;
2269
+ readonly sheetIndex: number;
2270
+ readonly headerRow: number;
2271
+ readonly columns: readonly TableColumn[];
2272
+ readonly data: AsyncIterable<TableRow>;
2273
+ }
2274
+ type QueryTableView = TableView | StreamingTableView;
2275
+ declare function isStreamingTableWorkbook(workbook: QueryableTableWorkbook): workbook is StreamingTableWorkbook;
2276
+ declare function buildStreamingView(workbook: StreamingTableWorkbook, sheetRef?: unknown, headerRowArg?: unknown): Promise<StreamingTableView>;
2277
+ declare function summarizeStreamingWorkbook(workbook: StreamingTableWorkbook): Promise<{
2278
+ tokens: number;
2279
+ dataRows: number;
2280
+ textChars: number;
2281
+ }>;
2282
+ //#endregion
2188
2283
  //#region src/table/toolSource.d.ts
2189
2284
  /** @experimental */
2190
2285
  declare const QUERY_TABLE_TOOL = "query_table";
@@ -2193,6 +2288,8 @@ interface TableQueryToolSourceOptions {
2193
2288
  tables: TableSource;
2194
2289
  /** 下载取件号此刻是否可用(端口已接且开关开着);每次出工具表时现读,缺省视为不可用 */
2195
2290
  downloadedFiles?: () => boolean;
2291
+ /** 完整查询结果直接写成 Excel;不注入时 exportFile 不出现在工具 schema 中 */
2292
+ writeArtifact?: (path: string, bytes: Uint8Array, mimeType: string, context?: ToolCallContext) => Promise<Artifact>;
2196
2293
  }
2197
2294
  /**
2198
2295
  * 在本机对整张表精确计算(0.26.0 分册 10)。
@@ -2896,4 +2993,4 @@ declare function dwgViewsOf(doc: DwgDocumentContent): readonly DwgView[];
2896
2993
  /** 按 id 取视图;取不到就退回第一个,而不是什么都没有 */
2897
2994
  declare function dwgPickView(doc: DwgDocumentContent, viewId: string | undefined): DwgView;
2898
2995
  //#endregion
2899
- export { DownloadedFileEntry as $, SkillBinaryPayload as $n, XlsxTableReader as $r, PERCEPTION_PAGING_DEFAULTS as $t, DataSourceRecord as A, isRangeTopLeft as Ai, PerceptionAuditSink as An, TemplateFillRejection as Ar, FILL_TEMPLATE_TOOL as At, DocumentFileSource as B, toFrameScopes as Bi, QUERY_TABLE_TOOL as Bn, TodoItem as Br, LIST_PAGE_TABS_TOOL as Bt, DataSourceCandidateRecord as C, dwgPickView as Ci, ParentBudget as Cn, TabWorksetToolSourceOptions as Cr, DwgView as Ct, DataSourcePolicy as D, frameLabel as Di, PdfTextQuality as Dn, TableWorkbook as Dr, EMU_PER_TWIP as Dt, DataSourceKind as E, formatCellAddress as Ei, PdfPageImage as En, TableSource as Er, EMU_PER_POINT as Et, DelegationRequest as F, rangeContains as Fi, PerceptionScope as Fn, TemplateSheetBlanks as Fr, GeneratedSkillDraft as Ft, DocumentToolSourceOptions as G, RemoteImageResult as Gn, TodoToolSourceOptions as Gr, OpenedTabSignal as Gt, DocumentImageRole as H, READ_DOWNLOADED_FILE_TOOL as Hn, TodoListener as Hr, MAX_DIGIT_WIDTH as Ht, DelegationResult as I, readImageSize as Ii, PerceptionScopeInput as In, TemplateSheetSkeleton as Ir, HttpDataSourceOptions as It, DocxTemplateEngine as J, SCROLL_DIRECTIONS as Jn, WorksetTabView as Jr, PAGE_ACTION_TOOL as Jt, DocxDocumentContent as K, RemoteImageToolSourceOptions as Kn, VIEW_DWG_TOOL as Kr, PAGE_ACTION_KINDS as Kt, DelegationToolSourceOptions as L, sniffDocumentFormat as Li, PptxDocumentContent as Ln, TemplateTableCellSkeleton as Lr, INSPECT_TEMPLATE_TOOL as Lt, DelegationBudget as M, parseCellAddress as Mi, PerceptionPagingBudget as Mn, TemplateImageBytes as Mr, FrameNote as Mt, DelegationOrchestrator as N, parseCellRange as Ni, PerceptionRecord as Nn, TemplateImageResolver as Nr, FrameScope as Nt, DataSourcePolicyOptions as O, frameSteps as Oi, PerceivedImage as On, TemplateCellSkeleton as Or, EXPORT_SPREADSHEET_TOOL as Ot, DelegationOrchestratorOptions as P, profileTable as Pi, PerceptionResult as Pn, TemplateParagraphSkeleton as Pr, GENERATE_SKILL_TOOL as Pt, DownloadedFileConsent as Q, SkillAttachmentBytes as Qn, XlsxSheetContent as Qr, PERCEIVE_PAGE_TOOL as Qt, DocumentBlock as R, takesImage as Ri, PptxDocumentReader as Rn, TemplateToolSourceOptions as Rr, ImageCaptureBudget as Rt, DataSourceCandidatePolicyOptions as S, defersImage as Si, PagePerceptionToolSourceOptions as Sn, TabWorksetPort as Sr, DwgUnits as St, DataSourceDef as T, fitWithin as Ti, PdfDocumentReader as Tn, TableSheet as Tr, EMU_PER_PIXEL as Tt, DocumentReadBudget as U, RemoteImageFetch as Un, TodoStatus as Ur, NestedFrameRef as Ut, DocumentFormat as V, withDelegationOrigin as Vi, READ_DOCUMENT_TOOL as Vn, TodoList as Vr, MANAGE_TODO_TOOL as Vt, DocumentReadMode as W, RemoteImageFetchFailure as Wn, TodoStore as Wr, OpenedPageInfo as Wt, DocxTemplateSkeleton as X, ScrollDirection as Xn, XlsxDocumentReader as Xr, PDF_GARBLED_RATIO as Xt, DocxTemplateFillSpec as Y, SKILL_GENERATION_SYSTEM_PROMPT as Yn, XlsxDocumentContent as Yr, PAGE_DOCUMENT_REF as Yt, DownloadedFileAction as Z, Size as Zn, XlsxFillOutcome as Zr, PDF_LARGE_IMAGE_RATIO as Zt, DWG_MODEL_VIEW_ID as _, createSpreadsheetToolSource as _i, PageImageResult as _n, TEMPLATE_INSPECT_BUDGET as _r, DwgOmission as _t, ActionTabWindow as a, clampWorksetMax as ai, PageActionPolicy as an, SkillGenerator as ar, DownloadedFileRecord as at, DataSourceCandidateAuditSink as b, createTemplateToolSource as bi, PagePerceptionPolicyOptions as bn, TabWorksetPolicy as br, DwgProjection as bt, CellAddress as c, createDocumentToolSource as ci, PageActionRequest as cn, SkillTraceEvidenceStep as cr, DwgComponent as ct, DELEGATE_TASK_TOOL as d, createHttpDataSourceTransport as di, PageActionTarget as dn, SubAgentRunner as dr, DwgEntity as dt, XlsxTemplateEngine as ei, PERCEPTION_SYSTEM_PROMPT as en, SkillCandidateSink as er, DownloadedFileListing as et, DELEGATION_SYSTEM_PROMPT as f, createPageActionToolSource as fi, PageActionToolSourceOptions as fn, SubtreeRejection as fr, DwgFill as ft, DOWNLOAD_WAIT_MIN_MS as g, createSkillGenerationToolSource as gi, PageImageFailure as gn, TAB_WORKSET_SYSTEM_PROMPT as gr, DwgLoadedDrawing as gt, DOWNLOAD_WAIT_MAX_MS as h, createRemoteImageToolSource as hi, PageImageCapture as hn, TAB_WORKSET_MIN_MAX as hr, DwgLayer as ht, ActionTabWatcher as i, clampDownloadWaitMs as ii, PageActionOutcome as in, SkillGenerationToolSourceOptions as ir, DownloadedFileReader as it, DataSourceTransport as j, measurePdfTextQuality as ji, PerceptionCaptureOptions as jn, TemplateFillWarning as jr, FOCUS_PAGE_TAB_TOOL as jt, DataSourceProvenance as k, isPdfTextTrustworthy as ki, PerceivedNode as kn, TemplateFileSource as kr, FETCH_REMOTE_IMAGE_TOOL as kt, CellRange as l, createDownloadedFileToolSource as li, PageActionScope as ln, SpreadsheetToolSourceOptions as lr, DwgDocumentContent as lt, DOWNLOAD_WAIT_DEFAULT_MS as m, createPagePerceptionToolSource as mi, PageAuditSink as mn, TAB_WORKSET_MAX_MAX as mr, DwgGeometry as mt, ActionDownloadWindow as n, XlsxTemplateSkeleton as ni, PageActionExecutor as nn, SkillGenerationOutcome as nr, DownloadedFilePolicyOptions as nt, CAPTURE_PAGE_IMAGE_TOOL as o, columnWidthToPixels as oi, PageActionPolicyOptions as on, SkillGeneratorOptions as or, DownloadedFileToolSourceOptions as ot, DOCUMENT_READ_BUDGET as p, createPageImageToolSource as pi, PageActionUi as pn, TAB_WORKSET_DEFAULT_MAX as pr, DwgFont as pt, DocxDocumentReader as q, RenderedImage as qn, WorksetTab as qr, PAGE_ACTION_SYSTEM_PROMPT as qt, ActionFrameScope as r, asReadMode as ri, PageActionKind as rn, SkillGenerationPolicy as rr, DownloadedFileReadResult as rt, CLOSE_PAGE_TAB_TOOL as s, createDelegationToolSource as si, PageActionRecord as sn, SkillTraceEvidence as sr, DwgBounds as st, ActionDownloadWatcher as t, XlsxTemplateFillSpec as ti, PageActionConsent as tn, SkillGenerationMessages as tr, DownloadedFilePolicy as tt, ConsentUi as u, createDwgToolSource as ui, PageActionScopeInput as un, SubAgentRunInput as ur, DwgDocumentReader as ut, DataSourceAuditSink as v, createTabWorksetToolSource as vi, PageImageToolSourceOptions as vn, TODO_SYSTEM_PROMPT as vr, DwgPoint as vt, DataSourceCandidateStore as w, dwgViewsOf as wi, PdfDocumentHandle as wn, TableQueryToolSourceOptions as wr, DwgViewport as wt, DataSourceCandidatePolicy as x, createTodoToolSource as xi, PagePerceptionReader as xn, TabWorksetPolicyOptions as xr, DwgToolSourceOptions as xt, DataSourceCandidate as y, createTableQueryToolSource as yi, PagePerceptionPolicy as yn, TabAdmission as yr, DwgProjectedDrawing as yt, DocumentFileBytes as z, toActionFrameScopes as zi, PptxSlideContent as zn, TodoEvent as zr, LIST_DOWNLOADED_FILES_TOOL as zt };
2996
+ export { DownloadedFileEntry as $, withDelegationOrigin as $i, Size as $n, TodoToolSourceOptions as $r, PERCEPTION_PAGING_DEFAULTS as $t, DataSourceRecord as A, createTodoToolSource as Ai, PerceptionAuditSink as An, TabWorksetToolSourceOptions as Ar, FILL_TEMPLATE_TOOL as At, DocumentFileSource as B, isStreamingTableWorkbook as Bi, QUERY_TABLE_TOOL as Bn, TemplateImageBytes as Br, LIST_PAGE_TABS_TOOL as Bt, DataSourceCandidateRecord as C, createPagePerceptionToolSource as Ci, ParentBudget as Cn, TAB_WORKSET_SYSTEM_PROMPT as Cr, DwgView as Ct, DataSourcePolicy as D, createTabWorksetToolSource as Di, PdfTextQuality as Dn, TabWorksetPolicy as Dr, EMU_PER_TWIP as Dt, DataSourceKind as E, createSpreadsheetToolSource as Ei, PdfPageImage as En, TabAdmission as Er, EMU_PER_POINT as Et, DelegationRequest as F, formatCellAddress as Fi, PerceptionScope as Fn, TableWorkbook as Fr, GeneratedSkillDraft as Ft, DocumentToolSourceOptions as G, profileTable as Gi, RemoteImageFetch as Gn, TemplateTableCellSkeleton as Gr, OpenedTabSignal as Gt, DocumentImageRole as H, parseCellAddress as Hi, QueryableTableWorkbook as Hn, TemplateParagraphSkeleton as Hr, MAX_DIGIT_WIDTH as Ht, DelegationResult as I, frameLabel as Ii, PerceptionScopeInput as In, TemplateCellSkeleton as Ir, HttpDataSourceOptions as It, DocxTemplateEngine as J, sniffDocumentFormat as Ji, RemoteImageToolSourceOptions as Jn, TodoItem as Jr, PAGE_ACTION_TOOL as Jt, DocxDocumentContent as K, rangeContains as Ki, RemoteImageFetchFailure as Kn, TemplateToolSourceOptions as Kr, PAGE_ACTION_KINDS as Kt, DelegationToolSourceOptions as L, frameSteps as Li, PptxDocumentContent as Ln, TemplateFileSource as Lr, INSPECT_TEMPLATE_TOOL as Lt, DelegationBudget as M, dwgPickView as Mi, PerceptionPagingBudget as Mn, TableQueryToolSourceOptions as Mr, FrameNote as Mt, DelegationOrchestrator as N, dwgViewsOf as Ni, PerceptionRecord as Nn, TableSheet as Nr, FrameScope as Nt, DataSourcePolicyOptions as O, createTableQueryToolSource as Oi, PerceivedImage as On, TabWorksetPolicyOptions as Or, EXPORT_SPREADSHEET_TOOL as Ot, DelegationOrchestratorOptions as P, fitWithin as Pi, PerceptionResult as Pn, TableSource as Pr, GENERATE_SKILL_TOOL as Pt, DownloadedFileConsent as Q, toFrameScopes as Qi, ScrollDirection as Qn, TodoStore as Qr, PERCEIVE_PAGE_TOOL as Qt, DocumentBlock as R, isPdfTextTrustworthy as Ri, PptxDocumentReader as Rn, TemplateFillRejection as Rr, ImageCaptureBudget as Rt, DataSourceCandidatePolicyOptions as S, createPageImageToolSource as Si, PagePerceptionToolSourceOptions as Sn, TAB_WORKSET_MIN_MAX as Sr, DwgUnits as St, DataSourceDef as T, createSkillGenerationToolSource as Ti, PdfDocumentReader as Tn, TODO_SYSTEM_PROMPT as Tr, EMU_PER_PIXEL as Tt, DocumentReadBudget as U, parseCellRange as Ui, READ_DOCUMENT_TOOL as Un, TemplateSheetBlanks as Ur, NestedFrameRef as Ut, DocumentFormat as V, measurePdfTextQuality as Vi, QueryTableView as Vn, TemplateImageResolver as Vr, MANAGE_TODO_TOOL as Vt, DocumentReadMode as W, profileStreamingTable as Wi, READ_DOWNLOADED_FILE_TOOL as Wn, TemplateSheetSkeleton as Wr, OpenedPageInfo as Wt, DocxTemplateSkeleton as X, takesImage as Xi, SCROLL_DIRECTIONS as Xn, TodoListener as Xr, PDF_GARBLED_RATIO as Xt, DocxTemplateFillSpec as Y, summarizeStreamingWorkbook as Yi, RenderedImage as Yn, TodoList as Yr, PAGE_DOCUMENT_REF as Yt, DownloadedFileAction as Z, toActionFrameScopes as Zi, SKILL_GENERATION_SYSTEM_PROMPT as Zn, TodoStatus as Zr, PDF_LARGE_IMAGE_RATIO as Zt, DWG_MODEL_VIEW_ID as _, createDocumentToolSource as _i, PageImageResult as _n, SubAgentRunInput as _r, DwgOmission as _t, ActionTabWindow as a, XlsxFillOutcome as ai, PageActionPolicy as an, SkillGenerationPolicy as ar, DownloadedFileRecord as at, DataSourceCandidateAuditSink as b, createHttpDataSourceTransport as bi, PagePerceptionPolicyOptions as bn, TAB_WORKSET_DEFAULT_MAX as br, DwgProjection as bt, CellAddress as c, XlsxTemplateEngine as ci, PageActionRequest as cn, SkillGeneratorOptions as cr, DwgComponent as ct, DELEGATE_TASK_TOOL as d, asReadMode as di, PageActionTarget as dn, SpreadsheetToolSourceOptions as dr, DwgEntity as dt, VIEW_DWG_TOOL as ei, PERCEPTION_SYSTEM_PROMPT as en, SkillAttachmentBytes as er, DownloadedFileListing as et, DELEGATION_SYSTEM_PROMPT as f, buildStreamingView as fi, PageActionToolSourceOptions as fn, StreamingTableMeta as fr, DwgFill as ft, DOWNLOAD_WAIT_MIN_MS as g, createDelegationToolSource as gi, PageImageFailure as gn, StreamingTableWorkbook as gr, DwgLoadedDrawing as gt, DOWNLOAD_WAIT_MAX_MS as h, columnWidthToPixels as hi, PageImageCapture as hn, StreamingTableView as hr, DwgLayer as ht, ActionTabWatcher as i, XlsxDocumentReader as ii, PageActionOutcome as in, SkillGenerationOutcome as ir, DownloadedFileReader as it, DataSourceTransport as j, defersImage as ji, PerceptionCaptureOptions as jn, TableBinarySource as jr, FOCUS_PAGE_TAB_TOOL as jt, DataSourceProvenance as k, createTemplateToolSource as ki, PerceivedNode as kn, TabWorksetPort as kr, FETCH_REMOTE_IMAGE_TOOL as kt, CellRange as l, XlsxTemplateFillSpec as li, PageActionScope as ln, SkillTraceEvidence as lr, DwgDocumentContent as lt, DOWNLOAD_WAIT_DEFAULT_MS as m, clampWorksetMax as mi, PageAuditSink as mn, StreamingTableSheet as mr, DwgGeometry as mt, ActionDownloadWindow as n, WorksetTabView as ni, PageActionExecutor as nn, SkillCandidateSink as nr, DownloadedFilePolicyOptions as nt, CAPTURE_PAGE_IMAGE_TOOL as o, XlsxSheetContent as oi, PageActionPolicyOptions as on, SkillGenerationToolSourceOptions as or, DownloadedFileToolSourceOptions as ot, DOCUMENT_READ_BUDGET as p, clampDownloadWaitMs as pi, PageActionUi as pn, StreamingTableRow as pr, DwgFont as pt, DocxDocumentReader as q, readImageSize as qi, RemoteImageResult as qn, TodoEvent as qr, PAGE_ACTION_SYSTEM_PROMPT as qt, ActionFrameScope as r, XlsxDocumentContent as ri, PageActionKind as rn, SkillGenerationMessages as rr, DownloadedFileReadResult as rt, CLOSE_PAGE_TAB_TOOL as s, XlsxTableReader as si, PageActionRecord as sn, SkillGenerator as sr, DwgBounds as st, ActionDownloadWatcher as t, WorksetTab as ti, PageActionConsent as tn, SkillBinaryPayload as tr, DownloadedFilePolicy as tt, ConsentUi as u, XlsxTemplateSkeleton as ui, PageActionScopeInput as un, SkillTraceEvidenceStep as ur, DwgDocumentReader as ut, DataSourceAuditSink as v, createDownloadedFileToolSource as vi, PageImageToolSourceOptions as vn, SubAgentRunner as vr, DwgPoint as vt, DataSourceCandidateStore as w, createRemoteImageToolSource as wi, PdfDocumentHandle as wn, TEMPLATE_INSPECT_BUDGET as wr, DwgViewport as wt, DataSourceCandidatePolicy as x, createPageActionToolSource as xi, PagePerceptionReader as xn, TAB_WORKSET_MAX_MAX as xr, DwgToolSourceOptions as xt, DataSourceCandidate as y, createDwgToolSource as yi, PagePerceptionPolicy as yn, SubtreeRejection as yr, DwgProjectedDrawing as yt, DocumentFileBytes as z, isRangeTopLeft as zi, PptxSlideContent as zn, TemplateFillWarning as zr, LIST_DOWNLOADED_FILES_TOOL as zt };
@@ -1,5 +1,5 @@
1
- import { C as UiSpecActionCapability, D as UiSpecSnapshot, Nt as UiSpecNode, S as UiBridge, X as JsonSchema, b as RenderResultRequest, c as InteractionResponse, r as ChartSpec, s as InteractionRequest, y as RenderBlock } from "./types-CpDRZ0rA-CFQ-vdKz.js";
2
- import { B as ExternalToolSource } from "./index-D6eSrEi5.js";
1
+ import { C as UiSpecActionCapability, D as UiSpecSnapshot, Nt as UiSpecNode, S as UiBridge, X as JsonSchema, b as RenderResultRequest, c as InteractionResponse, r as ChartSpec, s as InteractionRequest, y as RenderBlock } from "./types-wKp3YBSM-167azx1H.js";
2
+ import { B as ExternalToolSource } from "./index-DU8sKyQq.js";
3
3
  import { z } from "zod";
4
4
  import { ComponentType, ReactNode } from "react";
5
5
  //#region ../ui/dist/index.d.ts
@@ -143,8 +143,8 @@ declare function renderMiniMarkdown(text: string, doc: Document): HTMLElement;
143
143
  */
144
144
  declare const CHART_PALETTE: readonly ["#4e79a7", "#f28e2b", "#e15759", "#76b7b2", "#59a14f", "#edc948", "#b07aa1", "#ff9da7"];
145
145
  /**
146
- * ChartSpec → SVG(bar 等宽柱 + 值标签;line 折线 + 点;pie 扇形 + 图例;空数据容错)。
147
- * mini 档只有这三种画法,其余类型走最接近的一种并在图内注明是近似呈现。
146
+ * ChartSpec → SVG(bar 等宽柱 + 值标签;line 折线 + 点;pie 扇形 + 图例;bar-line 柱线叠加;空数据容错)。
147
+ * mini 档只有这四种画法,其余类型走最接近的一种并在图内注明是近似呈现。
148
148
  * @stable
149
149
  */
150
150
  declare function renderMiniChart(chart: ChartSpec, doc: Document): SVGSVGElement;
@@ -156,12 +156,7 @@ declare function chartToTable(chart: ChartSpec): {
156
156
  };
157
157
  //#endregion
158
158
  //#region src/chart/echart.d.ts
159
- /**
160
- * catalog `Chart` 节点 props → `ChartSpec`。四档共用这一份转换:
161
- * 此前 native / OpenUI / json-render / A2UI 各抄了一遍,改一处就会漂移。
162
- * 非法枚举**原样保留**,由 `toEchartsOption` 给出可见降级提示——
163
- * 此前偷偷改写成 `'line'`,画出的图与模型的意图无关且不可察觉。
164
- */
159
+ /** catalog `Chart` 节点 props → `ChartSpec`。非法枚举保留,由 `toEchartsOption` 给出可见降级提示。 */
165
160
  declare function chartSpecFromProps(props: Record<string, unknown>): ChartSpec;
166
161
  /** 画布内文字的字号(px)。它们画在 canvas 上,宿主的 CSS 进不去 */
167
162
  interface ChartFontSizes {
@@ -292,6 +287,35 @@ interface EchartHandle {
292
287
  */
293
288
  declare function mountEchart(container: HTMLElement): EchartHandle;
294
289
  //#endregion
290
+ //#region src/chart/option.d.ts
291
+ type EchartOption = Record<string, unknown>;
292
+ type EchartFallback = 'auto' | 'table';
293
+ interface EchartOptionDegradation {
294
+ path: string;
295
+ detail: string;
296
+ }
297
+ interface SanitizedEchartOption {
298
+ option: EchartOption;
299
+ degradations: EchartOptionDegradation[];
300
+ }
301
+ declare const ECHART_SERIES_TYPES: ReadonlySet<string>;
302
+ declare function sanitizeEchartOption(raw: unknown): SanitizedEchartOption;
303
+ declare function echartOptionFromProps(props: Record<string, unknown>): SanitizedEchartOption & {
304
+ fallback: EchartFallback;
305
+ };
306
+ //#endregion
307
+ //#region src/chart/optionMount.d.ts
308
+ declare function applyEchartTheme(input: EchartOption, fontSizes?: Partial<ChartFontSizes>, colors?: Partial<ChartColors>): EchartOption;
309
+ interface EchartOptionHandle {
310
+ setOption(option: EchartOption, fontSizes?: Partial<ChartFontSizes>, colors?: Partial<ChartColors>, fallback?: EchartFallback): void;
311
+ dispose(): void;
312
+ }
313
+ declare function mountEchartOption(container: HTMLElement): EchartOptionHandle;
314
+ //#endregion
315
+ //#region src/chart/fallback.d.ts
316
+ declare function chartSpecFromEchartsOption(option: EchartOption): ChartSpec | undefined;
317
+ declare function renderEchartFallback(option: EchartOption, doc: Document, fallback?: EchartFallback): Element;
318
+ //#endregion
295
319
  //#region src/viewer/presetComponents.d.ts
296
320
  /**
297
321
  * viewer 的宿主预置组件(0.11.0 分册 18 FR-18.5 / 分册 19)。
@@ -311,7 +335,7 @@ declare const VIEWER_PROPS_ATTR = "data-webskill-props";
311
335
  /** 降级提示的标记;模板 CSS 与判据都认这个属性,不认某个 class 名 */
312
336
  declare const VIEWER_FALLBACK_ATTR = "data-webskill-fallback";
313
337
  /** 文档面可用的组件白名单(FR-19.3)。字面量数组——不接受任何按名动态加载 */
314
- declare const DOCUMENT_COMPONENTS: readonly ["Chart", "Table", "Metric", "Gauge", "KeyValue"];
338
+ declare const DOCUMENT_COMPONENTS: readonly ["Chart", "EChart", "Table", "Metric", "Gauge", "KeyValue"];
315
339
  type DocumentComponentName = (typeof DOCUMENT_COMPONENTS)[number];
316
340
  interface ViewerComponentsHandle {
317
341
  dispose(): void;
@@ -541,9 +565,13 @@ declare const CATALOG_BUDGET_STAGE: 'entry' | 'final';
541
565
  * 三次上调合计把单请求成本从 21.7 KB 抬到约 35.3 KB。
542
566
  * **AC-G20 原文「超了砍组件、不抬阈值」在这三处被推翻,每次都限于当版;
543
567
  * 后续再撞顶仍须回到需求方,本版同样不得成为第四次上调的先例。**
568
+ *
569
+ * 4. 22 500 → 22 700(0.28.0,需求方要求开放声明式 ECharts option):新增独立 `EChart` 组件,
570
+ * 需要同时向模型开放 `option` 与 `fallback`,无法复用旧 `Chart` 的图型枚举。
571
+ * 实测 schema 22 646;上调只覆盖本次落地,未预留一个平均组件的增量。
544
572
  */
545
573
  declare const CATALOG_PROMPT_MAX = 13650;
546
- declare const CATALOG_SCHEMA_MAX = 22500;
574
+ declare const CATALOG_SCHEMA_MAX = 22700;
547
575
  /**
548
576
  * **尚未落地**的计划增量。0.15.0 分册 13 已落地,故仍归零;
549
577
  * `CATALOG_BUDGET_STAGE` 保持 `'final'`,余量改由「小于一个平均组件」判定。
@@ -1040,4 +1068,4 @@ interface LoadedOpenUiPeers {
1040
1068
  */
1041
1069
  declare function loadOpenUiPeers(): Promise<LoadedOpenUiPeers>;
1042
1070
  //#endregion
1043
- export { UI_CATALOG_PROMPT_BUDGET_BYTES as $, mountEchart as $t, DocumentComponentName as A, a2uiComponentSchema as At, LoadedOpenUiPeers as B, createUiCatalogToolSource as Bt, DEFAULT_CHART_COLORS as C, uiPreset as Cn, ViewerComponentsHandle as Ct, DEFAULT_SURFACE_HOST_CONTROL_TEXTS as D, WEBSKILL_SURFACE_ACTION as Dt, DEFAULT_SURFACE_FORM_TEXTS as E, WEBSKILL_STYLES_CSS as Et, FieldOption as F, chartToTable as Ft, PLANNED_INCREMENT as G, fromA2uiSurfaceAction as Gt, NormalizedColumnWidths as H, ensureStyles as Ht, FormModel as I, collectFormScopes as It, SPEC_TABLE_MIN_COLUMN_WIDTH as J, gaugePercent as Jt, RENDER_UI_TOOL as K, fromUiSurfaceActionDispatch as Kt, InteractionSpecLabels as L, collectScopedValues as Lt, EvaluateFieldConditionOptions as M, applySuggestion as Mt, FieldCondition as N, buildA2uiCatalogDefinition as Nt, DESCRIBE_UI_PRESET_TOOL as O, WebFormBridge as Ot, FieldConditionResult as P, chartSpecFromProps as Pt, UI_CATALOG_GROUPS as Q, loadWebSkillLitCatalog as Qt, InteractionTexts as R, collectSpecActions as Rt, ControlModel as S, uiCatalog as Sn, VercelUiBridge as St, DEFAULT_INTERACTION_TEXTS as T, WEBSKILL_A2UI_CATALOG_ID as Tt, OpenUiRendererProps as U, evaluateFieldCondition as Ut, MAX_CONDITION_DEPTH as V, defineUiCatalog as Vt, OpenUiRuntime as W, fromA2uiSpecAction as Wt, SurfaceFormTexts as X, interactionToUiSpec as Xt, SpecColumnMeta as Y, interactionToFormModel as Yt, SurfaceHostControlTexts as Z, loadOpenUiPeers as Zt, CHART_PALETTE as _, toEchartsOption as _n, VERCEL_INTERACTION_TOOL_NAME as _t, A2UI_SURFACE_ACTION as a, renderMiniChart as an, UiCatalogPromptOptions as at, CollectedValues as b, toUiSurfaceActionDispatch as bn, VIEWER_PROPS_ATTR as bt, A2uiCatalogDefinition as c, resolveChartColors as cn, UiFormScope as ct, A2uiMessage as d, resolveInteractionTexts as dn, UiSpecDegradation as dt, mountViewerComponents as en, UI_PRESETS as et, A2uiSpecActionEvent as f, resolveSurfaceFormTexts as fn, UiSpecDegradationCode as ft, CATALOG_SCHEMA_MAX as g, toA2uiSurfaceAction as gn, UiSurfaceActionDispatch as gt, CATALOG_PROMPT_MAX as h, toA2uiSpecMessages as hn, UiSpecValidation as ht, A2UI_SPEC_FORM_PATH as i, renderBlocks as in, UiCatalogInput as it, EchartHandle as j, a2uiComponentShapes as jt, DOCUMENT_COMPONENTS as k, ZodRuntime as kt, A2uiCatalogHandle as l, resolveChartFontSizes as ln, UiPreset as lt, CATALOG_BUDGET_STAGE as m, shapeInteractionValue as mn, UiSpecSanitization as mt, A2UI_COMMON_TYPES as n, normalizeFieldOptions as nn, UiActionDef as nt, A2UI_VERSION as o, renderMiniMarkdown as on, UiCatalogToolSourceOptions as ot, A2uiSpecMessageOptions as p, resolveSurfaceHostControlTexts as pn, UiSpecIssue as pt, SPEC_TABLE_MIN_COLUMN_VAR as q, fromVercelToolResult as qt, A2UI_SPEC_ACTION as r, qualifyFieldName as rn, UiCatalog as rt, A2uiCatalogComponent as s, renderRenderResult as sn, UiComponentDef as st, A2UI_BASIC_CATALOG_ID as t, normalizeColumnWidths as tn, UI_PRESET_NAMES as tt, A2uiComponentShape as u, resolveColumnWidths as un, UiPresetName as ut, ChartColors as v, toJsonRenderSpec as vn, VIEWER_COMPONENT_ATTR as vt, DEFAULT_CHART_FONT_SIZES as w, ViewerComponentsOptions as wt, ColumnWidthsRejection as x, toVercelToolInvocation as xn, VercelToolInvocation as xt, ChartFontSizes as y, toOpenUiSpecLang as yn, VIEWER_FALLBACK_ATTR as yt, JsonRenderSpec as z, collectValues as zt };
1071
+ export { SPEC_TABLE_MIN_COLUMN_WIDTH as $, fromA2uiSpecAction as $t, DocumentComponentName as A, toJsonRenderSpec as An, ViewerComponentsOptions as At, FieldOption as B, buildA2uiCatalogDefinition as Bt, DEFAULT_CHART_COLORS as C, resolveSurfaceFormTexts as Cn, VERCEL_INTERACTION_TOOL_NAME as Ct, DEFAULT_SURFACE_HOST_CONTROL_TEXTS as D, toA2uiSpecMessages as Dn, VercelToolInvocation as Dt, DEFAULT_SURFACE_FORM_TEXTS as E, shapeInteractionValue as En, VIEWER_PROPS_ATTR as Et, EchartOptionDegradation as F, uiPreset as Fn, ZodRuntime as Ft, LoadedOpenUiPeers as G, collectScopedValues as Gt, InteractionSpecLabels as H, chartSpecFromProps as Ht, EchartOptionHandle as I, a2uiComponentSchema as It, OpenUiRendererProps as J, createUiCatalogToolSource as Jt, MAX_CONDITION_DEPTH as K, collectSpecActions as Kt, EvaluateFieldConditionOptions as L, a2uiComponentShapes as Lt, EchartFallback as M, toUiSurfaceActionDispatch as Mn, WEBSKILL_STYLES_CSS as Mt, EchartHandle as N, toVercelToolInvocation as Nn, WEBSKILL_SURFACE_ACTION as Nt, DESCRIBE_UI_PRESET_TOOL as O, toA2uiSurfaceAction as On, VercelUiBridge as Ot, EchartOption as P, uiCatalog as Pn, WebFormBridge as Pt, SPEC_TABLE_MIN_COLUMN_VAR as Q, evaluateFieldCondition as Qt, FieldCondition as R, applyEchartTheme as Rt, ControlModel as S, resolveInteractionTexts as Sn, UiSurfaceActionDispatch as St, DEFAULT_INTERACTION_TEXTS as T, sanitizeEchartOption as Tn, VIEWER_FALLBACK_ATTR as Tt, InteractionTexts as U, chartToTable as Ut, FormModel as V, chartSpecFromEchartsOption as Vt, JsonRenderSpec as W, collectFormScopes as Wt, PLANNED_INCREMENT as X, echartOptionFromProps as Xt, OpenUiRuntime as Y, defineUiCatalog as Yt, RENDER_UI_TOOL as Z, ensureStyles as Zt, CHART_PALETTE as _, renderMiniMarkdown as _n, UiSpecDegradation as _t, A2UI_SURFACE_ACTION as a, interactionToUiSpec as an, UI_CATALOG_PROMPT_BUDGET_BYTES as at, CollectedValues as b, resolveChartFontSizes as bn, UiSpecSanitization as bt, A2uiCatalogDefinition as c, mountEchart as cn, UiActionDef as ct, A2uiMessage as d, normalizeColumnWidths as dn, UiCatalogPromptOptions as dt, fromA2uiSurfaceAction as en, SanitizedEchartOption as et, A2uiSpecActionEvent as f, normalizeFieldOptions as fn, UiCatalogToolSourceOptions as ft, CATALOG_SCHEMA_MAX as g, renderMiniChart as gn, UiPresetName as gt, CATALOG_PROMPT_MAX as h, renderEchartFallback as hn, UiPreset as ht, A2UI_SPEC_FORM_PATH as i, interactionToFormModel as in, UI_CATALOG_GROUPS as it, ECHART_SERIES_TYPES as j, toOpenUiSpecLang as jn, WEBSKILL_A2UI_CATALOG_ID as jt, DOCUMENT_COMPONENTS as k, toEchartsOption as kn, ViewerComponentsHandle as kt, A2uiCatalogHandle as l, mountEchartOption as ln, UiCatalog as lt, CATALOG_BUDGET_STAGE as m, renderBlocks as mn, UiFormScope as mt, A2UI_COMMON_TYPES as n, fromVercelToolResult as nn, SurfaceFormTexts as nt, A2UI_VERSION as o, loadOpenUiPeers as on, UI_PRESETS as ot, A2uiSpecMessageOptions as p, qualifyFieldName as pn, UiComponentDef as pt, NormalizedColumnWidths as q, collectValues as qt, A2UI_SPEC_ACTION as r, gaugePercent as rn, SurfaceHostControlTexts as rt, A2uiCatalogComponent as s, loadWebSkillLitCatalog as sn, UI_PRESET_NAMES as st, A2UI_BASIC_CATALOG_ID as t, fromUiSurfaceActionDispatch as tn, SpecColumnMeta as tt, A2uiComponentShape as u, mountViewerComponents as un, UiCatalogInput as ut, ChartColors as v, renderRenderResult as vn, UiSpecDegradationCode as vt, DEFAULT_CHART_FONT_SIZES as w, resolveSurfaceHostControlTexts as wn, VIEWER_COMPONENT_ATTR as wt, ColumnWidthsRejection as x, resolveColumnWidths as xn, UiSpecValidation as xt, ChartFontSizes as y, resolveChartColors as yn, UiSpecIssue as yt, FieldConditionResult as z, applySuggestion as zt };
@@ -1,4 +1,4 @@
1
- import { Ft as ValidationReport, H as DiscoveryResult, K as FileSystemProvider, Nt as UiSpecNode, O as UiSurfaceActionRequest, Rt as WebSkillErrorCode, S as UiBridge, St as SkillManifest, T as UiSpecEvent, X as JsonSchema, _ as LlmToolSpec, _t as SkillDocument, b as RenderResultRequest, d as LlmContentPart, et as Page, f as LlmMessage, g as LlmToolCall, gt as SkillDiscovery, h as LlmTokenUsage, ht as SkillCatalogEntry, i as FormField, l as LlmClient, m as LlmStreamEvent, mt as SkillCatalog, n as ArtifactStore, nt as RemoteUrlPolicy, o as InteractionPolicy, p as LlmResponse, r as ChartSpec, s as InteractionRequest, t as Artifact, tt as PageQuery, u as LlmCompleteInput, v as MemoryStore, vt as SkillInstallSource, w as UiSpecDrafts, y as RenderBlock } from "./types-CpDRZ0rA-CFQ-vdKz.js";
1
+ import { Ft as ValidationReport, H as DiscoveryResult, K as FileSystemProvider, Nt as UiSpecNode, O as UiSurfaceActionRequest, Rt as WebSkillErrorCode, S as UiBridge, St as SkillManifest, T as UiSpecEvent, X as JsonSchema, _ as LlmToolSpec, _t as SkillDocument, b as RenderResultRequest, d as LlmContentPart, et as Page, f as LlmMessage, g as LlmToolCall, gt as SkillDiscovery, h as LlmTokenUsage, ht as SkillCatalogEntry, i as FormField, l as LlmClient, m as LlmStreamEvent, mt as SkillCatalog, n as ArtifactStore, nt as RemoteUrlPolicy, o as InteractionPolicy, p as LlmResponse, r as ChartSpec, s as InteractionRequest, t as Artifact, tt as PageQuery, u as LlmCompleteInput, v as MemoryStore, vt as SkillInstallSource, w as UiSpecDrafts, y as RenderBlock } from "./types-wKp3YBSM-167azx1H.js";
2
2
  //#region ../runtime/dist/index.d.ts
3
3
  //#region src/llm/parts.d.ts
4
4
  /** 纯文本消息内容的构造快捷方式(引擎内部绝大多数消息仍是纯文本) */
package/dist/index.d.ts CHANGED
@@ -1,11 +1,11 @@
1
- import { $ as PPTX_MIME, $t as exportSkills, A as extractSkillCandidate, At as TrustedKey, B as DOCX_MIME, Bt as assertRemoteUrlAllowed, C as UiSpecActionCapability, Cn as verifySkillSignature, Ct as SkillMetadata, D as UiSpecSnapshot, Dt as SkillSource, E as UiSpecPatch, Et as SkillSignature, F as BINARY_EXTENSIONS, Ft as ValidationReport, G as FileStat, Gt as buildManifest, H as DiscoveryResult, Ht as atomicWriteBinary, I as CatalogRenderer, It as VerifyResult, J as FsTrustedKeyStore, Jt as classifyAttachment, K as FileSystemProvider, Kt as checkDependencyCycles, L as ChatAttachmentKind, Lt as WebSkillError, M as ATTACHMENT_TEXT_LIMIT, Mt as UNTRUSTED_LINE_LIMIT, N as ArchiveLimits, Nt as UiSpecNode, O as UiSurfaceActionRequest, Ot as SkillsLockfile, P as AttachmentTextInput, Pt as UnsignedPolicy, Q as MemoryFS, Qt as escapeXml, R as CryptoKeyLike, Rt as WebSkillErrorCode, S as UiBridge, Sn as verifyManifest, St as SkillManifest, T as UiSpecEvent, Tt as SkillReader, U as ExtractedDocumentFormat, Ut as atomicWriteText, V as DWG_MIME_TYPES, Vt as assertSafePathSegment, W as FILE_MIME_TYPES, Wt as buildCatalog, X as JsonSchema, Xt as detectSkillArchiveShape, Y as IMAGE_MIME_TYPES, Yt as computeDigest, Z as MANIFEST_EXCLUDED_FILES, Zt as detectSkillArchiveShapeFromFs, _ as LlmToolSpec, _n as signSkill, _t as SkillDocument, a as InteractionOrigin, an as keyIdOf, at as SKILL_MANIFEST_FILE, b as RenderResultRequest, bn as unzipWithLimits, bt as SkillLocation, c as InteractionResponse, cn as parseSkillMarkdown, ct as SKILL_PACK_FILE, d as LlmContentPart, dn as readSkillSignature, dt as SignatureVerdict, en as extractedDocumentFormat, et as Page, f as LlmMessage, fn as renderAvailableSkillsXml, ft as SkillArchiveDetection, g as LlmToolCall, gn as sanitizeUntrustedLine, gt as SkillDiscovery, h as LlmTokenUsage, hn as resolveInsideRoot, ht as SkillCatalogEntry, i as FormField, in as jsonRenderer, it as SKILLS_LOCKFILE, j as ATOMIC_TMP_SUFFIX_PATTERN, jt as TrustedKeyStore, k as UiSurfaceActionResponse, kt as TEXT_EXTENSIONS, l as LlmClient, ln as parseSkillPackManifest, lt as SKILL_SIGNATURE_FILE, m as LlmStreamEvent, mn as resolveArchiveLimits, mt as SkillCatalog, n as ArtifactStore, nn as isAtomicTempPath, nt as RemoteUrlPolicy, o as InteractionPolicy, on as messageOf, ot as SKILL_NAME_MAX_LENGTH, p as LlmResponse, pn as renderCatalogJson, pt as SkillArchiveShape, q as FileWriteStream, qt as checkSkillRules, r as ChartSpec, rn as isValidSkillName, rt as SIGNATURE_SCHEMA_VERSION, s as InteractionRequest, sn as normalizePath, st as SKILL_NAME_PATTERN, t as Artifact, tn as formatAttachmentText, tt as PageQuery, u as LlmCompleteInput, un as readResponseWithLimit, ut as SignatureAuditSink, v as MemoryStore, vn as signaturePayloadBytes, vt as SkillInstallSource, w as UiSpecDrafts, wn as xmlRenderer, wt as SkillPackManifest, x as SkillCandidateMarker, xn as validateSkills, xt as SkillManagerPort, y as RenderBlock, yn as stripArchiveRoot, yt as SkillIssue, z as DEFAULT_ARCHIVE_LIMITS, zt as XLSX_MIME } from "./types-CpDRZ0rA-CFQ-vdKz.js";
2
- import { $ as ImageOmission, $n as UserProfileEntry, $r as readProfileEntries, $t as SchemaInferer, A as DEFAULT_MAX_UPLOAD_FILE_BYTES, An as ToolContent, Ar as extractChartSpec, At as RunResult, B as ExternalToolSource, Bn as TraceEvent, Br as isUnsupportedRunSnapshot, Bt as RunTraceSummary, C as BridgeResponse, Cn as SpreadsheetSheet, Cr as buildRenderResult, Ct as RedactedArgs, D as DEFAULT_MAX_DATA_SOURCE_BYTES, Dn as TextualToolContent, Dr as diffUserProfile, Dt as RunBinaryEntry, E as DEFAULT_LOOP_LIMITS, En as TerminalLifecycleData, Er as createWebSkillApi, Et as RouteResult, F as DocxTextExtractor, Fn as ToolStepReader, Fr as fromVercelResult, Ft as RunToolCall, G as FsRunTraceStore, Gn as USER_PROFILE_EXPORT_VERSION, Gr as networkUrlHost, Gt as RuntimeSession, H as FsArtifactStore, Hn as TraceRecorder, Hr as mergeCatalogEntries, Ht as RunUsageSummary, I as EMPTY_USER_PROFILE, In as ToolStepRecord, Ir as fromVercelStreamPart, It as RunTraceFile, J as FullDisclosureRouter, Jn as USER_PROFILE_PROMPT_HEADER, Jr as normalizeToolError, Jt as SESSION_SCHEMA_VERSION, K as FsSessionStore, Kn as USER_PROFILE_KEY, Kr as normalizeErrorCode, Kt as RuntimeSessionHandle, L as EventBus, Ln as ToolStepStore, Lr as interruptedToolResult, Lt as RunTraceFilter, M as DataSourceInfo, Mn as ToolDisclosure, Mr as extractUiSpecEvents, Mt as RunSnapshotListEntry, N as DocumentSurfaceHost, Nn as ToolResolution, Nr as findUnpairedToolCalls, Nt as RunSnapshotStore, O as DEFAULT_MAX_DOCUMENT_BYTES, On as TodoTraceEvent, Or as encodeSpreadsheet, Ot as RunBinaryStore, P as DocumentSurfacePort, Pn as ToolResult, Pr as formatSkillScriptManifest, Pt as RunTerminationReason, Q as HookRunnerOptions, Qn as UserProfile, Qr as readBehaviorRecords, Qt as SUPPORTED_DOCUMENT_MIME, R as ExecuteLifecycleData, Rn as ToolStepTrust, Rr as isBytesOnlyDocument, Rt as RunTraceMetrics, S as BridgeRequest, Sn as SpreadsheetImageResolver, Sr as bridgeError, St as RUN_TRACE_SCHEMA_VERSION, T as CapabilityMode, Tn as TEXT_BUDGETED_CONTENT_TYPES, Tr as createScriptContext, Tt as RouteLifecycleData, U as FsMemoryStore, Un as UNSUPPORTED_DOCUMENT_MESSAGE, Ur as mergeProfileEntries, Ut as RuntimePhase, V as FS_SESSION_PAGE_SIZE, Vn as TraceEventType, Vr as listSkillScripts, Vt as RunUploadFiles, W as FsRunSnapshotStore, Wn as UPLOAD_FILES_UNAVAILABLE, Wr as networkPolicyLibSource, Wt as RuntimeRun, X as GoogleGenAiClientConfig, Xn as UnsupportedRunSnapshot, Xr as parseUserProfileExport, Xt as SPREADSHEET_LIMITS, Y as GoogleGenAiClient, Yn as USER_PROFILE_REFINE_PROMPT, Yr as parseBridgeRequest, Yt as SPREADSHEET_EXTENSION, Z as HookRunner, Zn as UploadFileInfo, Zr as partsToText, Zt as SPREADSHEET_MIME_TYPE, _ as BehaviorRecord, _i as toVercelToolSpecs, _n as SkillSuccessReport, _r as XLSX_UNSUPPORTED, _t as READ_LINKED_DOCUMENT_TOOL_NAME, a as ASK_USER_TOOL, ai as runVisionBatch, an as SerializingMemoryStore, ar as VISION_SLOW_THRESHOLD_MS, at as LifecycleHook, b as BridgeCapabilities, bn as SpreadsheetImageAnchor, br as appendBehaviorRecords, bt as READ_SKILL_FILE_TOOL_NAME, c as AgentLoop, ci as schemaToForm, cn as SessionRecord, cr as VisionBatchOptions, ct as LinkedDocumentReader, d as AnthropicClient, di as summarizeRunUsage, dn as SkillIntegrityGuard, dr as VisionDelegateImage, dt as OpenAiCompatibleClient, ei as readUserProfile, en as ScriptExecutionContext, er as UserProfileExport, et as InstalledSkillManifest, f as AnthropicClientConfig, fi as summarizeToolCalls, fn as SkillOutcomeReporter, fr as VisionDelegateRequest, ft as OpenAiCompatibleClientConfig, g as BYTES_ONLY_DOCUMENT_MIME, gi as toRecordDigests, gn as SkillStateGuard, gr as WebSkillRuntimeDeps, gt as READ_LINKED_DOCUMENT_TOOL, h as BEHAVIOR_RECORDS_KEY, hi as toLlmToolSpec, hn as SkillScriptSchemaSource, hr as WebSkillRuntime, ht as ProgressiveRouter, i as ASK_USER_MAX_FIELDS, ii as resolveToolName, in as SealResult, ir as VISION_MAX_CONCURRENCY, it as LifecycleEventInit, j as DEFAULT_USER_PROFILE_LIMITS, jn as ToolDefinition, jr as extractTodoTraceEvents, jt as RunSnapshot, k as DEFAULT_MAX_DOCUMENT_TEXT_BYTES, kn as ToolCallContext, kr as exportUserProfile, kt as RunLimitErrorDetails, l as AgentLoopConfig, li as scriptToolName, ln as SessionStore, lr as VisionBatchOutcome, lt as MAX_TOOL_STEP_ARG_BYTES, m as ApprovalScope, mi as toBase64, mn as SkillScriptDescriptor, mr as WebSkillApi, mt as PptxTextExtractor, n as ASK_USER_FIELD_TYPES, ni as refineUserProfile, nn as SealOptions, nr as UserProfileLimits, nt as InteractLifecycleData, o as ASK_USER_TOOL_NAME, oi as sampleBehaviorRecords, on as SessionListPage, or as VercelToolSpec, ot as LifecycleHookContext, p as ApprovalDecision, pi as textParts, pn as SkillRouter, pr as VisionDelegateResult, pt as PdfTextExtractor, q as FsToolStepStore, qn as USER_PROFILE_NO_INVENTION_RULE, qr as normalizeToolContent, qt as SENSITIVE_ANNOTATION, r as ASK_USER_INPUT_SCHEMA, ri as renderUserProfileContext, rn as SealRecord, rr as VISION_DEFAULT_CONCURRENCY, rt as LifecycleEvent, s as ActivateLifecycleData, si as schemaSourceLabel, sn as SessionMeta, sr as ViewerImageFact, st as LifecycleListener, t as ALLOWED_TOOLS_EXCLUSION_REASON, ti as redactToolStepArgs, tn as ScriptExecutor, tr as UserProfileImportDiff, tt as IntegrityVerdict, u as AgentLoopDeps, ui as sealToolCallPairs, un as SkillFailureReport, ur as VisionDelegate, ut as NetworkPolicy, v as BehaviorRecordKind, vi as validateUiSpecEvent, vn as SpreadsheetCell, vr as XlsxTextExtractor, vt as READ_SKILL_FILE_INPUT_SCHEMA, w as CapabilityApproval, wn as SpreadsheetSpec, wr as clampVisionConcurrency, wt as RefineUserProfileInput, x as BridgeCapability, xn as SpreadsheetImageBytes, xr as applyUserProfileImport, xt as RUN_SNAPSHOT_SCHEMA_VERSION, y as BehaviorScene, yi as validateUiSpecNode, yn as SpreadsheetImage, yr as XlsxUnsupportedFeature, yt as READ_SKILL_FILE_TOOL, z as ExternalSkillProvider, zn as TraceClock, zr as isNetworkAllowed, zt as RunTraceStore } from "./index-D6eSrEi5.js";
1
+ import { $ as PPTX_MIME, $t as exportSkills, A as extractSkillCandidate, At as TrustedKey, B as DOCX_MIME, Bt as assertRemoteUrlAllowed, C as UiSpecActionCapability, Cn as verifySkillSignature, Ct as SkillMetadata, D as UiSpecSnapshot, Dt as SkillSource, E as UiSpecPatch, Et as SkillSignature, F as BINARY_EXTENSIONS, Ft as ValidationReport, G as FileStat, Gt as buildManifest, H as DiscoveryResult, Ht as atomicWriteBinary, I as CatalogRenderer, It as VerifyResult, J as FsTrustedKeyStore, Jt as classifyAttachment, K as FileSystemProvider, Kt as checkDependencyCycles, L as ChatAttachmentKind, Lt as WebSkillError, M as ATTACHMENT_TEXT_LIMIT, Mt as UNTRUSTED_LINE_LIMIT, N as ArchiveLimits, Nt as UiSpecNode, O as UiSurfaceActionRequest, Ot as SkillsLockfile, P as AttachmentTextInput, Pt as UnsignedPolicy, Q as MemoryFS, Qt as escapeXml, R as CryptoKeyLike, Rt as WebSkillErrorCode, S as UiBridge, Sn as verifyManifest, St as SkillManifest, T as UiSpecEvent, Tt as SkillReader, U as ExtractedDocumentFormat, Ut as atomicWriteText, V as DWG_MIME_TYPES, Vt as assertSafePathSegment, W as FILE_MIME_TYPES, Wt as buildCatalog, X as JsonSchema, Xt as detectSkillArchiveShape, Y as IMAGE_MIME_TYPES, Yt as computeDigest, Z as MANIFEST_EXCLUDED_FILES, Zt as detectSkillArchiveShapeFromFs, _ as LlmToolSpec, _n as signSkill, _t as SkillDocument, a as InteractionOrigin, an as keyIdOf, at as SKILL_MANIFEST_FILE, b as RenderResultRequest, bn as unzipWithLimits, bt as SkillLocation, c as InteractionResponse, cn as parseSkillMarkdown, ct as SKILL_PACK_FILE, d as LlmContentPart, dn as readSkillSignature, dt as SignatureVerdict, en as extractedDocumentFormat, et as Page, f as LlmMessage, fn as renderAvailableSkillsXml, ft as SkillArchiveDetection, g as LlmToolCall, gn as sanitizeUntrustedLine, gt as SkillDiscovery, h as LlmTokenUsage, hn as resolveInsideRoot, ht as SkillCatalogEntry, i as FormField, in as jsonRenderer, it as SKILLS_LOCKFILE, j as ATOMIC_TMP_SUFFIX_PATTERN, jt as TrustedKeyStore, k as UiSurfaceActionResponse, kt as TEXT_EXTENSIONS, l as LlmClient, ln as parseSkillPackManifest, lt as SKILL_SIGNATURE_FILE, m as LlmStreamEvent, mn as resolveArchiveLimits, mt as SkillCatalog, n as ArtifactStore, nn as isAtomicTempPath, nt as RemoteUrlPolicy, o as InteractionPolicy, on as messageOf, ot as SKILL_NAME_MAX_LENGTH, p as LlmResponse, pn as renderCatalogJson, pt as SkillArchiveShape, q as FileWriteStream, qt as checkSkillRules, r as ChartSpec, rn as isValidSkillName, rt as SIGNATURE_SCHEMA_VERSION, s as InteractionRequest, sn as normalizePath, st as SKILL_NAME_PATTERN, t as Artifact, tn as formatAttachmentText, tt as PageQuery, u as LlmCompleteInput, un as readResponseWithLimit, ut as SignatureAuditSink, v as MemoryStore, vn as signaturePayloadBytes, vt as SkillInstallSource, w as UiSpecDrafts, wn as xmlRenderer, wt as SkillPackManifest, x as SkillCandidateMarker, xn as validateSkills, xt as SkillManagerPort, y as RenderBlock, yn as stripArchiveRoot, yt as SkillIssue, z as DEFAULT_ARCHIVE_LIMITS, zt as XLSX_MIME } from "./types-wKp3YBSM-167azx1H.js";
2
+ import { $ as ImageOmission, $n as UserProfileEntry, $r as readProfileEntries, $t as SchemaInferer, A as DEFAULT_MAX_UPLOAD_FILE_BYTES, An as ToolContent, Ar as extractChartSpec, At as RunResult, B as ExternalToolSource, Bn as TraceEvent, Br as isUnsupportedRunSnapshot, Bt as RunTraceSummary, C as BridgeResponse, Cn as SpreadsheetSheet, Cr as buildRenderResult, Ct as RedactedArgs, D as DEFAULT_MAX_DATA_SOURCE_BYTES, Dn as TextualToolContent, Dr as diffUserProfile, Dt as RunBinaryEntry, E as DEFAULT_LOOP_LIMITS, En as TerminalLifecycleData, Er as createWebSkillApi, Et as RouteResult, F as DocxTextExtractor, Fn as ToolStepReader, Fr as fromVercelResult, Ft as RunToolCall, G as FsRunTraceStore, Gn as USER_PROFILE_EXPORT_VERSION, Gr as networkUrlHost, Gt as RuntimeSession, H as FsArtifactStore, Hn as TraceRecorder, Hr as mergeCatalogEntries, Ht as RunUsageSummary, I as EMPTY_USER_PROFILE, In as ToolStepRecord, Ir as fromVercelStreamPart, It as RunTraceFile, J as FullDisclosureRouter, Jn as USER_PROFILE_PROMPT_HEADER, Jr as normalizeToolError, Jt as SESSION_SCHEMA_VERSION, K as FsSessionStore, Kn as USER_PROFILE_KEY, Kr as normalizeErrorCode, Kt as RuntimeSessionHandle, L as EventBus, Ln as ToolStepStore, Lr as interruptedToolResult, Lt as RunTraceFilter, M as DataSourceInfo, Mn as ToolDisclosure, Mr as extractUiSpecEvents, Mt as RunSnapshotListEntry, N as DocumentSurfaceHost, Nn as ToolResolution, Nr as findUnpairedToolCalls, Nt as RunSnapshotStore, O as DEFAULT_MAX_DOCUMENT_BYTES, On as TodoTraceEvent, Or as encodeSpreadsheet, Ot as RunBinaryStore, P as DocumentSurfacePort, Pn as ToolResult, Pr as formatSkillScriptManifest, Pt as RunTerminationReason, Q as HookRunnerOptions, Qn as UserProfile, Qr as readBehaviorRecords, Qt as SUPPORTED_DOCUMENT_MIME, R as ExecuteLifecycleData, Rn as ToolStepTrust, Rr as isBytesOnlyDocument, Rt as RunTraceMetrics, S as BridgeRequest, Sn as SpreadsheetImageResolver, Sr as bridgeError, St as RUN_TRACE_SCHEMA_VERSION, T as CapabilityMode, Tn as TEXT_BUDGETED_CONTENT_TYPES, Tr as createScriptContext, Tt as RouteLifecycleData, U as FsMemoryStore, Un as UNSUPPORTED_DOCUMENT_MESSAGE, Ur as mergeProfileEntries, Ut as RuntimePhase, V as FS_SESSION_PAGE_SIZE, Vn as TraceEventType, Vr as listSkillScripts, Vt as RunUploadFiles, W as FsRunSnapshotStore, Wn as UPLOAD_FILES_UNAVAILABLE, Wr as networkPolicyLibSource, Wt as RuntimeRun, X as GoogleGenAiClientConfig, Xn as UnsupportedRunSnapshot, Xr as parseUserProfileExport, Xt as SPREADSHEET_LIMITS, Y as GoogleGenAiClient, Yn as USER_PROFILE_REFINE_PROMPT, Yr as parseBridgeRequest, Yt as SPREADSHEET_EXTENSION, Z as HookRunner, Zn as UploadFileInfo, Zr as partsToText, Zt as SPREADSHEET_MIME_TYPE, _ as BehaviorRecord, _i as toVercelToolSpecs, _n as SkillSuccessReport, _r as XLSX_UNSUPPORTED, _t as READ_LINKED_DOCUMENT_TOOL_NAME, a as ASK_USER_TOOL, ai as runVisionBatch, an as SerializingMemoryStore, ar as VISION_SLOW_THRESHOLD_MS, at as LifecycleHook, b as BridgeCapabilities, bn as SpreadsheetImageAnchor, br as appendBehaviorRecords, bt as READ_SKILL_FILE_TOOL_NAME, c as AgentLoop, ci as schemaToForm, cn as SessionRecord, cr as VisionBatchOptions, ct as LinkedDocumentReader, d as AnthropicClient, di as summarizeRunUsage, dn as SkillIntegrityGuard, dr as VisionDelegateImage, dt as OpenAiCompatibleClient, ei as readUserProfile, en as ScriptExecutionContext, er as UserProfileExport, et as InstalledSkillManifest, f as AnthropicClientConfig, fi as summarizeToolCalls, fn as SkillOutcomeReporter, fr as VisionDelegateRequest, ft as OpenAiCompatibleClientConfig, g as BYTES_ONLY_DOCUMENT_MIME, gi as toRecordDigests, gn as SkillStateGuard, gr as WebSkillRuntimeDeps, gt as READ_LINKED_DOCUMENT_TOOL, h as BEHAVIOR_RECORDS_KEY, hi as toLlmToolSpec, hn as SkillScriptSchemaSource, hr as WebSkillRuntime, ht as ProgressiveRouter, i as ASK_USER_MAX_FIELDS, ii as resolveToolName, in as SealResult, ir as VISION_MAX_CONCURRENCY, it as LifecycleEventInit, j as DEFAULT_USER_PROFILE_LIMITS, jn as ToolDefinition, jr as extractTodoTraceEvents, jt as RunSnapshot, k as DEFAULT_MAX_DOCUMENT_TEXT_BYTES, kn as ToolCallContext, kr as exportUserProfile, kt as RunLimitErrorDetails, l as AgentLoopConfig, li as scriptToolName, ln as SessionStore, lr as VisionBatchOutcome, lt as MAX_TOOL_STEP_ARG_BYTES, m as ApprovalScope, mi as toBase64, mn as SkillScriptDescriptor, mr as WebSkillApi, mt as PptxTextExtractor, n as ASK_USER_FIELD_TYPES, ni as refineUserProfile, nn as SealOptions, nr as UserProfileLimits, nt as InteractLifecycleData, o as ASK_USER_TOOL_NAME, oi as sampleBehaviorRecords, on as SessionListPage, or as VercelToolSpec, ot as LifecycleHookContext, p as ApprovalDecision, pi as textParts, pn as SkillRouter, pr as VisionDelegateResult, pt as PdfTextExtractor, q as FsToolStepStore, qn as USER_PROFILE_NO_INVENTION_RULE, qr as normalizeToolContent, qt as SENSITIVE_ANNOTATION, r as ASK_USER_INPUT_SCHEMA, ri as renderUserProfileContext, rn as SealRecord, rr as VISION_DEFAULT_CONCURRENCY, rt as LifecycleEvent, s as ActivateLifecycleData, si as schemaSourceLabel, sn as SessionMeta, sr as ViewerImageFact, st as LifecycleListener, t as ALLOWED_TOOLS_EXCLUSION_REASON, ti as redactToolStepArgs, tn as ScriptExecutor, tr as UserProfileImportDiff, tt as IntegrityVerdict, u as AgentLoopDeps, ui as sealToolCallPairs, un as SkillFailureReport, ur as VisionDelegate, ut as NetworkPolicy, v as BehaviorRecordKind, vi as validateUiSpecEvent, vn as SpreadsheetCell, vr as XlsxTextExtractor, vt as READ_SKILL_FILE_INPUT_SCHEMA, w as CapabilityApproval, wn as SpreadsheetSpec, wr as clampVisionConcurrency, wt as RefineUserProfileInput, x as BridgeCapability, xn as SpreadsheetImageBytes, xr as applyUserProfileImport, xt as RUN_SNAPSHOT_SCHEMA_VERSION, y as BehaviorScene, yi as validateUiSpecNode, yn as SpreadsheetImage, yr as XlsxUnsupportedFeature, yt as READ_SKILL_FILE_TOOL, z as ExternalSkillProvider, zn as TraceClock, zr as isNetworkAllowed, zt as RunTraceStore } from "./index-DU8sKyQq.js";
3
3
  //#region src/version.d.ts
4
4
  /** Generated by scripts/syncVersionConstant.mjs from packages/sdk/package.json. Do not edit by hand. */
5
5
  /**
6
6
  * Version of the published `@webskill/sdk` package, injected at build time.
7
7
  * @stable
8
8
  */
9
- declare const SDK_VERSION = "0.27.0";
9
+ declare const SDK_VERSION = "0.28.1";
10
10
  //#endregion
11
11
  export { ALLOWED_TOOLS_EXCLUSION_REASON, ASK_USER_FIELD_TYPES, ASK_USER_INPUT_SCHEMA, ASK_USER_MAX_FIELDS, ASK_USER_TOOL, ASK_USER_TOOL_NAME, ATOMIC_TMP_SUFFIX_PATTERN, ATTACHMENT_TEXT_LIMIT, type ActivateLifecycleData, AgentLoop, type AgentLoopConfig, type AgentLoopDeps, AnthropicClient, type AnthropicClientConfig, type ApprovalDecision, type ApprovalScope, type ArchiveLimits, type Artifact, type ArtifactStore, type AttachmentTextInput, BEHAVIOR_RECORDS_KEY, BINARY_EXTENSIONS, BYTES_ONLY_DOCUMENT_MIME, type BehaviorRecord, type BehaviorRecordKind, type BehaviorScene, type BridgeCapabilities, type BridgeCapability, type BridgeRequest, type BridgeResponse, CapabilityApproval, type CapabilityMode, type CatalogRenderer, type ChartSpec, type ChatAttachmentKind, type CryptoKeyLike, DEFAULT_ARCHIVE_LIMITS, DEFAULT_LOOP_LIMITS, DEFAULT_MAX_DATA_SOURCE_BYTES, DEFAULT_MAX_DOCUMENT_BYTES, DEFAULT_MAX_DOCUMENT_TEXT_BYTES, DEFAULT_MAX_UPLOAD_FILE_BYTES, DEFAULT_USER_PROFILE_LIMITS, DOCX_MIME, DWG_MIME_TYPES, type DataSourceInfo, type DiscoveryResult, type DocumentSurfaceHost, type DocumentSurfacePort, type DocxTextExtractor, EMPTY_USER_PROFILE, EventBus, type ExecuteLifecycleData, type ExternalSkillProvider, type ExternalToolSource, type ExtractedDocumentFormat, FILE_MIME_TYPES, FS_SESSION_PAGE_SIZE, type FileStat, type FileSystemProvider, type FileWriteStream, type FormField, FsArtifactStore, FsMemoryStore, FsRunSnapshotStore, FsRunTraceStore, FsSessionStore, FsToolStepStore, FsTrustedKeyStore, FullDisclosureRouter, GoogleGenAiClient, type GoogleGenAiClientConfig, HookRunner, type HookRunnerOptions, IMAGE_MIME_TYPES, type ImageOmission, type InstalledSkillManifest, type IntegrityVerdict, type InteractLifecycleData, type InteractionOrigin, type InteractionPolicy, type InteractionRequest, type InteractionResponse, type JsonSchema, type LifecycleEvent, type LifecycleEventInit, type LifecycleHook, type LifecycleHookContext, type LifecycleListener, type LinkedDocumentReader, type LlmClient, type LlmCompleteInput, type LlmContentPart, type LlmMessage, type LlmResponse, type LlmStreamEvent, type LlmTokenUsage, type LlmToolCall, type LlmToolSpec, MANIFEST_EXCLUDED_FILES, MAX_TOOL_STEP_ARG_BYTES, MemoryFS, type MemoryStore, type NetworkPolicy, OpenAiCompatibleClient, type OpenAiCompatibleClientConfig, PPTX_MIME, type Page, type PageQuery, type PdfTextExtractor, type PptxTextExtractor, ProgressiveRouter, READ_LINKED_DOCUMENT_TOOL, READ_LINKED_DOCUMENT_TOOL_NAME, READ_SKILL_FILE_INPUT_SCHEMA, READ_SKILL_FILE_TOOL, READ_SKILL_FILE_TOOL_NAME, RUN_SNAPSHOT_SCHEMA_VERSION, RUN_TRACE_SCHEMA_VERSION, type RedactedArgs, type RefineUserProfileInput, type RemoteUrlPolicy, type RenderBlock, type RenderResultRequest, type RouteLifecycleData, type RouteResult, type RunBinaryEntry, type RunBinaryStore, type RunLimitErrorDetails, type RunResult, type RunSnapshot, type RunSnapshotListEntry, type RunSnapshotStore, type RunTerminationReason, type RunToolCall, type RunTraceFile, type RunTraceFilter, type RunTraceMetrics, type RunTraceStore, type RunTraceSummary, type RunUploadFiles, type RunUsageSummary, type RuntimePhase, type RuntimeRun, type RuntimeSession, type RuntimeSessionHandle, SDK_VERSION, SENSITIVE_ANNOTATION, SESSION_SCHEMA_VERSION, SIGNATURE_SCHEMA_VERSION, SKILLS_LOCKFILE, SKILL_MANIFEST_FILE, SKILL_NAME_MAX_LENGTH, SKILL_NAME_PATTERN, SKILL_PACK_FILE, SKILL_SIGNATURE_FILE, SPREADSHEET_EXTENSION, SPREADSHEET_LIMITS, SPREADSHEET_MIME_TYPE, SUPPORTED_DOCUMENT_MIME, type SchemaInferer, type ScriptExecutionContext, type ScriptExecutor, type SealOptions, type SealRecord, type SealResult, SerializingMemoryStore, type SessionListPage, type SessionMeta, type SessionRecord, type SessionStore, type SignatureAuditSink, type SignatureVerdict, type SkillArchiveDetection, type SkillArchiveShape, type SkillCandidateMarker, type SkillCatalog, type SkillCatalogEntry, SkillDiscovery, type SkillDocument, type SkillFailureReport, type SkillInstallSource, type SkillIntegrityGuard, type SkillIssue, type SkillLocation, type SkillManagerPort, type SkillManifest, type SkillMetadata, type SkillOutcomeReporter, type SkillPackManifest, SkillReader, type SkillRouter, type SkillScriptDescriptor, type SkillScriptSchemaSource, type SkillSignature, type SkillSource, type SkillStateGuard, type SkillSuccessReport, type SkillsLockfile, type SpreadsheetCell, type SpreadsheetImage, type SpreadsheetImageAnchor, type SpreadsheetImageBytes, type SpreadsheetImageResolver, type SpreadsheetSheet, type SpreadsheetSpec, TEXT_BUDGETED_CONTENT_TYPES, TEXT_EXTENSIONS, type TerminalLifecycleData, type TextualToolContent, type TodoTraceEvent, type ToolCallContext, type ToolContent, type ToolDefinition, type ToolDisclosure, type ToolResolution, type ToolResult, type ToolStepReader, type ToolStepRecord, type ToolStepStore, type ToolStepTrust, type TraceClock, type TraceEvent, type TraceEventType, TraceRecorder, type TrustedKey, type TrustedKeyStore, UNSUPPORTED_DOCUMENT_MESSAGE, UNTRUSTED_LINE_LIMIT, UPLOAD_FILES_UNAVAILABLE, USER_PROFILE_EXPORT_VERSION, USER_PROFILE_KEY, USER_PROFILE_NO_INVENTION_RULE, USER_PROFILE_PROMPT_HEADER, USER_PROFILE_REFINE_PROMPT, type UiBridge, type UiSpecActionCapability, type UiSpecDrafts, type UiSpecEvent, type UiSpecNode, type UiSpecPatch, type UiSpecSnapshot, type UiSurfaceActionRequest, type UiSurfaceActionResponse, type UnsignedPolicy, type UnsupportedRunSnapshot, type UploadFileInfo, type UserProfile, type UserProfileEntry, type UserProfileExport, type UserProfileImportDiff, type UserProfileLimits, VISION_DEFAULT_CONCURRENCY, VISION_MAX_CONCURRENCY, VISION_SLOW_THRESHOLD_MS, type ValidationReport, type VercelToolSpec, type VerifyResult, type ViewerImageFact, type VisionBatchOptions, type VisionBatchOutcome, type VisionDelegate, type VisionDelegateImage, type VisionDelegateRequest, type VisionDelegateResult, type WebSkillApi, WebSkillError, type WebSkillErrorCode, WebSkillRuntime, type WebSkillRuntimeDeps, XLSX_MIME, XLSX_UNSUPPORTED, type XlsxTextExtractor, type XlsxUnsupportedFeature, appendBehaviorRecords, applyUserProfileImport, assertRemoteUrlAllowed, assertSafePathSegment, atomicWriteBinary, atomicWriteText, bridgeError, buildCatalog, buildManifest, buildRenderResult, checkDependencyCycles, checkSkillRules, clampVisionConcurrency, classifyAttachment, computeDigest, createScriptContext, createWebSkillApi, detectSkillArchiveShape, detectSkillArchiveShapeFromFs, diffUserProfile, encodeSpreadsheet, escapeXml, exportSkills, exportUserProfile, extractChartSpec, extractSkillCandidate, extractTodoTraceEvents, extractUiSpecEvents, extractedDocumentFormat, findUnpairedToolCalls, formatAttachmentText, formatSkillScriptManifest, fromVercelResult, fromVercelStreamPart, interruptedToolResult, isAtomicTempPath, isBytesOnlyDocument, isNetworkAllowed, isUnsupportedRunSnapshot, isValidSkillName, jsonRenderer, keyIdOf, listSkillScripts, mergeCatalogEntries, mergeProfileEntries, messageOf, networkPolicyLibSource, networkUrlHost, normalizeErrorCode, normalizePath, normalizeToolContent, normalizeToolError, parseBridgeRequest, parseSkillMarkdown, parseSkillPackManifest, parseUserProfileExport, partsToText, readBehaviorRecords, readProfileEntries, readResponseWithLimit, readSkillSignature, readUserProfile, redactToolStepArgs, refineUserProfile, renderAvailableSkillsXml, renderCatalogJson, renderUserProfileContext, resolveArchiveLimits, resolveInsideRoot, resolveToolName, runVisionBatch, sampleBehaviorRecords, sanitizeUntrustedLine, schemaSourceLabel, schemaToForm, scriptToolName, sealToolCallPairs, signSkill, signaturePayloadBytes, stripArchiveRoot, summarizeRunUsage, summarizeToolCalls, textParts, toBase64, toLlmToolSpec, toRecordDigests, toVercelToolSpecs, unzipWithLimits, validateSkills, validateUiSpecEvent, validateUiSpecNode, verifyManifest, verifySkillSignature, xmlRenderer };
package/dist/index.js CHANGED
@@ -4,13 +4,13 @@ import { a as atomicWriteBinary, i as ATOMIC_TMP_SUFFIX_PATTERN, n as normalizeP
4
4
  import { t as assertRemoteUrlAllowed } from "./urlSafety-CiSuCJvX.js";
5
5
  import { n as sanitizeUntrustedLine, t as UNTRUSTED_LINE_LIMIT } from "./untrustedText-BIaRvPZK.js";
6
6
  import { a as FILE_MIME_TYPES, c as TEXT_EXTENSIONS, d as extractedDocumentFormat, f as formatAttachmentText, i as DWG_MIME_TYPES, l as XLSX_MIME, n as BINARY_EXTENSIONS, o as IMAGE_MIME_TYPES, r as DOCX_MIME, s as PPTX_MIME, t as ATTACHMENT_TEXT_LIMIT, u as classifyAttachment } from "./kind-Dc8x0HWz.js";
7
- import { $ as READ_SKILL_FILE_TOOL, A as BEHAVIOR_RECORDS_KEY, B as renderUserProfileContext, C as extractTodoTraceEvents, D as VISION_SLOW_THRESHOLD_MS, E as VISION_MAX_CONCURRENCY, F as readProfileEntries, G as schemaToForm, H as EMPTY_USER_PROFILE, I as readUserProfile, J as ASK_USER_INPUT_SCHEMA, K as createScriptContext, L as sampleBehaviorRecords, M as appendBehaviorRecords, N as mergeProfileEntries, O as clampVisionConcurrency, P as readBehaviorRecords, Q as READ_SKILL_FILE_INPUT_SCHEMA, R as USER_PROFILE_NO_INVENTION_RULE, S as extractSkillCandidate, T as VISION_DEFAULT_CONCURRENCY, U as SerializingMemoryStore, V as DEFAULT_USER_PROFILE_LIMITS, W as EventBus, X as ASK_USER_TOOL, Y as ASK_USER_MAX_FIELDS, Z as ASK_USER_TOOL_NAME, _ as FsRunSnapshotStore, a as networkPolicyLibSource, at as scriptToolName, b as DEFAULT_LOOP_LIMITS, c as bridgeError, ct as ProgressiveRouter, d as FsMemoryStore, dt as xmlRenderer, et as READ_SKILL_FILE_TOOL_NAME, f as WebSkillRuntime, g as redactToolStepArgs, h as SENSITIVE_ANNOTATION, i as isNetworkAllowed, it as schemaSourceLabel, j as USER_PROFILE_KEY, k as runVisionBatch, l as parseBridgeRequest, lt as escapeXml, m as AgentLoop, n as normalizeErrorCode, nt as formatSkillScriptManifest, o as networkUrlHost, ot as resolveToolName, p as summarizeRunUsage, q as ASK_USER_FIELD_TYPES, r as normalizeToolError, rt as listSkillScripts, s as UPLOAD_FILES_UNAVAILABLE, st as toLlmToolSpec, t as CapabilityApproval, tt as ALLOWED_TOOLS_EXCLUSION_REASON, u as FsArtifactStore, ut as renderAvailableSkillsXml, v as RUN_SNAPSHOT_SCHEMA_VERSION, w as TraceRecorder, x as MAX_TOOL_STEP_ARG_BYTES, y as isUnsupportedRunSnapshot, z as USER_PROFILE_PROMPT_HEADER } from "./approval-BSwffz8P.js";
7
+ import { $ as READ_SKILL_FILE_TOOL, A as BEHAVIOR_RECORDS_KEY, B as renderUserProfileContext, C as extractTodoTraceEvents, D as VISION_SLOW_THRESHOLD_MS, E as VISION_MAX_CONCURRENCY, F as readProfileEntries, G as schemaToForm, H as EMPTY_USER_PROFILE, I as readUserProfile, J as ASK_USER_INPUT_SCHEMA, K as createScriptContext, L as sampleBehaviorRecords, M as appendBehaviorRecords, N as mergeProfileEntries, O as clampVisionConcurrency, P as readBehaviorRecords, Q as READ_SKILL_FILE_INPUT_SCHEMA, R as USER_PROFILE_NO_INVENTION_RULE, S as extractSkillCandidate, T as VISION_DEFAULT_CONCURRENCY, U as SerializingMemoryStore, V as DEFAULT_USER_PROFILE_LIMITS, W as EventBus, X as ASK_USER_TOOL, Y as ASK_USER_MAX_FIELDS, Z as ASK_USER_TOOL_NAME, _ as FsRunSnapshotStore, a as networkPolicyLibSource, at as scriptToolName, b as DEFAULT_LOOP_LIMITS, c as bridgeError, ct as ProgressiveRouter, d as FsMemoryStore, dt as xmlRenderer, et as READ_SKILL_FILE_TOOL_NAME, f as WebSkillRuntime, g as redactToolStepArgs, h as SENSITIVE_ANNOTATION, i as isNetworkAllowed, it as schemaSourceLabel, j as USER_PROFILE_KEY, k as runVisionBatch, l as parseBridgeRequest, lt as escapeXml, m as AgentLoop, n as normalizeErrorCode, nt as formatSkillScriptManifest, o as networkUrlHost, ot as resolveToolName, p as summarizeRunUsage, q as ASK_USER_FIELD_TYPES, r as normalizeToolError, rt as listSkillScripts, s as UPLOAD_FILES_UNAVAILABLE, st as toLlmToolSpec, t as CapabilityApproval, tt as ALLOWED_TOOLS_EXCLUSION_REASON, u as FsArtifactStore, ut as renderAvailableSkillsXml, v as RUN_SNAPSHOT_SCHEMA_VERSION, w as TraceRecorder, x as MAX_TOOL_STEP_ARG_BYTES, y as isUnsupportedRunSnapshot, z as USER_PROFILE_PROMPT_HEADER } from "./approval-5BmspsRi.js";
8
8
  import { a as GoogleGenAiClient, c as findUnpairedToolCalls, d as partsToText, f as promptText, i as toVercelToolSpecs, l as interruptedToolResult, n as fromVercelResult, o as AnthropicClient, p as textParts, r as fromVercelStreamPart, s as OpenAiCompatibleClient, u as sealToolCallPairs } from "./llm-eIQNO9tr.js";
9
9
  import { _ as DEFAULT_MAX_UPLOAD_FILE_BYTES, a as UNSUPPORTED_DOCUMENT_MESSAGE, c as toBase64, d as SPREADSHEET_LIMITS, f as SPREADSHEET_MIME_TYPE, g as DEFAULT_MAX_DOCUMENT_TEXT_BYTES, h as DEFAULT_MAX_DOCUMENT_BYTES, i as SUPPORTED_DOCUMENT_MIME, l as encodeSpreadsheet, m as DEFAULT_MAX_DATA_SOURCE_BYTES, n as READ_LINKED_DOCUMENT_TOOL, p as XLSX_UNSUPPORTED, r as READ_LINKED_DOCUMENT_TOOL_NAME, s as isBytesOnlyDocument, t as BYTES_ONLY_DOCUMENT_MIME, u as SPREADSHEET_EXTENSION, v as TEXT_BUDGETED_CONTENT_TYPES } from "./linkedDocument-0iiVPd5t.js";
10
10
  import { n as normalizeToolContent, t as mergeCatalogEntries } from "./external-_ZRQe-V9.js";
11
- import { n as extractChartSpec, t as buildRenderResult } from "./renderResult-D9Q-Vu2x.js";
11
+ import { n as extractChartSpec, t as buildRenderResult } from "./renderResult-2v3WQzs_.js";
12
12
  import { n as validateUiSpecEvent, r as validateUiSpecNode, t as extractUiSpecEvents } from "./surface-DVGiCmwq.js";
13
- import { t as createWebSkillApi } from "./webSkillApi-C_7CTwtB.js";
13
+ import { t as createWebSkillApi } from "./webSkillApi-rX2e3SVB.js";
14
14
 
15
15
  //#region ../core/src/fs/memoryFs.ts
16
16
  const ROOT = "/";
@@ -82,6 +82,12 @@ var MemoryFS = class {
82
82
  async readBinary(path) {
83
83
  return this.#getFile(this.#normalize(path)).content;
84
84
  }
85
+ async createReadStream(path) {
86
+ const content = await this.readBinary(path);
87
+ return (async function* () {
88
+ yield content;
89
+ })();
90
+ }
85
91
  async writeBinary(path, content) {
86
92
  const key = this.#normalize(path);
87
93
  this.#ensureParents(key);
@@ -1012,7 +1018,7 @@ var FsToolStepStore = class {
1012
1018
  * Version of the published `@webskill/sdk` package, injected at build time.
1013
1019
  * @stable
1014
1020
  */
1015
- const SDK_VERSION = "0.27.0";
1021
+ const SDK_VERSION = "0.28.1";
1016
1022
 
1017
1023
  //#endregion
1018
1024
  export { ALLOWED_TOOLS_EXCLUSION_REASON, ASK_USER_FIELD_TYPES, ASK_USER_INPUT_SCHEMA, ASK_USER_MAX_FIELDS, ASK_USER_TOOL, ASK_USER_TOOL_NAME, ATOMIC_TMP_SUFFIX_PATTERN, ATTACHMENT_TEXT_LIMIT, AgentLoop, AnthropicClient, BEHAVIOR_RECORDS_KEY, BINARY_EXTENSIONS, BYTES_ONLY_DOCUMENT_MIME, CapabilityApproval, DEFAULT_ARCHIVE_LIMITS, DEFAULT_LOOP_LIMITS, DEFAULT_MAX_DATA_SOURCE_BYTES, DEFAULT_MAX_DOCUMENT_BYTES, DEFAULT_MAX_DOCUMENT_TEXT_BYTES, DEFAULT_MAX_UPLOAD_FILE_BYTES, DEFAULT_USER_PROFILE_LIMITS, DOCX_MIME, DWG_MIME_TYPES, EMPTY_USER_PROFILE, EventBus, FILE_MIME_TYPES, FS_SESSION_PAGE_SIZE, FsArtifactStore, FsMemoryStore, FsRunSnapshotStore, FsRunTraceStore, FsSessionStore, FsToolStepStore, FsTrustedKeyStore, FullDisclosureRouter, GoogleGenAiClient, HookRunner, IMAGE_MIME_TYPES, MANIFEST_EXCLUDED_FILES, MAX_TOOL_STEP_ARG_BYTES, MemoryFS, OpenAiCompatibleClient, PPTX_MIME, ProgressiveRouter, READ_LINKED_DOCUMENT_TOOL, READ_LINKED_DOCUMENT_TOOL_NAME, READ_SKILL_FILE_INPUT_SCHEMA, READ_SKILL_FILE_TOOL, READ_SKILL_FILE_TOOL_NAME, RUN_SNAPSHOT_SCHEMA_VERSION, RUN_TRACE_SCHEMA_VERSION, SDK_VERSION, SENSITIVE_ANNOTATION, SESSION_SCHEMA_VERSION, SIGNATURE_SCHEMA_VERSION, SKILLS_LOCKFILE, SKILL_MANIFEST_FILE, SKILL_NAME_MAX_LENGTH, SKILL_NAME_PATTERN, SKILL_PACK_FILE, SKILL_SIGNATURE_FILE, SPREADSHEET_EXTENSION, SPREADSHEET_LIMITS, SPREADSHEET_MIME_TYPE, SUPPORTED_DOCUMENT_MIME, SerializingMemoryStore, SkillDiscovery, SkillReader, TEXT_BUDGETED_CONTENT_TYPES, TEXT_EXTENSIONS, TraceRecorder, UNSUPPORTED_DOCUMENT_MESSAGE, UNTRUSTED_LINE_LIMIT, UPLOAD_FILES_UNAVAILABLE, USER_PROFILE_EXPORT_VERSION, USER_PROFILE_KEY, USER_PROFILE_NO_INVENTION_RULE, USER_PROFILE_PROMPT_HEADER, USER_PROFILE_REFINE_PROMPT, VISION_DEFAULT_CONCURRENCY, VISION_MAX_CONCURRENCY, VISION_SLOW_THRESHOLD_MS, WebSkillError, WebSkillRuntime, XLSX_MIME, XLSX_UNSUPPORTED, appendBehaviorRecords, applyUserProfileImport, assertRemoteUrlAllowed, assertSafePathSegment, atomicWriteBinary, atomicWriteText, bridgeError, buildCatalog, buildManifest, buildRenderResult, checkDependencyCycles, checkSkillRules, clampVisionConcurrency, classifyAttachment, computeDigest, createScriptContext, createWebSkillApi, detectSkillArchiveShape, detectSkillArchiveShapeFromFs, diffUserProfile, encodeSpreadsheet, escapeXml, exportSkills, exportUserProfile, extractChartSpec, extractSkillCandidate, extractTodoTraceEvents, extractUiSpecEvents, extractedDocumentFormat, findUnpairedToolCalls, formatAttachmentText, formatSkillScriptManifest, fromVercelResult, fromVercelStreamPart, interruptedToolResult, isAtomicTempPath, isBytesOnlyDocument, isNetworkAllowed, isUnsupportedRunSnapshot, isValidSkillName, jsonRenderer, keyIdOf, listSkillScripts, mergeCatalogEntries, mergeProfileEntries, messageOf, networkPolicyLibSource, networkUrlHost, normalizeErrorCode, normalizePath, normalizeToolContent, normalizeToolError, parseBridgeRequest, parseSkillMarkdown, parseSkillPackManifest, parseUserProfileExport, partsToText, readBehaviorRecords, readProfileEntries, readResponseWithLimit, readSkillSignature, readUserProfile, redactToolStepArgs, refineUserProfile, renderAvailableSkillsXml, renderCatalogJson, renderUserProfileContext, resolveArchiveLimits, resolveInsideRoot, resolveToolName, runVisionBatch, sampleBehaviorRecords, sanitizeUntrustedLine, schemaSourceLabel, schemaToForm, scriptToolName, sealToolCallPairs, signSkill, signaturePayloadBytes, stripArchiveRoot, summarizeRunUsage, summarizeToolCalls, textParts, toBase64, toLlmToolSpec, toRecordDigests, toVercelToolSpecs, unzipWithLimits, validateSkills, validateUiSpecEvent, validateUiSpecNode, verifyManifest, verifySkillSignature, xmlRenderer };
package/dist/mcp.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import { X as JsonSchema, _ as LlmToolSpec, _t as SkillDocument, ht as SkillCatalogEntry } from "./types-CpDRZ0rA-CFQ-vdKz.js";
2
- import { B as ExternalToolSource, Hr as mergeCatalogEntries, Mn as ToolDisclosure, Pn as ToolResult, z as ExternalSkillProvider } from "./index-D6eSrEi5.js";
1
+ import { X as JsonSchema, _ as LlmToolSpec, _t as SkillDocument, ht as SkillCatalogEntry } from "./types-wKp3YBSM-167azx1H.js";
2
+ import { B as ExternalToolSource, Hr as mergeCatalogEntries, Mn as ToolDisclosure, Pn as ToolResult, z as ExternalSkillProvider } from "./index-DU8sKyQq.js";
3
3
  import { Transport } from "@modelcontextprotocol/sdk/shared/transport.js";
4
4
  import { JSONRPCMessage } from "@modelcontextprotocol/sdk/types.js";
5
5
  import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
@@ -300,7 +300,7 @@ function renderMiniMarkdown(text, doc) {
300
300
  //#endregion
301
301
  //#region ../ui/src/chart/miniChart.ts
302
302
  /**
303
- * 轻量 SVG 图表自绘(bar/line/pie,零依赖,三端复用单一来源)。
303
+ * 轻量 SVG 图表自绘(bar/line/pie/bar-line,零依赖,三端复用单一来源)。
304
304
  * 全部经 doc.createElementNS 构建(内容来自技能输出,不拼 innerHTML)。
305
305
  */
306
306
  const SVG_NS = "http://www.w3.org/2000/svg";
@@ -442,6 +442,81 @@ function renderLine(chart, svg, doc) {
442
442
  svg.appendChild(text(doc, px(li), plot.y1 + 12, label, { "text-anchor": "middle" }));
443
443
  });
444
444
  }
445
+ function renderBarLine(chart, svg, doc) {
446
+ const plot = {
447
+ x0: 30,
448
+ y0: 24,
449
+ x1: 312,
450
+ y1: 164
451
+ };
452
+ const max = maxValue(chart);
453
+ svg.appendChild(el(doc, "line", {
454
+ x1: String(plot.x0),
455
+ y1: String(plot.y0),
456
+ x2: String(plot.x0),
457
+ y2: String(plot.y1),
458
+ stroke: "currentColor",
459
+ "stroke-opacity": "0.35"
460
+ }));
461
+ svg.appendChild(el(doc, "line", {
462
+ x1: String(plot.x0),
463
+ y1: String(plot.y1),
464
+ x2: String(plot.x1),
465
+ y2: String(plot.y1),
466
+ stroke: "currentColor",
467
+ "stroke-opacity": "0.35"
468
+ }));
469
+ if (max <= 0 || chart.labels.length === 0 || chart.series.length === 0) return;
470
+ const typed = chart.series.map((series, index) => ({
471
+ series,
472
+ index,
473
+ kind: series.type ?? (index === 0 ? "bar" : "line")
474
+ }));
475
+ const bars = typed.filter((entry) => entry.kind === "bar");
476
+ const groupWidth = (plot.x1 - plot.x0) / chart.labels.length;
477
+ const barWidth = Math.max(1, groupWidth / Math.max(1, bars.length) * .7);
478
+ for (const [barIndex, entry] of bars.entries()) {
479
+ const color = CHART_PALETTE[entry.index % CHART_PALETTE.length];
480
+ entry.series.data.forEach((value, labelIndex) => {
481
+ if (labelIndex >= chart.labels.length) return;
482
+ const height = (plot.y1 - plot.y0) * value / max;
483
+ const x = plot.x0 + labelIndex * groupWidth + (groupWidth - barWidth * bars.length) / 2 + barIndex * barWidth;
484
+ const y = plot.y1 - height;
485
+ svg.appendChild(el(doc, "rect", {
486
+ x: String(x),
487
+ y: String(y),
488
+ width: String(barWidth),
489
+ height: String(height),
490
+ fill: color,
491
+ "data-series": entry.series.name ?? String(entry.index)
492
+ }));
493
+ });
494
+ }
495
+ const step = chart.labels.length > 1 ? (plot.x1 - plot.x0) / (chart.labels.length - 1) : 0;
496
+ const px = (index) => chart.labels.length > 1 ? plot.x0 + index * step : (plot.x0 + plot.x1) / 2;
497
+ const py = (value) => plot.y1 - (plot.y1 - plot.y0) * value / max;
498
+ for (const entry of typed.filter((candidate) => candidate.kind === "line")) {
499
+ const color = CHART_PALETTE[entry.index % CHART_PALETTE.length];
500
+ const points = entry.series.data.slice(0, chart.labels.length).map((value, index) => `${px(index)},${py(value)}`).join(" ");
501
+ if (points !== "") svg.appendChild(el(doc, "polyline", {
502
+ points,
503
+ fill: "none",
504
+ stroke: color,
505
+ "stroke-width": "1.5"
506
+ }));
507
+ entry.series.data.slice(0, chart.labels.length).forEach((value, index) => {
508
+ svg.appendChild(el(doc, "circle", {
509
+ cx: String(px(index)),
510
+ cy: String(py(value)),
511
+ r: "2",
512
+ fill: color
513
+ }));
514
+ });
515
+ }
516
+ chart.labels.forEach((label, index) => {
517
+ svg.appendChild(text(doc, px(index), plot.y1 + 12, label, { "text-anchor": "middle" }));
518
+ });
519
+ }
445
520
  function renderPie(chart, svg, doc) {
446
521
  const data = (chart.series[0]?.data ?? []).slice(0, chart.labels.length);
447
522
  const total = data.reduce((sum, v) => sum + (v > 0 ? v : 0), 0);
@@ -480,8 +555,8 @@ function renderPie(chart, svg, doc) {
480
555
  });
481
556
  }
482
557
  /**
483
- * ChartSpec → SVG(bar 等宽柱 + 值标签;line 折线 + 点;pie 扇形 + 图例;空数据容错)。
484
- * mini 档只有这三种画法,其余类型走最接近的一种并在图内注明是近似呈现。
558
+ * ChartSpec → SVG(bar 等宽柱 + 值标签;line 折线 + 点;pie 扇形 + 图例;bar-line 柱线叠加;空数据容错)。
559
+ * mini 档只有这四种画法,其余类型走最接近的一种并在图内注明是近似呈现。
485
560
  * @stable
486
561
  */
487
562
  function renderMiniChart(chart, doc) {
@@ -506,6 +581,9 @@ function renderMiniChart(chart, doc) {
506
581
  case "line":
507
582
  renderLine(chart, svg, doc);
508
583
  break;
584
+ case "bar-line":
585
+ renderBarLine(chart, svg, doc);
586
+ break;
509
587
  case "pie":
510
588
  renderPie(chart, svg, doc);
511
589
  break;
@@ -513,7 +591,7 @@ function renderMiniChart(chart, doc) {
513
591
  renderLine(chart, svg, doc);
514
592
  break;
515
593
  }
516
- if (chart.kind !== "bar" && chart.kind !== "line" && chart.kind !== "pie") svg.appendChild(text(doc, WIDTH / 2, HEIGHT - 4, `Approximate rendering of "${chart.kind}"`, { "text-anchor": "middle" }));
594
+ if (chart.kind !== "bar" && chart.kind !== "line" && chart.kind !== "pie" && chart.kind !== "bar-line") svg.appendChild(text(doc, WIDTH / 2, HEIGHT - 4, `Approximate rendering of "${chart.kind}"`, { "text-anchor": "middle" }));
517
595
  return svg;
518
596
  }
519
597
  /** A2UI/OpenUI 降级:chart → table(labels 为首列,series 各为一列) */
package/dist/node.d.ts CHANGED
@@ -1,6 +1,6 @@
1
- import { G as FileStat, It as VerifyResult, K as FileSystemProvider, N as ArchiveLimits, Ot as SkillsLockfile, Pt as UnsignedPolicy, S as UiBridge, St as SkillManifest, X as JsonSchema, at as SKILL_MANIFEST_FILE, b as RenderResultRequest, c as InteractionResponse, it as SKILLS_LOCKFILE, jt as TrustedKeyStore, q as FileWriteStream, s as InteractionRequest, ut as SignatureAuditSink, vt as SkillInstallSource, xt as SkillManagerPort } from "./types-CpDRZ0rA-CFQ-vdKz.js";
2
- import { $t as SchemaInferer, H as FsArtifactStore, Pn as ToolResult, Tr as createScriptContext, U as FsMemoryStore, b as BridgeCapabilities, en as ScriptExecutionContext, gr as WebSkillRuntimeDeps, hr as WebSkillRuntime, jn as ToolDefinition, m as ApprovalScope, tn as ScriptExecutor, ut as NetworkPolicy } from "./index-D6eSrEi5.js";
3
- import { a as AuditLog, f as CandidateSkill, h as CandidateStore, r as ApprovalPolicy, x as SkillVersionStore } from "./skillVersionStore-S4_HJ_Fl-Ds97pwm5.js";
1
+ import { G as FileStat, It as VerifyResult, K as FileSystemProvider, N as ArchiveLimits, Ot as SkillsLockfile, Pt as UnsignedPolicy, S as UiBridge, St as SkillManifest, X as JsonSchema, at as SKILL_MANIFEST_FILE, b as RenderResultRequest, c as InteractionResponse, it as SKILLS_LOCKFILE, jt as TrustedKeyStore, q as FileWriteStream, s as InteractionRequest, ut as SignatureAuditSink, vt as SkillInstallSource, xt as SkillManagerPort } from "./types-wKp3YBSM-167azx1H.js";
2
+ import { $t as SchemaInferer, H as FsArtifactStore, Pn as ToolResult, Tr as createScriptContext, U as FsMemoryStore, b as BridgeCapabilities, en as ScriptExecutionContext, gr as WebSkillRuntimeDeps, hr as WebSkillRuntime, jn as ToolDefinition, m as ApprovalScope, tn as ScriptExecutor, ut as NetworkPolicy } from "./index-DU8sKyQq.js";
3
+ import { a as AuditLog, f as CandidateSkill, h as CandidateStore, r as ApprovalPolicy, x as SkillVersionStore } from "./skillVersionStore-S4_HJ_Fl-DzZM_UIw.js";
4
4
  import { n as LlmEnvConfig, s as probeLlmCapabilities, t as LlmCapabilities } from "./env-AK3cSMEA-Dli6QU5E.js";
5
5
  import { Readable, Writable } from "node:stream";
6
6
  //#region ../node/dist/index.d.ts
@@ -22,6 +22,7 @@ declare class NodeFS implements FileSystemProvider {
22
22
  writeText(p: string, content: string): Promise<void>;
23
23
  appendText(p: string, content: string): Promise<void>;
24
24
  readBinary(p: string): Promise<Uint8Array>;
25
+ createReadStream(p: string): Promise<AsyncIterable<Uint8Array>>;
25
26
  writeBinary(p: string, content: Uint8Array): Promise<void>;
26
27
  /**
27
28
  * 分块写入(FR-18.2c)。先写同目录临时文件,`close()` 时 rename 到位: