@webskill/sdk 0.0.1 → 0.0.3

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.
@@ -24,6 +24,76 @@ interface JsonSchema {
24
24
  [key: string]: unknown;
25
25
  }
26
26
  //#endregion
27
+ //#region src/skill/manifest.d.ts
28
+ type SkillInstallSource = {
29
+ type: 'local';
30
+ path: string;
31
+ } | {
32
+ type: 'http';
33
+ url: string;
34
+ } | {
35
+ type: 'archive';
36
+ data: ArrayBuffer;
37
+ } | {
38
+ type: 'git';
39
+ url: string;
40
+ ref?: string;
41
+ commit?: string;
42
+ } | {
43
+ type: 'npm';
44
+ packageName: string;
45
+ version?: string;
46
+ };
47
+ interface SkillManifest {
48
+ schemaVersion: 1;
49
+ name: string;
50
+ version?: string;
51
+ source: SkillInstallSource;
52
+ installedAt: string;
53
+ integrity: {
54
+ algorithm: 'sha256';
55
+ digest: string;
56
+ };
57
+ files: Array<{
58
+ path: string;
59
+ size: number;
60
+ sha256: string;
61
+ }>;
62
+ }
63
+ interface SkillsLockfile {
64
+ schemaVersion: 1;
65
+ skills: Record<string, {
66
+ digest: string;
67
+ installedAt: string;
68
+ source: SkillInstallSource;
69
+ }>;
70
+ }
71
+ interface VerifyResult {
72
+ ok: boolean;
73
+ mismatches: string[];
74
+ }
75
+ /** 技能目录内的安装清单文件名(不参与 files 列表与 digest) */
76
+ declare const SKILL_MANIFEST_FILE = "webskill.skill-manifest.json";
77
+ /** managed root 下的锁定文件名(不参与 files 列表与 digest) */
78
+ declare const SKILLS_LOCKFILE = "skills.lock.json";
79
+ type Sha256Fn = (data: Uint8Array | string) => string | Promise<string>;
80
+ /** 整体 digest:逐文件 "<path>:<sha256>\n" 拼接串(文件按 path 排序)的 sha256(hash 由调用方提供,可为 WebCrypto 异步实现) */
81
+ declare function computeDigest(files: Array<{
82
+ path: string;
83
+ sha256: string;
84
+ }>, sha256: Sha256Fn): Promise<string>;
85
+ /** 由逐文件清单构建 manifest(digest 由 computeDigest 计算) */
86
+ declare function buildManifest(input: {
87
+ name: string;
88
+ version?: string;
89
+ source: SkillInstallSource;
90
+ installedAt: string;
91
+ files: SkillManifest['files'];
92
+ sha256: Sha256Fn;
93
+ }): Promise<SkillManifest>;
94
+ /** 按 manifest.files 比对实际 hash(调用方负责计算 actualHashes) */
95
+ declare function verifyManifest(manifest: SkillManifest, actualHashes: Map<string, string>): VerifyResult;
96
+ //#endregion
27
97
  //#region src/fs/types.d.ts
28
98
  interface FileStat {
29
99
  path: string;
@@ -403,6 +473,12 @@ interface ScriptExecutionContext {
403
473
  /** 脚本主动请求人在环确认;策略见 InteractionPolicy.confirmations */
404
474
  confirm?(message: string): Promise<boolean>;
405
475
  }
476
+ /** Schema 推导 port:纯文本静态分析脚本源码 → JSON Schema(best-effort) */
477
+ interface SchemaInferer {
478
+ inferSchemaFromSource(source: string, options?: {
479
+ fileName?: string;
480
+ }): JsonSchema | undefined;
481
+ }
406
482
  interface ScriptExecutor {
407
483
  loadDefinition(skillRoot: string, scriptName: string): Promise<ToolDefinition>;
408
484
  execute(input: {
@@ -867,8 +943,12 @@ declare function mergeCatalogEntries(localEntries: SkillCatalogEntry[], provider
867
943
  //#region src/engine/agentLoop.d.ts
868
944
  interface AgentLoopDeps {
869
945
  llm: LlmClient;
870
- executor: ScriptExecutor;
871
- artifactStore: ArtifactStore;
946
+ /** 可选:无 executor 时激活技能照常但不注册脚本工具(调用回喂 TOOL_UNSUPPORTED) */
947
+ executor?: ScriptExecutor;
948
+ /** D2 Schema 推导 port(inputSchema 为空且 sidecar 缺失时的兜底) */
949
+ schemaInferer?: SchemaInferer;
950
+ /** 缺省 MemoryArtifactStore */
951
+ artifactStore?: ArtifactStore;
872
952
  fs: FileSystemProvider;
873
953
  /** name → skillRoot(来自发现结果) */
874
954
  skillIndex: Map<string, string>;
@@ -915,8 +995,12 @@ interface WebSkillRuntimeDeps {
915
995
  llm: LlmClient;
916
996
  /** 缺省 ProgressiveRouter */
917
997
  router?: SkillRouter;
918
- executor: ScriptExecutor;
919
- artifactStore: ArtifactStore;
998
+ /** 可选:缺省无脚本执行能力(脚本调用回喂 TOOL_UNSUPPORTED) */
999
+ executor?: ScriptExecutor;
1000
+ /** D2 Schema 推导 port(node 侧 OxcSchemaInferer;浏览器经 sidecar 获取) */
1001
+ schemaInferer?: SchemaInferer;
1002
+ /** 缺省 MemoryArtifactStore */
1003
+ artifactStore?: ArtifactStore;
920
1004
  config?: AgentLoopConfig;
921
1005
  model?: string;
922
1006
  uiBridge?: UiBridge;
@@ -952,4 +1036,4 @@ declare class WebSkillRuntime {
952
1036
  run(userPrompt: string): Promise<RunResult>;
953
1037
  }
954
1038
  //#endregion
955
- export { RunTerminationReason as $, jsonRenderer as $t, LlmCompleteInput as A, DiscoveryResult as At, MockLlmQueueItem as B, SkillDocument as Bt, InteractionRequest as C, normalizeToolContent as Ct, LifecycleHookContext as D, toLlmToolSpec as Dt, LifecycleHook as E, schemaToForm as Et, LlmToolSpec as F, SKILL_NAME_MAX_LENGTH as Ft, ProgressiveRouter as G, SkillSource as Gt, MockUiBridge as H, SkillLocation as Ht, MemoryArtifactStore as I, SKILL_NAME_PATTERN as It, READ_SKILL_FILE_TOOL_NAME as J, WebSkillErrorCode as Jt, READ_SKILL_FILE_INPUT_SCHEMA as K, ValidationReport as Kt, MemoryStore as L, SkillCatalog as Lt, LlmResponse as M, FileSystemProvider as Mt, LlmStreamEvent as N, JsonSchema as Nt, LifecycleListener as O, toVercelToolSpecs as Ot, LlmToolCall as P, MemoryFS as Pt, RunResult as Q, isValidSkillName as Qt, MockLlmClient as R, SkillCatalogEntry as Rt, InteractionPolicy as S, mergeCatalogEntries as St, LifecycleEvent as T, resolveToolName as Tt, OpenAiCompatibleClient as U, SkillMetadata as Ut, MockUiAnswer as V, SkillIssue as Vt, OpenAiCompatibleClientConfig as W, SkillReader as Wt, RenderResultRequest as X, checkSkillRules as Xt, RenderBlock as Y, buildCatalog as Yt, RouteResult as Z, escapeXml as Zt, FsMemoryStore as _, bridgeError as _t, AgentLoopConfig as a, validateSkills as an, SkillRouter as at, HookRunnerOptions as b, fromVercelResult as bt, ArtifactStore as c, ToolResult as ct, BridgeResponse as d, TraceEventType as dt, normalizePath as en, RuntimePhase as et, EventBus as f, TraceRecorder as ft, FsArtifactStore as g, WebSkillRuntimeDeps as gt, FormField as h, WebSkillRuntime as ht, AgentLoop as i, resolveInsideRoot as in, ScriptExecutor as it, LlmMessage as j, FileStat as jt, LlmClient as k, CatalogRenderer as kt, BridgeCapabilities as l, TraceClock as lt, ExternalToolSource as m, VercelToolSpec as mt, ASK_USER_TOOL as n, renderAvailableSkillsXml as nn, RuntimeSession as nt, AgentLoopDeps as o, xmlRenderer as on, ToolDefinition as ot, ExternalSkillProvider as p, UiBridge as pt, READ_SKILL_FILE_TOOL as q, WebSkillError as qt, ASK_USER_TOOL_NAME as r, renderCatalogJson as rn, ScriptExecutionContext as rt, Artifact as s, ToolResolution as st, ASK_USER_INPUT_SCHEMA as t, parseSkillMarkdown as tn, RuntimeRun as tt, BridgeRequest as u, TraceEvent as ut, FullDisclosureRouter as v, buildRenderResult as vt, InteractionResponse as w, parseBridgeRequest as wt, InMemoryStore as x, fromVercelStreamPart as xt, HookRunner as y, createScriptContext as yt, MockLlmHandler as z, SkillDiscovery as zt };
1039
+ export { RunTerminationReason as $, VerifyResult as $t, LlmCompleteInput as A, CatalogRenderer as At, MockLlmQueueItem as B, SkillCatalog as Bt, InteractionRequest as C, mergeCatalogEntries as Ct, LifecycleHookContext as D, schemaToForm as Dt, LifecycleHook as E, resolveToolName as Et, LlmToolSpec as F, MemoryFS as Ft, ProgressiveRouter as G, SkillIssue as Gt, MockUiBridge as H, SkillDiscovery as Ht, MemoryArtifactStore as I, SKILLS_LOCKFILE as It, READ_SKILL_FILE_TOOL_NAME as J, SkillMetadata as Jt, READ_SKILL_FILE_INPUT_SCHEMA as K, SkillLocation as Kt, MemoryStore as L, SKILL_MANIFEST_FILE as Lt, LlmResponse as M, FileStat as Mt, LlmStreamEvent as N, FileSystemProvider as Nt, LifecycleListener as O, toLlmToolSpec as Ot, LlmToolCall as P, JsonSchema as Pt, RunResult as Q, ValidationReport as Qt, MockLlmClient as R, SKILL_NAME_MAX_LENGTH as Rt, InteractionPolicy as S, fromVercelStreamPart as St, LifecycleEvent as T, parseBridgeRequest as Tt, OpenAiCompatibleClient as U, SkillDocument as Ut, MockUiAnswer as V, SkillCatalogEntry as Vt, OpenAiCompatibleClientConfig as W, SkillInstallSource as Wt, RenderResultRequest as X, SkillSource as Xt, RenderBlock as Y, SkillReader as Yt, RouteResult as Z, SkillsLockfile as Zt, FsMemoryStore as _, WebSkillRuntimeDeps as _t, AgentLoopConfig as a, computeDigest as an, ScriptExecutor as at, HookRunnerOptions as b, createScriptContext as bt, ArtifactStore as c, jsonRenderer as cn, ToolResolution as ct, BridgeResponse as d, renderAvailableSkillsXml as dn, TraceEvent as dt, WebSkillError as en, RuntimePhase as et, EventBus as f, renderCatalogJson as fn, TraceEventType as ft, FsArtifactStore as g, xmlRenderer as gn, WebSkillRuntime as gt, FormField as h, verifyManifest as hn, VercelToolSpec as ht, AgentLoop as i, checkSkillRules as in, ScriptExecutionContext as it, LlmMessage as j, DiscoveryResult as jt, LlmClient as k, toVercelToolSpecs as kt, BridgeCapabilities as l, normalizePath as ln, ToolResult as lt, ExternalToolSource as m, validateSkills as mn, UiBridge as mt, ASK_USER_TOOL as n, buildCatalog as nn, RuntimeSession as nt, AgentLoopDeps as o, escapeXml as on, SkillRouter as ot, ExternalSkillProvider as p, resolveInsideRoot as pn, TraceRecorder as pt, READ_SKILL_FILE_TOOL as q, SkillManifest as qt, ASK_USER_TOOL_NAME as r, buildManifest as rn, SchemaInferer as rt, Artifact as s, isValidSkillName as sn, ToolDefinition as st, ASK_USER_INPUT_SCHEMA as t, WebSkillErrorCode as tn, RuntimeRun as tt, BridgeRequest as u, parseSkillMarkdown as un, TraceClock as ut, FullDisclosureRouter as v, bridgeError as vt, InteractionResponse as w, normalizeToolContent as wt, InMemoryStore as x, fromVercelResult as xt, HookRunner as y, buildRenderResult as yt, MockLlmHandler as z, SKILL_NAME_PATTERN as zt };
package/dist/index.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- import { $ as RunTerminationReason, $t as jsonRenderer, A as LlmCompleteInput, At as DiscoveryResult, B as MockLlmQueueItem, Bt as SkillDocument, C as InteractionRequest, Ct as normalizeToolContent, D as LifecycleHookContext, Dt as toLlmToolSpec, E as LifecycleHook, Et as schemaToForm, F as LlmToolSpec, Ft as SKILL_NAME_MAX_LENGTH, G as ProgressiveRouter, Gt as SkillSource, H as MockUiBridge, Ht as SkillLocation, I as MemoryArtifactStore, It as SKILL_NAME_PATTERN, J as READ_SKILL_FILE_TOOL_NAME, Jt as WebSkillErrorCode, K as READ_SKILL_FILE_INPUT_SCHEMA, Kt as ValidationReport, L as MemoryStore, Lt as SkillCatalog, M as LlmResponse, Mt as FileSystemProvider, N as LlmStreamEvent, Nt as JsonSchema, O as LifecycleListener, Ot as toVercelToolSpecs, P as LlmToolCall, Pt as MemoryFS, Q as RunResult, Qt as isValidSkillName, R as MockLlmClient, Rt as SkillCatalogEntry, S as InteractionPolicy, St as mergeCatalogEntries, T as LifecycleEvent, Tt as resolveToolName, U as OpenAiCompatibleClient, Ut as SkillMetadata, V as MockUiAnswer, Vt as SkillIssue, W as OpenAiCompatibleClientConfig, Wt as SkillReader, X as RenderResultRequest, Xt as checkSkillRules, Y as RenderBlock, Yt as buildCatalog, Z as RouteResult, Zt as escapeXml, _ as FsMemoryStore, _t as bridgeError, a as AgentLoopConfig, an as validateSkills, at as SkillRouter, b as HookRunnerOptions, bt as fromVercelResult, c as ArtifactStore, ct as ToolResult, d as BridgeResponse, dt as TraceEventType, en as normalizePath, et as RuntimePhase, f as EventBus, ft as TraceRecorder, g as FsArtifactStore, gt as WebSkillRuntimeDeps, h as FormField, ht as WebSkillRuntime, i as AgentLoop, in as resolveInsideRoot, it as ScriptExecutor, j as LlmMessage, jt as FileStat, k as LlmClient, kt as CatalogRenderer, l as BridgeCapabilities, lt as TraceClock, m as ExternalToolSource, mt as VercelToolSpec, n as ASK_USER_TOOL, nn as renderAvailableSkillsXml, nt as RuntimeSession, o as AgentLoopDeps, on as xmlRenderer, ot as ToolDefinition, p as ExternalSkillProvider, pt as UiBridge, q as READ_SKILL_FILE_TOOL, qt as WebSkillError, r as ASK_USER_TOOL_NAME, rn as renderCatalogJson, rt as ScriptExecutionContext, s as Artifact, st as ToolResolution, t as ASK_USER_INPUT_SCHEMA, tn as parseSkillMarkdown, tt as RuntimeRun, u as BridgeRequest, ut as TraceEvent, v as FullDisclosureRouter, vt as buildRenderResult, w as InteractionResponse, wt as parseBridgeRequest, x as InMemoryStore, xt as fromVercelStreamPart, y as HookRunner, yt as createScriptContext, z as MockLlmHandler, zt as SkillDiscovery } from "./index-88KNOnbr.js";
2
- export { ASK_USER_INPUT_SCHEMA, ASK_USER_TOOL, ASK_USER_TOOL_NAME, AgentLoop, type AgentLoopConfig, type AgentLoopDeps, type Artifact, type ArtifactStore, type BridgeCapabilities, type BridgeRequest, type BridgeResponse, type CatalogRenderer, type DiscoveryResult, EventBus, type ExternalSkillProvider, type ExternalToolSource, type FileStat, type FileSystemProvider, type FormField, FsArtifactStore, FsMemoryStore, FullDisclosureRouter, HookRunner, type HookRunnerOptions, InMemoryStore, type InteractionPolicy, type InteractionRequest, type InteractionResponse, type JsonSchema, type LifecycleEvent, type LifecycleHook, type LifecycleHookContext, type LifecycleListener, type LlmClient, type LlmCompleteInput, type LlmMessage, type LlmResponse, type LlmStreamEvent, type LlmToolCall, type LlmToolSpec, MemoryArtifactStore, MemoryFS, type MemoryStore, MockLlmClient, type MockLlmHandler, type MockLlmQueueItem, type MockUiAnswer, MockUiBridge, OpenAiCompatibleClient, type OpenAiCompatibleClientConfig, ProgressiveRouter, READ_SKILL_FILE_INPUT_SCHEMA, READ_SKILL_FILE_TOOL, READ_SKILL_FILE_TOOL_NAME, type RenderBlock, type RenderResultRequest, type RouteResult, type RunResult, type RunTerminationReason, type RuntimePhase, type RuntimeRun, type RuntimeSession, SKILL_NAME_MAX_LENGTH, SKILL_NAME_PATTERN, type ScriptExecutionContext, type ScriptExecutor, type SkillCatalog, type SkillCatalogEntry, SkillDiscovery, type SkillDocument, type SkillIssue, type SkillLocation, type SkillMetadata, SkillReader, type SkillRouter, type SkillSource, type ToolDefinition, type ToolResolution, type ToolResult, type TraceClock, type TraceEvent, type TraceEventType, TraceRecorder, type UiBridge, type ValidationReport, type VercelToolSpec, WebSkillError, type WebSkillErrorCode, WebSkillRuntime, type WebSkillRuntimeDeps, bridgeError, buildCatalog, buildRenderResult, checkSkillRules, createScriptContext, escapeXml, fromVercelResult, fromVercelStreamPart, isValidSkillName, jsonRenderer, mergeCatalogEntries, normalizePath, normalizeToolContent, parseBridgeRequest, parseSkillMarkdown, renderAvailableSkillsXml, renderCatalogJson, resolveInsideRoot, resolveToolName, schemaToForm, toLlmToolSpec, toVercelToolSpecs, validateSkills, xmlRenderer };
1
+ import { $ as RunTerminationReason, $t as VerifyResult, A as LlmCompleteInput, At as CatalogRenderer, B as MockLlmQueueItem, Bt as SkillCatalog, C as InteractionRequest, Ct as mergeCatalogEntries, D as LifecycleHookContext, Dt as schemaToForm, E as LifecycleHook, Et as resolveToolName, F as LlmToolSpec, Ft as MemoryFS, G as ProgressiveRouter, Gt as SkillIssue, H as MockUiBridge, Ht as SkillDiscovery, I as MemoryArtifactStore, It as SKILLS_LOCKFILE, J as READ_SKILL_FILE_TOOL_NAME, Jt as SkillMetadata, K as READ_SKILL_FILE_INPUT_SCHEMA, Kt as SkillLocation, L as MemoryStore, Lt as SKILL_MANIFEST_FILE, M as LlmResponse, Mt as FileStat, N as LlmStreamEvent, Nt as FileSystemProvider, O as LifecycleListener, Ot as toLlmToolSpec, P as LlmToolCall, Pt as JsonSchema, Q as RunResult, Qt as ValidationReport, R as MockLlmClient, Rt as SKILL_NAME_MAX_LENGTH, S as InteractionPolicy, St as fromVercelStreamPart, T as LifecycleEvent, Tt as parseBridgeRequest, U as OpenAiCompatibleClient, Ut as SkillDocument, V as MockUiAnswer, Vt as SkillCatalogEntry, W as OpenAiCompatibleClientConfig, Wt as SkillInstallSource, X as RenderResultRequest, Xt as SkillSource, Y as RenderBlock, Yt as SkillReader, Z as RouteResult, Zt as SkillsLockfile, _ as FsMemoryStore, _t as WebSkillRuntimeDeps, a as AgentLoopConfig, an as computeDigest, at as ScriptExecutor, b as HookRunnerOptions, bt as createScriptContext, c as ArtifactStore, cn as jsonRenderer, ct as ToolResolution, d as BridgeResponse, dn as renderAvailableSkillsXml, dt as TraceEvent, en as WebSkillError, et as RuntimePhase, f as EventBus, fn as renderCatalogJson, ft as TraceEventType, g as FsArtifactStore, gn as xmlRenderer, gt as WebSkillRuntime, h as FormField, hn as verifyManifest, ht as VercelToolSpec, i as AgentLoop, in as checkSkillRules, it as ScriptExecutionContext, j as LlmMessage, jt as DiscoveryResult, k as LlmClient, kt as toVercelToolSpecs, l as BridgeCapabilities, ln as normalizePath, lt as ToolResult, m as ExternalToolSource, mn as validateSkills, mt as UiBridge, n as ASK_USER_TOOL, nn as buildCatalog, nt as RuntimeSession, o as AgentLoopDeps, on as escapeXml, ot as SkillRouter, p as ExternalSkillProvider, pn as resolveInsideRoot, pt as TraceRecorder, q as READ_SKILL_FILE_TOOL, qt as SkillManifest, r as ASK_USER_TOOL_NAME, rn as buildManifest, rt as SchemaInferer, s as Artifact, sn as isValidSkillName, st as ToolDefinition, t as ASK_USER_INPUT_SCHEMA, tn as WebSkillErrorCode, tt as RuntimeRun, u as BridgeRequest, un as parseSkillMarkdown, ut as TraceClock, v as FullDisclosureRouter, vt as bridgeError, w as InteractionResponse, wt as normalizeToolContent, x as InMemoryStore, xt as fromVercelResult, y as HookRunner, yt as buildRenderResult, z as MockLlmHandler, zt as SKILL_NAME_PATTERN } from "./index-DnI0BTEp.js";
2
+ export { ASK_USER_INPUT_SCHEMA, ASK_USER_TOOL, ASK_USER_TOOL_NAME, AgentLoop, type AgentLoopConfig, type AgentLoopDeps, type Artifact, type ArtifactStore, type BridgeCapabilities, type BridgeRequest, type BridgeResponse, type CatalogRenderer, type DiscoveryResult, EventBus, type ExternalSkillProvider, type ExternalToolSource, type FileStat, type FileSystemProvider, type FormField, FsArtifactStore, FsMemoryStore, FullDisclosureRouter, HookRunner, type HookRunnerOptions, InMemoryStore, type InteractionPolicy, type InteractionRequest, type InteractionResponse, type JsonSchema, type LifecycleEvent, type LifecycleHook, type LifecycleHookContext, type LifecycleListener, type LlmClient, type LlmCompleteInput, type LlmMessage, type LlmResponse, type LlmStreamEvent, type LlmToolCall, type LlmToolSpec, MemoryArtifactStore, MemoryFS, type MemoryStore, MockLlmClient, type MockLlmHandler, type MockLlmQueueItem, type MockUiAnswer, MockUiBridge, OpenAiCompatibleClient, type OpenAiCompatibleClientConfig, ProgressiveRouter, READ_SKILL_FILE_INPUT_SCHEMA, READ_SKILL_FILE_TOOL, READ_SKILL_FILE_TOOL_NAME, type RenderBlock, type RenderResultRequest, type RouteResult, type RunResult, type RunTerminationReason, type RuntimePhase, type RuntimeRun, type RuntimeSession, SKILLS_LOCKFILE, SKILL_MANIFEST_FILE, SKILL_NAME_MAX_LENGTH, SKILL_NAME_PATTERN, type SchemaInferer, type ScriptExecutionContext, type ScriptExecutor, type SkillCatalog, type SkillCatalogEntry, SkillDiscovery, type SkillDocument, type SkillInstallSource, type SkillIssue, type SkillLocation, type SkillManifest, type SkillMetadata, SkillReader, type SkillRouter, type SkillSource, type SkillsLockfile, type ToolDefinition, type ToolResolution, type ToolResult, type TraceClock, type TraceEvent, type TraceEventType, TraceRecorder, type UiBridge, type ValidationReport, type VercelToolSpec, type VerifyResult, WebSkillError, type WebSkillErrorCode, WebSkillRuntime, type WebSkillRuntimeDeps, bridgeError, buildCatalog, buildManifest, buildRenderResult, checkSkillRules, computeDigest, createScriptContext, escapeXml, fromVercelResult, fromVercelStreamPart, isValidSkillName, jsonRenderer, mergeCatalogEntries, normalizePath, normalizeToolContent, parseBridgeRequest, parseSkillMarkdown, renderAvailableSkillsXml, renderCatalogJson, resolveInsideRoot, resolveToolName, schemaToForm, toLlmToolSpec, toVercelToolSpecs, validateSkills, verifyManifest, xmlRenderer };
package/dist/index.js CHANGED
@@ -1,3 +1,3 @@
1
- import { A as schemaToForm, B as checkSkillRules, C as createScriptContext, D as normalizeToolContent, E as mergeCatalogEntries, F as SKILL_NAME_PATTERN, G as parseSkillMarkdown, H as isValidSkillName, I as SkillDiscovery, J as resolveInsideRoot, K as renderAvailableSkillsXml, L as SkillReader, M as toVercelToolSpecs, N as MemoryFS, O as parseBridgeRequest, P as SKILL_NAME_MAX_LENGTH, R as WebSkillError, S as buildRenderResult, T as fromVercelStreamPart, U as jsonRenderer, V as escapeXml, W as normalizePath, X as xmlRenderer, Y as validateSkills, _ as READ_SKILL_FILE_TOOL, a as EventBus, b as WebSkillRuntime, c as FullDisclosureRouter, d as MemoryArtifactStore, f as MockLlmClient, g as READ_SKILL_FILE_INPUT_SCHEMA, h as ProgressiveRouter, i as AgentLoop, j as toLlmToolSpec, k as resolveToolName, l as HookRunner, m as OpenAiCompatibleClient, n as ASK_USER_TOOL, o as FsArtifactStore, p as MockUiBridge, q as renderCatalogJson, r as ASK_USER_TOOL_NAME, s as FsMemoryStore, t as ASK_USER_INPUT_SCHEMA, u as InMemoryStore, v as READ_SKILL_FILE_TOOL_NAME, w as fromVercelResult, x as bridgeError, y as TraceRecorder, z as buildCatalog } from "./dist-B_ldNWwT.js";
1
+ import { $ as validateSkills, A as schemaToForm, B as WebSkillError, C as createScriptContext, D as normalizeToolContent, E as mergeCatalogEntries, F as SKILL_MANIFEST_FILE, G as escapeXml, H as buildManifest, I as SKILL_NAME_MAX_LENGTH, J as normalizePath, K as isValidSkillName, L as SKILL_NAME_PATTERN, M as toVercelToolSpecs, N as MemoryFS, O as parseBridgeRequest, P as SKILLS_LOCKFILE, Q as resolveInsideRoot, R as SkillDiscovery, S as buildRenderResult, T as fromVercelStreamPart, U as checkSkillRules, V as buildCatalog, W as computeDigest, X as renderAvailableSkillsXml, Y as parseSkillMarkdown, Z as renderCatalogJson, _ as READ_SKILL_FILE_TOOL, a as EventBus, b as WebSkillRuntime, c as FullDisclosureRouter, d as MemoryArtifactStore, et as verifyManifest, f as MockLlmClient, g as READ_SKILL_FILE_INPUT_SCHEMA, h as ProgressiveRouter, i as AgentLoop, j as toLlmToolSpec, k as resolveToolName, l as HookRunner, m as OpenAiCompatibleClient, n as ASK_USER_TOOL, o as FsArtifactStore, p as MockUiBridge, q as jsonRenderer, r as ASK_USER_TOOL_NAME, s as FsMemoryStore, t as ASK_USER_INPUT_SCHEMA, tt as xmlRenderer, u as InMemoryStore, v as READ_SKILL_FILE_TOOL_NAME, w as fromVercelResult, x as bridgeError, y as TraceRecorder, z as SkillReader } from "./dist-hMMxARXK.js";
2
2
 
3
- export { ASK_USER_INPUT_SCHEMA, ASK_USER_TOOL, ASK_USER_TOOL_NAME, AgentLoop, EventBus, FsArtifactStore, FsMemoryStore, FullDisclosureRouter, HookRunner, InMemoryStore, MemoryArtifactStore, MemoryFS, MockLlmClient, MockUiBridge, OpenAiCompatibleClient, ProgressiveRouter, READ_SKILL_FILE_INPUT_SCHEMA, READ_SKILL_FILE_TOOL, READ_SKILL_FILE_TOOL_NAME, SKILL_NAME_MAX_LENGTH, SKILL_NAME_PATTERN, SkillDiscovery, SkillReader, TraceRecorder, WebSkillError, WebSkillRuntime, bridgeError, buildCatalog, buildRenderResult, checkSkillRules, createScriptContext, escapeXml, fromVercelResult, fromVercelStreamPart, isValidSkillName, jsonRenderer, mergeCatalogEntries, normalizePath, normalizeToolContent, parseBridgeRequest, parseSkillMarkdown, renderAvailableSkillsXml, renderCatalogJson, resolveInsideRoot, resolveToolName, schemaToForm, toLlmToolSpec, toVercelToolSpecs, validateSkills, xmlRenderer };
3
+ export { ASK_USER_INPUT_SCHEMA, ASK_USER_TOOL, ASK_USER_TOOL_NAME, AgentLoop, EventBus, FsArtifactStore, FsMemoryStore, FullDisclosureRouter, HookRunner, InMemoryStore, MemoryArtifactStore, MemoryFS, MockLlmClient, MockUiBridge, OpenAiCompatibleClient, ProgressiveRouter, READ_SKILL_FILE_INPUT_SCHEMA, READ_SKILL_FILE_TOOL, READ_SKILL_FILE_TOOL_NAME, SKILLS_LOCKFILE, SKILL_MANIFEST_FILE, SKILL_NAME_MAX_LENGTH, SKILL_NAME_PATTERN, SkillDiscovery, SkillReader, TraceRecorder, WebSkillError, WebSkillRuntime, bridgeError, buildCatalog, buildManifest, buildRenderResult, checkSkillRules, computeDigest, createScriptContext, escapeXml, fromVercelResult, fromVercelStreamPart, isValidSkillName, jsonRenderer, mergeCatalogEntries, normalizePath, normalizeToolContent, parseBridgeRequest, parseSkillMarkdown, renderAvailableSkillsXml, renderCatalogJson, resolveInsideRoot, resolveToolName, schemaToForm, toLlmToolSpec, toVercelToolSpecs, validateSkills, verifyManifest, xmlRenderer };
package/dist/mcp.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { Bt as SkillDocument, F as LlmToolSpec, Nt as JsonSchema, Rt as SkillCatalogEntry, St as mergeCatalogEntries, ct as ToolResult, m as ExternalToolSource, p as ExternalSkillProvider } from "./index-88KNOnbr.js";
1
+ import { Ct as mergeCatalogEntries, F as LlmToolSpec, Pt as JsonSchema, Ut as SkillDocument, Vt as SkillCatalogEntry, lt as ToolResult, m as ExternalToolSource, p as ExternalSkillProvider } from "./index-DnI0BTEp.js";
2
2
  import { Transport } from "@modelcontextprotocol/sdk/shared/transport.js";
3
3
  import { JSONRPCMessage } from "@modelcontextprotocol/sdk/types.js";
4
4
  import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
package/dist/mcp.js CHANGED
@@ -1,4 +1,4 @@
1
- import { D as normalizeToolContent, E as mergeCatalogEntries, R as WebSkillError } from "./dist-B_ldNWwT.js";
1
+ import { B as WebSkillError, D as normalizeToolContent, E as mergeCatalogEntries } from "./dist-hMMxARXK.js";
2
2
  import { fromJSONSchema } from "zod";
3
3
 
4
4
  //#region ../mcp/dist/index.js
package/dist/node.d.ts CHANGED
@@ -1,3 +1,3 @@
1
- import { yt as createScriptContext } from "./index-88KNOnbr.js";
2
- import { _ as loadLlmConfigFromEnv, a as LlmEnvConfig, c as SKILLS_LOCKFILE, d as SandboxedScriptExecutor, f as SkillManager, g as VerifyResult, h as SkillsLockfile, i as LlmCapabilities, l as SKILL_MANIFEST_FILE, m as SkillSource, n as FileArtifactStore, o as NodeFS, p as SkillManifest, r as FileMemoryStore, s as NodeScriptExecutor, t as CliUiBridge, u as SandboxOptions, v as probeLlmCapabilities, y as readArchiveManifest } from "./index-Bq-bTWh3.js";
3
- export { CliUiBridge, FileArtifactStore, FileMemoryStore, type LlmCapabilities, type LlmEnvConfig, NodeFS, NodeScriptExecutor, SKILLS_LOCKFILE, SKILL_MANIFEST_FILE, type SandboxOptions, SandboxedScriptExecutor, SkillManager, type SkillManifest, type SkillSource, type SkillsLockfile, type VerifyResult, createScriptContext, loadLlmConfigFromEnv, probeLlmCapabilities, readArchiveManifest };
1
+ import { $t as VerifyResult, It as SKILLS_LOCKFILE, Lt as SKILL_MANIFEST_FILE, Wt as SkillInstallSource, Zt as SkillsLockfile, bt as createScriptContext, qt as SkillManifest } from "./index-DnI0BTEp.js";
2
+ import { a as LlmEnvConfig, c as OxcSchemaInferer, d as SkillManager, f as loadLlmConfigFromEnv, i as LlmCapabilities, l as SandboxOptions, m as readArchiveManifest, n as FileArtifactStore, o as NodeFS, p as probeLlmCapabilities, r as FileMemoryStore, s as NodeScriptExecutor, t as CliUiBridge, u as SandboxedScriptExecutor } from "./index-D65Jk0ju.js";
3
+ export { CliUiBridge, FileArtifactStore, FileMemoryStore, type LlmCapabilities, type LlmEnvConfig, NodeFS, NodeScriptExecutor, OxcSchemaInferer, SKILLS_LOCKFILE, SKILL_MANIFEST_FILE, type SandboxOptions, SandboxedScriptExecutor, SkillManager, type SkillManifest, type SkillInstallSource as SkillSource, type SkillsLockfile, type VerifyResult, createScriptContext, loadLlmConfigFromEnv, probeLlmCapabilities, readArchiveManifest };
package/dist/node.js CHANGED
@@ -1,4 +1,4 @@
1
- import { C as createScriptContext } from "./dist-B_ldNWwT.js";
2
- import { a as NodeScriptExecutor, c as SandboxedScriptExecutor, d as probeLlmCapabilities, f as readArchiveManifest, i as NodeFS, l as SkillManager, n as FileArtifactStore, o as SKILLS_LOCKFILE, r as FileMemoryStore, s as SKILL_MANIFEST_FILE, t as CliUiBridge, u as loadLlmConfigFromEnv } from "./dist-9fczg9Pa.js";
1
+ import { C as createScriptContext, F as SKILL_MANIFEST_FILE, P as SKILLS_LOCKFILE } from "./dist-hMMxARXK.js";
2
+ import { a as NodeScriptExecutor, c as SkillManager, d as readArchiveManifest, i as NodeFS, l as loadLlmConfigFromEnv, n as FileArtifactStore, o as OxcSchemaInferer, r as FileMemoryStore, s as SandboxedScriptExecutor, t as CliUiBridge, u as probeLlmCapabilities } from "./dist-C1p26Ap9.js";
3
3
 
4
- export { CliUiBridge, FileArtifactStore, FileMemoryStore, NodeFS, NodeScriptExecutor, SKILLS_LOCKFILE, SKILL_MANIFEST_FILE, SandboxedScriptExecutor, SkillManager, createScriptContext, loadLlmConfigFromEnv, probeLlmCapabilities, readArchiveManifest };
4
+ export { CliUiBridge, FileArtifactStore, FileMemoryStore, NodeFS, NodeScriptExecutor, OxcSchemaInferer, SKILLS_LOCKFILE, SKILL_MANIFEST_FILE, SandboxedScriptExecutor, SkillManager, createScriptContext, loadLlmConfigFromEnv, probeLlmCapabilities, readArchiveManifest };
@@ -1,4 +1,4 @@
1
- import { C as InteractionRequest, X as RenderResultRequest, pt as UiBridge, w as InteractionResponse } from "./index-88KNOnbr.js";
1
+ import { C as InteractionRequest, X as RenderResultRequest, mt as UiBridge, w as InteractionResponse } from "./index-DnI0BTEp.js";
2
2
  //#region ../ui-react/dist/index.d.ts
3
3
  //#region src/bridgeState.d.ts
4
4
  /**
package/dist/ui-vue.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { C as InteractionRequest, X as RenderResultRequest, pt as UiBridge, w as InteractionResponse } from "./index-88KNOnbr.js";
1
+ import { C as InteractionRequest, X as RenderResultRequest, mt as UiBridge, w as InteractionResponse } from "./index-DnI0BTEp.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.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { C as InteractionRequest, X as RenderResultRequest, Y as RenderBlock, pt as UiBridge, vt as buildRenderResult, w as InteractionResponse } from "./index-88KNOnbr.js";
1
+ import { C as InteractionRequest, X as RenderResultRequest, Y as RenderBlock, mt as UiBridge, w as InteractionResponse, yt as buildRenderResult } from "./index-DnI0BTEp.js";
2
2
  //#region ../ui/dist/index.d.ts
3
3
  //#region src/model/formModel.d.ts
4
4
  interface FormModel {
package/dist/ui.js CHANGED
@@ -1,4 +1,4 @@
1
- import { S as buildRenderResult } from "./dist-B_ldNWwT.js";
1
+ import { S as buildRenderResult } from "./dist-hMMxARXK.js";
2
2
  import { C as toOpenUiLang, S as toA2uiMessages, _ as interactionToFormModel, a as LitRendererBridge, b as renderRenderResult, c as VERCEL_INTERACTION_TOOL_NAME, d as WebFormBridge, f as collectValues, g as fromVercelToolResult, h as fromOpenUiAction, i as A2UI_VERSION, l as VercelUiBridge, m as fromA2uiAction, n as A2UI_CANCEL_ACTION, o as OPENUI_CANCEL_ACTION, p as ensureStyles, r as A2UI_SUBMIT_ACTION, s as OPENUI_SUBMIT_ACTION, t as A2UI_BASIC_CATALOG_ID, u as WEBSKILL_STYLES_CSS, v as renderBlocks, w as toVercelToolInvocation, x as shapeInteractionValue, y as renderMiniMarkdown } from "./dist-RcqvzAGF.js";
3
3
 
4
4
  export { A2UI_BASIC_CATALOG_ID, A2UI_CANCEL_ACTION, A2UI_SUBMIT_ACTION, A2UI_VERSION, LitRendererBridge, OPENUI_CANCEL_ACTION, OPENUI_SUBMIT_ACTION, VERCEL_INTERACTION_TOOL_NAME, VercelUiBridge, WEBSKILL_STYLES_CSS, WebFormBridge, buildRenderResult, collectValues, ensureStyles, fromA2uiAction, fromOpenUiAction, fromVercelToolResult, interactionToFormModel, renderBlocks, renderMiniMarkdown, renderRenderResult, shapeInteractionValue, toA2uiMessages, toOpenUiLang, toVercelToolInvocation };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@webskill/sdk",
3
- "version": "0.0.1",
3
+ "version": "0.0.3",
4
4
  "description": "WebSkill — browser/Node agent skill runtime (skills, tools, MCP, governance, UI)",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -42,7 +42,9 @@
42
42
  },
43
43
  "./package.json": "./package.json"
44
44
  },
45
- "files": ["dist"],
45
+ "files": [
46
+ "dist"
47
+ ],
46
48
  "publishConfig": {
47
49
  "access": "public"
48
50
  },
@@ -54,6 +56,7 @@
54
56
  "dependencies": {
55
57
  "@modelcontextprotocol/sdk": "^1.29.0",
56
58
  "fflate": "0.8.3",
59
+ "oxc-parser": "0.141.0",
57
60
  "tar": "7.5.21",
58
61
  "yaml": "^2.9.0",
59
62
  "zod": "^4.4.3"