@optima-chat/optima-agent 0.8.81 → 0.8.83
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/skills/product-page/SKILL.md +52 -146
- package/dist/bin/bi-cli.js +0 -0
- package/dist/bin/browser-cli.js +0 -0
- package/dist/bin/commerce.js +0 -0
- package/dist/bin/gen.js +0 -0
- package/dist/bin/google-ads.js +0 -0
- package/dist/bin/logistics.js +0 -0
- package/dist/bin/optima.js +0 -0
- package/dist/bin/scout.js +0 -0
- package/dist/bin/sentinel.js +0 -0
- package/dist/bin/shopify.js +0 -0
- package/dist/src/agent.d.ts +1 -1
- package/dist/src/ui/headless-types.d.ts +5 -1
- package/dist/src/ui/headless-types.d.ts.map +1 -1
- package/dist/src/ui/headless.d.ts.map +1 -1
- package/dist/src/ui/headless.js +29 -0
- package/dist/src/ui/headless.js.map +1 -1
- package/dist/src/utils/image-converter.d.ts +11 -0
- package/dist/src/utils/image-converter.d.ts.map +1 -0
- package/dist/src/utils/image-converter.js +126 -0
- package/dist/src/utils/image-converter.js.map +1 -0
- package/package.json +1 -1
- package/.claude/settings.local.json +0 -154
- package/dist/bin/comfy.d.ts +0 -3
- package/dist/bin/comfy.d.ts.map +0 -1
- package/dist/bin/comfy.js +0 -3
- package/dist/bin/comfy.js.map +0 -1
- package/dist/bin/growth.d.ts +0 -3
- package/dist/bin/growth.d.ts.map +0 -1
- package/dist/bin/growth.js +0 -3
- package/dist/bin/growth.js.map +0 -1
- package/dist/src/hooks-loader.d.ts +0 -6
- package/dist/src/hooks-loader.d.ts.map +0 -1
- package/dist/src/hooks-loader.js +0 -215
- package/dist/src/hooks-loader.js.map +0 -1
- package/dist/src/ui/App.d.ts +0 -6
- package/dist/src/ui/App.d.ts.map +0 -1
- package/dist/src/ui/App.js +0 -164
- package/dist/src/ui/App.js.map +0 -1
- package/dist/src/ui/components/Composer.d.ts +0 -10
- package/dist/src/ui/components/Composer.d.ts.map +0 -1
- package/dist/src/ui/components/Composer.js +0 -13
- package/dist/src/ui/components/Composer.js.map +0 -1
- package/dist/src/ui/components/Header.d.ts +0 -7
- package/dist/src/ui/components/Header.d.ts.map +0 -1
- package/dist/src/ui/components/Header.js +0 -7
- package/dist/src/ui/components/Header.js.map +0 -1
- package/dist/src/ui/components/Message.d.ts +0 -12
- package/dist/src/ui/components/Message.d.ts.map +0 -1
- package/dist/src/ui/components/Message.js +0 -21
- package/dist/src/ui/components/Message.js.map +0 -1
- package/dist/src/ui/components/MessageList.d.ts +0 -9
- package/dist/src/ui/components/MessageList.d.ts.map +0 -1
- package/dist/src/ui/components/MessageList.js +0 -18
- package/dist/src/ui/components/MessageList.js.map +0 -1
- package/dist/src/ui/components/Spinner.d.ts +0 -6
- package/dist/src/ui/components/Spinner.d.ts.map +0 -1
- package/dist/src/ui/components/Spinner.js +0 -7
- package/dist/src/ui/components/Spinner.js.map +0 -1
- package/dist/src/ui/components/StatusBar.d.ts +0 -11
- package/dist/src/ui/components/StatusBar.d.ts.map +0 -1
- package/dist/src/ui/components/StatusBar.js +0 -7
- package/dist/src/ui/components/StatusBar.js.map +0 -1
- package/dist/src/ui/components/index.d.ts +0 -7
- package/dist/src/ui/components/index.d.ts.map +0 -1
- package/dist/src/ui/components/index.js +0 -7
- package/dist/src/ui/components/index.js.map +0 -1
- package/dist/src/validation/error-formatter.d.ts +0 -21
- package/dist/src/validation/error-formatter.d.ts.map +0 -1
- package/dist/src/validation/error-formatter.js +0 -98
- package/dist/src/validation/error-formatter.js.map +0 -1
- package/dist/src/validation/index.d.ts +0 -10
- package/dist/src/validation/index.d.ts.map +0 -1
- package/dist/src/validation/index.js +0 -10
- package/dist/src/validation/index.js.map +0 -1
- package/dist/src/validation/json-validator.d.ts +0 -25
- package/dist/src/validation/json-validator.d.ts.map +0 -1
- package/dist/src/validation/json-validator.js +0 -173
- package/dist/src/validation/json-validator.js.map +0 -1
- package/dist/src/validation/schema.d.ts +0 -353
- package/dist/src/validation/schema.d.ts.map +0 -1
- package/dist/src/validation/schema.js +0 -57
- package/dist/src/validation/schema.js.map +0 -1
- package/dist/src/validation/suggestions.d.ts +0 -25
- package/dist/src/validation/suggestions.d.ts.map +0 -1
- package/dist/src/validation/suggestions.js +0 -144
- package/dist/src/validation/suggestions.js.map +0 -1
- package/dist/src/validation/types.d.ts +0 -40
- package/dist/src/validation/types.d.ts.map +0 -1
- package/dist/src/validation/types.js +0 -5
- package/dist/src/validation/types.js.map +0 -1
- package/dist/src/validation/yaml-validator.d.ts +0 -25
- package/dist/src/validation/yaml-validator.d.ts.map +0 -1
- package/dist/src/validation/yaml-validator.js +0 -177
- package/dist/src/validation/yaml-validator.js.map +0 -1
|
@@ -1,51 +1,23 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: product-page
|
|
3
|
-
description:
|
|
3
|
+
description: 商品详情页(PDP)配置。自定义商品详情页的区块内容(如护理说明、退货政策、品牌故事)。当用户需要编辑商品页信息区块、隐藏区块、添加自定义区块、管理翻译时使用。
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
## 概念
|
|
7
7
|
|
|
8
|
-
Product Page
|
|
8
|
+
PDP(Product Detail Page)区块是商品详情页上的内容模块,采用三层继承:
|
|
9
9
|
|
|
10
10
|
```
|
|
11
|
-
System
|
|
12
|
-
↓ 可被覆盖
|
|
13
|
-
Merchant(商户级自定义)
|
|
14
|
-
↓ 可被覆盖
|
|
15
|
-
Product(商品级覆盖)
|
|
11
|
+
System(系统默认 7 个区块)→ Merchant(商户定制)→ Product(单品覆盖)
|
|
16
12
|
```
|
|
17
13
|
|
|
18
|
-
-
|
|
19
|
-
-
|
|
20
|
-
- **Product**:单个商品对上层区块的覆盖(仅影响该商品)
|
|
21
|
-
|
|
22
|
-
每层都可以执行三种操作:
|
|
23
|
-
- `override`:覆盖上层的内容
|
|
24
|
-
- `new`:创建全新的区块
|
|
25
|
-
- `hidden`:隐藏某个区块
|
|
26
|
-
|
|
27
|
-
## 结构
|
|
28
|
-
|
|
29
|
-
```
|
|
30
|
-
ProductPageSection
|
|
31
|
-
├── 基本信息
|
|
32
|
-
│ ├── handle: 区块标识符(唯一)
|
|
33
|
-
│ ├── operation_type: override | new | hidden
|
|
34
|
-
│ ├── type: collapsible(可折叠)| static(静态)
|
|
35
|
-
│ └── position: 显示位置(1-10)
|
|
36
|
-
│
|
|
37
|
-
├── 内容
|
|
38
|
-
│ ├── content: Markdown 内容(支持模板变量)
|
|
39
|
-
│ └── tab_group: Tab 分组(可选)
|
|
40
|
-
│
|
|
41
|
-
└── 翻译
|
|
42
|
-
└── translations: 多语言翻译
|
|
43
|
-
```
|
|
14
|
+
- 无 `--product` → merchant 级(影响所有商品)
|
|
15
|
+
- 有 `--product <id或handle>` → product 级(仅影响该商品)
|
|
44
16
|
|
|
45
17
|
### 系统默认区块
|
|
46
18
|
|
|
47
|
-
| handle | 说明 |
|
|
48
|
-
|
|
19
|
+
| handle | 说明 | 类型 |
|
|
20
|
+
|--------|------|------|
|
|
49
21
|
| `highlights` | 产品亮点 | static |
|
|
50
22
|
| `details` | 产品详情 | collapsible |
|
|
51
23
|
| `guarantee` | 品质保证 | collapsible |
|
|
@@ -56,145 +28,79 @@ ProductPageSection
|
|
|
56
28
|
|
|
57
29
|
### 模板变量
|
|
58
30
|
|
|
59
|
-
content
|
|
60
|
-
|
|
61
|
-
| 变量 | 说明 |
|
|
62
|
-
|------|------|
|
|
63
|
-
| `{{product.name}}` | 商品名称 |
|
|
64
|
-
| `{{product.description}}` | 商品描述 |
|
|
65
|
-
| `{{variant.sku}}` | 当前变体 SKU |
|
|
66
|
-
| `{{merchant.name}}` | 店铺名称 |
|
|
67
|
-
|
|
68
|
-
## 典型场景
|
|
69
|
-
|
|
70
|
-
当用户说:
|
|
71
|
-
- "查看所有区块" → `commerce product-page list --resolved`
|
|
72
|
-
- "覆盖护理说明" → `commerce product-page create --handle care --operation-type override ...`
|
|
73
|
-
- "隐藏环保说明" → `commerce product-page hide --handle eco-friendly`
|
|
74
|
-
- "添加品牌故事区块" → `commerce product-page create --handle brand-story --operation-type new ...`
|
|
75
|
-
- "调整区块顺序" → `commerce product-page reorder --sections '[{"handle":"h1","position":1},{"handle":"h2","position":2}]'`
|
|
76
|
-
- "给某商品单独设置" → `commerce product-page product create --product-handle xxx ...`
|
|
77
|
-
|
|
78
|
-
## 命令参考
|
|
79
|
-
|
|
80
|
-
### 商户级命令(影响所有商品)
|
|
31
|
+
content 支持:`{{product.name}}`、`{{product.description}}`、`{{variant.sku}}`、`{{merchant.name}}`
|
|
81
32
|
|
|
82
|
-
|
|
83
|
-
- `commerce product-page list --resolved` - 列出合并后的完整视图(推荐)
|
|
84
|
-
- `commerce product-page create` - 创建/覆盖区块
|
|
85
|
-
- `commerce product-page update --handle <handle>` - 更新区块
|
|
86
|
-
- `commerce product-page delete --handle <handle> --yes` - 删除自定义
|
|
87
|
-
- `commerce product-page hide --handle <handle>` - 隐藏区块(快捷方式)
|
|
88
|
-
- `commerce product-page reorder --sections <json>` - 重新排序(JSON 格式:`[{"handle":"xx","position":1}]`)
|
|
33
|
+
## 命令(共 7 个)
|
|
89
34
|
|
|
90
|
-
###
|
|
91
|
-
|
|
92
|
-
- `commerce product-page product list --product-handle <handle>` - 列出商品级覆盖
|
|
93
|
-
- `commerce product-page product list --product-handle <handle> --resolved` - 列出合并视图
|
|
94
|
-
- `commerce product-page product create --product-handle <handle> ...` - 创建商品级覆盖
|
|
95
|
-
- `commerce product-page product update --product-handle <handle> --handle <section> ...` - 更新
|
|
96
|
-
- `commerce product-page product delete --product-handle <handle> --handle <section> --yes` - 删除
|
|
97
|
-
- `commerce product-page product hide --product-handle <handle> --handle <section>` - 隐藏
|
|
98
|
-
|
|
99
|
-
### 翻译命令
|
|
100
|
-
|
|
101
|
-
- `commerce product-page translation list --handle <handle>` - 查看区块翻译
|
|
102
|
-
- `commerce product-page translation set --handle <handle> --lang <code>` - 设置翻译
|
|
103
|
-
- `commerce product-page translation delete --handle <handle> --lang <code> --yes` - 删除翻译
|
|
104
|
-
|
|
105
|
-
## 典型操作示例
|
|
106
|
-
|
|
107
|
-
### 查看所有区块
|
|
35
|
+
### 查看
|
|
108
36
|
|
|
109
37
|
```bash
|
|
110
|
-
|
|
111
|
-
commerce product-
|
|
38
|
+
commerce pdp show # 所有区块(合并视图)
|
|
39
|
+
commerce pdp show --product blue-hoodie # 某商品的区块
|
|
40
|
+
commerce pdp show --handle care # 单个区块详情
|
|
112
41
|
```
|
|
113
42
|
|
|
114
|
-
###
|
|
43
|
+
### 添加新区块
|
|
115
44
|
|
|
116
45
|
```bash
|
|
117
|
-
|
|
118
|
-
commerce product-
|
|
119
|
-
--handle care \
|
|
120
|
-
--operation-type override \
|
|
121
|
-
--type collapsible \
|
|
122
|
-
--position 4 \
|
|
123
|
-
--content "## 洗涤说明\n\n- 可机洗,30°C\n- 请勿漂白\n- 低温烘干"
|
|
46
|
+
commerce pdp add --handle faq --content "## FAQ\n\nQ1: ..." --type collapsible
|
|
47
|
+
commerce pdp add --handle faq --content "..." --product blue-hoodie
|
|
124
48
|
```
|
|
125
49
|
|
|
126
|
-
###
|
|
50
|
+
### 编辑已有区块(自动覆盖系统默认)
|
|
127
51
|
|
|
128
52
|
```bash
|
|
129
|
-
|
|
130
|
-
commerce
|
|
131
|
-
|
|
132
|
-
# 完整方式
|
|
133
|
-
commerce product-page create --handle eco-friendly --operation-type hidden
|
|
53
|
+
commerce pdp edit --handle care --content "机洗30度"
|
|
54
|
+
commerce pdp edit --handle care --content "干洗" --product silk-dress
|
|
55
|
+
commerce pdp edit --handle care --position 3 --type static
|
|
134
56
|
```
|
|
135
57
|
|
|
136
|
-
###
|
|
58
|
+
### 隐藏区块
|
|
137
59
|
|
|
138
60
|
```bash
|
|
139
|
-
|
|
140
|
-
commerce
|
|
141
|
-
--handle brand-story \
|
|
142
|
-
--operation-type new \
|
|
143
|
-
--type collapsible \
|
|
144
|
-
--position 8 \
|
|
145
|
-
--content "## 关于 {{merchant.name}}\n\n创立于2020年..."
|
|
61
|
+
commerce pdp hide --handle eco-friendly
|
|
62
|
+
commerce pdp hide --handle eco-friendly --product blue-hoodie
|
|
146
63
|
```
|
|
147
64
|
|
|
148
|
-
###
|
|
65
|
+
### 重置(删除定制,恢复继承)
|
|
149
66
|
|
|
150
67
|
```bash
|
|
151
|
-
|
|
152
|
-
commerce product-
|
|
153
|
-
--handle ingredients \
|
|
154
|
-
--operation-type new \
|
|
155
|
-
--type collapsible \
|
|
156
|
-
--position 5 \
|
|
157
|
-
--content "## 成分\n\n100% 有机棉" \
|
|
158
|
-
--tab-group product-info
|
|
159
|
-
|
|
160
|
-
commerce product-page create \
|
|
161
|
-
--handle materials \
|
|
162
|
-
--operation-type new \
|
|
163
|
-
--type collapsible \
|
|
164
|
-
--position 6 \
|
|
165
|
-
--content "## 材质\n\n天然环保材料" \
|
|
166
|
-
--tab-group product-info
|
|
68
|
+
commerce pdp reset --handle care --yes
|
|
69
|
+
commerce pdp reset --handle care --product blue-hoodie --yes
|
|
167
70
|
```
|
|
168
71
|
|
|
169
|
-
###
|
|
72
|
+
### 排序(handle:position 格式,无 JSON)
|
|
170
73
|
|
|
171
74
|
```bash
|
|
172
|
-
|
|
173
|
-
commerce
|
|
174
|
-
|
|
175
|
-
--handle care \
|
|
176
|
-
--operation-type override \
|
|
177
|
-
--type collapsible \
|
|
178
|
-
--position 4 \
|
|
179
|
-
--content "## 陶瓷护理\n\n- 可用洗碗机\n- 避免剧烈温度变化"
|
|
75
|
+
commerce pdp reorder highlights:1 details:2 care:3 return:4
|
|
76
|
+
commerce pdp reorder --tab-group product-info highlights:1 details:2
|
|
77
|
+
commerce pdp reorder --product blue-hoodie highlights:1 details:2
|
|
180
78
|
```
|
|
181
79
|
|
|
182
|
-
###
|
|
80
|
+
### 翻译
|
|
183
81
|
|
|
184
82
|
```bash
|
|
185
|
-
#
|
|
186
|
-
commerce
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
83
|
+
# 设置
|
|
84
|
+
commerce pdp translate --handle care --lang zh-CN --title "护理说明" --content "机洗30度"
|
|
85
|
+
|
|
86
|
+
# 查看
|
|
87
|
+
commerce pdp translate --handle care --list
|
|
88
|
+
|
|
89
|
+
# 删除
|
|
90
|
+
commerce pdp translate --handle care --lang zh-CN --delete --yes
|
|
191
91
|
```
|
|
192
92
|
|
|
193
|
-
##
|
|
93
|
+
## 自然语言映射
|
|
94
|
+
|
|
95
|
+
- "查看商品详情页区块" → `commerce pdp show`
|
|
96
|
+
- "修改护理说明" → `commerce pdp edit --handle care --content "..."`
|
|
97
|
+
- "隐藏环保说明" → `commerce pdp hide --handle eco-friendly`
|
|
98
|
+
- "添加品牌故事" → `commerce pdp add --handle brand-story --content "..."`
|
|
99
|
+
- "调整区块顺序" → `commerce pdp reorder highlights:1 details:2 care:3`
|
|
100
|
+
- "给护理说明加中文翻译" → `commerce pdp translate --handle care --lang zh-CN --title "..." --content "..."`
|
|
101
|
+
|
|
102
|
+
## 注意
|
|
194
103
|
|
|
195
|
-
-
|
|
196
|
-
-
|
|
197
|
-
-
|
|
198
|
-
- **position 冲突**:不同区块可以有相同 position,显示时按 position 排序
|
|
199
|
-
- **内容格式**:content 支持 Markdown,可使用模板变量
|
|
200
|
-
- **Tab 分组**:tab_group 相同的区块会在前端合并为标签页显示
|
|
104
|
+
- **PDP 管理页面区块**(内容板块),**product 管理商品属性**(名称、价格、库存)。两者不同。
|
|
105
|
+
- 编辑继承的区块会自动创建 override,无需手动指定 operation-type
|
|
106
|
+
- `--tab-group none` 可清除 tab 分组
|
package/dist/bin/bi-cli.js
CHANGED
|
File without changes
|
package/dist/bin/browser-cli.js
CHANGED
|
File without changes
|
package/dist/bin/commerce.js
CHANGED
|
File without changes
|
package/dist/bin/gen.js
CHANGED
|
File without changes
|
package/dist/bin/google-ads.js
CHANGED
|
File without changes
|
package/dist/bin/logistics.js
CHANGED
|
File without changes
|
package/dist/bin/optima.js
CHANGED
|
File without changes
|
package/dist/bin/scout.js
CHANGED
|
File without changes
|
package/dist/bin/sentinel.js
CHANGED
|
File without changes
|
package/dist/bin/shopify.js
CHANGED
|
File without changes
|
package/dist/src/agent.d.ts
CHANGED
|
@@ -11,7 +11,7 @@ export declare class OptimaAgent {
|
|
|
11
11
|
* @param prompt 用户输入
|
|
12
12
|
* @param chatOptions 选项,包括 streamFormat: 'delta' | 'content'
|
|
13
13
|
*/
|
|
14
|
-
chat(prompt: string, chatOptions?: ChatOptions): AsyncGenerator<import("@anthropic-ai/claude-agent-sdk").SDKUserMessage | import("@anthropic-ai/claude-agent-sdk").SDKAssistantMessage | import("@anthropic-ai/claude-agent-sdk").SDKResultSuccess | import("@anthropic-ai/claude-agent-sdk").SDKResultError | import("@anthropic-ai/claude-agent-sdk").SDKSystemMessage | import("@anthropic-ai/claude-agent-sdk").SDKPartialAssistantMessage | import("@anthropic-ai/claude-agent-sdk").SDKCompactBoundaryMessage | import("@anthropic-ai/claude-agent-sdk").SDKStatusMessage | import("@anthropic-ai/claude-agent-sdk").
|
|
14
|
+
chat(prompt: string, chatOptions?: ChatOptions): AsyncGenerator<import("@anthropic-ai/claude-agent-sdk").SDKUserMessage | import("@anthropic-ai/claude-agent-sdk").SDKAssistantMessage | import("@anthropic-ai/claude-agent-sdk").SDKResultSuccess | import("@anthropic-ai/claude-agent-sdk").SDKResultError | import("@anthropic-ai/claude-agent-sdk").SDKSystemMessage | import("@anthropic-ai/claude-agent-sdk").SDKPartialAssistantMessage | import("@anthropic-ai/claude-agent-sdk").SDKCompactBoundaryMessage | import("@anthropic-ai/claude-agent-sdk").SDKStatusMessage | import("@anthropic-ai/claude-agent-sdk").SDKLocalCommandOutputMessage | import("@anthropic-ai/claude-agent-sdk").SDKHookStartedMessage | import("@anthropic-ai/claude-agent-sdk").SDKHookProgressMessage | import("@anthropic-ai/claude-agent-sdk").SDKHookResponseMessage | import("@anthropic-ai/claude-agent-sdk").SDKToolProgressMessage | import("@anthropic-ai/claude-agent-sdk").SDKAuthStatusMessage | import("@anthropic-ai/claude-agent-sdk").SDKTaskNotificationMessage | import("@anthropic-ai/claude-agent-sdk").SDKTaskStartedMessage | import("@anthropic-ai/claude-agent-sdk").SDKTaskProgressMessage | import("@anthropic-ai/claude-agent-sdk").SDKFilesPersistedEvent | import("@anthropic-ai/claude-agent-sdk").SDKToolUseSummaryMessage | import("@anthropic-ai/claude-agent-sdk").SDKRateLimitEvent | import("@anthropic-ai/claude-agent-sdk").SDKElicitationCompleteMessage | import("@anthropic-ai/claude-agent-sdk").SDKPromptSuggestionMessage | {
|
|
15
15
|
type: "text_delta";
|
|
16
16
|
delta: {
|
|
17
17
|
text: string;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export type InputMessage = InitInputMessage | MessageInputMessage | AbortInputMessage | AnswerQuestionInputMessage | ResetConversationInputMessage | DeleteConversationInputMessage | RestoreConversationsInputMessage | PingInputMessage;
|
|
1
|
+
export type InputMessage = InitInputMessage | MessageInputMessage | AbortInputMessage | AnswerQuestionInputMessage | ResetConversationInputMessage | DeleteConversationInputMessage | RestoreConversationsInputMessage | PingInputMessage | UpdateClaudeTokenInputMessage;
|
|
2
2
|
export interface InitInputMessage {
|
|
3
3
|
type: "init";
|
|
4
4
|
sessionId: string;
|
|
@@ -41,6 +41,10 @@ export interface RestoreConversationsInputMessage {
|
|
|
41
41
|
export interface PingInputMessage {
|
|
42
42
|
type: "ping";
|
|
43
43
|
}
|
|
44
|
+
export interface UpdateClaudeTokenInputMessage {
|
|
45
|
+
type: "update_claude_token";
|
|
46
|
+
token: string;
|
|
47
|
+
}
|
|
44
48
|
export type OutputEvent = InitEvent | ThinkingEvent | ContentEvent | TextDeltaEvent | ToolCallEvent | ToolResultEvent | AskQuestionEvent | ProgressEvent | FinishEvent | ErrorEvent | InfoEvent | ConversationUpdateEvent | PongEvent;
|
|
45
49
|
export interface InitEvent {
|
|
46
50
|
type: "init";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"headless-types.d.ts","sourceRoot":"","sources":["../../../src/ui/headless-types.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,YAAY,GACpB,gBAAgB,GAChB,mBAAmB,GACnB,iBAAiB,GACjB,0BAA0B,GAC1B,6BAA6B,GAC7B,8BAA8B,GAC9B,gCAAgC,GAChC,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"headless-types.d.ts","sourceRoot":"","sources":["../../../src/ui/headless-types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"headless.d.ts","sourceRoot":"","sources":["../../../src/ui/headless.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"headless.d.ts","sourceRoot":"","sources":["../../../src/ui/headless.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAWV,eAAe,EAChB,MAAM,qBAAqB,CAAC;AAI7B;;;;;;;;GAQG;AACH,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAsnB/E;AAED;;;;GAIG;AACH,wBAAsB,uBAAuB,CAAC,OAAO,GAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAmD3G"}
|
package/dist/src/ui/headless.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { createInterface } from "readline";
|
|
2
2
|
import { ConversationManager } from "./conversation-manager.js";
|
|
3
3
|
import { getUserRole } from "./user-role.js";
|
|
4
|
+
import { isImagePath, convertIfUnsupported } from "../utils/image-converter.js";
|
|
4
5
|
/**
|
|
5
6
|
* Headless 模式 - 参数化版本
|
|
6
7
|
*
|
|
@@ -67,6 +68,16 @@ export async function startHeadlessMode(options) {
|
|
|
67
68
|
};
|
|
68
69
|
}
|
|
69
70
|
}
|
|
71
|
+
// Read 工具:检测并转换不支持的图片格式(AVIF/HEIF/BMP/TIFF → JPEG)
|
|
72
|
+
if (toolName === "Read") {
|
|
73
|
+
const filePath = input.file_path;
|
|
74
|
+
if (filePath && isImagePath(filePath)) {
|
|
75
|
+
const convertedPath = await convertIfUnsupported(filePath);
|
|
76
|
+
if (convertedPath) {
|
|
77
|
+
return { behavior: "allow", updatedInput: { ...input, file_path: convertedPath } };
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
}
|
|
70
81
|
// 其他工具直接放行
|
|
71
82
|
return { behavior: "allow", updatedInput: input };
|
|
72
83
|
};
|
|
@@ -199,6 +210,24 @@ export async function startHeadlessMode(options) {
|
|
|
199
210
|
});
|
|
200
211
|
break;
|
|
201
212
|
}
|
|
213
|
+
case "update_claude_token": {
|
|
214
|
+
const tokenInput = input;
|
|
215
|
+
if (!tokenInput.token || typeof tokenInput.token !== "string" || tokenInput.token.trim() === "") {
|
|
216
|
+
console.error("[Headless] Rejected update_claude_token: empty or invalid token");
|
|
217
|
+
sendOutput({
|
|
218
|
+
type: "error",
|
|
219
|
+
error: { message: "Token must be a non-empty string", code: "INVALID_TOKEN" },
|
|
220
|
+
});
|
|
221
|
+
break;
|
|
222
|
+
}
|
|
223
|
+
process.env.CLAUDE_CODE_OAUTH_TOKEN = tokenInput.token;
|
|
224
|
+
console.error("[Headless] Claude token updated");
|
|
225
|
+
sendOutput({
|
|
226
|
+
type: "info",
|
|
227
|
+
info: { message: "Claude token updated", code: "TOKEN_UPDATED" },
|
|
228
|
+
});
|
|
229
|
+
break;
|
|
230
|
+
}
|
|
202
231
|
case "ping": {
|
|
203
232
|
sendOutput({
|
|
204
233
|
type: "pong",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"headless.js","sourceRoot":"","sources":["../../../src/ui/headless.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"headless.js","sourceRoot":"","sources":["../../../src/ui/headless.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 判断文件路径是否是图片文件(通过扩展名)
|
|
3
|
+
*/
|
|
4
|
+
export declare function isImagePath(filePath: string): boolean;
|
|
5
|
+
/**
|
|
6
|
+
* 检查图片文件格式,如果不支持则转换为 JPEG
|
|
7
|
+
*
|
|
8
|
+
* @returns 转换后的文件路径(如果转换了),或 null(如果不需要转换)
|
|
9
|
+
*/
|
|
10
|
+
export declare function convertIfUnsupported(filePath: string): Promise<string | null>;
|
|
11
|
+
//# sourceMappingURL=image-converter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"image-converter.d.ts","sourceRoot":"","sources":["../../../src/utils/image-converter.ts"],"names":[],"mappings":"AAiFA;;GAEG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAGrD;AAED;;;;GAIG;AACH,wBAAsB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CA0CnF"}
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
import { readFile, access, stat } from "fs/promises";
|
|
2
|
+
import { execFile } from "child_process";
|
|
3
|
+
import { promisify } from "util";
|
|
4
|
+
import { tmpdir } from "os";
|
|
5
|
+
import { join, extname } from "path";
|
|
6
|
+
const execFileAsync = promisify(execFile);
|
|
7
|
+
/**
|
|
8
|
+
* Anthropic API 支持的图片 media_type
|
|
9
|
+
*/
|
|
10
|
+
const SUPPORTED_MEDIA_TYPES = new Set([
|
|
11
|
+
"image/jpeg",
|
|
12
|
+
"image/png",
|
|
13
|
+
"image/gif",
|
|
14
|
+
"image/webp",
|
|
15
|
+
]);
|
|
16
|
+
/**
|
|
17
|
+
* 图片文件扩展名(只对这些扩展名做格式检测)
|
|
18
|
+
*/
|
|
19
|
+
const IMAGE_EXTENSIONS = new Set([
|
|
20
|
+
".jpg", ".jpeg", ".png", ".gif", ".webp",
|
|
21
|
+
".bmp", ".tiff", ".tif", ".avif", ".heif", ".heic", ".svg",
|
|
22
|
+
]);
|
|
23
|
+
/**
|
|
24
|
+
* Magic bytes → media_type 映射
|
|
25
|
+
*/
|
|
26
|
+
const MAGIC_BYTES = [
|
|
27
|
+
{ bytes: [0xFF, 0xD8, 0xFF], mediaType: "image/jpeg" },
|
|
28
|
+
{ bytes: [0x89, 0x50, 0x4E, 0x47], mediaType: "image/png" },
|
|
29
|
+
{ bytes: [0x47, 0x49, 0x46, 0x38], mediaType: "image/gif" },
|
|
30
|
+
{ bytes: [0x52, 0x49, 0x46, 0x46], mediaType: "image/webp" }, // RIFF....WEBP
|
|
31
|
+
{ bytes: [0x42, 0x4D], mediaType: "image/bmp" },
|
|
32
|
+
{ bytes: [0x49, 0x49, 0x2A, 0x00], mediaType: "image/tiff" }, // little-endian
|
|
33
|
+
{ bytes: [0x4D, 0x4D, 0x00, 0x2A], mediaType: "image/tiff" }, // big-endian
|
|
34
|
+
];
|
|
35
|
+
/**
|
|
36
|
+
* 检测文件的真实 media_type(通过 magic bytes)
|
|
37
|
+
*/
|
|
38
|
+
function detectMediaType(buffer) {
|
|
39
|
+
// ftyp-based formats (AVIF, HEIF, HEIC)
|
|
40
|
+
// 格式: [size:4][ftyp:4][brand:4+]
|
|
41
|
+
if (buffer.length >= 12) {
|
|
42
|
+
const ftypOffset = buffer.indexOf("ftyp");
|
|
43
|
+
if (ftypOffset >= 0 && ftypOffset <= 8) {
|
|
44
|
+
const brand = buffer.subarray(ftypOffset + 4, ftypOffset + 8).toString("ascii").toLowerCase();
|
|
45
|
+
if (brand.startsWith("avif") || brand.startsWith("avis"))
|
|
46
|
+
return "image/avif";
|
|
47
|
+
if (brand.startsWith("heic") || brand.startsWith("heix") || brand.startsWith("hevc"))
|
|
48
|
+
return "image/heic";
|
|
49
|
+
if (brand.startsWith("mif1") || brand.startsWith("msf1"))
|
|
50
|
+
return "image/heif";
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
// Standard magic bytes
|
|
54
|
+
for (const { bytes, mediaType } of MAGIC_BYTES) {
|
|
55
|
+
if (buffer.length >= bytes.length) {
|
|
56
|
+
let match = true;
|
|
57
|
+
for (let i = 0; i < bytes.length; i++) {
|
|
58
|
+
if (buffer[i] !== bytes[i]) {
|
|
59
|
+
match = false;
|
|
60
|
+
break;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
if (match) {
|
|
64
|
+
// RIFF needs further check for WEBP
|
|
65
|
+
if (mediaType === "image/webp") {
|
|
66
|
+
if (buffer.length >= 12 && buffer.subarray(8, 12).toString("ascii") === "WEBP") {
|
|
67
|
+
return "image/webp";
|
|
68
|
+
}
|
|
69
|
+
continue; // RIFF but not WEBP
|
|
70
|
+
}
|
|
71
|
+
return mediaType;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
return null;
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* 判断文件路径是否是图片文件(通过扩展名)
|
|
79
|
+
*/
|
|
80
|
+
export function isImagePath(filePath) {
|
|
81
|
+
const ext = extname(filePath).toLowerCase();
|
|
82
|
+
return IMAGE_EXTENSIONS.has(ext);
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* 检查图片文件格式,如果不支持则转换为 JPEG
|
|
86
|
+
*
|
|
87
|
+
* @returns 转换后的文件路径(如果转换了),或 null(如果不需要转换)
|
|
88
|
+
*/
|
|
89
|
+
export async function convertIfUnsupported(filePath) {
|
|
90
|
+
try {
|
|
91
|
+
// 检查文件存在
|
|
92
|
+
await access(filePath);
|
|
93
|
+
// 检查文件大小(避免读取巨大的非图片文件)
|
|
94
|
+
const fileStat = await stat(filePath);
|
|
95
|
+
if (fileStat.size > 50 * 1024 * 1024)
|
|
96
|
+
return null; // >50MB skip
|
|
97
|
+
if (fileStat.size < 8)
|
|
98
|
+
return null; // too small
|
|
99
|
+
// 读取前 32 字节检测格式
|
|
100
|
+
const fd = await readFile(filePath);
|
|
101
|
+
const header = fd.subarray(0, 32);
|
|
102
|
+
const mediaType = detectMediaType(header);
|
|
103
|
+
if (!mediaType)
|
|
104
|
+
return null; // 无法识别,让 SDK 处理
|
|
105
|
+
if (SUPPORTED_MEDIA_TYPES.has(mediaType))
|
|
106
|
+
return null; // 格式支持,无需转换
|
|
107
|
+
// 不支持的格式,用 ffmpeg 转换为 JPEG
|
|
108
|
+
console.error(`[ImageConverter] Unsupported format detected: ${mediaType} for ${filePath}, converting to JPEG`);
|
|
109
|
+
const convertedPath = join(tmpdir(), `optima-converted-${Date.now()}-${Math.random().toString(36).slice(2)}.jpg`);
|
|
110
|
+
await execFileAsync("ffmpeg", [
|
|
111
|
+
"-y", // overwrite
|
|
112
|
+
"-i", filePath, // input
|
|
113
|
+
"-q:v", "2", // high quality JPEG
|
|
114
|
+
convertedPath, // output
|
|
115
|
+
], { timeout: 30000 });
|
|
116
|
+
// 验证转换后的文件存在
|
|
117
|
+
await access(convertedPath);
|
|
118
|
+
console.error(`[ImageConverter] Converted to: ${convertedPath}`);
|
|
119
|
+
return convertedPath;
|
|
120
|
+
}
|
|
121
|
+
catch (error) {
|
|
122
|
+
console.error(`[ImageConverter] Conversion failed for ${filePath}:`, error instanceof Error ? error.message : error);
|
|
123
|
+
return null; // 转换失败,让 SDK 原样处理(可能会报错,但不影响其他文件)
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
//# sourceMappingURL=image-converter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"image-converter.js","sourceRoot":"","sources":["../../../src/utils/image-converter.ts"],"names":[],"mappings":"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"}
|