@webskill/sdk 0.13.0 → 0.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. package/dist/agent.d.ts +3 -3
  2. package/dist/agent.js +3 -3
  3. package/dist/browser.d.ts +225 -7
  4. package/dist/browser.js +659 -47
  5. package/dist/{catalogComponents-BgAJN0p8-CYEXSk45.js → catalogComponents-BgAJN0p8-Cr55ouOg.js} +2 -2
  6. package/dist/{dist-ExSQky4C.js → dist-Bfga1TmS.js} +45 -5
  7. package/dist/{dist-GK6dtjRv.js → dist-BnqAkSS6.js} +940 -49
  8. package/dist/{dist-DqcL6jKO.js → dist-CiaDIqkV.js} +2 -2
  9. package/dist/{dist-Bev6i6Ip.js → dist-D5YhlCdY.js} +59 -1
  10. package/dist/governance.d.ts +3 -3
  11. package/dist/governance.js +2 -2
  12. package/dist/{index-DkvBhJQy.d.ts → index-CWoKOFBP.d.ts} +47 -3
  13. package/dist/{index-iBm9tJL_.d.ts → index-DQwGvHAI.d.ts} +389 -9
  14. package/dist/{index-C3XdItd_.d.ts → index-sd-gVKey.d.ts} +2 -2
  15. package/dist/index.d.ts +4 -4
  16. package/dist/index.js +5 -5
  17. package/dist/mcp.d.ts +56 -3
  18. package/dist/mcp.js +36 -3
  19. package/dist/{memoryArtifactStore-52Zn9npI-LbCQaqyx.js → memoryArtifactStore-52Zn9npI-BxtUkrgV.js} +1 -1
  20. package/dist/node.d.ts +3 -3
  21. package/dist/node.js +6 -6
  22. package/dist/{openUiLibrary-BKXW7Iwx-CWWBVOkE.js → openUiLibrary-BKXW7Iwx-DjvEnMlJ.js} +2 -2
  23. package/dist/{skillVersionStore-D-qHk9ZE-DheTIwAB.d.ts → skillVersionStore-D-qHk9ZE-C0OFDTQY.d.ts} +1 -1
  24. package/dist/{testing-WPTyXQYt.js → testing-Cm8MseLF.js} +2 -2
  25. package/dist/testing.d.ts +1 -1
  26. package/dist/testing.js +2 -2
  27. package/dist/{types-DLctJep_-B5G4uk2u.d.ts → types-C3V6lAeO-BgeOvc1Y.d.ts} +63 -4
  28. package/dist/ui-react.d.ts +2 -2
  29. package/dist/ui-react.js +5 -5
  30. package/dist/ui-vue.d.ts +1 -1
  31. package/dist/ui-vue.js +1 -1
  32. package/dist/ui.d.ts +3 -3
  33. package/dist/ui.js +2 -2
  34. package/dist/{webskillLitCatalog-D_zCqeQF-C9lrvvMr.js → webskillLitCatalog-D_zCqeQF-swXsWoAe.js} +1 -1
  35. package/package.json +1 -1
@@ -1,4 +1,4 @@
1
- import { h as WebSkillError } from "./dist-Bev6i6Ip.js";
1
+ import { b as WebSkillError } from "./dist-D5YhlCdY.js";
2
2
  import { toJSONSchema, z } from "zod";
3
3
 
4
4
  //#region ../ui/dist/webskillCatalog-nTgkL9Xe.js
@@ -3481,7 +3481,7 @@ function fromA2uiSpecAction(event) {
3481
3481
  */
3482
3482
  async function loadWebSkillLitCatalog() {
3483
3483
  try {
3484
- const { webskillLitCatalog } = await import("./webskillLitCatalog-D_zCqeQF-C9lrvvMr.js");
3484
+ const { webskillLitCatalog } = await import("./webskillLitCatalog-D_zCqeQF-swXsWoAe.js");
3485
3485
  return webskillLitCatalog();
3486
3486
  } catch (cause) {
3487
3487
  throw new WebSkillError("UI_UNAVAILABLE", "The WebSkill A2UI catalog is unavailable; install @a2ui/lit, @a2ui/web_core and lit to render catalog surfaces with A2UI", cause);
@@ -518,6 +518,64 @@ function assertRemoteUrlAllowed(rawUrl, policy = {}) {
518
518
  if (!policy.allowPrivateHosts && isPrivateHost(url.hostname)) throw new WebSkillError("NETWORK_BLOCKED", `Refusing to connect to a private/loopback/link-local address: ${url.hostname}`);
519
519
  return url;
520
520
  }
521
+ /** 可作为图片分片外发的 MIME 类型 @experimental */
522
+ const IMAGE_MIME_TYPES = [
523
+ "image/png",
524
+ "image/jpeg",
525
+ "image/webp",
526
+ "image/gif"
527
+ ];
528
+ /**
529
+ * 可按文本读取的扩展名。accept 白名单与判定白名单共用这一份——
530
+ * 0.5.x 两处不一致,`log`/`yaml`/`yml` 能通过判定却在文件选择器里选不到。
531
+ */
532
+ const TEXT_EXTENSIONS = [
533
+ "txt",
534
+ "md",
535
+ "csv",
536
+ "json",
537
+ "log",
538
+ "yaml",
539
+ "yml"
540
+ ];
541
+ /** 非文本非图片但仍可整体外发的类型(provider 的 file 分片) @experimental */
542
+ const FILE_MIME_TYPES = ["application/pdf"];
543
+ /**
544
+ * 需要**客户端先抽取成文本**才能外发的类型(FR-23.9 / 0.13.0 FR-12.5)。
545
+ * 不走直通的 `file`:docx / xlsx 发给 provider 会被当成二进制垃圾。
546
+ */
547
+ const DOCX_MIME = "application/vnd.openxmlformats-officedocument.wordprocessingml.document";
548
+ const XLSX_MIME = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
549
+ /** 文本类附件进模型上下文的字符上限(0.6.0) @experimental */
550
+ const ATTACHMENT_TEXT_LIMIT = 32 * 1024;
551
+ const TEXT_EXTENSION_SET = new Set(TEXT_EXTENSIONS);
552
+ const IMAGE_MIME_SET = new Set(IMAGE_MIME_TYPES);
553
+ const FILE_MIME_SET = new Set(FILE_MIME_TYPES);
554
+ const EXTRACTED_MIME_SET = /* @__PURE__ */ new Set([DOCX_MIME, XLSX_MIME]);
555
+ const EXTRACTED_EXTENSION_SET = /* @__PURE__ */ new Set(["docx", "xlsx"]);
556
+ function extensionOf(fileName) {
557
+ return fileName.split(".").pop()?.toLowerCase() ?? "";
558
+ }
559
+ /** 分类集中一处,不散落在各 UI 分支里 @experimental */
560
+ function classifyAttachment(contentType, fileName) {
561
+ const type = contentType.toLowerCase();
562
+ if (IMAGE_MIME_SET.has(type)) return "image";
563
+ if (EXTRACTED_MIME_SET.has(type)) return "document-text";
564
+ if (FILE_MIME_SET.has(type)) return "file";
565
+ if (type.startsWith("text/") || type === "application/json") return "text";
566
+ if (type === "" && TEXT_EXTENSION_SET.has(extensionOf(fileName))) return "text";
567
+ if (type === "" && EXTRACTED_EXTENSION_SET.has(extensionOf(fileName))) return "document-text";
568
+ }
569
+ /**
570
+ * 文本类附件进模型上下文的最终形态。两条入口共用,差别只有出处那一段(0.14.0 D-20-6)。
571
+ * @experimental
572
+ */
573
+ function formatAttachmentText(input) {
574
+ const clipped = input.body.length > 32768 ? `${input.body.slice(0, ATTACHMENT_TEXT_LIMIT)}\n[truncated]` : input.body;
575
+ const bodyOnly = input.kind === "document-text" ? ", body text only" : "";
576
+ const from = input.origin === "download" ? ", from this device's downloads" : "";
577
+ return `--- Attachment: ${input.name} (${input.contentType}${bodyOnly}${from}) ---\n${clipped}`;
578
+ }
521
579
  const FRONTMATTER_RE = /^---[^\S\r\n]*\r?\n([\s\S]*?)\r?\n---[^\S\r\n]*(?:\r?\n|$)([\s\S]*)$/;
522
580
  const invalid = (message, details) => {
523
581
  throw new WebSkillError("SKILL_INVALID_METADATA", message, details);
@@ -1130,4 +1188,4 @@ const xmlRenderer = {
1130
1188
  };
1131
1189
 
1132
1190
  //#endregion
1133
- export { jsonRenderer as A, resolveArchiveLimits as B, computeDigest as C, exportSkills as D, escapeXml as E, parseSkillPackManifest as F, unzipWithLimits as G, signSkill as H, readResponseWithLimit as I, verifySkillSignature as J, validateSkills as K, readSkillSignature as L, messageOf as M, normalizePath as N, isAtomicTempPath as O, parseSkillMarkdown as P, renderAvailableSkillsXml as R, checkSkillRules as S, detectSkillArchiveShapeFromFs as T, signaturePayloadBytes as U, resolveInsideRoot as V, stripArchiveRoot as W, xmlRenderer as Y, assertSafePathSegment as _, MemoryFS as a, buildManifest as b, SKILL_MANIFEST_FILE as c, SKILL_PACK_FILE as d, SKILL_SIGNATURE_FILE as f, assertRemoteUrlAllowed as g, WebSkillError as h, MANIFEST_EXCLUDED_FILES as i, keyIdOf as j, isValidSkillName as k, SKILL_NAME_MAX_LENGTH as l, SkillReader as m, DEFAULT_ARCHIVE_LIMITS as n, SIGNATURE_SCHEMA_VERSION as o, SkillDiscovery as p, verifyManifest as q, FsTrustedKeyStore as r, SKILLS_LOCKFILE as s, ATOMIC_TMP_SUFFIX_PATTERN as t, SKILL_NAME_PATTERN as u, atomicWriteText as v, detectSkillArchiveShape as w, checkDependencyCycles as x, buildCatalog as y, renderCatalogJson as z };
1191
+ export { unzipWithLimits as $, computeDigest as A, messageOf as B, assertSafePathSegment as C, checkDependencyCycles as D, buildManifest as E, formatAttachmentText as F, readSkillSignature as G, parseSkillMarkdown as H, isAtomicTempPath as I, resolveArchiveLimits as J, renderAvailableSkillsXml as K, isValidSkillName as L, detectSkillArchiveShapeFromFs as M, escapeXml as N, checkSkillRules as O, exportSkills as P, stripArchiveRoot as Q, jsonRenderer as R, assertRemoteUrlAllowed as S, buildCatalog as T, parseSkillPackManifest as U, normalizePath as V, readResponseWithLimit as W, signSkill as X, resolveInsideRoot as Y, signaturePayloadBytes as Z, SkillDiscovery as _, FILE_MIME_TYPES as a, WebSkillError as b, MANIFEST_EXCLUDED_FILES as c, SKILLS_LOCKFILE as d, validateSkills as et, SKILL_MANIFEST_FILE as f, SKILL_SIGNATURE_FILE as g, SKILL_PACK_FILE as h, DOCX_MIME as i, detectSkillArchiveShape as j, classifyAttachment as k, MemoryFS as l, SKILL_NAME_PATTERN as m, ATTACHMENT_TEXT_LIMIT as n, verifySkillSignature as nt, FsTrustedKeyStore as o, SKILL_NAME_MAX_LENGTH as p, renderCatalogJson as q, DEFAULT_ARCHIVE_LIMITS as r, xmlRenderer as rt, IMAGE_MIME_TYPES as s, ATOMIC_TMP_SUFFIX_PATTERN as t, verifyManifest as tt, SIGNATURE_SCHEMA_VERSION as u, SkillReader as v, atomicWriteText as w, XLSX_MIME as x, TEXT_EXTENSIONS as y, keyIdOf as z };
@@ -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-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";
1
+ import { S as UiBridge, U as FileSystemProvider, X as PageQuery, Y as Page, f as LlmMessage, ft as SkillDocument, gt as SkillManagerPort, l as LlmClient, ut as SkillCatalogEntry } from "./types-C3V6lAeO-BgeOvc1Y.js";
2
+ import { $t as SkillIntegrityGuard, Ft as RuntimeRun, Rn as WebSkillRuntime, X as IntegrityVerdict, en as SkillOutcomeReporter, in as SkillStateGuard } from "./index-CWoKOFBP.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-C0OFDTQY.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 { M as messageOf, _ as assertSafePathSegment, h as WebSkillError, k as isValidSkillName, v as atomicWriteText } from "./dist-Bev6i6Ip.js";
2
- import { a as textParts, n as partsToText } from "./memoryArtifactStore-52Zn9npI-LbCQaqyx.js";
1
+ import { B as messageOf, C as assertSafePathSegment, L as isValidSkillName, b as WebSkillError, w as atomicWriteText } from "./dist-D5YhlCdY.js";
2
+ import { a as textParts, n as partsToText } from "./memoryArtifactStore-52Zn9npI-BxtUkrgV.js";
3
3
  import { n as AUDIT_EVENT_TYPE_LIST, t as AUDIT_EVENT_TYPES } from "./eventTypes-FllCrX-Z-DNDeHWoG.js";
4
4
 
5
5
  //#region ../governance/dist/index.js
@@ -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-DLctJep_-B5G4uk2u.js";
1
+ import { B as DiscoveryResult, Dt as UiSpecNode, K as JsonSchema, Mt as WebSkillErrorCode, O as UiSurfaceActionRequest, S as UiBridge, T as UiSpecEvent, U as FileSystemProvider, X as PageQuery, Y as Page, Z as RemoteUrlPolicy, _ as LlmToolSpec, _t as SkillManifest, b as RenderResultRequest, d as LlmContentPart, dt as SkillDiscovery, f as LlmMessage, ft as SkillDocument, g as LlmToolCall, h as LlmTokenUsage, i as FormField, kt as ValidationReport, l as LlmClient, lt as SkillCatalog, m as LlmStreamEvent, n as ArtifactStore, o as InteractionPolicy, p as LlmResponse, pt as SkillInstallSource, r as ChartSpec, s as InteractionRequest, t as Artifact, u as LlmCompleteInput, ut as SkillCatalogEntry, v as MemoryStore, w as UiSpecDrafts, y as RenderBlock } from "./types-C3V6lAeO-BgeOvc1Y.js";
2
2
  //#region ../runtime/dist/index.d.ts
3
3
  //#region src/llm/parts.d.ts
4
4
  /** 纯文本消息内容的构造快捷方式(引擎内部绝大多数消息仍是纯文本) */
@@ -61,6 +61,25 @@ declare const DEFAULT_MAX_DOCUMENT_TEXT_BYTES = 512000;
61
61
  * 结构化数据不是文档,量级差一个数量级;超出**只拒不截**——截断的 JSON 解不出来。
62
62
  */
63
63
  declare const DEFAULT_MAX_DATA_SOURCE_BYTES = 1024000;
64
+ /**
65
+ * 宿主声明的一个数据源的**可公开部分**(0.14.0 分册 19)。
66
+ *
67
+ * `target` 不在这里,且不得被加进来:这条通路的终点是模型上下文,
68
+ * 而「地址不由脚本提供」正是 0.11.0 分册 16 §2.2 授权面的全部依据。
69
+ * @experimental
70
+ */
71
+ interface DataSourceInfo {
72
+ id: string;
73
+ description: string;
74
+ /**
75
+ * 非宿主声明时的出处(0.14.0 分册 21)。缺省即宿主声明,不带标注。
76
+ *
77
+ * 有值意味着 `description` **来自页面**,模型看到的清单里必须随之出现「可能不准确」的标注,
78
+ * 否则一段由站点控制的文本会以宿主口吻进上下文。
79
+ * @experimental
80
+ */
81
+ provenance?: 'page-declared' | 'tool-projection';
82
+ }
64
83
  /**
65
84
  * 工具结果的内容分片(0.6.0 §1.1)。
66
85
  * `image` 分片不参与 `toolResultMaxBytes` 截断——那份预算是给文本的,
@@ -1341,6 +1360,8 @@ declare const UNSUPPORTED_DOCUMENT_MESSAGE: string;
1341
1360
  * 入口拦会误伤 docx,它抽成文本后根本不需要文档能力。
1342
1361
  */
1343
1362
  declare const READ_LINKED_DOCUMENT_TOOL: ToolDefinition;
1363
+ /** 二进制转 base64;`btoa` 只吃 latin1,必须逐字节喂而不是先 decode 成字符串 */
1364
+ declare function toBase64(bytes: Uint8Array): string;
1344
1365
  //#endregion
1345
1366
  //#region src/engine/toolStep.d.ts
1346
1367
  /**
@@ -1412,6 +1433,17 @@ declare class FsToolStepStore implements ToolStepStore {
1412
1433
  * **不影响可执行性**——要限制访问的宿主应当使用禁用(各来源自己的 enabled 通道)。
1413
1434
  */
1414
1435
  type ToolDisclosure = 'always' | 'on-demand';
1436
+ /**
1437
+ * 一次工具调用的调用侧上下文(0.14.0 分册 22 FR-22.5)。
1438
+ *
1439
+ * 工具源不实现这个参数即行为不变:TypeScript 里参数更少的函数可以
1440
+ * 赋给参数更多的函数类型。它存在的唯一理由是「游标跨 run 一律失效」——
1441
+ * 宝宝在游标里编时间戳只能做到「基本失效」,做不到「一律失效」。
1442
+ * @experimental
1443
+ */
1444
+ interface ToolCallContext {
1445
+ readonly runId: string;
1446
+ }
1415
1447
  /**
1416
1448
  * 外部工具来源(runtime 扩展点,mcp 包实现并插入)。
1417
1449
  * LLM 可见名为已消毒名(如 endpoint__greet / mcp__search)。
@@ -1435,7 +1467,7 @@ interface ExternalToolSource {
1435
1467
  */
1436
1468
  systemPrompt?(): Promise<string | undefined>;
1437
1469
  canHandle(llmToolName: string): boolean;
1438
- call(llmToolName: string, args: Record<string, unknown>): Promise<ToolResult>;
1470
+ call(llmToolName: string, args: Record<string, unknown>, context?: ToolCallContext): Promise<ToolResult>;
1439
1471
  /**
1440
1472
  * 参数留存的信任判定(分册 30 / FR-30.3)。**不实现 ⇒ 该源全部工具按 untrusted 处理**(参数全脱敏)。
1441
1473
  *
@@ -1581,6 +1613,13 @@ interface AgentLoopDeps {
1581
1613
  * 所以这里只收一个函数,不收策略对象——否则依赖方向反了。
1582
1614
  */
1583
1615
  fetchData?: (sourceId: string, params?: Record<string, unknown>) => Promise<unknown>;
1616
+ /**
1617
+ * 宿主声明的数据源清单(0.14.0 分册 19):技能声明了本宿主没有的源时,激活期据此说明缺什么。
1618
+ * 只含可公开字段——`target` 进不来,见 `DataSourceInfo`。
1619
+ *
1620
+ * 可传函数:宿主的源清单随用户配置变动时,惰性形式免去为一次配置改动重建引擎。
1621
+ */
1622
+ dataSources?: readonly DataSourceInfo[] | (() => readonly DataSourceInfo[]);
1584
1623
  /**
1585
1624
  * 页面链接文档的读取实现(分册 22)。不注入即 `read_linked_document` 不注册——
1586
1625
  * 模型连这个工具的存在都看不到,而不是看得到再被拒。
@@ -1767,6 +1806,11 @@ interface WebSkillRuntimeDeps {
1767
1806
  * 通常由 `@webskill/agent` 的 `DataSourcePolicy.fetchData` 绑定过来。
1768
1807
  */
1769
1808
  fetchData?: (sourceId: string, params?: Record<string, unknown>) => Promise<unknown>;
1809
+ /**
1810
+ * 宿主声明的数据源清单(0.14.0 分册 19);用 `DataSourcePolicy.publicSources` 取,不要自己传 `sources`。
1811
+ * 不注入即「宿主没说」,引擎不会断言某个源不存在。
1812
+ */
1813
+ dataSources?: readonly DataSourceInfo[] | (() => readonly DataSourceInfo[]);
1770
1814
  /**
1771
1815
  * 读页面链接指向的文档(分册 22);不注入即 `read_linked_document` 不注册。
1772
1816
  * 实现住在 `@webskill/browser`(docx 抽取要 `DOMParser`),由宿主装配。
@@ -2148,4 +2192,4 @@ interface RedactedArgs {
2148
2192
  */
2149
2193
  declare function redactToolStepArgs(args: Record<string, unknown>, schema: JsonSchema | undefined, trust: ToolStepTrust): RedactedArgs;
2150
2194
  //#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 };
2195
+ export { LifecycleEventInit as $, formatSkillScriptManifest as $n, SkillIntegrityGuard as $t, DataSourceInfo as A, UnsupportedRunSnapshot as An, textParts as Ar, RunTraceMetrics as At, FsRunSnapshotStore as B, XlsxTextExtractor as Bn, SUPPORTED_DOCUMENT_MIME as Bt, CapabilityApproval as C, TraceRecorder as Cn, sampleBehaviorRecords as Cr, RunSnapshot as Ct, DEFAULT_MAX_DOCUMENT_BYTES as D, USER_PROFILE_NO_INVENTION_RULE as Dn, sealToolCallPairs as Dr, RunToolCall as Dt, DEFAULT_MAX_DATA_SOURCE_BYTES as E, USER_PROFILE_KEY as En, scriptToolName as Er, RunTerminationReason as Et, ExternalSkillProvider as F, UserProfileLimits as Fn, validateUiSpecEvent as Fr, RuntimeRun as Ft, GoogleGenAiClient as G, createScriptContext as Gn, SealRecord as Gt, FsSessionStore as H, applyUserProfileImport as Hn, ScriptExecutionContext as Ht, ExternalToolSource as I, VercelToolSpec as In, validateUiSpecNode as Ir, RuntimeSession as It, HookRunnerOptions as J, exportUserProfile as Jn, SessionListPage as Jt, GoogleGenAiClientConfig as K, createWebSkillApi as Kn, SealResult as Kt, FS_SESSION_PAGE_SIZE as L, WebSkillApi as Ln, RuntimeSessionHandle as Lt, EMPTY_USER_PROFILE as M, UserProfileEntry as Mn, toLlmToolSpec as Mr, RunTraceSummary as Mt, EventBus as N, UserProfileExport as Nn, toRecordDigests as Nr, RunUsageSummary as Nt, DEFAULT_MAX_DOCUMENT_TEXT_BYTES as O, USER_PROFILE_PROMPT_HEADER as On, summarizeRunUsage as Or, RunTraceFile as Ot, ExecuteLifecycleData as P, UserProfileImportDiff as Pn, toVercelToolSpecs as Pr, RuntimePhase as Pt, LifecycleEvent as Q, findUnpairedToolCalls as Qn, SkillFailureReport as Qt, FsArtifactStore as R, WebSkillRuntime as Rn, SENSITIVE_ANNOTATION as Rt, BridgeResponse as S, TraceEventType as Sn, resolveToolName as Sr, RunResult as St, DEFAULT_LOOP_LIMITS as T, USER_PROFILE_EXPORT_VERSION as Tn, schemaToForm as Tr, RunSnapshotStore as Tt, FsToolStepStore as U, bridgeError as Un, ScriptExecutor as Ut, FsRunTraceStore as V, appendBehaviorRecords as Vn, SchemaInferer as Vt, FullDisclosureRouter as W, buildRenderResult as Wn, SealOptions as Wt, IntegrityVerdict as X, extractTodoTraceEvents as Xn, SessionRecord as Xt, InstalledSkillManifest as Y, extractChartSpec as Yn, SessionMeta as Yt, InteractLifecycleData as Z, extractUiSpecEvents as Zn, SessionStore as Zt, BehaviorRecordKind as _, ToolStepRecord as _n, readProfileEntries as _r, RedactedArgs as _t, ASK_USER_TOOL as a, SkillSuccessReport as an, listSkillScripts as ar, NetworkPolicy as at, BridgeCapability as b, TraceClock as bn, refineUserProfile as br, RouteResult as bt, AgentLoop as c, TextualToolContent as cn, networkPolicyLibSource as cr, PdfTextExtractor as ct, AnthropicClient as d, ToolContent as dn, normalizeToolContent as dr, READ_LINKED_DOCUMENT_TOOL_NAME as dt, SkillOutcomeReporter as en, fromVercelResult as er, LifecycleHook as et, AnthropicClientConfig as f, ToolDefinition as fn, normalizeToolError as fr, READ_SKILL_FILE_INPUT_SCHEMA as ft, BehaviorRecord as g, ToolStepReader as gn, readBehaviorRecords as gr, RUN_TRACE_SCHEMA_VERSION as gt, BEHAVIOR_RECORDS_KEY as h, ToolResult as hn, partsToText as hr, RUN_SNAPSHOT_SCHEMA_VERSION as ht, ASK_USER_MAX_FIELDS as i, SkillStateGuard as in, isUnsupportedRunSnapshot as ir, MAX_TOOL_STEP_ARG_BYTES as it, DocxTextExtractor as j, UserProfile as jn, toBase64 as jr, RunTraceStore as jt, DEFAULT_USER_PROFILE_LIMITS as k, USER_PROFILE_REFINE_PROMPT as kn, summarizeToolCalls as kr, RunTraceFilter as kt, AgentLoopConfig as l, TodoTraceEvent as ln, networkUrlHost as lr, ProgressiveRouter as lt, ApprovalScope as m, ToolResolution as mn, parseUserProfileExport as mr, READ_SKILL_FILE_TOOL_NAME as mt, ASK_USER_FIELD_TYPES as n, SkillScriptDescriptor as nn, interruptedToolResult as nr, LifecycleListener as nt, ASK_USER_TOOL_NAME as o, TEXT_BUDGETED_CONTENT_TYPES as on, mergeCatalogEntries as or, OpenAiCompatibleClient as ot, ApprovalDecision as p, ToolDisclosure as pn, parseBridgeRequest as pr, READ_SKILL_FILE_TOOL as pt, HookRunner as q, diffUserProfile as qn, SerializingMemoryStore as qt, ASK_USER_INPUT_SCHEMA as r, SkillScriptSchemaSource as rn, isNetworkAllowed as rr, LinkedDocumentReader as rt, ActivateLifecycleData as s, TerminalLifecycleData as sn, mergeProfileEntries as sr, OpenAiCompatibleClientConfig as st, ALLOWED_TOOLS_EXCLUSION_REASON as t, SkillRouter as tn, fromVercelStreamPart as tr, LifecycleHookContext as tt, AgentLoopDeps as u, ToolCallContext as un, normalizeErrorCode as ur, READ_LINKED_DOCUMENT_TOOL as ut, BehaviorScene as v, ToolStepStore as vn, readUserProfile as vr, RefineUserProfileInput as vt, CapabilityMode as w, UNSUPPORTED_DOCUMENT_MESSAGE as wn, schemaSourceLabel as wr, RunSnapshotListEntry as wt, BridgeRequest as x, TraceEvent as xn, renderUserProfileContext as xr, RunLimitErrorDetails as xt, BridgeCapabilities as y, ToolStepTrust as yn, redactToolStepArgs as yr, RouteLifecycleData as yt, FsMemoryStore as z, WebSkillRuntimeDeps as zn, SESSION_SCHEMA_VERSION as zt };