@webskill/sdk 0.10.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 (35) hide show
  1. package/dist/agent.d.ts +3 -2
  2. package/dist/agent.js +3 -1102
  3. package/dist/browser.d.ts +258 -11
  4. package/dist/browser.js +763 -47
  5. package/dist/{catalogComponents-DTcYfpLQ-CcoOaz-Z.js → catalogComponents-BgAJN0p8-C3K8klJd.js} +508 -923
  6. package/dist/dist-DU9KDAuR.js +1468 -0
  7. package/dist/{dist-1OFC-zax.js → dist-DqcL6jKO.js} +668 -60
  8. package/dist/{dist-BViUeszk.js → dist-sdKFgERo.js} +956 -115
  9. package/dist/{echarts-DhNm2ene.js → echarts-De78wXqV.js} +599 -61
  10. package/dist/{eventTypes-s2uwAcLG-Go3l_dUe.js → eventTypes-FllCrX-Z-DNDeHWoG.js} +6 -2
  11. package/dist/governance.d.ts +7 -3
  12. package/dist/governance.js +1 -1
  13. package/dist/{index-B0QPLWPZ.d.ts → index-3fCHc1mQ.d.ts} +198 -11
  14. package/dist/{index-DtFdMKBX.d.ts → index-C9pzXLKy.d.ts} +366 -9
  15. package/dist/{index-BF4E1a9j.d.ts → index-DFhU1uks.d.ts} +286 -19
  16. package/dist/index.d.ts +4 -4
  17. package/dist/index.js +3 -3
  18. package/dist/mcp.d.ts +58 -7
  19. package/dist/mcp.js +124 -21
  20. package/dist/node.d.ts +3 -3
  21. package/dist/node.js +60 -4
  22. package/dist/{openUiLibrary-CIrV--Ad-B8zG_91e.js → openUiLibrary-BKXW7Iwx-DaymVubt.js} +3 -3
  23. package/dist/processSandboxEntry.js +8 -1
  24. package/dist/sandboxWorkerEntry.js +8 -1
  25. package/dist/{skillVersionStore-D-qHk9ZE-DBsYYCWn.d.ts → skillVersionStore-D-qHk9ZE-DheTIwAB.d.ts} +1 -1
  26. package/dist/testing.d.ts +1 -1
  27. package/dist/{types-CrRcT-LM-DZAp8sWv.d.ts → types-DLctJep_-B5G4uk2u.d.ts} +22 -5
  28. package/dist/ui-react.d.ts +13 -4
  29. package/dist/ui-react.js +93 -259
  30. package/dist/ui-vue.d.ts +1 -1
  31. package/dist/ui-vue.js +2 -2
  32. package/dist/ui.d.ts +4 -4
  33. package/dist/ui.js +3 -3
  34. package/dist/{webskillLitCatalog-BJrphK0y-SGmRXaaO.js → webskillLitCatalog-D_zCqeQF-C9lrvvMr.js} +135 -16
  35. package/package.json +1 -1
@@ -1,4 +1,4 @@
1
- //#region ../governance/dist/eventTypes-s2uwAcLG.js
1
+ //#region ../governance/dist/eventTypes-FllCrX-Z.js
2
2
  /**
3
3
  * 审计事件类型常量(FR-13.4)。
4
4
  *
@@ -39,7 +39,11 @@ const AUDIT_EVENT_TYPES = {
39
39
  candidateApproved: "candidate.approved",
40
40
  candidateRejected: "candidate.rejected",
41
41
  pagePerceived: "page.perceived",
42
- pageAction: "page.action"
42
+ pageAction: "page.action",
43
+ documentRead: "document.read",
44
+ documentSurfaceOpen: "document.surface.open",
45
+ /** 脚本按宿主声明的数据源取数(分册 16);被拒也记,否则反复试探看不见 */
46
+ dataFetched: "data.fetch"
43
47
  };
44
48
  /** 稳定展示序:筛选下拉与文档表格都从这里取,不各自维护一份顺序 */
45
49
  const AUDIT_EVENT_TYPE_LIST = Object.values(AUDIT_EVENT_TYPES);
@@ -1,6 +1,6 @@
1
- import { R as FileSystemProvider, S as UiBridge, U as Page, W as PageQuery, f as LlmMessage, it as SkillCatalogEntry, l as LlmClient, ot as SkillDocument, ut as SkillManagerPort } from "./types-CrRcT-LM-DZAp8sWv.js";
2
- import { H as IntegrityVerdict, Ht as SkillStateGuard, Lt as SkillIntegrityGuard, Rt as SkillOutcomeReporter, mn as WebSkillRuntime, xt as RuntimeRun } from "./index-DtFdMKBX.js";
3
- import { _ as SkillState, a as AuditLog, b as SkillVersionStore, c as CandidateFile, d as CandidateSkill, f as CandidateSource, g as SKILL_VERSION_PAGE_SIZE, h as CompositeApprovalPolicy, i as AuditEvent, l as CandidatePage, m as CandidateStore, n as ApprovalDecision, o as AuditQueryFilter, p as CandidateStatus, r as ApprovalPolicy, s as CANDIDATE_PAGE_SIZE, t as AlwaysHumanApprovalPolicy, u as CandidateRisk, v as SkillVersion, x as candidateToCatalogEntry, y as SkillVersionPage } from "./skillVersionStore-D-qHk9ZE-DBsYYCWn.js";
1
+ import { R as FileSystemProvider, S as UiBridge, U as Page, W as PageQuery, f as LlmMessage, it as SkillCatalogEntry, l as LlmClient, ot as SkillDocument, ut as SkillManagerPort } from "./types-DLctJep_-B5G4uk2u.js";
2
+ import { Nt as RuntimeRun, Pn as WebSkillRuntime, Qt as SkillOutcomeReporter, Y as IntegrityVerdict, Zt as SkillIntegrityGuard, nn as SkillStateGuard } from "./index-C9pzXLKy.js";
3
+ import { _ as SkillState, a as AuditLog, b as SkillVersionStore, c as CandidateFile, d as CandidateSkill, f as CandidateSource, g as SKILL_VERSION_PAGE_SIZE, h as CompositeApprovalPolicy, i as AuditEvent, l as CandidatePage, m as CandidateStore, n as ApprovalDecision, o as AuditQueryFilter, p as CandidateStatus, r as ApprovalPolicy, s as CANDIDATE_PAGE_SIZE, t as AlwaysHumanApprovalPolicy, u as CandidateRisk, v as SkillVersion, x as candidateToCatalogEntry, y as SkillVersionPage } from "./skillVersionStore-D-qHk9ZE-DheTIwAB.js";
4
4
  //#region ../governance/dist/index.d.ts
5
5
  //#region src/candidate/candidateNormalizer.d.ts
6
6
  /** 剥 markdown fence 与 <think> 块、截取首尾 {};非对象 → CANDIDATE_INVALID */
@@ -207,6 +207,10 @@ declare const AUDIT_EVENT_TYPES: {
207
207
  readonly candidateRejected: "candidate.rejected";
208
208
  readonly pagePerceived: "page.perceived";
209
209
  readonly pageAction: "page.action";
210
+ readonly documentRead: "document.read";
211
+ readonly documentSurfaceOpen: "document.surface.open";
212
+ /** 脚本按宿主声明的数据源取数(分册 16);被拒也记,否则反复试探看不见 */
213
+ readonly dataFetched: "data.fetch";
210
214
  };
211
215
  type AuditEventType = (typeof AUDIT_EVENT_TYPES)[keyof typeof AUDIT_EVENT_TYPES];
212
216
  /** 稳定展示序:筛选下拉与文档表格都从这里取,不各自维护一份顺序 */
@@ -1,6 +1,6 @@
1
1
  import { M as messageOf, _ as assertSafePathSegment, h as WebSkillError, k as isValidSkillName, v as atomicWriteText } from "./dist-Bev6i6Ip.js";
2
2
  import { a as textParts, n as partsToText } from "./memoryArtifactStore-52Zn9npI-LbCQaqyx.js";
3
- import { n as AUDIT_EVENT_TYPE_LIST, t as AUDIT_EVENT_TYPES } from "./eventTypes-s2uwAcLG-Go3l_dUe.js";
3
+ import { n as AUDIT_EVENT_TYPE_LIST, t as AUDIT_EVENT_TYPES } from "./eventTypes-FllCrX-Z-DNDeHWoG.js";
4
4
 
5
5
  //#region ../governance/dist/index.js
6
6
  const invalid = (message, details) => {
@@ -1,5 +1,5 @@
1
- import { B as JsonSchema, C as UiSpecActionCapability, D as UiSpecSnapshot, S as UiBridge, b as RenderResultRequest, bt as UiSpecNode, c as InteractionResponse, r as ChartSpec, s as InteractionRequest, y as RenderBlock } from "./types-CrRcT-LM-DZAp8sWv.js";
2
- import { k as ExternalToolSource } from "./index-DtFdMKBX.js";
1
+ import { B as JsonSchema, C as UiSpecActionCapability, D as UiSpecSnapshot, S as UiBridge, b as RenderResultRequest, bt as UiSpecNode, c as InteractionResponse, r as ChartSpec, s as InteractionRequest, y as RenderBlock } from "./types-DLctJep_-B5G4uk2u.js";
2
+ import { F as ExternalToolSource } from "./index-C9pzXLKy.js";
3
3
  import { z } from "zod";
4
4
  import { ComponentType, ReactNode } from "react";
5
5
  //#region ../ui/dist/index.d.ts
@@ -16,7 +16,7 @@ interface ControlModel {
16
16
  name: string;
17
17
  label: string;
18
18
  /** `password` 在不支持它的渲染档里必须**不渲染**,退化成文本框等于明文显示 */
19
- control: 'text' | 'number' | 'boolean' | 'select' | 'textarea' | 'file' | 'password';
19
+ control: 'text' | 'number' | 'boolean' | 'select' | 'textarea' | 'file' | 'password' | 'date';
20
20
  required?: boolean;
21
21
  description?: string;
22
22
  defaultValue?: unknown;
@@ -84,6 +84,21 @@ interface SurfaceFormTexts {
84
84
  /** 可复用的部分取自 DEFAULT_INTERACTION_TEXTS,不另抄一份(AC-G10) */
85
85
  declare const DEFAULT_SURFACE_FORM_TEXTS: SurfaceFormTexts;
86
86
  declare function resolveSurfaceFormTexts(texts?: Partial<SurfaceFormTexts>): SurfaceFormTexts;
87
+ /**
88
+ * surface 宿主控件的文案契约(设计 14 §2.1)。与 `SurfaceFormTexts` 并列而非合并:
89
+ * 宿主控件(分页 / 轮播)不属于表单,且 a2ui、webFormBridge 两档消费方没有这些控件。
90
+ */
91
+ interface SurfaceHostControlTexts {
92
+ /** 分页按钮的 a11y 名称与可见文字 */
93
+ previousPage: string;
94
+ previous: string;
95
+ nextPage: string;
96
+ next: string;
97
+ /** 轮播容器的 a11y 名称 */
98
+ carousel: string;
99
+ }
100
+ declare const DEFAULT_SURFACE_HOST_CONTROL_TEXTS: SurfaceHostControlTexts;
101
+ declare function resolveSurfaceHostControlTexts(texts?: Partial<SurfaceHostControlTexts>): SurfaceHostControlTexts;
87
102
  /** 提交值按请求类型归形(WebFormBridge 与框架组件库共享单一来源) */
88
103
  declare function shapeInteractionValue(model: FormModel, values: Record<string, unknown>): unknown;
89
104
  /** 五类 InteractionRequest → 统一中间模型(框架无关) */
@@ -124,7 +139,8 @@ declare function renderMiniMarkdown(text: string, doc: Document): HTMLElement;
124
139
  */
125
140
  declare const CHART_PALETTE: readonly ["#4e79a7", "#f28e2b", "#e15759", "#76b7b2", "#59a14f", "#edc948", "#b07aa1", "#ff9da7"];
126
141
  /**
127
- * ChartSpec → SVG(bar 等宽柱 + 值标签;line 折线 + 点;pie 扇形 + 图例;空数据容错)
142
+ * ChartSpec → SVG(bar 等宽柱 + 值标签;line 折线 + 点;pie 扇形 + 图例;空数据容错)。
143
+ * mini 档只有这三种画法,其余类型走最接近的一种并在图内注明是近似呈现。
128
144
  * @stable
129
145
  */
130
146
  declare function renderMiniChart(chart: ChartSpec, doc: Document): SVGSVGElement;
@@ -139,12 +155,76 @@ declare function chartToTable(chart: ChartSpec): {
139
155
  /**
140
156
  * catalog `Chart` 节点 props → `ChartSpec`。四档共用这一份转换:
141
157
  * 此前 native / OpenUI / json-render / A2UI 各抄了一遍,改一处就会漂移。
142
- * catalog `area` 在 `ChartSpec` 里没有对应枚举,按折线渲染——
143
- * 原先的裸 cast 会把非法枚举一路带进渲染器,画出空图。
158
+ * 非法枚举**原样保留**,由 `toEchartsOption` 给出可见降级提示——
159
+ * 此前偷偷改写成 `'line'`,画出的图与模型的意图无关且不可察觉。
144
160
  */
145
161
  declare function chartSpecFromProps(props: Record<string, unknown>): ChartSpec;
162
+ /** 画布内文字的字号(px)。它们画在 canvas 上,宿主的 CSS 进不去 */
163
+ interface ChartFontSizes {
164
+ title: number;
165
+ axisLabel: number;
166
+ legend: number;
167
+ }
168
+ /** 字号默认值的**全仓唯一来源**;`12` 是 echarts 的全局默认,显式写出后渲染不变 */
169
+ declare const DEFAULT_CHART_FONT_SIZES: ChartFontSizes;
170
+ /** 逐字段兜底:宿主通常只想调大其中一两项 */
171
+ declare function resolveChartFontSizes(sizes?: Partial<ChartFontSizes>): ChartFontSizes;
172
+ /** `ChartSpec` → ECharts option:图表类型、数据系列、图例的唯一定义处 */
173
+ declare function toEchartsOption(chart: ChartSpec, fontSizes?: Partial<ChartFontSizes>): {
174
+ animation: boolean;
175
+ title: {
176
+ subtext?: string | undefined;
177
+ text: string;
178
+ left: string;
179
+ textStyle: {
180
+ fontSize: number;
181
+ };
182
+ } | undefined;
183
+ tooltip: {
184
+ trigger: string;
185
+ };
186
+ legend: {
187
+ bottom: number;
188
+ textStyle: {
189
+ fontSize: number;
190
+ };
191
+ };
192
+ xAxis: {
193
+ type: string;
194
+ data: string[];
195
+ axisLabel: {
196
+ fontSize: number;
197
+ };
198
+ } | undefined;
199
+ yAxis: {
200
+ type: string;
201
+ axisLabel: {
202
+ fontSize: number;
203
+ };
204
+ } | {
205
+ type: string;
206
+ axisLabel: {
207
+ fontSize: number;
208
+ };
209
+ }[] | undefined;
210
+ series: {
211
+ type: string;
212
+ name: string | undefined;
213
+ data: {
214
+ name: string;
215
+ value: number;
216
+ }[];
217
+ }[] | {
218
+ yAxisIndex?: number | undefined;
219
+ name: string | undefined;
220
+ data: number[];
221
+ type: string;
222
+ areaStyle?: Record<string, never>;
223
+ stack?: string;
224
+ }[];
225
+ };
146
226
  interface EchartHandle {
147
- setChart(chart: ChartSpec): void;
227
+ setChart(chart: ChartSpec, fontSizes?: Partial<ChartFontSizes>): void;
148
228
  dispose(): void;
149
229
  }
150
230
  /**
@@ -153,6 +233,51 @@ interface EchartHandle {
153
233
  */
154
234
  declare function mountEchart(container: HTMLElement): EchartHandle;
155
235
  //#endregion
236
+ //#region src/viewer/presetComponents.d.ts
237
+ /**
238
+ * viewer 的宿主预置组件(0.11.0 分册 18 FR-18.5 / 分册 19)。
239
+ *
240
+ * 技能**不写 JS**:文档 HTML 里只留占位,由这里挂载真实组件。
241
+ * 交互只落在图表上——表格排序的例子已作废(分册 29 §2 登记 #13)。
242
+ *
243
+ * 三条硬约束:
244
+ * - props 用 **catalog 自己的 zod schema** 解析,同形因此是机制上成立的,
245
+ * 不是靠一句「记得同步」的注释(FR-19.2);
246
+ * - 值一律经 `textContent` 落地,**永不** `innerHTML`(FR-19.4 / AC-19.5);
247
+ * - 白名单外的名字只渲染降级提示,**不触发任何按名 import**(FR-19.3)。
248
+ */
249
+ /** 占位元素的属性名,模板与挂载方共用(FR-19.1 的契约) */
250
+ declare const VIEWER_COMPONENT_ATTR = "data-webskill-component";
251
+ declare const VIEWER_PROPS_ATTR = "data-webskill-props";
252
+ /** 降级提示的标记;模板 CSS 与判据都认这个属性,不认某个 class 名 */
253
+ declare const VIEWER_FALLBACK_ATTR = "data-webskill-fallback";
254
+ /** 文档面可用的组件白名单(FR-19.3)。字面量数组——不接受任何按名动态加载 */
255
+ declare const DOCUMENT_COMPONENTS: readonly ["Chart", "Table", "Metric", "Gauge", "KeyValue"];
256
+ type DocumentComponentName = (typeof DOCUMENT_COMPONENTS)[number];
257
+ interface ViewerComponentsHandle {
258
+ dispose(): void;
259
+ }
260
+ /** 宿主的呈现偏好;挂在本次挂载上,不做模块级全局 */
261
+ interface ViewerComponentsOptions {
262
+ fontSizes?: Partial<ChartFontSizes>;
263
+ }
264
+ /**
265
+ * 扫描 `root` 下的占位并挂载预置组件。
266
+ *
267
+ * 逐个占位独立处理:一个坏占位只降级它自己,不会让整篇文档变空白。
268
+ */
269
+ declare function mountViewerComponents(root: ParentNode, options?: ViewerComponentsOptions): ViewerComponentsHandle;
270
+ //#endregion
271
+ //#region src/catalog/gauge.d.ts
272
+ /**
273
+ * `Gauge` 的百分比换算(0.11.0 分册 19 FR-19.2)。
274
+ *
275
+ * catalog 的 React `SpecGauge` 与文档面的预置组件都读这一份:
276
+ * 换算里有两个容易各写各的判断——`max === min` 时不能除零、越界值要夹紧——
277
+ * 两处各写一遍就会在边界值上给出不同的条。
278
+ */
279
+ declare function gaugePercent(value: number, min: number, max: number): number;
280
+ //#endregion
156
281
  //#region src/web/webFormBridge.d.ts
157
282
  /**
158
283
  * 框架无关原生 DOM 的 UiBridge:request 渲染表单并返回 Promise
@@ -236,7 +361,15 @@ interface UiSpecDegradation {
236
361
  kind: 'prop-dropped' | 'node-dropped' | 'unknown-component' | 'constraint-ignored' | 'condition-invalid';
237
362
  component: string;
238
363
  detail: string;
364
+ /**
365
+ * 稳定降级码,供上层可编程处理(AC-13.4)。
366
+ * 只有**策略性**拒绝才有码;纯粹的类型不匹配没有,那种只需要 detail。
367
+ * 组件在自己的 zod 里用 `codedError()` 声明,sanitize 自动提取——不维护组件名单。
368
+ */
369
+ code?: UiSpecDegradationCode;
239
370
  }
371
+ /** 稳定降级码。新增成员即新增公开契约,须登记。 */
372
+ type UiSpecDegradationCode = 'IMAGE_SRC_NOT_ALLOWED';
240
373
  interface UiSpecSanitization {
241
374
  /** `undefined` 表示连根节点都救不回来 */
242
375
  node: UiSpecNode | undefined;
@@ -294,10 +427,64 @@ declare const UI_CATALOG_GROUPS: {
294
427
  };
295
428
  /**
296
429
  * catalog 系统提示的体积上限(UTF-8 字节,FR-6.6)。
297
- * 描述每次请求都要重发,所以上限必须是可判定的数字而不是「尽量精简」。
298
- * 要改这个数字,先想清楚是否值得让每次请求都多付这些 token。
430
+ *
431
+ * **0.11.0 起只是 `CATALOG_PROMPT_MAX` 的别名**:旧值 20 480 相对实际 7 788 宽了 2.6 倍,
432
+ * 拦不住任何东西;且它只量提示词,漏掉了 `render_ui` 入参 Schema 那约两分之一的成本。
433
+ * @deprecated 用 `CATALOG_PROMPT_MAX` / `CATALOG_SCHEMA_MAX`(`./budget`)。
434
+ */
435
+ declare const UI_CATALOG_PROMPT_BUDGET_BYTES: number;
436
+ //#endregion
437
+ //#region src/catalog/budget.d.ts
438
+ /**
439
+ * catalog 请求体积上限(0.11.0 分册 14 / AC-G20)的**数字单一来源**。
440
+ *
441
+ * 度量与报错格式在 `scripts/catalogBudget.mjs`(`check:contracts` 与 vitest 共用);
442
+ * 那边不重复这些数字,一律从本模块读——两处各写一份阈值就等于没有阈值。
443
+ *
444
+ * catalog 进入每一次 LLM 请求的有两处:系统提示词 `toPrompt()` 与
445
+ * `render_ui` 入参 `toJsonSchema()`。只量前者会漏掉约 2/3 的成本。
446
+ *
447
+ * **超阈值的处置是砍组件或收窄枚举取值,不是抬高这里的数字。**
299
448
  */
300
- declare const UI_CATALOG_PROMPT_BUDGET_BYTES = 20480;
449
+ /**
450
+ * 预算阶段。分册 12 是本版最后一处 catalog 增量(分册 11 只把 `date` 加进
451
+ * 已有的 `Field.type`,分册 23 不碰 catalog),故在此切到 `'final'`:
452
+ * 阈值收紧到实测终态 + 余量,且余量小于一个平均组件的成本
453
+ * ——余量大于一个组件,等于默许下一版无声塞进一个。
454
+ */
455
+ declare const CATALOG_BUDGET_STAGE: 'entry' | 'final';
456
+ /**
457
+ * 阈值 = **已落地实测** + 余量,余量须小于一个平均组件的成本。
458
+ *
459
+ * 2026-08-14 实测终态(分册 12 落地后):prompt 12 744 / schema 21 470,30 个组件。
460
+ * 平均组件成本 prompt 425 / schema 716。
461
+ * 当前余量 prompt 256 / schema 330,均小于一个平均组件——再加一个组件必红。
462
+ *
463
+ * ⚠️ **本版这两个数字被上调过两次**,两次都由需求方裁决并改写了需求文档
464
+ * (分册 29 §2 范围订正 第 7 条与 §2.2),不是实现阶段自行放宽:
465
+ *
466
+ * 1. 11 200 → 12 200 / 20 500 → 21 200:分册 13 组件描述由短改长。
467
+ * `example` 是既有护栏的硬要求(`catalog.test.ts` 与 `catalogMatrix.test.tsx`
468
+ * 逐个组件校验并四档渲染),靠省掉示例腾出的空间收不回来。
469
+ * 2. 12 200 → 13 000 / 21 200 → 21 800:分册 12 的 `Split` 实测 490 + 694,
470
+ * 超出计划增量(403 + 1 047)的 prompt 侧。需求方裁定
471
+ * 「描述要长,可用性大于预算阈值」——收紧措辞可省回 158 字节,
472
+ * 但砍的正是各组件「何时改用 X」的辨析句,即选型准确率本身。
473
+ *
474
+ * 两次上调合计把单请求成本从 21.7 KB 抬到约 34.2 KB。
475
+ * **AC-G20 原文「超了砍组件、不抬阈值」已被推翻,但仅限本版;
476
+ * 后续再撞顶仍须回到需求方,不得沿用本版作为先例。**
477
+ */
478
+ declare const CATALOG_PROMPT_MAX = 13000;
479
+ declare const CATALOG_SCHEMA_MAX = 21800;
480
+ /**
481
+ * **尚未落地**的计划增量。本版已无剩余 catalog 增量,故归零;
482
+ * `CATALOG_BUDGET_STAGE` 同时切到 `'final'`,余量改由「小于一个平均组件」判定。
483
+ */
484
+ declare const PLANNED_INCREMENT: {
485
+ readonly prompt: 0;
486
+ readonly schema: 0;
487
+ };
301
488
  //#endregion
302
489
  //#region src/catalog/formScopes.d.ts
303
490
  /** 声明树里一个 `Form` 的提交作用域。@experimental */
@@ -769,4 +956,4 @@ interface LoadedOpenUiPeers {
769
956
  */
770
957
  declare function loadOpenUiPeers(): Promise<LoadedOpenUiPeers>;
771
958
  //#endregion
772
- export { UiSpecIssue as $, MAX_CONDITION_DEPTH as A, interactionToUiSpec as At, UI_CATALOG_PROMPT_BUDGET_BYTES as B, resolveColumnWidths as Bt, FieldCondition as C, ensureStyles as Ct, InteractionTexts as D, fromUiSurfaceActionDispatch as Dt, InteractionSpecLabels as E, fromA2uiSurfaceAction as Et, SPEC_TABLE_MIN_COLUMN_VAR as F, qualifyFieldName as Ft, UiCatalogInput as G, toA2uiSurfaceAction as Gt, UI_PRESET_NAMES as H, resolveSurfaceFormTexts as Ht, SPEC_TABLE_MIN_COLUMN_WIDTH as I, renderBlocks as It, UiComponentDef as J, toUiSurfaceActionDispatch as Jt, UiCatalogPromptOptions as K, toJsonRenderSpec as Kt, SpecColumnMeta as L, renderMiniChart as Lt, OpenUiRendererProps as M, loadWebSkillLitCatalog as Mt, OpenUiRuntime as N, mountEchart as Nt, JsonRenderSpec as O, fromVercelToolResult as Ot, RENDER_UI_TOOL as P, normalizeColumnWidths as Pt, UiSpecDegradation as Q, SurfaceFormTexts as R, renderMiniMarkdown as Rt, EvaluateFieldConditionOptions as S, defineUiCatalog as St, FormModel as T, fromA2uiSpecAction as Tt, UiActionDef as U, shapeInteractionValue as Ut, UI_PRESETS as V, resolveInteractionTexts as Vt, UiCatalog as W, toA2uiSpecMessages as Wt, UiPreset as X, uiCatalog as Xt, UiFormScope as Y, toVercelToolInvocation as Yt, UiPresetName as Z, uiPreset as Zt, ControlModel as _, collectFormScopes as _t, A2UI_SURFACE_ACTION as a, VercelUiBridge as at, DESCRIBE_UI_PRESET_TOOL as b, collectValues as bt, A2uiCatalogDefinition as c, WEBSKILL_SURFACE_ACTION as ct, A2uiMessage as d, a2uiComponentSchema as dt, UiSpecSanitization as et, A2uiSpecActionEvent as f, a2uiComponentShapes as ft, ColumnWidthsRejection as g, chartToTable as gt, CollectedValues as h, chartSpecFromProps as ht, A2UI_SPEC_FORM_PATH as i, VercelToolInvocation as it, NormalizedColumnWidths as j, loadOpenUiPeers as jt, LoadedOpenUiPeers as k, interactionToFormModel as kt, A2uiCatalogHandle as l, WebFormBridge as lt, CHART_PALETTE as m, buildA2uiCatalogDefinition as mt, A2UI_COMMON_TYPES as n, UiSurfaceActionDispatch as nt, A2UI_VERSION as o, WEBSKILL_A2UI_CATALOG_ID as ot, A2uiSpecMessageOptions as p, applySuggestion as pt, UiCatalogToolSourceOptions as q, toOpenUiSpecLang as qt, A2UI_SPEC_ACTION as r, VERCEL_INTERACTION_TOOL_NAME as rt, A2uiCatalogComponent as s, WEBSKILL_STYLES_CSS as st, A2UI_BASIC_CATALOG_ID as t, UiSpecValidation as tt, A2uiComponentShape as u, ZodRuntime as ut, DEFAULT_INTERACTION_TEXTS as v, collectScopedValues as vt, FieldConditionResult as w, evaluateFieldCondition as wt, EchartHandle as x, createUiCatalogToolSource as xt, DEFAULT_SURFACE_FORM_TEXTS as y, collectSpecActions as yt, UI_CATALOG_GROUPS as z, renderRenderResult as zt };
959
+ export { UiActionDef as $, qualifyFieldName as $t, EvaluateFieldConditionOptions as A, buildA2uiCatalogDefinition as At, OpenUiRendererProps as B, evaluateFieldCondition as Bt, DEFAULT_INTERACTION_TEXTS as C, WEBSKILL_STYLES_CSS as Ct, DOCUMENT_COMPONENTS as D, a2uiComponentSchema as Dt, DESCRIBE_UI_PRESET_TOOL as E, ZodRuntime as Et, InteractionTexts as F, collectSpecActions as Ft, SPEC_TABLE_MIN_COLUMN_WIDTH as G, gaugePercent as Gt, PLANNED_INCREMENT as H, fromA2uiSurfaceAction as Ht, JsonRenderSpec as I, collectValues as It, SurfaceHostControlTexts as J, loadOpenUiPeers as Jt, SpecColumnMeta as K, interactionToFormModel as Kt, LoadedOpenUiPeers as L, createUiCatalogToolSource as Lt, FieldConditionResult as M, chartToTable as Mt, FormModel as N, collectFormScopes as Nt, DocumentComponentName as O, a2uiComponentShapes as Ot, InteractionSpecLabels as P, collectScopedValues as Pt, UI_PRESET_NAMES as Q, normalizeColumnWidths as Qt, MAX_CONDITION_DEPTH as R, defineUiCatalog as Rt, DEFAULT_CHART_FONT_SIZES as S, WEBSKILL_A2UI_CATALOG_ID as St, DEFAULT_SURFACE_HOST_CONTROL_TEXTS as T, WebFormBridge as Tt, RENDER_UI_TOOL as U, fromUiSurfaceActionDispatch as Ut, OpenUiRuntime as V, fromA2uiSpecAction as Vt, SPEC_TABLE_MIN_COLUMN_VAR as W, fromVercelToolResult as Wt, UI_CATALOG_PROMPT_BUDGET_BYTES as X, mountEchart as Xt, UI_CATALOG_GROUPS as Y, loadWebSkillLitCatalog as Yt, UI_PRESETS as Z, mountViewerComponents as Zt, CHART_PALETTE as _, uiCatalog as _n, VIEWER_PROPS_ATTR as _t, A2UI_SURFACE_ACTION as a, resolveColumnWidths as an, UiFormScope as at, ColumnWidthsRejection as b, ViewerComponentsHandle as bt, A2uiCatalogDefinition as c, resolveSurfaceHostControlTexts as cn, UiSpecDegradation as ct, A2uiMessage as d, toA2uiSurfaceAction as dn, UiSpecSanitization as dt, renderBlocks as en, UiCatalog as et, A2uiSpecActionEvent as f, toEchartsOption as fn, UiSpecValidation as ft, CATALOG_SCHEMA_MAX as g, toVercelToolInvocation as gn, VIEWER_FALLBACK_ATTR as gt, CATALOG_PROMPT_MAX as h, toUiSurfaceActionDispatch as hn, VIEWER_COMPONENT_ATTR as ht, A2UI_SPEC_FORM_PATH as i, resolveChartFontSizes as in, UiComponentDef as it, FieldCondition as j, chartSpecFromProps as jt, EchartHandle as k, applySuggestion as kt, A2uiCatalogHandle as l, shapeInteractionValue as ln, UiSpecDegradationCode as lt, CATALOG_BUDGET_STAGE as m, toOpenUiSpecLang as mn, VERCEL_INTERACTION_TOOL_NAME as mt, A2UI_COMMON_TYPES as n, renderMiniMarkdown as nn, UiCatalogPromptOptions as nt, A2UI_VERSION as o, resolveInteractionTexts as on, UiPreset as ot, A2uiSpecMessageOptions as p, toJsonRenderSpec as pn, UiSurfaceActionDispatch as pt, SurfaceFormTexts as q, interactionToUiSpec as qt, A2UI_SPEC_ACTION as r, renderRenderResult as rn, UiCatalogToolSourceOptions as rt, A2uiCatalogComponent as s, resolveSurfaceFormTexts as sn, UiPresetName as st, A2UI_BASIC_CATALOG_ID as t, renderMiniChart as tn, UiCatalogInput as tt, A2uiComponentShape as u, toA2uiSpecMessages as un, UiSpecIssue as ut, ChartFontSizes as v, uiPreset as vn, VercelToolInvocation as vt, DEFAULT_SURFACE_FORM_TEXTS as w, WEBSKILL_SURFACE_ACTION as wt, ControlModel as x, ViewerComponentsOptions as xt, CollectedValues as y, VercelUiBridge as yt, NormalizedColumnWidths as z, ensureStyles as zt };