@skillfm/local 2.6.0 → 2.6.1

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 (62) hide show
  1. package/dist/_vendored-contracts/index.d.ts +256 -0
  2. package/dist/_vendored-contracts/index.d.ts.map +1 -0
  3. package/dist/_vendored-contracts/index.js +47 -0
  4. package/dist/_vendored-contracts/index.js.map +1 -0
  5. package/dist/_vendored-contracts/skill-distribution.d.ts +207 -0
  6. package/dist/_vendored-contracts/skill-distribution.d.ts.map +1 -0
  7. package/dist/_vendored-contracts/skill-distribution.js +159 -0
  8. package/dist/_vendored-contracts/skill-distribution.js.map +1 -0
  9. package/dist/_vendored-contracts/skill-tunnel.d.ts +172 -0
  10. package/dist/_vendored-contracts/skill-tunnel.d.ts.map +1 -0
  11. package/dist/_vendored-contracts/skill-tunnel.js +58 -0
  12. package/dist/_vendored-contracts/skill-tunnel.js.map +1 -0
  13. package/dist/guard/bin.js +0 -0
  14. package/dist/index.js +0 -0
  15. package/dist/mcp-stdio/bin.js +0 -0
  16. package/dist/mcp-stdio/render-pending-llm-tasks.d.ts +66 -0
  17. package/dist/mcp-stdio/render-pending-llm-tasks.d.ts.map +1 -0
  18. package/dist/mcp-stdio/render-pending-llm-tasks.js +98 -0
  19. package/dist/mcp-stdio/render-pending-llm-tasks.js.map +1 -0
  20. package/dist/mcp-stdio/server.d.ts.map +1 -1
  21. package/dist/mcp-stdio/server.js +11 -22
  22. package/dist/mcp-stdio/server.js.map +1 -1
  23. package/dist/skill-installer/bundle-fetcher.d.ts +2 -2
  24. package/dist/skill-installer/bundle-fetcher.d.ts.map +1 -1
  25. package/dist/skill-installer/bundle-fetcher.js +29 -4
  26. package/dist/skill-installer/bundle-fetcher.js.map +1 -1
  27. package/dist/skill-installer/errors.d.ts +2 -2
  28. package/dist/skill-installer/errors.d.ts.map +1 -1
  29. package/dist/skill-installer/errors.js +1 -1
  30. package/dist/skill-installer/errors.js.map +1 -1
  31. package/dist/skill-installer/index.d.ts +1 -1
  32. package/dist/skill-installer/index.d.ts.map +1 -1
  33. package/dist/skill-installer/index.js +1 -1
  34. package/dist/skill-installer/index.js.map +1 -1
  35. package/dist/skill-installer/npm-installer.js +1 -1
  36. package/dist/skill-installer/npm-installer.js.map +1 -1
  37. package/dist/skill-installer/paths.d.ts +1 -1
  38. package/dist/skill-installer/paths.d.ts.map +1 -1
  39. package/dist/skill-installer/tar-extractor.d.ts +1 -1
  40. package/dist/skill-installer/tar-extractor.d.ts.map +1 -1
  41. package/dist/skill-installer/tar-extractor.js +1 -1
  42. package/dist/skill-installer/tar-extractor.js.map +1 -1
  43. package/dist/skill-runner/discovery.d.ts.map +1 -1
  44. package/dist/skill-runner/discovery.js +16 -16
  45. package/dist/skill-runner/discovery.js.map +1 -1
  46. package/dist/skill-tunnel/client.d.ts +2 -2
  47. package/dist/skill-tunnel/client.d.ts.map +1 -1
  48. package/dist/skill-tunnel/client.js +1 -1
  49. package/dist/skill-tunnel/client.js.map +1 -1
  50. package/dist/skill-tunnel/handshake.d.ts +1 -1
  51. package/dist/skill-tunnel/handshake.d.ts.map +1 -1
  52. package/dist/skill-tunnel/heartbeat.d.ts +1 -1
  53. package/dist/skill-tunnel/heartbeat.d.ts.map +1 -1
  54. package/dist/skill-tunnel/heartbeat.js +1 -1
  55. package/dist/skill-tunnel/heartbeat.js.map +1 -1
  56. package/dist/skill-tunnel/local-bridge.d.ts +1 -1
  57. package/dist/skill-tunnel/local-bridge.d.ts.map +1 -1
  58. package/dist/skill-tunnel/local-bridge.js +1 -1
  59. package/dist/skill-tunnel/local-bridge.js.map +1 -1
  60. package/dist/skill-tunnel/reconnect.js +1 -1
  61. package/dist/skill-tunnel/reconnect.js.map +1 -1
  62. package/package.json +7 -5
@@ -0,0 +1,256 @@
1
+ export interface LocalizedText {
2
+ zh: string;
3
+ en: string;
4
+ }
5
+ /** PRD §4.5: 6 阶段用户画像 */
6
+ export type Stage = 'unknown' | 'onboarding' | 'activated' | 'producing' | 'earning' | 'champion';
7
+ export type MoodSignal = 'engaged' | 'exploring' | 'stalled' | 'churning' | 'celebrating';
8
+ /** envelope.user —— 客户端必依赖字段,platform 可扩展但不可删 */
9
+ export interface UserContractMinimal {
10
+ userId: string | null;
11
+ stage: Stage;
12
+ mood_signal: MoodSignal;
13
+ subscription: {
14
+ plan: 'adulting_gift' | 'master' | null;
15
+ status: 'active' | 'trialing' | 'canceled' | 'past_due' | 'none';
16
+ trialEndsAt: string | null;
17
+ } | null;
18
+ limits: {
19
+ adultingGiftTrialEndsAt: string | null;
20
+ solutionTrials: Record<string, number>;
21
+ };
22
+ journey: {
23
+ days_since_signup: number;
24
+ total_runs: number;
25
+ last_active_at: string | null;
26
+ last_brain_run_at: string | null;
27
+ earned_total_cny: number;
28
+ earned_this_month_cny: number;
29
+ };
30
+ }
31
+ /** PRD Book 4 §3 "六铁律": dialogue_flow 客户端必须原样呈现,不改写 */
32
+ export interface DialogueFlowContract {
33
+ flow_id: string;
34
+ current_turn: number;
35
+ total_turns: number;
36
+ this_turn: {
37
+ semantic_goal: string;
38
+ talk_points: string[];
39
+ end_with: 'question' | 'pause' | 'call_to_action';
40
+ };
41
+ next_turn_hints: {
42
+ if_user_engages: string;
43
+ if_user_hesitates: string;
44
+ if_user_declines: string;
45
+ };
46
+ gentle_exit: {
47
+ semantic_goal: string;
48
+ talk_points: string[];
49
+ };
50
+ success_criterion: string;
51
+ }
52
+ /** envelope.error —— 业务 (soft) 错误里的核心字段 */
53
+ export interface EnhancedErrorContract {
54
+ code: string;
55
+ severity: 'info' | 'warn' | 'block';
56
+ user_message: LocalizedText;
57
+ agent_directive: LocalizedText;
58
+ dialogue_flow: DialogueFlowContract | null;
59
+ }
60
+ /**
61
+ * §3.6 LlmTask kind + ImageGenParams — 2026-04-24 扩展
62
+ * 与 sdk/skill-sdk/src/types/contract.ts 和 platform/api/src/brain/types.ts 对齐
63
+ */
64
+ export type LlmTaskKindContract = 'text' | 'image_generation';
65
+ export interface ImageGenParamsContract {
66
+ prompt: string;
67
+ style_refs?: string[];
68
+ subject_ref?: string;
69
+ aspect_ratio?: '1:1' | '4:3' | '3:4' | '16:9' | '9:16';
70
+ n?: number;
71
+ image_model_hint?: string | null;
72
+ }
73
+ /** pending_llm_tasks item — agent 要执行的 LLM 任务 */
74
+ export interface LlmTaskContract {
75
+ task_id: string;
76
+ /** §3.6 缺省 'text' 向后兼容 */
77
+ kind?: LlmTaskKindContract;
78
+ prompt: string;
79
+ system?: string;
80
+ schema?: Record<string, unknown>;
81
+ max_tokens?: number;
82
+ temperature?: number;
83
+ /** §3.6 仅 kind='image_generation' 时使用 */
84
+ image_params?: ImageGenParamsContract;
85
+ visibility: 'protected' | 'private' | 'public';
86
+ narration_pre_zh?: string;
87
+ narration_post_zh?: string;
88
+ expected_seconds?: number;
89
+ }
90
+ /** pipeline 进度叙事(用户看的是 label,agent 看的是 round 数) */
91
+ export interface PipelineProgressContract {
92
+ current_round: number;
93
+ total_estimate: number;
94
+ hard_cap: number;
95
+ step_narration: {
96
+ current_step_label_zh: string;
97
+ current_step_label_en: string;
98
+ current_step_icon: string;
99
+ completed_steps: unknown[];
100
+ eta_seconds: number | null;
101
+ };
102
+ }
103
+ /** envelope.meta 契约子集 */
104
+ export interface MetaContract {
105
+ requestId: string;
106
+ ts: string;
107
+ version: 'v2';
108
+ pending_llm_tasks?: LlmTaskContract[];
109
+ continuation_token?: string;
110
+ pipeline_progress?: PipelineProgressContract;
111
+ }
112
+ /** envelope-at-top (PRD §4.6 业务错误 + 普通成功返回) */
113
+ export interface EnvelopeContract<T = unknown> {
114
+ ok: boolean;
115
+ data: T | null;
116
+ error: EnhancedErrorContract | null;
117
+ user: UserContractMinimal;
118
+ continuity: {
119
+ last_topic: string | null;
120
+ unfinished_task: unknown | null;
121
+ pending_suggestion: unknown | null;
122
+ };
123
+ next_actions: unknown[];
124
+ dialogue_flow: DialogueFlowContract | null;
125
+ conversation_hints: unknown[];
126
+ meta: MetaContract;
127
+ }
128
+ /**
129
+ * 5 维度算法指标 (0-1) — scoring.ts 输出.
130
+ * 维度语义见 solutions/content-factory/business/scoring.ts.
131
+ */
132
+ export interface AlgoMetrics {
133
+ burstiness: number;
134
+ lexical_diversity: number;
135
+ readability: number;
136
+ keyword_density: number;
137
+ structural: number;
138
+ }
139
+ /** 反 AI 品牌徽章 — 给 SDK 渲染成"人味拉满/自然度 Plus/过关/再练一版" */
140
+ export interface AntiAiBadge {
141
+ level: 'S' | 'A' | 'B' | 'C';
142
+ /** 用户面文案, 不含工程术语. e.g. "人味拉满 🏆" */
143
+ label_zh: string;
144
+ /** 0-1, 最低维度距阈值的距离; 越高徽章越稳 */
145
+ confidence: number;
146
+ }
147
+ /**
148
+ * 具体到位置的 evidence. PRD §2.6 文案规范要求:
149
+ * - 正面 positive + 改进 improvement 双栏
150
+ * - 直呼"你", 不教师腔 (禁止"应该/必须/建议"成句)
151
+ * - locator 指向具体段落 + snippet (≤ 24 字)
152
+ */
153
+ export interface QualityEvidence {
154
+ kind: 'positive' | 'improvement';
155
+ /** reason_code token. e.g. HUMAN_BURSTINESS_HIGH / IMPROVE_ANTI_PATTERN */
156
+ code: string;
157
+ /** 用户面文案, ≤ 32 字 */
158
+ zh: string;
159
+ locator?: {
160
+ paragraph_index: number;
161
+ char_span?: [number, number];
162
+ /** 原文片段 ≤ 24 字 */
163
+ snippet?: string;
164
+ };
165
+ }
166
+ /**
167
+ * envelope.final.quality 新 shape.
168
+ * - 向后兼容: 旧字段 (passed / dimensions / suggestions) 保留
169
+ * - 新字段: overall_score / dim_scores (强类型) / anti_ai_badge / human_like_score /
170
+ * evidence[] / reason_codes[]
171
+ */
172
+ export interface SkillRunQuality {
173
+ /** 旧字段保留 */
174
+ passed: boolean;
175
+ suggestions: string[];
176
+ /** 旧字段: dim_scores 的 legacy mirror (Record<string, number>) — 兼容老客户端 */
177
+ dimensions?: Record<string, number>;
178
+ /** v1.1 新增 — 0-10 总分, 两位小数 */
179
+ overall_score: number;
180
+ /**
181
+ * v1.1 新增 — 强类型 5 维 (0-1 范围, 与 AlgoMetrics 一致).
182
+ * 注: SDK 的 renderQualityCard 内部把 0-1 映射到 10 分制进度条用于显示.
183
+ * overall_score 是另算的 0-10 加权综合分, 不要把这两组混淆.
184
+ */
185
+ dim_scores: AlgoMetrics;
186
+ /** v1.1 新增 — 品牌等级 */
187
+ anti_ai_badge: AntiAiBadge;
188
+ /** v1.1 新增 — 专属人味指数 0-10, ≠ overall_score */
189
+ human_like_score: number;
190
+ /** v1.1 新增 — 分 positive/improvement 双栏, 带 locator */
191
+ evidence: QualityEvidence[];
192
+ /** v1.1 新增 — 机读 token, 前端 tooltip 或统计 */
193
+ reason_codes: string[];
194
+ }
195
+ /**
196
+ * F1 - Brain run 成功 final 态 (wrapped)
197
+ * HTTP: 200
198
+ * 形态: { task_id, is_trial, is_demo, output, envelope }
199
+ */
200
+ export interface BrainRunFinalResponse {
201
+ task_id: string;
202
+ is_trial: boolean;
203
+ is_demo: boolean;
204
+ output: Record<string, unknown>;
205
+ quality_score?: number | null;
206
+ /**
207
+ * v1.1: quality_report 可以是新 SkillRunQuality 或老 Record 兼容形态.
208
+ * 新版 SDK / skill 使用 SkillRunQuality; 老版 skill 仍可返回 loose Record.
209
+ */
210
+ quality_report?: SkillRunQuality | Record<string, unknown> | null;
211
+ envelope: EnvelopeContract<Record<string, unknown>>;
212
+ }
213
+ /**
214
+ * F2 - Brain run pipeline 中间态 (wrapped)
215
+ * HTTP: 200
216
+ * 形态: { task_id, is_trial, is_demo, envelope: { meta.pending_llm_tasks + continuation_token + pipeline_progress } }
217
+ */
218
+ export interface BrainRunPendingResponse {
219
+ task_id: string;
220
+ is_trial: boolean;
221
+ is_demo: boolean;
222
+ envelope: EnvelopeContract<Record<string, unknown>>;
223
+ }
224
+ /**
225
+ * F3 - Brain run trial_exhausted (envelope-at-top, PRD §4.6)
226
+ * HTTP: 200
227
+ * 形态: envelope 字段直接在 top level,没有外层包装
228
+ * error.code = 'BRAIN.QUOTA.TRIAL_EXHAUSTED'
229
+ */
230
+ export type BrainRunTrialExhaustedResponse = EnvelopeContract<null>;
231
+ /**
232
+ * F4 - Brain run pipeline_error (envelope-at-top, PRD §4.6) [问题 B 修后]
233
+ * HTTP: 200
234
+ * 形态: 同 F3
235
+ * error.code = 'BRAIN.PIPELINE.ERROR'
236
+ *
237
+ * 修前(2.1.7 及之前): HTTP 500 + { error, error_type, envelope: {...} } wrapped
238
+ * 修后: HTTP 200 + envelope-at-top (跟 trial_exhausted 一致)
239
+ */
240
+ export type BrainRunPipelineErrorResponse = EnvelopeContract<null>;
241
+ /** 联合类型:任意一种 brain.run 响应 */
242
+ export type BrainRunResponse = BrainRunFinalResponse | BrainRunPendingResponse | BrainRunTrialExhaustedResponse | BrainRunPipelineErrorResponse;
243
+ /** 是 top-level envelope 形态吗? (F3 / F4)
244
+ * 判据: ok/meta/user 三个关键字段都在 top level(即可直接 envelope.error 读取),
245
+ * legacy `envelope` 字段允许共存(向后兼容期 platform/api 双发 shape)。
246
+ */
247
+ export declare function isEnvelopeAtTopShape(r: unknown): r is EnvelopeContract;
248
+ /** 是 wrapped 形态吗? (F1 / F2) —— 有 task_id top-level + envelope.ok===true 就是正常 wrapped */
249
+ export declare function isWrappedResponseShape(r: unknown): r is BrainRunFinalResponse | BrainRunPendingResponse;
250
+ /** 是 pipeline 中间态吗? (F2) */
251
+ export declare function isPendingLlmTasksShape(r: unknown): r is BrainRunPendingResponse;
252
+ /** 是 trial_exhausted 错误吗? */
253
+ export declare function isTrialExhaustedShape(r: unknown): r is BrainRunTrialExhaustedResponse;
254
+ /** 是 pipeline_error 错误吗? (F4 — 问题 B 修后形态) */
255
+ export declare function isPipelineErrorShape(r: unknown): r is BrainRunPipelineErrorResponse;
256
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/_vendored-contracts/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,47 @@
1
+ // ⚠️ AUTO-GENERATED — do not edit. Source: shared/contracts/envelope-v2/index.ts
2
+ // Re-generate via `node sdk/skillfm-local/scripts/inline-contracts.ts`.
3
+ // Edit the source file in shared/contracts/envelope-v2/ instead.
4
+ // ============================================================================
5
+ // shape 判别(运行时)
6
+ // ============================================================================
7
+ /** 是 top-level envelope 形态吗? (F3 / F4)
8
+ * 判据: ok/meta/user 三个关键字段都在 top level(即可直接 envelope.error 读取),
9
+ * legacy `envelope` 字段允许共存(向后兼容期 platform/api 双发 shape)。
10
+ */
11
+ export function isEnvelopeAtTopShape(r) {
12
+ if (!r || typeof r !== 'object')
13
+ return false;
14
+ const o = r;
15
+ return (typeof o.ok === 'boolean' && 'meta' in o && 'user' in o);
16
+ }
17
+ /** 是 wrapped 形态吗? (F1 / F2) —— 有 task_id top-level + envelope.ok===true 就是正常 wrapped */
18
+ export function isWrappedResponseShape(r) {
19
+ if (!r || typeof r !== 'object')
20
+ return false;
21
+ const o = r;
22
+ if (!('task_id' in o) || !('envelope' in o))
23
+ return false;
24
+ const env = o.envelope;
25
+ // F1/F2 的 envelope.ok === true; 错误路径(F3/F4)虽然 body 也带 legacy envelope,但 top-level ok===false
26
+ return env?.ok === true && o.ok !== false;
27
+ }
28
+ /** 是 pipeline 中间态吗? (F2) */
29
+ export function isPendingLlmTasksShape(r) {
30
+ if (!isWrappedResponseShape(r))
31
+ return false;
32
+ const meta = r.envelope.meta;
33
+ return Array.isArray(meta?.pending_llm_tasks) && (meta.pending_llm_tasks.length > 0);
34
+ }
35
+ /** 是 trial_exhausted 错误吗? */
36
+ export function isTrialExhaustedShape(r) {
37
+ if (!isEnvelopeAtTopShape(r))
38
+ return false;
39
+ return r.ok === false && r.error?.code === 'BRAIN.QUOTA.TRIAL_EXHAUSTED';
40
+ }
41
+ /** 是 pipeline_error 错误吗? (F4 — 问题 B 修后形态) */
42
+ export function isPipelineErrorShape(r) {
43
+ if (!isEnvelopeAtTopShape(r))
44
+ return false;
45
+ return r.ok === false && r.error?.code === 'BRAIN.PIPELINE.ERROR';
46
+ }
47
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/_vendored-contracts/index.ts"],"names":[],"mappings":"AAAA,kFAAkF;AAClF,4EAA4E;AAC5E,qEAAqE;AA+UrE,+EAA+E;AAC/E,gBAAgB;AAChB,+EAA+E;AAE/E;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAAC,CAAU;IAC7C,IAAI,CAAC,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC9C,MAAM,CAAC,GAAG,CAA4B,CAAC;IACvC,OAAO,CACL,OAAO,CAAC,CAAC,EAAE,KAAK,SAAS,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,IAAI,CAAC,CACxD,CAAC;AACJ,CAAC;AAED,wFAAwF;AACxF,MAAM,UAAU,sBAAsB,CAAC,CAAU;IAC/C,IAAI,CAAC,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC9C,MAAM,CAAC,GAAG,CAA4B,CAAC;IACvC,IAAI,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IAC1D,MAAM,GAAG,GAAG,CAAC,CAAC,QAA+C,CAAC;IAC9D,6FAA6F;IAC7F,OAAO,GAAG,EAAE,EAAE,KAAK,IAAI,IAAI,CAAC,CAAC,EAAE,KAAK,KAAK,CAAC;AAC5C,CAAC;AAED,4BAA4B;AAC5B,MAAM,UAAU,sBAAsB,CAAC,CAAU;IAC/C,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IAC7C,MAAM,IAAI,GAAI,CAAC,CAAC,QAA6B,CAAC,IAAI,CAAC;IACnD,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AACvF,CAAC;AAED,6BAA6B;AAC7B,MAAM,UAAU,qBAAqB,CAAC,CAAU;IAC9C,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IAC3C,OAAO,CAAC,CAAC,EAAE,KAAK,KAAK,IAAI,CAAC,CAAC,KAAK,EAAE,IAAI,KAAK,6BAA6B,CAAC;AAC3E,CAAC;AAED,6CAA6C;AAC7C,MAAM,UAAU,oBAAoB,CAAC,CAAU;IAC7C,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IAC3C,OAAO,CAAC,CAAC,EAAE,KAAK,KAAK,IAAI,CAAC,CAAC,KAAK,EAAE,IAAI,KAAK,sBAAsB,CAAC;AACpE,CAAC"}
@@ -0,0 +1,207 @@
1
+ /** brain endpoint base path(namespace 预留 v0.3 第三方 skill)*/
2
+ export declare const SKILL_BUNDLE_PATH: "/v1/skills/:slug/bundle.tar.gz";
3
+ export declare const SKILL_BUNDLE_PATH_NAMESPACED: "/v1/skills/:owner/:slug/bundle.tar.gz";
4
+ /** v0.2.1 默认 owner,路径上省略 */
5
+ export declare const DEFAULT_BUNDLE_OWNER: "skillfm-official";
6
+ /** slug 校验正则(path param + tool input 共用)*/
7
+ export declare const SKILL_SLUG_REGEX: RegExp;
8
+ /** 赵云 bundle store 落盘路径(CI 写、brain 读)*/
9
+ export declare const ZHAOYUN_BUNDLE_STORE_DIR: "/opt/skill-bundles";
10
+ export declare const ZHAOYUN_BUNDLE_INDEX_FILENAME: "skills.index.json";
11
+ /** GET /v1/skills/:slug/bundle.tar.gz 的请求 header 契约 */
12
+ export interface BundleRequestHeaders {
13
+ /** v0.2 一致:长效 agent_token */
14
+ 'X-Agent-Token': string;
15
+ /** @skillfm/local 客户端版本(observability + min version 守门)*/
16
+ 'X-Skillfm-Local-Version'?: string;
17
+ /** 推荐 application/gzip;缺省也 OK */
18
+ Accept?: string;
19
+ }
20
+ /** 可选 query params */
21
+ export interface BundleRequestQuery {
22
+ /** pin 到特定版本;省略 = index 中 latest */
23
+ version?: string;
24
+ /** v0.3 预留:'tarball' (默认) | 'zip' */
25
+ format?: 'tarball';
26
+ }
27
+ /**
28
+ * 200 OK 时 brain 必须设置的 response header。
29
+ * client(@skillfm/local)按这些 header 校验下载 + 决定安装目录命名。
30
+ */
31
+ export interface BundleResponseHeaders {
32
+ 'Content-Type': 'application/gzip';
33
+ 'Content-Length': string;
34
+ /** 跟 path param :slug 完全一致;防止 routing bug */
35
+ 'X-Skill-Slug': string;
36
+ /** semver;client 按此命名 ~/.skillfm/skills/<slug>@<version>/ */
37
+ 'X-Skill-Version': string;
38
+ /** tarball 内容的 SHA-256 hex;client 落盘后必校验 */
39
+ 'X-Skill-Checksum-Sha256': string;
40
+ /** bundle 内 skill.manifest.yaml 声明的 contract 版本 (e.g. 'v0.2');用于 client 拒绝过新 manifest */
41
+ 'X-Skill-Manifest-Version': string;
42
+ /** 鉴权 → 不走 CDN edge cache */
43
+ 'Cache-Control': 'private, max-age=300';
44
+ /** 显式声明缓存 vary,防止公共代理混淆 */
45
+ Vary: 'X-Agent-Token';
46
+ }
47
+ /**
48
+ * brain endpoint + @skillfm/local 共用错误码。
49
+ * 跨工作空间稳定字符串,禁止悄悄改名。
50
+ */
51
+ export declare const SKILL_BUNDLE_ERROR_CODES: {
52
+ readonly BAD_SLUG: "SKILL.BUNDLE.BAD_SLUG";
53
+ readonly AUTH_MISSING_TOKEN: "SKILL.BUNDLE.AUTH.MISSING_TOKEN";
54
+ readonly AUTH_BAD_TOKEN: "SKILL.BUNDLE.AUTH.BAD_TOKEN";
55
+ readonly AUTH_TOKEN_REVOKED: "SKILL.BUNDLE.AUTH.TOKEN_REVOKED";
56
+ /** alias for AUTH_MISSING_TOKEN — used by middleware code */
57
+ readonly MISSING_TOKEN: "SKILL.BUNDLE.AUTH.MISSING_TOKEN";
58
+ /** alias for AUTH_BAD_TOKEN — used by middleware code */
59
+ readonly INVALID_TOKEN: "SKILL.BUNDLE.AUTH.BAD_TOKEN";
60
+ /** alias for AUTH_TOKEN_REVOKED — used by middleware code */
61
+ readonly TOKEN_REVOKED: "SKILL.BUNDLE.AUTH.TOKEN_REVOKED";
62
+ readonly ACCESS_DENIED: "SKILL.BUNDLE.ACCESS.DENIED";
63
+ readonly NOT_FOUND: "SKILL.BUNDLE.NOT_FOUND";
64
+ readonly VERSION_NOT_FOUND: "SKILL.BUNDLE.VERSION_NOT_FOUND";
65
+ readonly CHECKSUM_MISMATCH: "SKILL.BUNDLE.CHECKSUM_MISMATCH";
66
+ readonly NOT_READY: "SKILL.BUNDLE.NOT_READY";
67
+ readonly INTERNAL: "SKILL.BUNDLE.INTERNAL";
68
+ };
69
+ export type SkillBundleErrorCode = (typeof SKILL_BUNDLE_ERROR_CODES)[keyof typeof SKILL_BUNDLE_ERROR_CODES];
70
+ /** HTTP status mapping(brain handler 用查表,client 错误处理也用)*/
71
+ export declare const SKILL_BUNDLE_ERROR_HTTP_STATUS: Record<SkillBundleErrorCode, number>;
72
+ /** error response body shape(4xx/5xx 时回的 JSON)*/
73
+ export interface BundleErrorResponseBody {
74
+ ok: false;
75
+ error: {
76
+ code: SkillBundleErrorCode;
77
+ message: string;
78
+ /** 可选机读字段(如 slug / requested_version / hint 等)*/
79
+ details?: Record<string, unknown>;
80
+ };
81
+ }
82
+ /** 单个 bundle 版本的元数据 */
83
+ export interface BundleVersionEntry {
84
+ /** 同目录下的 tarball 文件名,e.g. 'xianyu-avatar-adult-1.0.0.tar.gz' */
85
+ tarball: string;
86
+ /** SHA-256 hex(小写)*/
87
+ checksum_sha256: string;
88
+ /** 字节数 */
89
+ size: number;
90
+ /** bundle 内 skill.manifest.yaml 的 contract 版本 */
91
+ manifest_version: string;
92
+ /** ISO 8601 UTC */
93
+ published_at: string;
94
+ /** 触发本次构建的 git commit short SHA */
95
+ git_commit: string;
96
+ }
97
+ export interface SkillIndexEntry {
98
+ /** 默认指向最新发布版(按 published_at 排序)*/
99
+ latest: string;
100
+ /** version → entry 映射;保留所有历史版本 */
101
+ versions: Record<string, BundleVersionEntry>;
102
+ }
103
+ /** /opt/skill-bundles/skills.index.json 顶层 shape */
104
+ export interface SkillsIndexFile {
105
+ /** 当前 schema version。本 DELTA 是 1,未来不兼容改动时 bump */
106
+ version: 1;
107
+ /** ISO 8601 UTC,brain 用作 etag / observability */
108
+ updated_at: string;
109
+ /** slug → 版本表 */
110
+ skills: Record<string, SkillIndexEntry>;
111
+ }
112
+ /** MCP tool name — 跨工作空间共用常量 */
113
+ export declare const SKILL_INSTALL_TOOL_NAME: "skill_install";
114
+ /** tool input schema (JSON Schema 描述见 mcp-stdio/server.ts,本类型用作 TS 校验) */
115
+ export interface SkillInstallInput {
116
+ /** slug (must match SKILL_SLUG_REGEX) */
117
+ slug: string;
118
+ /** 可选,pin 到特定版本 */
119
+ version?: string;
120
+ }
121
+ /** install 成功的 result */
122
+ export interface SkillInstallSuccess {
123
+ ok: true;
124
+ slug: string;
125
+ version: string;
126
+ install_dir: string;
127
+ /** 给 agent 看的下一步提示(中文)*/
128
+ hint_for_agent: string;
129
+ }
130
+ /** install 失败的 result */
131
+ export interface SkillInstallError {
132
+ ok: false;
133
+ /** SKILL_INSTALL_ERROR_CODES 之一 */
134
+ error: SkillInstallErrorCode;
135
+ message: string;
136
+ /** 可选的诊断信息(不含 secret)*/
137
+ details?: Record<string, unknown>;
138
+ /** 给 agent 看的中文 hint */
139
+ hint_for_agent?: string;
140
+ }
141
+ export type SkillInstallResult = SkillInstallSuccess | SkillInstallError;
142
+ /**
143
+ * client 侧 error codes — 比服务端错误码多几个本地步骤错误。
144
+ * 服务端错误(SKILL.BUNDLE.*)会被 client 重命名为更短的本地形式,
145
+ * 见 mapServerErrorToInstallError() 实现约束(每个 subagent 必须遵守)。
146
+ */
147
+ export declare const SKILL_INSTALL_ERROR_CODES: {
148
+ readonly NETWORK_UNREACHABLE: "NETWORK.UNREACHABLE";
149
+ readonly AGENT_NOT_BOUND: "AGENT.NOT_BOUND";
150
+ readonly SKILL_NOT_FOUND: "SKILL.NOT_FOUND";
151
+ readonly SKILL_ACCESS_DENIED: "SKILL.ACCESS.DENIED";
152
+ readonly SKILL_NOT_READY: "SKILL.NOT_READY";
153
+ readonly BUNDLE_CHECKSUM_MISMATCH: "BUNDLE.CHECKSUM_MISMATCH";
154
+ readonly BUNDLE_EXTRACT_FAILED: "BUNDLE.EXTRACT_FAILED";
155
+ readonly BUNDLE_NPM_CI_FAILED: "BUNDLE.NPM_CI_FAILED";
156
+ readonly BUNDLE_MISSING_SERVER_JS: "BUNDLE.MISSING_SERVER_JS";
157
+ readonly BUNDLE_DISK_FULL: "BUNDLE.DISK_FULL";
158
+ readonly BUNDLE_LOCK_BUSY: "BUNDLE.LOCK_BUSY";
159
+ readonly INPUT_BAD_SLUG: "INPUT.BAD_SLUG";
160
+ readonly INTERNAL: "INSTALL.INTERNAL";
161
+ };
162
+ export type SkillInstallErrorCode = (typeof SKILL_INSTALL_ERROR_CODES)[keyof typeof SKILL_INSTALL_ERROR_CODES];
163
+ /**
164
+ * 客户端安装目录约定。Subagent B 实现 + Subagent A 测试都要参照。
165
+ *
166
+ * ~/.skillfm/skills/
167
+ * ├── <slug>@<version>/ ← 真实安装目录
168
+ * │ ├── skill.manifest.yaml
169
+ * │ ├── package.json
170
+ * │ ├── package-lock.json
171
+ * │ ├── dist/runtime/server.js ← 必须存在
172
+ * │ ├── node_modules/ ← npm ci 后产生(不在 tarball 内)
173
+ * │ └── ...
174
+ * ├── <slug> ← 软链 (symlink) → <slug>@<version>
175
+ * ├── .locks/<slug>.lock ← 并发互斥
176
+ * └── .cache/<slug>-<version>-<rand>.tar.gz ← 临时下载文件(用完删)
177
+ */
178
+ export interface SkillInstallPaths {
179
+ /** ~/.skillfm/skills/<slug>@<version>/ */
180
+ installDir: string;
181
+ /** ~/.skillfm/skills/<slug>(软链 / Windows copy 目标)*/
182
+ versionlessLink: string;
183
+ /** ~/.skillfm/skills/.locks/<slug>.lock */
184
+ lockFile: string;
185
+ /** ~/.skillfm/skills/.cache/<slug>-<version>-<rand>.tar.gz */
186
+ tmpTarball: string;
187
+ }
188
+ /**
189
+ * tarball 解压后**必须存在**的入口文件。client 校验缺即 BUNDLE_MISSING_SERVER_JS。
190
+ *
191
+ * Phase 4 (2026-04-26 esbuild bundle 化, audit 簇 1 解):
192
+ * - 删 `package-lock.json` — esbuild bundle 已 inline workspace deps,
193
+ * user 节点 npm ci 只装 yaml/playwright 等真 npm 包, 不需要 per-skill lock
194
+ * - entry 改 `dist/bundle/server.js` — esbuild output, 0 @skillfm/* bare imports
195
+ *
196
+ * 历史 (P4 之前): ['skill.manifest.yaml', 'package.json', 'package-lock.json', 'dist/runtime/server.js']
197
+ * - lock 在 monorepo workspace 模式下根本生不出 (workspace * 不在 npm registry)
198
+ * - dist/runtime/server.js 含 bare @skillfm/* import → user 节点 npm ci 必爆 R-3
199
+ */
200
+ export declare const BUNDLE_REQUIRED_ENTRY_FILES: readonly ["skill.manifest.yaml", "package.json", "dist/bundle/server.js"];
201
+ /**
202
+ * tarball 故意排除的目录/glob。Subagent C tar 命令 --exclude 用此清单。
203
+ * 注:runtime 必须保留(里面的 server.js 是入口)。
204
+ */
205
+ export declare const BUNDLE_EXCLUDE_GLOBS: readonly ["node_modules", "*.test.*", "*.test.ts", "__tests__", "__mocks__", "src", ".storage", ".git*", ".env*", "*.local.*", ".DS_Store"];
206
+ export declare function mapServerErrorToInstallError(serverCode: SkillBundleErrorCode | string): SkillInstallErrorCode;
207
+ //# sourceMappingURL=skill-distribution.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skill-distribution.d.ts","sourceRoot":"","sources":["../../src/_vendored-contracts/skill-distribution.ts"],"names":[],"mappings":"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"}