@winspan/claude-forge 1.16.5 → 1.16.7
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 +12 -12
- package/dist/claudemd/writer.d.ts.map +1 -1
- package/dist/claudemd/writer.js +4 -1
- package/dist/claudemd/writer.js.map +1 -1
- package/dist/distill/prompts.js +2 -2
- package/dist/resume/context-gen.d.ts.map +1 -1
- package/dist/resume/context-gen.js +1 -6
- package/dist/resume/context-gen.js.map +1 -1
- package/dist/resume/index.d.ts.map +1 -1
- package/dist/resume/index.js +3 -13
- package/dist/resume/index.js.map +1 -1
- package/dist/utils/forge-resume-block.d.ts +1 -6
- package/dist/utils/forge-resume-block.d.ts.map +1 -1
- package/dist/utils/forge-resume-block.js +3 -31
- package/dist/utils/forge-resume-block.js.map +1 -1
- package/dist/utils/project-root.d.ts +13 -0
- package/dist/utils/project-root.d.ts.map +1 -0
- package/dist/utils/project-root.js +43 -0
- package/dist/utils/project-root.js.map +1 -0
- package/dist/utils/resume-chitchat-filter.d.ts +6 -0
- package/dist/utils/resume-chitchat-filter.d.ts.map +1 -0
- package/dist/utils/resume-chitchat-filter.js +29 -0
- package/dist/utils/resume-chitchat-filter.js.map +1 -0
- package/dist/web-static/assets/{index-B1xxCQaR.js → index-DsiT96sA.js} +3 -3
- package/dist/web-static/index.html +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -24,18 +24,18 @@ Claude Forge 是一个为 Claude Code 设计的智能编排引擎,通过透明
|
|
|
24
24
|
|
|
25
25
|
| 功能 | 说明 |
|
|
26
26
|
|------|------|
|
|
27
|
-
| 意图识别 | 自动分析任务复杂度(simple/moderate/complex),决定执行策略,支持规则库和 AI 推理 [x]
|
|
28
|
-
| Pipeline 编排 | 复杂任务自动拆分为多阶段流程,支持 AI 智能规划、质量门禁、阶段产物生成 [x]
|
|
29
|
-
| 质量门禁 | 每个阶段自动 AI 审查(需求规格、安全性、代码质量、测试、性能),不合格则阻止推进 [x]
|
|
30
|
-
| 技能编排 | 根据意图自动匹配并注入最佳实践,支持关键词映射和命中率统计 [x]
|
|
31
|
-
| 知识蒸馏 | 自动提炼决策日志、时间线、项目规范,支持树索引和语义检索 [x]
|
|
32
|
-
| 会话续接 | 中断后自动恢复上次工作状态 [x]
|
|
33
|
-
| 用户画像 | 根据行为自适应调整干预深度 [x]
|
|
34
|
-
| 多 AI 提供商 | 支持 Claude、OpenAI、Ollama,统一网关层 [x]
|
|
35
|
-
| Web 管理后台 | 实时监控、项目管理、Pipeline 控制、质量追踪、自定义规范管理、CLAUDE.md 管理 [x]
|
|
36
|
-
| 阶段产物 | 每个阶段自动生成结构化文档 [x]
|
|
37
|
-
| 模式学习 | 从历史失败中提炼预防建议,支持 Thompson Sampling 策略选择 [x]
|
|
38
|
-
| 项目规范 | 根据技术栈自动蒸馏项目级规范,支持自动初始化和 AI 自进化 [x]
|
|
27
|
+
| 意图识别 | 自动分析任务复杂度(simple/moderate/complex),决定执行策略,支持规则库和 AI 推理 [x] 2026-04-18 |
|
|
28
|
+
| Pipeline 编排 | 复杂任务自动拆分为多阶段流程,支持 AI 智能规划、质量门禁、阶段产物生成 [x] 2026-04-18 |
|
|
29
|
+
| 质量门禁 | 每个阶段自动 AI 审查(需求规格、安全性、代码质量、测试、性能),不合格则阻止推进 [x] 2026-04-18 |
|
|
30
|
+
| 技能编排 | 根据意图自动匹配并注入最佳实践,支持关键词映射和命中率统计 [x] 2026-04-18 |
|
|
31
|
+
| 知识蒸馏 | 自动提炼决策日志、时间线、项目规范,支持树索引和语义检索 [x] 2026-04-18 |
|
|
32
|
+
| 会话续接 | 中断后自动恢复上次工作状态 [x] 2026-04-18 |
|
|
33
|
+
| 用户画像 | 根据行为自适应调整干预深度 [x] 2026-04-18 |
|
|
34
|
+
| 多 AI 提供商 | 支持 Claude、OpenAI、Ollama,统一网关层 [x] 2026-04-18 |
|
|
35
|
+
| Web 管理后台 | 实时监控、项目管理、Pipeline 控制、质量追踪、自定义规范管理、CLAUDE.md 管理 [x] 2026-04-18 |
|
|
36
|
+
| 阶段产物 | 每个阶段自动生成结构化文档 [x] 2026-04-18 |
|
|
37
|
+
| 模式学习 | 从历史失败中提炼预防建议,支持 Thompson Sampling 策略选择 [x] 2026-04-18 |
|
|
38
|
+
| 项目规范 | 根据技术栈自动蒸馏项目级规范,支持自动初始化和 AI 自进化 [x] 2026-04-18 |
|
|
39
39
|
|
|
40
40
|
---
|
|
41
41
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"writer.d.ts","sourceRoot":"","sources":["../../src/claudemd/writer.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"writer.d.ts","sourceRoot":"","sources":["../../src/claudemd/writer.ts"],"names":[],"mappings":"AAsBA;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAmCtE;AAED,qBAAa,cAAc;IACzB,uCAAuC;IACvC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAmC;IAE7D,OAAO,CAAC,eAAe;IAMvB,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAMhD;;OAEG;IACH,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAIrD,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO;IAM5C;;;;;OAKG;IACH,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM;IAmB3C;;OAEG;IACH,OAAO,CAAC,iBAAiB;IA2BzB;;OAEG;IACG,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAkB5E;;OAEG;IACG,iBAAiB,CAAC,WAAW,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAInF;;;OAGG;IACG,mBAAmB,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IA6BpF;;;;OAIG;IACG,WAAW,CACf,WAAW,EAAE,MAAM,EACnB,cAAc,EAAE,CAAC,cAAc,EAAE,MAAM,KAAK,MAAM,GACjD,OAAO,CAAC,IAAI,CAAC;CAQjB"}
|
package/dist/claudemd/writer.js
CHANGED
|
@@ -2,6 +2,7 @@ import fs from 'fs';
|
|
|
2
2
|
import path from 'path';
|
|
3
3
|
import { FILE_MARKER, CONTENT_LIMIT } from '../constants.js';
|
|
4
4
|
import { MutexLock } from '../utils/mutex-lock.js';
|
|
5
|
+
import { findProjectRoot } from '../utils/project-root.js';
|
|
5
6
|
const AUTO_START = FILE_MARKER.CLAUDEMD_AUTO_START;
|
|
6
7
|
const AUTO_END = FILE_MARKER.CLAUDEMD_AUTO_END;
|
|
7
8
|
/** 续接块标记(由 daemon 写入,writer 负责清理) */
|
|
@@ -52,7 +53,9 @@ export class ClaudeMdWriter {
|
|
|
52
53
|
/** 全局写锁:防止多个模块并发写入 CLAUDE.md 导致文件损坏 */
|
|
53
54
|
writeLock = new MutexLock('ClaudeMdWriter');
|
|
54
55
|
getClaudeMdPath(projectPath) {
|
|
55
|
-
|
|
56
|
+
// 规范化为项目根目录,防止在子目录触发时写入错误位置
|
|
57
|
+
const rootPath = findProjectRoot(projectPath);
|
|
58
|
+
return path.join(rootPath, 'CLAUDE.md');
|
|
56
59
|
}
|
|
57
60
|
readClaudeMd(projectPath) {
|
|
58
61
|
const filePath = this.getClaudeMdPath(projectPath);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"writer.js","sourceRoot":"","sources":["../../src/claudemd/writer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"writer.js","sourceRoot":"","sources":["../../src/claudemd/writer.ts"],"names":[],"mappings":"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"}
|
package/dist/distill/prompts.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context-gen.d.ts","sourceRoot":"","sources":["../../src/resume/context-gen.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAO1D,qBAAa,sBAAsB;IACjC,OAAO,CAAC,OAAO,CAAgB;IAC/B,OAAO,CAAC,GAAG,CAAa;IACxB,OAAO,CAAC,MAAM,CAAgB;gBAElB,OAAO,EAAE,aAAa,EAAE,GAAG,EAAE,UAAU;IAMnD;;OAEG;IACG,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;IAqBjD;;OAEG;IACH,OAAO,CAAC,oBAAoB;
|
|
1
|
+
{"version":3,"file":"context-gen.d.ts","sourceRoot":"","sources":["../../src/resume/context-gen.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAO1D,qBAAa,sBAAsB;IACjC,OAAO,CAAC,OAAO,CAAgB;IAC/B,OAAO,CAAC,GAAG,CAAa;IACxB,OAAO,CAAC,MAAM,CAAgB;gBAElB,OAAO,EAAE,aAAa,EAAE,GAAG,EAAE,UAAU;IAMnD;;OAEG;IACG,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;IAqBjD;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAqE5B,OAAO,CAAC,iBAAiB;IAsBzB,OAAO,CAAC,kBAAkB;CAS3B"}
|
|
@@ -51,12 +51,7 @@ export class ResumeContextGenerator {
|
|
|
51
51
|
editedFiles.add(fp);
|
|
52
52
|
}
|
|
53
53
|
if (e.user_prompt && userPrompts.length < 3) {
|
|
54
|
-
|
|
55
|
-
const prompt = e.user_prompt;
|
|
56
|
-
// 检测是否包含典型的 assistant 回复模式
|
|
57
|
-
if (!/你发了一个|是有什么想说的|我来帮你|让我|我正在|我已经/i.test(prompt)) {
|
|
58
|
-
userPrompts.push(prompt.substring(0, 100));
|
|
59
|
-
}
|
|
54
|
+
userPrompts.push(e.user_prompt.substring(0, 100));
|
|
60
55
|
}
|
|
61
56
|
}
|
|
62
57
|
// 检测项目类型
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context-gen.js","sourceRoot":"","sources":["../../src/resume/context-gen.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,MAAM,OAAO,sBAAsB;IACzB,OAAO,CAAgB;IACvB,GAAG,CAAa;IAChB,MAAM,CAAgB;IAE9B,YAAY,OAAsB,EAAE,GAAe;QACjD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,MAAM,GAAG,IAAI,aAAa,EAAE,CAAC;IACpC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,QAAQ,CAAC,OAAgB;QAC7B,IAAI,CAAC;YACH,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;YAC5E,MAAM,iBAAiB,GAAG,IAAI,CAAC,OAAO,CAAC,oBAAoB,CACzD,OAAO,CAAC,UAAU,EAClB,OAAO,CAAC,YAAY,CACrB,CAAC;YAEF,IAAI,iBAAiB,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;gBACnD,OAAO,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;YAC5C,CAAC;YAED,MAAM,MAAM,GAAG,cAAc,CAAC,iBAAiB,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC;YAChF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YAC3D,OAAO,QAAQ,CAAC;QAClB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,KAAK,CAAC,aAAa,GAAG,EAAE,CAAC,CAAC;YACjC,OAAO,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;IAED;;OAEG;IACK,oBAAoB,CAAC,OAAgB;QAC3C,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;QAC3F,MAAM,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAEzC,SAAS;QACT,MAAM,UAAU,GAAG,IAAI,GAAG,EAAkB,CAAC;QAC7C,MAAM,WAAW,GAAG,IAAI,GAAG,EAAU,CAAC;QACtC,MAAM,WAAW,GAAa,EAAE,CAAC;QAEjC,KAAK,MAAM,CAAC,IAAI,YAAY,EAAE,CAAC;YAC7B,IAAI,CAAC,CAAC,SAAS,EAAE,CAAC;gBAChB,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACtE,CAAC;YACD,IAAI,CAAC,CAAC,SAAS,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC;gBACxE,MAAM,EAAE,GAAG,CAAC,CAAC,UAAU,EAAE,SAA+B,CAAC;gBACzD,IAAI,EAAE;oBAAE,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC9B,CAAC;YACD,IAAI,CAAC,CAAC,WAAW,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"context-gen.js","sourceRoot":"","sources":["../../src/resume/context-gen.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/resume/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAK1D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAO5D,qBAAa,YAAY;IACvB,OAAO,CAAC,OAAO,CAAgB;IAC/B,OAAO,CAAC,YAAY,CAAsB;IAC1C,OAAO,CAAC,UAAU,CAAyB;IAC3C,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,YAAY,CAAkC;IACtD,OAAO,CAAC,cAAc,CAA8B;IACpD,OAAO,CAAC,cAAc,CAAiB;gBAGrC,OAAO,EAAE,aAAa,EACtB,GAAG,EAAE,UAAU,EACf,cAAc,EAAE,cAAc,EAC9B,cAAc,GAAE,MAAW,EAC3B,UAAU,GAAE,MAAU;IASxB;;OAEG;IACG,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAavE;;;OAGG;IACG,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAmB5E;;;OAGG;IACG,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAoC3D;;OAEG;IACG,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;YAW5C,gBAAgB;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/resume/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAK1D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAO5D,qBAAa,YAAY;IACvB,OAAO,CAAC,OAAO,CAAgB;IAC/B,OAAO,CAAC,YAAY,CAAsB;IAC1C,OAAO,CAAC,UAAU,CAAyB;IAC3C,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,YAAY,CAAkC;IACtD,OAAO,CAAC,cAAc,CAA8B;IACpD,OAAO,CAAC,cAAc,CAAiB;gBAGrC,OAAO,EAAE,aAAa,EACtB,GAAG,EAAE,UAAU,EACf,cAAc,EAAE,cAAc,EAC9B,cAAc,GAAE,MAAW,EAC3B,UAAU,GAAE,MAAU;IASxB;;OAEG;IACG,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAavE;;;OAGG;IACG,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAmB5E;;;OAGG;IACG,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAoC3D;;OAEG;IACG,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;YAW5C,gBAAgB;CAc/B"}
|
package/dist/resume/index.js
CHANGED
|
@@ -99,21 +99,11 @@ export class ResumeEngine {
|
|
|
99
99
|
});
|
|
100
100
|
}
|
|
101
101
|
async injectToClaudeMd(projectPath, context) {
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
.split('\n')
|
|
105
|
-
.filter(line => {
|
|
106
|
-
const lower = line.toLowerCase();
|
|
107
|
-
// 过滤掉典型的 assistant 对话性回复
|
|
108
|
-
return !/看起来是误触|是有什么想说的|有什么需要帮忙|让我帮你|我来帮你|我正在|我已经/.test(lower);
|
|
109
|
-
})
|
|
110
|
-
.join('\n')
|
|
111
|
-
.trim();
|
|
112
|
-
if (!filteredContext) {
|
|
113
|
-
logger.info('[Resume] 过滤后内容为空,跳过注入');
|
|
102
|
+
if (!context.trim()) {
|
|
103
|
+
logger.info('[Resume] 内容为空,跳过注入');
|
|
114
104
|
return;
|
|
115
105
|
}
|
|
116
|
-
const innerMd = `## 上次工作续接\n\n${
|
|
106
|
+
const innerMd = `## 上次工作续接\n\n${context.trim()}`;
|
|
117
107
|
const resumeBlock = buildForgeResumeEnvelope(innerMd);
|
|
118
108
|
await this.claudeMdWriter.atomicWrite(projectPath, (content) => {
|
|
119
109
|
const base = stripForgeResumeBlocks(content);
|
package/dist/resume/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/resume/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/resume/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AAGxB,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AACvC,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5C,OAAO,EACL,wBAAwB,EACxB,mBAAmB,EACnB,sBAAsB,GACvB,MAAM,gCAAgC,CAAC;AAExC,MAAM,OAAO,YAAY;IACf,OAAO,CAAgB;IACvB,YAAY,CAAsB;IAClC,UAAU,CAAyB;IACnC,UAAU,CAAS;IACnB,YAAY,GAAwB,IAAI,GAAG,EAAE,CAAC,CAAC,0BAA0B;IACzE,cAAc,GAAW,IAAI,CAAC,aAAa,CAAC,CAAC,SAAS;IACtD,cAAc,CAAiB;IAEvC,YACE,OAAsB,EACtB,GAAe,EACf,cAA8B,EAC9B,iBAAyB,EAAE,EAC3B,aAAqB,CAAC;QAEtB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,YAAY,GAAG,IAAI,mBAAmB,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;QACrE,IAAI,CAAC,UAAU,GAAG,IAAI,sBAAsB,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QAC3D,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;IACvC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU,CAAC,SAAiB,EAAE,WAAmB;QACrD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;QAChE,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,WAAW,GAAG,CAAC,EAAE,CAAC;YACxC,OAAO;QACT,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,SAAS,SAAS,SAAS,CAAC,CAAC;QACzC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACxD,MAAM,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QAClD,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;QAC/C,MAAM,CAAC,IAAI,CAAC,WAAW,WAAW,EAAE,CAAC,CAAC;IACxC,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,eAAe,CAAC,SAAiB,EAAE,WAAmB;QAC1D,OAAO;QACP,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACzD,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;YAChD,MAAM,CAAC,IAAI,CAAC,QAAQ,WAAW,WAAW,CAAC,CAAC;YAC5C,OAAO;QACT,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;QAChE,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,WAAW,GAAG,CAAC,EAAE,CAAC;YACxC,OAAO;QACT,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,aAAa,WAAW,EAAE,CAAC,CAAC;QACxC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACxD,MAAM,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QAClD,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IACjD,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,cAAc,CAAC,WAAmB;QACtC,kDAAkD;QAClD,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;QACzD,IAAI,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;YAChC,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;YACvD,IAAI,mBAAmB,CAAC,OAAO,CAAC,EAAE,CAAC;gBACjC,MAAM,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;gBACvC,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QAED,mBAAmB;QACnB,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;QACpE,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YAC9D,MAAM,CAAC,IAAI,CACT,QAAQ,WAAW,CAAC,UAAU,UAAU,IAAI,CAAC,UAAU,QAAQ,CAChE,CAAC;YACF,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;YACxD,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,CAAC,IAAI,CACT,WAAW,WAAW,CAAC,UAAU,UAAU,CAC5C,CAAC;QACF,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAC5D,MAAM,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QAClD,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QAEtD,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QAClC,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,gBAAgB,CAAC,WAAmB;QACxC,MAAM,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,OAAO,EAAE,EAAE;YAC7D,MAAM,QAAQ,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC;YAC9C,MAAM,OAAO,GAAG,sBAAsB,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC;YACvD,IAAI,QAAQ,EAAE,CAAC;gBACb,MAAM,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;YACrC,CAAC;YACD,OAAO,OAAO,CAAC;QACjB,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,gBAAgB,CAAC,WAAmB,EAAE,OAAe;QACjE,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;YACpB,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;YAClC,OAAO;QACT,CAAC;QAED,MAAM,OAAO,GAAG,gBAAgB,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;QACjD,MAAM,WAAW,GAAG,wBAAwB,CAAC,OAAO,CAAC,CAAC;QAEtD,MAAM,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,OAAO,EAAE,EAAE;YAC7D,MAAM,IAAI,GAAG,sBAAsB,CAAC,OAAO,CAAC,CAAC;YAC7C,OAAO,IAAI,GAAG,MAAM,GAAG,WAAW,GAAG,IAAI,CAAC;QAC5C,CAAC,CAAC,CAAC;IACL,CAAC;CACF"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* 构造续接信封:外层用 UUID
|
|
3
|
-
* 正文中任意 `<!--`、`-->`、`forge:*` 均不可能破坏块边界解析。
|
|
2
|
+
* 构造续接信封:外层用 UUID 配对注释定界,正文直接使用明文 markdown
|
|
4
3
|
*/
|
|
5
4
|
export declare function buildForgeResumeEnvelope(innerUtf8Markdown: string): string;
|
|
6
5
|
/** 是否包含旧版或新版续接块 */
|
|
@@ -9,8 +8,4 @@ export declare function hasForgeResumeBlock(content: string): boolean;
|
|
|
9
8
|
* 移除全部续接块(新版 UUID 信封 + 旧版裸正文),并压缩多余空行。
|
|
10
9
|
*/
|
|
11
10
|
export declare function stripForgeResumeBlocks(content: string): string;
|
|
12
|
-
/**
|
|
13
|
-
* 从 CLAUDE.md 文本中解码第一处新版续接正文(供测试或工具链;失败返回 null)。
|
|
14
|
-
*/
|
|
15
|
-
export declare function decodeForgeResumeInnerFromClaudeMd(content: string): string | null;
|
|
16
11
|
//# sourceMappingURL=forge-resume-block.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"forge-resume-block.d.ts","sourceRoot":"","sources":["../../src/utils/forge-resume-block.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"forge-resume-block.d.ts","sourceRoot":"","sources":["../../src/utils/forge-resume-block.ts"],"names":[],"mappings":"AAsBA;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,iBAAiB,EAAE,MAAM,GAAG,MAAM,CAW1E;AAED,mBAAmB;AACnB,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAK5D;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAK9D"}
|
|
@@ -4,7 +4,6 @@
|
|
|
4
4
|
* - 写入:`buildForgeResumeEnvelope`(ResumeEngine、PipelineEngine.persistPipelineStateToClaude)
|
|
5
5
|
* - 剥离:`stripForgeResumeBlocks`(注入前清理、clearResumeBlock)
|
|
6
6
|
* - 检测:`hasForgeResumeBlock`(含旧版 `<!-- forge:resume -->` 与新版 begin 标记)
|
|
7
|
-
* - 解码:`decodeForgeResumeInnerFromClaudeMd`(测试 / 工具;模型阅读时按块内说明自行解码)
|
|
8
7
|
*/
|
|
9
8
|
import { randomUUID } from 'crypto';
|
|
10
9
|
/** 旧版续接块(正文裸放,易被 HTML 注释子串破坏) */
|
|
@@ -14,26 +13,17 @@ const RESUME_UUID = '[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12
|
|
|
14
13
|
function scopedResumeBlockRe() {
|
|
15
14
|
return new RegExp(`\\n*<!-- forge:resume-begin:(${RESUME_UUID}) -->[\\s\\S]*?<!-- forge:resume-end:\\1 -->\\s*`, 'gi');
|
|
16
15
|
}
|
|
17
|
-
const FENCE_OPEN = '```forge-resume-body';
|
|
18
|
-
const FENCE_CLOSE = '```';
|
|
19
16
|
/**
|
|
20
|
-
* 构造续接信封:外层用 UUID
|
|
21
|
-
* 正文中任意 `<!--`、`-->`、`forge:*` 均不可能破坏块边界解析。
|
|
17
|
+
* 构造续接信封:外层用 UUID 配对注释定界,正文直接使用明文 markdown
|
|
22
18
|
*/
|
|
23
19
|
export function buildForgeResumeEnvelope(innerUtf8Markdown) {
|
|
24
20
|
const id = randomUUID();
|
|
25
|
-
const b64 = Buffer.from(innerUtf8Markdown, 'utf8').toString('base64url');
|
|
26
|
-
const lines = b64.length > 0 ? b64.match(/.{1,80}/g) ?? [b64] : [''];
|
|
27
21
|
const iso = new Date().toISOString();
|
|
28
22
|
return [
|
|
29
23
|
`<!-- forge:resume-begin:${id} -->`,
|
|
30
|
-
|
|
24
|
+
innerUtf8Markdown.trim(),
|
|
31
25
|
'',
|
|
32
|
-
|
|
33
|
-
...lines,
|
|
34
|
-
FENCE_CLOSE,
|
|
35
|
-
'',
|
|
36
|
-
`forge_generated_at: ${iso}`,
|
|
26
|
+
`_生成时间: ${iso}_`,
|
|
37
27
|
`<!-- forge:resume-end:${id} -->`,
|
|
38
28
|
].join('\n');
|
|
39
29
|
}
|
|
@@ -51,22 +41,4 @@ export function stripForgeResumeBlocks(content) {
|
|
|
51
41
|
s = s.replace(/\n{4,}/g, '\n\n\n');
|
|
52
42
|
return s.trimEnd();
|
|
53
43
|
}
|
|
54
|
-
/**
|
|
55
|
-
* 从 CLAUDE.md 文本中解码第一处新版续接正文(供测试或工具链;失败返回 null)。
|
|
56
|
-
*/
|
|
57
|
-
export function decodeForgeResumeInnerFromClaudeMd(content) {
|
|
58
|
-
const re = new RegExp(`<!-- forge:resume-begin:${RESUME_UUID} -->[\\s\\S]*?${FENCE_OPEN}\\n([\\s\\S]*?)\\n${FENCE_CLOSE}`, 'i');
|
|
59
|
-
const m = content.match(re);
|
|
60
|
-
if (!m)
|
|
61
|
-
return null;
|
|
62
|
-
const compact = m[1].replace(/\s+/g, '');
|
|
63
|
-
if (!compact)
|
|
64
|
-
return '';
|
|
65
|
-
try {
|
|
66
|
-
return Buffer.from(compact, 'base64url').toString('utf8');
|
|
67
|
-
}
|
|
68
|
-
catch {
|
|
69
|
-
return null;
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
44
|
//# sourceMappingURL=forge-resume-block.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"forge-resume-block.js","sourceRoot":"","sources":["../../src/utils/forge-resume-block.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"forge-resume-block.js","sourceRoot":"","sources":["../../src/utils/forge-resume-block.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAEpC,iCAAiC;AACjC,MAAM,sBAAsB,GAAG,+DAA+D,CAAC;AAE/F,uDAAuD;AACvD,MAAM,WAAW,GAAG,8DAA8D,CAAC;AAEnF,SAAS,mBAAmB;IAC1B,OAAO,IAAI,MAAM,CACf,gCAAgC,WAAW,kDAAkD,EAC7F,IAAI,CACL,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,wBAAwB,CAAC,iBAAyB;IAChE,MAAM,EAAE,GAAG,UAAU,EAAE,CAAC;IACxB,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAErC,OAAO;QACL,2BAA2B,EAAE,MAAM;QACnC,iBAAiB,CAAC,IAAI,EAAE;QACxB,EAAE;QACF,UAAU,GAAG,GAAG;QAChB,yBAAyB,EAAE,MAAM;KAClC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,mBAAmB;AACnB,MAAM,UAAU,mBAAmB,CAAC,OAAe;IACjD,OAAO,CACL,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAAC;QACzC,IAAI,MAAM,CAAC,2BAA2B,WAAW,MAAM,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CACvE,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,sBAAsB,CAAC,OAAe;IACpD,IAAI,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,mBAAmB,EAAE,EAAE,IAAI,CAAC,CAAC;IACrD,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,sBAAsB,EAAE,IAAI,CAAC,CAAC;IAC5C,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IACnC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC;AACrB,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 从给定路径向上查找项目根目录
|
|
3
|
+
* 判断标准:包含 .git 目录或 package.json 文件
|
|
4
|
+
*
|
|
5
|
+
* @param startPath 起始路径(可能是子目录)
|
|
6
|
+
* @returns 项目根目录的绝对路径,如果找不到则返回 startPath
|
|
7
|
+
*/
|
|
8
|
+
export declare function findProjectRoot(startPath: string): string;
|
|
9
|
+
/**
|
|
10
|
+
* 检查给定路径是否是项目根目录
|
|
11
|
+
*/
|
|
12
|
+
export declare function isProjectRoot(dirPath: string): boolean;
|
|
13
|
+
//# sourceMappingURL=project-root.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"project-root.d.ts","sourceRoot":"","sources":["../../src/utils/project-root.ts"],"names":[],"mappings":"AAGA;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CA4BzD;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAItD"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import fs from 'fs';
|
|
2
|
+
import path from 'path';
|
|
3
|
+
/**
|
|
4
|
+
* 从给定路径向上查找项目根目录
|
|
5
|
+
* 判断标准:包含 .git 目录或 package.json 文件
|
|
6
|
+
*
|
|
7
|
+
* @param startPath 起始路径(可能是子目录)
|
|
8
|
+
* @returns 项目根目录的绝对路径,如果找不到则返回 startPath
|
|
9
|
+
*/
|
|
10
|
+
export function findProjectRoot(startPath) {
|
|
11
|
+
let currentPath = path.resolve(startPath);
|
|
12
|
+
const root = path.parse(currentPath).root;
|
|
13
|
+
while (currentPath !== root) {
|
|
14
|
+
// 检查是否存在 .git 目录
|
|
15
|
+
const gitPath = path.join(currentPath, '.git');
|
|
16
|
+
if (fs.existsSync(gitPath)) {
|
|
17
|
+
return currentPath;
|
|
18
|
+
}
|
|
19
|
+
// 检查是否存在 package.json
|
|
20
|
+
const packageJsonPath = path.join(currentPath, 'package.json');
|
|
21
|
+
if (fs.existsSync(packageJsonPath)) {
|
|
22
|
+
return currentPath;
|
|
23
|
+
}
|
|
24
|
+
// 向上一级目录
|
|
25
|
+
const parentPath = path.dirname(currentPath);
|
|
26
|
+
if (parentPath === currentPath) {
|
|
27
|
+
// 已经到达根目录,无法再向上
|
|
28
|
+
break;
|
|
29
|
+
}
|
|
30
|
+
currentPath = parentPath;
|
|
31
|
+
}
|
|
32
|
+
// 找不到项目根目录,返回原路径
|
|
33
|
+
return path.resolve(startPath);
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* 检查给定路径是否是项目根目录
|
|
37
|
+
*/
|
|
38
|
+
export function isProjectRoot(dirPath) {
|
|
39
|
+
const gitPath = path.join(dirPath, '.git');
|
|
40
|
+
const packageJsonPath = path.join(dirPath, 'package.json');
|
|
41
|
+
return fs.existsSync(gitPath) || fs.existsSync(packageJsonPath);
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=project-root.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"project-root.js","sourceRoot":"","sources":["../../src/utils/project-root.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB;;;;;;GAMG;AACH,MAAM,UAAU,eAAe,CAAC,SAAiB;IAC/C,IAAI,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAC1C,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC;IAE1C,OAAO,WAAW,KAAK,IAAI,EAAE,CAAC;QAC5B,iBAAiB;QACjB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QAC/C,IAAI,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3B,OAAO,WAAW,CAAC;QACrB,CAAC;QAED,sBAAsB;QACtB,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;QAC/D,IAAI,EAAE,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;YACnC,OAAO,WAAW,CAAC;QACrB,CAAC;QAED,SAAS;QACT,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAC7C,IAAI,UAAU,KAAK,WAAW,EAAE,CAAC;YAC/B,gBAAgB;YAChB,MAAM;QACR,CAAC;QACD,WAAW,GAAG,UAAU,CAAC;IAC3B,CAAC;IAED,iBAAiB;IACjB,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AACjC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,OAAe;IAC3C,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC3C,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;IAC3D,OAAO,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;AAClE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resume-chitchat-filter.d.ts","sourceRoot":"","sources":["../../src/utils/resume-chitchat-filter.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAeH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAU9D"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 续接摘要写入 CLAUDE.md 前剔除的「assistant 套话 / 误触话术」行。
|
|
3
|
+
* 注意:不误伤「防误触」等含「误触」子串但语义不同的词(用上下文短语匹配)。
|
|
4
|
+
*/
|
|
5
|
+
/** 整行匹配时丢弃(多模式,忽略大小写) */
|
|
6
|
+
const LINE_DROP_RES = [
|
|
7
|
+
/(?:看起来|像是|可能是|当成|若是|好像|估计).{0,12}误触/,
|
|
8
|
+
/误触.{0,12}(?:发送|回复|输入|点击|操作)/,
|
|
9
|
+
/你发了一个|发错了|点错了|手滑|不小心.{0,6}按/,
|
|
10
|
+
/是有什么想说的|有什么需要帮忙|有什么需要帮助的|能帮到你吗|需要帮助吗/,
|
|
11
|
+
/让我帮你|我来帮你|让我来|我可以帮你/,
|
|
12
|
+
/我正在|我已经|我会尽快/,
|
|
13
|
+
/若你只是|如果只是一时|没有具体|没有特别的需求|随便输入|随便试试/,
|
|
14
|
+
/没有别的想说的|没什么想补充|没有更多|无需回复|不用回复/,
|
|
15
|
+
/只是测试|试一下.{0,6}回复/,
|
|
16
|
+
];
|
|
17
|
+
export function filterResumeChitchatLines(text) {
|
|
18
|
+
return text
|
|
19
|
+
.split('\n')
|
|
20
|
+
.filter((line) => {
|
|
21
|
+
const t = line.trim();
|
|
22
|
+
if (!t)
|
|
23
|
+
return true;
|
|
24
|
+
return !LINE_DROP_RES.some((re) => re.test(t));
|
|
25
|
+
})
|
|
26
|
+
.join('\n')
|
|
27
|
+
.trim();
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=resume-chitchat-filter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resume-chitchat-filter.js","sourceRoot":"","sources":["../../src/utils/resume-chitchat-filter.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,yBAAyB;AACzB,MAAM,aAAa,GAAa;IAC9B,qCAAqC;IACrC,6BAA6B;IAC7B,6BAA6B;IAC7B,sCAAsC;IACtC,qBAAqB;IACrB,cAAc;IACd,oCAAoC;IACpC,+BAA+B;IAC/B,kBAAkB;CACnB,CAAC;AAEF,MAAM,UAAU,yBAAyB,CAAC,IAAY;IACpD,OAAO,IAAI;SACR,KAAK,CAAC,IAAI,CAAC;SACX,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;QACf,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QACtB,IAAI,CAAC,CAAC;YAAE,OAAO,IAAI,CAAC;QACpB,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACjD,CAAC,CAAC;SACD,IAAI,CAAC,IAAI,CAAC;SACV,IAAI,EAAE,CAAC;AACZ,CAAC"}
|