@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
@@ -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-C26b05fW-CdrRCRDb.js";
2
- import { At as RuntimeRun, En as WebSkillRuntime, J as IntegrityVerdict, Jt as SkillOutcomeReporter, Qt as SkillStateGuard, qt as SkillIntegrityGuard } from "./index-D3mONFHD.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-BcmFLykd.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 */
@@ -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-C26b05fW-CdrRCRDb.js";
2
- import { F as ExternalToolSource } from "./index-D3mONFHD.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
@@ -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
  /**
@@ -177,12 +257,16 @@ type DocumentComponentName = (typeof DOCUMENT_COMPONENTS)[number];
177
257
  interface ViewerComponentsHandle {
178
258
  dispose(): void;
179
259
  }
260
+ /** 宿主的呈现偏好;挂在本次挂载上,不做模块级全局 */
261
+ interface ViewerComponentsOptions {
262
+ fontSizes?: Partial<ChartFontSizes>;
263
+ }
180
264
  /**
181
265
  * 扫描 `root` 下的占位并挂载预置组件。
182
266
  *
183
267
  * 逐个占位独立处理:一个坏占位只降级它自己,不会让整篇文档变空白。
184
268
  */
185
- declare function mountViewerComponents(root: ParentNode): ViewerComponentsHandle;
269
+ declare function mountViewerComponents(root: ParentNode, options?: ViewerComponentsOptions): ViewerComponentsHandle;
186
270
  //#endregion
187
271
  //#region src/catalog/gauge.d.ts
188
272
  /**
@@ -872,4 +956,4 @@ interface LoadedOpenUiPeers {
872
956
  */
873
957
  declare function loadOpenUiPeers(): Promise<LoadedOpenUiPeers>;
874
958
  //#endregion
875
- export { UiCatalogToolSourceOptions as $, resolveColumnWidths as $t, FormModel as A, collectSpecActions as At, RENDER_UI_TOOL as B, gaugePercent as Bt, DESCRIBE_UI_PRESET_TOOL as C, a2uiComponentShapes as Ct, EvaluateFieldConditionOptions as D, chartToTable as Dt, EchartHandle as E, chartSpecFromProps as Et, MAX_CONDITION_DEPTH as F, evaluateFieldCondition as Ft, UI_CATALOG_GROUPS as G, mountEchart as Gt, SPEC_TABLE_MIN_COLUMN_WIDTH as H, interactionToUiSpec as Ht, NormalizedColumnWidths as I, fromA2uiSpecAction as It, UI_PRESET_NAMES as J, qualifyFieldName as Jt, UI_CATALOG_PROMPT_BUDGET_BYTES as K, mountViewerComponents as Kt, OpenUiRendererProps as L, fromA2uiSurfaceAction as Lt, InteractionTexts as M, createUiCatalogToolSource as Mt, JsonRenderSpec as N, defineUiCatalog as Nt, FieldCondition as O, collectFormScopes as Ot, LoadedOpenUiPeers as P, ensureStyles as Pt, UiCatalogPromptOptions as Q, renderRenderResult as Qt, OpenUiRuntime as R, fromUiSurfaceActionDispatch as Rt, DEFAULT_SURFACE_FORM_TEXTS as S, a2uiComponentSchema as St, DocumentComponentName as T, buildA2uiCatalogDefinition as Tt, SpecColumnMeta as U, loadOpenUiPeers as Ut, SPEC_TABLE_MIN_COLUMN_VAR as V, interactionToFormModel as Vt, SurfaceFormTexts as W, loadWebSkillLitCatalog as Wt, UiCatalog as X, renderMiniChart as Xt, UiActionDef as Y, renderBlocks as Yt, UiCatalogInput as Z, renderMiniMarkdown as Zt, CHART_PALETTE as _, WEBSKILL_A2UI_CATALOG_ID as _t, A2UI_SURFACE_ACTION as a, toJsonRenderSpec as an, UiSpecDegradationCode as at, ControlModel as b, WebFormBridge as bt, A2uiCatalogDefinition as c, toVercelToolInvocation as cn, UiSpecValidation as ct, A2uiMessage as d, VIEWER_COMPONENT_ATTR as dt, resolveInteractionTexts as en, UiComponentDef as et, A2uiSpecActionEvent as f, VIEWER_FALLBACK_ATTR as ft, CATALOG_SCHEMA_MAX as g, ViewerComponentsHandle as gt, CATALOG_PROMPT_MAX as h, VercelUiBridge as ht, A2UI_SPEC_FORM_PATH as i, toA2uiSurfaceAction as in, UiSpecDegradation as it, InteractionSpecLabels as j, collectValues as jt, FieldConditionResult as k, collectScopedValues as kt, A2uiCatalogHandle as l, uiCatalog as ln, UiSurfaceActionDispatch as lt, CATALOG_BUDGET_STAGE as m, VercelToolInvocation as mt, A2UI_COMMON_TYPES as n, shapeInteractionValue as nn, UiPreset as nt, A2UI_VERSION as o, toOpenUiSpecLang as on, UiSpecIssue as ot, A2uiSpecMessageOptions as p, VIEWER_PROPS_ATTR as pt, UI_PRESETS as q, normalizeColumnWidths as qt, A2UI_SPEC_ACTION as r, toA2uiSpecMessages as rn, UiPresetName as rt, A2uiCatalogComponent as s, toUiSurfaceActionDispatch as sn, UiSpecSanitization as st, A2UI_BASIC_CATALOG_ID as t, resolveSurfaceFormTexts as tn, UiFormScope as tt, A2uiComponentShape as u, uiPreset as un, VERCEL_INTERACTION_TOOL_NAME as ut, CollectedValues as v, WEBSKILL_STYLES_CSS as vt, DOCUMENT_COMPONENTS as w, applySuggestion as wt, DEFAULT_INTERACTION_TEXTS as x, ZodRuntime as xt, ColumnWidthsRejection as y, WEBSKILL_SURFACE_ACTION as yt, PLANNED_INCREMENT as z, fromVercelToolResult 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 };
@@ -1,4 +1,4 @@
1
- import { B as JsonSchema, G as RemoteUrlPolicy, I as DiscoveryResult, O as UiSurfaceActionRequest, R as FileSystemProvider, S as UiBridge, St as ValidationReport, T as UiSpecEvent, Tt as WebSkillErrorCode, U as Page, W as PageQuery, _ as LlmToolSpec, at as SkillDiscovery, b as RenderResultRequest, bt as UiSpecNode, d as LlmContentPart, dt as SkillManifest, f as LlmMessage, g as LlmToolCall, h as LlmTokenUsage, i as FormField, it as SkillCatalogEntry, l as LlmClient, m as LlmStreamEvent, n as ArtifactStore, o as InteractionPolicy, ot as SkillDocument, p as LlmResponse, r as ChartSpec, rt as SkillCatalog, s as InteractionRequest, st as SkillInstallSource, t as Artifact, u as LlmCompleteInput, v as MemoryStore, w as UiSpecDrafts, y as RenderBlock } from "./types-C26b05fW-CdrRCRDb.js";
1
+ import { B as JsonSchema, G as RemoteUrlPolicy, I as DiscoveryResult, O as UiSurfaceActionRequest, R as FileSystemProvider, S as UiBridge, St as ValidationReport, T as UiSpecEvent, Tt as WebSkillErrorCode, U as Page, W as PageQuery, _ as LlmToolSpec, at as SkillDiscovery, b as RenderResultRequest, bt as UiSpecNode, d as LlmContentPart, dt as SkillManifest, f as LlmMessage, g as LlmToolCall, h as LlmTokenUsage, i as FormField, it as SkillCatalogEntry, l as LlmClient, m as LlmStreamEvent, n as ArtifactStore, o as InteractionPolicy, ot as SkillDocument, p as LlmResponse, r as ChartSpec, rt as SkillCatalog, s as InteractionRequest, st as SkillInstallSource, t as Artifact, u as LlmCompleteInput, v as MemoryStore, w as UiSpecDrafts, y as RenderBlock } from "./types-DLctJep_-B5G4uk2u.js";
2
2
  //#region ../runtime/dist/index.d.ts
3
3
  //#region src/llm/parts.d.ts
4
4
  /** 纯文本消息内容的构造快捷方式(引擎内部绝大多数消息仍是纯文本) */
@@ -115,8 +115,14 @@ interface ScriptExecutionContext {
115
115
  readAsset?(relativePath: string): Promise<string>;
116
116
  /** `assets/` 的典型内容是图片/字体/数据包,纯文本出口不够 @experimental */
117
117
  readAssetBinary?(relativePath: string): Promise<Uint8Array>;
118
+ /**
119
+ * 写 run 产物。`options.metadata` 由技能自定义并随产物索引落盘;
120
+ * 约定键 `resultCard: false` 表示该产物不出自动下载卡(分册 18)。
121
+ * 必须是可 JSON 序列化的 plain object,否则抛 `VALIDATION_FAILED` 且产物不落盘。
122
+ */
118
123
  writeArtifact(path: string, content: string | Uint8Array, options?: {
119
124
  mimeType?: string;
125
+ metadata?: Record<string, unknown>;
120
126
  }): Promise<Artifact>;
121
127
  /**
122
128
  * 按**宿主声明的 sourceId** 取数(FR-16.1)。脚本给不了 URL——
@@ -1117,6 +1123,12 @@ type BridgeRequest = {
1117
1123
  path: string;
1118
1124
  content: string | number[];
1119
1125
  mimeType?: string;
1126
+ /**
1127
+ * 技能声明的产物 metadata(分册 18)。**不可信载荷**,故声明为 `unknown`:
1128
+ * 形状判定在 `createScriptContext.writeArtifact`(唯一汇聚点,DV-10),
1129
+ * 在这里拒绝只能 `return undefined`,而那会丢掉请求 id 使脚本挂到超时。
1130
+ */
1131
+ metadata?: unknown;
1120
1132
  } | {
1121
1133
  kind: 'confirm';
1122
1134
  id: string;
@@ -1315,6 +1327,70 @@ declare const UNSUPPORTED_DOCUMENT_MESSAGE: string;
1315
1327
  */
1316
1328
  declare const READ_LINKED_DOCUMENT_TOOL: ToolDefinition;
1317
1329
  //#endregion
1330
+ //#region src/engine/toolStep.d.ts
1331
+ /**
1332
+ * 一次工具调用的**未截断**参数留存(分册 30 / FR-30.2)。
1333
+ *
1334
+ * 刻意不并入 `RunTraceFile`:那是 `@stable` 且不留扩展位的契约,
1335
+ * 每个 run 都写、所有宿主都读;为一个默认关闭的能力抬它的 schemaVersion
1336
+ * 不划算(D-30-1 裁为 B)。
1337
+ * @stable
1338
+ */
1339
+ interface ToolStepRecord {
1340
+ runId: string;
1341
+ sessionId: string;
1342
+ callId: string;
1343
+ /** LLM 可见的工具名 */
1344
+ tool: string;
1345
+ at: string;
1346
+ /** 脱敏后的参数:被脱敏的键仍在,值不在 */
1347
+ args: Record<string, unknown>;
1348
+ /** 被脱敏掉的字段路径(如 `credentials.token`),供确认卡与审计 */
1349
+ redacted: readonly string[];
1350
+ /** 超出体积上限:`args` 为空对象,生成器据此拒绝该步骤 */
1351
+ truncated?: true;
1352
+ /** 未脱敏字段的依据(AC-30.6d) */
1353
+ trust: ToolStepTrust;
1354
+ }
1355
+ /**
1356
+ * 参数留存的信任层级。
1357
+ * - `reviewed`:本仓自带工具源,schema 标注已被审查
1358
+ * - `host-trusted`:外部来源,但宿主显式声明信任(`declaredBy` 记声明标识)
1359
+ * - `untrusted`:缺省——未标注字段一律按敏感处理
1360
+ * @stable
1361
+ */
1362
+ type ToolStepTrust = {
1363
+ tier: 'reviewed' | 'host-trusted';
1364
+ declaredBy?: string;
1365
+ } | {
1366
+ tier: 'untrusted';
1367
+ };
1368
+ /** 只读侧:生成器只需要「这个会话有哪些步骤」 @stable */
1369
+ interface ToolStepReader {
1370
+ listBySession(sessionId: string): Promise<ToolStepRecord[]>;
1371
+ }
1372
+ /** @stable */
1373
+ interface ToolStepStore extends ToolStepReader {
1374
+ append(record: ToolStepRecord): Promise<void>;
1375
+ }
1376
+ /**
1377
+ * 按会话分文件的 append-only JSONL 留存。
1378
+ *
1379
+ * 分文件维度取会话而非 run:读取侧唯一的查询就是「这个会话的全部步骤」,
1380
+ * 按 run 分会让一次生成要开 N 个文件。
1381
+ */
1382
+ declare class FsToolStepStore implements ToolStepStore {
1383
+ #private;
1384
+ constructor(deps: {
1385
+ root: string;
1386
+ fs: FileSystemProvider;
1387
+ /** 留存失败不阻断对话:默认降级为告警 */
1388
+ onError?: (error: unknown, record: ToolStepRecord) => void;
1389
+ });
1390
+ append(record: ToolStepRecord): Promise<void>;
1391
+ listBySession(sessionId: string): Promise<ToolStepRecord[]>;
1392
+ }
1393
+ //#endregion
1318
1394
  //#region src/engine/external.d.ts
1319
1395
  /**
1320
1396
  * 外部工具来源(runtime 扩展点,mcp 包实现并插入)。
@@ -1333,6 +1409,28 @@ interface ExternalToolSource {
1333
1409
  systemPrompt?(): Promise<string | undefined>;
1334
1410
  canHandle(llmToolName: string): boolean;
1335
1411
  call(llmToolName: string, args: Record<string, unknown>): Promise<ToolResult>;
1412
+ /**
1413
+ * 参数留存的信任判定(分册 30 / FR-30.3)。**不实现 ⇒ 该源全部工具按 untrusted 处理**(参数全脱敏)。
1414
+ *
1415
+ * 字段级敏感性只写在 `inputSchema` 的 `x-webskill-sensitive` 标注里,本方法不重复表达它,
1416
+ * 否则会有两份事实源。本方法回答的是另一个问题:**这一次调用的参数整体能不能按审查过的处理**。
1417
+ *
1418
+ * 传入 `args` 是为了让「敏感与否取决于运行期目标」的工具能如实回答——
1419
+ * 例如 `act_on_page` 的填写内容是否敏感,取决于目标是不是密码类控件,
1420
+ * 静态 schema 看不出来。这类工具应在敏感目标上返回 `untrusted`(整调用全脱敏),
1421
+ * 而不是把字段永久标成敏感、让所有正常填写也一并丢失。
1422
+ */
1423
+ argCaptureTrust?(llmToolName: string, args: Record<string, unknown>): ToolStepTrust | undefined;
1424
+ /**
1425
+ * 留存前把入参补成自解释的形状(分册 30 / FR-30.2)。**不实现即原样留存。**
1426
+ *
1427
+ * 给的是 `act_on_page` 这类工具一个出口:它的 `ref` 是本次感知产出的不透明句柄,
1428
+ * 换一次运行就失效,只留它等于留了一个指向不存在东西的引用。工具源在这里补上
1429
+ * 目标的角色与可访问名,生成的技能才说得出「填进哪个框」。
1430
+ *
1431
+ * 补出来的字段照样过脱敏:它们不在 `inputSchema` 里,因此在 `untrusted` 层同样被抹掉。
1432
+ */
1433
+ captureArgs?(llmToolName: string, args: Record<string, unknown>): Record<string, unknown> | undefined;
1336
1434
  }
1337
1435
  /** 外部技能提供者(页面动态技能等;技能随来源生灭,不持久化) */
1338
1436
  interface ExternalSkillProvider {
@@ -1510,6 +1608,11 @@ interface AgentLoopDeps {
1510
1608
  skillOutcomeReporter?: SkillOutcomeReporter;
1511
1609
  /** D3:interrupt 点快照存储(无配置则行为与现状完全一致) */
1512
1610
  snapshotStore?: RunSnapshotStore;
1611
+ /**
1612
+ * 工具调用的完整参数留存(分册 30)。**不注入即不留存**——
1613
+ * AC-30.15 因此是结构性的:不是「有个判断没走进去」,是根本没有写入方。
1614
+ */
1615
+ toolSteps?: ToolStepStore;
1513
1616
  }
1514
1617
  /**
1515
1618
  * 多轮 Agent 循环。
@@ -1550,10 +1653,18 @@ declare class AgentLoop {
1550
1653
  * @stable
1551
1654
  */
1552
1655
  declare const DEFAULT_LOOP_LIMITS: {
1553
- readonly maxTurns: 10;
1656
+ readonly maxTurns: 1000;
1554
1657
  readonly totalTimeoutMs: 3600000;
1555
1658
  readonly toolTimeoutMs: 600000;
1659
+ readonly maxHistoryMessages: 1000;
1556
1660
  };
1661
+ /**
1662
+ * 工具参数留存的单次体积上限(分册 30 / FR-30.2)。**全仓唯一来源**(S8)。
1663
+ *
1664
+ * 超限时不留半截参数,整条标记为 `truncated`。
1665
+ * @stable
1666
+ */
1667
+ declare const MAX_TOOL_STEP_ARG_BYTES = 32768;
1557
1668
  /**
1558
1669
  * 触顶类失败(`RUN_TIMEOUT` / `RUN_MAX_TURNS_EXCEEDED`)记进 `run.failed`
1559
1670
  * 轨迹事件 `data` 的结构化细节:程序化消费方据此判断是哪个上限、当时的生效值,
@@ -1610,6 +1721,8 @@ interface WebSkillRuntimeDeps {
1610
1721
  }) => Promise<void>;
1611
1722
  /** D3:interrupt 点快照存储(配置后 interrupted run 可 resumeRun 恢复) */
1612
1723
  snapshotStore?: RunSnapshotStore;
1724
+ /** 工具调用的完整参数留存(分册 30);**不注入即不留存** */
1725
+ toolSteps?: ToolStepStore;
1613
1726
  /** 技能状态拦截 port(治理 SkillStatePolicy.toSkillStateGuard 装配;无注入默认全放行) */
1614
1727
  skillStateGuard?: SkillStateGuard;
1615
1728
  /** D3 激活期完整性校验 port(治理 SkillStatePolicy.toSkillIntegrityGuard 装配;无注入即关闭) */
@@ -1658,7 +1771,7 @@ declare class WebSkillRuntime {
1658
1771
  * 多会话:session 对象的 run(prompt) 跨 run 延续消息历史(同一 session 对话上下文连续)。
1659
1772
  * 既有 runtime.run(prompt) 保持无状态单次语义不变。
1660
1773
  * 同 handle 并发 run 经 per-handle 队列串行化(防历史 last-writer-wins 丢轮次);
1661
- * maxHistoryMessages(默认 100)超出时滚动裁剪中段(保留首尾;边界对齐 tool 契约)。
1774
+ * maxHistoryMessages(默认取 `DEFAULT_LOOP_LIMITS`)超出时滚动裁剪中段(保留首尾;边界对齐 tool 契约)。
1662
1775
  */
1663
1776
  createSession(options?: {
1664
1777
  sessionId?: string;
@@ -1739,6 +1852,10 @@ interface RunTraceSummary {
1739
1852
  interface RunTraceFilter {
1740
1853
  /** 状态精确匹配 */
1741
1854
  status?: string;
1855
+ /**
1856
+ * 会话精确匹配。刻意不走 `search`:子串匹配会让 `sess-1` 命中 `sess-10`。
1857
+ */
1858
+ sessionId?: string;
1742
1859
  /** 大小写不敏感子串:匹配 runId 或任一激活技能名 */
1743
1860
  search?: string;
1744
1861
  limit?: number;
@@ -1967,4 +2084,31 @@ declare class FsSessionStore<TMessage = unknown> implements SessionStore<TMessag
1967
2084
  delete(id: string): Promise<void>;
1968
2085
  }
1969
2086
  //#endregion
1970
- export { LifecycleHookContext as $, normalizeToolError as $n, SkillSuccessReport as $t, DocxTextExtractor as A, bridgeError as An, RuntimeRun as At, FsRunTraceStore as B, formatSkillScriptManifest as Bn, SealResult as Bt, CapabilityApproval as C, UserProfileLimits as Cn, RunTraceFile as Ct, DEFAULT_MAX_DOCUMENT_BYTES as D, WebSkillRuntimeDeps as Dn, RunTraceSummary as Dt, DEFAULT_MAX_DATA_SOURCE_BYTES as E, WebSkillRuntime as En, RunTraceStore as Et, ExternalToolSource as F, exportUserProfile as Fn, SchemaInferer as Ft, HookRunner as G, isUnsupportedRunSnapshot as Gn, SessionStore as Gt, FullDisclosureRouter as H, fromVercelStreamPart as Hn, SessionListPage as Ht, FS_SESSION_PAGE_SIZE as I, extractChartSpec as In, ScriptExecutionContext as It, IntegrityVerdict as J, mergeProfileEntries as Jn, SkillOutcomeReporter as Jt, HookRunnerOptions as K, listSkillScripts as Kn, SkillFailureReport as Kt, FsArtifactStore as L, extractTodoTraceEvents as Ln, ScriptExecutor as Lt, EventBus as M, createScriptContext as Mn, RuntimeSessionHandle as Mt, ExecuteLifecycleData as N, createWebSkillApi as Nn, SESSION_SCHEMA_VERSION as Nt, DEFAULT_MAX_DOCUMENT_TEXT_BYTES as O, appendBehaviorRecords as On, RunUsageSummary as Ot, ExternalSkillProvider as P, diffUserProfile as Pn, SUPPORTED_DOCUMENT_MIME as Pt, LifecycleHook as Q, normalizeToolContent as Qn, SkillStateGuard as Qt, FsMemoryStore as R, extractUiSpecEvents as Rn, SealOptions as Rt, BridgeResponse as S, UserProfileImportDiff as Sn, RunToolCall as St, DEFAULT_LOOP_LIMITS as T, WebSkillApi as Tn, RunTraceMetrics as Tt, GoogleGenAiClient as U, interruptedToolResult as Un, SessionMeta as Ut, FsSessionStore as V, fromVercelResult as Vn, SerializingMemoryStore as Vt, GoogleGenAiClientConfig as W, isNetworkAllowed as Wn, SessionRecord as Wt, LifecycleEvent as X, networkUrlHost as Xn, SkillScriptDescriptor as Xt, InteractLifecycleData as Y, networkPolicyLibSource as Yn, SkillRouter as Yt, LifecycleEventInit as Z, normalizeErrorCode as Zn, SkillScriptSchemaSource as Zt, BehaviorRecordKind as _, USER_PROFILE_REFINE_PROMPT as _n, toLlmToolSpec as _r, RunResult as _t, ASK_USER_TOOL as a, ToolDefinition as an, readUserProfile as ar, ProgressiveRouter as at, BridgeCapability as b, UserProfileEntry as bn, validateUiSpecEvent as br, RunSnapshotStore as bt, AgentLoop as c, TraceClock as cn, resolveToolName as cr, READ_SKILL_FILE_INPUT_SCHEMA as ct, AnthropicClient as d, TraceRecorder as dn, schemaToForm as dr, RUN_SNAPSHOT_SCHEMA_VERSION as dt, TEXT_BUDGETED_CONTENT_TYPES as en, parseBridgeRequest as er, LifecycleListener as et, AnthropicClientConfig as f, UNSUPPORTED_DOCUMENT_MESSAGE as fn, scriptToolName as fr, RUN_TRACE_SCHEMA_VERSION as ft, BehaviorRecord as g, USER_PROFILE_PROMPT_HEADER as gn, textParts as gr, RunLimitErrorDetails as gt, BEHAVIOR_RECORDS_KEY as h, USER_PROFILE_NO_INVENTION_RULE as hn, summarizeToolCalls as hr, RouteResult as ht, ASK_USER_MAX_FIELDS as i, ToolContent as in, readProfileEntries as ir, OpenAiCompatibleClientConfig as it, EMPTY_USER_PROFILE as j, buildRenderResult as jn, RuntimeSession as jt, DEFAULT_USER_PROFILE_LIMITS as k, applyUserProfileImport as kn, RuntimePhase as kt, AgentLoopConfig as l, TraceEvent as ln, sampleBehaviorRecords as lr, READ_SKILL_FILE_TOOL as lt, ApprovalScope as m, USER_PROFILE_KEY as mn, summarizeRunUsage as mr, RouteLifecycleData as mt, ASK_USER_FIELD_TYPES as n, TextualToolContent as nn, partsToText as nr, NetworkPolicy as nt, ASK_USER_TOOL_NAME as o, ToolResolution as on, refineUserProfile as or, READ_LINKED_DOCUMENT_TOOL as ot, ApprovalDecision as p, USER_PROFILE_EXPORT_VERSION as pn, sealToolCallPairs as pr, RefineUserProfileInput as pt, InstalledSkillManifest as q, mergeCatalogEntries as qn, SkillIntegrityGuard as qt, ASK_USER_INPUT_SCHEMA as r, TodoTraceEvent as rn, readBehaviorRecords as rr, OpenAiCompatibleClient as rt, ActivateLifecycleData as s, ToolResult as sn, renderUserProfileContext as sr, READ_LINKED_DOCUMENT_TOOL_NAME as st, ALLOWED_TOOLS_EXCLUSION_REASON as t, TerminalLifecycleData as tn, parseUserProfileExport as tr, LinkedDocumentReader as tt, AgentLoopDeps as u, TraceEventType as un, schemaSourceLabel as ur, READ_SKILL_FILE_TOOL_NAME as ut, BehaviorScene as v, UnsupportedRunSnapshot as vn, toRecordDigests as vr, RunSnapshot as vt, CapabilityMode as w, VercelToolSpec as wn, RunTraceFilter as wt, BridgeRequest as x, UserProfileExport as xn, validateUiSpecNode as xr, RunTerminationReason as xt, BridgeCapabilities as y, UserProfile as yn, toVercelToolSpecs as yr, RunSnapshotListEntry as yt, FsRunSnapshotStore as z, findUnpairedToolCalls as zn, SealRecord as zt };
2087
+ //#region src/engine/toolStepRedaction.d.ts
2088
+ /**
2089
+ * 参数敏感标注关键字(分册 30 / FR-30.3)。
2090
+ *
2091
+ * 不用 `format: 'password'`:`format` 是 JSON Schema 的规范关键字,provider 侧
2092
+ * 可能据其做转换或校验,而且它只对 `type: 'string'` 有意义,对象型凭据标不了。
2093
+ * `x-` 前缀走 `JsonSchema` 的索引签名,不与任何规范语义抢占。
2094
+ */
2095
+ declare const SENSITIVE_ANNOTATION = "x-webskill-sensitive";
2096
+ interface RedactedArgs {
2097
+ /** 脱敏后的参数:被脱敏的键仍在,值为 `null` */
2098
+ args: Record<string, unknown>;
2099
+ /** 被脱敏掉的字段路径,点号分隔;数组元素用 `field[0]` */
2100
+ redacted: string[];
2101
+ truncated?: true;
2102
+ }
2103
+ /**
2104
+ * 分层脱敏(FR-30.3)——**全仓唯一实现**。
2105
+ *
2106
+ * 1. `untrusted` → 所有字段脱敏;
2107
+ * 2. `reviewed` / `host-trusted` → 逐字段走 schema,标注为敏感的脱敏。
2108
+ *
2109
+ * 标注为敏感的字段在**任何**层级都脱敏:信任声明说的是「未标注的可以留」,
2110
+ * 不是「标注了也能留」。
2111
+ */
2112
+ declare function redactToolStepArgs(args: Record<string, unknown>, schema: JsonSchema | undefined, trust: ToolStepTrust): RedactedArgs;
2113
+ //#endregion
2114
+ export { LifecycleHook as $, isUnsupportedRunSnapshot as $n, SkillRouter as $t, DocxTextExtractor as A, UserProfileImportDiff as An, validateUiSpecNode as Ar, RunTraceSummary as At, FsRunTraceStore as B, createScriptContext as Bn, ScriptExecutionContext as Bt, CapabilityApproval as C, USER_PROFILE_NO_INVENTION_RULE as Cn, summarizeRunUsage as Cr, RunSnapshotStore as Ct, DEFAULT_MAX_DOCUMENT_BYTES as D, UserProfile as Dn, toRecordDigests as Dr, RunTraceFilter as Dt, DEFAULT_MAX_DATA_SOURCE_BYTES as E, UnsupportedRunSnapshot as En, toLlmToolSpec as Er, RunTraceFile as Et, ExternalToolSource as F, WebSkillRuntimeDeps as Fn, RuntimeSessionHandle as Ft, GoogleGenAiClientConfig as G, extractTodoTraceEvents as Gn, SerializingMemoryStore as Gt, FsToolStepStore as H, diffUserProfile as Hn, SealOptions as Ht, FS_SESSION_PAGE_SIZE as I, appendBehaviorRecords as In, SENSITIVE_ANNOTATION as It, InstalledSkillManifest as J, formatSkillScriptManifest as Jn, SessionRecord as Jt, HookRunner as K, extractUiSpecEvents as Kn, SessionListPage as Kt, FsArtifactStore as L, applyUserProfileImport as Ln, SESSION_SCHEMA_VERSION as Lt, EventBus as M, VercelToolSpec as Mn, RuntimePhase as Mt, ExecuteLifecycleData as N, WebSkillApi as Nn, RuntimeRun as Nt, DEFAULT_MAX_DOCUMENT_TEXT_BYTES as O, UserProfileEntry as On, toVercelToolSpecs as Or, RunTraceMetrics as Ot, ExternalSkillProvider as P, WebSkillRuntime as Pn, RuntimeSession as Pt, LifecycleEventInit as Q, isNetworkAllowed as Qn, SkillOutcomeReporter as Qt, FsMemoryStore as R, bridgeError as Rn, SUPPORTED_DOCUMENT_MIME as Rt, BridgeResponse as S, USER_PROFILE_KEY as Sn, sealToolCallPairs as Sr, RunSnapshotListEntry as St, DEFAULT_LOOP_LIMITS as T, USER_PROFILE_REFINE_PROMPT as Tn, textParts as Tr, RunToolCall as Tt, FullDisclosureRouter as U, exportUserProfile as Un, SealRecord as Ut, FsSessionStore as V, createWebSkillApi as Vn, ScriptExecutor as Vt, GoogleGenAiClient as W, extractChartSpec as Wn, SealResult as Wt, InteractLifecycleData as X, fromVercelStreamPart as Xn, SkillFailureReport as Xt, IntegrityVerdict as Y, fromVercelResult as Yn, SessionStore as Yt, LifecycleEvent as Z, interruptedToolResult as Zn, SkillIntegrityGuard as Zt, BehaviorRecordKind as _, TraceEvent as _n, resolveToolName as _r, RouteLifecycleData as _t, ASK_USER_TOOL as a, TerminalLifecycleData as an, normalizeErrorCode as ar, OpenAiCompatibleClient as at, BridgeCapability as b, UNSUPPORTED_DOCUMENT_MESSAGE as bn, schemaToForm as br, RunResult as bt, AgentLoop as c, ToolContent as cn, parseBridgeRequest as cr, READ_LINKED_DOCUMENT_TOOL as ct, AnthropicClient as d, ToolResult as dn, readBehaviorRecords as dr, READ_SKILL_FILE_TOOL as dt, SkillScriptDescriptor as en, listSkillScripts as er, LifecycleHookContext as et, AnthropicClientConfig as f, ToolStepReader as fn, readProfileEntries as fr, READ_SKILL_FILE_TOOL_NAME as ft, BehaviorRecord as g, TraceClock as gn, renderUserProfileContext as gr, RefineUserProfileInput as gt, BEHAVIOR_RECORDS_KEY as h, ToolStepTrust as hn, refineUserProfile as hr, RedactedArgs as ht, ASK_USER_MAX_FIELDS as i, TEXT_BUDGETED_CONTENT_TYPES as in, networkUrlHost as ir, NetworkPolicy as it, EMPTY_USER_PROFILE as j, UserProfileLimits as jn, RunUsageSummary as jt, DEFAULT_USER_PROFILE_LIMITS as k, UserProfileExport as kn, validateUiSpecEvent as kr, RunTraceStore as kt, AgentLoopConfig as l, ToolDefinition as ln, parseUserProfileExport as lr, READ_LINKED_DOCUMENT_TOOL_NAME as lt, ApprovalScope as m, ToolStepStore as mn, redactToolStepArgs as mr, RUN_TRACE_SCHEMA_VERSION as mt, ASK_USER_FIELD_TYPES as n, SkillStateGuard as nn, mergeProfileEntries as nr, LinkedDocumentReader as nt, ASK_USER_TOOL_NAME as o, TextualToolContent as on, normalizeToolContent as or, OpenAiCompatibleClientConfig as ot, ApprovalDecision as p, ToolStepRecord as pn, readUserProfile as pr, RUN_SNAPSHOT_SCHEMA_VERSION as pt, HookRunnerOptions as q, findUnpairedToolCalls as qn, SessionMeta as qt, ASK_USER_INPUT_SCHEMA as r, SkillSuccessReport as rn, networkPolicyLibSource as rr, MAX_TOOL_STEP_ARG_BYTES as rt, ActivateLifecycleData as s, TodoTraceEvent as sn, normalizeToolError as sr, ProgressiveRouter as st, ALLOWED_TOOLS_EXCLUSION_REASON as t, SkillScriptSchemaSource as tn, mergeCatalogEntries as tr, LifecycleListener as tt, AgentLoopDeps as u, ToolResolution as un, partsToText as ur, READ_SKILL_FILE_INPUT_SCHEMA as ut, BehaviorScene as v, TraceEventType as vn, sampleBehaviorRecords as vr, RouteResult as vt, CapabilityMode as w, USER_PROFILE_PROMPT_HEADER as wn, summarizeToolCalls as wr, RunTerminationReason as wt, BridgeRequest as x, USER_PROFILE_EXPORT_VERSION as xn, scriptToolName as xr, RunSnapshot as xt, BridgeCapabilities as y, TraceRecorder as yn, schemaSourceLabel as yr, RunLimitErrorDetails as yt, FsRunSnapshotStore as z, buildRenderResult as zn, SchemaInferer as zt };
@@ -1,5 +1,5 @@
1
- import { G as RemoteUrlPolicy, S as UiBridge, Tt as WebSkillErrorCode, a as InteractionOrigin, c as InteractionResponse, s as InteractionRequest } from "./types-C26b05fW-CdrRCRDb.js";
2
- import { F as ExternalToolSource } from "./index-D3mONFHD.js";
1
+ import { G as RemoteUrlPolicy, S as UiBridge, Tt as WebSkillErrorCode, a as InteractionOrigin, c as InteractionResponse, s as InteractionRequest } from "./types-DLctJep_-B5G4uk2u.js";
2
+ import { F as ExternalToolSource, fn as ToolStepReader } from "./index-C9pzXLKy.js";
3
3
  //#region ../agent/dist/index.d.ts
4
4
  //#region src/todo/types.d.ts
5
5
  /** 待办条目状态:未开始 / 进行中 / 已完成(FR-3.1) */
@@ -94,6 +94,16 @@ interface GeneratedSkillDraft {
94
94
  path: string;
95
95
  content: string;
96
96
  }[];
97
+ /**
98
+ * 模型声称这个技能会执行的工具调用(分册 30 / FR-30.4)。
99
+ *
100
+ * 做成结构化入参而不是从 `content` 正文里扫工具名:正文是自由文本,
101
+ * 扫描既会漏(模型写「点击提交按钮」而不写工具名)又会误命中(提到但没执行)。
102
+ */
103
+ steps?: readonly {
104
+ tool: string;
105
+ args?: Record<string, unknown>;
106
+ }[];
97
107
  }
98
108
  /**
99
109
  * 候选收货端口。实现由宿主注入——`@webskill/agent` 不依赖 `@webskill/governance`
@@ -136,12 +146,34 @@ interface SkillGeneratorOptions {
136
146
  now?: () => Date;
137
147
  /** 界面文案注入口:生成器与语言无关,字典在宿主手里(UI-UX5 #9) */
138
148
  messages?: SkillGenerationMessages;
149
+ /**
150
+ * 本会话的运行轨迹(分册 30)。**不注入即不校验、不展示证据**,行为与 0.11.0 一致——
151
+ * 这既让本册可分步落地,也给 AC-30.14 的反向对照留了现成的造法。
152
+ */
153
+ steps?: ToolStepReader;
139
154
  }
140
155
  /** 生成器面向用户的文案;缺省全部为英文模板 */
141
156
  interface SkillGenerationMessages {
142
157
  /** 授权确认卡的正文(含技能名与描述插值由实现方完成) */
143
158
  confirmSkill?(draft: GeneratedSkillDraft): string;
144
159
  }
160
+ /**
161
+ * 确认卡上的一步(分册 30 / FR-30.5)。
162
+ * `evidence` 区分「这一步在本会话真的跑过」与「模型自己补写的」。
163
+ */
164
+ interface SkillTraceEvidenceStep {
165
+ tool: string;
166
+ evidence: 'trace' | 'model';
167
+ /** 轨迹里的原始参数(已脱敏);无背书时缺省 */
168
+ traceArgs?: Record<string, unknown>;
169
+ /** 模型在草稿里写的参数 */
170
+ draftArgs?: Record<string, unknown>;
171
+ /** 轨迹里被脱敏掉的字段路径 */
172
+ redacted?: readonly string[];
173
+ }
174
+ interface SkillTraceEvidence {
175
+ steps: readonly SkillTraceEvidenceStep[];
176
+ }
145
177
  /**
146
178
  * 技能自动生成策略。生成动作是策略而不是内核:它不进入 `AgentLoop`,
147
179
  * 而是经既有的 `ExternalToolSource` 扩展点接入(设计 02 §0)。
@@ -741,6 +773,20 @@ interface PageActionOutcome {
741
773
  /** 失败原因(英文) */
742
774
  reason?: string;
743
775
  }
776
+ /**
777
+ * 执行器对一个句柄的描述。确认卡的措辞、留痕与分册 30 的参数留存共用这一份——
778
+ * 句柄本身是本次感知产出的不透明串,离开这次运行就没有意义。
779
+ * @experimental
780
+ */
781
+ interface PageActionTarget {
782
+ role: string;
783
+ name?: string;
784
+ /** 密码类控件:确认卡打掩码,参数留存整次调用不留明文 */
785
+ secret?: boolean;
786
+ frame?: string;
787
+ /** 目标在本次任务临时打开的对话框里,授权面被扩大过 */
788
+ elevated?: boolean;
789
+ }
744
790
  /**
745
791
  * 页面操作执行器。与 `PagePerceptionReader` 对称,同样不含 DOM 概念。
746
792
  * 实现方负责校验句柄有效性、元素可交互性,以及目标是否仍在操作范围内。
@@ -749,13 +795,7 @@ interface PageActionOutcome {
749
795
  interface PageActionExecutor {
750
796
  execute(request: PageActionRequest): Promise<PageActionOutcome> | PageActionOutcome;
751
797
  /** 目标的角色与可访问名称,供确认卡在**执行前**说清将要做什么(FR-23.2) */
752
- describe(ref: string): {
753
- role: string;
754
- name?: string;
755
- secret?: boolean;
756
- frame?: string;
757
- elevated?: boolean;
758
- } | undefined;
798
+ describe(ref: string): PageActionTarget | undefined;
759
799
  }
760
800
  /** 一次页面操作的留痕(FR-23.3 的五项字段) @experimental */
761
801
  interface PageActionRecord {
@@ -816,6 +856,20 @@ declare class PageActionPolicy {
816
856
  get scope(): PageActionScopeInput;
817
857
  /** 最近的操作记录(只读展示用),新的在前 */
818
858
  get records(): readonly PageActionRecord[];
859
+ /**
860
+ * 目标是不是密码类控件(分册 30)。与确认卡上把值打成掩码用的是**同一个判定**,
861
+ * 不另立一套敏感字段清单。
862
+ *
863
+ * 读的是 `act()` 当时记下的结论而不是事后重查:提交或重绘后句柄会失效,
864
+ * 重查就会把一次普通填写误判成敏感、把内容丢掉。没操作过的句柄才现查,
865
+ * 查不到按敏感:不知道就别留存。
866
+ */
867
+ isSecretTarget(ref: string): boolean;
868
+ /**
869
+ * `act()` 当时看到的目标身份(分册 30)。句柄只在本次感知内有效,
870
+ * 只留句柄等于留了一个换次运行就失效的引用;角色与可访问名才是可重放的那部分。
871
+ */
872
+ rememberedTarget(ref: string): PageActionTarget | undefined;
819
873
  act(request: PageActionRequest): Promise<PageActionOutcome>;
820
874
  }
821
875
  //#endregion
@@ -842,4 +896,4 @@ declare function createPageActionToolSource(options: PageActionToolSourceOptions
842
896
  */
843
897
  declare const PAGE_ACTION_SYSTEM_PROMPT: string;
844
898
  //#endregion
845
- export { PerceptionScopeInput as $, PageActionKind as A, PageAuditSink as B, MANAGE_TODO_TOOL as C, createTodoToolSource as Ct, PERCEIVE_PAGE_TOOL as D, PAGE_ACTION_TOOL as E, withDelegationOrigin as Et, PageActionRequest as F, ParentBudget as G, PagePerceptionPolicyOptions as H, PageActionScope as I, PerceptionAuditSink as J, PerceivedImage as K, PageActionScopeInput as L, PageActionPolicy as M, PageActionPolicyOptions as N, PERCEPTION_SYSTEM_PROMPT as O, PageActionRecord as P, PerceptionScope as Q, PageActionToolSourceOptions as R, ImageCaptureBudget as S, createSkillGenerationToolSource as St, PAGE_ACTION_SYSTEM_PROMPT as T, toFrameScopes as Tt, PagePerceptionReader as U, PagePerceptionPolicy as V, PagePerceptionToolSourceOptions as W, PerceptionRecord as X, PerceptionCaptureOptions as Y, PerceptionResult as Z, FrameNote as _, TodoToolSourceOptions as _t, DataSourceDef as a, SkillGenerationToolSourceOptions as at, GeneratedSkillDraft as b, createPageActionToolSource as bt, DataSourcePolicyOptions as c, SubAgentRunInput as ct, DelegationBudget as d, TodoEvent as dt, SKILL_GENERATION_SYSTEM_PROMPT as et, DelegationOrchestrator as f, TodoItem as ft, DelegationToolSourceOptions as g, TodoStore as gt, DelegationResult as h, TodoStatus as ht, DataSourceAuditSink as i, SkillGenerationPolicy as it, PageActionOutcome as j, PageActionExecutor as k, DataSourceRecord as l, SubAgentRunner as lt, DelegationRequest as m, TodoListener as mt, DELEGATE_TASK_TOOL as n, SkillGenerationMessages as nt, DataSourceKind as o, SkillGenerator as ot, DelegationOrchestratorOptions as p, TodoList as pt, PerceivedNode as q, DELEGATION_SYSTEM_PROMPT as r, SkillGenerationOutcome as rt, DataSourcePolicy as s, SkillGeneratorOptions as st, ActionFrameScope as t, SkillCandidateSink as tt, DataSourceTransport as u, TODO_SYSTEM_PROMPT as ut, FrameScope as v, createDelegationToolSource as vt, PAGE_ACTION_KINDS as w, toActionFrameScopes as wt, HttpDataSourceOptions as x, createPagePerceptionToolSource as xt, GENERATE_SKILL_TOOL as y, createHttpDataSourceTransport as yt, PageActionUi as z };
899
+ export { PerceptionScope as $, PageActionKind as A, PageActionUi as B, MANAGE_TODO_TOOL as C, createPageActionToolSource as Ct, PERCEIVE_PAGE_TOOL as D, toActionFrameScopes as Dt, PAGE_ACTION_TOOL as E, createTodoToolSource as Et, PageActionRequest as F, PagePerceptionToolSourceOptions as G, PagePerceptionPolicy as H, PageActionScope as I, PerceivedNode as J, ParentBudget as K, PageActionScopeInput as L, PageActionPolicy as M, PageActionPolicyOptions as N, PERCEPTION_SYSTEM_PROMPT as O, toFrameScopes as Ot, PageActionRecord as P, PerceptionResult as Q, PageActionTarget as R, ImageCaptureBudget as S, createHttpDataSourceTransport as St, PAGE_ACTION_SYSTEM_PROMPT as T, createSkillGenerationToolSource as Tt, PagePerceptionPolicyOptions as U, PageAuditSink as V, PagePerceptionReader as W, PerceptionCaptureOptions as X, PerceptionAuditSink as Y, PerceptionRecord as Z, FrameNote as _, TodoListener as _t, DataSourceDef as a, SkillGenerationPolicy as at, GeneratedSkillDraft as b, TodoToolSourceOptions as bt, DataSourcePolicyOptions as c, SkillGeneratorOptions as ct, DelegationBudget as d, SubAgentRunInput as dt, PerceptionScopeInput as et, DelegationOrchestrator as f, SubAgentRunner as ft, DelegationToolSourceOptions as g, TodoList as gt, DelegationResult as h, TodoItem as ht, DataSourceAuditSink as i, SkillGenerationOutcome as it, PageActionOutcome as j, PageActionExecutor as k, withDelegationOrigin as kt, DataSourceRecord as l, SkillTraceEvidence as lt, DelegationRequest as m, TodoEvent as mt, DELEGATE_TASK_TOOL as n, SkillCandidateSink as nt, DataSourceKind as o, SkillGenerationToolSourceOptions as ot, DelegationOrchestratorOptions as p, TODO_SYSTEM_PROMPT as pt, PerceivedImage as q, DELEGATION_SYSTEM_PROMPT as r, SkillGenerationMessages as rt, DataSourcePolicy as s, SkillGenerator as st, ActionFrameScope as t, SKILL_GENERATION_SYSTEM_PROMPT as tt, DataSourceTransport as u, SkillTraceEvidenceStep as ut, FrameScope as v, TodoStatus as vt, PAGE_ACTION_KINDS as w, createPagePerceptionToolSource as wt, HttpDataSourceOptions as x, createDelegationToolSource as xt, GENERATE_SKILL_TOOL as y, TodoStore as yt, PageActionToolSourceOptions as z };
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import { $ as SignatureAuditSink, $t as signaturePayloadBytes, A as extractSkillCandidate, At as buildManifest, B as JsonSchema, Bt as jsonRenderer, C as UiSpecActionCapability, Ct as VerifyResult, D as UiSpecSnapshot, Dt as assertSafePathSegment, E as UiSpecPatch, Et as assertRemoteUrlAllowed, F as DEFAULT_ARCHIVE_LIMITS, Ft as detectSkillArchiveShapeFromFs, G as RemoteUrlPolicy, Gt as parseSkillPackManifest, H as MemoryFS, Ht as messageOf, I as DiscoveryResult, It as escapeXml, J as SKILL_MANIFEST_FILE, Jt as renderAvailableSkillsXml, K as SIGNATURE_SCHEMA_VERSION, Kt as readResponseWithLimit, L as FileStat, Lt as exportSkills, M as ArchiveLimits, Mt as checkSkillRules, N as CatalogRenderer, Nt as computeDigest, O as UiSurfaceActionRequest, Ot as atomicWriteText, P as CryptoKeyLike, Pt as detectSkillArchiveShape, Q as SKILL_SIGNATURE_FILE, Qt as signSkill, R as FileSystemProvider, Rt as isAtomicTempPath, S as UiBridge, St as ValidationReport, T as UiSpecEvent, Tt as WebSkillErrorCode, U as Page, Ut as normalizePath, V as MANIFEST_EXCLUDED_FILES, Vt as keyIdOf, W as PageQuery, Wt as parseSkillMarkdown, X as SKILL_NAME_PATTERN, Xt as resolveArchiveLimits, Y as SKILL_NAME_MAX_LENGTH, Yt as renderCatalogJson, Z as SKILL_PACK_FILE, Zt as resolveInsideRoot, _ as LlmToolSpec, _t as SkillsLockfile, a as InteractionOrigin, an as xmlRenderer, at as SkillDiscovery, b as RenderResultRequest, bt as UiSpecNode, c as InteractionResponse, ct as SkillIssue, d as LlmContentPart, dt as SkillManifest, en as stripArchiveRoot, et as SignatureVerdict, f as LlmMessage, ft as SkillMetadata, g as LlmToolCall, gt as SkillSource, h as LlmTokenUsage, ht as SkillSignature, i as FormField, in as verifySkillSignature, it as SkillCatalogEntry, j as ATOMIC_TMP_SUFFIX_PATTERN, jt as checkDependencyCycles, k as UiSurfaceActionResponse, kt as buildCatalog, l as LlmClient, lt as SkillLocation, m as LlmStreamEvent, mt as SkillReader, n as ArtifactStore, nn as validateSkills, nt as SkillArchiveShape, o as InteractionPolicy, ot as SkillDocument, p as LlmResponse, pt as SkillPackManifest, q as SKILLS_LOCKFILE, qt as readSkillSignature, r as ChartSpec, rn as verifyManifest, rt as SkillCatalog, s as InteractionRequest, st as SkillInstallSource, t as Artifact, tn as unzipWithLimits, tt as SkillArchiveDetection, u as LlmCompleteInput, ut as SkillManagerPort, v as MemoryStore, vt as TrustedKey, w as UiSpecDrafts, wt as WebSkillError, x as SkillCandidateMarker, xt as UnsignedPolicy, y as RenderBlock, yt as TrustedKeyStore, z as FsTrustedKeyStore, zt as isValidSkillName } from "./types-C26b05fW-CdrRCRDb.js";
2
- import { $ as LifecycleHookContext, $n as normalizeToolError, $t as SkillSuccessReport, A as DocxTextExtractor, An as bridgeError, At as RuntimeRun, B as FsRunTraceStore, Bn as formatSkillScriptManifest, Bt as SealResult, C as CapabilityApproval, Cn as UserProfileLimits, Ct as RunTraceFile, D as DEFAULT_MAX_DOCUMENT_BYTES, Dn as WebSkillRuntimeDeps, Dt as RunTraceSummary, E as DEFAULT_MAX_DATA_SOURCE_BYTES, En as WebSkillRuntime, Et as RunTraceStore, F as ExternalToolSource, Fn as exportUserProfile, Ft as SchemaInferer, G as HookRunner, Gn as isUnsupportedRunSnapshot, Gt as SessionStore, H as FullDisclosureRouter, Hn as fromVercelStreamPart, Ht as SessionListPage, I as FS_SESSION_PAGE_SIZE, In as extractChartSpec, It as ScriptExecutionContext, J as IntegrityVerdict, Jn as mergeProfileEntries, Jt as SkillOutcomeReporter, K as HookRunnerOptions, Kn as listSkillScripts, Kt as SkillFailureReport, L as FsArtifactStore, Ln as extractTodoTraceEvents, Lt as ScriptExecutor, M as EventBus, Mn as createScriptContext, Mt as RuntimeSessionHandle, N as ExecuteLifecycleData, Nn as createWebSkillApi, Nt as SESSION_SCHEMA_VERSION, O as DEFAULT_MAX_DOCUMENT_TEXT_BYTES, On as appendBehaviorRecords, Ot as RunUsageSummary, P as ExternalSkillProvider, Pn as diffUserProfile, Pt as SUPPORTED_DOCUMENT_MIME, Q as LifecycleHook, Qn as normalizeToolContent, Qt as SkillStateGuard, R as FsMemoryStore, Rn as extractUiSpecEvents, Rt as SealOptions, S as BridgeResponse, Sn as UserProfileImportDiff, St as RunToolCall, T as DEFAULT_LOOP_LIMITS, Tn as WebSkillApi, Tt as RunTraceMetrics, U as GoogleGenAiClient, Un as interruptedToolResult, Ut as SessionMeta, V as FsSessionStore, Vn as fromVercelResult, Vt as SerializingMemoryStore, W as GoogleGenAiClientConfig, Wn as isNetworkAllowed, Wt as SessionRecord, X as LifecycleEvent, Xn as networkUrlHost, Xt as SkillScriptDescriptor, Y as InteractLifecycleData, Yn as networkPolicyLibSource, Yt as SkillRouter, Z as LifecycleEventInit, Zn as normalizeErrorCode, Zt as SkillScriptSchemaSource, _ as BehaviorRecordKind, _n as USER_PROFILE_REFINE_PROMPT, _r as toLlmToolSpec, _t as RunResult, a as ASK_USER_TOOL, an as ToolDefinition, ar as readUserProfile, at as ProgressiveRouter, b as BridgeCapability, bn as UserProfileEntry, br as validateUiSpecEvent, bt as RunSnapshotStore, c as AgentLoop, cn as TraceClock, cr as resolveToolName, ct as READ_SKILL_FILE_INPUT_SCHEMA, d as AnthropicClient, dn as TraceRecorder, dr as schemaToForm, dt as RUN_SNAPSHOT_SCHEMA_VERSION, en as TEXT_BUDGETED_CONTENT_TYPES, er as parseBridgeRequest, et as LifecycleListener, f as AnthropicClientConfig, fn as UNSUPPORTED_DOCUMENT_MESSAGE, fr as scriptToolName, ft as RUN_TRACE_SCHEMA_VERSION, g as BehaviorRecord, gn as USER_PROFILE_PROMPT_HEADER, gr as textParts, gt as RunLimitErrorDetails, h as BEHAVIOR_RECORDS_KEY, hn as USER_PROFILE_NO_INVENTION_RULE, hr as summarizeToolCalls, ht as RouteResult, i as ASK_USER_MAX_FIELDS, in as ToolContent, ir as readProfileEntries, it as OpenAiCompatibleClientConfig, j as EMPTY_USER_PROFILE, jn as buildRenderResult, jt as RuntimeSession, k as DEFAULT_USER_PROFILE_LIMITS, kn as applyUserProfileImport, kt as RuntimePhase, l as AgentLoopConfig, ln as TraceEvent, lr as sampleBehaviorRecords, lt as READ_SKILL_FILE_TOOL, m as ApprovalScope, mn as USER_PROFILE_KEY, mr as summarizeRunUsage, mt as RouteLifecycleData, n as ASK_USER_FIELD_TYPES, nn as TextualToolContent, nr as partsToText, nt as NetworkPolicy, o as ASK_USER_TOOL_NAME, on as ToolResolution, or as refineUserProfile, ot as READ_LINKED_DOCUMENT_TOOL, p as ApprovalDecision, pn as USER_PROFILE_EXPORT_VERSION, pr as sealToolCallPairs, pt as RefineUserProfileInput, q as InstalledSkillManifest, qn as mergeCatalogEntries, qt as SkillIntegrityGuard, r as ASK_USER_INPUT_SCHEMA, rn as TodoTraceEvent, rr as readBehaviorRecords, rt as OpenAiCompatibleClient, s as ActivateLifecycleData, sn as ToolResult, sr as renderUserProfileContext, st as READ_LINKED_DOCUMENT_TOOL_NAME, t as ALLOWED_TOOLS_EXCLUSION_REASON, tn as TerminalLifecycleData, tr as parseUserProfileExport, tt as LinkedDocumentReader, u as AgentLoopDeps, un as TraceEventType, ur as schemaSourceLabel, ut as READ_SKILL_FILE_TOOL_NAME, v as BehaviorScene, vn as UnsupportedRunSnapshot, vr as toRecordDigests, vt as RunSnapshot, w as CapabilityMode, wn as VercelToolSpec, wt as RunTraceFilter, x as BridgeRequest, xn as UserProfileExport, xr as validateUiSpecNode, xt as RunTerminationReason, y as BridgeCapabilities, yn as UserProfile, yr as toVercelToolSpecs, yt as RunSnapshotListEntry, z as FsRunSnapshotStore, zn as findUnpairedToolCalls, zt as SealRecord } from "./index-D3mONFHD.js";
1
+ import { $ as SignatureAuditSink, $t as signaturePayloadBytes, A as extractSkillCandidate, At as buildManifest, B as JsonSchema, Bt as jsonRenderer, C as UiSpecActionCapability, Ct as VerifyResult, D as UiSpecSnapshot, Dt as assertSafePathSegment, E as UiSpecPatch, Et as assertRemoteUrlAllowed, F as DEFAULT_ARCHIVE_LIMITS, Ft as detectSkillArchiveShapeFromFs, G as RemoteUrlPolicy, Gt as parseSkillPackManifest, H as MemoryFS, Ht as messageOf, I as DiscoveryResult, It as escapeXml, J as SKILL_MANIFEST_FILE, Jt as renderAvailableSkillsXml, K as SIGNATURE_SCHEMA_VERSION, Kt as readResponseWithLimit, L as FileStat, Lt as exportSkills, M as ArchiveLimits, Mt as checkSkillRules, N as CatalogRenderer, Nt as computeDigest, O as UiSurfaceActionRequest, Ot as atomicWriteText, P as CryptoKeyLike, Pt as detectSkillArchiveShape, Q as SKILL_SIGNATURE_FILE, Qt as signSkill, R as FileSystemProvider, Rt as isAtomicTempPath, S as UiBridge, St as ValidationReport, T as UiSpecEvent, Tt as WebSkillErrorCode, U as Page, Ut as normalizePath, V as MANIFEST_EXCLUDED_FILES, Vt as keyIdOf, W as PageQuery, Wt as parseSkillMarkdown, X as SKILL_NAME_PATTERN, Xt as resolveArchiveLimits, Y as SKILL_NAME_MAX_LENGTH, Yt as renderCatalogJson, Z as SKILL_PACK_FILE, Zt as resolveInsideRoot, _ as LlmToolSpec, _t as SkillsLockfile, a as InteractionOrigin, an as xmlRenderer, at as SkillDiscovery, b as RenderResultRequest, bt as UiSpecNode, c as InteractionResponse, ct as SkillIssue, d as LlmContentPart, dt as SkillManifest, en as stripArchiveRoot, et as SignatureVerdict, f as LlmMessage, ft as SkillMetadata, g as LlmToolCall, gt as SkillSource, h as LlmTokenUsage, ht as SkillSignature, i as FormField, in as verifySkillSignature, it as SkillCatalogEntry, j as ATOMIC_TMP_SUFFIX_PATTERN, jt as checkDependencyCycles, k as UiSurfaceActionResponse, kt as buildCatalog, l as LlmClient, lt as SkillLocation, m as LlmStreamEvent, mt as SkillReader, n as ArtifactStore, nn as validateSkills, nt as SkillArchiveShape, o as InteractionPolicy, ot as SkillDocument, p as LlmResponse, pt as SkillPackManifest, q as SKILLS_LOCKFILE, qt as readSkillSignature, r as ChartSpec, rn as verifyManifest, rt as SkillCatalog, s as InteractionRequest, st as SkillInstallSource, t as Artifact, tn as unzipWithLimits, tt as SkillArchiveDetection, u as LlmCompleteInput, ut as SkillManagerPort, v as MemoryStore, vt as TrustedKey, w as UiSpecDrafts, wt as WebSkillError, x as SkillCandidateMarker, xt as UnsignedPolicy, y as RenderBlock, yt as TrustedKeyStore, z as FsTrustedKeyStore, zt as isValidSkillName } from "./types-DLctJep_-B5G4uk2u.js";
2
+ import { $ as LifecycleHook, $n as isUnsupportedRunSnapshot, $t as SkillRouter, A as DocxTextExtractor, An as UserProfileImportDiff, Ar as validateUiSpecNode, At as RunTraceSummary, B as FsRunTraceStore, Bn as createScriptContext, Bt as ScriptExecutionContext, C as CapabilityApproval, Cn as USER_PROFILE_NO_INVENTION_RULE, Cr as summarizeRunUsage, Ct as RunSnapshotStore, D as DEFAULT_MAX_DOCUMENT_BYTES, Dn as UserProfile, Dr as toRecordDigests, Dt as RunTraceFilter, E as DEFAULT_MAX_DATA_SOURCE_BYTES, En as UnsupportedRunSnapshot, Er as toLlmToolSpec, Et as RunTraceFile, F as ExternalToolSource, Fn as WebSkillRuntimeDeps, Ft as RuntimeSessionHandle, G as GoogleGenAiClientConfig, Gn as extractTodoTraceEvents, Gt as SerializingMemoryStore, H as FsToolStepStore, Hn as diffUserProfile, Ht as SealOptions, I as FS_SESSION_PAGE_SIZE, In as appendBehaviorRecords, It as SENSITIVE_ANNOTATION, J as InstalledSkillManifest, Jn as formatSkillScriptManifest, Jt as SessionRecord, K as HookRunner, Kn as extractUiSpecEvents, Kt as SessionListPage, L as FsArtifactStore, Ln as applyUserProfileImport, Lt as SESSION_SCHEMA_VERSION, M as EventBus, Mn as VercelToolSpec, Mt as RuntimePhase, N as ExecuteLifecycleData, Nn as WebSkillApi, Nt as RuntimeRun, O as DEFAULT_MAX_DOCUMENT_TEXT_BYTES, On as UserProfileEntry, Or as toVercelToolSpecs, Ot as RunTraceMetrics, P as ExternalSkillProvider, Pn as WebSkillRuntime, Pt as RuntimeSession, Q as LifecycleEventInit, Qn as isNetworkAllowed, Qt as SkillOutcomeReporter, R as FsMemoryStore, Rn as bridgeError, Rt as SUPPORTED_DOCUMENT_MIME, S as BridgeResponse, Sn as USER_PROFILE_KEY, Sr as sealToolCallPairs, St as RunSnapshotListEntry, T as DEFAULT_LOOP_LIMITS, Tn as USER_PROFILE_REFINE_PROMPT, Tr as textParts, Tt as RunToolCall, U as FullDisclosureRouter, Un as exportUserProfile, Ut as SealRecord, V as FsSessionStore, Vn as createWebSkillApi, Vt as ScriptExecutor, W as GoogleGenAiClient, Wn as extractChartSpec, Wt as SealResult, X as InteractLifecycleData, Xn as fromVercelStreamPart, Xt as SkillFailureReport, Y as IntegrityVerdict, Yn as fromVercelResult, Yt as SessionStore, Z as LifecycleEvent, Zn as interruptedToolResult, Zt as SkillIntegrityGuard, _ as BehaviorRecordKind, _n as TraceEvent, _r as resolveToolName, _t as RouteLifecycleData, a as ASK_USER_TOOL, an as TerminalLifecycleData, ar as normalizeErrorCode, at as OpenAiCompatibleClient, b as BridgeCapability, bn as UNSUPPORTED_DOCUMENT_MESSAGE, br as schemaToForm, bt as RunResult, c as AgentLoop, cn as ToolContent, cr as parseBridgeRequest, ct as READ_LINKED_DOCUMENT_TOOL, d as AnthropicClient, dn as ToolResult, dr as readBehaviorRecords, dt as READ_SKILL_FILE_TOOL, en as SkillScriptDescriptor, er as listSkillScripts, et as LifecycleHookContext, f as AnthropicClientConfig, fn as ToolStepReader, fr as readProfileEntries, ft as READ_SKILL_FILE_TOOL_NAME, g as BehaviorRecord, gn as TraceClock, gr as renderUserProfileContext, gt as RefineUserProfileInput, h as BEHAVIOR_RECORDS_KEY, hn as ToolStepTrust, hr as refineUserProfile, ht as RedactedArgs, i as ASK_USER_MAX_FIELDS, in as TEXT_BUDGETED_CONTENT_TYPES, ir as networkUrlHost, it as NetworkPolicy, j as EMPTY_USER_PROFILE, jn as UserProfileLimits, jt as RunUsageSummary, k as DEFAULT_USER_PROFILE_LIMITS, kn as UserProfileExport, kr as validateUiSpecEvent, kt as RunTraceStore, l as AgentLoopConfig, ln as ToolDefinition, lr as parseUserProfileExport, lt as READ_LINKED_DOCUMENT_TOOL_NAME, m as ApprovalScope, mn as ToolStepStore, mr as redactToolStepArgs, mt as RUN_TRACE_SCHEMA_VERSION, n as ASK_USER_FIELD_TYPES, nn as SkillStateGuard, nr as mergeProfileEntries, nt as LinkedDocumentReader, o as ASK_USER_TOOL_NAME, on as TextualToolContent, or as normalizeToolContent, ot as OpenAiCompatibleClientConfig, p as ApprovalDecision, pn as ToolStepRecord, pr as readUserProfile, pt as RUN_SNAPSHOT_SCHEMA_VERSION, q as HookRunnerOptions, qn as findUnpairedToolCalls, qt as SessionMeta, r as ASK_USER_INPUT_SCHEMA, rn as SkillSuccessReport, rr as networkPolicyLibSource, rt as MAX_TOOL_STEP_ARG_BYTES, s as ActivateLifecycleData, sn as TodoTraceEvent, sr as normalizeToolError, st as ProgressiveRouter, t as ALLOWED_TOOLS_EXCLUSION_REASON, tn as SkillScriptSchemaSource, tr as mergeCatalogEntries, tt as LifecycleListener, u as AgentLoopDeps, un as ToolResolution, ur as partsToText, ut as READ_SKILL_FILE_INPUT_SCHEMA, v as BehaviorScene, vn as TraceEventType, vr as sampleBehaviorRecords, vt as RouteResult, w as CapabilityMode, wn as USER_PROFILE_PROMPT_HEADER, wr as summarizeToolCalls, wt as RunTerminationReason, x as BridgeRequest, xn as USER_PROFILE_EXPORT_VERSION, xr as scriptToolName, xt as RunSnapshot, y as BridgeCapabilities, yn as TraceRecorder, yr as schemaSourceLabel, yt as RunLimitErrorDetails, z as FsRunSnapshotStore, zn as buildRenderResult, zt as SchemaInferer } from "./index-C9pzXLKy.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
  /**
@@ -8,4 +8,4 @@ import { $ as LifecycleHookContext, $n as normalizeToolError, $t as SkillSuccess
8
8
  */
9
9
  declare const SDK_VERSION = "0.11.0";
10
10
  //#endregion
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, type ActivateLifecycleData, AgentLoop, type AgentLoopConfig, type AgentLoopDeps, AnthropicClient, type AnthropicClientConfig, type ApprovalDecision, type ApprovalScope, type ArchiveLimits, type Artifact, type ArtifactStore, BEHAVIOR_RECORDS_KEY, type BehaviorRecord, type BehaviorRecordKind, type BehaviorScene, type BridgeCapabilities, type BridgeCapability, type BridgeRequest, type BridgeResponse, CapabilityApproval, type CapabilityMode, type CatalogRenderer, type ChartSpec, type CryptoKeyLike, DEFAULT_ARCHIVE_LIMITS, DEFAULT_LOOP_LIMITS, DEFAULT_MAX_DATA_SOURCE_BYTES, DEFAULT_MAX_DOCUMENT_BYTES, DEFAULT_MAX_DOCUMENT_TEXT_BYTES, DEFAULT_USER_PROFILE_LIMITS, type DiscoveryResult, type DocxTextExtractor, EMPTY_USER_PROFILE, EventBus, type ExecuteLifecycleData, type ExternalSkillProvider, type ExternalToolSource, FS_SESSION_PAGE_SIZE, type FileStat, type FileSystemProvider, type FormField, FsArtifactStore, FsMemoryStore, FsRunSnapshotStore, FsRunTraceStore, FsSessionStore, FsTrustedKeyStore, FullDisclosureRouter, GoogleGenAiClient, type GoogleGenAiClientConfig, HookRunner, type HookRunnerOptions, 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, MemoryFS, type MemoryStore, type NetworkPolicy, OpenAiCompatibleClient, type OpenAiCompatibleClientConfig, type Page, type PageQuery, 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 RefineUserProfileInput, type RemoteUrlPolicy, type RenderBlock, type RenderResultRequest, type RouteLifecycleData, type RouteResult, 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 RunUsageSummary, type RuntimePhase, type RuntimeRun, type RuntimeSession, type RuntimeSessionHandle, SDK_VERSION, SESSION_SCHEMA_VERSION, SIGNATURE_SCHEMA_VERSION, SKILLS_LOCKFILE, SKILL_MANIFEST_FILE, SKILL_NAME_MAX_LENGTH, SKILL_NAME_PATTERN, SKILL_PACK_FILE, SKILL_SIGNATURE_FILE, 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, TEXT_BUDGETED_CONTENT_TYPES, type TerminalLifecycleData, type TextualToolContent, type TodoTraceEvent, type ToolContent, type ToolDefinition, type ToolResolution, type ToolResult, type TraceClock, type TraceEvent, type TraceEventType, TraceRecorder, type TrustedKey, type TrustedKeyStore, UNSUPPORTED_DOCUMENT_MESSAGE, 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 UserProfile, type UserProfileEntry, type UserProfileExport, type UserProfileImportDiff, type UserProfileLimits, type ValidationReport, type VercelToolSpec, type VerifyResult, type WebSkillApi, WebSkillError, type WebSkillErrorCode, WebSkillRuntime, type WebSkillRuntimeDeps, appendBehaviorRecords, applyUserProfileImport, assertRemoteUrlAllowed, assertSafePathSegment, atomicWriteText, bridgeError, buildCatalog, buildManifest, buildRenderResult, checkDependencyCycles, checkSkillRules, computeDigest, createScriptContext, createWebSkillApi, detectSkillArchiveShape, detectSkillArchiveShapeFromFs, diffUserProfile, escapeXml, exportSkills, exportUserProfile, extractChartSpec, extractSkillCandidate, extractTodoTraceEvents, extractUiSpecEvents, findUnpairedToolCalls, formatSkillScriptManifest, fromVercelResult, fromVercelStreamPart, interruptedToolResult, isAtomicTempPath, 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, refineUserProfile, renderAvailableSkillsXml, renderCatalogJson, renderUserProfileContext, resolveArchiveLimits, resolveInsideRoot, resolveToolName, sampleBehaviorRecords, schemaSourceLabel, schemaToForm, scriptToolName, sealToolCallPairs, signSkill, signaturePayloadBytes, stripArchiveRoot, summarizeRunUsage, summarizeToolCalls, textParts, toLlmToolSpec, toRecordDigests, toVercelToolSpecs, unzipWithLimits, validateSkills, validateUiSpecEvent, validateUiSpecNode, verifyManifest, verifySkillSignature, xmlRenderer };
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, type ActivateLifecycleData, AgentLoop, type AgentLoopConfig, type AgentLoopDeps, AnthropicClient, type AnthropicClientConfig, type ApprovalDecision, type ApprovalScope, type ArchiveLimits, type Artifact, type ArtifactStore, BEHAVIOR_RECORDS_KEY, type BehaviorRecord, type BehaviorRecordKind, type BehaviorScene, type BridgeCapabilities, type BridgeCapability, type BridgeRequest, type BridgeResponse, CapabilityApproval, type CapabilityMode, type CatalogRenderer, type ChartSpec, type CryptoKeyLike, DEFAULT_ARCHIVE_LIMITS, DEFAULT_LOOP_LIMITS, DEFAULT_MAX_DATA_SOURCE_BYTES, DEFAULT_MAX_DOCUMENT_BYTES, DEFAULT_MAX_DOCUMENT_TEXT_BYTES, DEFAULT_USER_PROFILE_LIMITS, type DiscoveryResult, type DocxTextExtractor, EMPTY_USER_PROFILE, EventBus, type ExecuteLifecycleData, type ExternalSkillProvider, type ExternalToolSource, FS_SESSION_PAGE_SIZE, type FileStat, type FileSystemProvider, type FormField, FsArtifactStore, FsMemoryStore, FsRunSnapshotStore, FsRunTraceStore, FsSessionStore, FsToolStepStore, FsTrustedKeyStore, FullDisclosureRouter, GoogleGenAiClient, type GoogleGenAiClientConfig, HookRunner, type HookRunnerOptions, 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, type Page, type PageQuery, 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 RunLimitErrorDetails, type RunResult, type RunSnapshot, type RunSnapshotListEntry, type RunSnapshotStore, type RunTerminationReason, type RunToolCall, type RunTraceFile, type RunTraceFilter, type RunTraceMetrics, type RunTraceStore, type RunTraceSummary, 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, 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, TEXT_BUDGETED_CONTENT_TYPES, type TerminalLifecycleData, type TextualToolContent, type TodoTraceEvent, type ToolContent, type ToolDefinition, 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, 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 UserProfile, type UserProfileEntry, type UserProfileExport, type UserProfileImportDiff, type UserProfileLimits, type ValidationReport, type VercelToolSpec, type VerifyResult, type WebSkillApi, WebSkillError, type WebSkillErrorCode, WebSkillRuntime, type WebSkillRuntimeDeps, appendBehaviorRecords, applyUserProfileImport, assertRemoteUrlAllowed, assertSafePathSegment, atomicWriteText, bridgeError, buildCatalog, buildManifest, buildRenderResult, checkDependencyCycles, checkSkillRules, computeDigest, createScriptContext, createWebSkillApi, detectSkillArchiveShape, detectSkillArchiveShapeFromFs, diffUserProfile, escapeXml, exportSkills, exportUserProfile, extractChartSpec, extractSkillCandidate, extractTodoTraceEvents, extractUiSpecEvents, findUnpairedToolCalls, formatSkillScriptManifest, fromVercelResult, fromVercelStreamPart, interruptedToolResult, isAtomicTempPath, 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, sampleBehaviorRecords, schemaSourceLabel, schemaToForm, scriptToolName, sealToolCallPairs, signSkill, signaturePayloadBytes, stripArchiveRoot, summarizeRunUsage, summarizeToolCalls, textParts, toLlmToolSpec, toRecordDigests, toVercelToolSpecs, unzipWithLimits, validateSkills, validateUiSpecEvent, validateUiSpecNode, verifyManifest, verifySkillSignature, xmlRenderer };