@skillfm/local 2.7.9 → 2.7.11

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 (172) hide show
  1. package/dist/_vendored-contracts/beacon-assets-v1.d.ts +160 -0
  2. package/dist/_vendored-contracts/beacon-assets-v1.d.ts.map +1 -0
  3. package/dist/_vendored-contracts/beacon-assets-v1.js +29 -0
  4. package/dist/_vendored-contracts/beacon-assets-v1.js.map +1 -0
  5. package/dist/_vendored-contracts/beacon-mcp-tools-v1.d.ts +373 -0
  6. package/dist/_vendored-contracts/beacon-mcp-tools-v1.d.ts.map +1 -0
  7. package/dist/_vendored-contracts/beacon-mcp-tools-v1.js +131 -0
  8. package/dist/_vendored-contracts/beacon-mcp-tools-v1.js.map +1 -0
  9. package/dist/_vendored-contracts/beacon-preferences-v1.d.ts +68 -0
  10. package/dist/_vendored-contracts/beacon-preferences-v1.d.ts.map +1 -0
  11. package/dist/_vendored-contracts/beacon-preferences-v1.js +26 -0
  12. package/dist/_vendored-contracts/beacon-preferences-v1.js.map +1 -0
  13. package/dist/_vendored-contracts/beacon-rule-protocol-v1.d.ts +208 -0
  14. package/dist/_vendored-contracts/beacon-rule-protocol-v1.d.ts.map +1 -0
  15. package/dist/_vendored-contracts/beacon-rule-protocol-v1.js +25 -0
  16. package/dist/_vendored-contracts/beacon-rule-protocol-v1.js.map +1 -0
  17. package/dist/_vendored-contracts/beacon-usage-v1.d.ts +88 -0
  18. package/dist/_vendored-contracts/beacon-usage-v1.d.ts.map +1 -0
  19. package/dist/_vendored-contracts/beacon-usage-v1.js +27 -0
  20. package/dist/_vendored-contracts/beacon-usage-v1.js.map +1 -0
  21. package/dist/_vendored-contracts/index.d.ts +29 -0
  22. package/dist/_vendored-contracts/index.d.ts.map +1 -1
  23. package/dist/_vendored-contracts/index.js.map +1 -1
  24. package/dist/_vendored-contracts/safe-skill-observation-v1.d.ts +149 -0
  25. package/dist/_vendored-contracts/safe-skill-observation-v1.d.ts.map +1 -0
  26. package/dist/_vendored-contracts/safe-skill-observation-v1.js +23 -0
  27. package/dist/_vendored-contracts/safe-skill-observation-v1.js.map +1 -0
  28. package/dist/_vendored-contracts/skill-distribution.d.ts +16 -0
  29. package/dist/_vendored-contracts/skill-distribution.d.ts.map +1 -1
  30. package/dist/_vendored-contracts/skill-distribution.js.map +1 -1
  31. package/dist/agent-forcing/claude-code-skill-v2.d.ts +4 -1
  32. package/dist/agent-forcing/claude-code-skill-v2.d.ts.map +1 -1
  33. package/dist/agent-forcing/claude-code-skill-v2.js +5 -6
  34. package/dist/agent-forcing/claude-code-skill-v2.js.map +1 -1
  35. package/dist/agent-forcing/forcing-rules.d.ts +0 -9
  36. package/dist/agent-forcing/forcing-rules.d.ts.map +1 -1
  37. package/dist/agent-forcing/forcing-rules.js +61 -9
  38. package/dist/agent-forcing/forcing-rules.js.map +1 -1
  39. package/dist/agent-forcing/injectors.d.ts.map +1 -1
  40. package/dist/agent-forcing/injectors.js +11 -0
  41. package/dist/agent-forcing/injectors.js.map +1 -1
  42. package/dist/agent-forcing/slash-commands.d.ts +49 -0
  43. package/dist/agent-forcing/slash-commands.d.ts.map +1 -0
  44. package/dist/agent-forcing/slash-commands.js +166 -0
  45. package/dist/agent-forcing/slash-commands.js.map +1 -0
  46. package/dist/beacon/apprentice-capabilities.d.ts +10 -0
  47. package/dist/beacon/apprentice-capabilities.d.ts.map +1 -0
  48. package/dist/beacon/apprentice-capabilities.js +34 -0
  49. package/dist/beacon/apprentice-capabilities.js.map +1 -0
  50. package/dist/checkup/dimension-1-usage.d.ts +8 -1
  51. package/dist/checkup/dimension-1-usage.d.ts.map +1 -1
  52. package/dist/checkup/dimension-1-usage.js +3 -2
  53. package/dist/checkup/dimension-1-usage.js.map +1 -1
  54. package/dist/checkup/dimension-2-context.d.ts +12 -0
  55. package/dist/checkup/dimension-2-context.d.ts.map +1 -0
  56. package/dist/checkup/dimension-2-context.js +56 -0
  57. package/dist/checkup/dimension-2-context.js.map +1 -0
  58. package/dist/checkup/dimension-5-behavior.d.ts +12 -0
  59. package/dist/checkup/dimension-5-behavior.d.ts.map +1 -0
  60. package/dist/checkup/dimension-5-behavior.js +40 -0
  61. package/dist/checkup/dimension-5-behavior.js.map +1 -0
  62. package/dist/checkup/dimension-6-injection.d.ts +41 -0
  63. package/dist/checkup/dimension-6-injection.d.ts.map +1 -0
  64. package/dist/checkup/dimension-6-injection.js +74 -0
  65. package/dist/checkup/dimension-6-injection.js.map +1 -0
  66. package/dist/checkup/index.d.ts +3 -0
  67. package/dist/checkup/index.d.ts.map +1 -1
  68. package/dist/checkup/index.js +3 -0
  69. package/dist/checkup/index.js.map +1 -1
  70. package/dist/checkup/last-report.d.ts +32 -0
  71. package/dist/checkup/last-report.d.ts.map +1 -0
  72. package/dist/checkup/last-report.js +91 -0
  73. package/dist/checkup/last-report.js.map +1 -0
  74. package/dist/checkup/report.d.ts +13 -1
  75. package/dist/checkup/report.d.ts.map +1 -1
  76. package/dist/checkup/report.js +5 -3
  77. package/dist/checkup/report.js.map +1 -1
  78. package/dist/forcing-cli.d.ts +1 -1
  79. package/dist/forcing-cli.d.ts.map +1 -1
  80. package/dist/forcing-cli.js +1 -52
  81. package/dist/forcing-cli.js.map +1 -1
  82. package/dist/guard/bin.js +0 -0
  83. package/dist/guard/prompt-context.d.ts +2 -2
  84. package/dist/guard/prompt-context.d.ts.map +1 -1
  85. package/dist/guard/prompt-context.js +16 -21
  86. package/dist/guard/prompt-context.js.map +1 -1
  87. package/dist/index.js +15 -8
  88. package/dist/index.js.map +1 -1
  89. package/dist/mcp/brain-client.d.ts.map +1 -1
  90. package/dist/mcp/brain-client.js +3 -0
  91. package/dist/mcp/brain-client.js.map +1 -1
  92. package/dist/mcp/index.d.ts +1 -0
  93. package/dist/mcp/index.d.ts.map +1 -1
  94. package/dist/mcp/index.js +5 -0
  95. package/dist/mcp/index.js.map +1 -1
  96. package/dist/mcp/tools/checkup.d.ts +17 -2
  97. package/dist/mcp/tools/checkup.d.ts.map +1 -1
  98. package/dist/mcp/tools/checkup.js +41 -3
  99. package/dist/mcp/tools/checkup.js.map +1 -1
  100. package/dist/mcp/tools/index.d.ts.map +1 -1
  101. package/dist/mcp/tools/index.js +42 -4
  102. package/dist/mcp/tools/index.js.map +1 -1
  103. package/dist/mcp/tools/install-module.d.ts +25 -0
  104. package/dist/mcp/tools/install-module.d.ts.map +1 -0
  105. package/dist/mcp/tools/install-module.js +87 -0
  106. package/dist/mcp/tools/install-module.js.map +1 -0
  107. package/dist/mcp/tools/send-daily-report.d.ts +29 -0
  108. package/dist/mcp/tools/send-daily-report.d.ts.map +1 -0
  109. package/dist/mcp/tools/send-daily-report.js +61 -0
  110. package/dist/mcp/tools/send-daily-report.js.map +1 -0
  111. package/dist/mcp/tools/setup-gateway.d.ts +2 -1
  112. package/dist/mcp/tools/setup-gateway.d.ts.map +1 -1
  113. package/dist/mcp/tools/setup-gateway.js +24 -6
  114. package/dist/mcp/tools/setup-gateway.js.map +1 -1
  115. package/dist/mcp/tools/setup-safe.d.ts +2 -0
  116. package/dist/mcp/tools/setup-safe.d.ts.map +1 -0
  117. package/dist/mcp/tools/setup-safe.js +2 -0
  118. package/dist/mcp/tools/setup-safe.js.map +1 -0
  119. package/dist/mcp-stdio/bin.js +0 -0
  120. package/dist/mcp-stdio/server.d.ts.map +1 -1
  121. package/dist/mcp-stdio/server.js +89 -1
  122. package/dist/mcp-stdio/server.js.map +1 -1
  123. package/dist/safe/index.d.ts +5 -0
  124. package/dist/safe/index.d.ts.map +1 -0
  125. package/dist/safe/index.js +9 -0
  126. package/dist/safe/index.js.map +1 -0
  127. package/dist/safe-cli.d.ts +8 -0
  128. package/dist/safe-cli.d.ts.map +1 -0
  129. package/dist/safe-cli.js +61 -0
  130. package/dist/safe-cli.js.map +1 -0
  131. package/dist/safe-observation/collector.d.ts +21 -0
  132. package/dist/safe-observation/collector.d.ts.map +1 -0
  133. package/dist/safe-observation/collector.js +101 -0
  134. package/dist/safe-observation/collector.js.map +1 -0
  135. package/dist/safe-observation/store.d.ts +34 -0
  136. package/dist/safe-observation/store.d.ts.map +1 -0
  137. package/dist/safe-observation/store.js +80 -0
  138. package/dist/safe-observation/store.js.map +1 -0
  139. package/dist/save-token/gateway-setup.d.ts +33 -3
  140. package/dist/save-token/gateway-setup.d.ts.map +1 -1
  141. package/dist/save-token/gateway-setup.js +165 -18
  142. package/dist/save-token/gateway-setup.js.map +1 -1
  143. package/dist/scheduler/brain-push-client.d.ts.map +1 -1
  144. package/dist/scheduler/brain-push-client.js +53 -3
  145. package/dist/scheduler/brain-push-client.js.map +1 -1
  146. package/dist/scheduler/types.d.ts +5 -0
  147. package/dist/scheduler/types.d.ts.map +1 -1
  148. package/dist/scheduler/types.js +3 -1
  149. package/dist/scheduler/types.js.map +1 -1
  150. package/dist/setup-safe.d.ts +20 -0
  151. package/dist/setup-safe.d.ts.map +1 -0
  152. package/dist/setup-safe.js +93 -0
  153. package/dist/setup-safe.js.map +1 -0
  154. package/dist/skill-installer/index.d.ts +9 -0
  155. package/dist/skill-installer/index.d.ts.map +1 -1
  156. package/dist/skill-installer/index.js +20 -1
  157. package/dist/skill-installer/index.js.map +1 -1
  158. package/dist/skill-runner/discovery.d.ts.map +1 -1
  159. package/dist/skill-runner/discovery.js +8 -5
  160. package/dist/skill-runner/discovery.js.map +1 -1
  161. package/dist/skill-tunnel/cli.d.ts.map +1 -1
  162. package/dist/skill-tunnel/cli.js +22 -0
  163. package/dist/skill-tunnel/cli.js.map +1 -1
  164. package/dist/skill-tunnel/client.d.ts +5 -0
  165. package/dist/skill-tunnel/client.d.ts.map +1 -1
  166. package/dist/skill-tunnel/client.js +2 -0
  167. package/dist/skill-tunnel/client.js.map +1 -1
  168. package/dist/skill-tunnel/local-bridge.d.ts +9 -0
  169. package/dist/skill-tunnel/local-bridge.d.ts.map +1 -1
  170. package/dist/skill-tunnel/local-bridge.js +24 -1
  171. package/dist/skill-tunnel/local-bridge.js.map +1 -1
  172. package/package.json +3 -3
@@ -0,0 +1,160 @@
1
+ import type { Money } from './beacon-mcp-tools-v1.js';
2
+ export type { Money };
3
+ export declare const BEACON_ASSETS_REGISTRY_PATH: "/v1/beacon/assets/registry";
4
+ /** PATCH single asset — 实现端按此模板拼接 :asset_id */
5
+ export declare const BEACON_ASSETS_REGISTRY_ITEM_PATH: "/v1/beacon/assets/registry/:asset_id";
6
+ /** 跨工作空间的契约版本标记 */
7
+ export declare const BEACON_ASSETS_PROTOCOL_VERSION: "v1";
8
+ /**
9
+ * 资产类型。
10
+ * 与 beacon-mcp-tools-v1.ts AssetCategory 几乎一致,本契约多一个 'vps'(因为
11
+ * Web Dashboard 用户会录入 VPS 续费,但 MCP tool 暂不直接 query VPS)。
12
+ */
13
+ export type AssetType = 'domain' | 'ssl' | 'vps' | 'card' | 'api_balance' | 'subscription';
14
+ /** 严重度阶梯,与 beacon-mcp-tools-v1.ts AssetSeverity 对齐 */
15
+ export type AssetSeverity = 'low' | 'medium' | 'high' | 'critical' | 'emergency';
16
+ /**
17
+ * 监控状态机:
18
+ * active ↔ paused (用户主动暂停 / 恢复)
19
+ * active → expired (Brain cron 自动迁移,过期日已过)
20
+ * expired → active (用户在 PATCH 中 reset 续费日期 → 自动复活为 active)
21
+ */
22
+ export type AssetMonitorStatus = 'active' | 'paused' | 'expired';
23
+ /**
24
+ * 资产清单 row。POST 创建时 asset_id 由 Brain 生成;PATCH 更新时必传 asset_id。
25
+ */
26
+ export interface AssetEntry {
27
+ /** UUID 或语义化 id;client / Web 都按此 key 缓存与去重 */
28
+ asset_id: string;
29
+ asset_type: AssetType;
30
+ /** 用户可读名字,e.g. 'skillfm.com' / 'aws-vps-tokyo' */
31
+ asset_name: string;
32
+ /** 服务商,e.g. 'godaddy' / 'aws' / 'visa-7799' */
33
+ provider?: string;
34
+ /** ISO 8601 UTC,过期 / 续费 / 余额耗尽时点 */
35
+ expires_at: string;
36
+ /** 续费预估成本(可选) */
37
+ estimated_renewal_cost?: Money;
38
+ /** 监控状态,见 §2 状态机 */
39
+ monitor_status: AssetMonitorStatus;
40
+ /** Brain 计算字段:距今天数(可负,负值表示已过期 N 天) */
41
+ days_remaining?: number;
42
+ /** Brain 计算字段:严重度;client 用此渲染颜色 */
43
+ severity?: AssetSeverity;
44
+ /** 续费 / 充值 / 更新跳转链接 */
45
+ action_url?: string;
46
+ /**
47
+ * 任意去敏机读字段。⚠️ 与 beacon-usage-v1.ts 同样的 BYOK 红线 — 禁止 cookie / api_key /
48
+ * payment_card_no 等敏感原文(只允许 e.g. 'last4': '7799' / 'auto_renew': true)。
49
+ */
50
+ metadata?: Record<string, unknown>;
51
+ /** ISO 8601 UTC */
52
+ created_at?: string;
53
+ updated_at?: string;
54
+ }
55
+ /** 请求 query params */
56
+ export interface BeaconAssetsListRequestQuery {
57
+ /** 默认 30 天内;Free 用户 handler 强制 ≤ 7 */
58
+ withinDays?: number;
59
+ /** 'all' = 全部分类;省略亦视作 'all' */
60
+ category?: AssetType | 'all';
61
+ /** 默认 active;internal 工具可置 'all' 看含 paused / expired */
62
+ monitor_status?: AssetMonitorStatus | 'all';
63
+ /** 仅返回 severity ≥ 此值;handler 比 enum order */
64
+ min_severity?: AssetSeverity;
65
+ }
66
+ /** 请求 headers */
67
+ export interface BeaconAssetsRequestHeaders {
68
+ /** v0.2 一致:长效 agent_token(client) 或 Web Dashboard session token */
69
+ 'X-Agent-Token': string;
70
+ 'X-Skillfm-Local-Version'?: string;
71
+ 'Content-Type'?: 'application/json';
72
+ Accept?: 'application/json';
73
+ }
74
+ /** 200 OK 响应 */
75
+ export interface BeaconAssetsListResponse {
76
+ /**
77
+ * Free 用户 handler 端只返回 critical+ 且 ≤ 7 天的子集,且部分字段(metadata /
78
+ * estimated_renewal_cost)被 mask;Pro 用户返回全集。client 不应自行二次过滤。
79
+ */
80
+ items: AssetEntry[];
81
+ /** 服务端时间戳,client 可用作 etag */
82
+ generated_at: string;
83
+ /** Free 用户专属:升级 hint(中英) */
84
+ pro_upgrade_hint?: {
85
+ en: string;
86
+ zh: string;
87
+ };
88
+ }
89
+ /** 创建资产请求 body — asset_id 由 Brain 生成,故请求中**不**带 */
90
+ export interface BeaconAssetsCreateRequest {
91
+ asset_type: AssetType;
92
+ asset_name: string;
93
+ expires_at: string;
94
+ provider?: string;
95
+ estimated_renewal_cost?: Money;
96
+ /** 默认 'active' */
97
+ monitor_status?: AssetMonitorStatus;
98
+ action_url?: string;
99
+ metadata?: Record<string, unknown>;
100
+ }
101
+ /** 201 Created 响应 — Brain 回填 asset_id + severity + days_remaining */
102
+ export interface BeaconAssetsCreateResponse {
103
+ asset: AssetEntry;
104
+ }
105
+ /**
106
+ * PATCH 请求 body — 全部字段都是可选,只更新提供的字段。
107
+ * 典型用法:
108
+ * - { expires_at: '2027-04-30T00:00:00Z' } 用户续了一年
109
+ * - { monitor_status: 'paused' } 临时暂停某资产监控
110
+ * - { monitor_status: 'active', expires_at: ... } 从 expired 复活
111
+ */
112
+ export interface BeaconAssetsPatchRequest {
113
+ asset_name?: string;
114
+ provider?: string;
115
+ expires_at?: string;
116
+ estimated_renewal_cost?: Money;
117
+ monitor_status?: AssetMonitorStatus;
118
+ action_url?: string;
119
+ metadata?: Record<string, unknown>;
120
+ }
121
+ /** 200 OK 响应 — 返回更新后的 full row */
122
+ export interface BeaconAssetsPatchResponse {
123
+ asset: AssetEntry;
124
+ }
125
+ export declare const BEACON_ASSETS_ERROR_CODES: {
126
+ readonly AUTH_MISSING_TOKEN: "BEACON.ASSETS.AUTH.MISSING_TOKEN";
127
+ readonly AUTH_BAD_TOKEN: "BEACON.ASSETS.AUTH.BAD_TOKEN";
128
+ readonly BAD_REQUEST: "BEACON.ASSETS.BAD_REQUEST";
129
+ readonly NOT_FOUND: "BEACON.ASSETS.NOT_FOUND";
130
+ /** Free 用户视图但请求超 7 天范围 → handler 端可选静默截断或返回此错误 */
131
+ readonly FREE_TIER_LIMIT: "BEACON.ASSETS.FREE_TIER_LIMIT";
132
+ /** 状态机非法迁移(极少见,client 通常被允许 active↔paused) */
133
+ readonly ILLEGAL_TRANSITION: "BEACON.ASSETS.ILLEGAL_TRANSITION";
134
+ /** metadata 含 BYOK 黑名单字段(对齐 beacon-usage-v1.ts) */
135
+ readonly BYOK_VIOLATION: "BEACON.ASSETS.BYOK_VIOLATION";
136
+ readonly RATE_LIMITED: "BEACON.ASSETS.RATE_LIMITED";
137
+ readonly INTERNAL: "BEACON.ASSETS.INTERNAL";
138
+ };
139
+ export type BeaconAssetsErrorCode = (typeof BEACON_ASSETS_ERROR_CODES)[keyof typeof BEACON_ASSETS_ERROR_CODES];
140
+ export interface BeaconAssetsErrorResponse {
141
+ ok: false;
142
+ error: {
143
+ code: BeaconAssetsErrorCode;
144
+ message: string;
145
+ details?: Record<string, unknown>;
146
+ };
147
+ }
148
+ export type BeaconAssetsListEnvelope = {
149
+ ok: true;
150
+ data: BeaconAssetsListResponse;
151
+ } | BeaconAssetsErrorResponse;
152
+ export type BeaconAssetsCreateEnvelope = {
153
+ ok: true;
154
+ data: BeaconAssetsCreateResponse;
155
+ } | BeaconAssetsErrorResponse;
156
+ export type BeaconAssetsPatchEnvelope = {
157
+ ok: true;
158
+ data: BeaconAssetsPatchResponse;
159
+ } | BeaconAssetsErrorResponse;
160
+ //# sourceMappingURL=beacon-assets-v1.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"beacon-assets-v1.d.ts","sourceRoot":"","sources":["../../src/_vendored-contracts/beacon-assets-v1.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ // ⚠️ AUTO-GENERATED — do not edit. Source: shared/contracts/envelope-v2/beacon-assets-v1.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
+ // §1 路径常量
6
+ // ============================================================================
7
+ export const BEACON_ASSETS_REGISTRY_PATH = '/v1/beacon/assets/registry';
8
+ /** PATCH single asset — 实现端按此模板拼接 :asset_id */
9
+ export const BEACON_ASSETS_REGISTRY_ITEM_PATH = '/v1/beacon/assets/registry/:asset_id';
10
+ /** 跨工作空间的契约版本标记 */
11
+ export const BEACON_ASSETS_PROTOCOL_VERSION = 'v1';
12
+ // ============================================================================
13
+ // §7 错误码(统一前缀 BEACON.ASSETS.*)
14
+ // ============================================================================
15
+ export const BEACON_ASSETS_ERROR_CODES = {
16
+ AUTH_MISSING_TOKEN: 'BEACON.ASSETS.AUTH.MISSING_TOKEN',
17
+ AUTH_BAD_TOKEN: 'BEACON.ASSETS.AUTH.BAD_TOKEN',
18
+ BAD_REQUEST: 'BEACON.ASSETS.BAD_REQUEST',
19
+ NOT_FOUND: 'BEACON.ASSETS.NOT_FOUND',
20
+ /** Free 用户视图但请求超 7 天范围 → handler 端可选静默截断或返回此错误 */
21
+ FREE_TIER_LIMIT: 'BEACON.ASSETS.FREE_TIER_LIMIT',
22
+ /** 状态机非法迁移(极少见,client 通常被允许 active↔paused) */
23
+ ILLEGAL_TRANSITION: 'BEACON.ASSETS.ILLEGAL_TRANSITION',
24
+ /** metadata 含 BYOK 黑名单字段(对齐 beacon-usage-v1.ts) */
25
+ BYOK_VIOLATION: 'BEACON.ASSETS.BYOK_VIOLATION',
26
+ RATE_LIMITED: 'BEACON.ASSETS.RATE_LIMITED',
27
+ INTERNAL: 'BEACON.ASSETS.INTERNAL',
28
+ };
29
+ //# sourceMappingURL=beacon-assets-v1.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"beacon-assets-v1.js","sourceRoot":"","sources":["../../src/_vendored-contracts/beacon-assets-v1.ts"],"names":[],"mappings":"AAAA,6FAA6F;AAC7F,4EAA4E;AAC5E,qEAAqE;AA8BrE,+EAA+E;AAC/E,UAAU;AACV,+EAA+E;AAE/E,MAAM,CAAC,MAAM,2BAA2B,GAAG,4BAAqC,CAAC;AACjF,+CAA+C;AAC/C,MAAM,CAAC,MAAM,gCAAgC,GAAG,sCAA+C,CAAC;AAEhG,mBAAmB;AACnB,MAAM,CAAC,MAAM,8BAA8B,GAAG,IAAa,CAAC;AAyJ5D,+EAA+E;AAC/E,+BAA+B;AAC/B,+EAA+E;AAE/E,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACvC,kBAAkB,EAAE,kCAAkC;IACtD,cAAc,EAAE,8BAA8B;IAC9C,WAAW,EAAE,2BAA2B;IACxC,SAAS,EAAE,yBAAyB;IACpC,kDAAkD;IAClD,eAAe,EAAE,+BAA+B;IAChD,8CAA8C;IAC9C,kBAAkB,EAAE,kCAAkC;IACtD,mDAAmD;IACnD,cAAc,EAAE,8BAA8B;IAC9C,YAAY,EAAE,4BAA4B;IAC1C,QAAQ,EAAE,wBAAwB;CAC1B,CAAC"}
@@ -0,0 +1,373 @@
1
+ /** 全部 beacon MCP tool 名(命名约定: skillfm_<verb>_<noun>) */
2
+ export declare const SKILLFM_TOOL_NAMES: {
3
+ readonly query: readonly ["skillfm_check_usage", "skillfm_check_balance", "skillfm_check_expiry", "skillfm_list_assets", "skillfm_get_savings_summary"];
4
+ readonly routing: readonly ["skillfm_suggest_route", "skillfm_explain_routing"];
5
+ readonly anomaly: readonly ["skillfm_check_session_health", "skillfm_check_burn_rate"];
6
+ readonly optimize: readonly ["skillfm_suggest_caching", "skillfm_suggest_batching", "skillfm_suggest_clear_context"];
7
+ readonly expiry: readonly ["skillfm_check_domain_expiry", "skillfm_check_ssl_expiry", "skillfm_check_card_expiry", "skillfm_check_balance_runway"];
8
+ readonly discover: readonly ["skillfm_suggest_skill", "skillfm_search_skill_market"];
9
+ readonly avatar: readonly ["skillfm_avatar_market", "skillfm_explain_avatar"];
10
+ readonly upgrade: readonly ["skillfm_promote_pro", "skillfm_show_savings_potential"];
11
+ readonly storage: readonly ["skillfm_save_credential", "skillfm_get_credential", "skillfm_list_credentials", "skillfm_remove_credential", "skillfm_explain_provider_key", "skillfm_memory_sync", "skillfm_memory_recall"];
12
+ readonly push: readonly ["skillfm_get_monthly_picks", "skillfm_install_recommended_skill"];
13
+ readonly feedback: readonly ["skillfm_record_acceptance", "skillfm_record_rejection", "skillfm_user_preferences"];
14
+ };
15
+ /** 把分组扁平化的所有 tool 名,Phase 0 用于 sanity check */
16
+ export declare const ALL_SKILLFM_TOOL_NAMES: readonly string[];
17
+ /** 所有 tool 共享的 currency enum */
18
+ export type Currency = 'USD' | 'CNY';
19
+ /** 货币金额,所有 tool 用这个统一表达 */
20
+ export interface Money {
21
+ amount: number;
22
+ currency: Currency;
23
+ }
24
+ /** 用户市场,影响 tool 文案语言 + 货币默认值 */
25
+ export type Market = 'us' | 'cn' | 'global';
26
+ /** 用户订阅 tier(只读,client 用来本地决策树降噪) */
27
+ export type SubscriptionTier = 'free' | 'pro_monthly' | 'pro_annual' | 'team' | 'trial';
28
+ /** Pro-locked 字段,Free 用户调 Pro tool 时返回 */
29
+ export interface ProLockedFeature {
30
+ locked: boolean;
31
+ /** 给 agent 用的人话理由,中英分语 */
32
+ description?: string;
33
+ /** 升级页深链 */
34
+ upgradeUrl?: string;
35
+ }
36
+ /** 所有 tool 都可返回的标准 error shape */
37
+ export interface SkillFmToolError {
38
+ /** 错误码,domain 化:'SKILLFM.NETWORK.UNREACHABLE' / 'SKILLFM.AUTH.NOT_BOUND' / ... */
39
+ code: string;
40
+ /** dev-facing 一句话 */
41
+ message: string;
42
+ /** agent 可以转给用户的人话提示 */
43
+ userHint?: {
44
+ en: string;
45
+ zh: string;
46
+ };
47
+ /** 是否可重试 */
48
+ retryable: boolean;
49
+ }
50
+ /** Tool 调用的标准 envelope(MCP server handler 包装层) */
51
+ export type SkillFmToolResult<TData> = {
52
+ ok: true;
53
+ data: TData;
54
+ degraded?: boolean;
55
+ } | {
56
+ ok: false;
57
+ error: SkillFmToolError;
58
+ };
59
+ export declare const SkillFmPlatform: {
60
+ readonly ALL: "all";
61
+ readonly ANTHROPIC: "anthropic";
62
+ readonly OPENAI: "openai";
63
+ readonly DEEPSEEK: "deepseek";
64
+ readonly QWEN: "qwen";
65
+ readonly DOUBAO: "doubao";
66
+ readonly KIMI: "kimi";
67
+ readonly CURSOR: "cursor";
68
+ readonly CLAUDE_CODE: "claude_code";
69
+ readonly OPENCLAW: "openclaw";
70
+ readonly CLINE: "cline";
71
+ };
72
+ export type SkillFmPlatformKey = (typeof SkillFmPlatform)[keyof typeof SkillFmPlatform];
73
+ export interface SkillFmCheckUsageInput {
74
+ platform?: SkillFmPlatformKey;
75
+ period?: '24h' | '7d' | '30d';
76
+ }
77
+ export interface SkillFmCheckUsageOutput {
78
+ totalSpent: Money;
79
+ byPlatform: Record<string, {
80
+ amount: number;
81
+ tokens: number;
82
+ calls: number;
83
+ }>;
84
+ savingsThisPeriod: {
85
+ amount: number;
86
+ /** 哪些机制贡献的省 — 'model_routing' / 'prompt_cache' / 'context_compression' / ... */
87
+ mechanisms: string[];
88
+ };
89
+ trend: {
90
+ direction: 'up' | 'down' | 'flat';
91
+ percentChange: number;
92
+ };
93
+ /** 0-N 条警告,严重度递增 */
94
+ warnings: Array<{
95
+ severity: 'low' | 'medium' | 'high';
96
+ message: string;
97
+ }>;
98
+ /** Free/Pro 边界:Pro 才会返回 byPlatform 详细 breakdown */
99
+ isProLocked?: ProLockedFeature;
100
+ }
101
+ export type TaskType = 'code_completion' | 'reasoning' | 'long_context' | 'image_gen' | 'video_gen' | 'voice' | 'embedding' | 'other';
102
+ export interface SkillFmSuggestRouteInput {
103
+ /** 用户原始 prompt 或任务描述(agent 转发) */
104
+ task: string;
105
+ taskType?: TaskType;
106
+ qualityRequirement?: 'low' | 'medium' | 'high';
107
+ /** tokens */
108
+ contextSize?: number;
109
+ /** agent 当前在用的模型,e.g. 'claude-opus-4.6' */
110
+ currentModel?: string;
111
+ }
112
+ export interface RecommendedModel {
113
+ model: string;
114
+ provider: string;
115
+ /** 单次任务估算费用 */
116
+ estCost: number;
117
+ estLatencyMs: number;
118
+ qualityVsCurrent: 'better' | 'same' | 'slight_drop' | 'significant_drop';
119
+ }
120
+ export interface AlternativeModel {
121
+ model: string;
122
+ provider: string;
123
+ estCost: number;
124
+ pros: string[];
125
+ cons: string[];
126
+ }
127
+ export interface SkillFmSuggestRouteOutput {
128
+ recommended: RecommendedModel;
129
+ alternatives: AlternativeModel[];
130
+ estSavings: {
131
+ perCall: number;
132
+ monthlyIfAlwaysSwitched: number;
133
+ };
134
+ /** 给 agent 解释给用户的人话理由(中英分语,agent 按用户 locale 选) */
135
+ reasoning: {
136
+ en: string;
137
+ zh: string;
138
+ };
139
+ /** 决策树判断:是否值得打扰用户(频率限流 / 重复性已经过滤) */
140
+ shouldSuggestToUser: boolean;
141
+ /** Free 用户在 Pro-only 路由建议下的提示 */
142
+ isProLocked?: ProLockedFeature;
143
+ }
144
+ export type AssetSeverity = 'low' | 'medium' | 'high' | 'critical' | 'emergency';
145
+ export type AssetCategory = 'domain' | 'ssl' | 'card' | 'vps' | 'api_balance' | 'subscription';
146
+ export interface SkillFmCheckExpiryInput {
147
+ /** 默认 30 天内 */
148
+ withinDays?: number;
149
+ /** 'all' = 全部分类 */
150
+ category?: AssetCategory | 'all';
151
+ }
152
+ export interface ExpiryItem {
153
+ type: AssetCategory;
154
+ name: string;
155
+ /** ISO 8601 */
156
+ expiresAt: string;
157
+ daysRemaining: number;
158
+ severity: AssetSeverity;
159
+ /** 续费 / 充值 / 更新链接 */
160
+ actionUrl?: string;
161
+ estCost?: Money;
162
+ /** Free 用户:仅返回 critical+,且 proLockedDetails=true 隐藏部分字段 */
163
+ proLockedDetails?: boolean;
164
+ }
165
+ export interface SkillFmCheckExpiryOutput {
166
+ items: ExpiryItem[];
167
+ /** Free 用户看到的 Pro 升级 hint */
168
+ proUpgradeHint?: {
169
+ en: string;
170
+ zh: string;
171
+ };
172
+ }
173
+ export interface AvatarMatch {
174
+ avatarId: string;
175
+ name: {
176
+ en: string;
177
+ zh: string;
178
+ };
179
+ description: {
180
+ en: string;
181
+ zh: string;
182
+ };
183
+ pricingModel: 'subscription' | 'revenue_share';
184
+ pricing: Money;
185
+ /** 真实成功案例 — "黄月英 用它 ¥15 卖出第一笔" */
186
+ realCase?: {
187
+ en?: string;
188
+ zh?: string;
189
+ };
190
+ /** 用户要装这个 Avatar 需要哪些前置 — ["Cookie / 平台账号", "支付方式"] */
191
+ requiredSetup: string[];
192
+ /** 平均到首笔收入的时间 — "3-7 天" */
193
+ estTimeToFirstRevenue: string;
194
+ }
195
+ export interface SkillFmAvatarMarketInput {
196
+ /** agent 检测到的用户意图(自然语言) */
197
+ userIntent: string;
198
+ /** 当前对话片段 */
199
+ context?: string;
200
+ }
201
+ export interface SkillFmAvatarMarketOutput {
202
+ matches: AvatarMatch[];
203
+ /** 为什么推这些 avatar,给 agent 解释给用户 */
204
+ reasoningWhy: {
205
+ en: string;
206
+ zh: string;
207
+ };
208
+ }
209
+ export interface MonthlyPick {
210
+ skillId: string;
211
+ name: {
212
+ en: string;
213
+ zh: string;
214
+ };
215
+ category: string;
216
+ description: {
217
+ en: string;
218
+ zh: string;
219
+ };
220
+ /** 个性化理由,基于用户使用画像 */
221
+ whyRecommended: {
222
+ en: string;
223
+ zh: string;
224
+ };
225
+ /** 各 agent 的安装命令 */
226
+ installCommands: {
227
+ claude_code?: string;
228
+ cursor?: string;
229
+ openclaw?: string;
230
+ };
231
+ isProLocked: boolean;
232
+ }
233
+ export interface SkillFmGetMonthlyPicksInput {
234
+ /** true = 个性化(基于用户使用画像);false = 通用 */
235
+ forUserContext?: boolean;
236
+ }
237
+ export interface SkillFmGetMonthlyPicksOutput {
238
+ /** "2026-05" */
239
+ monthLabel: string;
240
+ /** 5 月主题 */
241
+ curationTheme: {
242
+ en: string;
243
+ zh: string;
244
+ };
245
+ picks: MonthlyPick[];
246
+ }
247
+ export interface SkillFmRecordAcceptanceInput {
248
+ /** Brain 决策返回的 rule_id */
249
+ ruleId: string;
250
+ /** 同次决策的 trigger context hash,用于反向追溯 */
251
+ triggerContextHash?: string;
252
+ /** session 内本次建议唯一 id(beacon-mcp 生成) */
253
+ suggestionId?: string;
254
+ /** 实际带来的 value(可选,用户场景容易得到则填) */
255
+ realizedValue?: Money;
256
+ }
257
+ export interface SkillFmRecordRejectionInput extends SkillFmRecordAcceptanceInput {
258
+ /** 用户主动选的拒绝原因(可空) */
259
+ reason?: 'not_relevant' | 'too_pushy' | 'wrong_timing' | 'other';
260
+ }
261
+ export interface SkillFmRecordFeedbackOutput {
262
+ recorded: true;
263
+ /** 用户对该类目近 7 天接受率,client 用来调本地频率限流 */
264
+ acceptanceRateForCategory?: number;
265
+ }
266
+ export type SuggestionCategory = 'A' | 'B' | 'C' | 'D' | 'E' | 'F' | 'G' | 'H';
267
+ export interface UserPreferences {
268
+ disabledCategories: SuggestionCategory[];
269
+ /** 每会话最多建议次数;默认 3 */
270
+ maxPerSession: number;
271
+ /** 每天最多建议次数;默认 10 */
272
+ maxPerDay: number;
273
+ /** 安静时段(不主动弹建议) */
274
+ quietHours: {
275
+ enabled: boolean;
276
+ /** "22:00" */
277
+ start: string;
278
+ /** "08:00" */
279
+ end: string;
280
+ /** IANA tz */
281
+ timezone: string;
282
+ };
283
+ }
284
+ export type SkillFmUserPreferencesInput = {
285
+ action: 'get';
286
+ } | {
287
+ action: 'set';
288
+ preferences: Partial<UserPreferences>;
289
+ };
290
+ export type SkillFmUserPreferencesOutput = UserPreferences;
291
+ /**
292
+ * Phase 0 占位标记 — Week 5 实施时为以下 tools 写完整 input/output:
293
+ *
294
+ * Query: skillfm_check_balance / skillfm_list_assets / skillfm_get_savings_summary
295
+ * Routing: skillfm_explain_routing
296
+ * Anomaly: skillfm_check_session_health / skillfm_check_burn_rate
297
+ * Optimize: skillfm_suggest_caching / skillfm_suggest_batching / skillfm_suggest_clear_context
298
+ * Expiry: skillfm_check_domain_expiry / skillfm_check_ssl_expiry / skillfm_check_card_expiry / skillfm_check_balance_runway
299
+ * Discover: skillfm_suggest_skill / skillfm_search_skill_market
300
+ * Avatar: skillfm_explain_avatar
301
+ * Upgrade: skillfm_promote_pro / skillfm_show_savings_potential
302
+ * Storage: skillfm_save_credential / skillfm_get_credential / skillfm_memory_sync / skillfm_memory_recall
303
+ * Push: skillfm_install_recommended_skill
304
+ *
305
+ * 共 25 个,Week 5 实施 subagent 必须每一个都写完整 schema(不允许 any / unknown)。
306
+ */
307
+ export type SkillFmPlaceholderInput = Record<string, unknown>;
308
+ export type SkillFmPlaceholderOutput = Record<string, unknown>;
309
+ /**
310
+ * tool 名 → 处理器签名映射。
311
+ * Week 5 MCP server 注册 handlers 时,每个 tool 的 handler 必须 conform 这里。
312
+ *
313
+ * 注: 本文件 Phase 0 仅展示 5 个关键 tool 的具体类型,其余用 placeholder。
314
+ * Week 5 完成后这个 map 必须 100% 具体类型,不允许 placeholder 残留。
315
+ */
316
+ export interface SkillFmToolDispatch {
317
+ skillfm_check_usage: {
318
+ input: SkillFmCheckUsageInput;
319
+ output: SkillFmCheckUsageOutput;
320
+ };
321
+ skillfm_suggest_route: {
322
+ input: SkillFmSuggestRouteInput;
323
+ output: SkillFmSuggestRouteOutput;
324
+ };
325
+ skillfm_check_expiry: {
326
+ input: SkillFmCheckExpiryInput;
327
+ output: SkillFmCheckExpiryOutput;
328
+ };
329
+ skillfm_avatar_market: {
330
+ input: SkillFmAvatarMarketInput;
331
+ output: SkillFmAvatarMarketOutput;
332
+ };
333
+ skillfm_get_monthly_picks: {
334
+ input: SkillFmGetMonthlyPicksInput;
335
+ output: SkillFmGetMonthlyPicksOutput;
336
+ };
337
+ skillfm_record_acceptance: {
338
+ input: SkillFmRecordAcceptanceInput;
339
+ output: SkillFmRecordFeedbackOutput;
340
+ };
341
+ skillfm_record_rejection: {
342
+ input: SkillFmRecordRejectionInput;
343
+ output: SkillFmRecordFeedbackOutput;
344
+ };
345
+ skillfm_user_preferences: {
346
+ input: SkillFmUserPreferencesInput;
347
+ output: SkillFmUserPreferencesOutput;
348
+ };
349
+ }
350
+ /**
351
+ * trigger_type 命名约定: '<category><index>_<short_label>'
352
+ * 完整 40 类清单见 PRD-SKILLFM-BEACON-V1.md Appendix B
353
+ *
354
+ * 例:
355
+ * A1_code_completion
356
+ * B1_session_burn_anomaly
357
+ * D3_domain_7d_warning
358
+ * F1_user_mentioned_side_income
359
+ * G1_monthly_savings_threshold_50
360
+ */
361
+ export type TriggerType = string;
362
+ /** 提取分类 letter,client 决策树用来查 user_prefs.disabledCategories */
363
+ export declare function getCategoryFromTriggerType(triggerType: TriggerType): SuggestionCategory | null;
364
+ /**
365
+ * 本契约 v1 → v2 演进规则:
366
+ * - 字段只允许加,不能删
367
+ * - enum 只允许加新值,不能改/删现值
368
+ * - tool 名字本身永不改(改 = 出新 tool 名 + 老 tool 标 deprecated)
369
+ *
370
+ * 任何破坏性变更必须出 beacon-mcp-tools-v2.ts 新文件,v1 保留至少 6 个月。
371
+ */
372
+ export declare const BEACON_MCP_TOOLS_CONTRACT_VERSION: "v1";
373
+ //# sourceMappingURL=beacon-mcp-tools-v1.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"beacon-mcp-tools-v1.d.ts","sourceRoot":"","sources":["../../src/_vendored-contracts/beacon-mcp-tools-v1.ts"],"names":[],"mappings":"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"}