clawt 3.9.3 → 3.9.4
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/dist/index.js
CHANGED
|
@@ -655,7 +655,7 @@ var PANEL_NOT_TTY = "\u4EA4\u4E92\u5F0F\u9762\u677F\u9700\u8981 TTY \u7EC8\u7AEF
|
|
|
655
655
|
var PANEL_TITLE = (projectName) => chalk.bold.cyan(`\u9879\u76EE\u72B6\u6001\u603B\u89C8: ${projectName}`);
|
|
656
656
|
var PANEL_CONFIGURED_BRANCH = (branchName) => chalk.gray(`\u4E3B\u5DE5\u4F5C\u5206\u652F: ${branchName}`);
|
|
657
657
|
var PANEL_CONFIGURED_BRANCH_DELETED = (branchName) => chalk.red(`\u2717 \u4E3B\u5DE5\u4F5C\u5206\u652F: ${branchName}\uFF08\u5DF2\u4E0D\u5B58\u5728\uFF09`);
|
|
658
|
-
var PANEL_CONFIGURED_BRANCH_MISMATCH = (branchName) => chalk.
|
|
658
|
+
var PANEL_CONFIGURED_BRANCH_MISMATCH = (branchName) => chalk.red(`\u26A0 \u4E3B\u5DE5\u4F5C\u5206\u652F: ${branchName}\uFF08\u4E0D\u4E00\u81F4\uFF09`);
|
|
659
659
|
var PANEL_NOT_INITIALIZED = chalk.gray("\u672A\u521D\u59CB\u5316\uFF08\u6267\u884C clawt init \u8BBE\u7F6E\u4E3B\u5DE5\u4F5C\u5206\u652F\uFF09");
|
|
660
660
|
var PANEL_UNKNOWN_DATE = "\u672A\u77E5\u65E5\u671F";
|
|
661
661
|
var PANEL_SYNCED_WITH_MAIN = "\u4E0E\u4E3B\u5206\u652F\u540C\u6B65";
|
|
@@ -5597,7 +5597,7 @@ function printMainSection(main2) {
|
|
|
5597
5597
|
if (main2.configuredBranchExists === false) {
|
|
5598
5598
|
printInfo(` ${chalk11.red(MESSAGES.STATUS_CONFIGURED_BRANCH_DELETED(main2.configuredMainBranch))}`);
|
|
5599
5599
|
} else if (main2.branch !== main2.configuredMainBranch && !main2.branch.startsWith(VALIDATE_BRANCH_PREFIX)) {
|
|
5600
|
-
printInfo(` ${chalk11.
|
|
5600
|
+
printInfo(` ${chalk11.red(MESSAGES.STATUS_CONFIGURED_BRANCH_MISMATCH(main2.configuredMainBranch))}`);
|
|
5601
5601
|
} else {
|
|
5602
5602
|
printInfo(` ${chalk11.gray(MESSAGES.STATUS_CONFIGURED_BRANCH(main2.configuredMainBranch))}`);
|
|
5603
5603
|
}
|
package/docs/status.md
CHANGED
|
@@ -50,7 +50,7 @@ clawt status [--json] [-i | --interactive]
|
|
|
50
50
|
|
|
51
51
|
主 Worktree 区块会显示配置的主工作分支信息,根据状态有以下三种展示:
|
|
52
52
|
- **正常**(灰色):`主工作分支: <branchName>`
|
|
53
|
-
-
|
|
53
|
+
- **当前分支不一致**(红色):`⚠ 主工作分支: <branchName>(当前分支不一致,如需更新请执行 clawt init)`
|
|
54
54
|
- **分支已不存在**(红色):`✗ 主工作分支: <branchName>(已不存在,请执行 clawt init 重新设置)`
|
|
55
55
|
|
|
56
56
|
注意:当项目未初始化(`configuredMainBranch` 为 null)时不展示配置分支信息;当主 worktree 当前处于验证分支(`VALIDATE_BRANCH_PREFIX` 前缀)时不显示不一致警告。
|
|
@@ -184,7 +184,7 @@ clawt status [--json] [-i | --interactive]
|
|
|
184
184
|
- `STATUS_SNAPSHOT_ORPHANED(count)`:孤立快照警告(接受数量参数)
|
|
185
185
|
- `STATUS_CONFIGURED_BRANCH(branchName)`:配置的主工作分支(正常状态,灰色)
|
|
186
186
|
- `STATUS_CONFIGURED_BRANCH_DELETED(branchName)`:配置的主工作分支已不存在(红色)
|
|
187
|
-
- `STATUS_CONFIGURED_BRANCH_MISMATCH(branchName)
|
|
187
|
+
- `STATUS_CONFIGURED_BRANCH_MISMATCH(branchName)`:当前分支与配置不一致(红色)
|
|
188
188
|
- `getWorktreeCreatedTime()` 工具函数(在 `src/utils/worktree-matcher.ts`),通过 `fs.statSync().birthtime` 获取 worktree 目录的创建时间,返回 ISO 8601 格式字符串或 null
|
|
189
189
|
- `getSnapshotModifiedTime()` 工具函数(在 `src/utils/validate-snapshot.ts`),通过 `fs.statSync` 获取快照文件的修改时间(mtime),返回 UTC 时区的 ISO 8601 格式字符串(`toISOString()` 格式)或 null
|
|
190
190
|
- `formatRelativeTime()` 格式化函数(在 `src/utils/formatter.ts`),将 ISO 8601 日期字符串转换为中文相对时间描述(如"3 天前"、"2 小时前"、"刚刚"),无效日期时返回 null
|
|
@@ -241,7 +241,7 @@ clawt status [--json] [-i | --interactive]
|
|
|
241
241
|
2. **配置分支信息行**:显示配置的主工作分支状态,有以下四种情况:
|
|
242
242
|
- 正常(灰色):`主工作分支: <branchName>`
|
|
243
243
|
- 分支已删除(红色):`✗ 主工作分支: <branchName>(已不存在)`
|
|
244
|
-
-
|
|
244
|
+
- 分支不一致(红色):`⚠ 主工作分支: <branchName>(不一致)`
|
|
245
245
|
- 未初始化(灰色):`未初始化(执行 clawt init 设置主工作分支)`
|
|
246
246
|
3. **工作区 diff 信息行**:显示主工作分支的工作区 diff 统计,有变更时格式为 `工作区: +N -M`(新增行数绿色,删除行数红色),无变更时显示 `工作区: 无变更`(绿色)
|
|
247
247
|
4. **顶部分隔线**:当存在向上溢出时,分隔线中间嵌入 `↑ 更多 worktree...` 提示
|
|
@@ -338,7 +338,7 @@ Worktree 按创建日期分组(复用 `groupWorktreesByDate()`),每组前
|
|
|
338
338
|
- `PANEL_TITLE(projectName)`:面板标题
|
|
339
339
|
- `PANEL_CONFIGURED_BRANCH(branchName)`:配置分支信息(正常状态,灰色)
|
|
340
340
|
- `PANEL_CONFIGURED_BRANCH_DELETED(branchName)`:配置分支信息(分支已删除,红色)
|
|
341
|
-
- `PANEL_CONFIGURED_BRANCH_MISMATCH(branchName)
|
|
341
|
+
- `PANEL_CONFIGURED_BRANCH_MISMATCH(branchName)`:配置分支信息(分支不一致,红色)
|
|
342
342
|
- `PANEL_NOT_INITIALIZED`:未初始化提示(灰色)
|
|
343
343
|
- `PanelLine` 接口(`src/utils/interactive-panel-render.ts`):面板行类型定义,包含 `type`(`'separator'` | `'worktree-content'`)、`text`、可选 `worktreeIndex`
|
|
344
344
|
- `collectStatus()` 函数已改为导出(`export`),以便 `InteractivePanel` 作为数据收集函数引用
|
package/package.json
CHANGED
package/src/commands/status.ts
CHANGED
|
@@ -272,7 +272,7 @@ function printMainSection(main: MainWorktreeStatus): void {
|
|
|
272
272
|
if (main.configuredBranchExists === false) {
|
|
273
273
|
printInfo(` ${chalk.red(MESSAGES.STATUS_CONFIGURED_BRANCH_DELETED(main.configuredMainBranch))}`);
|
|
274
274
|
} else if (main.branch !== main.configuredMainBranch && !main.branch.startsWith(VALIDATE_BRANCH_PREFIX)) {
|
|
275
|
-
printInfo(` ${chalk.
|
|
275
|
+
printInfo(` ${chalk.red(MESSAGES.STATUS_CONFIGURED_BRANCH_MISMATCH(main.configuredMainBranch))}`);
|
|
276
276
|
} else {
|
|
277
277
|
printInfo(` ${chalk.gray(MESSAGES.STATUS_CONFIGURED_BRANCH(main.configuredMainBranch))}`);
|
|
278
278
|
}
|
|
@@ -83,7 +83,7 @@ export const PANEL_CONFIGURED_BRANCH_DELETED = (branchName: string): string =>
|
|
|
83
83
|
* @returns {string} 格式化的分支信息
|
|
84
84
|
*/
|
|
85
85
|
export const PANEL_CONFIGURED_BRANCH_MISMATCH = (branchName: string): string =>
|
|
86
|
-
chalk.
|
|
86
|
+
chalk.red(`⚠ 主工作分支: ${branchName}(不一致)`);
|
|
87
87
|
|
|
88
88
|
/** 面板配置分支信息(未初始化) */
|
|
89
89
|
export const PANEL_NOT_INITIALIZED = chalk.gray('未初始化(执行 clawt init 设置主工作分支)');
|