flavor-code 1.2.9 → 1.2.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +38 -37
- package/README.zh-CN.md +45 -42
- package/dist/{app-USAFQVSX.js → app-MXWPZBEU.js} +38 -7
- package/dist/{chunk-G32MCAZA.js → chunk-EY6KE7L2.js} +1 -1
- package/dist/{chunk-WGYNTR4Q.js → chunk-OT5XIN6G.js} +3205 -610
- package/dist/cli.js +62 -23
- package/dist/desktop/main.js +2261 -393
- package/dist/desktop-renderer/assets/{index-DMZBSGrp.css → index-CPxt3vFY.css} +1 -1
- package/dist/desktop-renderer/assets/index-sgEm4kjf.js +151 -0
- package/dist/desktop-renderer/index.html +2 -2
- package/dist/pals/address.d.ts +6 -0
- package/dist/pals/auth.d.ts +7 -0
- package/dist/pals/broker-cli.d.ts +18 -0
- package/dist/pals/broker.d.ts +156 -0
- package/dist/pals/client.d.ts +109 -0
- package/dist/pals/lifecycle.d.ts +13 -0
- package/dist/pals/prompt.d.ts +23 -0
- package/dist/pals/protocol.d.ts +526 -0
- package/dist/pals/tools.d.ts +44 -0
- package/dist/production.d.ts +12 -0
- package/dist/sdk/index.js +2 -2
- package/dist/tools/types.d.ts +2 -0
- package/dist/ui/commands.d.ts +35 -3
- package/dist/ui/session.d.ts +47 -1
- package/dist/ui/transcript.d.ts +6 -0
- package/package.json +1 -1
- package//346/212/200/346/234/257/346/226/271/346/241/210/346/212/245/345/221/212.md +22 -22
- package/dist/desktop-renderer/assets/index-D-s27J39.js +0 -151
package/dist/ui/session.d.ts
CHANGED
|
@@ -22,9 +22,20 @@ export interface SessionApprovalRequest {
|
|
|
22
22
|
export type SessionOutput = AgentEvent | {
|
|
23
23
|
type: "notice";
|
|
24
24
|
message: string;
|
|
25
|
-
} | {
|
|
25
|
+
} | ({
|
|
26
|
+
type: "pal-task";
|
|
27
|
+
status: "received";
|
|
28
|
+
} & PalTaskDelivery) | ({
|
|
29
|
+
type: "cowork-event";
|
|
30
|
+
} & PalCoWorkDelivery) | {
|
|
26
31
|
type: "queued-prompt";
|
|
27
32
|
prompt: string;
|
|
33
|
+
} | {
|
|
34
|
+
type: "queued-remote-prompt";
|
|
35
|
+
prompt: string;
|
|
36
|
+
senderId: string;
|
|
37
|
+
senderAlias: string;
|
|
38
|
+
context?: "CO-WORK PLANNING" | "CO-WORK EXECUTION";
|
|
28
39
|
} | {
|
|
29
40
|
type: "write-start";
|
|
30
41
|
id: string;
|
|
@@ -52,6 +63,37 @@ export type SessionOutput = AgentEvent | {
|
|
|
52
63
|
} | {
|
|
53
64
|
type: "exit";
|
|
54
65
|
};
|
|
66
|
+
export interface PalTaskDelivery {
|
|
67
|
+
readonly senderId: string;
|
|
68
|
+
readonly senderAlias: string;
|
|
69
|
+
readonly messageId: string;
|
|
70
|
+
readonly taskId: string;
|
|
71
|
+
readonly goal: string;
|
|
72
|
+
}
|
|
73
|
+
interface PalCoWorkDeliveryBase {
|
|
74
|
+
readonly senderId: string;
|
|
75
|
+
readonly senderAlias: string;
|
|
76
|
+
readonly localId?: string;
|
|
77
|
+
readonly coWorkId: string;
|
|
78
|
+
readonly epoch: number;
|
|
79
|
+
readonly snapshot: unknown;
|
|
80
|
+
}
|
|
81
|
+
export type PalCoWorkDelivery = PalCoWorkDeliveryBase & ({
|
|
82
|
+
readonly action: "START";
|
|
83
|
+
readonly planHash: string;
|
|
84
|
+
} | {
|
|
85
|
+
readonly action: "PROPOSE" | "PLAN" | "END" | "FAIL" | "CANCEL";
|
|
86
|
+
readonly planHash: string | null;
|
|
87
|
+
});
|
|
88
|
+
export interface PalSessionServices {
|
|
89
|
+
list(verbose: boolean): Promise<unknown>;
|
|
90
|
+
rename(alias: string): Promise<unknown>;
|
|
91
|
+
info(target: string): Promise<unknown>;
|
|
92
|
+
sendTask(target: string, goal: string): Promise<unknown>;
|
|
93
|
+
startCoWork(target: string, goal: string): Promise<unknown>;
|
|
94
|
+
coWorkStatus(coWorkId?: string): Promise<unknown>;
|
|
95
|
+
cancelCoWork(coWorkId: string, reason?: string): Promise<unknown>;
|
|
96
|
+
}
|
|
55
97
|
export interface SessionServices {
|
|
56
98
|
hooks: HookBus;
|
|
57
99
|
workspace: string;
|
|
@@ -105,6 +147,7 @@ export interface SessionServices {
|
|
|
105
147
|
output(event: SessionOutput): void;
|
|
106
148
|
questions: QuestionBridge;
|
|
107
149
|
login(): Promise<string>;
|
|
150
|
+
pals?: PalSessionServices;
|
|
108
151
|
}
|
|
109
152
|
export interface MultimodalSessionInput {
|
|
110
153
|
text: string;
|
|
@@ -119,9 +162,12 @@ export declare class FlavorSession {
|
|
|
119
162
|
whenIdle(): Promise<void>;
|
|
120
163
|
steer(input: string): void;
|
|
121
164
|
followUp(input: string): void;
|
|
165
|
+
receivePalTask(input: PalTaskDelivery): void;
|
|
166
|
+
receivePalCoWorkEvent(input: PalCoWorkDelivery): Promise<void>;
|
|
122
167
|
start(): Promise<void>;
|
|
123
168
|
submit(input: string): Promise<void>;
|
|
124
169
|
submit(input: MultimodalSessionInput): Promise<void>;
|
|
125
170
|
interrupt(): "cancelled" | "exit";
|
|
126
171
|
close(): Promise<void>;
|
|
127
172
|
}
|
|
173
|
+
export {};
|
package/dist/ui/transcript.d.ts
CHANGED
|
@@ -13,6 +13,12 @@ export interface TranscriptTurn {
|
|
|
13
13
|
blocks: TranscriptBlock[];
|
|
14
14
|
taskSnapshot?: TaskSnapshot;
|
|
15
15
|
suppressedTaskIds?: string[];
|
|
16
|
+
source?: {
|
|
17
|
+
kind: "pal";
|
|
18
|
+
alias: string;
|
|
19
|
+
instanceId: string;
|
|
20
|
+
context?: "CO-WORK PLANNING" | "CO-WORK EXECUTION";
|
|
21
|
+
};
|
|
16
22
|
}
|
|
17
23
|
export interface TranscriptHistoryMessage {
|
|
18
24
|
readonly role: "user" | "assistant" | "tool";
|
package/package.json
CHANGED
|
@@ -5288,25 +5288,25 @@ flowchart LR
|
|
|
5288
5288
|
}
|
|
5289
5289
|
```
|
|
5290
5290
|
|
|
5291
|
-
同一文件在一轮中被多次修改时只显示一次,新增/删除行数累加;多文件 `ApplyPatch` 的关联文件也会被纳入。CLI 与 Electron 都从结构化事件渲染,不依赖模型在最终回答中“记得”列文件。
|
|
5292
|
-
|
|
5293
|
-
CLI 将该事件渲染为独立的 `CHANGESET` 收据,而不是紧贴正文的普通文本:
|
|
5294
|
-
|
|
5295
|
-
```text
|
|
5296
|
-
┌─ CHANGESET · 3 FILES
|
|
5297
|
-
│ UPDATE +26 -1 CHANGELOG.md
|
|
5298
|
-
│ CREATE +12 -0 src/new.ts
|
|
5299
|
-
│ DELETE +0 -4 src/old.ts
|
|
5300
|
-
└─ +38 -5
|
|
5301
|
-
```
|
|
5302
|
-
|
|
5303
|
-
- 路径优先相对当前工作区展示,避免 `C:\Users\...` 等绝对路径抢占终端宽度;窄终端由 Ink 在末尾截断。
|
|
5304
|
-
- `CREATE` 使用绿色、`UPDATE` 使用青色、`DELETE` 使用红色,增减行数也分别使用绿/红语义色;外框使用独立紫色,与 Web、Job、Command 收据形成稳定区分。
|
|
5305
|
-
- 单个收据最多列出前 8 个文件;超出时页脚显示 `Showing 8 of N`。总增删行数始终基于全部文件计算,不因折叠而失真。
|
|
5306
|
-
- 收据带一个底部空行,使后续 token usage 或 Agent 最终回答不会与文件清单粘连。
|
|
5307
|
-
- transcript 同时保留纯文本 `details` 作为旧渲染器和会话恢复的兼容后备;CLI 已渲染结构化 `changeset` 时会抑制这份后备文本,避免重复显示。
|
|
5308
|
-
|
|
5309
|
-
**使用方式:** 无需操作。让 Agent 正常使用 `Write`、`Edit`、`ApplyPatch` 修改文件,回合结束查看 `CHANGESET · N FILES` 收据即可;文件超过 8 个时以页脚总数为准。
|
|
5291
|
+
同一文件在一轮中被多次修改时只显示一次,新增/删除行数累加;多文件 `ApplyPatch` 的关联文件也会被纳入。CLI 与 Electron 都从结构化事件渲染,不依赖模型在最终回答中“记得”列文件。
|
|
5292
|
+
|
|
5293
|
+
CLI 将该事件渲染为独立的 `CHANGESET` 收据,而不是紧贴正文的普通文本:
|
|
5294
|
+
|
|
5295
|
+
```text
|
|
5296
|
+
┌─ CHANGESET · 3 FILES
|
|
5297
|
+
│ UPDATE +26 -1 CHANGELOG.md
|
|
5298
|
+
│ CREATE +12 -0 src/new.ts
|
|
5299
|
+
│ DELETE +0 -4 src/old.ts
|
|
5300
|
+
└─ +38 -5
|
|
5301
|
+
```
|
|
5302
|
+
|
|
5303
|
+
- 路径优先相对当前工作区展示,避免 `C:\Users\...` 等绝对路径抢占终端宽度;窄终端由 Ink 在末尾截断。
|
|
5304
|
+
- `CREATE` 使用绿色、`UPDATE` 使用青色、`DELETE` 使用红色,增减行数也分别使用绿/红语义色;外框使用独立紫色,与 Web、Job、Command 收据形成稳定区分。
|
|
5305
|
+
- 单个收据最多列出前 8 个文件;超出时页脚显示 `Showing 8 of N`。总增删行数始终基于全部文件计算,不因折叠而失真。
|
|
5306
|
+
- 收据带一个底部空行,使后续 token usage 或 Agent 最终回答不会与文件清单粘连。
|
|
5307
|
+
- transcript 同时保留纯文本 `details` 作为旧渲染器和会话恢复的兼容后备;CLI 已渲染结构化 `changeset` 时会抑制这份后备文本,避免重复显示。
|
|
5308
|
+
|
|
5309
|
+
**使用方式:** 无需操作。让 Agent 正常使用 `Write`、`Edit`、`ApplyPatch` 修改文件,回合结束查看 `CHANGESET · N FILES` 收据即可;文件超过 8 个时以页脚总数为准。
|
|
5310
5310
|
|
|
5311
5311
|
#### 读后写版本保护
|
|
5312
5312
|
|
|
@@ -5401,9 +5401,9 @@ running → completed | failed | cancelled
|
|
|
5401
5401
|
|
|
5402
5402
|
用户通常只需说:“在后台运行 `npm run dev`,读取日志直到服务就绪;完成检查后停止它。”
|
|
5403
5403
|
|
|
5404
|
-
CLI 将所有 Job 操作统一显示为“运行收据”,而不是普通工具行:`JOB · RUNNING/COMPLETED/FAILED/CANCELLED` 使用琥珀/绿/红/灰状态色边界,随后展示任务 ID、类型和命令标签;`JobRead` / `JobKill` 增加独立 `LOG` 区,阶段分隔行、普通输出和 stderr/ERR 使用不同强调层级;底部集中展示退出码、cursor 和截断状态。CLI 只展示最近 12 行日志并明确省略数量,`JobList` 最多展示最近 8 项,避免后台输出淹没对话。收据结束后留一行空白,Agent 正文回到主内容基线。后台进程退出码非 0 时,Registry 直接将 Job 标为 `failed`,不再产生“completed 但 exit 1”的矛盾状态。
|
|
5405
|
-
|
|
5406
|
-
前台 Shell 使用同一视觉语法但命名为“命令收据”:`COMMAND · RUNNING/COMPLETED/FAILED/CANCELLED` 的状态色与 Job 一致,命令行单独展示;stdout 进入 `OUTPUT` 区,stderr 进入红色 `ERROR` 区,底部显示退出码和运行时截断标记。CLI 最多显示 16 行输出;超出时同时保留前 8 行和后 8 行,在中间明确显示省略行数,因此 `git log` 的最近提交和 `git show --stat` 的标题、统计尾部都不会丢失。每行在窄终端单行截断,收据结束后留一行再进入 Agent 正文。持久 PTY 复用布局但标为 `TERMINAL`,避免把多轮交互会话误解成一次性命令。
|
|
5404
|
+
CLI 将所有 Job 操作统一显示为“运行收据”,而不是普通工具行:`JOB · RUNNING/COMPLETED/FAILED/CANCELLED` 使用琥珀/绿/红/灰状态色边界,随后展示任务 ID、类型和命令标签;`JobRead` / `JobKill` 增加独立 `LOG` 区,阶段分隔行、普通输出和 stderr/ERR 使用不同强调层级;底部集中展示退出码、cursor 和截断状态。CLI 只展示最近 12 行日志并明确省略数量,`JobList` 最多展示最近 8 项,避免后台输出淹没对话。收据结束后留一行空白,Agent 正文回到主内容基线。后台进程退出码非 0 时,Registry 直接将 Job 标为 `failed`,不再产生“completed 但 exit 1”的矛盾状态。
|
|
5405
|
+
|
|
5406
|
+
前台 Shell 使用同一视觉语法但命名为“命令收据”:`COMMAND · RUNNING/COMPLETED/FAILED/CANCELLED` 的状态色与 Job 一致,命令行单独展示;stdout 进入 `OUTPUT` 区,stderr 进入红色 `ERROR` 区,底部显示退出码和运行时截断标记。CLI 最多显示 16 行输出;超出时同时保留前 8 行和后 8 行,在中间明确显示省略行数,因此 `git log` 的最近提交和 `git show --stat` 的标题、统计尾部都不会丢失。每行在窄终端单行截断,收据结束后留一行再进入 Agent 正文。持久 PTY 复用布局但标为 `TERMINAL`,避免把多轮交互会话误解成一次性命令。
|
|
5407
5407
|
|
|
5408
5408
|
Windows 下 `cmd.exe` 的内置错误信息可能跟随系统 OEM 代码页,直接按 UTF-8 读取会产生 `����`。Shell 在执行用户命令前无输出地切换到代码页 65001;前台结果保留原始字节,先严格校验 UTF-8,失败时在 Windows 自动使用 GB18030 解码。后台 Job 使用自适应流式解码器,能够识别 UTF-8/GB18030,并正确处理中文或 emoji 被拆到相邻数据块的情况。调用命令时仍需保持参数化形式,例如 `{ "command": "npm", "args": ["view", "node", "dist-tags", "--json"] }`,不要把整行命令放进 `command` 字段。
|
|
5409
5409
|
|