@optima-chat/optima-agent 0.1.75 → 0.1.77

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.
@@ -1,87 +1,110 @@
1
1
  ---
2
2
  name: bi
3
- description: 业务数据分析工具。查看销售数据、产品表现、趋势分析。当用户需要分析销售业绩、查看数据报表、了解业务趋势时使用此技能。
3
+ description: "业务数据分析工具。使用场景:查看销售数据(sales/销售)、产品表现分析(product/产品)、趋势分析(trends/趋势)、综合分析(analytics/分析)。使用 bi-cli 命令。"
4
4
  ---
5
5
 
6
- # BI CLI 使用指南
6
+ # BI 数据分析工具
7
7
 
8
- ## 前置条件
8
+ ## 必须遵守的规则
9
9
 
10
- ```bash
11
- npm install -g @optima-chat/bi-cli@latest
12
- bi auth login
13
- ```
10
+ **命令名称是 `bi-cli`,不是 `bi`**
14
11
 
15
- ## 核心命令
12
+ ## 标准操作
16
13
 
17
- ### 销售分析
14
+ ### 查看销售数据
15
+ ```bash
16
+ bi-cli sales get [--days 7] [--pretty]
17
+ ```
18
+ 返回销售汇总和每日明细:
19
+ - 总收入、订单数、客单价、客户数
20
+ - 每日销售分解
18
21
 
22
+ ### 产品表现分析
19
23
  ```bash
20
- # 销售概览
21
- bi sales overview
24
+ bi-cli product best-sellers [--limit 10] [--pretty]
25
+ ```
26
+ 返回畅销商品排行
22
27
 
23
- # 指定时间范围
24
- bi sales overview --start 2024-01-01 --end 2024-01-31
28
+ ### 趋势分析
29
+ ```bash
30
+ bi-cli trends revenue --days 30 [--pretty]
31
+ ```
32
+ 返回收入趋势数据
25
33
 
26
- # 按天/周/月汇总
27
- bi sales summary --group-by day
28
- bi sales summary --group-by week
29
- bi sales summary --group-by month
34
+ ### 综合分析
35
+ ```bash
36
+ bi-cli analytics dashboard [--pretty]
30
37
  ```
38
+ 返回仪表盘数据
31
39
 
32
- ### 产品分析
40
+ ## 完整命令列表
33
41
 
42
+ ### 认证
34
43
  ```bash
35
- # 产品表现排行
36
- bi product ranking --limit 10
44
+ bi-cli auth login # OAuth 登录
45
+ bi-cli auth status # 查看登录状态
46
+ bi-cli auth logout # 登出
47
+ ```
37
48
 
38
- # 单个产品分析
39
- bi product analyze <product-id>
49
+ ### 销售分析
50
+ ```bash
51
+ bi-cli sales get [--days 7] [--pretty]
52
+ ```
40
53
 
41
- # 产品销售趋势
42
- bi product trend <product-id> --days 30
54
+ ### 产品分析
55
+ ```bash
56
+ bi-cli product best-sellers [--limit 10] [--pretty]
43
57
  ```
44
58
 
45
59
  ### 趋势分析
46
-
47
60
  ```bash
48
- # 整体趋势
49
- bi trends overview --days 30
50
-
51
- # 同比/环比分析
52
- bi trends compare --period week
53
- bi trends compare --period month
61
+ bi-cli trends revenue --days 30 [--pretty]
54
62
  ```
55
63
 
56
64
  ### 综合分析
57
-
58
65
  ```bash
59
- # 仪表盘数据
60
- bi analytics dashboard
66
+ bi-cli analytics dashboard [--pretty]
67
+ ```
68
+
69
+ ## 工作流示例
70
+
71
+ ### 示例 1:查看近期销售
72
+ 用户:"查看最近 7 天的销售情况"
61
73
 
62
- # 自定义查询
63
- bi analytics query --metric revenue --group-by product --days 7
74
+ ```bash
75
+ bi-cli sales get --days 7 --pretty
64
76
  ```
65
77
 
66
- ## 典型场景
78
+ 展示:
79
+ - 总收入、订单数、客单价、客户数
80
+ - 每日销售明细表格
67
81
 
68
- ### 查看本周销售情况
82
+ ### 示例 2:查看畅销商品
83
+ 用户:"哪些商品卖得最好"
69
84
 
70
85
  ```bash
71
- bi sales overview --days 7
72
- bi product ranking --days 7 --limit 5
86
+ bi-cli product best-sellers --limit 5 --pretty
73
87
  ```
74
88
 
75
- ### 月度业绩报告
89
+ 展示:
90
+ - TOP5 商品排行
91
+ - 销售额、销量、订单数
92
+
93
+ ### 示例 3:收入趋势
94
+ 用户:"收入趋势如何"
76
95
 
77
96
  ```bash
78
- bi sales summary --group-by month --months 3
79
- bi trends compare --period month
80
- bi product ranking --days 30
97
+ bi-cli trends revenue --days 30 --pretty
81
98
  ```
82
99
 
100
+ 展示:
101
+ - 30 天收入趋势
102
+ - 增长率、环比数据
103
+
83
104
  ## 注意事项
84
105
 
85
- - 所有命令默认 JSON 输出
86
- - 时间范围默认最近 7
87
- - 金额单位与商户配置一致
106
+ - 命令是 `bi-cli` 不是 `bi`
107
+ - 默认输出 JSON 格式(AI 友好)
108
+ - 使用 `--pretty` 获取彩色表格
109
+ - 需要先登录:`bi-cli auth login`
110
+ - 默认时间范围是最近 7 天
package/README.md CHANGED
@@ -2,50 +2,26 @@
2
2
 
3
3
  基于 [Claude Agent SDK](https://www.npmjs.com/package/@anthropic-ai/claude-agent-sdk) 的电商运营 AI 助手。
4
4
 
5
- ## 安装
5
+ [![npm version](https://badge.fury.io/js/@optima-chat%2Foptima-agent.svg)](https://www.npmjs.com/package/@optima-chat/optima-agent)
6
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
7
+
8
+ ## 快速开始
9
+
10
+ ### 安装
6
11
 
7
12
  ```bash
8
13
  npm install -g @optima-chat/optima-agent
9
14
  ```
10
15
 
11
- ## 认证
16
+ ### 认证
12
17
 
13
- 设置环境变量(推荐):
14
18
  ```bash
15
19
  export ANTHROPIC_API_KEY=your-api-key
16
20
  ```
17
21
 
18
22
  或使用 Claude Code 的认证(`~/.claude/`)。
19
23
 
20
- ## 架构
21
-
22
- ```
23
- ┌─────────────────────────────────────────────────────────────────────────────┐
24
- │ 客户端 │
25
- │ 终端 CLI Web 前端 │
26
- │ │ │ │
27
- └──────────────┼────────────────────────────────────┼─────────────────────────┘
28
- │ │ WebSocket
29
- ▼ ▼
30
- ┌─────────────────────────────────────────────────────────────────────────────┐
31
- │ Optima Agent │
32
- │ ┌───────────────────────────────────────────────────────────────────────┐ │
33
- │ │ Claude Agent SDK │ │
34
- │ │ │ │
35
- │ │ Skills · 流式输出 · 上下文压缩 · Hooks · 会话管理 · 权限控制 │ │
36
- │ │ Bash · Read/Write/Edit · Glob/Grep · WebFetch · Task · TodoWrite │ │
37
- │ │ │ │ │
38
- │ └────────────────────────────────────┼───────────────────────────────────┘ │
39
- └───────────────────────────────────────┼─────────────────────────────────────┘
40
-
41
- ┌─────────────────────────────────────────────────────────────────────────────┐
42
- │ CLI 工具生态 │
43
- │ commerce comfy google-ads scout bi │
44
- │ 商品·订单·库存 图像·视频 广告投放 选品调研 数据分析 │
45
- └─────────────────────────────────────────────────────────────────────────────┘
46
- ```
47
-
48
- ## 使用
24
+ ### 使用
49
25
 
50
26
  ```bash
51
27
  # 交互模式
@@ -58,30 +34,53 @@ optima -p "查看商品列表"
58
34
  optima serve --port 3000
59
35
  ```
60
36
 
61
- ## Skills
62
-
63
- | Skill | CLI | 用途 |
64
- |-------|-----|------|
65
- | commerce-product | commerce-cli | 商品管理 |
66
- | commerce-order | commerce-cli | 订单处理 |
67
- | commerce-inventory | commerce-cli | 库存管理 |
68
- | commerce-i18n | commerce-cli | 国际化翻译 |
69
- | commerce-storefront | commerce-cli | 店铺配置 |
70
- | comfy-cli | comfy-cli | 图像/视频生成 |
71
- | google-ads-cli | google-ads-cli | 广告投放 |
72
- | optima-scout | scout-cli | 选品调研 |
73
- | bi-cli | bi-cli | 数据分析 |
37
+ ## 功能特性
38
+
39
+ ### 核心能力
40
+
41
+ - **店铺管理** - 查看和更新店铺信息
42
+ - **商品管理** - 创建、编辑、查询商品
43
+ - **订单处理** - 发货、退款、订单查询
44
+ - **库存管理** - 监控库存、调整数量
45
+ - **国际化** - 多语言翻译管理
46
+ - **店铺配置** - 首页、集合、商品详情页
47
+ - **图像/视频** - AI 生成产品图片和视频
48
+ - **广告投放** - Google Ads 管理
49
+ - **选品调研** - Amazon 产品分析
50
+ - **数据分析** - 销售数据和趋势
51
+
52
+ ### Stream 模式特性
53
+
54
+ - Context 使用可视化(进度条显示)
55
+ - Skills 加载状态追踪
56
+ - Session token 统计(按模型分类)
57
+ - 对话计时
58
+ - 命令菜单(`/help`, `/model`, `/context`, `/clear`)
59
+
60
+ ## 可用 Skills
61
+
62
+ | Skill | 用途 |
63
+ |-------|------|
64
+ | merchant | 店铺信息管理 |
65
+ | product | 商品管理 |
66
+ | order | 订单处理 |
67
+ | inventory | 库存管理 |
68
+ | i18n | 国际化翻译 |
69
+ | storefront | 店铺前台配置 |
70
+ | comfy | 图像/视频生成 |
71
+ | ads | Google Ads 广告 |
72
+ | scout | Amazon 选品调研 |
73
+ | bi | 数据分析 |
74
74
 
75
75
  ## 配置
76
76
 
77
- 在项目根目录创建配置文件:
77
+ 项目根目录可选配置:
78
78
 
79
79
  **OPTIMA.json** - 配置选项
80
80
  ```json
81
81
  {
82
82
  "model": "claude-sonnet-4-5-20250929",
83
- "maxTurns": 50,
84
- "theme": "dark"
83
+ "maxTurns": 50
85
84
  }
86
85
  ```
87
86
 
@@ -93,7 +92,7 @@ optima serve --port 3000
93
92
  - 优先使用现有库存
94
93
  ```
95
94
 
96
- ## API
95
+ ## API 使用
97
96
 
98
97
  ```typescript
99
98
  import { OptimaAgent } from '@optima-chat/optima-agent';
@@ -103,10 +102,9 @@ const agent = new OptimaAgent({
103
102
  maxTurns: 50,
104
103
  });
105
104
 
106
- // 单次对话
107
105
  for await (const event of agent.chat('查看商品列表')) {
108
- if (event.type === 'text') {
109
- console.log(event.text);
106
+ if (event.type === 'assistant') {
107
+ console.log(event.message);
110
108
  }
111
109
  }
112
110
 
@@ -114,9 +112,65 @@ for await (const event of agent.chat('查看商品列表')) {
114
112
  agent.reset();
115
113
  ```
116
114
 
117
- ## 文档
115
+ ## 技术架构
116
+
117
+ ```
118
+ ┌─────────────────────────────────────────────────────────────────┐
119
+ │ 用户界面层 │
120
+ │ ┌──────────────────┐ ┌──────────────────┐ │
121
+ │ │ 终端 CLI │ │ HTTP Server │ │
122
+ │ │ (Stream Mode) │ │ (WebSocket) │ │
123
+ │ └────────┬─────────┘ └────────┬─────────┘ │
124
+ └───────────┼──────────────────────────────────┼──────────────────┘
125
+ │ │
126
+ └──────────────┬───────────────────┘
127
+
128
+ ┌─────────────────────────────────────────────────────────────────┐
129
+ │ Optima Agent 核心 │
130
+ │ ┌───────────────────────────────────────────────────────────┐ │
131
+ │ │ Claude Agent SDK │ │
132
+ │ │ • 流式输出 • 上下文管理 • Hooks • 会话恢复 │ │
133
+ │ └───────────────────────────────────────────────────────────┘ │
134
+ │ │ │
135
+ │ ┌──────────────┬──────────┴──────────┬──────────────┐ │
136
+ │ │ │ │ │ │
137
+ │ ▼ ▼ ▼ ▼ │
138
+ │ Skills System Prompt Tools MCP Server │
139
+ │ (10个) (引导逻辑) (Bash/Read..) (Memory) │
140
+ └──────────────────────┬──────────────────────────────────────────┘
141
+
142
+ ┌──────────────┼──────────────┐
143
+ ▼ ▼ ▼
144
+ ┌─────────────┐ ┌──────────┐ ┌──────────────┐
145
+ │ commerce │ │ comfy │ │ google-ads │
146
+ │ -cli │ │ -cli │ │ -cli │ ...
147
+ │ │ │ │ │ │
148
+ │ 商品·订单 │ │ 图像·视频 │ │ 广告投放 │
149
+ └─────────────┘ └──────────┘ └──────────────┘
150
+ ```
151
+
152
+ ### 技术栈
153
+
154
+ - **核心**: Claude Agent SDK v0.1.55
155
+ - **语言**: TypeScript
156
+ - **UI**: 自定义终端渲染
157
+ - **工具集成**: 5 个专业 CLI 工具
118
158
 
119
- - [技术设计](./docs/design/README.md)
159
+ ## 开发
160
+
161
+ ```bash
162
+ # 安装依赖
163
+ npm install
164
+
165
+ # 开发模式
166
+ npm run dev
167
+
168
+ # 构建
169
+ npm run build
170
+
171
+ # 类型检查
172
+ npm run typecheck
173
+ ```
120
174
 
121
175
  ## License
122
176
 
@@ -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
- const VERSION = "0.1.75";
6
+ const VERSION = "0.1.77";
7
7
  function printHelp() {
8
8
  console.log(`
9
9
  Optima Agent - 电商运营 AI 助手
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/server/index.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAgC,aAAa,EAAgB,MAAM,YAAY,CAAC;AAE5F,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,wBAAgB,WAAW,CAAC,OAAO,EAAE,aAAa,sGA6JjD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/server/index.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAgC,aAAa,EAAgB,MAAM,YAAY,CAAC;AAE5F,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AAIhD,wBAAgB,WAAW,CAAC,OAAO,EAAE,aAAa,sGA2PjD"}
@@ -2,13 +2,14 @@ import { createServer } from "http";
2
2
  import { WebSocketServer, WebSocket } from "ws";
3
3
  import { URL } from "url";
4
4
  import { OptimaAgent } from "../agent.js";
5
+ const VERSION = "0.1.77";
5
6
  export function startServer(options) {
6
7
  const { port, token, cwd } = options;
7
8
  const server = createServer((req, res) => {
8
9
  // 健康检查
9
10
  if (req.url === "/health") {
10
11
  res.writeHead(200, { "Content-Type": "application/json" });
11
- res.end(JSON.stringify({ status: "ok", version: "0.1.0" }));
12
+ res.end(JSON.stringify({ status: "ok", version: VERSION }));
12
13
  return;
13
14
  }
14
15
  res.writeHead(404);
@@ -26,16 +27,40 @@ export function startServer(options) {
26
27
  return;
27
28
  }
28
29
  }
29
- // 创建 Agent 实例
30
- const agent = new OptimaAgent({ cwd });
30
+ // 创建带 hooks 的 Agent 实例
31
31
  const sessionId = `sess-${Date.now().toString(36)}`;
32
32
  const skillsUsed = new Set();
33
+ const expandedSkills = new Set();
33
34
  let toolsCalled = 0;
35
+ let abortController = null;
36
+ const agent = new OptimaAgent({
37
+ cwd,
38
+ hooks: {
39
+ PreToolUse: [{
40
+ matcher: "Skill",
41
+ hooks: [async (input) => {
42
+ const hookInput = input;
43
+ const skillName = hookInput.tool_input?.skill;
44
+ if (skillName) {
45
+ expandedSkills.add(skillName);
46
+ sendMessage(ws, {
47
+ type: "skill_loaded",
48
+ skill: skillName,
49
+ expanded: true,
50
+ timestamp: new Date().toISOString(),
51
+ });
52
+ }
53
+ return { continue: true };
54
+ }],
55
+ }],
56
+ },
57
+ });
34
58
  // 发送连接成功消息
35
59
  sendMessage(ws, {
36
60
  type: "connected",
37
61
  session_id: sessionId,
38
- skills: [], // Skills 会在处理时动态加载
62
+ skills: [],
63
+ version: VERSION,
39
64
  });
40
65
  ws.on("message", async (data) => {
41
66
  let msg;
@@ -49,29 +74,53 @@ export function startServer(options) {
49
74
  if (msg.type === "reset") {
50
75
  agent.reset();
51
76
  skillsUsed.clear();
77
+ expandedSkills.clear();
52
78
  toolsCalled = 0;
53
- sendMessage(ws, { type: "connected", session_id: sessionId, skills: [] });
79
+ sendMessage(ws, { type: "connected", session_id: sessionId, skills: [], version: VERSION });
80
+ return;
81
+ }
82
+ if (msg.type === "abort") {
83
+ if (abortController) {
84
+ abortController.abort();
85
+ abortController = null;
86
+ }
54
87
  return;
55
88
  }
56
89
  if (msg.type === "message") {
57
90
  const messageId = msg.id;
58
91
  const startTime = Date.now();
59
- let inputTokens = 0;
60
- let outputTokens = 0;
92
+ let totalTokens = { input: 0, output: 0 };
93
+ let modelTokens = {};
94
+ let currentContext = { used: 0, total: 0 };
95
+ abortController = new AbortController();
61
96
  sendMessage(ws, { type: "processing", message_id: messageId });
62
97
  try {
63
- for await (const sdkMsg of agent.chat(msg.content)) {
98
+ for await (const sdkMsg of agent.chat(msg.content, { signal: abortController.signal })) {
64
99
  const timestamp = new Date().toISOString();
65
- // 处理系统消息(skills
100
+ // 处理系统消息(skills metadata 加载)
66
101
  if (sdkMsg.type === "system" && "skills" in sdkMsg && sdkMsg.skills) {
67
102
  const skills = sdkMsg.skills;
68
103
  for (const skill of skills) {
69
104
  if (skill && !skillsUsed.has(skill)) {
70
105
  skillsUsed.add(skill);
71
- sendMessage(ws, { type: "skill_loaded", skill, timestamp });
106
+ sendMessage(ws, {
107
+ type: "skill_loaded",
108
+ skill,
109
+ expanded: false, // metadata only
110
+ timestamp,
111
+ });
72
112
  }
73
113
  }
74
114
  }
115
+ // 处理 assistant 消息(获取 context 和 token 信息)
116
+ if (sdkMsg.type === "assistant" && sdkMsg.message) {
117
+ // 从 message.usage 获取当前 context
118
+ if (sdkMsg.message.usage) {
119
+ const usage = sdkMsg.message.usage;
120
+ const inputTokens = (usage.input_tokens ?? 0) + (usage.cache_read_input_tokens ?? 0) + (usage.cache_creation_input_tokens ?? 0);
121
+ currentContext = { used: inputTokens, total: currentContext.total || 200000 };
122
+ }
123
+ }
75
124
  // 处理助手消息
76
125
  if (sdkMsg.type === "assistant" && sdkMsg.message?.content) {
77
126
  for (const block of sdkMsg.message.content) {
@@ -105,27 +154,55 @@ export function startServer(options) {
105
154
  }
106
155
  }
107
156
  }
108
- // 处理结果
157
+ // 处理结果(获取完整的 model usage)
109
158
  if (sdkMsg.type === "result") {
110
- const usage = sdkMsg.usage;
111
- inputTokens = usage?.input_tokens ?? 0;
112
- outputTokens = usage?.output_tokens ?? 0;
159
+ const modelUsage = sdkMsg.modelUsage;
160
+ if (modelUsage) {
161
+ for (const [modelName, model] of Object.entries(modelUsage)) {
162
+ const inputTokens = (model.inputTokens ?? 0) + (model.cacheReadInputTokens ?? 0) + (model.cacheCreationInputTokens ?? 0);
163
+ const outputTokens = model.outputTokens ?? 0;
164
+ totalTokens.input += inputTokens;
165
+ totalTokens.output += outputTokens;
166
+ if (!modelTokens[modelName]) {
167
+ modelTokens[modelName] = { input: 0, output: 0 };
168
+ }
169
+ modelTokens[modelName].input += inputTokens;
170
+ modelTokens[modelName].output += outputTokens;
171
+ // 更新 context window 信息
172
+ if (model.contextWindow) {
173
+ currentContext.total = model.contextWindow;
174
+ }
175
+ }
176
+ }
113
177
  }
114
178
  }
115
179
  const stats = {
116
- tokens: { input: inputTokens, output: outputTokens },
180
+ tokens: {
181
+ total: totalTokens,
182
+ by_model: modelTokens,
183
+ },
184
+ context: currentContext,
117
185
  duration_ms: Date.now() - startTime,
118
- skills_used: Array.from(skillsUsed),
186
+ skills: {
187
+ loaded: Array.from(skillsUsed),
188
+ expanded: Array.from(expandedSkills),
189
+ },
119
190
  tools_called: toolsCalled,
120
191
  };
121
192
  sendMessage(ws, { type: "done", message_id: messageId, stats });
122
193
  }
123
194
  catch (error) {
124
- sendMessage(ws, {
125
- type: "error",
126
- code: "EXECUTION_ERROR",
127
- message: error instanceof Error ? error.message : "Unknown error",
128
- });
195
+ const errorMsg = error instanceof Error ? error.message : "Unknown error";
196
+ if (!errorMsg.includes("aborted")) {
197
+ sendMessage(ws, {
198
+ type: "error",
199
+ code: "EXECUTION_ERROR",
200
+ message: errorMsg,
201
+ });
202
+ }
203
+ }
204
+ finally {
205
+ abortController = null;
129
206
  }
130
207
  }
131
208
  });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/server/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/server/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,MAAM,CAAC;AACpC,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AAChD,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAC1B,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAK1C,MAAM,OAAO,GAAG,QAAQ,CAAC;AAEzB,MAAM,UAAU,WAAW,CAAC,OAAsB;IAChD,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC;IAErC,MAAM,MAAM,GAAG,YAAY,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QACvC,OAAO;QACP,IAAI,GAAG,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;YAC1B,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;YAC3D,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;YAC5D,OAAO;QACT,CAAC;QAED,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QACnB,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IACvB,CAAC,CAAC,CAAC;IAEH,MAAM,GAAG,GAAG,IAAI,eAAe,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAEzD,GAAG,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE;QAC/B,WAAW;QACX,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,EAAE,EAAE,oBAAoB,IAAI,EAAE,CAAC,CAAC;YAC/D,MAAM,WAAW,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAClD,IAAI,WAAW,KAAK,KAAK,EAAE,CAAC;gBAC1B,WAAW,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC,CAAC;gBAClF,EAAE,CAAC,KAAK,EAAE,CAAC;gBACX,OAAO;YACT,CAAC;QACH,CAAC;QAED,uBAAuB;QACvB,MAAM,SAAS,GAAG,QAAQ,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;QACpD,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;QACrC,MAAM,cAAc,GAAG,IAAI,GAAG,EAAU,CAAC;QACzC,IAAI,WAAW,GAAG,CAAC,CAAC;QACpB,IAAI,eAAe,GAA2B,IAAI,CAAC;QAEnD,MAAM,KAAK,GAAG,IAAI,WAAW,CAAC;YAC5B,GAAG;YACH,KAAK,EAAE;gBACL,UAAU,EAAE,CAAC;wBACX,OAAO,EAAE,OAAO;wBAChB,KAAK,EAAE,CAAC,KAAK,EAAE,KAAc,EAAE,EAAE;gCAC/B,MAAM,SAAS,GAAG,KAA4C,CAAC;gCAC/D,MAAM,SAAS,GAAG,SAAS,CAAC,UAAU,EAAE,KAAK,CAAC;gCAC9C,IAAI,SAAS,EAAE,CAAC;oCACd,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;oCAC9B,WAAW,CAAC,EAAE,EAAE;wCACd,IAAI,EAAE,cAAc;wCACpB,KAAK,EAAE,SAAS;wCAChB,QAAQ,EAAE,IAAI;wCACd,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;qCACpC,CAAC,CAAC;gCACL,CAAC;gCACD,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;4BAC5B,CAAC,CAAC;qBACH,CAAC;aACH;SACF,CAAC,CAAC;QAEH,WAAW;QACX,WAAW,CAAC,EAAE,EAAE;YACd,IAAI,EAAE,WAAW;YACjB,UAAU,EAAE,SAAS;YACrB,MAAM,EAAE,EAAE;YACV,OAAO,EAAE,OAAO;SACjB,CAAC,CAAC;QAEH,EAAE,CAAC,EAAE,CAAC,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;YAC9B,IAAI,GAAkB,CAAC;YACvB,IAAI,CAAC;gBACH,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;YACpC,CAAC;YAAC,MAAM,CAAC;gBACP,WAAW,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC,CAAC;gBAClF,OAAO;YACT,CAAC;YAED,IAAI,GAAG,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBACzB,KAAK,CAAC,KAAK,EAAE,CAAC;gBACd,UAAU,CAAC,KAAK,EAAE,CAAC;gBACnB,cAAc,CAAC,KAAK,EAAE,CAAC;gBACvB,WAAW,GAAG,CAAC,CAAC;gBAChB,WAAW,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;gBAC5F,OAAO;YACT,CAAC;YAED,IAAI,GAAG,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBACzB,IAAI,eAAe,EAAE,CAAC;oBACpB,eAAe,CAAC,KAAK,EAAE,CAAC;oBACxB,eAAe,GAAG,IAAI,CAAC;gBACzB,CAAC;gBACD,OAAO;YACT,CAAC;YAED,IAAI,GAAG,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBAC3B,MAAM,SAAS,GAAG,GAAG,CAAC,EAAE,CAAC;gBACzB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBAC7B,IAAI,WAAW,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;gBAC1C,IAAI,WAAW,GAAsD,EAAE,CAAC;gBACxE,IAAI,cAAc,GAAG,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;gBAE3C,eAAe,GAAG,IAAI,eAAe,EAAE,CAAC;gBAExC,WAAW,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,CAAC;gBAE/D,IAAI,CAAC;oBACH,IAAI,KAAK,EAAE,MAAM,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,eAAe,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC;wBACvF,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;wBAE3C,6BAA6B;wBAC7B,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,IAAI,QAAQ,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;4BACpE,MAAM,MAAM,GAAG,MAAM,CAAC,MAA6B,CAAC;4BACpD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;gCAC3B,IAAI,KAAK,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;oCACpC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;oCACtB,WAAW,CAAC,EAAE,EAAE;wCACd,IAAI,EAAE,cAAc;wCACpB,KAAK;wCACL,QAAQ,EAAE,KAAK,EAAG,gBAAgB;wCAClC,SAAS;qCACV,CAAC,CAAC;gCACL,CAAC;4BACH,CAAC;wBACH,CAAC;wBAED,yCAAyC;wBACzC,IAAI,MAAM,CAAC,IAAI,KAAK,WAAW,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;4BAClD,+BAA+B;4BAC/B,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;gCACzB,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,KAK5B,CAAC;gCACF,MAAM,WAAW,GAAG,CAAC,KAAK,CAAC,YAAY,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,uBAAuB,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,2BAA2B,IAAI,CAAC,CAAC,CAAC;gCAChI,cAAc,GAAG,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,cAAc,CAAC,KAAK,IAAI,MAAM,EAAE,CAAC;4BAChF,CAAC;wBACH,CAAC;wBAED,SAAS;wBACT,IAAI,MAAM,CAAC,IAAI,KAAK,WAAW,IAAI,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC;4BAC3D,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;gCAC3C,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;oCAC1B,WAAW,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,KAAK,CAAC,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;gCAC1E,CAAC;qCAAM,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;oCACrC,WAAW,EAAE,CAAC;oCACd,MAAM,OAAO,GAAG,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ;wCAC7C,CAAC,CAAC,KAAK,CAAC,KAAK;wCACb,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;oCAChC,WAAW,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC;gCAC/E,CAAC;4BACH,CAAC;wBACH,CAAC;wBAED,SAAS;wBACT,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC;4BACtD,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;gCAC3C,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;oCACjC,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;oCAC3C,MAAM,MAAM,GAAG,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ;wCAC9C,CAAC,CAAC,KAAK,CAAC,OAAO;wCACf,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;oCAClC,WAAW,CAAC,EAAE,EAAE;wCACd,IAAI,EAAE,aAAa;wCACnB,IAAI,EAAE,SAAS;wCACf,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;wCAC5C,MAAM;wCACN,SAAS;qCACV,CAAC,CAAC;gCACL,CAAC;4BACH,CAAC;wBACH,CAAC;wBAED,0BAA0B;wBAC1B,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;4BAC7B,MAAM,UAAU,GAAG,MAAM,CAAC,UAMZ,CAAC;4BAEf,IAAI,UAAU,EAAE,CAAC;gCACf,KAAK,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;oCAC5D,MAAM,WAAW,GAAG,CAAC,KAAK,CAAC,WAAW,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,oBAAoB,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,wBAAwB,IAAI,CAAC,CAAC,CAAC;oCACzH,MAAM,YAAY,GAAG,KAAK,CAAC,YAAY,IAAI,CAAC,CAAC;oCAE7C,WAAW,CAAC,KAAK,IAAI,WAAW,CAAC;oCACjC,WAAW,CAAC,MAAM,IAAI,YAAY,CAAC;oCAEnC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE,CAAC;wCAC5B,WAAW,CAAC,SAAS,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;oCACnD,CAAC;oCACD,WAAW,CAAC,SAAS,CAAC,CAAC,KAAK,IAAI,WAAW,CAAC;oCAC5C,WAAW,CAAC,SAAS,CAAC,CAAC,MAAM,IAAI,YAAY,CAAC;oCAE9C,uBAAuB;oCACvB,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC;wCACxB,cAAc,CAAC,KAAK,GAAG,KAAK,CAAC,aAAa,CAAC;oCAC7C,CAAC;gCACH,CAAC;4BACH,CAAC;wBACH,CAAC;oBACH,CAAC;oBAED,MAAM,KAAK,GAAiB;wBAC1B,MAAM,EAAE;4BACN,KAAK,EAAE,WAAW;4BAClB,QAAQ,EAAE,WAAW;yBACtB;wBACD,OAAO,EAAE,cAAc;wBACvB,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;wBACnC,MAAM,EAAE;4BACN,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC;4BAC9B,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC;yBACrC;wBACD,YAAY,EAAE,WAAW;qBAC1B,CAAC;oBAEF,WAAW,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;gBAClE,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,MAAM,QAAQ,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;oBAC1E,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;wBAClC,WAAW,CAAC,EAAE,EAAE;4BACd,IAAI,EAAE,OAAO;4BACb,IAAI,EAAE,iBAAiB;4BACvB,OAAO,EAAE,QAAQ;yBAClB,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;wBAAS,CAAC;oBACT,eAAe,GAAG,IAAI,CAAC;gBACzB,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;YAClB,OAAO;QACT,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE;QACvB,OAAO,CAAC,GAAG,CAAC,mDAAmD,IAAI,EAAE,CAAC,CAAC;QACvE,OAAO,CAAC,GAAG,CAAC,sCAAsC,IAAI,KAAK,CAAC,CAAC;QAC7D,OAAO,CAAC,GAAG,CAAC,kCAAkC,IAAI,SAAS,CAAC,CAAC;QAC7D,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,WAAW,CAAC,EAAa,EAAE,GAAkB;IACpD,IAAI,EAAE,CAAC,UAAU,KAAK,SAAS,CAAC,IAAI,EAAE,CAAC;QACrC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;IAC/B,CAAC;AACH,CAAC"}
@@ -12,12 +12,14 @@ export type ServerMessage = {
12
12
  type: "connected";
13
13
  session_id: string;
14
14
  skills: string[];
15
+ version: string;
15
16
  } | {
16
17
  type: "processing";
17
18
  message_id: string;
18
19
  } | {
19
20
  type: "skill_loaded";
20
21
  skill: string;
22
+ expanded: boolean;
21
23
  timestamp: string;
22
24
  } | {
23
25
  type: "tool_call";
@@ -45,11 +47,24 @@ export type ServerMessage = {
45
47
  };
46
48
  export interface MessageStats {
47
49
  tokens: {
48
- input: number;
49
- output: number;
50
+ total: {
51
+ input: number;
52
+ output: number;
53
+ };
54
+ by_model: Record<string, {
55
+ input: number;
56
+ output: number;
57
+ }>;
58
+ };
59
+ context: {
60
+ used: number;
61
+ total: number;
50
62
  };
51
63
  duration_ms: number;
52
- skills_used: string[];
64
+ skills: {
65
+ loaded: string[];
66
+ expanded: string[];
67
+ };
53
68
  tools_called: number;
54
69
  }
55
70
  export interface ServerOptions {
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/server/types.ts"],"names":[],"mappings":"AACA,MAAM,MAAM,aAAa,GACrB;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GAChD;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GAClC;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,CAAC;AAGtB,MAAM,MAAM,aAAa,GACrB;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,GAC3D;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GAC1C;IAAE,IAAI,EAAE,cAAc,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GAC1D;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GACvE;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GACrG;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GAC1D;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,YAAY,CAAA;CAAE,GACzD;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAErD,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1C,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;CACd"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/server/types.ts"],"names":[],"mappings":"AACA,MAAM,MAAM,aAAa,GACrB;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GAChD;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GAClC;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,CAAC;AAGtB,MAAM,MAAM,aAAa,GACrB;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAC5E;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GAC1C;IAAE,IAAI,EAAE,cAAc,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GAC7E;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GACvE;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GACrG;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GAC1D;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,YAAY,CAAA;CAAE,GACzD;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAErD,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE;QACN,KAAK,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,CAAC;QACzC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KAC7D,CAAC;IACF,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IACzC,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE;QACN,MAAM,EAAE,MAAM,EAAE,CAAC;QACjB,QAAQ,EAAE,MAAM,EAAE,CAAC;KACpB,CAAC;IACF,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;CACd"}
@@ -1,5 +1,5 @@
1
1
  import { OptimaAgent } from "../agent.js";
2
- const VERSION = "0.1.75";
2
+ const VERSION = "0.1.77";
3
3
  const MAX_RESULT_LINES = 5;
4
4
  const MAX_LINE_LENGTH = 120; // 每行最大字符数
5
5
  const AVAILABLE_MODELS = [
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@optima-chat/optima-agent",
3
- "version": "0.1.75",
3
+ "version": "0.1.77",
4
4
  "description": "基于 Claude Agent SDK 的电商运营 AI 助手",
5
5
  "type": "module",
6
6
  "main": "dist/src/index.js",
@@ -1,14 +0,0 @@
1
- {
2
- "permissions": {
3
- "allow": [
4
- "Bash(gh api:*)",
5
- "WebFetch(domain:platform.claude.com)",
6
- "Bash(git init:*)",
7
- "Bash(mkdir:*)",
8
- "Bash(npm run typecheck:*)",
9
- "Bash(npm view:*)"
10
- ],
11
- "deny": [],
12
- "ask": []
13
- }
14
- }
package/dist/package.json DELETED
@@ -1,67 +0,0 @@
1
- {
2
- "name": "@optima-chat/optima-agent",
3
- "version": "0.1.8",
4
- "description": "基于 Claude Agent SDK 的电商运营 AI 助手",
5
- "type": "module",
6
- "main": "dist/src/index.js",
7
- "types": "dist/src/index.d.ts",
8
- "bin": {
9
- "optima": "./dist/bin/optima.js"
10
- },
11
- "files": [
12
- "dist",
13
- ".claude"
14
- ],
15
- "repository": {
16
- "type": "git",
17
- "url": "https://github.com/Optima-Chat/optima-agent.git"
18
- },
19
- "keywords": [
20
- "ai",
21
- "agent",
22
- "claude",
23
- "ecommerce",
24
- "cli"
25
- ],
26
- "author": "Optima Chat",
27
- "license": "MIT",
28
- "scripts": {
29
- "build": "tsc",
30
- "dev": "tsx watch src/index.ts",
31
- "start": "node dist/src/index.js",
32
- "typecheck": "tsc --noEmit",
33
- "test": "vitest run",
34
- "test:watch": "vitest",
35
- "optima": "tsx bin/optima.ts",
36
- "prepublishOnly": "npm run build"
37
- },
38
- "dependencies": {
39
- "@anthropic-ai/claude-agent-sdk": "^0.1.55",
40
- "@optima-chat/bi-cli": "^0.2.0",
41
- "@optima-chat/comfy-cli": "^0.7.2",
42
- "@optima-chat/commerce-cli": "^1.5.0",
43
- "@optima-chat/google-ads-cli": "^0.4.0",
44
- "@optima-chat/scout-cli": "^0.1.10",
45
- "gray-matter": "^4.0.3",
46
- "ink": "^5.2.1",
47
- "ink-spinner": "^5.0.0",
48
- "ink-text-input": "^6.0.0",
49
- "react": "^18.3.1",
50
- "ws": "^8.18.3",
51
- "zod": "^3.23.8"
52
- },
53
- "devDependencies": {
54
- "@types/node": "^22.10.1",
55
- "@types/react": "^18.3.27",
56
- "@types/ws": "^8.18.1",
57
- "tsx": "^4.19.2",
58
- "typescript": "^5.7.2",
59
- "vitest": "^4.0.14"
60
- },
61
- "engines": {
62
- "node": ">=18.0.0"
63
- },
64
- "overrides": {
65
- "react": "^18.3.1"
66
- }
67
- }
@@ -1,2 +0,0 @@
1
- export declare const VERSION = "0.1.6";
2
- //# sourceMappingURL=version.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,OAAO,UAAU,CAAC"}
@@ -1,3 +0,0 @@
1
- // 自动生成
2
- export const VERSION = "0.1.6";
3
- //# sourceMappingURL=version.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAAA,OAAO;AACP,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC"}