@webskill/sdk 0.11.0 → 0.13.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/agent.d.ts +3 -3
- package/dist/agent.js +3 -3
- package/dist/browser.d.ts +29 -6
- package/dist/browser.js +629 -75
- package/dist/{catalogComponents-BFoqpT1v-CjUBZ3bc.js → catalogComponents-BgAJN0p8-CYEXSk45.js} +606 -926
- package/dist/{dist-DTHZS2k1.js → dist-DqcL6jKO.js} +155 -39
- package/dist/{dist-B-cOu08W.js → dist-ExSQky4C.js} +754 -69
- package/dist/{dist-qnlI2Iup.js → dist-GK6dtjRv.js} +222 -9
- package/dist/{echarts-DhNm2ene.js → echarts-De78wXqV.js} +599 -61
- package/dist/governance.d.ts +3 -3
- package/dist/{index-DACk2_XZ.d.ts → index-C3XdItd_.d.ts} +92 -8
- package/dist/{index-D3mONFHD.d.ts → index-DkvBhJQy.d.ts} +187 -6
- package/dist/{index-DWbs58LF.d.ts → index-iBm9tJL_.d.ts} +122 -23
- package/dist/index.d.ts +4 -4
- package/dist/index.js +3 -3
- package/dist/mcp.d.ts +47 -3
- package/dist/mcp.js +79 -2
- package/dist/node.d.ts +3 -3
- package/dist/node.js +9 -3
- package/dist/{openUiLibrary-D5u8oIvx-BLOAQCho.js → openUiLibrary-BKXW7Iwx-CWWBVOkE.js} +3 -3
- package/dist/processSandboxEntry.js +2 -1
- package/dist/sandboxWorkerEntry.js +2 -1
- package/dist/{skillVersionStore-D-qHk9ZE-BcmFLykd.d.ts → skillVersionStore-D-qHk9ZE-DheTIwAB.d.ts} +1 -1
- package/dist/testing.d.ts +1 -1
- package/dist/{types-C26b05fW-CdrRCRDb.d.ts → types-DLctJep_-B5G4uk2u.d.ts} +3 -2
- package/dist/ui-react.d.ts +13 -4
- package/dist/ui-react.js +77 -259
- package/dist/ui-vue.d.ts +1 -1
- package/dist/ui-vue.js +1 -1
- package/dist/ui.d.ts +4 -4
- package/dist/ui.js +3 -3
- package/dist/{webskillLitCatalog-DME6PBkV-CmYNLlIT.js → webskillLitCatalog-D_zCqeQF-C9lrvvMr.js} +2 -2
- package/package.json +2 -1
package/dist/governance.d.ts
CHANGED
|
@@ -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-
|
|
2
|
-
import {
|
|
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-
|
|
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 { $t as SkillOutcomeReporter, In as WebSkillRuntime, Pt as RuntimeRun, Qt as SkillIntegrityGuard, Y as IntegrityVerdict, rn as SkillStateGuard } from "./index-DkvBhJQy.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-
|
|
2
|
-
import { F as ExternalToolSource } from "./index-
|
|
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-DkvBhJQy.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
|
-
*
|
|
143
|
-
*
|
|
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 {
|
|
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-
|
|
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——
|
|
@@ -551,7 +557,13 @@ type TraceEventType = 'skill.routed' | 'skill.activated' | 'skill.integrity-fail
|
|
|
551
557
|
/** 一轮模型调用产出的一段思考正文(data.text;每轮至多一条,UI-UX5 #32) */
|
|
552
558
|
'llm.thinking' |
|
|
553
559
|
/** 一轮模型调用的 token 用量(data.inputTokens/outputTokens;上游不回报则无此事件,UI-UX5 #47) */
|
|
554
|
-
'llm.usage' | 'tool.started' | 'tool.completed' | 'tool.failed' | 'tool.denied' |
|
|
560
|
+
'llm.usage' | 'tool.started' | 'tool.completed' | 'tool.failed' | 'tool.denied' |
|
|
561
|
+
/**
|
|
562
|
+
* 按需披露的工具本轮未被任何已激活技能点名,因此没写进 tool spec(分册 19)。
|
|
563
|
+
* **不是拒绝**:它照样调得动。与 `tool.denied` 分开是因为排查方向相反——
|
|
564
|
+
* `denied` 指向「技能清单写错了」,`withheld` 指向「该激活的技能还没激活」。
|
|
565
|
+
*/
|
|
566
|
+
'tool.withheld' | 'artifact.created' | 'ui.requested' | 'ui.resumed' | 'ui.surface-action.requested' | 'ui.surface-action.resolved' | 'ui.rendered' | 'ui.degraded' | 'todo.created' | 'todo.updated' | 'todo.cleared' | 'run.warning' | 'run.completed' | 'run.cancelled' | 'run.failed' | 'run.resumed';
|
|
555
567
|
interface TraceEvent {
|
|
556
568
|
id: string;
|
|
557
569
|
runId: string;
|
|
@@ -1117,6 +1129,12 @@ type BridgeRequest = {
|
|
|
1117
1129
|
path: string;
|
|
1118
1130
|
content: string | number[];
|
|
1119
1131
|
mimeType?: string;
|
|
1132
|
+
/**
|
|
1133
|
+
* 技能声明的产物 metadata(分册 18)。**不可信载荷**,故声明为 `unknown`:
|
|
1134
|
+
* 形状判定在 `createScriptContext.writeArtifact`(唯一汇聚点,DV-10),
|
|
1135
|
+
* 在这里拒绝只能 `return undefined`,而那会丢掉请求 id 使脚本挂到超时。
|
|
1136
|
+
*/
|
|
1137
|
+
metadata?: unknown;
|
|
1120
1138
|
} | {
|
|
1121
1139
|
kind: 'confirm';
|
|
1122
1140
|
id: string;
|
|
@@ -1301,21 +1319,99 @@ declare const READ_LINKED_DOCUMENT_TOOL_NAME = "read_linked_document";
|
|
|
1301
1319
|
declare const SUPPORTED_DOCUMENT_MIME: {
|
|
1302
1320
|
readonly pdf: "application/pdf";
|
|
1303
1321
|
readonly docx: "application/vnd.openxmlformats-officedocument.wordprocessingml.document";
|
|
1322
|
+
readonly xlsx: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
|
|
1304
1323
|
};
|
|
1305
1324
|
/** docx 抽取实现由宿主注入(`DOMParser` 是浏览器 API,Node 没有;备案 D55) */
|
|
1306
1325
|
type DocxTextExtractor = (bytes: Uint8Array) => Promise<string>;
|
|
1326
|
+
/** xlsx 抽取实现由宿主注入(0.13.0 FR-12.5;限制与 docx 相同) */
|
|
1327
|
+
type XlsxTextExtractor = (bytes: Uint8Array) => Promise<string>;
|
|
1328
|
+
/**
|
|
1329
|
+
* PDF → 文本(0.13.0 FR-22.1)。**只用于直传被端点拒后的回退**,
|
|
1330
|
+
* 不改变 PDF 默认直传的路径。SDK 不带实现:正确取到文本层要处理
|
|
1331
|
+
* xref / 对象流 / FlateDecode / ToUnicode CMap,自写即 AGENTS.md §6 禁止的手写协议解析器。
|
|
1332
|
+
*/
|
|
1333
|
+
type PdfTextExtractor = (bytes: Uint8Array) => Promise<string>;
|
|
1307
1334
|
/** 引擎侧固定流程(§2.3)用到的错误文案,集中一处便于判据引用 */
|
|
1308
1335
|
declare const UNSUPPORTED_DOCUMENT_MESSAGE: string;
|
|
1309
1336
|
/**
|
|
1310
1337
|
* 内建工具:读页面链接指向的文档。
|
|
1311
1338
|
*
|
|
1312
|
-
* **始终注册**(只要宿主装配了 reader):docx 与纯文本这条路对所有模型成立。
|
|
1339
|
+
* **始终注册**(只要宿主装配了 reader):docx / xlsx 与纯文本这条路对所有模型成立。
|
|
1313
1340
|
* PDF 目标在模型不支持文档时**取数后拒绝**,而不是入口就拦 ——
|
|
1314
1341
|
* 入口拦会误伤 docx,它抽成文本后根本不需要文档能力。
|
|
1315
1342
|
*/
|
|
1316
1343
|
declare const READ_LINKED_DOCUMENT_TOOL: ToolDefinition;
|
|
1317
1344
|
//#endregion
|
|
1345
|
+
//#region src/engine/toolStep.d.ts
|
|
1346
|
+
/**
|
|
1347
|
+
* 一次工具调用的**未截断**参数留存(分册 30 / FR-30.2)。
|
|
1348
|
+
*
|
|
1349
|
+
* 刻意不并入 `RunTraceFile`:那是 `@stable` 且不留扩展位的契约,
|
|
1350
|
+
* 每个 run 都写、所有宿主都读;为一个默认关闭的能力抬它的 schemaVersion
|
|
1351
|
+
* 不划算(D-30-1 裁为 B)。
|
|
1352
|
+
* @stable
|
|
1353
|
+
*/
|
|
1354
|
+
interface ToolStepRecord {
|
|
1355
|
+
runId: string;
|
|
1356
|
+
sessionId: string;
|
|
1357
|
+
callId: string;
|
|
1358
|
+
/** LLM 可见的工具名 */
|
|
1359
|
+
tool: string;
|
|
1360
|
+
at: string;
|
|
1361
|
+
/** 脱敏后的参数:被脱敏的键仍在,值不在 */
|
|
1362
|
+
args: Record<string, unknown>;
|
|
1363
|
+
/** 被脱敏掉的字段路径(如 `credentials.token`),供确认卡与审计 */
|
|
1364
|
+
redacted: readonly string[];
|
|
1365
|
+
/** 超出体积上限:`args` 为空对象,生成器据此拒绝该步骤 */
|
|
1366
|
+
truncated?: true;
|
|
1367
|
+
/** 未脱敏字段的依据(AC-30.6d) */
|
|
1368
|
+
trust: ToolStepTrust;
|
|
1369
|
+
}
|
|
1370
|
+
/**
|
|
1371
|
+
* 参数留存的信任层级。
|
|
1372
|
+
* - `reviewed`:本仓自带工具源,schema 标注已被审查
|
|
1373
|
+
* - `host-trusted`:外部来源,但宿主显式声明信任(`declaredBy` 记声明标识)
|
|
1374
|
+
* - `untrusted`:缺省——未标注字段一律按敏感处理
|
|
1375
|
+
* @stable
|
|
1376
|
+
*/
|
|
1377
|
+
type ToolStepTrust = {
|
|
1378
|
+
tier: 'reviewed' | 'host-trusted';
|
|
1379
|
+
declaredBy?: string;
|
|
1380
|
+
} | {
|
|
1381
|
+
tier: 'untrusted';
|
|
1382
|
+
};
|
|
1383
|
+
/** 只读侧:生成器只需要「这个会话有哪些步骤」 @stable */
|
|
1384
|
+
interface ToolStepReader {
|
|
1385
|
+
listBySession(sessionId: string): Promise<ToolStepRecord[]>;
|
|
1386
|
+
}
|
|
1387
|
+
/** @stable */
|
|
1388
|
+
interface ToolStepStore extends ToolStepReader {
|
|
1389
|
+
append(record: ToolStepRecord): Promise<void>;
|
|
1390
|
+
}
|
|
1391
|
+
/**
|
|
1392
|
+
* 按会话分文件的 append-only JSONL 留存。
|
|
1393
|
+
*
|
|
1394
|
+
* 分文件维度取会话而非 run:读取侧唯一的查询就是「这个会话的全部步骤」,
|
|
1395
|
+
* 按 run 分会让一次生成要开 N 个文件。
|
|
1396
|
+
*/
|
|
1397
|
+
declare class FsToolStepStore implements ToolStepStore {
|
|
1398
|
+
#private;
|
|
1399
|
+
constructor(deps: {
|
|
1400
|
+
root: string;
|
|
1401
|
+
fs: FileSystemProvider;
|
|
1402
|
+
/** 留存失败不阻断对话:默认降级为告警 */
|
|
1403
|
+
onError?: (error: unknown, record: ToolStepRecord) => void;
|
|
1404
|
+
});
|
|
1405
|
+
append(record: ToolStepRecord): Promise<void>;
|
|
1406
|
+
listBySession(sessionId: string): Promise<ToolStepRecord[]>;
|
|
1407
|
+
}
|
|
1408
|
+
//#endregion
|
|
1318
1409
|
//#region src/engine/external.d.ts
|
|
1410
|
+
/**
|
|
1411
|
+
* 工具披露层级(分册 19)。`on-demand` 只影响工具写不写进 LLM tool spec,
|
|
1412
|
+
* **不影响可执行性**——要限制访问的宿主应当使用禁用(各来源自己的 enabled 通道)。
|
|
1413
|
+
*/
|
|
1414
|
+
type ToolDisclosure = 'always' | 'on-demand';
|
|
1319
1415
|
/**
|
|
1320
1416
|
* 外部工具来源(runtime 扩展点,mcp 包实现并插入)。
|
|
1321
1417
|
* LLM 可见名为已消毒名(如 endpoint__greet / mcp__search)。
|
|
@@ -1323,6 +1419,13 @@ declare const READ_LINKED_DOCUMENT_TOOL: ToolDefinition;
|
|
|
1323
1419
|
interface ExternalToolSource {
|
|
1324
1420
|
readonly kind: string;
|
|
1325
1421
|
listToolSpecs(): Promise<LlmToolSpec[]>;
|
|
1422
|
+
/**
|
|
1423
|
+
* 该工具的披露层级(分册 19 / FR-19.2)。**不实现 ⇒ 该源全部工具按 `always`**(存量来源行为不变)。
|
|
1424
|
+
*
|
|
1425
|
+
* 每轮实时求值,不写进 `LlmToolSpec` 字段:spec 只在 run 起点与 resume 各收集一次,
|
|
1426
|
+
* 凝固进 spec 会让宿主中途改配置整轮不生效。
|
|
1427
|
+
*/
|
|
1428
|
+
disclosure?(llmToolName: string): ToolDisclosure;
|
|
1326
1429
|
/**
|
|
1327
1430
|
* 可选:向 run 的 system 消息追加一段说明(组件 catalog 之类的大段规格)。
|
|
1328
1431
|
*
|
|
@@ -1333,6 +1436,28 @@ interface ExternalToolSource {
|
|
|
1333
1436
|
systemPrompt?(): Promise<string | undefined>;
|
|
1334
1437
|
canHandle(llmToolName: string): boolean;
|
|
1335
1438
|
call(llmToolName: string, args: Record<string, unknown>): Promise<ToolResult>;
|
|
1439
|
+
/**
|
|
1440
|
+
* 参数留存的信任判定(分册 30 / FR-30.3)。**不实现 ⇒ 该源全部工具按 untrusted 处理**(参数全脱敏)。
|
|
1441
|
+
*
|
|
1442
|
+
* 字段级敏感性只写在 `inputSchema` 的 `x-webskill-sensitive` 标注里,本方法不重复表达它,
|
|
1443
|
+
* 否则会有两份事实源。本方法回答的是另一个问题:**这一次调用的参数整体能不能按审查过的处理**。
|
|
1444
|
+
*
|
|
1445
|
+
* 传入 `args` 是为了让「敏感与否取决于运行期目标」的工具能如实回答——
|
|
1446
|
+
* 例如 `act_on_page` 的填写内容是否敏感,取决于目标是不是密码类控件,
|
|
1447
|
+
* 静态 schema 看不出来。这类工具应在敏感目标上返回 `untrusted`(整调用全脱敏),
|
|
1448
|
+
* 而不是把字段永久标成敏感、让所有正常填写也一并丢失。
|
|
1449
|
+
*/
|
|
1450
|
+
argCaptureTrust?(llmToolName: string, args: Record<string, unknown>): ToolStepTrust | undefined;
|
|
1451
|
+
/**
|
|
1452
|
+
* 留存前把入参补成自解释的形状(分册 30 / FR-30.2)。**不实现即原样留存。**
|
|
1453
|
+
*
|
|
1454
|
+
* 给的是 `act_on_page` 这类工具一个出口:它的 `ref` 是本次感知产出的不透明句柄,
|
|
1455
|
+
* 换一次运行就失效,只留它等于留了一个指向不存在东西的引用。工具源在这里补上
|
|
1456
|
+
* 目标的角色与可访问名,生成的技能才说得出「填进哪个框」。
|
|
1457
|
+
*
|
|
1458
|
+
* 补出来的字段照样过脱敏:它们不在 `inputSchema` 里,因此在 `untrusted` 层同样被抹掉。
|
|
1459
|
+
*/
|
|
1460
|
+
captureArgs?(llmToolName: string, args: Record<string, unknown>): Record<string, unknown> | undefined;
|
|
1336
1461
|
}
|
|
1337
1462
|
/** 外部技能提供者(页面动态技能等;技能随来源生灭,不持久化) */
|
|
1338
1463
|
interface ExternalSkillProvider {
|
|
@@ -1463,6 +1588,12 @@ interface AgentLoopDeps {
|
|
|
1463
1588
|
linkedDocuments?: LinkedDocumentReader;
|
|
1464
1589
|
/** docx → 文本;`DOMParser` 是浏览器 API,因此由宿主注入(Node 侧无此能力,备案 D55) */
|
|
1465
1590
|
docxExtractor?: DocxTextExtractor;
|
|
1591
|
+
xlsxExtractor?: XlsxTextExtractor;
|
|
1592
|
+
/**
|
|
1593
|
+
* PDF → 文本(FR-22.1)。**只在直传被端点拒后用作回退**,不改变 PDF 默认直传。
|
|
1594
|
+
* 不注入即没有回退能力,失败照报——与 docx / xlsx「不注入即没这个能力」同款。
|
|
1595
|
+
*/
|
|
1596
|
+
pdfExtractor?: PdfTextExtractor;
|
|
1466
1597
|
/** 文档读取留痕出口(FR-22.6);不注入即不留痕,装配方要自己承担这个选择 */
|
|
1467
1598
|
documentAudit?: {
|
|
1468
1599
|
append(event: {
|
|
@@ -1510,6 +1641,11 @@ interface AgentLoopDeps {
|
|
|
1510
1641
|
skillOutcomeReporter?: SkillOutcomeReporter;
|
|
1511
1642
|
/** D3:interrupt 点快照存储(无配置则行为与现状完全一致) */
|
|
1512
1643
|
snapshotStore?: RunSnapshotStore;
|
|
1644
|
+
/**
|
|
1645
|
+
* 工具调用的完整参数留存(分册 30)。**不注入即不留存**——
|
|
1646
|
+
* AC-30.15 因此是结构性的:不是「有个判断没走进去」,是根本没有写入方。
|
|
1647
|
+
*/
|
|
1648
|
+
toolSteps?: ToolStepStore;
|
|
1513
1649
|
}
|
|
1514
1650
|
/**
|
|
1515
1651
|
* 多轮 Agent 循环。
|
|
@@ -1550,10 +1686,18 @@ declare class AgentLoop {
|
|
|
1550
1686
|
* @stable
|
|
1551
1687
|
*/
|
|
1552
1688
|
declare const DEFAULT_LOOP_LIMITS: {
|
|
1553
|
-
readonly maxTurns:
|
|
1689
|
+
readonly maxTurns: 1000;
|
|
1554
1690
|
readonly totalTimeoutMs: 3600000;
|
|
1555
1691
|
readonly toolTimeoutMs: 600000;
|
|
1692
|
+
readonly maxHistoryMessages: 1000;
|
|
1556
1693
|
};
|
|
1694
|
+
/**
|
|
1695
|
+
* 工具参数留存的单次体积上限(分册 30 / FR-30.2)。**全仓唯一来源**(S8)。
|
|
1696
|
+
*
|
|
1697
|
+
* 超限时不留半截参数,整条标记为 `truncated`。
|
|
1698
|
+
* @stable
|
|
1699
|
+
*/
|
|
1700
|
+
declare const MAX_TOOL_STEP_ARG_BYTES = 32768;
|
|
1557
1701
|
/**
|
|
1558
1702
|
* 触顶类失败(`RUN_TIMEOUT` / `RUN_MAX_TURNS_EXCEEDED`)记进 `run.failed`
|
|
1559
1703
|
* 轨迹事件 `data` 的结构化细节:程序化消费方据此判断是哪个上限、当时的生效值,
|
|
@@ -1610,6 +1754,8 @@ interface WebSkillRuntimeDeps {
|
|
|
1610
1754
|
}) => Promise<void>;
|
|
1611
1755
|
/** D3:interrupt 点快照存储(配置后 interrupted run 可 resumeRun 恢复) */
|
|
1612
1756
|
snapshotStore?: RunSnapshotStore;
|
|
1757
|
+
/** 工具调用的完整参数留存(分册 30);**不注入即不留存** */
|
|
1758
|
+
toolSteps?: ToolStepStore;
|
|
1613
1759
|
/** 技能状态拦截 port(治理 SkillStatePolicy.toSkillStateGuard 装配;无注入默认全放行) */
|
|
1614
1760
|
skillStateGuard?: SkillStateGuard;
|
|
1615
1761
|
/** D3 激活期完整性校验 port(治理 SkillStatePolicy.toSkillIntegrityGuard 装配;无注入即关闭) */
|
|
@@ -1628,6 +1774,10 @@ interface WebSkillRuntimeDeps {
|
|
|
1628
1774
|
linkedDocuments?: LinkedDocumentReader;
|
|
1629
1775
|
/** docx → 文本;不注入即 Word 文档明确报「本环境不支持」(FR-23.8) */
|
|
1630
1776
|
docxExtractor?: DocxTextExtractor;
|
|
1777
|
+
/** xlsx → 文本;不注入即 Excel 工作簿明确报「本环境不支持」(FR-12.5) */
|
|
1778
|
+
xlsxExtractor?: XlsxTextExtractor;
|
|
1779
|
+
/** PDF → 文本;**只在直传被端点拒后做回退**,不注入即没有回退能力(FR-22.1) */
|
|
1780
|
+
pdfExtractor?: PdfTextExtractor;
|
|
1631
1781
|
/** 文档读取留痕出口(FR-22.6) */
|
|
1632
1782
|
documentAudit?: {
|
|
1633
1783
|
append(event: {
|
|
@@ -1658,7 +1808,7 @@ declare class WebSkillRuntime {
|
|
|
1658
1808
|
* 多会话:session 对象的 run(prompt) 跨 run 延续消息历史(同一 session 对话上下文连续)。
|
|
1659
1809
|
* 既有 runtime.run(prompt) 保持无状态单次语义不变。
|
|
1660
1810
|
* 同 handle 并发 run 经 per-handle 队列串行化(防历史 last-writer-wins 丢轮次);
|
|
1661
|
-
* maxHistoryMessages
|
|
1811
|
+
* maxHistoryMessages(默认取 `DEFAULT_LOOP_LIMITS`)超出时滚动裁剪中段(保留首尾;边界对齐 tool 契约)。
|
|
1662
1812
|
*/
|
|
1663
1813
|
createSession(options?: {
|
|
1664
1814
|
sessionId?: string;
|
|
@@ -1739,6 +1889,10 @@ interface RunTraceSummary {
|
|
|
1739
1889
|
interface RunTraceFilter {
|
|
1740
1890
|
/** 状态精确匹配 */
|
|
1741
1891
|
status?: string;
|
|
1892
|
+
/**
|
|
1893
|
+
* 会话精确匹配。刻意不走 `search`:子串匹配会让 `sess-1` 命中 `sess-10`。
|
|
1894
|
+
*/
|
|
1895
|
+
sessionId?: string;
|
|
1742
1896
|
/** 大小写不敏感子串:匹配 runId 或任一激活技能名 */
|
|
1743
1897
|
search?: string;
|
|
1744
1898
|
limit?: number;
|
|
@@ -1967,4 +2121,31 @@ declare class FsSessionStore<TMessage = unknown> implements SessionStore<TMessag
|
|
|
1967
2121
|
delete(id: string): Promise<void>;
|
|
1968
2122
|
}
|
|
1969
2123
|
//#endregion
|
|
1970
|
-
|
|
2124
|
+
//#region src/engine/toolStepRedaction.d.ts
|
|
2125
|
+
/**
|
|
2126
|
+
* 参数敏感标注关键字(分册 30 / FR-30.3)。
|
|
2127
|
+
*
|
|
2128
|
+
* 不用 `format: 'password'`:`format` 是 JSON Schema 的规范关键字,provider 侧
|
|
2129
|
+
* 可能据其做转换或校验,而且它只对 `type: 'string'` 有意义,对象型凭据标不了。
|
|
2130
|
+
* `x-` 前缀走 `JsonSchema` 的索引签名,不与任何规范语义抢占。
|
|
2131
|
+
*/
|
|
2132
|
+
declare const SENSITIVE_ANNOTATION = "x-webskill-sensitive";
|
|
2133
|
+
interface RedactedArgs {
|
|
2134
|
+
/** 脱敏后的参数:被脱敏的键仍在,值为 `null` */
|
|
2135
|
+
args: Record<string, unknown>;
|
|
2136
|
+
/** 被脱敏掉的字段路径,点号分隔;数组元素用 `field[0]` */
|
|
2137
|
+
redacted: string[];
|
|
2138
|
+
truncated?: true;
|
|
2139
|
+
}
|
|
2140
|
+
/**
|
|
2141
|
+
* 分层脱敏(FR-30.3)——**全仓唯一实现**。
|
|
2142
|
+
*
|
|
2143
|
+
* 1. `untrusted` → 所有字段脱敏;
|
|
2144
|
+
* 2. `reviewed` / `host-trusted` → 逐字段走 schema,标注为敏感的脱敏。
|
|
2145
|
+
*
|
|
2146
|
+
* 标注为敏感的字段在**任何**层级都脱敏:信任声明说的是「未标注的可以留」,
|
|
2147
|
+
* 不是「标注了也能留」。
|
|
2148
|
+
*/
|
|
2149
|
+
declare function redactToolStepArgs(args: Record<string, unknown>, schema: JsonSchema | undefined, trust: ToolStepTrust): RedactedArgs;
|
|
2150
|
+
//#endregion
|
|
2151
|
+
export { LifecycleHook as $, fromVercelStreamPart as $n, SkillOutcomeReporter as $t, DocxTextExtractor as A, UserProfileEntry as An, toRecordDigests as Ar, RunTraceStore as At, FsRunTraceStore as B, applyUserProfileImport as Bn, SchemaInferer as Bt, CapabilityApproval as C, USER_PROFILE_EXPORT_VERSION as Cn, schemaToForm as Cr, RunSnapshotListEntry as Ct, DEFAULT_MAX_DOCUMENT_BYTES as D, USER_PROFILE_REFINE_PROMPT as Dn, summarizeToolCalls as Dr, RunTraceFile as Dt, DEFAULT_MAX_DATA_SOURCE_BYTES as E, USER_PROFILE_PROMPT_HEADER as En, summarizeRunUsage as Er, RunToolCall as Et, ExternalToolSource as F, WebSkillApi as Fn, RuntimeSession as Ft, GoogleGenAiClientConfig as G, diffUserProfile as Gn, SealResult as Gt, FsToolStepStore as H, buildRenderResult as Hn, ScriptExecutor as Ht, FS_SESSION_PAGE_SIZE as I, WebSkillRuntime as In, RuntimeSessionHandle as It, InstalledSkillManifest as J, extractTodoTraceEvents as Jn, SessionMeta as Jt, HookRunner as K, exportUserProfile as Kn, SerializingMemoryStore as Kt, FsArtifactStore as L, WebSkillRuntimeDeps as Ln, SENSITIVE_ANNOTATION as Lt, EventBus as M, UserProfileImportDiff as Mn, validateUiSpecEvent as Mr, RunUsageSummary as Mt, ExecuteLifecycleData as N, UserProfileLimits as Nn, validateUiSpecNode as Nr, RuntimePhase as Nt, DEFAULT_MAX_DOCUMENT_TEXT_BYTES as O, UnsupportedRunSnapshot as On, textParts as Or, RunTraceFilter as Ot, ExternalSkillProvider as P, VercelToolSpec as Pn, RuntimeRun as Pt, LifecycleEventInit as Q, fromVercelResult as Qn, SkillIntegrityGuard as Qt, FsMemoryStore as R, XlsxTextExtractor as Rn, SESSION_SCHEMA_VERSION as Rt, BridgeResponse as S, UNSUPPORTED_DOCUMENT_MESSAGE as Sn, schemaSourceLabel as Sr, RunSnapshot as St, DEFAULT_LOOP_LIMITS as T, USER_PROFILE_NO_INVENTION_RULE as Tn, sealToolCallPairs as Tr, RunTerminationReason as Tt, FullDisclosureRouter as U, createScriptContext as Un, SealOptions as Ut, FsSessionStore as V, bridgeError as Vn, ScriptExecutionContext as Vt, GoogleGenAiClient as W, createWebSkillApi as Wn, SealRecord as Wt, InteractLifecycleData as X, findUnpairedToolCalls as Xn, SessionStore as Xt, IntegrityVerdict as Y, extractUiSpecEvents as Yn, SessionRecord as Yt, LifecycleEvent as Z, formatSkillScriptManifest as Zn, SkillFailureReport as Zt, BehaviorRecordKind as _, ToolStepTrust as _n, redactToolStepArgs as _r, RefineUserProfileInput as _t, ASK_USER_TOOL as a, TEXT_BUDGETED_CONTENT_TYPES as an, mergeProfileEntries as ar, OpenAiCompatibleClient as at, BridgeCapability as b, TraceEventType as bn, resolveToolName as br, RunLimitErrorDetails as bt, AgentLoop as c, TodoTraceEvent as cn, normalizeErrorCode as cr, ProgressiveRouter as ct, AnthropicClient as d, ToolDisclosure as dn, parseBridgeRequest as dr, READ_SKILL_FILE_INPUT_SCHEMA as dt, SkillRouter as en, interruptedToolResult as er, LifecycleHookContext as et, AnthropicClientConfig as f, ToolResolution as fn, parseUserProfileExport as fr, READ_SKILL_FILE_TOOL as ft, BehaviorRecord as g, ToolStepStore as gn, readUserProfile as gr, RedactedArgs as gt, BEHAVIOR_RECORDS_KEY as h, ToolStepRecord as hn, readProfileEntries as hr, RUN_TRACE_SCHEMA_VERSION as ht, ASK_USER_MAX_FIELDS as i, SkillSuccessReport as in, mergeCatalogEntries as ir, NetworkPolicy as it, EMPTY_USER_PROFILE as j, UserProfileExport as jn, toVercelToolSpecs as jr, RunTraceSummary as jt, DEFAULT_USER_PROFILE_LIMITS as k, UserProfile as kn, toLlmToolSpec as kr, RunTraceMetrics as kt, AgentLoopConfig as l, ToolContent as ln, normalizeToolContent as lr, READ_LINKED_DOCUMENT_TOOL as lt, ApprovalScope as m, ToolStepReader as mn, readBehaviorRecords as mr, RUN_SNAPSHOT_SCHEMA_VERSION as mt, ASK_USER_FIELD_TYPES as n, SkillScriptSchemaSource as nn, isUnsupportedRunSnapshot as nr, LinkedDocumentReader as nt, ASK_USER_TOOL_NAME as o, TerminalLifecycleData as on, networkPolicyLibSource as or, OpenAiCompatibleClientConfig as ot, ApprovalDecision as p, ToolResult as pn, partsToText as pr, READ_SKILL_FILE_TOOL_NAME as pt, HookRunnerOptions as q, extractChartSpec as qn, SessionListPage as qt, ASK_USER_INPUT_SCHEMA as r, SkillStateGuard as rn, listSkillScripts as rr, MAX_TOOL_STEP_ARG_BYTES as rt, ActivateLifecycleData as s, TextualToolContent as sn, networkUrlHost as sr, PdfTextExtractor as st, ALLOWED_TOOLS_EXCLUSION_REASON as t, SkillScriptDescriptor as tn, isNetworkAllowed as tr, LifecycleListener as tt, AgentLoopDeps as u, ToolDefinition as un, normalizeToolError as ur, READ_LINKED_DOCUMENT_TOOL_NAME as ut, BehaviorScene as v, TraceClock as vn, refineUserProfile as vr, RouteLifecycleData as vt, CapabilityMode as w, USER_PROFILE_KEY as wn, scriptToolName as wr, RunSnapshotStore as wt, BridgeRequest as x, TraceRecorder as xn, sampleBehaviorRecords as xr, RunResult as xt, BridgeCapabilities as y, TraceEvent as yn, renderUserProfileContext as yr, RouteResult as yt, FsRunSnapshotStore as z, appendBehaviorRecords as zn, SUPPORTED_DOCUMENT_MIME as zt };
|