@webskill/sdk 0.11.0 → 0.12.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/agent.d.ts +3 -3
- package/dist/agent.js +2 -2
- package/dist/browser.d.ts +3 -3
- package/dist/browser.js +7 -3
- package/dist/{catalogComponents-BFoqpT1v-CjUBZ3bc.js → catalogComponents-BgAJN0p8-C3K8klJd.js} +260 -914
- package/dist/{dist-qnlI2Iup.js → dist-DU9KDAuR.js} +194 -6
- package/dist/{dist-DTHZS2k1.js → dist-DqcL6jKO.js} +155 -39
- package/dist/{dist-B-cOu08W.js → dist-sdKFgERo.js} +431 -40
- package/dist/{echarts-DhNm2ene.js → echarts-De78wXqV.js} +599 -61
- package/dist/governance.d.ts +3 -3
- package/dist/{index-DACk2_XZ.d.ts → index-3fCHc1mQ.d.ts} +92 -8
- package/dist/{index-D3mONFHD.d.ts → index-C9pzXLKy.d.ts} +148 -4
- package/dist/{index-DWbs58LF.d.ts → index-DFhU1uks.d.ts} +64 -10
- package/dist/index.d.ts +3 -3
- package/dist/index.js +2 -2
- package/dist/mcp.d.ts +26 -3
- package/dist/mcp.js +37 -1
- package/dist/node.d.ts +3 -3
- package/dist/node.js +9 -3
- package/dist/{openUiLibrary-D5u8oIvx-BLOAQCho.js → openUiLibrary-BKXW7Iwx-DaymVubt.js} +3 -3
- package/dist/processSandboxEntry.js +2 -1
- package/dist/sandboxWorkerEntry.js +2 -1
- package/dist/{skillVersionStore-D-qHk9ZE-BcmFLykd.d.ts → skillVersionStore-D-qHk9ZE-DheTIwAB.d.ts} +1 -1
- package/dist/testing.d.ts +1 -1
- package/dist/{types-C26b05fW-CdrRCRDb.d.ts → types-DLctJep_-B5G4uk2u.d.ts} +3 -2
- package/dist/ui-react.d.ts +13 -4
- package/dist/ui-react.js +69 -253
- package/dist/ui-vue.d.ts +1 -1
- package/dist/ui-vue.js +1 -1
- package/dist/ui.d.ts +4 -4
- package/dist/ui.js +3 -3
- package/dist/{webskillLitCatalog-DME6PBkV-CmYNLlIT.js → webskillLitCatalog-D_zCqeQF-C9lrvvMr.js} +2 -2
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
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
2
|
import { a as textParts, n as partsToText } from "./memoryArtifactStore-52Zn9npI-LbCQaqyx.js";
|
|
3
|
-
import { $ as
|
|
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-sdKFgERo.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. */
|
|
@@ -11,4 +11,4 @@ import { $ as createWebSkillApi, A as READ_LINKED_DOCUMENT_TOOL_NAME, At as sche
|
|
|
11
11
|
const SDK_VERSION = "0.11.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, FsTrustedKeyStore, FullDisclosureRouter, GoogleGenAiClient, HookRunner, MANIFEST_EXCLUDED_FILES, 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, 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, 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, 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 };
|
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-
|
|
2
|
-
import { F as ExternalToolSource, P as ExternalSkillProvider,
|
|
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 ToolResult, tr as mergeCatalogEntries } from "./index-C9pzXLKy.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";
|
|
@@ -305,6 +305,19 @@ interface McpToolVisibility {
|
|
|
305
305
|
*/
|
|
306
306
|
isWebMcpToolEnabled?(tool: string, sourceId?: string): boolean;
|
|
307
307
|
}
|
|
308
|
+
/**
|
|
309
|
+
* 参数留存的宿主侧信任声明(分册 30 / FR-30.6)。
|
|
310
|
+
*
|
|
311
|
+
* 声明只吃 endpoint / sourceId 这两个**宿主配置里的标识**,
|
|
312
|
+
* 不读工具 schema、不读工具描述、不读服务器元数据——服务器自称可信不算数。
|
|
313
|
+
* 缺省不信任;信任只影响脱敏判定,不影响可见性与审批。
|
|
314
|
+
*/
|
|
315
|
+
interface McpSourceTrust {
|
|
316
|
+
/** 宿主声明「这台端点的工具 schema 我审查过」 */
|
|
317
|
+
isEndpointTrusted?(endpoint: string): boolean;
|
|
318
|
+
/** WebMCP 来源同款;`sourceId` 为空即未命名的那一个 */
|
|
319
|
+
isWebMcpSourceTrusted?(sourceId: string | undefined): boolean;
|
|
320
|
+
}
|
|
308
321
|
/**
|
|
309
322
|
* runtime 扩展点实现:endpoint 注册表 + WebMCP adapter 一处装配。
|
|
310
323
|
* LLM 可见名:endpoint__tool / mcp__tool;call 时反向映射。
|
|
@@ -318,11 +331,21 @@ declare class McpRuntimePlugin implements ExternalToolSource {
|
|
|
318
331
|
resolver?: McpToolResolver;
|
|
319
332
|
/** 工具可见性策略(端点/工具级启停);缺省全部可见 */
|
|
320
333
|
visibility?: McpToolVisibility;
|
|
334
|
+
/** 参数留存的信任声明(分册 30);**缺省不信任** */
|
|
335
|
+
trust?: McpSourceTrust;
|
|
321
336
|
/** 已知的 endpoint 名(注销后仍按 MCP_ENDPOINT_UNAVAILABLE 响应,而非 TOOL_NOT_FOUND) */
|
|
322
337
|
endpoints?: string[];
|
|
323
338
|
/** endpoint 不可用时的告警出口(默认 console.warn) */
|
|
324
339
|
onWarning?(message: string): void;
|
|
325
340
|
});
|
|
341
|
+
/**
|
|
342
|
+
* 参数留存的信任判定(分册 30 / FR-30.6)。
|
|
343
|
+
* 只按宿主配置里的 endpoint / sourceId 判,服务器传回的内容进不了这条路径。
|
|
344
|
+
*/
|
|
345
|
+
argCaptureTrust(llmToolName: string): {
|
|
346
|
+
tier: 'host-trusted';
|
|
347
|
+
declaredBy?: string;
|
|
348
|
+
} | undefined;
|
|
326
349
|
listToolSpecs(): Promise<LlmToolSpec[]>;
|
|
327
350
|
canHandle(llmToolName: string): boolean;
|
|
328
351
|
call(llmToolName: string, args: Record<string, unknown>): Promise<ToolResult>;
|
|
@@ -471,4 +494,4 @@ interface RemoteEndpointHandle {
|
|
|
471
494
|
*/
|
|
472
495
|
declare function connectRemoteEndpoint(registry: EndpointRegistry<McpClientLike>, config: RemoteEndpointConfig): Promise<RemoteEndpointHandle>;
|
|
473
496
|
//#endregion
|
|
474
|
-
export { type BrowserModelContextLike, EndpointRegistry, ExperimentalWebMcpAdapter, type McpClientLike, type McpOAuthClient, type McpOAuthConfig, type McpOAuthHandshake, type McpOAuthHandshakeStore, type McpOAuthProvider, type McpOAuthStage, type McpOAuthTokenStore, type McpOAuthTokens, McpRuntimePlugin, 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 };
|
|
497
|
+
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, 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 };
|
package/dist/mcp.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { M as messageOf, g as assertRemoteUrlAllowed, h as WebSkillError } from "./dist-Bev6i6Ip.js";
|
|
2
|
-
import {
|
|
2
|
+
import { St as normalizeToolContent, _t as mergeCatalogEntries } from "./dist-sdKFgERo.js";
|
|
3
3
|
|
|
4
4
|
//#region ../mcp/dist/index.js
|
|
5
5
|
/**
|
|
@@ -580,6 +580,7 @@ var McpRuntimePlugin = class {
|
|
|
580
580
|
*/
|
|
581
581
|
#webMcp;
|
|
582
582
|
#visibility;
|
|
583
|
+
#trust;
|
|
583
584
|
#configuredEndpoints;
|
|
584
585
|
#onWarning;
|
|
585
586
|
constructor(deps) {
|
|
@@ -587,6 +588,7 @@ var McpRuntimePlugin = class {
|
|
|
587
588
|
this.#resolver = deps.resolver ?? new McpToolResolver(deps.registry);
|
|
588
589
|
this.#webMcp = deps.webMcp ?? [];
|
|
589
590
|
this.#visibility = deps.visibility;
|
|
591
|
+
this.#trust = deps.trust;
|
|
590
592
|
this.#configuredEndpoints = deps.endpoints ?? [];
|
|
591
593
|
this.#onWarning = deps.onWarning ?? ((message) => console.warn(message));
|
|
592
594
|
}
|
|
@@ -610,6 +612,40 @@ var McpRuntimePlugin = class {
|
|
|
610
612
|
return true;
|
|
611
613
|
}
|
|
612
614
|
}
|
|
615
|
+
/**
|
|
616
|
+
* 信任回调统一求值。**刻意不复用 `#visible()`**:两者的失败代价不对称。
|
|
617
|
+
* 可见性判不出来最坏是工具从列表里消失;信任判不出来而放行,落盘的就是明文。
|
|
618
|
+
* 因此这里缺省 false、异常也按 false,并同样走 onWarning。
|
|
619
|
+
*/
|
|
620
|
+
#trusted(probe) {
|
|
621
|
+
try {
|
|
622
|
+
return probe() === true;
|
|
623
|
+
} catch (e) {
|
|
624
|
+
this.#onWarning(`[webskill] MCP trust callback failed; treating the source as untrusted: ${e instanceof Error ? e.message : String(e)}`);
|
|
625
|
+
return false;
|
|
626
|
+
}
|
|
627
|
+
}
|
|
628
|
+
/**
|
|
629
|
+
* 参数留存的信任判定(分册 30 / FR-30.6)。
|
|
630
|
+
* 只按宿主配置里的 endpoint / sourceId 判,服务器传回的内容进不了这条路径。
|
|
631
|
+
*/
|
|
632
|
+
argCaptureTrust(llmToolName) {
|
|
633
|
+
const parsed = parseWebMcpToolLlmName(llmToolName, this.#sourceIds());
|
|
634
|
+
if (parsed !== void 0) {
|
|
635
|
+
if (!this.#trusted(() => this.#trust?.isWebMcpSourceTrusted?.(parsed.sourceId))) return void 0;
|
|
636
|
+
return {
|
|
637
|
+
tier: "host-trusted",
|
|
638
|
+
declaredBy: `webmcp:${parsed.sourceId ?? ""}`
|
|
639
|
+
};
|
|
640
|
+
}
|
|
641
|
+
const endpoint = this.#endpoints().find((name) => parseEndpointToolLlmName(name, llmToolName) !== void 0);
|
|
642
|
+
if (endpoint === void 0) return void 0;
|
|
643
|
+
if (!this.#trusted(() => this.#trust?.isEndpointTrusted?.(endpoint))) return void 0;
|
|
644
|
+
return {
|
|
645
|
+
tier: "host-trusted",
|
|
646
|
+
declaredBy: endpoint
|
|
647
|
+
};
|
|
648
|
+
}
|
|
613
649
|
async listToolSpecs() {
|
|
614
650
|
const specs = [];
|
|
615
651
|
for (const endpoint of this.#endpoints()) {
|
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-
|
|
2
|
-
import {
|
|
3
|
-
import { a as AuditLog, b as SkillVersionStore, d as CandidateSkill, m as CandidateStore, r as ApprovalPolicy } from "./skillVersionStore-D-qHk9ZE-
|
|
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 { Bn as createScriptContext, Bt as ScriptExecutionContext, Fn as WebSkillRuntimeDeps, L as FsArtifactStore, Pn as WebSkillRuntime, R as FsMemoryStore, Vt as ScriptExecutor, dn as ToolResult, it as NetworkPolicy, ln as ToolDefinition, m as ApprovalScope, y as BridgeCapabilities, zt as SchemaInferer } from "./index-C9pzXLKy.js";
|
|
3
|
+
import { a as AuditLog, b as SkillVersionStore, d as CandidateSkill, m as CandidateStore, r as ApprovalPolicy } from "./skillVersionStore-D-qHk9ZE-DheTIwAB.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
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 {
|
|
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-sdKFgERo.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";
|
|
@@ -541,7 +541,10 @@ var SandboxedScriptExecutor = class {
|
|
|
541
541
|
});
|
|
542
542
|
if (denied) return denied;
|
|
543
543
|
const content = typeof request.content === "string" ? request.content : new Uint8Array(request.content);
|
|
544
|
-
const artifact = await context.writeArtifact(request.path, content, {
|
|
544
|
+
const artifact = await context.writeArtifact(request.path, content, {
|
|
545
|
+
...request.mimeType ? { mimeType: request.mimeType } : {},
|
|
546
|
+
...request.metadata === void 0 ? {} : { metadata: request.metadata }
|
|
547
|
+
});
|
|
545
548
|
return {
|
|
546
549
|
id: request.id,
|
|
547
550
|
ok: true,
|
|
@@ -915,7 +918,10 @@ var ProcessSandboxExecutor = class {
|
|
|
915
918
|
});
|
|
916
919
|
if (denied) return denied;
|
|
917
920
|
const content = typeof request.content === "string" ? request.content : new Uint8Array(request.content);
|
|
918
|
-
const artifact = await context.writeArtifact(request.path, content, {
|
|
921
|
+
const artifact = await context.writeArtifact(request.path, content, {
|
|
922
|
+
...request.mimeType ? { mimeType: request.mimeType } : {},
|
|
923
|
+
...request.metadata === void 0 ? {} : { metadata: request.metadata }
|
|
924
|
+
});
|
|
919
925
|
return {
|
|
920
926
|
id: request.id,
|
|
921
927
|
ok: true,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { t as CatalogNode } from "./catalogComponents-
|
|
1
|
+
import { Dt as uiCatalog } from "./dist-DqcL6jKO.js";
|
|
2
|
+
import { t as CatalogNode } from "./catalogComponents-BgAJN0p8-C3K8klJd.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";
|
|
@@ -3761,7 +3761,7 @@ function Renderer({ response, library, isStreaming = false, onAction, onStateUpd
|
|
|
3761
3761
|
const FormValidationContext = createContext(null);
|
|
3762
3762
|
|
|
3763
3763
|
//#endregion
|
|
3764
|
-
//#region ../ui-react/dist/openUiLibrary-
|
|
3764
|
+
//#region ../ui-react/dist/openUiLibrary-BKXW7Iwx.js
|
|
3765
3765
|
const propsFor = (props, container) => container ? props.extend({ children: z.array(z.any()).optional() }) : props;
|
|
3766
3766
|
/**
|
|
3767
3767
|
* catalog 的 OpenUI 投影:`defineComponent` 复用同一份 zod schema 与描述,
|
|
@@ -174,7 +174,8 @@ async function main(task) {
|
|
|
174
174
|
writeArtifact: (path, content, options) => callCapability("writeArtifact", {
|
|
175
175
|
path,
|
|
176
176
|
content: typeof content === "string" ? content : Array.from(content ?? []),
|
|
177
|
-
mimeType: options?.mimeType
|
|
177
|
+
mimeType: options?.mimeType,
|
|
178
|
+
metadata: options?.metadata
|
|
178
179
|
}),
|
|
179
180
|
confirm: (message) => callCapability("confirm", { message })
|
|
180
181
|
};
|
|
@@ -235,7 +235,8 @@ async function main() {
|
|
|
235
235
|
writeArtifact: (path, content, options) => callCapability("writeArtifact", {
|
|
236
236
|
path,
|
|
237
237
|
content: typeof content === "string" ? content : Array.from(content ?? []),
|
|
238
|
-
mimeType: options?.mimeType
|
|
238
|
+
mimeType: options?.mimeType,
|
|
239
|
+
metadata: options?.metadata
|
|
239
240
|
}),
|
|
240
241
|
confirm: (message) => callCapability("confirm", { message })
|
|
241
242
|
};
|
package/dist/{skillVersionStore-D-qHk9ZE-BcmFLykd.d.ts → skillVersionStore-D-qHk9ZE-DheTIwAB.d.ts}
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { R as FileSystemProvider, U as Page, W as PageQuery, dt as SkillManifest, it as SkillCatalogEntry } from "./types-
|
|
1
|
+
import { R as FileSystemProvider, U as Page, W as PageQuery, dt as SkillManifest, it as SkillCatalogEntry } from "./types-DLctJep_-B5G4uk2u.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';
|
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-
|
|
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";
|
|
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
|
|
@@ -637,7 +637,7 @@ declare function escapeXml(text: string): string;
|
|
|
637
637
|
declare function renderAvailableSkillsXml(catalog: SkillCatalog): string;
|
|
638
638
|
declare const xmlRenderer: CatalogRenderer;
|
|
639
639
|
//#endregion
|
|
640
|
-
//#region ../runtime/dist/types-
|
|
640
|
+
//#region ../runtime/dist/types-DLctJep_.d.ts
|
|
641
641
|
//#region src/llm/streamTypes.d.ts
|
|
642
642
|
/** 流式 LLM 事件(OpenAI SSE / Vercel fullStream 统一映射) */
|
|
643
643
|
type LlmStreamEvent = {
|
|
@@ -879,7 +879,8 @@ interface InteractionSuggestion {
|
|
|
879
879
|
}
|
|
880
880
|
/** 图表规格($chart 约定的校验后形态;渲染单一来源在 ui/chart/miniChart) */
|
|
881
881
|
interface ChartSpec {
|
|
882
|
-
|
|
882
|
+
/** 取值与 catalog `Chart` 的 props 枚举逐字一致(`ui/catalog/uiCatalog.ts`) */
|
|
883
|
+
kind: 'bar' | 'line' | 'area' | 'pie' | 'scatter' | 'stacked-bar' | 'dual-axis';
|
|
883
884
|
title?: string;
|
|
884
885
|
labels: string[];
|
|
885
886
|
series: Array<{
|
package/dist/ui-react.d.ts
CHANGED
|
@@ -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-
|
|
2
|
-
import {
|
|
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-3fCHc1mQ.js";
|
|
3
3
|
import { z } from "zod";
|
|
4
4
|
import React$1, { ComponentType, ReactNode } from "react";
|
|
5
5
|
import "react/jsx-runtime";
|
|
@@ -528,9 +528,18 @@ declare const catalogComponentImpls: Record<string, (input: CatalogNodeProps) =>
|
|
|
528
528
|
//#endregion
|
|
529
529
|
//#region src/catalog/surfaceFormTexts.d.ts
|
|
530
530
|
declare function useSurfaceFormTexts(): SurfaceFormTexts;
|
|
531
|
-
declare function
|
|
531
|
+
declare function useSurfaceHostControlTexts(): SurfaceHostControlTexts;
|
|
532
|
+
declare function SurfaceFormTextsProvider({ texts, hostControlTexts, children }: {
|
|
532
533
|
texts?: Partial<SurfaceFormTexts> | undefined;
|
|
534
|
+
hostControlTexts?: Partial<SurfaceHostControlTexts> | undefined;
|
|
533
535
|
children: ReactNode;
|
|
534
536
|
}): import("react").JSX.Element;
|
|
535
537
|
//#endregion
|
|
536
|
-
|
|
538
|
+
//#region src/components/chartFontSizes.d.ts
|
|
539
|
+
declare function useChartFontSizes(): ChartFontSizes;
|
|
540
|
+
declare function ChartFontSizesProvider({ sizes, children }: {
|
|
541
|
+
sizes?: Partial<ChartFontSizes> | undefined;
|
|
542
|
+
children: ReactNode;
|
|
543
|
+
}): import("react").JSX.Element;
|
|
544
|
+
//#endregion
|
|
545
|
+
export { type CatalogNodeProps, ChartFontSizesProvider, type CustomSurfaceActionEvent, type DroppedSurfaceActionWarning, InteractionForm, type JsonRenderActionDispatch, JsonRenderSpecSurface, type JsonRenderSpecSurfaceProps, NATIVE_SPEC_COMPONENTS, NativeSpecSurface, type NativeSpecSurfaceProps, OpenUiSpecSurface, type OpenUiSpecSurfaceProps, ReactBridgeState, type ReactBridgeStateOptions, type RegisteredSurfaceProps, ResultBlocks, SpecInteractionChannel, type SpecInteractionSession, StreamingText, SurfaceFormTextsProvider, type SurfaceRegistration, SurfaceRegistry, type UiSurfaceActionEvent, UiSurfaceList, type UiSurfaceListProps, UiSurfaceSnapshotList, type UiSurfaceSnapshotListProps, UiSurfaceStore, catalogComponentImpls, createJsonRenderRegistry, probeJsonRenderAvailability, useChartFontSizes, useSurfaceFormTexts, useSurfaceHostControlTexts };
|