@webskill/sdk 0.11.0 → 0.12.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.
Files changed (33) hide show
  1. package/dist/agent.d.ts +3 -3
  2. package/dist/agent.js +2 -2
  3. package/dist/browser.d.ts +3 -3
  4. package/dist/browser.js +7 -3
  5. package/dist/{catalogComponents-BFoqpT1v-CjUBZ3bc.js → catalogComponents-BgAJN0p8-C3K8klJd.js} +260 -914
  6. package/dist/{dist-qnlI2Iup.js → dist-DU9KDAuR.js} +194 -6
  7. package/dist/{dist-DTHZS2k1.js → dist-DqcL6jKO.js} +155 -39
  8. package/dist/{dist-B-cOu08W.js → dist-sdKFgERo.js} +431 -40
  9. package/dist/{echarts-DhNm2ene.js → echarts-De78wXqV.js} +599 -61
  10. package/dist/governance.d.ts +3 -3
  11. package/dist/{index-DACk2_XZ.d.ts → index-3fCHc1mQ.d.ts} +92 -8
  12. package/dist/{index-D3mONFHD.d.ts → index-C9pzXLKy.d.ts} +148 -4
  13. package/dist/{index-DWbs58LF.d.ts → index-DFhU1uks.d.ts} +64 -10
  14. package/dist/index.d.ts +3 -3
  15. package/dist/index.js +2 -2
  16. package/dist/mcp.d.ts +26 -3
  17. package/dist/mcp.js +37 -1
  18. package/dist/node.d.ts +3 -3
  19. package/dist/node.js +9 -3
  20. package/dist/{openUiLibrary-D5u8oIvx-BLOAQCho.js → openUiLibrary-BKXW7Iwx-DaymVubt.js} +3 -3
  21. package/dist/processSandboxEntry.js +2 -1
  22. package/dist/sandboxWorkerEntry.js +2 -1
  23. package/dist/{skillVersionStore-D-qHk9ZE-BcmFLykd.d.ts → skillVersionStore-D-qHk9ZE-DheTIwAB.d.ts} +1 -1
  24. package/dist/testing.d.ts +1 -1
  25. package/dist/{types-C26b05fW-CdrRCRDb.d.ts → types-DLctJep_-B5G4uk2u.d.ts} +3 -2
  26. package/dist/ui-react.d.ts +13 -4
  27. package/dist/ui-react.js +69 -253
  28. package/dist/ui-vue.d.ts +1 -1
  29. package/dist/ui-vue.js +1 -1
  30. package/dist/ui.d.ts +4 -4
  31. package/dist/ui.js +3 -3
  32. package/dist/{webskillLitCatalog-DME6PBkV-CmYNLlIT.js → webskillLitCatalog-D_zCqeQF-C9lrvvMr.js} +2 -2
  33. package/package.json +1 -1
package/dist/ui-react.js CHANGED
@@ -1,8 +1,8 @@
1
1
  import { r as __exportAll$1 } from "./rolldown-runtime-BOF7iYI8.js";
2
2
  import { h as WebSkillError } from "./dist-Bev6i6Ip.js";
3
- import { Bt as validateUiSpecNode, zt as validateUiSpecEvent } from "./dist-B-cOu08W.js";
4
- import { C as applySuggestion, K as resolveColumnWidths, L as interactionToUiSpec, O as collectValues, St as uiCatalog, V as normalizeColumnWidths, W as renderMiniChart, X as toOpenUiSpecLang, Y as toJsonRenderSpec, gt as interactionToFormModel, mt as chartSpecFromProps, ot as DEFAULT_SURFACE_FORM_TEXTS, vt as renderMiniMarkdown, xt as shapeInteractionValue } from "./dist-DTHZS2k1.js";
5
- import { A as Badge, C as catalogComponentImpls, D as useCatalogSurfaceForm, E as surfaceThemeOf, F as DropdownMenuContent, I as DropdownMenuTrigger, L as Input, M as DataTable, N as DropdownMenu, O as useSurfaceForm, P as DropdownMenuCheckboxItem, R as Markdown, S as cardLayoutProps, T as str, _ as SurfaceButton, a as SpecCallout, b as SurfaceFormButtons, c as SpecGrid, d as SpecKeyValue, f as SpecProgress, g as SpecTimeline, h as SpecTabs, i as SpecAccordion, j as Button, k as useSurfaceFormTexts, l as SpecIcon, m as SpecSplit, n as CatalogSurfaceProvider, o as SpecCarousel, p as SpecQuote, r as EChart, s as SpecGauge, u as SpecImage, v as SurfaceField, w as paletteClass, x as SurfaceFormTextsProvider, y as SurfaceFieldArray, z as Separator } from "./catalogComponents-BFoqpT1v-CjUBZ3bc.js";
3
+ import { Ut as validateUiSpecEvent, Wt as validateUiSpecNode } from "./dist-sdKFgERo.js";
4
+ import { C as applySuggestion, Dt as uiCatalog, K as resolveColumnWidths, L as interactionToUiSpec, O as collectValues, Tt as shapeInteractionValue, V as normalizeColumnWidths, W as renderMiniChart, X as toOpenUiSpecLang, Y as toJsonRenderSpec, bt as renderMiniMarkdown, gt as chartSpecFromProps, vt as interactionToFormModel } from "./dist-DqcL6jKO.js";
5
+ import { A as useSurfaceForm, C as cardLayoutProps, D as surfaceThemeOf, E as str, F as DataTable, I as Markdown, L as Separator, M as useSurfaceHostControlTexts, N as Badge, O as useCatalogSurfaceForm, P as Button, S as SurfaceFormTextsProvider, T as paletteClass, _ as SpecTimeline, a as SpecAccordion, b as SurfaceFieldArray, c as SpecGauge, d as SpecImage, f as SpecKeyValue, g as SpecTabs, h as SpecSplit, i as EChart, j as useSurfaceFormTexts, k as useChartFontSizes, l as SpecGrid, m as SpecQuote, n as CatalogSurfaceProvider, o as SpecCallout, p as SpecProgress, r as ChartFontSizesProvider, s as SpecCarousel, u as SpecIcon, v as SurfaceButton, w as catalogComponentImpls, x as SurfaceFormButtons, y as SurfaceField } from "./catalogComponents-BgAJN0p8-C3K8klJd.js";
6
6
  import { z } from "zod";
7
7
  import * as React$1 from "react";
8
8
  import React, { createContext, useCallback, useContext, useEffect, useLayoutEffect, useMemo, useRef, useState, useSyncExternalStore } from "react";
@@ -2344,162 +2344,6 @@ function expandRows(rowModel) {
2344
2344
  rowsById: rowModel.rowsById
2345
2345
  };
2346
2346
  }
2347
- function filterRows(rows, filterRowImpl, table) {
2348
- if (table.options.filterFromLeafRows) return filterRowModelFromLeafs(rows, filterRowImpl, table);
2349
- return filterRowModelFromRoot(rows, filterRowImpl, table);
2350
- }
2351
- function filterRowModelFromLeafs(rowsToFilter, filterRow, table) {
2352
- var _table$options$maxLea;
2353
- const newFilteredFlatRows = [];
2354
- const newFilteredRowsById = {};
2355
- const maxDepth = (_table$options$maxLea = table.options.maxLeafRowFilterDepth) != null ? _table$options$maxLea : 100;
2356
- const recurseFilterRows = function(rowsToFilter, depth) {
2357
- if (depth === void 0) depth = 0;
2358
- const rows = [];
2359
- for (let i = 0; i < rowsToFilter.length; i++) {
2360
- var _row$subRows;
2361
- let row = rowsToFilter[i];
2362
- const newRow = createRow(table, row.id, row.original, row.index, row.depth, void 0, row.parentId);
2363
- newRow.columnFilters = row.columnFilters;
2364
- if ((_row$subRows = row.subRows) != null && _row$subRows.length && depth < maxDepth) {
2365
- newRow.subRows = recurseFilterRows(row.subRows, depth + 1);
2366
- row = newRow;
2367
- if (filterRow(row) && !newRow.subRows.length) {
2368
- rows.push(row);
2369
- newFilteredRowsById[row.id] = row;
2370
- newFilteredFlatRows.push(row);
2371
- continue;
2372
- }
2373
- if (filterRow(row) || newRow.subRows.length) {
2374
- rows.push(row);
2375
- newFilteredRowsById[row.id] = row;
2376
- newFilteredFlatRows.push(row);
2377
- continue;
2378
- }
2379
- } else {
2380
- row = newRow;
2381
- if (filterRow(row)) {
2382
- rows.push(row);
2383
- newFilteredRowsById[row.id] = row;
2384
- newFilteredFlatRows.push(row);
2385
- }
2386
- }
2387
- }
2388
- return rows;
2389
- };
2390
- return {
2391
- rows: recurseFilterRows(rowsToFilter),
2392
- flatRows: newFilteredFlatRows,
2393
- rowsById: newFilteredRowsById
2394
- };
2395
- }
2396
- function filterRowModelFromRoot(rowsToFilter, filterRow, table) {
2397
- var _table$options$maxLea2;
2398
- const newFilteredFlatRows = [];
2399
- const newFilteredRowsById = {};
2400
- const maxDepth = (_table$options$maxLea2 = table.options.maxLeafRowFilterDepth) != null ? _table$options$maxLea2 : 100;
2401
- const recurseFilterRows = function(rowsToFilter, depth) {
2402
- if (depth === void 0) depth = 0;
2403
- const rows = [];
2404
- for (let i = 0; i < rowsToFilter.length; i++) {
2405
- let row = rowsToFilter[i];
2406
- if (filterRow(row)) {
2407
- var _row$subRows2;
2408
- if ((_row$subRows2 = row.subRows) != null && _row$subRows2.length && depth < maxDepth) {
2409
- const newRow = createRow(table, row.id, row.original, row.index, row.depth, void 0, row.parentId);
2410
- newRow.subRows = recurseFilterRows(row.subRows, depth + 1);
2411
- row = newRow;
2412
- }
2413
- rows.push(row);
2414
- newFilteredFlatRows.push(row);
2415
- newFilteredRowsById[row.id] = row;
2416
- }
2417
- }
2418
- return rows;
2419
- };
2420
- return {
2421
- rows: recurseFilterRows(rowsToFilter),
2422
- flatRows: newFilteredFlatRows,
2423
- rowsById: newFilteredRowsById
2424
- };
2425
- }
2426
- function getFilteredRowModel() {
2427
- return (table) => memo$2(() => [
2428
- table.getPreFilteredRowModel(),
2429
- table.getState().columnFilters,
2430
- table.getState().globalFilter
2431
- ], (rowModel, columnFilters, globalFilter) => {
2432
- if (!rowModel.rows.length || !(columnFilters != null && columnFilters.length) && !globalFilter) {
2433
- for (let i = 0; i < rowModel.flatRows.length; i++) {
2434
- rowModel.flatRows[i].columnFilters = {};
2435
- rowModel.flatRows[i].columnFiltersMeta = {};
2436
- }
2437
- return rowModel;
2438
- }
2439
- const resolvedColumnFilters = [];
2440
- const resolvedGlobalFilters = [];
2441
- (columnFilters != null ? columnFilters : []).forEach((d) => {
2442
- var _filterFn$resolveFilt;
2443
- const column = table.getColumn(d.id);
2444
- if (!column) return;
2445
- const filterFn = column.getFilterFn();
2446
- if (!filterFn) {
2447
- if (process.env.NODE_ENV !== "production") console.warn(`Could not find a valid 'column.filterFn' for column with the ID: ${column.id}.`);
2448
- return;
2449
- }
2450
- resolvedColumnFilters.push({
2451
- id: d.id,
2452
- filterFn,
2453
- resolvedValue: (_filterFn$resolveFilt = filterFn.resolveFilterValue == null ? void 0 : filterFn.resolveFilterValue(d.value)) != null ? _filterFn$resolveFilt : d.value
2454
- });
2455
- });
2456
- const filterableIds = (columnFilters != null ? columnFilters : []).map((d) => d.id);
2457
- const globalFilterFn = table.getGlobalFilterFn();
2458
- const globallyFilterableColumns = table.getAllLeafColumns().filter((column) => column.getCanGlobalFilter());
2459
- if (globalFilter && globalFilterFn && globallyFilterableColumns.length) {
2460
- filterableIds.push("__global__");
2461
- globallyFilterableColumns.forEach((column) => {
2462
- var _globalFilterFn$resol;
2463
- resolvedGlobalFilters.push({
2464
- id: column.id,
2465
- filterFn: globalFilterFn,
2466
- resolvedValue: (_globalFilterFn$resol = globalFilterFn.resolveFilterValue == null ? void 0 : globalFilterFn.resolveFilterValue(globalFilter)) != null ? _globalFilterFn$resol : globalFilter
2467
- });
2468
- });
2469
- }
2470
- let currentColumnFilter;
2471
- let currentGlobalFilter;
2472
- for (let j = 0; j < rowModel.flatRows.length; j++) {
2473
- const row = rowModel.flatRows[j];
2474
- row.columnFilters = {};
2475
- if (resolvedColumnFilters.length) for (let i = 0; i < resolvedColumnFilters.length; i++) {
2476
- currentColumnFilter = resolvedColumnFilters[i];
2477
- const id = currentColumnFilter.id;
2478
- row.columnFilters[id] = currentColumnFilter.filterFn(row, id, currentColumnFilter.resolvedValue, (filterMeta) => {
2479
- row.columnFiltersMeta[id] = filterMeta;
2480
- });
2481
- }
2482
- if (resolvedGlobalFilters.length) {
2483
- for (let i = 0; i < resolvedGlobalFilters.length; i++) {
2484
- currentGlobalFilter = resolvedGlobalFilters[i];
2485
- const id = currentGlobalFilter.id;
2486
- if (currentGlobalFilter.filterFn(row, id, currentGlobalFilter.resolvedValue, (filterMeta) => {
2487
- row.columnFiltersMeta[id] = filterMeta;
2488
- })) {
2489
- row.columnFilters.__global__ = true;
2490
- break;
2491
- }
2492
- }
2493
- if (row.columnFilters.__global__ !== true) row.columnFilters.__global__ = false;
2494
- }
2495
- }
2496
- const filterRowsImpl = (row) => {
2497
- for (let i = 0; i < filterableIds.length; i++) if (row.columnFilters[filterableIds[i]] === false) return false;
2498
- return true;
2499
- };
2500
- return filterRows(rowModel.rows, filterRowsImpl, table);
2501
- }, getMemoOptions(table.options, "debugTable", "getFilteredRowModel", () => table._autoResetPageIndex()));
2502
- }
2503
2347
  function getPaginationRowModel(opts) {
2504
2348
  return (table) => memo$2(() => [
2505
2349
  table.getState().pagination,
@@ -6712,6 +6556,7 @@ var ReactBridgeState = class {
6712
6556
  * 用户点「使用」才写入。切勿改成 defaultValue。
6713
6557
  */
6714
6558
  function Suggestion({ control, onUse }) {
6559
+ const texts = useSurfaceFormTexts();
6715
6560
  if (control.suggestion === void 0) return null;
6716
6561
  const preview = String(control.suggestion.value);
6717
6562
  const reason = control.suggestion.reason;
@@ -6719,9 +6564,9 @@ function Suggestion({ control, onUse }) {
6719
6564
  className: "webskill-form__suggestion",
6720
6565
  "data-webskill-suggestion": control.name,
6721
6566
  children: [
6722
- /* @__PURE__ */ jsxs("span", {
6567
+ /* @__PURE__ */ jsx("span", {
6723
6568
  className: "webskill-form__suggestion-value",
6724
- children: ["Suggested: ", preview]
6569
+ children: `${texts.suggested} ${preview}`
6725
6570
  }),
6726
6571
  reason ? /* @__PURE__ */ jsxs("span", {
6727
6572
  className: "webskill-form__suggestion-reason",
@@ -6736,7 +6581,7 @@ function Suggestion({ control, onUse }) {
6736
6581
  className: "webskill-form__suggestion-use",
6737
6582
  "data-webskill-suggestion-use": control.name,
6738
6583
  onClick: onUse,
6739
- children: "Use"
6584
+ children: texts.useSuggestion
6740
6585
  })
6741
6586
  ]
6742
6587
  });
@@ -6826,6 +6671,7 @@ function InteractionForm({ bridge }) {
6826
6671
  const pending = useSyncExternalStore(bridge.subscribe, () => bridge.pending);
6827
6672
  const formRef = useRef(null);
6828
6673
  const [invalid, setInvalid] = useState([]);
6674
+ const texts = useSurfaceFormTexts();
6829
6675
  if (!pending) return null;
6830
6676
  const model = interactionToFormModel(pending);
6831
6677
  return /* @__PURE__ */ jsxs("form", {
@@ -6871,7 +6717,7 @@ function InteractionForm({ bridge }) {
6871
6717
  id: `webskill-error-${control.name}`,
6872
6718
  role: "alert",
6873
6719
  className: "webskill-form__error",
6874
- children: DEFAULT_SURFACE_FORM_TEXTS.required
6720
+ children: texts.required
6875
6721
  }) : null
6876
6722
  ]
6877
6723
  }, control.name)),
@@ -7009,14 +6855,14 @@ const FALLBACK_MIN_COLUMN_PX = 128;
7009
6855
  /** ScrollArea 容器的左右边框合计宽度(视觉契约,测量可用宽时扣除) */
7010
6856
  const SCROLL_AREA_BORDER_RESERVE = 2;
7011
6857
  /**
7012
- * catalog `Table` 节点的渲染实现:排序 / 筛选 / 分页 / 列显隐 / 虚拟滚动。
6858
+ * catalog `Table` 节点的渲染实现:排序 / 分页 / 虚拟滚动。
7013
6859
  * 这些是宿主侧的呈现能力,不进 catalog props——模型只声明 columns 与 rows。
7014
6860
  * 它们都带 `data-webskill-host-control`,跨渲染器语义对括据此排除宿主控件。
6861
+ * 筛选与列显隐已移除:对话流里的表格不承担数据管理职责。
7015
6862
  */
7016
6863
  function SpecTable({ columns, rows, label, columnWidths, onDegraded }) {
7017
6864
  const [sorting, setSorting] = useState([]);
7018
- const [globalFilter, setGlobalFilter] = useState("");
7019
- const [columnVisibility, setColumnVisibility] = useState({});
6865
+ const controls = useSurfaceHostControlTexts();
7020
6866
  const scrollRef = useRef(null);
7021
6867
  const frameRef = useRef(null);
7022
6868
  /** 实测的容器宽度与最小列宽(px);未测量(jsdom / 首帧)时退回百分比 colgroup */
@@ -7049,17 +6895,9 @@ function SpecTable({ columns, rows, label, columnWidths, onDegraded }) {
7049
6895
  header,
7050
6896
  accessorFn: (row) => row[index]
7051
6897
  })),
7052
- state: {
7053
- sorting,
7054
- globalFilter,
7055
- columnVisibility
7056
- },
6898
+ state: { sorting },
7057
6899
  onSortingChange: setSorting,
7058
- onGlobalFilterChange: setGlobalFilter,
7059
- onColumnVisibilityChange: setColumnVisibility,
7060
- globalFilterFn: (row, _columnId, filterValue) => row.original.some((cell) => String(cell ?? "").toLocaleLowerCase().includes(String(filterValue).toLocaleLowerCase())),
7061
6900
  getCoreRowModel: getCoreRowModel(),
7062
- getFilteredRowModel: getFilteredRowModel(),
7063
6901
  getSortedRowModel: getSortedRowModel(),
7064
6902
  getPaginationRowModel: getPaginationRowModel(),
7065
6903
  initialState: { pagination: { pageSize: 50 } }
@@ -7085,87 +6923,65 @@ function SpecTable({ columns, rows, label, columnWidths, onDegraded }) {
7085
6923
  }));
7086
6924
  return /* @__PURE__ */ jsxs("section", {
7087
6925
  className: "webskill-surface webskill-surface--table",
7088
- children: [
7089
- /* @__PURE__ */ jsxs("div", {
7090
- className: "webskill-surface__table-tools",
7091
- "data-webskill-host-control": "",
7092
- children: [/* @__PURE__ */ jsx(Input, {
7093
- type: "search",
7094
- "aria-label": "Filter table",
7095
- value: globalFilter,
7096
- onChange: (event) => setGlobalFilter(event.target.value),
7097
- placeholder: "Filter rows"
7098
- }), /* @__PURE__ */ jsxs(DropdownMenu, { children: [/* @__PURE__ */ jsx(DropdownMenuTrigger, { children: "Columns" }), /* @__PURE__ */ jsx(DropdownMenuContent, {
7099
- align: "start",
7100
- className: "webskill-surface__column-menu",
7101
- children: table.getAllLeafColumns().filter((column) => column.getCanHide()).map((column) => /* @__PURE__ */ jsx(DropdownMenuCheckboxItem, {
7102
- checked: column.getIsVisible(),
7103
- onCheckedChange: (checked) => column.toggleVisibility(checked === true),
7104
- children: String(column.columnDef.header)
7105
- }, column.id))
7106
- })] })]
7107
- }),
7108
- /* @__PURE__ */ jsx("div", {
7109
- ref: frameRef,
7110
- children: /* @__PURE__ */ jsxs(DataTable, {
7111
- "aria-label": label,
7112
- containerClassName: "webskill-surface__table-scroll",
7113
- ...pixelWidths ? { style: {
7114
- tableLayout: "fixed",
7115
- width: `${pixelWidths.reduce((sum, width) => sum + width, 0)}px`
7116
- } } : {},
7117
- children: [
7118
- /* @__PURE__ */ jsx("colgroup", { children: visibleIndexes.map((original, position) => /* @__PURE__ */ jsx("col", { style: { width: pixelWidths ? `${pixelWidths[position]}px` : `${visibleWeightTotal > 0 ? (visibleWeights[position] ?? 0) / visibleWeightTotal * 100 : 0}%` } }, original)) }),
7119
- /* @__PURE__ */ jsx("thead", {
7120
- className: "webskill-surface__table-header",
7121
- children: /* @__PURE__ */ jsx("tr", { children: table.getFlatHeaders().map((header) => /* @__PURE__ */ jsx("th", {
7122
- scope: "col",
7123
- ...header.column.id === "selection" ? { "data-webskill-host-control": "" } : {},
7124
- "aria-sort": header.column.getIsSorted() === "asc" ? "ascending" : header.column.getIsSorted() === "desc" ? "descending" : "none",
7125
- children: header.column.getCanSort() ? /* @__PURE__ */ jsx("button", {
7126
- type: "button",
7127
- "data-webskill-host-control": "",
7128
- onClick: header.column.getToggleSortingHandler(),
7129
- children: flexRender(header.column.columnDef.header, header.getContext())
7130
- }) : flexRender(header.column.columnDef.header, header.getContext())
7131
- }, header.id)) })
7132
- }),
7133
- /* @__PURE__ */ jsx("tbody", {
7134
- ref: scrollRef,
7135
- className: "webskill-surface__table-body",
7136
- children: renderedRows.map((virtualRow) => {
7137
- const row = modelRows[virtualRow.index];
7138
- return /* @__PURE__ */ jsx("tr", { children: row.getVisibleCells().map((cell) => /* @__PURE__ */ jsx("td", {
7139
- ...cell.column.id === "selection" ? { "data-webskill-host-control": "" } : {},
7140
- children: flexRender(cell.column.columnDef.cell, cell.getContext())
7141
- }, cell.id)) }, row.id);
7142
- })
7143
- })
7144
- ]
7145
- })
7146
- }),
7147
- /* @__PURE__ */ jsxs("div", {
7148
- className: "webskill-surface__table-pagination",
7149
- "data-webskill-host-control": "",
6926
+ children: [/* @__PURE__ */ jsx("div", {
6927
+ ref: frameRef,
6928
+ children: /* @__PURE__ */ jsxs(DataTable, {
6929
+ "aria-label": label,
6930
+ containerClassName: "webskill-surface__table-scroll",
6931
+ ...pixelWidths ? { style: {
6932
+ tableLayout: "fixed",
6933
+ width: `${pixelWidths.reduce((sum, width) => sum + width, 0)}px`
6934
+ } } : {},
7150
6935
  children: [
7151
- /* @__PURE__ */ jsx("button", {
7152
- type: "button",
7153
- onClick: () => table.previousPage(),
7154
- disabled: !table.getCanPreviousPage(),
7155
- "aria-label": "Previous page",
7156
- children: "Previous"
6936
+ /* @__PURE__ */ jsx("colgroup", { children: visibleIndexes.map((original, position) => /* @__PURE__ */ jsx("col", { style: { width: pixelWidths ? `${pixelWidths[position]}px` : `${visibleWeightTotal > 0 ? (visibleWeights[position] ?? 0) / visibleWeightTotal * 100 : 0}%` } }, original)) }),
6937
+ /* @__PURE__ */ jsx("thead", {
6938
+ className: "webskill-surface__table-header",
6939
+ children: /* @__PURE__ */ jsx("tr", { children: table.getFlatHeaders().map((header) => /* @__PURE__ */ jsx("th", {
6940
+ scope: "col",
6941
+ ...header.column.id === "selection" ? { "data-webskill-host-control": "" } : {},
6942
+ "aria-sort": header.column.getIsSorted() === "asc" ? "ascending" : header.column.getIsSorted() === "desc" ? "descending" : "none",
6943
+ children: header.column.getCanSort() ? /* @__PURE__ */ jsx("button", {
6944
+ type: "button",
6945
+ "data-webskill-host-control": "",
6946
+ onClick: header.column.getToggleSortingHandler(),
6947
+ children: flexRender(header.column.columnDef.header, header.getContext())
6948
+ }) : flexRender(header.column.columnDef.header, header.getContext())
6949
+ }, header.id)) })
7157
6950
  }),
7158
- /* @__PURE__ */ jsx("span", { children: `${table.getState().pagination.pageIndex + 1} / ${table.getPageCount()}` }),
7159
- /* @__PURE__ */ jsx("button", {
7160
- type: "button",
7161
- onClick: () => table.nextPage(),
7162
- disabled: !table.getCanNextPage(),
7163
- "aria-label": "Next page",
7164
- children: "Next"
6951
+ /* @__PURE__ */ jsx("tbody", {
6952
+ ref: scrollRef,
6953
+ className: "webskill-surface__table-body",
6954
+ children: renderedRows.map((virtualRow) => {
6955
+ const row = modelRows[virtualRow.index];
6956
+ return /* @__PURE__ */ jsx("tr", { children: row.getVisibleCells().map((cell) => /* @__PURE__ */ jsx("td", {
6957
+ ...cell.column.id === "selection" ? { "data-webskill-host-control": "" } : {},
6958
+ children: flexRender(cell.column.columnDef.cell, cell.getContext())
6959
+ }, cell.id)) }, row.id);
6960
+ })
7165
6961
  })
7166
6962
  ]
7167
6963
  })
7168
- ]
6964
+ }), table.getPageCount() > 1 && /* @__PURE__ */ jsxs("div", {
6965
+ className: "webskill-surface__table-pagination",
6966
+ "data-webskill-host-control": "",
6967
+ children: [
6968
+ /* @__PURE__ */ jsx("button", {
6969
+ type: "button",
6970
+ onClick: () => table.previousPage(),
6971
+ disabled: !table.getCanPreviousPage(),
6972
+ "aria-label": controls.previousPage,
6973
+ children: controls.previous
6974
+ }),
6975
+ /* @__PURE__ */ jsx("span", { children: `${table.getState().pagination.pageIndex + 1} / ${table.getPageCount()}` }),
6976
+ /* @__PURE__ */ jsx("button", {
6977
+ type: "button",
6978
+ onClick: () => table.nextPage(),
6979
+ disabled: !table.getCanNextPage(),
6980
+ "aria-label": controls.nextPage,
6981
+ children: controls.next
6982
+ })
6983
+ ]
6984
+ })]
7169
6985
  });
7170
6986
  }
7171
6987
  /** native registry 覆盖的组件名;与 catalog 的一致性由测试强制(21 号文档 §5.2) */
@@ -7689,7 +7505,7 @@ function OpenUiSpecSurface({ spec, surfaceId, actions, onAction }) {
7689
7505
  const [unavailable, setUnavailable] = useState(false);
7690
7506
  useEffect(() => {
7691
7507
  let cancelled = false;
7692
- import("./openUiLibrary-D5u8oIvx-BLOAQCho.js").then((loaded) => {
7508
+ import("./openUiLibrary-BKXW7Iwx-DaymVubt.js").then((loaded) => {
7693
7509
  if (!cancelled) setModule(loaded);
7694
7510
  }).catch(() => {
7695
7511
  if (!cancelled) setUnavailable(true);
@@ -7728,4 +7544,4 @@ function OpenUiSpecSurface({ spec, surfaceId, actions, onAction }) {
7728
7544
  }
7729
7545
 
7730
7546
  //#endregion
7731
- export { InteractionForm, JsonRenderSpecSurface, NATIVE_SPEC_COMPONENTS, NativeSpecSurface, OpenUiSpecSurface, ReactBridgeState, ResultBlocks, SpecInteractionChannel, StreamingText, SurfaceFormTextsProvider, SurfaceRegistry, UiSurfaceList, UiSurfaceSnapshotList, UiSurfaceStore, catalogComponentImpls, createJsonRenderRegistry, probeJsonRenderAvailability, useSurfaceFormTexts };
7547
+ export { ChartFontSizesProvider, InteractionForm, JsonRenderSpecSurface, NATIVE_SPEC_COMPONENTS, NativeSpecSurface, OpenUiSpecSurface, ReactBridgeState, ResultBlocks, SpecInteractionChannel, StreamingText, SurfaceFormTextsProvider, SurfaceRegistry, UiSurfaceList, UiSurfaceSnapshotList, UiSurfaceStore, catalogComponentImpls, createJsonRenderRegistry, probeJsonRenderAvailability, useChartFontSizes, useSurfaceFormTexts, useSurfaceHostControlTexts };
package/dist/ui-vue.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { S as UiBridge, b as RenderResultRequest, c as InteractionResponse, s as InteractionRequest } from "./types-C26b05fW-CdrRCRDb.js";
1
+ import { S as UiBridge, b as RenderResultRequest, c as InteractionResponse, s as InteractionRequest } from "./types-DLctJep_-B5G4uk2u.js";
2
2
  import { PropType } from "vue";
3
3
  //#region ../ui-vue/dist/index.d.ts
4
4
  //#region src/bridgeState.d.ts
package/dist/ui-vue.js CHANGED
@@ -1,4 +1,4 @@
1
- import { C as applySuggestion, O as collectValues, W as renderMiniChart, gt as interactionToFormModel, ot as DEFAULT_SURFACE_FORM_TEXTS, vt as renderMiniMarkdown, xt as shapeInteractionValue } from "./dist-DTHZS2k1.js";
1
+ import { C as applySuggestion, O as collectValues, Tt as shapeInteractionValue, W as renderMiniChart, bt as renderMiniMarkdown, st as DEFAULT_SURFACE_FORM_TEXTS, vt as interactionToFormModel } from "./dist-DqcL6jKO.js";
2
2
  import { defineComponent, h, reactive, ref } from "vue";
3
3
 
4
4
  //#region ../ui-vue/dist/index.js
package/dist/ui.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { bt as UiSpecNode } from "./types-C26b05fW-CdrRCRDb.js";
2
- import { jn as buildRenderResult } from "./index-D3mONFHD.js";
3
- import { $ as UiCatalogToolSourceOptions, $t as resolveColumnWidths, A as FormModel, At as collectSpecActions, B as RENDER_UI_TOOL, Bt as gaugePercent, C as DESCRIBE_UI_PRESET_TOOL, Ct as a2uiComponentShapes, D as EvaluateFieldConditionOptions, Dt as chartToTable, E as EchartHandle, Et as chartSpecFromProps, F as MAX_CONDITION_DEPTH, Ft as evaluateFieldCondition, G as UI_CATALOG_GROUPS, Gt as mountEchart, H as SPEC_TABLE_MIN_COLUMN_WIDTH, Ht as interactionToUiSpec, I as NormalizedColumnWidths, It as fromA2uiSpecAction, J as UI_PRESET_NAMES, Jt as qualifyFieldName, K as UI_CATALOG_PROMPT_BUDGET_BYTES, Kt as mountViewerComponents, L as OpenUiRendererProps, Lt as fromA2uiSurfaceAction, M as InteractionTexts, Mt as createUiCatalogToolSource, N as JsonRenderSpec, Nt as defineUiCatalog, O as FieldCondition, Ot as collectFormScopes, P as LoadedOpenUiPeers, Pt as ensureStyles, Q as UiCatalogPromptOptions, Qt as renderRenderResult, R as OpenUiRuntime, Rt as fromUiSurfaceActionDispatch, S as DEFAULT_SURFACE_FORM_TEXTS, St as a2uiComponentSchema, T as DocumentComponentName, Tt as buildA2uiCatalogDefinition, U as SpecColumnMeta, Ut as loadOpenUiPeers, V as SPEC_TABLE_MIN_COLUMN_VAR, Vt as interactionToFormModel, W as SurfaceFormTexts, Wt as loadWebSkillLitCatalog, X as UiCatalog, Xt as renderMiniChart, Y as UiActionDef, Yt as renderBlocks, Z as UiCatalogInput, Zt as renderMiniMarkdown, _ as CHART_PALETTE, _t as WEBSKILL_A2UI_CATALOG_ID, a as A2UI_SURFACE_ACTION, an as toJsonRenderSpec, at as UiSpecDegradationCode, b as ControlModel, bt as WebFormBridge, c as A2uiCatalogDefinition, cn as toVercelToolInvocation, ct as UiSpecValidation, d as A2uiMessage, dt as VIEWER_COMPONENT_ATTR, en as resolveInteractionTexts, et as UiComponentDef, f as A2uiSpecActionEvent, ft as VIEWER_FALLBACK_ATTR, g as CATALOG_SCHEMA_MAX, gt as ViewerComponentsHandle, h as CATALOG_PROMPT_MAX, ht as VercelUiBridge, i as A2UI_SPEC_FORM_PATH, in as toA2uiSurfaceAction, it as UiSpecDegradation, j as InteractionSpecLabels, jt as collectValues, k as FieldConditionResult, kt as collectScopedValues, l as A2uiCatalogHandle, ln as uiCatalog, lt as UiSurfaceActionDispatch, m as CATALOG_BUDGET_STAGE, mt as VercelToolInvocation, n as A2UI_COMMON_TYPES, nn as shapeInteractionValue, nt as UiPreset, o as A2UI_VERSION, on as toOpenUiSpecLang, ot as UiSpecIssue, p as A2uiSpecMessageOptions, pt as VIEWER_PROPS_ATTR, q as UI_PRESETS, qt as normalizeColumnWidths, r as A2UI_SPEC_ACTION, rn as toA2uiSpecMessages, rt as UiPresetName, s as A2uiCatalogComponent, sn as toUiSurfaceActionDispatch, st as UiSpecSanitization, t as A2UI_BASIC_CATALOG_ID, tn as resolveSurfaceFormTexts, tt as UiFormScope, u as A2uiComponentShape, un as uiPreset, ut as VERCEL_INTERACTION_TOOL_NAME, v as CollectedValues, vt as WEBSKILL_STYLES_CSS, w as DOCUMENT_COMPONENTS, wt as applySuggestion, x as DEFAULT_INTERACTION_TEXTS, xt as ZodRuntime, y as ColumnWidthsRejection, yt as WEBSKILL_SURFACE_ACTION, z as PLANNED_INCREMENT, zt as fromVercelToolResult } from "./index-DACk2_XZ.js";
4
- export { A2UI_BASIC_CATALOG_ID, A2UI_COMMON_TYPES, A2UI_SPEC_ACTION, A2UI_SPEC_FORM_PATH, A2UI_SURFACE_ACTION, A2UI_VERSION, type A2uiCatalogComponent, type A2uiCatalogDefinition, type A2uiCatalogHandle, type A2uiComponentShape, type A2uiMessage, type A2uiSpecActionEvent, type A2uiSpecMessageOptions, CATALOG_BUDGET_STAGE, CATALOG_PROMPT_MAX, CATALOG_SCHEMA_MAX, CHART_PALETTE, type CollectedValues, type ColumnWidthsRejection, type ControlModel, DEFAULT_INTERACTION_TEXTS, DEFAULT_SURFACE_FORM_TEXTS, DESCRIBE_UI_PRESET_TOOL, DOCUMENT_COMPONENTS, type DocumentComponentName, type EchartHandle, type EvaluateFieldConditionOptions, type FieldCondition, type FieldConditionResult, type FormModel, type InteractionSpecLabels, type InteractionTexts, type JsonRenderSpec, type LoadedOpenUiPeers, MAX_CONDITION_DEPTH, type NormalizedColumnWidths, type OpenUiRendererProps, type OpenUiRuntime, PLANNED_INCREMENT, RENDER_UI_TOOL, SPEC_TABLE_MIN_COLUMN_VAR, SPEC_TABLE_MIN_COLUMN_WIDTH, type SpecColumnMeta, type SurfaceFormTexts, UI_CATALOG_GROUPS, UI_CATALOG_PROMPT_BUDGET_BYTES, UI_PRESETS, UI_PRESET_NAMES, type UiActionDef, type UiCatalog, type UiCatalogInput, type UiCatalogPromptOptions, type UiCatalogToolSourceOptions, type UiComponentDef, type UiFormScope, type UiPreset, type UiPresetName, type UiSpecDegradation, type UiSpecDegradationCode, type UiSpecIssue, type UiSpecNode, type UiSpecSanitization, type UiSpecValidation, type UiSurfaceActionDispatch, VERCEL_INTERACTION_TOOL_NAME, VIEWER_COMPONENT_ATTR, VIEWER_FALLBACK_ATTR, VIEWER_PROPS_ATTR, type VercelToolInvocation, VercelUiBridge, type ViewerComponentsHandle, WEBSKILL_A2UI_CATALOG_ID, WEBSKILL_STYLES_CSS, WEBSKILL_SURFACE_ACTION, WebFormBridge, type ZodRuntime, a2uiComponentSchema, a2uiComponentShapes, applySuggestion, buildA2uiCatalogDefinition, buildRenderResult, chartSpecFromProps, chartToTable, collectFormScopes, collectScopedValues, collectSpecActions, collectValues, createUiCatalogToolSource, defineUiCatalog, ensureStyles, evaluateFieldCondition, fromA2uiSpecAction, fromA2uiSurfaceAction, fromUiSurfaceActionDispatch, fromVercelToolResult, gaugePercent, interactionToFormModel, interactionToUiSpec, loadOpenUiPeers, loadWebSkillLitCatalog, mountEchart, mountViewerComponents, normalizeColumnWidths, qualifyFieldName, renderBlocks, renderMiniChart, renderMiniMarkdown, renderRenderResult, resolveColumnWidths, resolveInteractionTexts, resolveSurfaceFormTexts, shapeInteractionValue, toA2uiSpecMessages, toA2uiSurfaceAction, toJsonRenderSpec, toOpenUiSpecLang, toUiSurfaceActionDispatch, toVercelToolInvocation, uiCatalog, uiPreset };
1
+ import { bt as UiSpecNode } from "./types-DLctJep_-B5G4uk2u.js";
2
+ import { zn as buildRenderResult } from "./index-C9pzXLKy.js";
3
+ import { $ as UiActionDef, $t as qualifyFieldName, A as EvaluateFieldConditionOptions, At as buildA2uiCatalogDefinition, B as OpenUiRendererProps, Bt as evaluateFieldCondition, C as DEFAULT_INTERACTION_TEXTS, Ct as WEBSKILL_STYLES_CSS, D as DOCUMENT_COMPONENTS, Dt as a2uiComponentSchema, E as DESCRIBE_UI_PRESET_TOOL, Et as ZodRuntime, F as InteractionTexts, Ft as collectSpecActions, G as SPEC_TABLE_MIN_COLUMN_WIDTH, Gt as gaugePercent, H as PLANNED_INCREMENT, Ht as fromA2uiSurfaceAction, I as JsonRenderSpec, It as collectValues, J as SurfaceHostControlTexts, Jt as loadOpenUiPeers, K as SpecColumnMeta, Kt as interactionToFormModel, L as LoadedOpenUiPeers, Lt as createUiCatalogToolSource, M as FieldConditionResult, Mt as chartToTable, N as FormModel, Nt as collectFormScopes, O as DocumentComponentName, Ot as a2uiComponentShapes, P as InteractionSpecLabels, Pt as collectScopedValues, Q as UI_PRESET_NAMES, Qt as normalizeColumnWidths, R as MAX_CONDITION_DEPTH, Rt as defineUiCatalog, S as DEFAULT_CHART_FONT_SIZES, St as WEBSKILL_A2UI_CATALOG_ID, T as DEFAULT_SURFACE_HOST_CONTROL_TEXTS, Tt as WebFormBridge, U as RENDER_UI_TOOL, Ut as fromUiSurfaceActionDispatch, V as OpenUiRuntime, Vt as fromA2uiSpecAction, W as SPEC_TABLE_MIN_COLUMN_VAR, Wt as fromVercelToolResult, X as UI_CATALOG_PROMPT_BUDGET_BYTES, Xt as mountEchart, Y as UI_CATALOG_GROUPS, Yt as loadWebSkillLitCatalog, Z as UI_PRESETS, Zt as mountViewerComponents, _ as CHART_PALETTE, _n as uiCatalog, _t as VIEWER_PROPS_ATTR, a as A2UI_SURFACE_ACTION, an as resolveColumnWidths, at as UiFormScope, b as ColumnWidthsRejection, bt as ViewerComponentsHandle, c as A2uiCatalogDefinition, cn as resolveSurfaceHostControlTexts, ct as UiSpecDegradation, d as A2uiMessage, dn as toA2uiSurfaceAction, dt as UiSpecSanitization, en as renderBlocks, et as UiCatalog, f as A2uiSpecActionEvent, fn as toEchartsOption, ft as UiSpecValidation, g as CATALOG_SCHEMA_MAX, gn as toVercelToolInvocation, gt as VIEWER_FALLBACK_ATTR, h as CATALOG_PROMPT_MAX, hn as toUiSurfaceActionDispatch, ht as VIEWER_COMPONENT_ATTR, i as A2UI_SPEC_FORM_PATH, in as resolveChartFontSizes, it as UiComponentDef, j as FieldCondition, jt as chartSpecFromProps, k as EchartHandle, kt as applySuggestion, l as A2uiCatalogHandle, ln as shapeInteractionValue, lt as UiSpecDegradationCode, m as CATALOG_BUDGET_STAGE, mn as toOpenUiSpecLang, mt as VERCEL_INTERACTION_TOOL_NAME, n as A2UI_COMMON_TYPES, nn as renderMiniMarkdown, nt as UiCatalogPromptOptions, o as A2UI_VERSION, on as resolveInteractionTexts, ot as UiPreset, p as A2uiSpecMessageOptions, pn as toJsonRenderSpec, pt as UiSurfaceActionDispatch, q as SurfaceFormTexts, qt as interactionToUiSpec, r as A2UI_SPEC_ACTION, rn as renderRenderResult, rt as UiCatalogToolSourceOptions, s as A2uiCatalogComponent, sn as resolveSurfaceFormTexts, st as UiPresetName, t as A2UI_BASIC_CATALOG_ID, tn as renderMiniChart, tt as UiCatalogInput, u as A2uiComponentShape, un as toA2uiSpecMessages, ut as UiSpecIssue, v as ChartFontSizes, vn as uiPreset, vt as VercelToolInvocation, w as DEFAULT_SURFACE_FORM_TEXTS, wt as WEBSKILL_SURFACE_ACTION, x as ControlModel, xt as ViewerComponentsOptions, y as CollectedValues, yt as VercelUiBridge, z as NormalizedColumnWidths, zt as ensureStyles } from "./index-3fCHc1mQ.js";
4
+ export { A2UI_BASIC_CATALOG_ID, A2UI_COMMON_TYPES, A2UI_SPEC_ACTION, A2UI_SPEC_FORM_PATH, A2UI_SURFACE_ACTION, A2UI_VERSION, type A2uiCatalogComponent, type A2uiCatalogDefinition, type A2uiCatalogHandle, type A2uiComponentShape, type A2uiMessage, type A2uiSpecActionEvent, type A2uiSpecMessageOptions, CATALOG_BUDGET_STAGE, CATALOG_PROMPT_MAX, CATALOG_SCHEMA_MAX, CHART_PALETTE, type ChartFontSizes, type CollectedValues, type ColumnWidthsRejection, type ControlModel, DEFAULT_CHART_FONT_SIZES, DEFAULT_INTERACTION_TEXTS, DEFAULT_SURFACE_FORM_TEXTS, DEFAULT_SURFACE_HOST_CONTROL_TEXTS, DESCRIBE_UI_PRESET_TOOL, DOCUMENT_COMPONENTS, type DocumentComponentName, type EchartHandle, type EvaluateFieldConditionOptions, type FieldCondition, type FieldConditionResult, type FormModel, type InteractionSpecLabels, type InteractionTexts, type JsonRenderSpec, type LoadedOpenUiPeers, MAX_CONDITION_DEPTH, type NormalizedColumnWidths, type OpenUiRendererProps, type OpenUiRuntime, PLANNED_INCREMENT, RENDER_UI_TOOL, SPEC_TABLE_MIN_COLUMN_VAR, SPEC_TABLE_MIN_COLUMN_WIDTH, type SpecColumnMeta, type SurfaceFormTexts, type SurfaceHostControlTexts, UI_CATALOG_GROUPS, UI_CATALOG_PROMPT_BUDGET_BYTES, UI_PRESETS, UI_PRESET_NAMES, type UiActionDef, type UiCatalog, type UiCatalogInput, type UiCatalogPromptOptions, type UiCatalogToolSourceOptions, type UiComponentDef, type UiFormScope, type UiPreset, type UiPresetName, type UiSpecDegradation, type UiSpecDegradationCode, type UiSpecIssue, type UiSpecNode, type UiSpecSanitization, type UiSpecValidation, type UiSurfaceActionDispatch, VERCEL_INTERACTION_TOOL_NAME, VIEWER_COMPONENT_ATTR, VIEWER_FALLBACK_ATTR, VIEWER_PROPS_ATTR, type VercelToolInvocation, VercelUiBridge, type ViewerComponentsHandle, type ViewerComponentsOptions, WEBSKILL_A2UI_CATALOG_ID, WEBSKILL_STYLES_CSS, WEBSKILL_SURFACE_ACTION, WebFormBridge, type ZodRuntime, a2uiComponentSchema, a2uiComponentShapes, applySuggestion, buildA2uiCatalogDefinition, buildRenderResult, chartSpecFromProps, chartToTable, collectFormScopes, collectScopedValues, collectSpecActions, collectValues, createUiCatalogToolSource, defineUiCatalog, ensureStyles, evaluateFieldCondition, fromA2uiSpecAction, fromA2uiSurfaceAction, fromUiSurfaceActionDispatch, fromVercelToolResult, gaugePercent, interactionToFormModel, interactionToUiSpec, loadOpenUiPeers, loadWebSkillLitCatalog, mountEchart, mountViewerComponents, normalizeColumnWidths, qualifyFieldName, renderBlocks, renderMiniChart, renderMiniMarkdown, renderRenderResult, resolveChartFontSizes, resolveColumnWidths, resolveInteractionTexts, resolveSurfaceFormTexts, resolveSurfaceHostControlTexts, shapeInteractionValue, toA2uiSpecMessages, toA2uiSurfaceAction, toEchartsOption, toJsonRenderSpec, toOpenUiSpecLang, toUiSurfaceActionDispatch, toVercelToolInvocation, uiCatalog, uiPreset };
package/dist/ui.js CHANGED
@@ -1,4 +1,4 @@
1
- import { Z as buildRenderResult } from "./dist-B-cOu08W.js";
2
- import { $ as uiPreset, A as ensureStyles, B as mountViewerComponents, C as applySuggestion, D as collectSpecActions, E as collectScopedValues, F as fromVercelToolResult, G as renderRenderResult, H as qualifyFieldName, I as gaugePercent, J as toA2uiSurfaceAction, K as resolveColumnWidths, L as interactionToUiSpec, M as fromA2uiSpecAction, N as fromA2uiSurfaceAction, O as collectValues, P as fromUiSurfaceActionDispatch, Q as toVercelToolInvocation, R as loadOpenUiPeers, S as WebFormBridge, St as uiCatalog, T as collectFormScopes, U as renderBlocks, V as normalizeColumnWidths, W as renderMiniChart, X as toOpenUiSpecLang, Y as toJsonRenderSpec, Z as toUiSurfaceActionDispatch, _ as VIEWER_FALLBACK_ATTR, _t as mountEchart, a as A2UI_VERSION, at as DEFAULT_INTERACTION_TEXTS, b as WEBSKILL_STYLES_CSS, bt as resolveSurfaceFormTexts, c as DOCUMENT_COMPONENTS, ct as UI_CATALOG_GROUPS, d as SPEC_TABLE_MIN_COLUMN_VAR, dt as a2uiComponentSchema, f as SPEC_TABLE_MIN_COLUMN_WIDTH, ft as a2uiComponentShapes, g as VIEWER_COMPONENT_ATTR, gt as interactionToFormModel, h as VERCEL_INTERACTION_TOOL_NAME, ht as defineUiCatalog, i as A2UI_SURFACE_ACTION, it as CATALOG_SCHEMA_MAX, j as evaluateFieldCondition, k as createUiCatalogToolSource, l as MAX_CONDITION_DEPTH, lt as UI_CATALOG_PROMPT_BUDGET_BYTES, m as UI_PRESET_NAMES, mt as chartSpecFromProps, n as A2UI_SPEC_ACTION, nt as CATALOG_BUDGET_STAGE, o as CHART_PALETTE, ot as DEFAULT_SURFACE_FORM_TEXTS, p as UI_PRESETS, pt as buildA2uiCatalogDefinition, q as toA2uiSpecMessages, r as A2UI_SPEC_FORM_PATH, rt as CATALOG_PROMPT_MAX, s as DESCRIBE_UI_PRESET_TOOL, st as PLANNED_INCREMENT, t as A2UI_BASIC_CATALOG_ID, tt as A2UI_COMMON_TYPES, u as RENDER_UI_TOOL, ut as WEBSKILL_A2UI_CATALOG_ID, v as VIEWER_PROPS_ATTR, vt as renderMiniMarkdown, w as chartToTable, x as WEBSKILL_SURFACE_ACTION, xt as shapeInteractionValue, y as VercelUiBridge, yt as resolveInteractionTexts, z as loadWebSkillLitCatalog } from "./dist-DTHZS2k1.js";
1
+ import { et as buildRenderResult } from "./dist-sdKFgERo.js";
2
+ import { $ as uiPreset, A as ensureStyles, B as mountViewerComponents, C as applySuggestion, Ct as resolveSurfaceFormTexts, D as collectSpecActions, Dt as uiCatalog, E as collectScopedValues, Et as toEchartsOption, F as fromVercelToolResult, G as renderRenderResult, H as qualifyFieldName, I as gaugePercent, J as toA2uiSurfaceAction, K as resolveColumnWidths, L as interactionToUiSpec, M as fromA2uiSpecAction, N as fromA2uiSurfaceAction, O as collectValues, P as fromUiSurfaceActionDispatch, Q as toVercelToolInvocation, R as loadOpenUiPeers, S as WebFormBridge, St as resolveInteractionTexts, T as collectFormScopes, Tt as shapeInteractionValue, U as renderBlocks, V as normalizeColumnWidths, W as renderMiniChart, X as toOpenUiSpecLang, Y as toJsonRenderSpec, Z as toUiSurfaceActionDispatch, _ as VIEWER_FALLBACK_ATTR, _t as defineUiCatalog, a as A2UI_VERSION, at as DEFAULT_CHART_FONT_SIZES, b as WEBSKILL_STYLES_CSS, bt as renderMiniMarkdown, c as DOCUMENT_COMPONENTS, ct as DEFAULT_SURFACE_HOST_CONTROL_TEXTS, d as SPEC_TABLE_MIN_COLUMN_VAR, dt as UI_CATALOG_PROMPT_BUDGET_BYTES, f as SPEC_TABLE_MIN_COLUMN_WIDTH, ft as WEBSKILL_A2UI_CATALOG_ID, g as VIEWER_COMPONENT_ATTR, gt as chartSpecFromProps, h as VERCEL_INTERACTION_TOOL_NAME, ht as buildA2uiCatalogDefinition, i as A2UI_SURFACE_ACTION, it as CATALOG_SCHEMA_MAX, j as evaluateFieldCondition, k as createUiCatalogToolSource, l as MAX_CONDITION_DEPTH, lt as PLANNED_INCREMENT, m as UI_PRESET_NAMES, mt as a2uiComponentShapes, n as A2UI_SPEC_ACTION, nt as CATALOG_BUDGET_STAGE, o as CHART_PALETTE, ot as DEFAULT_INTERACTION_TEXTS, p as UI_PRESETS, pt as a2uiComponentSchema, q as toA2uiSpecMessages, r as A2UI_SPEC_FORM_PATH, rt as CATALOG_PROMPT_MAX, s as DESCRIBE_UI_PRESET_TOOL, st as DEFAULT_SURFACE_FORM_TEXTS, t as A2UI_BASIC_CATALOG_ID, tt as A2UI_COMMON_TYPES, u as RENDER_UI_TOOL, ut as UI_CATALOG_GROUPS, v as VIEWER_PROPS_ATTR, vt as interactionToFormModel, w as chartToTable, wt as resolveSurfaceHostControlTexts, x as WEBSKILL_SURFACE_ACTION, xt as resolveChartFontSizes, y as VercelUiBridge, yt as mountEchart, z as loadWebSkillLitCatalog } from "./dist-DqcL6jKO.js";
3
3
 
4
- export { A2UI_BASIC_CATALOG_ID, A2UI_COMMON_TYPES, A2UI_SPEC_ACTION, A2UI_SPEC_FORM_PATH, A2UI_SURFACE_ACTION, A2UI_VERSION, CATALOG_BUDGET_STAGE, CATALOG_PROMPT_MAX, CATALOG_SCHEMA_MAX, CHART_PALETTE, DEFAULT_INTERACTION_TEXTS, DEFAULT_SURFACE_FORM_TEXTS, DESCRIBE_UI_PRESET_TOOL, DOCUMENT_COMPONENTS, MAX_CONDITION_DEPTH, PLANNED_INCREMENT, RENDER_UI_TOOL, SPEC_TABLE_MIN_COLUMN_VAR, SPEC_TABLE_MIN_COLUMN_WIDTH, UI_CATALOG_GROUPS, UI_CATALOG_PROMPT_BUDGET_BYTES, UI_PRESETS, UI_PRESET_NAMES, VERCEL_INTERACTION_TOOL_NAME, VIEWER_COMPONENT_ATTR, VIEWER_FALLBACK_ATTR, VIEWER_PROPS_ATTR, VercelUiBridge, WEBSKILL_A2UI_CATALOG_ID, WEBSKILL_STYLES_CSS, WEBSKILL_SURFACE_ACTION, WebFormBridge, a2uiComponentSchema, a2uiComponentShapes, applySuggestion, buildA2uiCatalogDefinition, buildRenderResult, chartSpecFromProps, chartToTable, collectFormScopes, collectScopedValues, collectSpecActions, collectValues, createUiCatalogToolSource, defineUiCatalog, ensureStyles, evaluateFieldCondition, fromA2uiSpecAction, fromA2uiSurfaceAction, fromUiSurfaceActionDispatch, fromVercelToolResult, gaugePercent, interactionToFormModel, interactionToUiSpec, loadOpenUiPeers, loadWebSkillLitCatalog, mountEchart, mountViewerComponents, normalizeColumnWidths, qualifyFieldName, renderBlocks, renderMiniChart, renderMiniMarkdown, renderRenderResult, resolveColumnWidths, resolveInteractionTexts, resolveSurfaceFormTexts, shapeInteractionValue, toA2uiSpecMessages, toA2uiSurfaceAction, toJsonRenderSpec, toOpenUiSpecLang, toUiSurfaceActionDispatch, toVercelToolInvocation, uiCatalog, uiPreset };
4
+ export { A2UI_BASIC_CATALOG_ID, A2UI_COMMON_TYPES, A2UI_SPEC_ACTION, A2UI_SPEC_FORM_PATH, A2UI_SURFACE_ACTION, A2UI_VERSION, CATALOG_BUDGET_STAGE, CATALOG_PROMPT_MAX, CATALOG_SCHEMA_MAX, CHART_PALETTE, DEFAULT_CHART_FONT_SIZES, DEFAULT_INTERACTION_TEXTS, DEFAULT_SURFACE_FORM_TEXTS, DEFAULT_SURFACE_HOST_CONTROL_TEXTS, DESCRIBE_UI_PRESET_TOOL, DOCUMENT_COMPONENTS, MAX_CONDITION_DEPTH, PLANNED_INCREMENT, RENDER_UI_TOOL, SPEC_TABLE_MIN_COLUMN_VAR, SPEC_TABLE_MIN_COLUMN_WIDTH, UI_CATALOG_GROUPS, UI_CATALOG_PROMPT_BUDGET_BYTES, UI_PRESETS, UI_PRESET_NAMES, VERCEL_INTERACTION_TOOL_NAME, VIEWER_COMPONENT_ATTR, VIEWER_FALLBACK_ATTR, VIEWER_PROPS_ATTR, VercelUiBridge, WEBSKILL_A2UI_CATALOG_ID, WEBSKILL_STYLES_CSS, WEBSKILL_SURFACE_ACTION, WebFormBridge, a2uiComponentSchema, a2uiComponentShapes, applySuggestion, buildA2uiCatalogDefinition, buildRenderResult, chartSpecFromProps, chartToTable, collectFormScopes, collectScopedValues, collectSpecActions, collectValues, createUiCatalogToolSource, defineUiCatalog, ensureStyles, evaluateFieldCondition, fromA2uiSpecAction, fromA2uiSurfaceAction, fromUiSurfaceActionDispatch, fromVercelToolResult, gaugePercent, interactionToFormModel, interactionToUiSpec, loadOpenUiPeers, loadWebSkillLitCatalog, mountEchart, mountViewerComponents, normalizeColumnWidths, qualifyFieldName, renderBlocks, renderMiniChart, renderMiniMarkdown, renderRenderResult, resolveChartFontSizes, resolveColumnWidths, resolveInteractionTexts, resolveSurfaceFormTexts, resolveSurfaceHostControlTexts, shapeInteractionValue, toA2uiSpecMessages, toA2uiSurfaceAction, toEchartsOption, toJsonRenderSpec, toOpenUiSpecLang, toUiSurfaceActionDispatch, toVercelToolInvocation, uiCatalog, uiPreset };
@@ -1,4 +1,4 @@
1
- import { St as uiCatalog, _t as mountEchart, et as A2UI_CHILDREN_PROP, ft as a2uiComponentShapes, mt as chartSpecFromProps, ot as DEFAULT_SURFACE_FORM_TEXTS, ut as WEBSKILL_A2UI_CATALOG_ID, vt as renderMiniMarkdown } from "./dist-DTHZS2k1.js";
1
+ import { Dt as uiCatalog, bt as renderMiniMarkdown, et as A2UI_CHILDREN_PROP, ft as WEBSKILL_A2UI_CATALOG_ID, gt as chartSpecFromProps, mt as a2uiComponentShapes, st as DEFAULT_SURFACE_FORM_TEXTS, yt as mountEchart } from "./dist-DqcL6jKO.js";
2
2
  import { A2uiController, A2uiLitElement } from "@a2ui/lit/v0_9";
3
3
  import { Catalog } from "@a2ui/web_core/v0_9";
4
4
  import { z } from "zod/v3";
@@ -1419,7 +1419,7 @@ var f = class extends i {
1419
1419
  };
1420
1420
 
1421
1421
  //#endregion
1422
- //#region ../ui/dist/webskillLitCatalog-DME6PBkV.js
1422
+ //#region ../ui/dist/webskillLitCatalog-D_zCqeQF.js
1423
1423
  /**
1424
1424
  * Lit 元素上的 echarts 挂载指令。
1425
1425
  * A2UI 档的 catalog `Chart` 渲染在 shadow root 里,实例必须随元素断开而 dispose,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@webskill/sdk",
3
- "version": "0.11.0",
3
+ "version": "0.12.0",
4
4
  "description": "WebSkill — browser/Node agent skill runtime (skills, tools, MCP, governance, UI)",
5
5
  "license": "MIT",
6
6
  "type": "module",