@ai-zen/cli 1.0.0-alpha.1 → 1.0.0-alpha.3
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/CHANGELOG.md +44 -0
- package/README.md +12 -12
- package/README.zh.md +12 -12
- package/dist/config.d.ts +1 -1
- package/dist/config.js +1 -1
- package/dist/conversation-persist-plugin.js +1 -1
- package/dist/conversation-persist-plugin.js.map +1 -1
- package/dist/conversation-repository.js +1 -1
- package/dist/conversation-repository.js.map +1 -1
- package/dist/migration-service.js +1 -1
- package/dist/migration-service.js.map +1 -1
- package/dist/session-pointer.d.ts +22 -9
- package/dist/session-pointer.d.ts.map +1 -1
- package/dist/session-pointer.js +55 -23
- package/dist/session-pointer.js.map +1 -1
- package/dist/tui/chat-session.d.ts +8 -2
- package/dist/tui/chat-session.d.ts.map +1 -1
- package/dist/tui/chat-session.js +11 -2
- package/dist/tui/chat-session.js.map +1 -1
- package/dist/tui/config-wizard/types.d.ts +9 -0
- package/dist/tui/config-wizard/types.d.ts.map +1 -1
- package/dist/tui/config-wizard/wizard.d.ts.map +1 -1
- package/dist/tui/config-wizard/wizard.js +4 -3
- package/dist/tui/config-wizard/wizard.js.map +1 -1
- package/dist/tui/highlight.d.ts +3 -2
- package/dist/tui/highlight.d.ts.map +1 -1
- package/dist/tui/highlight.js +3 -2
- package/dist/tui/highlight.js.map +1 -1
- package/dist/tui/index.js +1 -1
- package/dist/tui/index.js.map +1 -1
- package/dist/tui/screens/chat-commands.d.ts.map +1 -1
- package/dist/tui/screens/chat-commands.js +5 -3
- package/dist/tui/screens/chat-commands.js.map +1 -1
- package/dist/tui/screens/chat.d.ts.map +1 -1
- package/dist/tui/screens/chat.js +3 -2
- package/dist/tui/screens/chat.js.map +1 -1
- package/dist/tui/screens/lines.d.ts +10 -2
- package/dist/tui/screens/lines.d.ts.map +1 -1
- package/dist/tui/screens/lines.js +85 -30
- package/dist/tui/screens/lines.js.map +1 -1
- package/dist/tui/screens/render.d.ts.map +1 -1
- package/dist/tui/screens/render.js +5 -3
- package/dist/tui/screens/render.js.map +1 -1
- package/dist/tui/screens/state.d.ts +17 -0
- package/dist/tui/screens/state.d.ts.map +1 -1
- package/dist/tui/screens/state.js +29 -4
- package/dist/tui/screens/state.js.map +1 -1
- package/dist/tui/theme.d.ts +7 -1
- package/dist/tui/theme.d.ts.map +1 -1
- package/dist/tui/theme.js +15 -3
- package/dist/tui/theme.js.map +1 -1
- package/package.json +3 -3
|
@@ -1,5 +1,22 @@
|
|
|
1
1
|
import { ChatEvent } from "../chat-session.js";
|
|
2
2
|
import { Block, LiveAssistant } from "./lines.js";
|
|
3
|
+
/**
|
|
4
|
+
* 视图历史保留上限(块数)。
|
|
5
|
+
*
|
|
6
|
+
* 长对话里 `blocks` 会随每轮追加而单调增长:迁移(`strategy: "prune"`)虽会裁剪
|
|
7
|
+
* `agent.messages`,**却不会清理 `blocks`**,于是内存里累积的是「跨迁移的全程历史」
|
|
8
|
+
* —— 这正是长对话 OOM 的主要来源。
|
|
9
|
+
*
|
|
10
|
+
* 这里给内存中的视图封顶:超出即从**最旧的块**开始丢弃。更早的内容仍完整保存在
|
|
11
|
+
* `conversations/<id>.json`,可用 `/load` 找回。
|
|
12
|
+
*
|
|
13
|
+
* 注意:**不能**改在迁移时清空视图 —— 迁移发生在 `agent.send()` 内部(`onAfterSend`),
|
|
14
|
+
* 此时正在流式的 `live` 尚未被 `done` 定稿,清空会把刚生成的回答一并抹掉。封顶只丢最旧、
|
|
15
|
+
* 不碰 `live`,故安全。
|
|
16
|
+
*/
|
|
17
|
+
export declare const MAX_TRANSCRIPT_BLOCKS = 200;
|
|
18
|
+
/** 追加块并封顶(丢弃最旧),保证内存有界;`live` 不在其中,不受影响 */
|
|
19
|
+
export declare function trimTranscript(blocks: Block[]): Block[];
|
|
3
20
|
export interface ChatState {
|
|
4
21
|
blocks: Block[];
|
|
5
22
|
live: LiveAssistant | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../../src/tui/screens/state.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAIlD,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,IAAI,EAAE,aAAa,GAAG,IAAI,CAAC;CAC5B;AAED,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,CAAC;AAEvD,eAAO,IAAI,QAAQ,QAAI,CAAC;AACxB,eAAO,MAAM,MAAM,cAAmB,CAAC;AAEvC,wBAAgB,WAAW,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,GAAG,SAAS,CAmE3E"}
|
|
1
|
+
{"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../../src/tui/screens/state.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAIlD;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,qBAAqB,MAAM,CAAC;AAEzC,2CAA2C;AAC3C,wBAAgB,cAAc,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,CAIvD;AAMD,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,IAAI,EAAE,aAAa,GAAG,IAAI,CAAC;CAC5B;AAED,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,CAAC;AAEvD,eAAO,IAAI,QAAQ,QAAI,CAAC;AACxB,eAAO,MAAM,MAAM,cAAmB,CAAC;AAEvC,wBAAgB,WAAW,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,GAAG,SAAS,CAmE3E"}
|
|
@@ -1,3 +1,28 @@
|
|
|
1
|
+
// ==================== 对话状态与归约器 ====================
|
|
2
|
+
/**
|
|
3
|
+
* 视图历史保留上限(块数)。
|
|
4
|
+
*
|
|
5
|
+
* 长对话里 `blocks` 会随每轮追加而单调增长:迁移(`strategy: "prune"`)虽会裁剪
|
|
6
|
+
* `agent.messages`,**却不会清理 `blocks`**,于是内存里累积的是「跨迁移的全程历史」
|
|
7
|
+
* —— 这正是长对话 OOM 的主要来源。
|
|
8
|
+
*
|
|
9
|
+
* 这里给内存中的视图封顶:超出即从**最旧的块**开始丢弃。更早的内容仍完整保存在
|
|
10
|
+
* `conversations/<id>.json`,可用 `/load` 找回。
|
|
11
|
+
*
|
|
12
|
+
* 注意:**不能**改在迁移时清空视图 —— 迁移发生在 `agent.send()` 内部(`onAfterSend`),
|
|
13
|
+
* 此时正在流式的 `live` 尚未被 `done` 定稿,清空会把刚生成的回答一并抹掉。封顶只丢最旧、
|
|
14
|
+
* 不碰 `live`,故安全。
|
|
15
|
+
*/
|
|
16
|
+
export const MAX_TRANSCRIPT_BLOCKS = 200;
|
|
17
|
+
/** 追加块并封顶(丢弃最旧),保证内存有界;`live` 不在其中,不受影响 */
|
|
18
|
+
export function trimTranscript(blocks) {
|
|
19
|
+
return blocks.length > MAX_TRANSCRIPT_BLOCKS
|
|
20
|
+
? blocks.slice(blocks.length - MAX_TRANSCRIPT_BLOCKS)
|
|
21
|
+
: blocks;
|
|
22
|
+
}
|
|
23
|
+
function appendBlocks(blocks, ...added) {
|
|
24
|
+
return trimTranscript([...blocks, ...added]);
|
|
25
|
+
}
|
|
1
26
|
export let blockSeq = 0;
|
|
2
27
|
export const nextId = () => ++blockSeq;
|
|
3
28
|
export function chatReducer(state, action) {
|
|
@@ -6,7 +31,7 @@ export function chatReducer(state, action) {
|
|
|
6
31
|
return { blocks: [], live: null };
|
|
7
32
|
case "user":
|
|
8
33
|
return {
|
|
9
|
-
blocks:
|
|
34
|
+
blocks: appendBlocks(state.blocks, { id: nextId(), kind: "user", text: action.text }),
|
|
10
35
|
live: { reasoning: "", content: "", tools: [], sub: null, roundBase: 0 },
|
|
11
36
|
};
|
|
12
37
|
case "assistant-start":
|
|
@@ -50,12 +75,12 @@ export function chatReducer(state, action) {
|
|
|
50
75
|
case "notice":
|
|
51
76
|
return {
|
|
52
77
|
...state,
|
|
53
|
-
blocks:
|
|
78
|
+
blocks: appendBlocks(state.blocks, { id: nextId(), kind: "notice", tone: "info", text: action.text }),
|
|
54
79
|
};
|
|
55
80
|
case "error":
|
|
56
81
|
return {
|
|
57
82
|
...state,
|
|
58
|
-
blocks:
|
|
83
|
+
blocks: appendBlocks(state.blocks, { id: nextId(), kind: "notice", tone: "error", text: action.text }),
|
|
59
84
|
};
|
|
60
85
|
case "done": {
|
|
61
86
|
if (!state.live)
|
|
@@ -66,7 +91,7 @@ export function chatReducer(state, action) {
|
|
|
66
91
|
if (isEmpty)
|
|
67
92
|
return { ...state, live: null };
|
|
68
93
|
const finished = { id: nextId(), kind: "assistant", reasoning, content, tools };
|
|
69
|
-
return { blocks:
|
|
94
|
+
return { blocks: appendBlocks(state.blocks, finished), live: null };
|
|
70
95
|
}
|
|
71
96
|
default:
|
|
72
97
|
return state;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state.js","sourceRoot":"","sources":["../../../src/tui/screens/state.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"state.js","sourceRoot":"","sources":["../../../src/tui/screens/state.ts"],"names":[],"mappings":"AAIA,qDAAqD;AAErD;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,GAAG,CAAC;AAEzC,2CAA2C;AAC3C,MAAM,UAAU,cAAc,CAAC,MAAe;IAC5C,OAAO,MAAM,CAAC,MAAM,GAAG,qBAAqB;QAC1C,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,qBAAqB,CAAC;QACrD,CAAC,CAAC,MAAM,CAAC;AACb,CAAC;AAED,SAAS,YAAY,CAAC,MAAe,EAAE,GAAG,KAAc;IACtD,OAAO,cAAc,CAAC,CAAC,GAAG,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC;AAC/C,CAAC;AASD,MAAM,CAAC,IAAI,QAAQ,GAAG,CAAC,CAAC;AACxB,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,EAAE,CAAC,EAAE,QAAQ,CAAC;AAEvC,MAAM,UAAU,WAAW,CAAC,KAAgB,EAAE,MAAkB;IAC9D,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;QACpB,KAAK,OAAO;YACV,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QACpC,KAAK,MAAM;YACT,OAAO;gBACL,MAAM,EAAE,YAAY,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;gBACrF,IAAI,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE;aACzE,CAAC;QACJ,KAAK,iBAAiB;YACpB,yCAAyC;YACzC,2CAA2C;YAC3C,OAAO;gBACL,GAAG,KAAK;gBACR,IAAI,EAAE,KAAK,CAAC,IAAI;oBACd,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;oBACvD,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE;aACvE,CAAC;QACJ,KAAK,WAAW;YACd,OAAO,KAAK,CAAC,IAAI;gBACf,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,EAAE,GAAG,KAAK,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,IAAI,EAAE,EAAE;gBACtF,CAAC,CAAC,KAAK,CAAC;QACZ,KAAK,SAAS;YACZ,OAAO,KAAK,CAAC,IAAI;gBACf,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,EAAE,GAAG,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,IAAI,EAAE,EAAE;gBAClF,CAAC,CAAC,KAAK,CAAC;QACZ,KAAK,MAAM,CAAC,CAAC,CAAC;YACZ,IAAI,CAAC,KAAK,CAAC,IAAI;gBAAE,OAAO,KAAK,CAAC;YAC9B,gDAAgD;YAChD,6CAA6C;YAC7C,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC;YACzE,MAAM,KAAK,GAAG,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACpC,6CAA6C;YAC7C,OAAO,KAAK,CAAC,MAAM,GAAG,GAAG;gBAAE,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;YAC9D,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;YAClD,KAAK,CAAC,GAAG,CAAC,GAAG;gBACX,IAAI,EAAE,IAAI,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;gBACrC,IAAI,EAAE,IAAI,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;aACtC,CAAC;YACF,OAAO,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,EAAE,GAAG,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QACtD,CAAC;QACD,KAAK,gBAAgB;YACnB,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,EAAE,GAAG,KAAK,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;QACtF,KAAK,cAAc;YACjB,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,EAAE,GAAG,KAAK,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;QAC/E,KAAK,QAAQ;YACX,OAAO;gBACL,GAAG,KAAK;gBACR,MAAM,EAAE,YAAY,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;aACtG,CAAC;QACJ,KAAK,OAAO;YACV,OAAO;gBACL,GAAG,KAAK;gBACR,MAAM,EAAE,YAAY,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;aACvG,CAAC;QACJ,KAAK,MAAM,CAAC,CAAC,CAAC;YACZ,IAAI,CAAC,KAAK,CAAC,IAAI;gBAAE,OAAO,KAAK,CAAC;YAC9B,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC;YACjD,2CAA2C;YAC3C,MAAM,OAAO,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACnF,IAAI,OAAO;gBAAE,OAAO,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;YAC7C,MAAM,QAAQ,GAAU,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;YACvF,OAAO,EAAE,MAAM,EAAE,YAAY,CAAC,KAAK,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QACtE,CAAC;QACD;YACE,OAAO,KAAK,CAAC;IACjB,CAAC;AACH,CAAC"}
|
package/dist/tui/theme.d.ts
CHANGED
|
@@ -31,7 +31,13 @@ export interface TextStyle {
|
|
|
31
31
|
}
|
|
32
32
|
/**
|
|
33
33
|
* 语法高亮色板 —— 键为 highlight.js 的 scope(`highlight.ts` 已去掉 `hljs-` 前缀),
|
|
34
|
-
* 供工具调用参数(JSON
|
|
34
|
+
* 供工具调用参数(JSON)、围栏代码块与**正文 markdown 源码着色**共用。
|
|
35
|
+
*
|
|
36
|
+
* 约定:
|
|
37
|
+
* - **不写死近白 / 近黑**(如 #e2e8f0 / #000000)——在亮色或暗色终端之一里会看不见字;
|
|
38
|
+
* 无颜色的 token 一律回落到**终端默认前景色**,需要区分时用 `bold` / `italic` / `dim` 等
|
|
39
|
+
* **终端相对属性**(`strong` / `emphasis` / `quote` 即如此)。
|
|
40
|
+
* - 绝对色只用于**强调**(关键字、字符串、标题等),且尽量取中间调。
|
|
35
41
|
*/
|
|
36
42
|
export declare const syntax: Record<string, TextStyle>;
|
|
37
43
|
/** 把 highlight.js 的 scope 映射为具体样式;未知 scope 返回空(沿用基础色) */
|
package/dist/tui/theme.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../src/tui/theme.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,yBAAyB;AACzB,eAAO,MAAM,KAAK;;;;;;;;;;;;;;CAcjB,CAAC;AAEF,oCAAoC;AACpC,MAAM,WAAW,SAAS;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED
|
|
1
|
+
{"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../src/tui/theme.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,yBAAyB;AACzB,eAAO,MAAM,KAAK;;;;;;;;;;;;;;CAcjB,CAAC;AAEF,oCAAoC;AACpC,MAAM,WAAW,SAAS;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CA6B5C,CAAC;AAEF,yDAAyD;AACzD,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAEpD;AAID,KAAK,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAEpC,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAOzC;AAED,wBAAgB,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,GAAG,MAAM,CAG5C;AAED,gBAAgB;AAChB,wBAAgB,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAIhE;AAED,4CAA4C;AAC5C,wBAAgB,UAAU,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAQtE;AAID,sBAAsB;AACtB,eAAO,MAAM,SAAS,EAAE,MAAM,EAO7B,CAAC;AAEF,oBAAoB;AACpB,eAAO,MAAM,eAAe,QAA8C,CAAC;AAE3E,wBAAwB;AACxB,eAAO,MAAM,YAAY,EAAE,MAAM,EAAqB,CAAC;AAEvD,yBAAyB;AACzB,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAElD;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,KAAK,SAAI,GAAG,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,EAAE,CAUvF"}
|
package/dist/tui/theme.js
CHANGED
|
@@ -24,7 +24,13 @@ export const theme = {
|
|
|
24
24
|
};
|
|
25
25
|
/**
|
|
26
26
|
* 语法高亮色板 —— 键为 highlight.js 的 scope(`highlight.ts` 已去掉 `hljs-` 前缀),
|
|
27
|
-
* 供工具调用参数(JSON
|
|
27
|
+
* 供工具调用参数(JSON)、围栏代码块与**正文 markdown 源码着色**共用。
|
|
28
|
+
*
|
|
29
|
+
* 约定:
|
|
30
|
+
* - **不写死近白 / 近黑**(如 #e2e8f0 / #000000)——在亮色或暗色终端之一里会看不见字;
|
|
31
|
+
* 无颜色的 token 一律回落到**终端默认前景色**,需要区分时用 `bold` / `italic` / `dim` 等
|
|
32
|
+
* **终端相对属性**(`strong` / `emphasis` / `quote` 即如此)。
|
|
33
|
+
* - 绝对色只用于**强调**(关键字、字符串、标题等),且尽量取中间调。
|
|
28
34
|
*/
|
|
29
35
|
export const syntax = {
|
|
30
36
|
keyword: { color: "#c4b5fd", bold: true },
|
|
@@ -37,8 +43,6 @@ export const syntax = {
|
|
|
37
43
|
attr: { color: "#7dd3fc" },
|
|
38
44
|
attribute: { color: "#7dd3fc" },
|
|
39
45
|
property: { color: "#7dd3fc" },
|
|
40
|
-
variable: { color: "#cbd5e1" },
|
|
41
|
-
params: { color: "#cbd5e1" },
|
|
42
46
|
title: { color: "#fbbf24" },
|
|
43
47
|
function: { color: "#fbbf24" },
|
|
44
48
|
selector: { color: "#fbbf24" },
|
|
@@ -49,6 +53,14 @@ export const syntax = {
|
|
|
49
53
|
meta: { color: "#94a3b8" },
|
|
50
54
|
addition: { color: "#86efac" },
|
|
51
55
|
deletion: { color: "#f87171" },
|
|
56
|
+
// ---- markdown 源码着色(highlight.js 的 markdown 词法)----
|
|
57
|
+
section: { color: "#a78bfa", bold: true }, // 标题(#)
|
|
58
|
+
strong: { bold: true }, // 粗体 **x**(无颜色 → 终端默认前景色 + 加粗)
|
|
59
|
+
emphasis: { italic: true }, // 斜体 *x*
|
|
60
|
+
bullet: { color: "#a78bfa" }, // 列表标记 -
|
|
61
|
+
quote: { dim: true }, // 引用 >(终端相对变暗)
|
|
62
|
+
code: { color: "#7dd3fc" }, // 行内代码 `x`
|
|
63
|
+
link: { color: "#7dd3fc" }, // 链接地址
|
|
52
64
|
};
|
|
53
65
|
/** 把 highlight.js 的 scope 映射为具体样式;未知 scope 返回空(沿用基础色) */
|
|
54
66
|
export function syntaxStyle(scope) {
|
package/dist/tui/theme.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theme.js","sourceRoot":"","sources":["../../src/tui/theme.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,yBAAyB;AACzB,MAAM,CAAC,MAAM,KAAK,GAAG;IACnB,KAAK,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAU;IACjD,MAAM,EAAE,SAAS;IACjB,IAAI,EAAE,SAAS;IACf,SAAS,EAAE,SAAS;IACpB,SAAS,EAAE,SAAS;IACpB,IAAI,EAAE,SAAS;IACf,KAAK,EAAE,SAAS;IAChB,EAAE,EAAE,SAAS;IACb,IAAI,EAAE,SAAS;IACf,GAAG,EAAE,SAAS;IACd,KAAK,EAAE,SAAS;IAChB,MAAM,EAAE,SAAS;IACjB,SAAS,EAAE,SAAS;CACrB,CAAC;AAUF
|
|
1
|
+
{"version":3,"file":"theme.js","sourceRoot":"","sources":["../../src/tui/theme.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ai-zen/cli",
|
|
3
|
-
"version": "1.0.0-alpha.
|
|
3
|
+
"version": "1.0.0-alpha.3",
|
|
4
4
|
"description": "AI-ZEN CLI - dual-mode AI terminal: pure stdio pipelines and an interactive TUI",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -21,8 +21,8 @@
|
|
|
21
21
|
"author": "LZQCN",
|
|
22
22
|
"license": "MIT",
|
|
23
23
|
"dependencies": {
|
|
24
|
-
"@ai-zen/agents-core": "^4.3.
|
|
25
|
-
"@ai-zen/agents-sdk": "1.0.0-alpha.
|
|
24
|
+
"@ai-zen/agents-core": "^4.3.2",
|
|
25
|
+
"@ai-zen/agents-sdk": "1.0.0-alpha.6",
|
|
26
26
|
"@modelcontextprotocol/sdk": "^1.29.0",
|
|
27
27
|
"dayjs": "^1.11.21",
|
|
28
28
|
"highlight.js": "^11.12.0",
|