@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
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
- import { A as jsonRenderer, B as resolveArchiveLimits, C as computeDigest, D as exportSkills, E as escapeXml, F as parseSkillPackManifest, G as unzipWithLimits, H as signSkill, I as readResponseWithLimit, J as verifySkillSignature, K as validateSkills, L as readSkillSignature, M as messageOf, N as normalizePath, O as isAtomicTempPath, P as parseSkillMarkdown, R as renderAvailableSkillsXml, S as checkSkillRules, T as detectSkillArchiveShapeFromFs, U as signaturePayloadBytes, V as resolveInsideRoot, W as stripArchiveRoot, Y as xmlRenderer, _ as assertSafePathSegment, a as MemoryFS, b as buildManifest, c as SKILL_MANIFEST_FILE, d as SKILL_PACK_FILE, f as SKILL_SIGNATURE_FILE, g as assertRemoteUrlAllowed, h as WebSkillError, i as MANIFEST_EXCLUDED_FILES, j as keyIdOf, k as isValidSkillName, l as SKILL_NAME_MAX_LENGTH, m as SkillReader, n as DEFAULT_ARCHIVE_LIMITS, o as SIGNATURE_SCHEMA_VERSION, p as SkillDiscovery, q as verifyManifest, r as FsTrustedKeyStore, s as SKILLS_LOCKFILE, t as ATOMIC_TMP_SUFFIX_PATTERN, u as SKILL_NAME_PATTERN, v as atomicWriteText, w as detectSkillArchiveShape, x as checkDependencyCycles, y as buildCatalog, z as renderCatalogJson } from "./dist-Bev6i6Ip.js";
2
- import { a as textParts, n as partsToText } from "./memoryArtifactStore-52Zn9npI-LbCQaqyx.js";
3
- import { $ as bridgeError, A as ProgressiveRouter, At as refineUserProfile, B as SUPPORTED_DOCUMENT_MIME, Bt as toLlmToolSpec, C as FsSessionStore, Ct as normalizeToolError, D as HookRunner, Dt as readProfileEntries, E as GoogleGenAiClient, Et as readBehaviorRecords, F as READ_SKILL_FILE_TOOL_NAME, Ft as schemaToForm, G as USER_PROFILE_EXPORT_VERSION, H as TEXT_BUDGETED_CONTENT_TYPES, Ht as toVercelToolSpecs, I as RUN_SNAPSHOT_SCHEMA_VERSION, It as scriptToolName, J as USER_PROFILE_PROMPT_HEADER, K as USER_PROFILE_KEY, L as RUN_TRACE_SCHEMA_VERSION, Lt as sealToolCallPairs, M as READ_LINKED_DOCUMENT_TOOL_NAME, Mt as resolveToolName, N as READ_SKILL_FILE_INPUT_SCHEMA, Nt as sampleBehaviorRecords, O as MAX_TOOL_STEP_ARG_BYTES, Ot as readUserProfile, P as READ_SKILL_FILE_TOOL, Pt as schemaSourceLabel, Q as applyUserProfileImport, R as SENSITIVE_ANNOTATION, Rt as summarizeRunUsage, S as FsRunTraceStore, St as normalizeToolContent, T as FullDisclosureRouter, Tt as parseUserProfileExport, U as TraceRecorder, Ut as validateUiSpecEvent, V as SerializingMemoryStore, Vt as toRecordDigests, W as UNSUPPORTED_DOCUMENT_MESSAGE, Wt as validateUiSpecNode, X as WebSkillRuntime, Y as USER_PROFILE_REFINE_PROMPT, Z as appendBehaviorRecords, _ as EventBus, _t as mergeCatalogEntries, a as ASK_USER_TOOL, at as extractChartSpec, b as FsMemoryStore, bt as networkUrlHost, c as AnthropicClient, ct as extractUiSpecEvents, d as DEFAULT_LOOP_LIMITS, dt as fromVercelResult, et as buildRenderResult, f as DEFAULT_MAX_DATA_SOURCE_BYTES, ft as fromVercelStreamPart, g as EMPTY_USER_PROFILE, gt as listSkillScripts, h as DEFAULT_USER_PROFILE_LIMITS, ht as isUnsupportedRunSnapshot, i as ASK_USER_MAX_FIELDS, it as exportUserProfile, j as READ_LINKED_DOCUMENT_TOOL, jt as renderUserProfileContext, k as OpenAiCompatibleClient, kt as redactToolStepArgs, l as BEHAVIOR_RECORDS_KEY, lt as findUnpairedToolCalls, m as DEFAULT_MAX_DOCUMENT_TEXT_BYTES, mt as isNetworkAllowed, n as ASK_USER_FIELD_TYPES, nt as createWebSkillApi, o as ASK_USER_TOOL_NAME, ot as extractSkillCandidate, p as DEFAULT_MAX_DOCUMENT_BYTES, pt as interruptedToolResult, q as USER_PROFILE_NO_INVENTION_RULE, r as ASK_USER_INPUT_SCHEMA, rt as diffUserProfile, s as AgentLoop, st as extractTodoTraceEvents, t as ALLOWED_TOOLS_EXCLUSION_REASON, tt as createScriptContext, u as CapabilityApproval, ut as formatSkillScriptManifest, v as FS_SESSION_PAGE_SIZE, vt as mergeProfileEntries, w as FsToolStepStore, wt as parseBridgeRequest, x as FsRunSnapshotStore, xt as normalizeErrorCode, y as FsArtifactStore, yt as networkPolicyLibSource, z as SESSION_SCHEMA_VERSION, zt as summarizeToolCalls } from "./dist-ExSQky4C.js";
1
+ import { $ as unzipWithLimits, A as computeDigest, B as messageOf, C as assertSafePathSegment, D as checkDependencyCycles, E as buildManifest, F as formatAttachmentText, G as readSkillSignature, H as parseSkillMarkdown, I as isAtomicTempPath, J as resolveArchiveLimits, K as renderAvailableSkillsXml, L as isValidSkillName, M as detectSkillArchiveShapeFromFs, N as escapeXml, O as checkSkillRules, P as exportSkills, Q as stripArchiveRoot, R as jsonRenderer, S as assertRemoteUrlAllowed, T as buildCatalog, U as parseSkillPackManifest, V as normalizePath, W as readResponseWithLimit, X as signSkill, Y as resolveInsideRoot, Z as signaturePayloadBytes, _ as SkillDiscovery, a as FILE_MIME_TYPES, b as WebSkillError, c as MANIFEST_EXCLUDED_FILES, d as SKILLS_LOCKFILE, et as validateSkills, f as SKILL_MANIFEST_FILE, g as SKILL_SIGNATURE_FILE, h as SKILL_PACK_FILE, i as DOCX_MIME, j as detectSkillArchiveShape, k as classifyAttachment, l as MemoryFS, m as SKILL_NAME_PATTERN, n as ATTACHMENT_TEXT_LIMIT, nt as verifySkillSignature, o as FsTrustedKeyStore, p as SKILL_NAME_MAX_LENGTH, q as renderCatalogJson, r as DEFAULT_ARCHIVE_LIMITS, rt as xmlRenderer, s as IMAGE_MIME_TYPES, t as ATOMIC_TMP_SUFFIX_PATTERN, tt as verifyManifest, u as SIGNATURE_SCHEMA_VERSION, v as SkillReader, w as atomicWriteText, x as XLSX_MIME, y as TEXT_EXTENSIONS, z as keyIdOf } from "./dist-D5YhlCdY.js";
2
+ import { a as textParts, n as partsToText } from "./memoryArtifactStore-52Zn9npI-BxtUkrgV.js";
3
+ import { $ as bridgeError, A as ProgressiveRouter, At as refineUserProfile, B as SUPPORTED_DOCUMENT_MIME, Bt as toBase64, C as FsSessionStore, Ct as normalizeToolError, D as HookRunner, Dt as readProfileEntries, E as GoogleGenAiClient, Et as readBehaviorRecords, F as READ_SKILL_FILE_TOOL_NAME, Ft as schemaToForm, G as USER_PROFILE_EXPORT_VERSION, Gt as validateUiSpecNode, H as TEXT_BUDGETED_CONTENT_TYPES, Ht as toRecordDigests, I as RUN_SNAPSHOT_SCHEMA_VERSION, It as scriptToolName, J as USER_PROFILE_PROMPT_HEADER, K as USER_PROFILE_KEY, L as RUN_TRACE_SCHEMA_VERSION, Lt as sealToolCallPairs, M as READ_LINKED_DOCUMENT_TOOL_NAME, Mt as resolveToolName, N as READ_SKILL_FILE_INPUT_SCHEMA, Nt as sampleBehaviorRecords, O as MAX_TOOL_STEP_ARG_BYTES, Ot as readUserProfile, P as READ_SKILL_FILE_TOOL, Pt as schemaSourceLabel, Q as applyUserProfileImport, R as SENSITIVE_ANNOTATION, Rt as summarizeRunUsage, S as FsRunTraceStore, St as normalizeToolContent, T as FullDisclosureRouter, Tt as parseUserProfileExport, U as TraceRecorder, Ut as toVercelToolSpecs, V as SerializingMemoryStore, Vt as toLlmToolSpec, W as UNSUPPORTED_DOCUMENT_MESSAGE, Wt as validateUiSpecEvent, X as WebSkillRuntime, Y as USER_PROFILE_REFINE_PROMPT, Z as appendBehaviorRecords, _ as EventBus, _t as mergeCatalogEntries, a as ASK_USER_TOOL, at as extractChartSpec, b as FsMemoryStore, bt as networkUrlHost, c as AnthropicClient, ct as extractUiSpecEvents, d as DEFAULT_LOOP_LIMITS, dt as fromVercelResult, et as buildRenderResult, f as DEFAULT_MAX_DATA_SOURCE_BYTES, ft as fromVercelStreamPart, g as EMPTY_USER_PROFILE, gt as listSkillScripts, h as DEFAULT_USER_PROFILE_LIMITS, ht as isUnsupportedRunSnapshot, i as ASK_USER_MAX_FIELDS, it as exportUserProfile, j as READ_LINKED_DOCUMENT_TOOL, jt as renderUserProfileContext, k as OpenAiCompatibleClient, kt as redactToolStepArgs, l as BEHAVIOR_RECORDS_KEY, lt as findUnpairedToolCalls, m as DEFAULT_MAX_DOCUMENT_TEXT_BYTES, mt as isNetworkAllowed, n as ASK_USER_FIELD_TYPES, nt as createWebSkillApi, o as ASK_USER_TOOL_NAME, ot as extractSkillCandidate, p as DEFAULT_MAX_DOCUMENT_BYTES, pt as interruptedToolResult, q as USER_PROFILE_NO_INVENTION_RULE, r as ASK_USER_INPUT_SCHEMA, rt as diffUserProfile, s as AgentLoop, st as extractTodoTraceEvents, t as ALLOWED_TOOLS_EXCLUSION_REASON, tt as createScriptContext, u as CapabilityApproval, ut as formatSkillScriptManifest, v as FS_SESSION_PAGE_SIZE, vt as mergeProfileEntries, w as FsToolStepStore, wt as parseBridgeRequest, x as FsRunSnapshotStore, xt as normalizeErrorCode, y as FsArtifactStore, yt as networkPolicyLibSource, z as SESSION_SCHEMA_VERSION, zt as summarizeToolCalls } from "./dist-Bfga1TmS.js";
4
4
 
5
5
  //#region src/version.ts
6
6
  /** Generated by scripts/syncVersionConstant.mjs from packages/sdk/package.json. Do not edit by hand. */
@@ -8,7 +8,7 @@ import { $ as bridgeError, A as ProgressiveRouter, At as refineUserProfile, B as
8
8
  * Version of the published `@webskill/sdk` package, injected at build time.
9
9
  * @stable
10
10
  */
11
- const SDK_VERSION = "0.13.0";
11
+ const SDK_VERSION = "0.14.0";
12
12
 
13
13
  //#endregion
14
- 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, AgentLoop, AnthropicClient, BEHAVIOR_RECORDS_KEY, CapabilityApproval, DEFAULT_ARCHIVE_LIMITS, DEFAULT_LOOP_LIMITS, DEFAULT_MAX_DATA_SOURCE_BYTES, DEFAULT_MAX_DOCUMENT_BYTES, DEFAULT_MAX_DOCUMENT_TEXT_BYTES, DEFAULT_USER_PROFILE_LIMITS, EMPTY_USER_PROFILE, EventBus, FS_SESSION_PAGE_SIZE, FsArtifactStore, FsMemoryStore, FsRunSnapshotStore, FsRunTraceStore, FsSessionStore, FsToolStepStore, FsTrustedKeyStore, FullDisclosureRouter, GoogleGenAiClient, HookRunner, MANIFEST_EXCLUDED_FILES, MAX_TOOL_STEP_ARG_BYTES, MemoryFS, OpenAiCompatibleClient, 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, 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, SerializingMemoryStore, SkillDiscovery, SkillReader, TEXT_BUDGETED_CONTENT_TYPES, TraceRecorder, UNSUPPORTED_DOCUMENT_MESSAGE, USER_PROFILE_EXPORT_VERSION, USER_PROFILE_KEY, USER_PROFILE_NO_INVENTION_RULE, USER_PROFILE_PROMPT_HEADER, USER_PROFILE_REFINE_PROMPT, WebSkillError, WebSkillRuntime, 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 };
14
+ 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, ATTACHMENT_TEXT_LIMIT, AgentLoop, AnthropicClient, BEHAVIOR_RECORDS_KEY, CapabilityApproval, DEFAULT_ARCHIVE_LIMITS, DEFAULT_LOOP_LIMITS, DEFAULT_MAX_DATA_SOURCE_BYTES, DEFAULT_MAX_DOCUMENT_BYTES, DEFAULT_MAX_DOCUMENT_TEXT_BYTES, DEFAULT_USER_PROFILE_LIMITS, DOCX_MIME, EMPTY_USER_PROFILE, EventBus, FILE_MIME_TYPES, FS_SESSION_PAGE_SIZE, FsArtifactStore, FsMemoryStore, FsRunSnapshotStore, FsRunTraceStore, FsSessionStore, FsToolStepStore, FsTrustedKeyStore, FullDisclosureRouter, GoogleGenAiClient, HookRunner, IMAGE_MIME_TYPES, MANIFEST_EXCLUDED_FILES, MAX_TOOL_STEP_ARG_BYTES, MemoryFS, OpenAiCompatibleClient, 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, 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, SerializingMemoryStore, SkillDiscovery, SkillReader, TEXT_BUDGETED_CONTENT_TYPES, TEXT_EXTENSIONS, TraceRecorder, UNSUPPORTED_DOCUMENT_MESSAGE, USER_PROFILE_EXPORT_VERSION, USER_PROFILE_KEY, USER_PROFILE_NO_INVENTION_RULE, USER_PROFILE_PROMPT_HEADER, USER_PROFILE_REFINE_PROMPT, WebSkillError, WebSkillRuntime, XLSX_MIME, appendBehaviorRecords, applyUserProfileImport, assertRemoteUrlAllowed, assertSafePathSegment, atomicWriteText, bridgeError, buildCatalog, buildManifest, buildRenderResult, checkDependencyCycles, checkSkillRules, classifyAttachment, computeDigest, createScriptContext, createWebSkillApi, detectSkillArchiveShape, detectSkillArchiveShapeFromFs, diffUserProfile, escapeXml, exportSkills, exportUserProfile, extractChartSpec, extractSkillCandidate, extractTodoTraceEvents, extractUiSpecEvents, findUnpairedToolCalls, formatAttachmentText, 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, toBase64, toLlmToolSpec, toRecordDigests, toVercelToolSpecs, unzipWithLimits, validateSkills, validateUiSpecEvent, validateUiSpecNode, verifyManifest, verifySkillSignature, xmlRenderer };
package/dist/mcp.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import { B as JsonSchema, _ as LlmToolSpec, it as SkillCatalogEntry, ot as SkillDocument } from "./types-DLctJep_-B5G4uk2u.js";
2
- import { F as ExternalToolSource, P as ExternalSkillProvider, dn as ToolDisclosure, ir as mergeCatalogEntries, pn as ToolResult } from "./index-DkvBhJQy.js";
1
+ import { K as JsonSchema, _ as LlmToolSpec, ft as SkillDocument, ut as SkillCatalogEntry } from "./types-C3V6lAeO-BgeOvc1Y.js";
2
+ import { F as ExternalSkillProvider, I as ExternalToolSource, hn as ToolResult, or as mergeCatalogEntries, pn as ToolDisclosure } from "./index-CWoKOFBP.js";
3
3
  import { Transport } from "@modelcontextprotocol/sdk/shared/transport.js";
4
4
  import { JSONRPCMessage } from "@modelcontextprotocol/sdk/types.js";
5
5
  import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
@@ -75,6 +75,59 @@ declare class EndpointRegistry<TClient> {
75
75
  waitFor(endpoint: string, timeoutMs: number): Promise<TClient>;
76
76
  }
77
77
  //#endregion
78
+ //#region src/pageHost/pageHostAnchor.d.ts
79
+ /**
80
+ * 页面宿主握手(分册 18 FR-18.1)。
81
+ *
82
+ * 页面与宿主(浏览器扩展)是两个进程,各自持有一份 `EndpointRegistry`。
83
+ * 页面注册的端点如果不主动交出去,宿主那边永远是空的。本模块就是那个交接口。
84
+ *
85
+ * ## 只在宿主先落位时才交
86
+ *
87
+ * 锚点由宿主在**页面脚本运行之前**植入(扩展的 `document_start` 内容脚本)。
88
+ * 页面没被宿主接管时锚点不存在,本模块除了一次全局属性读取之外什么都不做——
89
+ * 默认态是「不暴露」,不是「对全网开放」(D-18-3)。
90
+ *
91
+ * ## 挡不住同世界的脚本,这一点不粉饰
92
+ *
93
+ * 锚点在页面自己的 JS 世界里,页面上任何脚本都读得到它、也能调它的 `register()`
94
+ * 塞进一个假端点。nonce、私有字段、闭包**都挡不住**同世界的脚本,这在 MAIN world
95
+ * 里无解。因此宿主必须把握手拿到的一切当作不可信内容(FR-18.7 第 1 条)。
96
+ * 反过来,握手也没给页面新权限:页面脚本本来就能调用页面自己的端点。
97
+ */
98
+ /** 宿主植入的锚点契约。SDK 只消费,不生产,也不假设宿主是浏览器扩展 */
99
+ interface PageHostAnchor {
100
+ version: 1;
101
+ register(endpoint: string, client: unknown): void;
102
+ unregister(endpoint: string): void;
103
+ /**
104
+ * 0.14.0 分册 21:页面自荐可用的数据源。宿主可不实现,页面据此判断本宿主支不支持。
105
+ *
106
+ * 入参是 `unknown[]` 而不是结构化类型:这段内容来自页面,
107
+ * 标成结构化类型会让宿主侧读代码的人以为它已经被验证过了。
108
+ * @experimental
109
+ */
110
+ declareDataSources?(sources: readonly unknown[]): void;
111
+ }
112
+ /** 全局属性名。宿主侧写死同一个串,改这里必须同时改宿主 */
113
+ declare const PAGE_HOST_ANCHOR_KEY = "__webskillPageHost";
114
+ /**
115
+ * 向宿主登记 / 注销一个端点。
116
+ *
117
+ * 全程吞异常是**刻意的**:握手是附加行为,宿主那边出任何问题都不能让页面自己的
118
+ * 端点注册失败。把这个 catch 去掉,一个坏掉的扩展就能让页面的 chatbot 一起坏掉。
119
+ */
120
+ declare function notifyPageHost(kind: 'register', endpoint: string, client: unknown): void;
121
+ declare function notifyPageHost(kind: 'unregister', endpoint: string): void;
122
+ /**
123
+ * 向宿主自荐本页可用的数据源(0.14.0 分册 21)。
124
+ *
125
+ * 宿主不实现该方法即静默返回:页面无从得知宿主支不支持,这正是「不知道 ≠ 没有」。
126
+ * 提议**不等于**可用——宿主那边它只是候选,用户点头前谁都取不到数。
127
+ * @experimental
128
+ */
129
+ declare function declareDataSourcesToPageHost(sources: readonly unknown[]): void;
130
+ //#endregion
78
131
  //#region src/resolver/mcpToolResolver.d.ts
79
132
  /** MCP Client 最小接口(SDK Client 结构兼容,测试可纯对象替身) */
80
133
  interface McpClientLike {
@@ -515,4 +568,4 @@ interface RemoteEndpointHandle {
515
568
  */
516
569
  declare function connectRemoteEndpoint(registry: EndpointRegistry<McpClientLike>, config: RemoteEndpointConfig): Promise<RemoteEndpointHandle>;
517
570
  //#endregion
518
- export { type BrowserModelContextLike, EndpointRegistry, ExperimentalWebMcpAdapter, type McpClientLike, type McpOAuthClient, type McpOAuthConfig, type McpOAuthHandshake, type McpOAuthHandshakeStore, type McpOAuthProvider, type McpOAuthStage, type McpOAuthTokenStore, type McpOAuthTokens, McpRuntimePlugin, type McpSourceTrust, type McpToolDisclosure, McpToolResolver, type McpToolVisibility, MessageChannelTransport, type MessageChannelTransportOptions, type MessagePortLike, type RemoteEndpointConfig, type RemoteEndpointHandle, type ServedSkill, TemporarySkillProvider, type TransportState, WEB_MCP_SOURCE_ID_MAX, type WebMcpToolDescriptor, type WebMcpToolLike, catalogMerge, connectRemoteEndpoint, createMemoryOAuthStores, createOAuthProvider, endpointToolLlmName, parseEndpointToolLlmName, parseWebMcpToolLlmName, serveSkillAsMcp, validateJsonRpcMessage, webMcpToolLlmName };
571
+ export { type BrowserModelContextLike, EndpointRegistry, ExperimentalWebMcpAdapter, type McpClientLike, type McpOAuthClient, type McpOAuthConfig, type McpOAuthHandshake, type McpOAuthHandshakeStore, type McpOAuthProvider, type McpOAuthStage, type McpOAuthTokenStore, type McpOAuthTokens, McpRuntimePlugin, type McpSourceTrust, type McpToolDisclosure, McpToolResolver, type McpToolVisibility, MessageChannelTransport, type MessageChannelTransportOptions, type MessagePortLike, PAGE_HOST_ANCHOR_KEY, type PageHostAnchor, type RemoteEndpointConfig, type RemoteEndpointHandle, type ServedSkill, TemporarySkillProvider, type TransportState, WEB_MCP_SOURCE_ID_MAX, type WebMcpToolDescriptor, type WebMcpToolLike, catalogMerge, connectRemoteEndpoint, createMemoryOAuthStores, createOAuthProvider, declareDataSourcesToPageHost, endpointToolLlmName, notifyPageHost, parseEndpointToolLlmName, parseWebMcpToolLlmName, serveSkillAsMcp, validateJsonRpcMessage, webMcpToolLlmName };
package/dist/mcp.js CHANGED
@@ -1,5 +1,5 @@
1
- import { M as messageOf, g as assertRemoteUrlAllowed, h as WebSkillError } from "./dist-Bev6i6Ip.js";
2
- import { St as normalizeToolContent, _t as mergeCatalogEntries } from "./dist-ExSQky4C.js";
1
+ import { B as messageOf, S as assertRemoteUrlAllowed, b as WebSkillError } from "./dist-D5YhlCdY.js";
2
+ import { St as normalizeToolContent, _t as mergeCatalogEntries } from "./dist-Bfga1TmS.js";
3
3
 
4
4
  //#region ../mcp/dist/index.js
5
5
  /**
@@ -112,6 +112,36 @@ var MessageChannelTransport = class {
112
112
  this.onmessage?.(event.data);
113
113
  }
114
114
  };
115
+ /** 全局属性名。宿主侧写死同一个串,改这里必须同时改宿主 */
116
+ const PAGE_HOST_ANCHOR_KEY = "__webskillPageHost";
117
+ function readAnchor() {
118
+ const raw = globalThis[PAGE_HOST_ANCHOR_KEY];
119
+ if (typeof raw !== "object" || raw === null) return void 0;
120
+ const candidate = raw;
121
+ if (candidate.version !== 1) return void 0;
122
+ if (typeof candidate.register !== "function" || typeof candidate.unregister !== "function") return void 0;
123
+ return candidate;
124
+ }
125
+ function notifyPageHost(kind, endpoint, client) {
126
+ try {
127
+ const anchor = readAnchor();
128
+ if (anchor === void 0) return;
129
+ if (kind === "register") anchor.register(endpoint, client);
130
+ else anchor.unregister(endpoint);
131
+ } catch {}
132
+ }
133
+ /**
134
+ * 向宿主自荐本页可用的数据源(0.14.0 分册 21)。
135
+ *
136
+ * 宿主不实现该方法即静默返回:页面无从得知宿主支不支持,这正是「不知道 ≠ 没有」。
137
+ * 提议**不等于**可用——宿主那边它只是候选,用户点头前谁都取不到数。
138
+ * @experimental
139
+ */
140
+ function declareDataSourcesToPageHost(sources) {
141
+ try {
142
+ readAnchor()?.declareDataSources?.(sources);
143
+ } catch {}
144
+ }
115
145
  /** endpoint 名 → client 注册表;单调版本号,事件驱动等待(禁止轮询) */
116
146
  var EndpointRegistry = class {
117
147
  #clients = /* @__PURE__ */ new Map();
@@ -124,12 +154,14 @@ var EndpointRegistry = class {
124
154
  this.#clients.set(endpoint, client);
125
155
  this.#versions.set(endpoint, (this.#versions.get(endpoint) ?? 0) + 1);
126
156
  this.#flushWaiters(endpoint);
157
+ notifyPageHost("register", endpoint, client);
127
158
  }
128
159
  /** 热替换 client,版本号 +1 */
129
160
  set(endpoint, client) {
130
161
  this.#clients.set(endpoint, client);
131
162
  this.#versions.set(endpoint, (this.#versions.get(endpoint) ?? 0) + 1);
132
163
  this.#flushWaiters(endpoint);
164
+ notifyPageHost("register", endpoint, client);
133
165
  }
134
166
  get(endpoint) {
135
167
  const client = this.#clients.get(endpoint);
@@ -138,6 +170,7 @@ var EndpointRegistry = class {
138
170
  }
139
171
  unregister(endpoint) {
140
172
  this.#clients.delete(endpoint);
173
+ notifyPageHost("unregister", endpoint);
141
174
  }
142
175
  version(endpoint) {
143
176
  return this.#versions.get(endpoint) ?? 0;
@@ -1037,4 +1070,4 @@ async function connectRemoteEndpoint(registry, config) {
1037
1070
  }
1038
1071
 
1039
1072
  //#endregion
1040
- export { EndpointRegistry, ExperimentalWebMcpAdapter, McpRuntimePlugin, McpToolResolver, MessageChannelTransport, TemporarySkillProvider, WEB_MCP_SOURCE_ID_MAX, catalogMerge, connectRemoteEndpoint, createMemoryOAuthStores, createOAuthProvider, endpointToolLlmName, parseEndpointToolLlmName, parseWebMcpToolLlmName, serveSkillAsMcp, validateJsonRpcMessage, webMcpToolLlmName };
1073
+ export { EndpointRegistry, ExperimentalWebMcpAdapter, McpRuntimePlugin, McpToolResolver, MessageChannelTransport, PAGE_HOST_ANCHOR_KEY, TemporarySkillProvider, WEB_MCP_SOURCE_ID_MAX, catalogMerge, connectRemoteEndpoint, createMemoryOAuthStores, createOAuthProvider, declareDataSourcesToPageHost, endpointToolLlmName, notifyPageHost, parseEndpointToolLlmName, parseWebMcpToolLlmName, serveSkillAsMcp, validateJsonRpcMessage, webMcpToolLlmName };
@@ -1,4 +1,4 @@
1
- import { h as WebSkillError } from "./dist-Bev6i6Ip.js";
1
+ import { b as WebSkillError } from "./dist-D5YhlCdY.js";
2
2
 
3
3
  //#region ../runtime/dist/memoryArtifactStore-52Zn9npI.js
4
4
  /** 纯文本消息内容的构造快捷方式(引擎内部绝大多数消息仍是纯文本) */
package/dist/node.d.ts CHANGED
@@ -1,6 +1,6 @@
1
- import { $ as SignatureAuditSink, B as JsonSchema, Ct as VerifyResult, J as SKILL_MANIFEST_FILE, L as FileStat, M as ArchiveLimits, R as FileSystemProvider, S as UiBridge, _t as SkillsLockfile, b as RenderResultRequest, c as InteractionResponse, dt as SkillManifest, q as SKILLS_LOCKFILE, s as InteractionRequest, st as SkillInstallSource, ut as SkillManagerPort, xt as UnsignedPolicy, yt as TrustedKeyStore } from "./types-DLctJep_-B5G4uk2u.js";
2
- import { Bt as SchemaInferer, Ht as ScriptExecutor, In as WebSkillRuntime, L as FsArtifactStore, Ln as WebSkillRuntimeDeps, R as FsMemoryStore, Un as createScriptContext, Vt as ScriptExecutionContext, it as NetworkPolicy, m as ApprovalScope, pn as ToolResult, un as ToolDefinition, y as BridgeCapabilities } from "./index-DkvBhJQy.js";
3
- import { a as AuditLog, b as SkillVersionStore, d as CandidateSkill, m as CandidateStore, r as ApprovalPolicy } from "./skillVersionStore-D-qHk9ZE-DheTIwAB.js";
1
+ import { $ as SKILLS_LOCKFILE, At as VerifyResult, Ct as SkillsLockfile, Et as TrustedKeyStore, H as FileStat, K as JsonSchema, N as ArchiveLimits, Ot as UnsignedPolicy, S as UiBridge, U as FileSystemProvider, _t as SkillManifest, at as SignatureAuditSink, b as RenderResultRequest, c as InteractionResponse, et as SKILL_MANIFEST_FILE, gt as SkillManagerPort, pt as SkillInstallSource, s as InteractionRequest } from "./types-C3V6lAeO-BgeOvc1Y.js";
2
+ import { Gn as createScriptContext, Ht as ScriptExecutionContext, R as FsArtifactStore, Rn as WebSkillRuntime, Ut as ScriptExecutor, Vt as SchemaInferer, at as NetworkPolicy, fn as ToolDefinition, hn as ToolResult, m as ApprovalScope, y as BridgeCapabilities, z as FsMemoryStore, zn as WebSkillRuntimeDeps } from "./index-CWoKOFBP.js";
3
+ import { a as AuditLog, b as SkillVersionStore, d as CandidateSkill, m as CandidateStore, r as ApprovalPolicy } from "./skillVersionStore-D-qHk9ZE-C0OFDTQY.js";
4
4
  import { n as LlmEnvConfig, s as probeLlmCapabilities, t as LlmCapabilities } from "./env-AK3cSMEA-Dli6QU5E.js";
5
5
  import { Readable, Writable } from "node:stream";
6
6
  //#region ../node/dist/index.d.ts
package/dist/node.js CHANGED
@@ -1,5 +1,5 @@
1
- import { B as resolveArchiveLimits, D as exportSkills, F as parseSkillPackManifest, G as unzipWithLimits, I as readResponseWithLimit, J as verifySkillSignature, K as validateSkills, L as readSkillSignature, M as messageOf, O as isAtomicTempPath, P as parseSkillMarkdown, V as resolveInsideRoot, _ as assertSafePathSegment, b as buildManifest, c as SKILL_MANIFEST_FILE, d as SKILL_PACK_FILE, g as assertRemoteUrlAllowed, h as WebSkillError, i as MANIFEST_EXCLUDED_FILES, k as isValidSkillName, q as verifyManifest, s as SKILLS_LOCKFILE, v as atomicWriteText } from "./dist-Bev6i6Ip.js";
2
- import { $ as bridgeError, Ct as normalizeToolError, St as normalizeToolContent, X as WebSkillRuntime, b as FsMemoryStore, tt as createScriptContext, u as CapabilityApproval, wt as parseBridgeRequest, y as FsArtifactStore, yt as networkPolicyLibSource } from "./dist-ExSQky4C.js";
1
+ import { $ as unzipWithLimits, B as messageOf, C as assertSafePathSegment, E as buildManifest, G as readSkillSignature, H as parseSkillMarkdown, I as isAtomicTempPath, J as resolveArchiveLimits, L as isValidSkillName, P as exportSkills, S as assertRemoteUrlAllowed, U as parseSkillPackManifest, W as readResponseWithLimit, Y as resolveInsideRoot, b as WebSkillError, c as MANIFEST_EXCLUDED_FILES, d as SKILLS_LOCKFILE, et as validateSkills, f as SKILL_MANIFEST_FILE, h as SKILL_PACK_FILE, nt as verifySkillSignature, tt as verifyManifest, w as atomicWriteText } from "./dist-D5YhlCdY.js";
2
+ import { $ as bridgeError, Ct as normalizeToolError, St as normalizeToolContent, X as WebSkillRuntime, b as FsMemoryStore, tt as createScriptContext, u as CapabilityApproval, wt as parseBridgeRequest, y as FsArtifactStore, yt as networkPolicyLibSource } from "./dist-Bfga1TmS.js";
3
3
  import { i as probeLlmCapabilities } from "./env-8cY40DXB-CGnEVZby.js";
4
4
  import { t as AUDIT_EVENT_TYPES } from "./eventTypes-FllCrX-Z-DNDeHWoG.js";
5
5
  import { createRequire } from "node:module";
@@ -498,7 +498,7 @@ var SandboxedScriptExecutor = class {
498
498
  ...details !== void 0 ? { details } : {}
499
499
  });
500
500
  if (decision === "allowed") return void 0;
501
- return bridgeError(request.id, "TOOL_UNSUPPORTED", decision === "disabled" ? `Capability "${capability}" is disabled` : `Capability "${capability}" was denied by the user`);
501
+ return bridgeError(request.id, "TOOL_UNSUPPORTED", decision === "disabled" ? `Capability "${capability}" is disabled by the sandbox capability settings` : `Capability "${capability}" was denied by the user`);
502
502
  };
503
503
  try {
504
504
  switch (request.kind) {
@@ -525,7 +525,7 @@ var SandboxedScriptExecutor = class {
525
525
  };
526
526
  }
527
527
  case "fetchData": {
528
- if (!context.fetchData) return bridgeError(request.id, "TOOL_UNSUPPORTED", "Capability \"fetchData\" is disabled");
528
+ if (!context.fetchData) return bridgeError(request.id, "TOOL_UNSUPPORTED", "Capability \"fetchData\" is unavailable: this host wired no data source access at all. This is not the capability switch being off — a data source has to be declared in the host settings first.");
529
529
  const denied = await gate("fetchData", `Script "${context.skillName}" wants to fetch data source "${request.sourceId}"`, { sourceId: request.sourceId });
530
530
  if (denied) return denied;
531
531
  return {
@@ -875,7 +875,7 @@ var ProcessSandboxExecutor = class {
875
875
  ...details !== void 0 ? { details } : {}
876
876
  });
877
877
  if (decision === "allowed") return void 0;
878
- return bridgeError(request.id, "TOOL_UNSUPPORTED", decision === "disabled" ? `Capability "${capability}" is disabled` : `Capability "${capability}" was denied by the user`);
878
+ return bridgeError(request.id, "TOOL_UNSUPPORTED", decision === "disabled" ? `Capability "${capability}" is disabled by the sandbox capability settings` : `Capability "${capability}" was denied by the user`);
879
879
  };
880
880
  try {
881
881
  switch (request.kind) {
@@ -902,7 +902,7 @@ var ProcessSandboxExecutor = class {
902
902
  };
903
903
  }
904
904
  case "fetchData": {
905
- if (!context.fetchData) return bridgeError(request.id, "TOOL_UNSUPPORTED", "Capability \"fetchData\" is disabled");
905
+ if (!context.fetchData) return bridgeError(request.id, "TOOL_UNSUPPORTED", "Capability \"fetchData\" is unavailable: this host wired no data source access at all. This is not the capability switch being off — a data source has to be declared in the host settings first.");
906
906
  const denied = await gate("fetchData", `Script "${context.skillName}" wants to fetch data source "${request.sourceId}"`, { sourceId: request.sourceId });
907
907
  if (denied) return denied;
908
908
  return {
@@ -1,5 +1,5 @@
1
- import { Dt as uiCatalog } from "./dist-DqcL6jKO.js";
2
- import { t as CatalogNode } from "./catalogComponents-BgAJN0p8-CYEXSk45.js";
1
+ import { Dt as uiCatalog } from "./dist-CiaDIqkV.js";
2
+ import { t as CatalogNode } from "./catalogComponents-BgAJN0p8-Cr55ouOg.js";
3
3
  import { z } from "zod";
4
4
  import { Component, Fragment, createContext, useCallback, useContext, useEffect, useInsertionEffect, useMemo, useRef, useState, useSyncExternalStore } from "react";
5
5
  import { jsx, jsxs } from "react/jsx-runtime";
@@ -1,4 +1,4 @@
1
- import { R as FileSystemProvider, U as Page, W as PageQuery, dt as SkillManifest, it as SkillCatalogEntry } from "./types-DLctJep_-B5G4uk2u.js";
1
+ import { U as FileSystemProvider, X as PageQuery, Y as Page, _t as SkillManifest, ut as SkillCatalogEntry } from "./types-C3V6lAeO-BgeOvc1Y.js";
2
2
  //#region ../governance/dist/skillVersionStore-D-qHk9ZE.d.ts
3
3
  //#region src/types.d.ts
4
4
  type CandidateStatus = 'draft' | 'pending-review' | 'approved' | 'published' | 'rejected';
@@ -1,5 +1,5 @@
1
- import { h as WebSkillError } from "./dist-Bev6i6Ip.js";
2
- import { a as textParts, n as partsToText } from "./memoryArtifactStore-52Zn9npI-LbCQaqyx.js";
1
+ import { b as WebSkillError } from "./dist-D5YhlCdY.js";
2
+ import { a as textParts, n as partsToText } from "./memoryArtifactStore-52Zn9npI-BxtUkrgV.js";
3
3
 
4
4
  //#region ../runtime/dist/testing.js
5
5
  /**
package/dist/testing.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { S as UiBridge, c as InteractionResponse, l as LlmClient, m as LlmStreamEvent, n as ArtifactStore, p as LlmResponse, s as InteractionRequest, t as Artifact, u as LlmCompleteInput, v as MemoryStore } from "./types-DLctJep_-B5G4uk2u.js";
1
+ import { S as UiBridge, c as InteractionResponse, l as LlmClient, m as LlmStreamEvent, n as ArtifactStore, p as LlmResponse, s as InteractionRequest, t as Artifact, u as LlmCompleteInput, v as MemoryStore } from "./types-C3V6lAeO-BgeOvc1Y.js";
2
2
  import { a as loadGoogleConfigFromEnv, i as loadAnthropicConfigFromEnv, n as LlmEnvConfig, o as loadLlmConfigFromEnv, r as ProviderEnvConfig } from "./env-AK3cSMEA-Dli6QU5E.js";
3
3
  //#region ../runtime/dist/testing.d.ts
4
4
  //#region src/llm/mockLlmClient.d.ts
package/dist/testing.js CHANGED
@@ -1,5 +1,5 @@
1
- import { t as MemoryArtifactStore } from "./memoryArtifactStore-52Zn9npI-LbCQaqyx.js";
1
+ import { t as MemoryArtifactStore } from "./memoryArtifactStore-52Zn9npI-BxtUkrgV.js";
2
2
  import { n as loadGoogleConfigFromEnv, r as loadLlmConfigFromEnv, t as loadAnthropicConfigFromEnv } from "./env-8cY40DXB-CGnEVZby.js";
3
- import { n as MockLlmClient, r as MockUiBridge, t as InMemoryStore } from "./testing-WPTyXQYt.js";
3
+ import { n as MockLlmClient, r as MockUiBridge, t as InMemoryStore } from "./testing-Cm8MseLF.js";
4
4
 
5
5
  export { InMemoryStore, MemoryArtifactStore, MockLlmClient, MockUiBridge, loadAnthropicConfigFromEnv, loadGoogleConfigFromEnv, loadLlmConfigFromEnv };
@@ -10,7 +10,11 @@ type WebSkillErrorCode = 'FS_NOT_FOUND' | 'FS_PATH_OUTSIDE_ROOT' | 'SKILL_NOT_FO
10
10
  /** 脚本取了宿主未声明的数据源;拒绝发生在发出任何请求之前(0.11.0 分册 16) */
11
11
  'DATA_SOURCE_NOT_FOUND' |
12
12
  /** 取数结果超预算。与 ATTACHMENT_TOO_LARGE 同口径:拒绝而不截断 */
13
- 'DATA_SOURCE_TOO_LARGE';
13
+ 'DATA_SOURCE_TOO_LARGE' |
14
+ /** 宿主环境缺少读取下载目录的前置条件(0.14.0 分册 20 FR-20.6) */
15
+ 'DOWNLOADS_UNAVAILABLE' |
16
+ /** 用户拒绝了这次工具调用(0.14.0 分册 20) */
17
+ 'TOOL_DENIED';
14
18
  /**
15
19
  * 所有公开 API 抛出的结构化错误,code 供上层可编程处理
16
20
  * @stable
@@ -402,6 +406,49 @@ interface UiSpecNode {
402
406
  id?: string;
403
407
  }
404
408
  //#endregion
409
+ //#region src/attachment/kind.d.ts
410
+ /**
411
+ * 附件类型判据与文本形态。0.14.0 分册 20 从 `@webskill/chatbot` 迁入:
412
+ * 「用户上传」与「读取下载目录」两条入口必须给出同一结论(AC-20.17)、
413
+ * 产出同一份文本(AC-20.6),而后者住在 `@webskill/agent`,chatbot 依赖 agent,
414
+ * 判据只能落在两者共同的下游。纯字符串运算,无环境依赖。
415
+ */
416
+ /** 附件在模型侧的内容形态(0.6.0 FR-11.2) @experimental */
417
+ type ChatAttachmentKind = 'text' | 'image' | 'file' | 'document-text';
418
+ /** 可作为图片分片外发的 MIME 类型 @experimental */
419
+ declare const IMAGE_MIME_TYPES: readonly ["image/png", "image/jpeg", "image/webp", "image/gif"];
420
+ /**
421
+ * 可按文本读取的扩展名。accept 白名单与判定白名单共用这一份——
422
+ * 0.5.x 两处不一致,`log`/`yaml`/`yml` 能通过判定却在文件选择器里选不到。
423
+ */
424
+ declare const TEXT_EXTENSIONS: readonly ["txt", "md", "csv", "json", "log", "yaml", "yml"];
425
+ /** 非文本非图片但仍可整体外发的类型(provider 的 file 分片) @experimental */
426
+ declare const FILE_MIME_TYPES: readonly ["application/pdf"];
427
+ /**
428
+ * 需要**客户端先抽取成文本**才能外发的类型(FR-23.9 / 0.13.0 FR-12.5)。
429
+ * 不走直通的 `file`:docx / xlsx 发给 provider 会被当成二进制垃圾。
430
+ */
431
+ declare const DOCX_MIME = "application/vnd.openxmlformats-officedocument.wordprocessingml.document";
432
+ declare const XLSX_MIME = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
433
+ /** 文本类附件进模型上下文的字符上限(0.6.0) @experimental */
434
+ declare const ATTACHMENT_TEXT_LIMIT: number;
435
+ /** 分类集中一处,不散落在各 UI 分支里 @experimental */
436
+ declare function classifyAttachment(contentType: string, fileName: string): ChatAttachmentKind | undefined;
437
+ /** `formatAttachmentText` 的入参 @experimental */
438
+ interface AttachmentTextInput {
439
+ name: string;
440
+ contentType: string;
441
+ body: string;
442
+ kind: 'text' | 'document-text';
443
+ /** 缺省即用户当场上传;`'download'` 时标签里额外标出本机下载目录(0.14.0 FR-20.5) */
444
+ origin?: 'upload' | 'download';
445
+ }
446
+ /**
447
+ * 文本类附件进模型上下文的最终形态。两条入口共用,差别只有出处那一段(0.14.0 D-20-6)。
448
+ * @experimental
449
+ */
450
+ declare function formatAttachmentText(input: AttachmentTextInput): string;
451
+ //#endregion
405
452
  //#region src/skill/types.d.ts
406
453
  type SkillSource = 'local' | 'mcp' | 'generated' | 'installed';
407
454
  /**
@@ -415,6 +462,11 @@ interface SkillMetadata {
415
462
  version?: string;
416
463
  /** 声明式依赖:精确技能名列表(无版本约束);缺依赖/循环依赖 → error 级校验 */
417
464
  dependencies?: string[];
465
+ /**
466
+ * 脚本要用的数据源 id(0.14.0 分册 19)。只有 id,不含地址——地址由宿主提供,随宿主变。
467
+ * 存在性只能在运行期判定,因此解析与静态校验都不看这个字段。
468
+ */
469
+ 'data-sources'?: string[];
418
470
  [key: string]: unknown;
419
471
  }
420
472
  interface SkillLocation {
@@ -637,7 +689,7 @@ declare function escapeXml(text: string): string;
637
689
  declare function renderAvailableSkillsXml(catalog: SkillCatalog): string;
638
690
  declare const xmlRenderer: CatalogRenderer;
639
691
  //#endregion
640
- //#region ../runtime/dist/types-DLctJep_.d.ts
692
+ //#region ../runtime/dist/types-C3V6lAeO.d.ts
641
693
  //#region src/llm/streamTypes.d.ts
642
694
  /** 流式 LLM 事件(OpenAI SSE / Vercel fullStream 统一映射) */
643
695
  type LlmStreamEvent = {
@@ -858,7 +910,9 @@ type InteractionRequest = {
858
910
  */
859
911
  type: 'authorize';
860
912
  id: string;
861
- capability: 'readReference' | 'readAsset' | 'writeArtifact' | 'confirm' | 'fetchData' | 'pageAction' | 'readLinkedDocument';
913
+ capability: 'readReference' | 'readAsset' | 'writeArtifact' | 'confirm' | 'fetchData' | 'pageAction' | 'readLinkedDocument' |
914
+ /** 读取本机下载目录(0.14.0 分册 20) */
915
+ 'readDownloadedFile';
862
916
  message: string;
863
917
  details?: unknown;
864
918
  });
@@ -866,6 +920,11 @@ interface InteractionResponse {
866
920
  id: string;
867
921
  value?: unknown;
868
922
  cancelled?: boolean;
923
+ /**
924
+ * 用户在授权卡上勾了「不再询问」(需求 11 / FR-11.2)。
925
+ * 只有 `type: 'authorize'` 的响应会带;不勾即**不带**,而不是带 `false`。
926
+ */
927
+ remembered?: boolean;
869
928
  }
870
929
  /**
871
930
  * 依据用户画像给出的建议值(FR-19.4)。**不会预填进控件**:
@@ -1067,4 +1126,4 @@ interface MemoryStore {
1067
1126
  transaction?<T>(scope: string, fn: (inner: MemoryStore) => Promise<T>): Promise<T>;
1068
1127
  }
1069
1128
  //#endregion
1070
- export { SignatureAuditSink as $, signaturePayloadBytes as $t, extractSkillCandidate as A, buildManifest as At, JsonSchema as B, jsonRenderer as Bt, UiSpecActionCapability as C, VerifyResult as Ct, UiSpecSnapshot as D, assertSafePathSegment as Dt, UiSpecPatch as E, assertRemoteUrlAllowed as Et, DEFAULT_ARCHIVE_LIMITS as F, detectSkillArchiveShapeFromFs as Ft, RemoteUrlPolicy as G, parseSkillPackManifest as Gt, MemoryFS as H, messageOf as Ht, DiscoveryResult as I, escapeXml as It, SKILL_MANIFEST_FILE as J, renderAvailableSkillsXml as Jt, SIGNATURE_SCHEMA_VERSION as K, readResponseWithLimit as Kt, FileStat as L, exportSkills as Lt, ArchiveLimits as M, checkSkillRules as Mt, CatalogRenderer as N, computeDigest as Nt, UiSurfaceActionRequest as O, atomicWriteText as Ot, CryptoKeyLike as P, detectSkillArchiveShape as Pt, SKILL_SIGNATURE_FILE as Q, signSkill as Qt, FileSystemProvider as R, isAtomicTempPath as Rt, UiBridge as S, ValidationReport as St, UiSpecEvent as T, WebSkillErrorCode as Tt, Page as U, normalizePath as Ut, MANIFEST_EXCLUDED_FILES as V, keyIdOf as Vt, PageQuery as W, parseSkillMarkdown as Wt, SKILL_NAME_PATTERN as X, resolveArchiveLimits as Xt, SKILL_NAME_MAX_LENGTH as Y, renderCatalogJson as Yt, SKILL_PACK_FILE as Z, resolveInsideRoot as Zt, LlmToolSpec as _, SkillsLockfile as _t, InteractionOrigin as a, xmlRenderer as an, SkillDiscovery as at, RenderResultRequest as b, UiSpecNode as bt, InteractionResponse as c, SkillIssue as ct, LlmContentPart as d, SkillManifest as dt, stripArchiveRoot as en, SignatureVerdict as et, LlmMessage as f, SkillMetadata as ft, LlmToolCall as g, SkillSource as gt, LlmTokenUsage as h, SkillSignature as ht, FormField as i, verifySkillSignature as in, SkillCatalogEntry as it, ATOMIC_TMP_SUFFIX_PATTERN as j, checkDependencyCycles as jt, UiSurfaceActionResponse as k, buildCatalog as kt, LlmClient as l, SkillLocation as lt, LlmStreamEvent as m, SkillReader as mt, ArtifactStore as n, validateSkills as nn, SkillArchiveShape as nt, InteractionPolicy as o, SkillDocument as ot, LlmResponse as p, SkillPackManifest as pt, SKILLS_LOCKFILE as q, readSkillSignature as qt, ChartSpec as r, verifyManifest as rn, SkillCatalog as rt, InteractionRequest as s, SkillInstallSource as st, Artifact as t, unzipWithLimits as tn, SkillArchiveDetection as tt, LlmCompleteInput as u, SkillManagerPort as ut, MemoryStore as v, TrustedKey as vt, UiSpecDrafts as w, WebSkillError as wt, SkillCandidateMarker as x, UnsignedPolicy as xt, RenderBlock as y, TrustedKeyStore as yt, FsTrustedKeyStore as z, isValidSkillName as zt };
1129
+ export { SKILLS_LOCKFILE as $, normalizePath as $t, extractSkillCandidate as A, VerifyResult as At, DiscoveryResult as B, checkSkillRules as Bt, UiSpecActionCapability as C, SkillsLockfile as Ct, UiSpecSnapshot as D, UiSpecNode as Dt, UiSpecPatch as E, TrustedKeyStore as Et, CatalogRenderer as F, assertSafePathSegment as Ft, IMAGE_MIME_TYPES as G, escapeXml as Gt, FileStat as H, computeDigest as Ht, ChatAttachmentKind as I, atomicWriteText as It, MemoryFS as J, isAtomicTempPath as Jt, JsonSchema as K, exportSkills as Kt, CryptoKeyLike as L, buildCatalog as Lt, ATTACHMENT_TEXT_LIMIT as M, WebSkillErrorCode as Mt, ArchiveLimits as N, XLSX_MIME as Nt, UiSurfaceActionRequest as O, UnsignedPolicy as Ot, AttachmentTextInput as P, assertRemoteUrlAllowed as Pt, SIGNATURE_SCHEMA_VERSION as Q, messageOf as Qt, DEFAULT_ARCHIVE_LIMITS as R, buildManifest as Rt, UiBridge as S, SkillSource as St, UiSpecEvent as T, TrustedKey as Tt, FileSystemProvider as U, detectSkillArchiveShape as Ut, FILE_MIME_TYPES as V, classifyAttachment as Vt, FsTrustedKeyStore as W, detectSkillArchiveShapeFromFs as Wt, PageQuery as X, jsonRenderer as Xt, Page as Y, isValidSkillName as Yt, RemoteUrlPolicy as Z, keyIdOf as Zt, LlmToolSpec as _, SkillManifest as _t, InteractionOrigin as a, renderCatalogJson as an, SignatureAuditSink as at, RenderResultRequest as b, SkillReader as bt, InteractionResponse as c, signSkill as cn, SkillArchiveShape as ct, LlmContentPart as d, unzipWithLimits as dn, SkillDiscovery as dt, parseSkillMarkdown as en, SKILL_MANIFEST_FILE as et, LlmMessage as f, validateSkills as fn, SkillDocument as ft, LlmToolCall as g, SkillManagerPort as gt, LlmTokenUsage as h, xmlRenderer as hn, SkillLocation as ht, FormField as i, renderAvailableSkillsXml as in, SKILL_SIGNATURE_FILE as it, ATOMIC_TMP_SUFFIX_PATTERN as j, WebSkillError as jt, UiSurfaceActionResponse as k, ValidationReport as kt, LlmClient as l, signaturePayloadBytes as ln, SkillCatalog as lt, LlmStreamEvent as m, verifySkillSignature as mn, SkillIssue as mt, ArtifactStore as n, readResponseWithLimit as nn, SKILL_NAME_PATTERN as nt, InteractionPolicy as o, resolveArchiveLimits as on, SignatureVerdict as ot, LlmResponse as p, verifyManifest as pn, SkillInstallSource as pt, MANIFEST_EXCLUDED_FILES as q, formatAttachmentText as qt, ChartSpec as r, readSkillSignature as rn, SKILL_PACK_FILE as rt, InteractionRequest as s, resolveInsideRoot as sn, SkillArchiveDetection as st, Artifact as t, parseSkillPackManifest as tn, SKILL_NAME_MAX_LENGTH as tt, LlmCompleteInput as u, stripArchiveRoot as un, SkillCatalogEntry as ut, MemoryStore as v, SkillMetadata as vt, UiSpecDrafts as w, TEXT_EXTENSIONS as wt, SkillCandidateMarker as x, SkillSignature as xt, RenderBlock as y, SkillPackManifest as yt, DOCX_MIME as z, checkDependencyCycles as zt };
@@ -1,5 +1,5 @@
1
- import { C as UiSpecActionCapability, D as UiSpecSnapshot, O as UiSurfaceActionRequest, S as UiBridge, T as UiSpecEvent, b as RenderResultRequest, bt as UiSpecNode, c as InteractionResponse, k as UiSurfaceActionResponse, s as InteractionRequest, w as UiSpecDrafts } from "./types-DLctJep_-B5G4uk2u.js";
2
- import { J as SurfaceHostControlTexts, P as InteractionSpecLabels, q as SurfaceFormTexts, v as ChartFontSizes } from "./index-C3XdItd_.js";
1
+ import { C as UiSpecActionCapability, D as UiSpecSnapshot, Dt as UiSpecNode, O as UiSurfaceActionRequest, S as UiBridge, T as UiSpecEvent, b as RenderResultRequest, c as InteractionResponse, k as UiSurfaceActionResponse, s as InteractionRequest, w as UiSpecDrafts } from "./types-C3V6lAeO-BgeOvc1Y.js";
2
+ import { J as SurfaceHostControlTexts, P as InteractionSpecLabels, q as SurfaceFormTexts, v as ChartFontSizes } from "./index-sd-gVKey.js";
3
3
  import { z } from "zod";
4
4
  import React$1, { ComponentType, ReactNode } from "react";
5
5
  import "react/jsx-runtime";
package/dist/ui-react.js CHANGED
@@ -1,8 +1,8 @@
1
1
  import { r as __exportAll$1 } from "./rolldown-runtime-BOF7iYI8.js";
2
- import { h as WebSkillError } from "./dist-Bev6i6Ip.js";
3
- import { Ut as validateUiSpecEvent, Wt as validateUiSpecNode } from "./dist-ExSQky4C.js";
4
- import { C as applySuggestion, Dt as uiCatalog, K as resolveColumnWidths, L as interactionToUiSpec, O as collectValues, Tt as shapeInteractionValue, V as normalizeColumnWidths, W as renderMiniChart, X as toOpenUiSpecLang, Y as toJsonRenderSpec, bt as renderMiniMarkdown, gt as chartSpecFromProps, vt as interactionToFormModel } from "./dist-DqcL6jKO.js";
5
- import { A as useSurfaceForm, C as cardLayoutProps, D as surfaceThemeOf, E as str, F as DataTable, I as Markdown, L as Separator, M as useSurfaceHostControlTexts, N as Badge, O as useCatalogSurfaceForm, P as Button, S as SurfaceFormTextsProvider, T as paletteClass, _ as SpecTimeline, a as SpecAccordion, b as SurfaceFieldArray, c as SpecGauge, d as SpecImage, f as SpecKeyValue, g as SpecTabs, h as SpecSplit, i as EChart, j as useSurfaceFormTexts, k as useChartFontSizes, l as SpecGrid, m as SpecQuote, n as CatalogSurfaceProvider, o as SpecCallout, p as SpecProgress, r as ChartFontSizesProvider, s as SpecCarousel, u as SpecIcon, v as SurfaceButton, w as catalogComponentImpls, x as SurfaceFormButtons, y as SurfaceField } from "./catalogComponents-BgAJN0p8-CYEXSk45.js";
2
+ import { b as WebSkillError } from "./dist-D5YhlCdY.js";
3
+ import { Gt as validateUiSpecNode, Wt as validateUiSpecEvent } from "./dist-Bfga1TmS.js";
4
+ import { C as applySuggestion, Dt as uiCatalog, K as resolveColumnWidths, L as interactionToUiSpec, O as collectValues, Tt as shapeInteractionValue, V as normalizeColumnWidths, W as renderMiniChart, X as toOpenUiSpecLang, Y as toJsonRenderSpec, bt as renderMiniMarkdown, gt as chartSpecFromProps, vt as interactionToFormModel } from "./dist-CiaDIqkV.js";
5
+ import { A as useSurfaceForm, C as cardLayoutProps, D as surfaceThemeOf, E as str, F as DataTable, I as Markdown, L as Separator, M as useSurfaceHostControlTexts, N as Badge, O as useCatalogSurfaceForm, P as Button, S as SurfaceFormTextsProvider, T as paletteClass, _ as SpecTimeline, a as SpecAccordion, b as SurfaceFieldArray, c as SpecGauge, d as SpecImage, f as SpecKeyValue, g as SpecTabs, h as SpecSplit, i as EChart, j as useSurfaceFormTexts, k as useChartFontSizes, l as SpecGrid, m as SpecQuote, n as CatalogSurfaceProvider, o as SpecCallout, p as SpecProgress, r as ChartFontSizesProvider, s as SpecCarousel, u as SpecIcon, v as SurfaceButton, w as catalogComponentImpls, x as SurfaceFormButtons, y as SurfaceField } from "./catalogComponents-BgAJN0p8-Cr55ouOg.js";
6
6
  import { z } from "zod";
7
7
  import * as React$1 from "react";
8
8
  import React, { createContext, useCallback, useContext, useEffect, useLayoutEffect, useMemo, useRef, useState, useSyncExternalStore } from "react";
@@ -7507,7 +7507,7 @@ function OpenUiSpecSurface({ spec, surfaceId, actions, onAction }) {
7507
7507
  const [unavailable, setUnavailable] = useState(false);
7508
7508
  useEffect(() => {
7509
7509
  let cancelled = false;
7510
- import("./openUiLibrary-BKXW7Iwx-CWWBVOkE.js").then((loaded) => {
7510
+ import("./openUiLibrary-BKXW7Iwx-DjvEnMlJ.js").then((loaded) => {
7511
7511
  if (!cancelled) setModule(loaded);
7512
7512
  }).catch(() => {
7513
7513
  if (!cancelled) setUnavailable(true);
package/dist/ui-vue.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { S as UiBridge, b as RenderResultRequest, c as InteractionResponse, s as InteractionRequest } from "./types-DLctJep_-B5G4uk2u.js";
1
+ import { S as UiBridge, b as RenderResultRequest, c as InteractionResponse, s as InteractionRequest } from "./types-C3V6lAeO-BgeOvc1Y.js";
2
2
  import { PropType } from "vue";
3
3
  //#region ../ui-vue/dist/index.d.ts
4
4
  //#region src/bridgeState.d.ts
package/dist/ui-vue.js CHANGED
@@ -1,4 +1,4 @@
1
- import { C as applySuggestion, O as collectValues, Tt as shapeInteractionValue, W as renderMiniChart, bt as renderMiniMarkdown, st as DEFAULT_SURFACE_FORM_TEXTS, vt as interactionToFormModel } from "./dist-DqcL6jKO.js";
1
+ import { C as applySuggestion, O as collectValues, Tt as shapeInteractionValue, W as renderMiniChart, bt as renderMiniMarkdown, st as DEFAULT_SURFACE_FORM_TEXTS, vt as interactionToFormModel } from "./dist-CiaDIqkV.js";
2
2
  import { defineComponent, h, reactive, ref } from "vue";
3
3
 
4
4
  //#region ../ui-vue/dist/index.js
package/dist/ui.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { bt as UiSpecNode } from "./types-DLctJep_-B5G4uk2u.js";
2
- import { Hn as buildRenderResult } from "./index-DkvBhJQy.js";
3
- import { $ as UiActionDef, $t as qualifyFieldName, A as EvaluateFieldConditionOptions, At as buildA2uiCatalogDefinition, B as OpenUiRendererProps, Bt as evaluateFieldCondition, C as DEFAULT_INTERACTION_TEXTS, Ct as WEBSKILL_STYLES_CSS, D as DOCUMENT_COMPONENTS, Dt as a2uiComponentSchema, E as DESCRIBE_UI_PRESET_TOOL, Et as ZodRuntime, F as InteractionTexts, Ft as collectSpecActions, G as SPEC_TABLE_MIN_COLUMN_WIDTH, Gt as gaugePercent, H as PLANNED_INCREMENT, Ht as fromA2uiSurfaceAction, I as JsonRenderSpec, It as collectValues, J as SurfaceHostControlTexts, Jt as loadOpenUiPeers, K as SpecColumnMeta, Kt as interactionToFormModel, L as LoadedOpenUiPeers, Lt as createUiCatalogToolSource, M as FieldConditionResult, Mt as chartToTable, N as FormModel, Nt as collectFormScopes, O as DocumentComponentName, Ot as a2uiComponentShapes, P as InteractionSpecLabels, Pt as collectScopedValues, Q as UI_PRESET_NAMES, Qt as normalizeColumnWidths, R as MAX_CONDITION_DEPTH, Rt as defineUiCatalog, S as DEFAULT_CHART_FONT_SIZES, St as WEBSKILL_A2UI_CATALOG_ID, T as DEFAULT_SURFACE_HOST_CONTROL_TEXTS, Tt as WebFormBridge, U as RENDER_UI_TOOL, Ut as fromUiSurfaceActionDispatch, V as OpenUiRuntime, Vt as fromA2uiSpecAction, W as SPEC_TABLE_MIN_COLUMN_VAR, Wt as fromVercelToolResult, X as UI_CATALOG_PROMPT_BUDGET_BYTES, Xt as mountEchart, Y as UI_CATALOG_GROUPS, Yt as loadWebSkillLitCatalog, Z as UI_PRESETS, Zt as mountViewerComponents, _ as CHART_PALETTE, _n as uiCatalog, _t as VIEWER_PROPS_ATTR, a as A2UI_SURFACE_ACTION, an as resolveColumnWidths, at as UiFormScope, b as ColumnWidthsRejection, bt as ViewerComponentsHandle, c as A2uiCatalogDefinition, cn as resolveSurfaceHostControlTexts, ct as UiSpecDegradation, d as A2uiMessage, dn as toA2uiSurfaceAction, dt as UiSpecSanitization, en as renderBlocks, et as UiCatalog, f as A2uiSpecActionEvent, fn as toEchartsOption, ft as UiSpecValidation, g as CATALOG_SCHEMA_MAX, gn as toVercelToolInvocation, gt as VIEWER_FALLBACK_ATTR, h as CATALOG_PROMPT_MAX, hn as toUiSurfaceActionDispatch, ht as VIEWER_COMPONENT_ATTR, i as A2UI_SPEC_FORM_PATH, in as resolveChartFontSizes, it as UiComponentDef, j as FieldCondition, jt as chartSpecFromProps, k as EchartHandle, kt as applySuggestion, l as A2uiCatalogHandle, ln as shapeInteractionValue, lt as UiSpecDegradationCode, m as CATALOG_BUDGET_STAGE, mn as toOpenUiSpecLang, mt as VERCEL_INTERACTION_TOOL_NAME, n as A2UI_COMMON_TYPES, nn as renderMiniMarkdown, nt as UiCatalogPromptOptions, o as A2UI_VERSION, on as resolveInteractionTexts, ot as UiPreset, p as A2uiSpecMessageOptions, pn as toJsonRenderSpec, pt as UiSurfaceActionDispatch, q as SurfaceFormTexts, qt as interactionToUiSpec, r as A2UI_SPEC_ACTION, rn as renderRenderResult, rt as UiCatalogToolSourceOptions, s as A2uiCatalogComponent, sn as resolveSurfaceFormTexts, st as UiPresetName, t as A2UI_BASIC_CATALOG_ID, tn as renderMiniChart, tt as UiCatalogInput, u as A2uiComponentShape, un as toA2uiSpecMessages, ut as UiSpecIssue, v as ChartFontSizes, vn as uiPreset, vt as VercelToolInvocation, w as DEFAULT_SURFACE_FORM_TEXTS, wt as WEBSKILL_SURFACE_ACTION, x as ControlModel, xt as ViewerComponentsOptions, y as CollectedValues, yt as VercelUiBridge, z as NormalizedColumnWidths, zt as ensureStyles } from "./index-C3XdItd_.js";
1
+ import { Dt as UiSpecNode } from "./types-C3V6lAeO-BgeOvc1Y.js";
2
+ import { Wn as buildRenderResult } from "./index-CWoKOFBP.js";
3
+ import { $ as UiActionDef, $t as qualifyFieldName, A as EvaluateFieldConditionOptions, At as buildA2uiCatalogDefinition, B as OpenUiRendererProps, Bt as evaluateFieldCondition, C as DEFAULT_INTERACTION_TEXTS, Ct as WEBSKILL_STYLES_CSS, D as DOCUMENT_COMPONENTS, Dt as a2uiComponentSchema, E as DESCRIBE_UI_PRESET_TOOL, Et as ZodRuntime, F as InteractionTexts, Ft as collectSpecActions, G as SPEC_TABLE_MIN_COLUMN_WIDTH, Gt as gaugePercent, H as PLANNED_INCREMENT, Ht as fromA2uiSurfaceAction, I as JsonRenderSpec, It as collectValues, J as SurfaceHostControlTexts, Jt as loadOpenUiPeers, K as SpecColumnMeta, Kt as interactionToFormModel, L as LoadedOpenUiPeers, Lt as createUiCatalogToolSource, M as FieldConditionResult, Mt as chartToTable, N as FormModel, Nt as collectFormScopes, O as DocumentComponentName, Ot as a2uiComponentShapes, P as InteractionSpecLabels, Pt as collectScopedValues, Q as UI_PRESET_NAMES, Qt as normalizeColumnWidths, R as MAX_CONDITION_DEPTH, Rt as defineUiCatalog, S as DEFAULT_CHART_FONT_SIZES, St as WEBSKILL_A2UI_CATALOG_ID, T as DEFAULT_SURFACE_HOST_CONTROL_TEXTS, Tt as WebFormBridge, U as RENDER_UI_TOOL, Ut as fromUiSurfaceActionDispatch, V as OpenUiRuntime, Vt as fromA2uiSpecAction, W as SPEC_TABLE_MIN_COLUMN_VAR, Wt as fromVercelToolResult, X as UI_CATALOG_PROMPT_BUDGET_BYTES, Xt as mountEchart, Y as UI_CATALOG_GROUPS, Yt as loadWebSkillLitCatalog, Z as UI_PRESETS, Zt as mountViewerComponents, _ as CHART_PALETTE, _n as uiCatalog, _t as VIEWER_PROPS_ATTR, a as A2UI_SURFACE_ACTION, an as resolveColumnWidths, at as UiFormScope, b as ColumnWidthsRejection, bt as ViewerComponentsHandle, c as A2uiCatalogDefinition, cn as resolveSurfaceHostControlTexts, ct as UiSpecDegradation, d as A2uiMessage, dn as toA2uiSurfaceAction, dt as UiSpecSanitization, en as renderBlocks, et as UiCatalog, f as A2uiSpecActionEvent, fn as toEchartsOption, ft as UiSpecValidation, g as CATALOG_SCHEMA_MAX, gn as toVercelToolInvocation, gt as VIEWER_FALLBACK_ATTR, h as CATALOG_PROMPT_MAX, hn as toUiSurfaceActionDispatch, ht as VIEWER_COMPONENT_ATTR, i as A2UI_SPEC_FORM_PATH, in as resolveChartFontSizes, it as UiComponentDef, j as FieldCondition, jt as chartSpecFromProps, k as EchartHandle, kt as applySuggestion, l as A2uiCatalogHandle, ln as shapeInteractionValue, lt as UiSpecDegradationCode, m as CATALOG_BUDGET_STAGE, mn as toOpenUiSpecLang, mt as VERCEL_INTERACTION_TOOL_NAME, n as A2UI_COMMON_TYPES, nn as renderMiniMarkdown, nt as UiCatalogPromptOptions, o as A2UI_VERSION, on as resolveInteractionTexts, ot as UiPreset, p as A2uiSpecMessageOptions, pn as toJsonRenderSpec, pt as UiSurfaceActionDispatch, q as SurfaceFormTexts, qt as interactionToUiSpec, r as A2UI_SPEC_ACTION, rn as renderRenderResult, rt as UiCatalogToolSourceOptions, s as A2uiCatalogComponent, sn as resolveSurfaceFormTexts, st as UiPresetName, t as A2UI_BASIC_CATALOG_ID, tn as renderMiniChart, tt as UiCatalogInput, u as A2uiComponentShape, un as toA2uiSpecMessages, ut as UiSpecIssue, v as ChartFontSizes, vn as uiPreset, vt as VercelToolInvocation, w as DEFAULT_SURFACE_FORM_TEXTS, wt as WEBSKILL_SURFACE_ACTION, x as ControlModel, xt as ViewerComponentsOptions, y as CollectedValues, yt as VercelUiBridge, z as NormalizedColumnWidths, zt as ensureStyles } from "./index-sd-gVKey.js";
4
4
  export { A2UI_BASIC_CATALOG_ID, A2UI_COMMON_TYPES, A2UI_SPEC_ACTION, A2UI_SPEC_FORM_PATH, A2UI_SURFACE_ACTION, A2UI_VERSION, type A2uiCatalogComponent, type A2uiCatalogDefinition, type A2uiCatalogHandle, type A2uiComponentShape, type A2uiMessage, type A2uiSpecActionEvent, type A2uiSpecMessageOptions, CATALOG_BUDGET_STAGE, CATALOG_PROMPT_MAX, CATALOG_SCHEMA_MAX, CHART_PALETTE, type ChartFontSizes, type CollectedValues, type ColumnWidthsRejection, type ControlModel, DEFAULT_CHART_FONT_SIZES, DEFAULT_INTERACTION_TEXTS, DEFAULT_SURFACE_FORM_TEXTS, DEFAULT_SURFACE_HOST_CONTROL_TEXTS, DESCRIBE_UI_PRESET_TOOL, DOCUMENT_COMPONENTS, type DocumentComponentName, type EchartHandle, type EvaluateFieldConditionOptions, type FieldCondition, type FieldConditionResult, type FormModel, type InteractionSpecLabels, type InteractionTexts, type JsonRenderSpec, type LoadedOpenUiPeers, MAX_CONDITION_DEPTH, type NormalizedColumnWidths, type OpenUiRendererProps, type OpenUiRuntime, PLANNED_INCREMENT, RENDER_UI_TOOL, SPEC_TABLE_MIN_COLUMN_VAR, SPEC_TABLE_MIN_COLUMN_WIDTH, type SpecColumnMeta, type SurfaceFormTexts, type SurfaceHostControlTexts, UI_CATALOG_GROUPS, UI_CATALOG_PROMPT_BUDGET_BYTES, UI_PRESETS, UI_PRESET_NAMES, type UiActionDef, type UiCatalog, type UiCatalogInput, type UiCatalogPromptOptions, type UiCatalogToolSourceOptions, type UiComponentDef, type UiFormScope, type UiPreset, type UiPresetName, type UiSpecDegradation, type UiSpecDegradationCode, type UiSpecIssue, type UiSpecNode, type UiSpecSanitization, type UiSpecValidation, type UiSurfaceActionDispatch, VERCEL_INTERACTION_TOOL_NAME, VIEWER_COMPONENT_ATTR, VIEWER_FALLBACK_ATTR, VIEWER_PROPS_ATTR, type VercelToolInvocation, VercelUiBridge, type ViewerComponentsHandle, type ViewerComponentsOptions, WEBSKILL_A2UI_CATALOG_ID, WEBSKILL_STYLES_CSS, WEBSKILL_SURFACE_ACTION, WebFormBridge, type ZodRuntime, a2uiComponentSchema, a2uiComponentShapes, applySuggestion, buildA2uiCatalogDefinition, buildRenderResult, chartSpecFromProps, chartToTable, collectFormScopes, collectScopedValues, collectSpecActions, collectValues, createUiCatalogToolSource, defineUiCatalog, ensureStyles, evaluateFieldCondition, fromA2uiSpecAction, fromA2uiSurfaceAction, fromUiSurfaceActionDispatch, fromVercelToolResult, gaugePercent, interactionToFormModel, interactionToUiSpec, loadOpenUiPeers, loadWebSkillLitCatalog, mountEchart, mountViewerComponents, normalizeColumnWidths, qualifyFieldName, renderBlocks, renderMiniChart, renderMiniMarkdown, renderRenderResult, resolveChartFontSizes, resolveColumnWidths, resolveInteractionTexts, resolveSurfaceFormTexts, resolveSurfaceHostControlTexts, shapeInteractionValue, toA2uiSpecMessages, toA2uiSurfaceAction, toEchartsOption, toJsonRenderSpec, toOpenUiSpecLang, toUiSurfaceActionDispatch, toVercelToolInvocation, uiCatalog, uiPreset };
package/dist/ui.js CHANGED
@@ -1,4 +1,4 @@
1
- import { et as buildRenderResult } from "./dist-ExSQky4C.js";
2
- import { $ as uiPreset, A as ensureStyles, B as mountViewerComponents, C as applySuggestion, Ct as resolveSurfaceFormTexts, D as collectSpecActions, Dt as uiCatalog, E as collectScopedValues, Et as toEchartsOption, F as fromVercelToolResult, G as renderRenderResult, H as qualifyFieldName, I as gaugePercent, J as toA2uiSurfaceAction, K as resolveColumnWidths, L as interactionToUiSpec, M as fromA2uiSpecAction, N as fromA2uiSurfaceAction, O as collectValues, P as fromUiSurfaceActionDispatch, Q as toVercelToolInvocation, R as loadOpenUiPeers, S as WebFormBridge, St as resolveInteractionTexts, T as collectFormScopes, Tt as shapeInteractionValue, U as renderBlocks, V as normalizeColumnWidths, W as renderMiniChart, X as toOpenUiSpecLang, Y as toJsonRenderSpec, Z as toUiSurfaceActionDispatch, _ as VIEWER_FALLBACK_ATTR, _t as defineUiCatalog, a as A2UI_VERSION, at as DEFAULT_CHART_FONT_SIZES, b as WEBSKILL_STYLES_CSS, bt as renderMiniMarkdown, c as DOCUMENT_COMPONENTS, ct as DEFAULT_SURFACE_HOST_CONTROL_TEXTS, d as SPEC_TABLE_MIN_COLUMN_VAR, dt as UI_CATALOG_PROMPT_BUDGET_BYTES, f as SPEC_TABLE_MIN_COLUMN_WIDTH, ft as WEBSKILL_A2UI_CATALOG_ID, g as VIEWER_COMPONENT_ATTR, gt as chartSpecFromProps, h as VERCEL_INTERACTION_TOOL_NAME, ht as buildA2uiCatalogDefinition, i as A2UI_SURFACE_ACTION, it as CATALOG_SCHEMA_MAX, j as evaluateFieldCondition, k as createUiCatalogToolSource, l as MAX_CONDITION_DEPTH, lt as PLANNED_INCREMENT, m as UI_PRESET_NAMES, mt as a2uiComponentShapes, n as A2UI_SPEC_ACTION, nt as CATALOG_BUDGET_STAGE, o as CHART_PALETTE, ot as DEFAULT_INTERACTION_TEXTS, p as UI_PRESETS, pt as a2uiComponentSchema, q as toA2uiSpecMessages, r as A2UI_SPEC_FORM_PATH, rt as CATALOG_PROMPT_MAX, s as DESCRIBE_UI_PRESET_TOOL, st as DEFAULT_SURFACE_FORM_TEXTS, t as A2UI_BASIC_CATALOG_ID, tt as A2UI_COMMON_TYPES, u as RENDER_UI_TOOL, ut as UI_CATALOG_GROUPS, v as VIEWER_PROPS_ATTR, vt as interactionToFormModel, w as chartToTable, wt as resolveSurfaceHostControlTexts, x as WEBSKILL_SURFACE_ACTION, xt as resolveChartFontSizes, y as VercelUiBridge, yt as mountEchart, z as loadWebSkillLitCatalog } from "./dist-DqcL6jKO.js";
1
+ import { et as buildRenderResult } from "./dist-Bfga1TmS.js";
2
+ import { $ as uiPreset, A as ensureStyles, B as mountViewerComponents, C as applySuggestion, Ct as resolveSurfaceFormTexts, D as collectSpecActions, Dt as uiCatalog, E as collectScopedValues, Et as toEchartsOption, F as fromVercelToolResult, G as renderRenderResult, H as qualifyFieldName, I as gaugePercent, J as toA2uiSurfaceAction, K as resolveColumnWidths, L as interactionToUiSpec, M as fromA2uiSpecAction, N as fromA2uiSurfaceAction, O as collectValues, P as fromUiSurfaceActionDispatch, Q as toVercelToolInvocation, R as loadOpenUiPeers, S as WebFormBridge, St as resolveInteractionTexts, T as collectFormScopes, Tt as shapeInteractionValue, U as renderBlocks, V as normalizeColumnWidths, W as renderMiniChart, X as toOpenUiSpecLang, Y as toJsonRenderSpec, Z as toUiSurfaceActionDispatch, _ as VIEWER_FALLBACK_ATTR, _t as defineUiCatalog, a as A2UI_VERSION, at as DEFAULT_CHART_FONT_SIZES, b as WEBSKILL_STYLES_CSS, bt as renderMiniMarkdown, c as DOCUMENT_COMPONENTS, ct as DEFAULT_SURFACE_HOST_CONTROL_TEXTS, d as SPEC_TABLE_MIN_COLUMN_VAR, dt as UI_CATALOG_PROMPT_BUDGET_BYTES, f as SPEC_TABLE_MIN_COLUMN_WIDTH, ft as WEBSKILL_A2UI_CATALOG_ID, g as VIEWER_COMPONENT_ATTR, gt as chartSpecFromProps, h as VERCEL_INTERACTION_TOOL_NAME, ht as buildA2uiCatalogDefinition, i as A2UI_SURFACE_ACTION, it as CATALOG_SCHEMA_MAX, j as evaluateFieldCondition, k as createUiCatalogToolSource, l as MAX_CONDITION_DEPTH, lt as PLANNED_INCREMENT, m as UI_PRESET_NAMES, mt as a2uiComponentShapes, n as A2UI_SPEC_ACTION, nt as CATALOG_BUDGET_STAGE, o as CHART_PALETTE, ot as DEFAULT_INTERACTION_TEXTS, p as UI_PRESETS, pt as a2uiComponentSchema, q as toA2uiSpecMessages, r as A2UI_SPEC_FORM_PATH, rt as CATALOG_PROMPT_MAX, s as DESCRIBE_UI_PRESET_TOOL, st as DEFAULT_SURFACE_FORM_TEXTS, t as A2UI_BASIC_CATALOG_ID, tt as A2UI_COMMON_TYPES, u as RENDER_UI_TOOL, ut as UI_CATALOG_GROUPS, v as VIEWER_PROPS_ATTR, vt as interactionToFormModel, w as chartToTable, wt as resolveSurfaceHostControlTexts, x as WEBSKILL_SURFACE_ACTION, xt as resolveChartFontSizes, y as VercelUiBridge, yt as mountEchart, z as loadWebSkillLitCatalog } from "./dist-CiaDIqkV.js";
3
3
 
4
4
  export { A2UI_BASIC_CATALOG_ID, A2UI_COMMON_TYPES, A2UI_SPEC_ACTION, A2UI_SPEC_FORM_PATH, A2UI_SURFACE_ACTION, A2UI_VERSION, CATALOG_BUDGET_STAGE, CATALOG_PROMPT_MAX, CATALOG_SCHEMA_MAX, CHART_PALETTE, DEFAULT_CHART_FONT_SIZES, DEFAULT_INTERACTION_TEXTS, DEFAULT_SURFACE_FORM_TEXTS, DEFAULT_SURFACE_HOST_CONTROL_TEXTS, DESCRIBE_UI_PRESET_TOOL, DOCUMENT_COMPONENTS, MAX_CONDITION_DEPTH, PLANNED_INCREMENT, RENDER_UI_TOOL, SPEC_TABLE_MIN_COLUMN_VAR, SPEC_TABLE_MIN_COLUMN_WIDTH, UI_CATALOG_GROUPS, UI_CATALOG_PROMPT_BUDGET_BYTES, UI_PRESETS, UI_PRESET_NAMES, VERCEL_INTERACTION_TOOL_NAME, VIEWER_COMPONENT_ATTR, VIEWER_FALLBACK_ATTR, VIEWER_PROPS_ATTR, VercelUiBridge, WEBSKILL_A2UI_CATALOG_ID, WEBSKILL_STYLES_CSS, WEBSKILL_SURFACE_ACTION, WebFormBridge, a2uiComponentSchema, a2uiComponentShapes, applySuggestion, buildA2uiCatalogDefinition, buildRenderResult, chartSpecFromProps, chartToTable, collectFormScopes, collectScopedValues, collectSpecActions, collectValues, createUiCatalogToolSource, defineUiCatalog, ensureStyles, evaluateFieldCondition, fromA2uiSpecAction, fromA2uiSurfaceAction, fromUiSurfaceActionDispatch, fromVercelToolResult, gaugePercent, interactionToFormModel, interactionToUiSpec, loadOpenUiPeers, loadWebSkillLitCatalog, mountEchart, mountViewerComponents, normalizeColumnWidths, qualifyFieldName, renderBlocks, renderMiniChart, renderMiniMarkdown, renderRenderResult, resolveChartFontSizes, resolveColumnWidths, resolveInteractionTexts, resolveSurfaceFormTexts, resolveSurfaceHostControlTexts, shapeInteractionValue, toA2uiSpecMessages, toA2uiSurfaceAction, toEchartsOption, toJsonRenderSpec, toOpenUiSpecLang, toUiSurfaceActionDispatch, toVercelToolInvocation, uiCatalog, uiPreset };
@@ -1,4 +1,4 @@
1
- import { Dt as uiCatalog, bt as renderMiniMarkdown, et as A2UI_CHILDREN_PROP, ft as WEBSKILL_A2UI_CATALOG_ID, gt as chartSpecFromProps, mt as a2uiComponentShapes, st as DEFAULT_SURFACE_FORM_TEXTS, yt as mountEchart } from "./dist-DqcL6jKO.js";
1
+ import { Dt as uiCatalog, bt as renderMiniMarkdown, et as A2UI_CHILDREN_PROP, ft as WEBSKILL_A2UI_CATALOG_ID, gt as chartSpecFromProps, mt as a2uiComponentShapes, st as DEFAULT_SURFACE_FORM_TEXTS, yt as mountEchart } from "./dist-CiaDIqkV.js";
2
2
  import { A2uiController, A2uiLitElement } from "@a2ui/lit/v0_9";
3
3
  import { Catalog } from "@a2ui/web_core/v0_9";
4
4
  import { z } from "zod/v3";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@webskill/sdk",
3
- "version": "0.13.0",
3
+ "version": "0.14.0",
4
4
  "description": "WebSkill — browser/Node agent skill runtime (skills, tools, MCP, governance, UI)",
5
5
  "license": "MIT",
6
6
  "type": "module",