@optima-chat/optima-agent 0.4.31 → 0.4.32
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/.claude/settings.local.json +79 -0
- package/.claude/skills/ads/SKILL.md +0 -0
- package/.claude/skills/bi/SKILL.md +0 -0
- package/.claude/skills/collection/SKILL.md +0 -0
- package/.claude/skills/comfy/SKILL.md +0 -0
- package/.claude/skills/ffmpeg/SKILL.md +0 -0
- package/.claude/skills/homepage/SKILL.md +0 -0
- package/.claude/skills/i18n/SKILL.md +0 -0
- package/.claude/skills/inventory/SKILL.md +0 -0
- package/.claude/skills/markdown-pdf/SKILL.md +0 -0
- package/.claude/skills/merchant/SKILL.md +71 -68
- package/.claude/skills/order/SKILL.md +11 -19
- package/.claude/skills/product/SKILL.md +34 -3
- package/.claude/skills/product-page/SKILL.md +0 -0
- package/.claude/skills/review/SKILL.md +0 -0
- package/.claude/skills/scout/SKILL.md +116 -1
- package/.claude/skills/shipping/SKILL.md +193 -0
- package/README.md +0 -0
- package/dist/bin/bi-cli.d.ts +0 -0
- package/dist/bin/bi-cli.d.ts.map +0 -0
- package/dist/bin/bi-cli.js.map +0 -0
- package/dist/bin/comfy.d.ts +0 -0
- package/dist/bin/comfy.d.ts.map +0 -0
- package/dist/bin/comfy.js.map +0 -0
- package/dist/bin/commerce.d.ts +0 -0
- package/dist/bin/commerce.d.ts.map +0 -0
- package/dist/bin/commerce.js.map +0 -0
- package/dist/bin/google-ads.d.ts +0 -0
- package/dist/bin/google-ads.d.ts.map +0 -0
- package/dist/bin/google-ads.js.map +0 -0
- package/dist/bin/optima.d.ts +0 -0
- package/dist/bin/optima.d.ts.map +0 -0
- package/dist/bin/optima.js +3 -3
- package/dist/bin/optima.js.map +1 -1
- package/dist/bin/scout.d.ts +0 -0
- package/dist/bin/scout.d.ts.map +0 -0
- package/dist/bin/scout.js.map +0 -0
- package/dist/bin/serve.d.ts +0 -0
- package/dist/bin/serve.d.ts.map +0 -0
- package/dist/bin/serve.js +0 -0
- package/dist/bin/serve.js.map +0 -0
- package/dist/src/agent.d.ts +0 -0
- package/dist/src/agent.d.ts.map +0 -0
- package/dist/src/agent.js +0 -0
- package/dist/src/agent.js.map +0 -0
- package/dist/src/auth/device-flow.d.ts +0 -0
- package/dist/src/auth/device-flow.d.ts.map +0 -0
- package/dist/src/auth/device-flow.js +0 -0
- package/dist/src/auth/device-flow.js.map +0 -0
- package/dist/src/auth/index.d.ts +0 -0
- package/dist/src/auth/index.d.ts.map +0 -0
- package/dist/src/auth/index.js +0 -0
- package/dist/src/auth/index.js.map +0 -0
- package/dist/src/auth/token.d.ts +0 -0
- package/dist/src/auth/token.d.ts.map +0 -0
- package/dist/src/auth/token.js +0 -0
- package/dist/src/auth/token.js.map +0 -0
- package/dist/src/auth/types.d.ts +0 -0
- package/dist/src/auth/types.d.ts.map +0 -0
- package/dist/src/auth/types.js +0 -0
- package/dist/src/auth/types.js.map +0 -0
- package/dist/src/config.d.ts +0 -0
- package/dist/src/config.d.ts.map +0 -0
- package/dist/src/config.js +0 -0
- package/dist/src/config.js.map +0 -0
- package/dist/src/hooks-loader.d.ts +6 -0
- package/dist/src/hooks-loader.d.ts.map +1 -0
- package/dist/src/hooks-loader.js +215 -0
- package/dist/src/hooks-loader.js.map +1 -0
- package/dist/src/index.d.ts +2 -3
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +1 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/server/index.d.ts +0 -0
- package/dist/src/server/index.d.ts.map +0 -0
- package/dist/src/server/index.js +0 -0
- package/dist/src/server/index.js.map +0 -0
- package/dist/src/server/types.d.ts +0 -0
- package/dist/src/server/types.d.ts.map +0 -0
- package/dist/src/server/types.js +0 -0
- package/dist/src/server/types.js.map +0 -0
- package/dist/src/system-prompt.d.ts +0 -0
- package/dist/src/system-prompt.d.ts.map +0 -0
- package/dist/src/system-prompt.js +0 -0
- package/dist/src/system-prompt.js.map +0 -0
- package/dist/src/tools/memory.d.ts +0 -0
- package/dist/src/tools/memory.d.ts.map +0 -0
- package/dist/src/tools/memory.js +0 -0
- package/dist/src/tools/memory.js.map +0 -0
- package/dist/src/types.d.ts +0 -0
- package/dist/src/types.d.ts.map +0 -0
- package/dist/src/types.js +0 -0
- package/dist/src/types.js.map +0 -0
- package/dist/src/ui/App.d.ts +6 -0
- package/dist/src/ui/App.d.ts.map +1 -0
- package/dist/src/ui/App.js +164 -0
- package/dist/src/ui/App.js.map +1 -0
- package/dist/src/ui/components/Composer.d.ts +10 -0
- package/dist/src/ui/components/Composer.d.ts.map +1 -0
- package/dist/src/ui/components/Composer.js +13 -0
- package/dist/src/ui/components/Composer.js.map +1 -0
- package/dist/src/ui/components/Header.d.ts +7 -0
- package/dist/src/ui/components/Header.d.ts.map +1 -0
- package/dist/src/ui/components/Header.js +7 -0
- package/dist/src/ui/components/Header.js.map +1 -0
- package/dist/src/ui/components/Message.d.ts +12 -0
- package/dist/src/ui/components/Message.d.ts.map +1 -0
- package/dist/src/ui/components/Message.js +21 -0
- package/dist/src/ui/components/Message.js.map +1 -0
- package/dist/src/ui/components/MessageList.d.ts +9 -0
- package/dist/src/ui/components/MessageList.d.ts.map +1 -0
- package/dist/src/ui/components/MessageList.js +18 -0
- package/dist/src/ui/components/MessageList.js.map +1 -0
- package/dist/src/ui/components/Spinner.d.ts +6 -0
- package/dist/src/ui/components/Spinner.d.ts.map +1 -0
- package/dist/src/ui/components/Spinner.js +7 -0
- package/dist/src/ui/components/Spinner.js.map +1 -0
- package/dist/src/ui/components/StatusBar.d.ts +11 -0
- package/dist/src/ui/components/StatusBar.d.ts.map +1 -0
- package/dist/src/ui/components/StatusBar.js +7 -0
- package/dist/src/ui/components/StatusBar.js.map +1 -0
- package/dist/src/ui/components/index.d.ts +7 -0
- package/dist/src/ui/components/index.d.ts.map +1 -0
- package/dist/src/ui/components/index.js +7 -0
- package/dist/src/ui/components/index.js.map +1 -0
- package/dist/src/ui/conversation-manager.d.ts +0 -0
- package/dist/src/ui/conversation-manager.d.ts.map +0 -0
- package/dist/src/ui/conversation-manager.js +0 -0
- package/dist/src/ui/conversation-manager.js.map +0 -0
- package/dist/src/ui/headless-types.d.ts +59 -0
- package/dist/src/ui/headless-types.d.ts.map +1 -1
- package/dist/src/ui/headless-types.js +0 -1
- package/dist/src/ui/headless-types.js.map +1 -1
- package/dist/src/ui/headless.d.ts +15 -16
- package/dist/src/ui/headless.d.ts.map +1 -1
- package/dist/src/ui/headless.js +192 -121
- package/dist/src/ui/headless.js.map +1 -1
- package/dist/src/ui/index.d.ts +0 -0
- package/dist/src/ui/index.d.ts.map +0 -0
- package/dist/src/ui/index.js +0 -0
- package/dist/src/ui/index.js.map +0 -0
- package/dist/src/ui/stream.d.ts +0 -0
- package/dist/src/ui/stream.d.ts.map +0 -0
- package/dist/src/ui/stream.js +0 -0
- package/dist/src/ui/stream.js.map +0 -0
- package/dist/src/validation/error-formatter.d.ts +21 -0
- package/dist/src/validation/error-formatter.d.ts.map +1 -0
- package/dist/src/validation/error-formatter.js +98 -0
- package/dist/src/validation/error-formatter.js.map +1 -0
- package/dist/src/validation/index.d.ts +10 -0
- package/dist/src/validation/index.d.ts.map +1 -0
- package/dist/src/validation/index.js +10 -0
- package/dist/src/validation/index.js.map +1 -0
- package/dist/src/validation/json-validator.d.ts +25 -0
- package/dist/src/validation/json-validator.d.ts.map +1 -0
- package/dist/src/validation/json-validator.js +173 -0
- package/dist/src/validation/json-validator.js.map +1 -0
- package/dist/src/validation/schema.d.ts +353 -0
- package/dist/src/validation/schema.d.ts.map +1 -0
- package/dist/src/validation/schema.js +57 -0
- package/dist/src/validation/schema.js.map +1 -0
- package/dist/src/validation/suggestions.d.ts +25 -0
- package/dist/src/validation/suggestions.d.ts.map +1 -0
- package/dist/src/validation/suggestions.js +144 -0
- package/dist/src/validation/suggestions.js.map +1 -0
- package/dist/src/validation/types.d.ts +40 -0
- package/dist/src/validation/types.d.ts.map +1 -0
- package/dist/src/validation/types.js +5 -0
- package/dist/src/validation/types.js.map +1 -0
- package/dist/src/validation/yaml-validator.d.ts +25 -0
- package/dist/src/validation/yaml-validator.d.ts.map +1 -0
- package/dist/src/validation/yaml-validator.js +177 -0
- package/dist/src/validation/yaml-validator.js.map +1 -0
- package/dist/src/version.d.ts +0 -0
- package/dist/src/version.d.ts.map +0 -0
- package/dist/src/version.js +0 -0
- package/dist/src/version.js.map +0 -0
- package/package.json +9 -9
|
@@ -0,0 +1,193 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: shipping
|
|
3
|
+
description: "运费配置和物流管理。使用场景:查看/设置运费模式、固定运费区域、计算运费、Easyship集成。当用户问运费设置、运费模式、运费区域、Easyship相关问题时使用。"
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# 运费管理
|
|
7
|
+
|
|
8
|
+
## 典型场景
|
|
9
|
+
|
|
10
|
+
| 用户说 | 命令 |
|
|
11
|
+
|--------|------|
|
|
12
|
+
| "查看运费设置" / "运费模式" | `commerce shipping get-mode` |
|
|
13
|
+
| "修改运费模式" | `commerce shipping update-mode` |
|
|
14
|
+
| "计算运费" / "寄到XX多少钱" | `commerce shipping calculate` |
|
|
15
|
+
| "查看运费区域" / "固定运费" | `commerce shipping-zone list` |
|
|
16
|
+
| "添加运费区域" | `commerce shipping-zone create` |
|
|
17
|
+
| "设置默认运费" / "兜底运费" / "其他地区运费" | `commerce shipping-zone create --is-default` |
|
|
18
|
+
| "Easyship快递" / "可用快递" | `commerce easyship couriers` |
|
|
19
|
+
| "查看发货地址" | `commerce easyship get-origin` |
|
|
20
|
+
| "更新发货地址" | `commerce merchant update --origin-*`(见 merchant skill) |
|
|
21
|
+
|
|
22
|
+
## 不在此模块
|
|
23
|
+
|
|
24
|
+
| 用户说 | 正确命令 |
|
|
25
|
+
|--------|----------|
|
|
26
|
+
| "订单发货" | `commerce order ship`(见 order skill) |
|
|
27
|
+
| "查询订单物流" | `commerce order tracking`(见 order skill) |
|
|
28
|
+
|
|
29
|
+
---
|
|
30
|
+
|
|
31
|
+
## 运费模式
|
|
32
|
+
|
|
33
|
+
店铺的运费计算方式,影响买家结账时看到的运费选项。
|
|
34
|
+
|
|
35
|
+
### 查看当前模式
|
|
36
|
+
```bash
|
|
37
|
+
commerce shipping get-mode
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
### 修改模式
|
|
41
|
+
```bash
|
|
42
|
+
commerce shipping update-mode --mode <模式>
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
| 模式 | 说明 |
|
|
46
|
+
|------|------|
|
|
47
|
+
| `auto` | 自动选择(Easyship 实时报价 + 固定运费,取较优) |
|
|
48
|
+
| `fixed_only` | 仅使用固定运费区域 |
|
|
49
|
+
| `easyship_only` | 仅使用 Easyship 实时报价 |
|
|
50
|
+
|
|
51
|
+
---
|
|
52
|
+
|
|
53
|
+
## 运费计算
|
|
54
|
+
|
|
55
|
+
根据目的地和重量计算运费(发货前使用)。
|
|
56
|
+
|
|
57
|
+
```bash
|
|
58
|
+
commerce shipping calculate \
|
|
59
|
+
--country <国家代码> \
|
|
60
|
+
--postal-code <邮编> \
|
|
61
|
+
--weight <重量kg>
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
示例:
|
|
65
|
+
```bash
|
|
66
|
+
# 计算寄到美国的运费
|
|
67
|
+
commerce shipping calculate --country US --postal-code 10001 --weight 0.5
|
|
68
|
+
|
|
69
|
+
# 计算寄到日本的运费
|
|
70
|
+
commerce shipping calculate --country JP --postal-code 100-0001 --weight 1.2
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
### 查看支持的国家
|
|
74
|
+
```bash
|
|
75
|
+
commerce shipping countries
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
---
|
|
79
|
+
|
|
80
|
+
## 固定运费区域
|
|
81
|
+
|
|
82
|
+
为不同地区设置固定运费,适合不使用 Easyship 的场景。
|
|
83
|
+
|
|
84
|
+
### 查看所有区域
|
|
85
|
+
```bash
|
|
86
|
+
commerce shipping-zone list
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
### 创建区域
|
|
90
|
+
```bash
|
|
91
|
+
commerce shipping-zone create \
|
|
92
|
+
--name "北美" \
|
|
93
|
+
--countries "US,CA" \
|
|
94
|
+
--price 15.00
|
|
95
|
+
|
|
96
|
+
# 创建默认区域(兜底,当客户地址不匹配其他区域时使用)
|
|
97
|
+
commerce shipping-zone create \
|
|
98
|
+
--name "其他地区" \
|
|
99
|
+
--price 25.00 \
|
|
100
|
+
--is-default
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
**`--is-default` 使用时机**:用户提到"默认运费"、"兜底运费"、"其他地区"、"全球运费"时使用。
|
|
104
|
+
|
|
105
|
+
### 添加费率
|
|
106
|
+
```bash
|
|
107
|
+
commerce shipping-zone add-rate \
|
|
108
|
+
--zone-id <区域ID> \
|
|
109
|
+
--min-weight 0 \
|
|
110
|
+
--max-weight 1 \
|
|
111
|
+
--rate 10.00
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
### 更新/删除
|
|
115
|
+
```bash
|
|
116
|
+
commerce shipping-zone update --id <区域ID> --name "新名称"
|
|
117
|
+
commerce shipping-zone delete --id <区域ID> --yes
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
---
|
|
121
|
+
|
|
122
|
+
## Easyship 集成
|
|
123
|
+
|
|
124
|
+
Easyship 提供实时国际运费报价和物流追踪。
|
|
125
|
+
|
|
126
|
+
### 查看可用快递
|
|
127
|
+
```bash
|
|
128
|
+
commerce easyship couriers
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
### 发货地址
|
|
132
|
+
|
|
133
|
+
```bash
|
|
134
|
+
# 查看发货地址
|
|
135
|
+
commerce easyship get-origin
|
|
136
|
+
|
|
137
|
+
# 更新发货地址 → 使用 merchant 命令
|
|
138
|
+
commerce merchant update --origin-country-alpha2 CN --origin-city 深圳 ...
|
|
139
|
+
|
|
140
|
+
# 验证发货地址
|
|
141
|
+
commerce easyship validate-origin
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
**注意**:更新发货地址用 `commerce merchant update --origin-*`,详见 merchant skill。
|
|
145
|
+
|
|
146
|
+
### 地址验证
|
|
147
|
+
```bash
|
|
148
|
+
# 验证买家地址
|
|
149
|
+
commerce easyship validate-address \
|
|
150
|
+
--country-alpha2 US \
|
|
151
|
+
--city "New York" \
|
|
152
|
+
--postal-code 10001 \
|
|
153
|
+
--line-1 "123 Main St"
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
### 物流追踪
|
|
157
|
+
```bash
|
|
158
|
+
# 查询 Easyship 运单详细轨迹
|
|
159
|
+
commerce easyship track --order-id <订单ID>
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
---
|
|
163
|
+
|
|
164
|
+
## 命令参考
|
|
165
|
+
|
|
166
|
+
### 运费配置
|
|
167
|
+
- `commerce shipping get-mode` - 查看运费模式
|
|
168
|
+
- `commerce shipping update-mode` - 修改运费模式
|
|
169
|
+
- `commerce shipping calculate` - 计算运费
|
|
170
|
+
- `commerce shipping countries` - 支持的国家列表
|
|
171
|
+
|
|
172
|
+
### 固定运费区域
|
|
173
|
+
- `commerce shipping-zone list` - 查看所有区域
|
|
174
|
+
- `commerce shipping-zone get` - 查看区域详情
|
|
175
|
+
- `commerce shipping-zone create` - 创建区域
|
|
176
|
+
- `commerce shipping-zone update` - 更新区域
|
|
177
|
+
- `commerce shipping-zone delete` - 删除区域
|
|
178
|
+
- `commerce shipping-zone add-rate` - 添加费率
|
|
179
|
+
- `commerce shipping-zone update-rate` - 更新费率
|
|
180
|
+
- `commerce shipping-zone delete-rate` - 删除费率
|
|
181
|
+
|
|
182
|
+
### Easyship
|
|
183
|
+
- `commerce easyship couriers` - 可用快递公司
|
|
184
|
+
- `commerce easyship get-origin` - 查看发货地址
|
|
185
|
+
- `commerce easyship validate-origin` - 验证发货地址
|
|
186
|
+
- `commerce easyship validate-address` - 验证买家地址
|
|
187
|
+
- `commerce easyship track` - 物流追踪
|
|
188
|
+
|
|
189
|
+
**更新发货地址**用 `commerce merchant update --origin-*`(见 merchant skill)
|
|
190
|
+
|
|
191
|
+
## 不确定用什么命令?
|
|
192
|
+
|
|
193
|
+
运行 `commerce shipping --help` 或 `commerce easyship --help` 查看所有子命令。
|
package/README.md
CHANGED
|
File without changes
|
package/dist/bin/bi-cli.d.ts
CHANGED
|
File without changes
|
package/dist/bin/bi-cli.d.ts.map
CHANGED
|
File without changes
|
package/dist/bin/bi-cli.js.map
CHANGED
|
File without changes
|
package/dist/bin/comfy.d.ts
CHANGED
|
File without changes
|
package/dist/bin/comfy.d.ts.map
CHANGED
|
File without changes
|
package/dist/bin/comfy.js.map
CHANGED
|
File without changes
|
package/dist/bin/commerce.d.ts
CHANGED
|
File without changes
|
|
File without changes
|
package/dist/bin/commerce.js.map
CHANGED
|
File without changes
|
package/dist/bin/google-ads.d.ts
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/dist/bin/optima.d.ts
CHANGED
|
File without changes
|
package/dist/bin/optima.d.ts.map
CHANGED
|
File without changes
|
package/dist/bin/optima.js
CHANGED
|
@@ -3,7 +3,7 @@ import { parseArgs } from "node:util";
|
|
|
3
3
|
import { OptimaAgent } from "../src/index.js";
|
|
4
4
|
import { startInteractiveMode } from "../src/ui/index.js";
|
|
5
5
|
import { startServer } from "../src/server/index.js";
|
|
6
|
-
import {
|
|
6
|
+
import { startDockerHeadlessMode } from "../src/ui/headless.js";
|
|
7
7
|
import { VERSION } from "../src/version.js";
|
|
8
8
|
function printHelp() {
|
|
9
9
|
console.log(`
|
|
@@ -108,9 +108,9 @@ async function main() {
|
|
|
108
108
|
printVersion();
|
|
109
109
|
process.exit(0);
|
|
110
110
|
}
|
|
111
|
-
// Headless 模式(stdin/stdout 通信)
|
|
111
|
+
// Headless 模式(Docker 模式:stdin/stdout 通信)
|
|
112
112
|
if (command === "headless") {
|
|
113
|
-
await
|
|
113
|
+
await startDockerHeadlessMode({ cwd: args.cwd });
|
|
114
114
|
return;
|
|
115
115
|
}
|
|
116
116
|
// 服务器模式
|
package/dist/bin/optima.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"optima.js","sourceRoot":"","sources":["../../bin/optima.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"optima.js","sourceRoot":"","sources":["../../bin/optima.ts"],"names":[],"mappings":"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"}
|
package/dist/bin/scout.d.ts
CHANGED
|
File without changes
|
package/dist/bin/scout.d.ts.map
CHANGED
|
File without changes
|
package/dist/bin/scout.js.map
CHANGED
|
File without changes
|
package/dist/bin/serve.d.ts
CHANGED
|
File without changes
|
package/dist/bin/serve.d.ts.map
CHANGED
|
File without changes
|
package/dist/bin/serve.js
CHANGED
|
File without changes
|
package/dist/bin/serve.js.map
CHANGED
|
File without changes
|
package/dist/src/agent.d.ts
CHANGED
|
File without changes
|
package/dist/src/agent.d.ts.map
CHANGED
|
File without changes
|
package/dist/src/agent.js
CHANGED
|
File without changes
|
package/dist/src/agent.js.map
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/dist/src/auth/index.d.ts
CHANGED
|
File without changes
|
|
File without changes
|
package/dist/src/auth/index.js
CHANGED
|
File without changes
|
|
File without changes
|
package/dist/src/auth/token.d.ts
CHANGED
|
File without changes
|
|
File without changes
|
package/dist/src/auth/token.js
CHANGED
|
File without changes
|
|
File without changes
|
package/dist/src/auth/types.d.ts
CHANGED
|
File without changes
|
|
File without changes
|
package/dist/src/auth/types.js
CHANGED
|
File without changes
|
|
File without changes
|
package/dist/src/config.d.ts
CHANGED
|
File without changes
|
package/dist/src/config.d.ts.map
CHANGED
|
File without changes
|
package/dist/src/config.js
CHANGED
|
File without changes
|
package/dist/src/config.js.map
CHANGED
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hooks-loader.d.ts","sourceRoot":"","sources":["../../src/hooks-loader.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAgB,MAAM,YAAY,CAAC;AAwL5D;;GAEG;AACH,wBAAgB,cAAc,CAC5B,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,MAAM,EACX,YAAY,EAAE,MAAM,MAAM,GAAG,SAAS,GACrC,WAAW,CAiFb"}
|
|
@@ -0,0 +1,215 @@
|
|
|
1
|
+
import { readFileSync, readdirSync, existsSync, writeFileSync, mkdirSync } from "fs";
|
|
2
|
+
import { join, dirname } from "path";
|
|
3
|
+
import yaml from "js-yaml";
|
|
4
|
+
import { execSync } from "child_process";
|
|
5
|
+
import { YamlValidator, formatValidationErrors, formatValidationWarning } from "./validation/index.js";
|
|
6
|
+
/**
|
|
7
|
+
* 从 SKILL.md 提取 YAML frontmatter
|
|
8
|
+
*/
|
|
9
|
+
function extractYamlFrontmatter(content) {
|
|
10
|
+
const match = content.match(/^---\n([\s\S]*?)\n---/);
|
|
11
|
+
if (!match)
|
|
12
|
+
return null;
|
|
13
|
+
try {
|
|
14
|
+
return yaml.load(match[1]);
|
|
15
|
+
}
|
|
16
|
+
catch (error) {
|
|
17
|
+
console.error("Failed to parse YAML frontmatter:", error);
|
|
18
|
+
return null;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* 执行 shell 命令并返回结果
|
|
23
|
+
*/
|
|
24
|
+
function executeCommand(command, cwd, skillDir, sessionId) {
|
|
25
|
+
try {
|
|
26
|
+
// 替换环境变量
|
|
27
|
+
const expandedCommand = command
|
|
28
|
+
.replace(/\$\{CLAUDE_PLUGIN_ROOT\}/g, skillDir)
|
|
29
|
+
.replace(/\$\{SESSION_ID\}/g, sessionId || 'default');
|
|
30
|
+
const result = execSync(expandedCommand, {
|
|
31
|
+
cwd,
|
|
32
|
+
encoding: "utf-8",
|
|
33
|
+
stdio: ["pipe", "pipe", "pipe"],
|
|
34
|
+
});
|
|
35
|
+
return result.trim();
|
|
36
|
+
}
|
|
37
|
+
catch (error) {
|
|
38
|
+
// 命令失败不阻塞,返回错误信息
|
|
39
|
+
return error.stdout || error.message || "";
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* 转换 skill hooks 为 SDK hooks 格式
|
|
44
|
+
*/
|
|
45
|
+
function convertSkillHooksToSdkHooks(skillHooks, skillDir, cwd, getSessionId, hookType) {
|
|
46
|
+
return skillHooks.map((hookConfig) => ({
|
|
47
|
+
matcher: hookConfig.matcher,
|
|
48
|
+
hooks: hookConfig.hooks.map((hook) => {
|
|
49
|
+
// SDK HookCallback 签名: (input, toolUseID, options) => Promise<HookJSONOutput>
|
|
50
|
+
return async (input, toolUseID, options) => {
|
|
51
|
+
// PreToolUse: 拦截并重定向 planning 文件操作
|
|
52
|
+
if (hookType === "PreToolUse" && input.tool_name && input.tool_input) {
|
|
53
|
+
const toolName = input.tool_name;
|
|
54
|
+
const toolInput = input.tool_input;
|
|
55
|
+
// 处理文件操作工具的路径重定向
|
|
56
|
+
if ((toolName === "Write" || toolName === "Read" || toolName === "Edit") && toolInput.file_path) {
|
|
57
|
+
const filePath = toolInput.file_path;
|
|
58
|
+
if (filePath.includes(".planning/default/")) {
|
|
59
|
+
const sessionId = getSessionId() || "default";
|
|
60
|
+
const updatedPath = filePath.replace(".planning/default/", `.planning/${sessionId}/`);
|
|
61
|
+
console.log(`[hooks-loader] Intercepting and redirecting: ${filePath} -> ${updatedPath}`);
|
|
62
|
+
// 手动执行文件操作并 return,不要继续到 command 部分
|
|
63
|
+
try {
|
|
64
|
+
console.log(`[hooks-loader] Inside try block, toolName=${toolName}`);
|
|
65
|
+
if (toolName === "Write") {
|
|
66
|
+
console.log(`[hooks-loader] Handling Write operation`);
|
|
67
|
+
// 创建目录
|
|
68
|
+
const dir = dirname(updatedPath);
|
|
69
|
+
if (!existsSync(dir)) {
|
|
70
|
+
mkdirSync(dir, { recursive: true });
|
|
71
|
+
}
|
|
72
|
+
// 写入文件
|
|
73
|
+
writeFileSync(updatedPath, toolInput.content || "", "utf-8");
|
|
74
|
+
console.log(`[hooks-loader] File written to ${updatedPath}`);
|
|
75
|
+
// Block 原始工具执行
|
|
76
|
+
return {
|
|
77
|
+
decision: "block",
|
|
78
|
+
systemMessage: `File written to session-specific directory`,
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
else if (toolName === "Read") {
|
|
82
|
+
// 读取文件
|
|
83
|
+
if (existsSync(updatedPath)) {
|
|
84
|
+
const content = readFileSync(updatedPath, "utf-8");
|
|
85
|
+
console.log(`[hooks-loader] File read from ${updatedPath}`);
|
|
86
|
+
// Block 原始工具,返回文件内容
|
|
87
|
+
return {
|
|
88
|
+
decision: "block",
|
|
89
|
+
systemMessage: `File content:\n\n${content}`,
|
|
90
|
+
};
|
|
91
|
+
}
|
|
92
|
+
else {
|
|
93
|
+
return {
|
|
94
|
+
decision: "block",
|
|
95
|
+
systemMessage: `File not found: ${updatedPath}`,
|
|
96
|
+
};
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
else if (toolName === "Edit") {
|
|
100
|
+
// Edit 需要读取、修改、写入
|
|
101
|
+
if (existsSync(updatedPath)) {
|
|
102
|
+
let content = readFileSync(updatedPath, "utf-8");
|
|
103
|
+
// 执行替换
|
|
104
|
+
if (toolInput.old_string && toolInput.new_string) {
|
|
105
|
+
if (toolInput.replace_all) {
|
|
106
|
+
content = content.split(toolInput.old_string).join(toolInput.new_string);
|
|
107
|
+
}
|
|
108
|
+
else {
|
|
109
|
+
content = content.replace(toolInput.old_string, toolInput.new_string);
|
|
110
|
+
}
|
|
111
|
+
writeFileSync(updatedPath, content, "utf-8");
|
|
112
|
+
console.log(`[hooks-loader] File edited at ${updatedPath}`);
|
|
113
|
+
}
|
|
114
|
+
return {
|
|
115
|
+
decision: "block",
|
|
116
|
+
systemMessage: `File edited successfully`,
|
|
117
|
+
};
|
|
118
|
+
}
|
|
119
|
+
else {
|
|
120
|
+
return {
|
|
121
|
+
decision: "block",
|
|
122
|
+
systemMessage: `File not found: ${updatedPath}`,
|
|
123
|
+
};
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
catch (error) {
|
|
128
|
+
console.error(`[hooks-loader] Error:`, error);
|
|
129
|
+
return {
|
|
130
|
+
decision: "block",
|
|
131
|
+
systemMessage: `Error: ${error.message}`,
|
|
132
|
+
};
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
if (hook.type === "command") {
|
|
138
|
+
const sessionId = getSessionId();
|
|
139
|
+
const result = executeCommand(hook.command, cwd, skillDir, sessionId);
|
|
140
|
+
// 如果有输出,作为系统消息返回
|
|
141
|
+
if (result) {
|
|
142
|
+
return {
|
|
143
|
+
continue: true,
|
|
144
|
+
systemMessage: result,
|
|
145
|
+
};
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
return { continue: true };
|
|
149
|
+
};
|
|
150
|
+
}),
|
|
151
|
+
}));
|
|
152
|
+
}
|
|
153
|
+
/**
|
|
154
|
+
* 从 skills 目录加载所有 skill 的 hooks
|
|
155
|
+
*/
|
|
156
|
+
export function loadSkillHooks(skillsDir, cwd, getSessionId) {
|
|
157
|
+
const hooks = {};
|
|
158
|
+
if (!existsSync(skillsDir)) {
|
|
159
|
+
return hooks;
|
|
160
|
+
}
|
|
161
|
+
const skillDirs = readdirSync(skillsDir, { withFileTypes: true })
|
|
162
|
+
.filter((dirent) => dirent.isDirectory())
|
|
163
|
+
.map((dirent) => dirent.name);
|
|
164
|
+
for (const skillName of skillDirs) {
|
|
165
|
+
const skillDir = join(skillsDir, skillName);
|
|
166
|
+
const skillMdPath = join(skillDir, "SKILL.md");
|
|
167
|
+
if (!existsSync(skillMdPath)) {
|
|
168
|
+
continue;
|
|
169
|
+
}
|
|
170
|
+
try {
|
|
171
|
+
const content = readFileSync(skillMdPath, "utf-8");
|
|
172
|
+
// 验证配置文件
|
|
173
|
+
const validator = new YamlValidator();
|
|
174
|
+
const validationResult = validator.validate(content, skillMdPath);
|
|
175
|
+
// 显示错误
|
|
176
|
+
if (!validationResult.valid) {
|
|
177
|
+
console.error(formatValidationErrors(validationResult.errors));
|
|
178
|
+
continue;
|
|
179
|
+
}
|
|
180
|
+
// 显示警告
|
|
181
|
+
if (validationResult.warnings && validationResult.warnings.length > 0) {
|
|
182
|
+
for (const warning of validationResult.warnings) {
|
|
183
|
+
console.warn(formatValidationWarning(warning));
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
const frontmatter = extractYamlFrontmatter(content);
|
|
187
|
+
if (!frontmatter?.hooks) {
|
|
188
|
+
continue;
|
|
189
|
+
}
|
|
190
|
+
// 转换各个 hook 事件
|
|
191
|
+
if (frontmatter.hooks.SessionStart) {
|
|
192
|
+
hooks.SessionStart = hooks.SessionStart || [];
|
|
193
|
+
hooks.SessionStart.push(...convertSkillHooksToSdkHooks(frontmatter.hooks.SessionStart, skillDir, cwd, getSessionId, "SessionStart"));
|
|
194
|
+
}
|
|
195
|
+
if (frontmatter.hooks.PreToolUse) {
|
|
196
|
+
hooks.PreToolUse = hooks.PreToolUse || [];
|
|
197
|
+
hooks.PreToolUse.push(...convertSkillHooksToSdkHooks(frontmatter.hooks.PreToolUse, skillDir, cwd, getSessionId, "PreToolUse"));
|
|
198
|
+
}
|
|
199
|
+
if (frontmatter.hooks.PostToolUse) {
|
|
200
|
+
hooks.PostToolUse = hooks.PostToolUse || [];
|
|
201
|
+
hooks.PostToolUse.push(...convertSkillHooksToSdkHooks(frontmatter.hooks.PostToolUse, skillDir, cwd, getSessionId, "PostToolUse"));
|
|
202
|
+
}
|
|
203
|
+
if (frontmatter.hooks.Stop) {
|
|
204
|
+
hooks.Stop = hooks.Stop || [];
|
|
205
|
+
hooks.Stop.push(...convertSkillHooksToSdkHooks(frontmatter.hooks.Stop, skillDir, cwd, getSessionId, "Stop"));
|
|
206
|
+
}
|
|
207
|
+
console.log(`[hooks-loader] Loaded hooks from skill: ${skillName}`);
|
|
208
|
+
}
|
|
209
|
+
catch (error) {
|
|
210
|
+
console.error(`[hooks-loader] Failed to load hooks from ${skillName}:`, error);
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
return hooks;
|
|
214
|
+
}
|
|
215
|
+
//# sourceMappingURL=hooks-loader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hooks-loader.js","sourceRoot":"","sources":["../../src/hooks-loader.ts"],"names":[],"mappings":"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"}
|
package/dist/src/index.d.ts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
export { OptimaAgent } from "./agent.js";
|
|
2
|
-
export { startHeadlessMode } from "./ui/headless.js";
|
|
3
|
-
export type { HeadlessOptions } from "./ui/headless.js";
|
|
4
|
-
export type { InputMessage, OutputEvent, InitEvent, ThinkingEvent, ContentEvent, TextDeltaEvent, ToolCallEvent, ToolResultEvent, AskQuestionEvent, FinishEvent, ErrorEvent, InfoEvent, ConversationUpdateEvent, } from "./ui/headless-types.js";
|
|
2
|
+
export { startHeadlessMode, startDockerHeadlessMode } from "./ui/headless.js";
|
|
3
|
+
export type { InputMessage, OutputEvent, InitEvent, ThinkingEvent, ContentEvent, TextDeltaEvent, ToolCallEvent, ToolResultEvent, AskQuestionEvent, FinishEvent, ErrorEvent, InfoEvent, ConversationUpdateEvent, HeadlessOptions, } from "./ui/headless-types.js";
|
|
5
4
|
export type { AgentOptions, ChatOptions, HooksConfig, HookCallback, HookResult, } from "./types.js";
|
|
6
5
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/src/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAG9E,YAAY,EACV,YAAY,EACZ,WAAW,EACX,SAAS,EACT,aAAa,EACb,YAAY,EACZ,cAAc,EACd,aAAa,EACb,eAAe,EACf,gBAAgB,EAChB,WAAW,EACX,UAAU,EACV,SAAS,EACT,uBAAuB,EACvB,eAAe,GAChB,MAAM,wBAAwB,CAAC;AAEhC,YAAY,EACV,YAAY,EACZ,WAAW,EACX,WAAW,EACX,YAAY,EACZ,UAAU,GACX,MAAM,YAAY,CAAC"}
|
package/dist/src/index.js
CHANGED
package/dist/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC"}
|
|
File without changes
|
|
File without changes
|
package/dist/src/server/index.js
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/dist/src/server/types.js
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|