@zooique/memora 5.0.0 → 5.1.0
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 +77 -7
- package/README.en.md +1 -1
- package/README.md +1 -1
- package/dist/agent/assembler.d.ts.map +1 -1
- package/dist/agent/assembler.js +37 -19
- package/dist/agent/assembler.js.map +1 -1
- package/dist/agent/builtinToolHandlers.d.ts +23 -2
- package/dist/agent/builtinToolHandlers.d.ts.map +1 -1
- package/dist/agent/builtinToolHandlers.js +22 -11
- package/dist/agent/builtinToolHandlers.js.map +1 -1
- package/dist/agent/builtinTools.d.ts +16 -0
- package/dist/agent/builtinTools.d.ts.map +1 -1
- package/dist/agent/builtinTools.js +11 -1
- package/dist/agent/builtinTools.js.map +1 -1
- package/dist/agent/guardRail.d.ts +24 -9
- package/dist/agent/guardRail.d.ts.map +1 -1
- package/dist/agent/guardRail.js +153 -45
- package/dist/agent/guardRail.js.map +1 -1
- package/dist/agent/loop.d.ts.map +1 -1
- package/dist/agent/loop.js +17 -7
- package/dist/agent/loop.js.map +1 -1
- package/dist/agent/toolExecutor.d.ts +18 -12
- package/dist/agent/toolExecutor.d.ts.map +1 -1
- package/dist/agent/toolExecutor.js +114 -19
- package/dist/agent/toolExecutor.js.map +1 -1
- package/dist/security/confirmEntries.d.ts +21 -6
- package/dist/security/confirmEntries.d.ts.map +1 -1
- package/dist/security/confirmEntries.js +21 -6
- package/dist/security/confirmEntries.js.map +1 -1
- package/dist/security/pathGuard.d.ts +43 -9
- package/dist/security/pathGuard.d.ts.map +1 -1
- package/dist/security/pathGuard.js +69 -9
- package/dist/security/pathGuard.js.map +1 -1
- package/docs/architecture/role-pack-authoring-guide.md +4 -0
- package/docs/architecture/role-pack-spec.md +9 -5
- package/docs/memora-api-reference.md +8 -3
- package/docs/memora-/346/216/245/345/205/245/346/214/207/345/215/227.md +4 -2
- package/package.json +5 -1
- package/role-packs/memora/345/212/251/346/211/213/rules.md +1 -0
- package/role-packs//345/205/261/351/270/243/345/260/217/350/257/264/345/256/266/rules.md +1 -0
- package/role-packs//347/231/275/350/257/235/346/226/271/346/241/210/350/256/276/350/256/241/345/270/210/rules.md +2 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,14 +1,70 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
-
本文件记录 **@zooique/memora(内核 npm 包)**的版本变更。**宿主**(`hosts/memora-vscode`)不在发布包 `files` 白名单内(见 `package.json
|
|
3
|
+
本文件记录 **@zooique/memora(内核 npm 包)**的版本变更。**宿主**(`hosts/memora-vscode`)不在发布包 `files` 白名单内(见 `package.json`),不占内核版本号:内核与宿主各按自己的版本号成区(ADR-033),**已发布与否以 npm registry 为准**(内核 `npm view @zooique/memora dist-tags.latest`;宿主见 Marketplace / Open VSX)——本文件不复述该状态,只记各版本改了什么。
|
|
4
4
|
|
|
5
5
|
格式遵循 [Keep a Changelog](https://keepachangelog.com/zh-CN/1.1.0/),版本号遵循 [Semantic Versioning](https://semver.org/lang/zh-CN/)。
|
|
6
6
|
|
|
7
|
-
> **版本定位(v5.
|
|
7
|
+
> **版本定位(v5.x)**:**Node.js 专属 · 零第三方运行时依赖的 Agent 内核**(依赖 `node:*` 内置模块,不引第三方运行时依赖 / native / 宿主 API)。**4.0.0**:导出面收敛(−54)+ `agent.memory.search()` 退役(唯一入口 `searchByKeyword()`)。**5.0.0**:公开面大收面(删 23 导出 + 32 成员 + 3 事件)+ 多项目形态定案(一个 Agent = 一个项目)+ 三套空转机制退役 + SQLite 存储——逐项改法见[升级指南](docs/memora-升级指南-4.x-到-5.0.0.md)。**5.1.0**:MCP 工具接入的内核接口(`ToolDefinition.confirmPolicy` + `SecurityGuard` 单一确认入口)+ 脚本族执行面四面按正文裁决(`CMD-1-BYPASS` / `CMD-1-CONTENT`)——零删除、零既有签名变更。**4.0.0 及更早版本全文**:`docs/CHANGELOG-归档.md`(仓库内归档,npm 包不含)。内核不内置 agent 级行为评估(eval)/ 独立验证——由宿主基于内核可观测性(ITracer / 事件 / 指纹)自行承担;内核对接口契约与全量单测负责,不对"agent 整体行为稳定"作承诺。
|
|
8
8
|
>
|
|
9
9
|
> 本文件 2026-10-19 起按 `CHLOG-TRIM-1` 精简:只记「改了什么 + 为什么 + 对消费者的影响」;逐批拍板过程、变异验证收据、台账叙事的 SSOT 在仓库台账 `tasks/待完成任务.md` 对应 ID 条目(npm 包不含),此处只留 ID 锚保交叉引用。
|
|
10
10
|
|
|
11
|
-
## [5.
|
|
11
|
+
## [5.1.0] · 2026-10-25
|
|
12
|
+
|
|
13
|
+
> **本区归属**:仅**内核**变更;SemVer = **minor**(零删除 / 零既有签名变更;**行为变化共三处、均为修复方向、不构成破坏性**:① 脚本族执行面按正文裁决,命中黑名单/恒弹清单的执行行为收紧;② 写侧护栏判据改为「无进展」(`write_loop` 只计整文件覆盖与连续失败写,增量写不再计数);③ `task_table_update` 不再被跨轮幂等跳过(防回喂旧任务表)。三者均见 Fixed 区)。公开面**分两层**:① **包入口符号面**增量 = **仅** `ToolDefinition` 加可选字段 `confirmPolicy`(类型面)——`SecurityGuard` 类与 `SCRIPT_READ_MAX_LEN` 均**未**从包入口 `src/index.ts` 导出;② **公开成员面**零新增(`publicMemberSurfaceGuard` 成员表未增元素),但 `agent.security` 本就是公开成员,其新增方法 `requestToolCallConfirmation(toolName, summary, needConfirm)` 对消费者**可达**(文档见 `docs/memora-api-reference.md` §2.6)。宿主侧 MCP 消费面(连接 / 设置页 / 审批卡)随宿主下一版独立成区、不占内核版本号(ADR-033)。逐条拍板与变异验证收据见仓库台账(npm 包不含):`D1-MCP` 在 `tasks/待完成任务.md` 内核 5.1.0 区;`CMD-1-BYPASS` 的实现收据见同文件 `㉔` 条、最后一面见 `tasks/archive/5.1.0-kernel.md` 的 `CMD-1-CONTENT` 条目;`CMD-1-CONTENT` / `GUARD-WRITE-PROGRESS-1` / `IDEM-TASK-TABLE-1` 均在 `tasks/archive/5.1.0-kernel.md`。
|
|
14
|
+
> **发版纪律**:本区标题日期即**实际发布日**——`scripts/verify-changelog-version.mjs`(挂 `release.yml`,不进 pre-push)校验「合法日历日期 + 与发布日相差 ≤1 天」;已发布版本的 npm tarball 不可变、改不回来(`RELEASE-CHLOG-DATE-1` 血训),故日期须在打 tag 前定稿。
|
|
15
|
+
|
|
16
|
+
### Added(内核)
|
|
17
|
+
|
|
18
|
+
**MCP 工具接入的内核接口(`D1-MCP` 切片 0 · 2026-10-23)**——MCP SDK 与传输全在宿主依赖,内核仍不认识 MCP、零第三方运行时依赖不变
|
|
19
|
+
|
|
20
|
+
- `ToolDefinition.confirmPolicy?: 'always' | 'audit'`:自定义/外部工具(如宿主接入的 MCP 工具)声明审批意图的**唯一字段**。**缺省 = 字段不存在 = 不过闸 = 现状**;刻意不设 `'never'`——宿主只需「关弹窗」,不需「关审计」。
|
|
21
|
+
- `SecurityGuard.requestToolCallConfirmation(toolName, summary, needConfirm)`:复用私有 `confirmGate` 的**单一确认入口**(一次入口、两种模式),`ToolExecutor.execute()` 的 custom 分支按上述字段过闸——`'always'` 弹确认、`'audit'` 自动放行但仍落审计,拒绝则不调 handler(`[ERR:TOOL_DECLINE]` + blocked outcome)。**为什么重要**:此前 custom 分支完全不过闸 = 动态工具源(MCP)零审批;补后**全仓仍只有一条审批路径**,不存在第二条。
|
|
22
|
+
- 审计**零新增类型**:确认统一走后恒落既有三值(`write-auto` / `write-confirm` / `write-decline`),工具调用补 `source: 'custom'` + `tool` + `path`(= 调用摘要,与 `run_command` 把命令塞 `path` 同构);`confirmGate` 加可选 `source` 末参并透传**全部四个**审计出口(写入类不传 = `undefined`,零行为变化)⇒ 宿主既有「denied 计数」自动覆盖 MCP,宿主审计面零改动。
|
|
23
|
+
- `ToolExecutor.removeTool()` 的 JSDoc 由「供测试场景使用」扩为「运行时可注销」(`K2`,零代码改动)——宿主据此实现 MCP server 停用与工具集整换。
|
|
24
|
+
- **对消费者**:纯增量。不声明 `confirmPolicy` 的既有自定义工具行为完全不变;要接入动态工具源的宿主声明字段即得审批 + 审计。
|
|
25
|
+
- ⚠️ **本期刻意不做**(`K3`,有判据的拒绝):不放宽 `ToolDefinition.parameters` 的 schema 类型(不支持嵌套 object / enum / anyOf)——`loop.ts` 的 prompt 渲染器只读顶层 `type`/`description`,放宽须连带改模型可见文案并回归全部内置工具,收益不抵风险;宿主侧以「结构映射 + 约束搬 description」适配。
|
|
26
|
+
|
|
27
|
+
**内置角色包 L1 增「编辑纪律基线」(`GUARD-WRITE-PROGRESS-1` 配套 · 2026-10-25)**
|
|
28
|
+
|
|
29
|
+
- 三个内置包(`memora助手` / `共鸣小说家` / `白话方案设计师`)的 `rules.md` 增一条**领域无关的编辑纪律**:增量写入优先(`replace` / `insert` / `append`)、同一文件多处修订在**同一回复内连续发出**、整文件覆盖仅用于确需重建且不反复覆盖、复核只读改动片段。`role-packs/` 在 `package.json#files` 内,**消费者可见**。
|
|
30
|
+
- 作者指南 §2.4 同步该基线,并明示 **L1(`rules.md` / `persona.md`)不得写运行时拒绝令牌**(`[WRITE_LOOP_STOP]` / `[WRITE_FAIL_STOP]`)——L1 常驻 system prompt,令牌会干扰「按令牌定位运行时拒绝消息」的消费方(纪律真源 `src/agent/guardRail.ts` GUIDELINES)。
|
|
31
|
+
- **为什么**:写侧护栏只拦「无进展」,**不拦「慢」**——真正决定模型行为的纪律必须写在 L1;真机 `round-1792904123909`(7 次被拦、5 处修订拖到下轮、27 分钟 / 116 万输入 token)即缺该条所致。
|
|
32
|
+
|
|
33
|
+
### Fixed(内核)
|
|
34
|
+
|
|
35
|
+
**脚本面内容裁决(`CMD-1-BYPASS` · 2026-10-25)**
|
|
36
|
+
|
|
37
|
+
- `SecurityGuard.confirmScriptRun` 接受可选第 4 参 `content`(= 将被执行的脚本/代码正文),内部喂给**同一个** `classifyCommand`:`deny` 恒拦(任何档位/权限,不进确认流程)/`always-ask` 恒弹(`owner` + `confirmScripts=false` 也弹)/`normal` 回落原档位判据。**为什么**:此前 `classifyCommand` 的唯一调用点是 `confirmCommandRun`,脚本面只看档位不看内容 ⇒「把 `git push` / `rm -rf` 写进脚本」零护栏,恒弹清单成了纸墙(一次工具调用即可绕过)。
|
|
38
|
+
- 已接入两面:`run_code`(内联代码传正文)、`run_project_script`(确认前读脚本文本);正文 > `SCRIPT_READ_MAX_LEN`(20 万字符)**拒绝执行**(fail-closed,不给「读不动就放行」的口子)。
|
|
39
|
+
- `ALWAYS_ASK` 清单补 `git clean`(此前落 normal 档 = 默认档直接执行,真洞)。
|
|
40
|
+
- `BuiltinToolHandlers.readScriptFile` 加可选 `label`(默认 `run_code script_path`):复用读正文时审计归属不再写死 `run_code`(原会把项目脚本的路径审计记到 `run_code` 头上 = 归属说谎)。
|
|
41
|
+
- 三处 decline 文案改中性措辞(「未获执行许可(命中恒拦 / 用户拒绝 / fail-closed)」)——原写「未获确认(用户拒绝…)」会把命中黑名单说成用户拒绝。
|
|
42
|
+
|
|
43
|
+
**技能脚本内容裁决(`CMD-1-CONTENT` · 2026-10-25)**
|
|
44
|
+
|
|
45
|
+
- `run_skill_script` 是脚本族最后一面(此前只判档位)。现确认点经装配期新注入字段 `ToolExecutor.resolveSkillScript`(与执行回调**共用** assembler 的 `resolveSkillScriptTarget`:角色包 → 全局池,解析顺序天然单点)定位脚本文件读正文,喂同一个 `classifyCommand`。
|
|
46
|
+
- 长度上限复用 `SCRIPT_READ_MAX_LEN`(本轮改为导出常量,三消费面共用,**不造第二上限**);**不走项目根白名单**——技能目录 = 可信根(脚本经作者审阅),路径防逃逸由解析器自身保证(角色包 layer3 白名单 + `resolveSafePath` 边界 / 全局 `resolveLayer3ScriptPath` + 存在性校验)。
|
|
47
|
+
- fail-closed 分级:解析不到 = 不传正文(维持 `[ERR:SCRIPT_NOT_FOUND]`,执行点同一解析必返 null);读失败 / 超长 = `[ERR:SCRIPT_DECLINE]` 拒绝执行。
|
|
48
|
+
- **对消费者**:`runSkillScript`(执行回调)契约与行为不变;不注入 `resolveSkillScript` 的装配(含既有单测)行为与补齐前完全一致。**至此四个执行面(`run_command` / `run_code` / `run_project_script` / `run_skill_script`)全部按正文裁决。**
|
|
49
|
+
|
|
50
|
+
> **不声称的内容(防误读)**:`classifyCommand` 是**字符串判据**——拦「模型手滑 / 幻觉 / 提示注入直接写出危险命令」,不是「危险执行总闸」;正文之外的间接载体(变量展开、编码混淆、执行期才决定的路径)拦不住。语义防护由**用户审批 + 审计溯源**承担,不由 denylist 承担。
|
|
51
|
+
|
|
52
|
+
**写侧护栏判据改为「无进展」(`GUARD-WRITE-PROGRESS-1` · 2026-10-25)**
|
|
53
|
+
|
|
54
|
+
- `write_loop` 原判据 = 「同路径连续写 N 次」,把 `mode=replace` 的逐处修订与整文件覆盖混算:第 5 次写入即硬拦,且被拦后 `read_file` **不复位**计数(`notifyExec` 原先只按 `matches` 分发,读事件根本喂不到该护栏)⇒ 该路径在**本 turn 内永久封死**。真机 `round-1792904123909` 实证:7 次被拦、5 处修订拖到下轮、27 分钟 / 116 万输入 token。
|
|
55
|
+
- 现判据 = **无进展信号**:① 仅整文件覆盖(`mode=overwrite`,缺省)计入连写(阈值 `writeLoop` 不变 = 5);② 增量写(`replace` / `insert` / `append`)每次改不同片段,**永不计数**;③ 同路径连续**失败写**达新增静态阈值 `writeFail`(= 3)即拦,读成功 / 写成功即清;④ `failed` 不再被当作一次写(原实现会推进 streak)。
|
|
56
|
+
- `notifyExec` 改为**全量分发**(各护栏在 `onExec` 内按工具自过滤)——原「借 `matches` 路由」让一个字段担两份职责,护栏文案承诺的「先读再写」出口从未生效。
|
|
57
|
+
- 新增**放行钩子** `onAllow` / `notifyAllow`(同批洞补丁,真机 `round-1792919558093`):同批工具调用先集中判定、后统一执行,判定阶段看不到结果 ⇒ 只靠执行后回喂的连写计数会被「一条回复内连发 N 次整文件覆盖」整批绕过(实测 6 次全部放行)。现于派发时**预登记整文件覆盖意图**,第 5 次同批覆盖即拦;执行回喂消费预登记(一次写只计一次),被拦未执行则撤销。增量写不登记(批量逐处修订仍零计数)。`write_fail` 刻意不预登记——批内看不到失败结果,预拦会误伤同批中本可成功的写。
|
|
58
|
+
- 文案:`[WRITE_LOOP_STOP]` 的出口改为**可执行**的「改用 replace/insert/append 增量写入」;新增 `[WRITE_FAIL_STOP]`(先读最新原文再写)。
|
|
59
|
+
- **对消费者**:`BlockedReason` 未新增/未改名(仍是 `write_loop`)、零公开签名变更、零新增 metrics 字段(拦截事实已在 round 事件的 `tool_result.blocked` 中,另立计数即第二真理源)。行为向修复:同一 turn 内对同一文件的增量修订不再被封顶。
|
|
60
|
+
|
|
61
|
+
**任务表更新不再被跨轮幂等跳过(`IDEM-TASK-TABLE-1` · 2026-10-25)**
|
|
62
|
+
|
|
63
|
+
- `BUILTIN_TOOL_IDEMPOTENCY.task_table_update`:`idempotent` → `non-idempotent`。**为什么**:幂等键只有 `name + 完整 args`,而 `task_table_update` 的 `plan_item_id` 是**位置序号**——跨轮 `task_table_write` 重写任务表后,同序号可能指向另一个任务项;此时同 args 重发会被「仅一次语义」跳过并回喂上一轮的旧任务表摘要 = **向模型谎报「已更新」而实际未更新**(真机观测:回显旧任务项)。重跑本身无害(状态确定),故与 `delete_file` 同判据——归入「禁止跳过」而非「重跑有害」。
|
|
64
|
+
- **对消费者**:`IdempotencyLevel` 枚举未变、零签名变更;仅该工具不再被跳过。内置映射现**无** `idempotent` 级工具(级别本身保留,供宿主自定义工具声明)。
|
|
65
|
+
- 同族**未改**(登记观察,不随本版动):`write_file`(`idempotent-key`)跨轮「同 path + 同 content」仍会跳过——若文件在两次调用间被外部删除/改动,同内容重写不会落盘。无真机实证,且该跳过是核心重试去重通道,改动面大。
|
|
66
|
+
|
|
67
|
+
## [5.0.0] · 2026-10-23
|
|
12
68
|
|
|
13
69
|
> **📖 升级必读**:[`docs/memora-升级指南-4.x-到-5.0.0.md`](docs/memora-升级指南-4.x-到-5.0.0.md) —— 本区所有 Breaking 项的**改法**逐项在那篇,本区不重复**怎么改**。
|
|
14
70
|
> 本区归属:仅**内核**变更;SemVer = **major**(编译期破坏:删 23 个导出符号 + 32 个公开成员 + 3 个事件)。
|
|
@@ -43,7 +99,7 @@
|
|
|
43
99
|
|
|
44
100
|
- Agent:`canContinueWithoutInput()`(软暂停模型下暂停恒安全,可续跑性由 waiting 原因位表达,方法本身是采样时机不可靠的带陷阱死面)/ `getRecentToolExecutions()`(订阅 `tool_start`/`tool_result` 事件自聚合)/ `getBackgroundTaskStats()` / `forceReleaseChatLock()`(承诺的超时兜底从未接线)/ `heartbeat()`(私有 `touchCheckpoint` 的机制外漏)。
|
|
45
101
|
- SessionManager:`flushNow()` / `flushOnShutdown()`(检查点不落盘,二者是 no-op 清脏,方法名谎报持久化)/ `loadSessionMessages()`(改锚点不 restore 工作记忆的陷阱出口)/ `restoreSession(date, session)` / `restoreMostRecentSession()`(恢复双入口并入 `switchToSession('YYYY-MM-DD-session')` 复合 ID,最近会话从自己的 store `listSessionMetas()[0]` 取)/ `isPauseLimitReached()` / `getConsecutivePauseCount()` / `resetConsecutivePauseCount()`(连续暂停计数链从未通电,生产恒传 `lowRisk=true`)/ `compensateTool()` / `compensateAllNonIdempotent()`(只生成文案、零状态变更)/ `isPaused()` / `isRunning()`(三态 `'running'|'paused'|'error'` 被两布尔吞掉 error 态——看 `status`)。
|
|
46
|
-
- ⚠️ 上述多项随 4.0.0 已发布,直删失去 deprecation 预警期,由本 Breaking 明示;`loadSessionMessages` 原走 `DEPRECATE-1` 周期,用户拍板提前直删。决策依据 = 三面零消费 + 5.0.0
|
|
102
|
+
- ⚠️ 上述多项随 4.0.0 已发布,直删失去 deprecation 预警期,由本 Breaking 明示;`loadSessionMessages` 原走 `DEPRECATE-1` 周期,用户拍板提前直删。决策依据 = 三面零消费 + 5.0.0 定档时点未发布(npm 最新 4.0.0)零外部破坏窗口。
|
|
47
103
|
|
|
48
104
|
**选项与常量**
|
|
49
105
|
|
|
@@ -72,13 +128,27 @@
|
|
|
72
128
|
|
|
73
129
|
- **后台任务槽位按 Agent 实例隔离**(`MULTI-AGENT-1`,2026-10-18):模块级槽位 → `class BackgroundTaskScheduler` 实例级,同进程多 Agent 不再交叉等待/挤占(形态定案后多实例是必然)。非公开 API 变更。
|
|
74
130
|
|
|
75
|
-
## [
|
|
131
|
+
## [0.3.0] · 未发布(Unreleased · 宿主轴 · 2026-10-25 开区)
|
|
132
|
+
|
|
133
|
+
> **本区归属**:仅**宿主**(`hosts/memora-vscode`)变更,随 `vsce package` 定版,不进内核 npm 包(ADR-033)。**开区原因**:`vscode@0.2.0` tag 早于宿主 MCP 接入 ⇒ 已发布版没有任何 MCP 能力。**主体条目(本地 stdio MCP 接入)发布前按 `git log vscode@0.2.0..HEAD -- hosts/` 补齐**——本区先记今日订正,切片叙事不复述(真源 = 台账「宿主 0.3.0」区)。
|
|
134
|
+
> **出包前必做**:与内核区同规——标题的「未发布」须改为**实际发布日期**(`scripts/verify-changelog-version.mjs` 校验)。
|
|
135
|
+
|
|
136
|
+
### Changed(宿主)
|
|
137
|
+
|
|
138
|
+
- **MCP 两键作用域 `application` → `machine`**(`H0-2`,2026-10-25):`memora.mcpServers` / `memora.mcpToolAllowlist` 不再随 VS Code Settings Sync 同步。**为什么**:`application` 会把 `headers` 里的明文令牌与免确认批准带到同账号的其他设备——批准的语义是「本机用户同意本机进程」,跨机继承等于替另一台机器点同意。**对消费者**:① 只写用户设置、工作区 / 文件夹写入仍被忽略(`.mcp.json` 不读的红线不变);② **升级后每台机器需各配一次**,原先靠设置同步带过来的 MCP 配置不会再自动出现;③ 本机已有配置不受影响。断言钉在 `mcpConfig.test.ts`(结构机制不在代码里,改 scope 只有这条测试能拦住)。
|
|
139
|
+
|
|
140
|
+
### Fixed(宿主)
|
|
141
|
+
|
|
142
|
+
- **MCP 连接失败归因订正**(`H0-1`,2026-10-25):没有 `tools` 能力的 server 此前被判成「server 未声明 tools 能力」并置 `failed`——但纯 `resources` / `prompts` 的 server 是**合法形态**,这是本宿主只接 tools 的**覆盖面边界**,不是对方故障。现文案改为「本宿主当前只接 tools 能力;该 server 只提供 X / Y,暂不支持(不是 server 故障)」,并对连上后被忽略的非 tools 能力打一次 info 日志(不静默)。**为什么**:谎报成因与谎报能力同族——原文案会让用户去查一台没坏的 server。**对消费者**:仅失败原因文案变化;无 tools 的 server 仍不注册空工具清单(不静默成功)。**登记**:方案-MCP工具接入 §10 新增「`resources` / `prompts` 零接入(能力边界 · 非功能缺口)」行。
|
|
143
|
+
|
|
144
|
+
## [0.2.0] · 2026-10-23 · 宿主
|
|
76
145
|
|
|
77
|
-
> 仅**宿主**(`hosts/memora-vscode
|
|
146
|
+
> 仅**宿主**(`hosts/memora-vscode`)变更,随 `vsce package` 定版。**随包内核代次 = `5.0.0`**(esbuild 内联 dist,内核自身变更见内核区)。逐条拍板与变异验证收据见台账对应 ID。
|
|
78
147
|
|
|
79
148
|
### Added(宿主)
|
|
80
149
|
|
|
81
|
-
- **`@problems`:把工作区错误 / 警告挂进对话(有界注入第一笔)**(`HOST-CTX-4`,2026-10-21):对话框原本只能挂「文件 / 目录 / 当前文件」——它们都只给**指针**,内容由模型自己读。但 VS Code 的诊断是**瞬态派生数据**,内核工具箱里没有 diagnostics(也没有 git / 终端读取),「提示模型去看」这条路根本不通 ⇒ 定案(`HOST-CTX-0`)为这类数据开了**唯一一处例外**:允许有界注入。本笔只落 `@problems`
|
|
150
|
+
- **`@problems`:把工作区错误 / 警告挂进对话(有界注入第一笔)**(`HOST-CTX-4`,2026-10-21):对话框原本只能挂「文件 / 目录 / 当前文件」——它们都只给**指针**,内容由模型自己读。但 VS Code 的诊断是**瞬态派生数据**,内核工具箱里没有 diagnostics(也没有 git / 终端读取),「提示模型去看」这条路根本不通 ⇒ 定案(`HOST-CTX-0`)为这类数据开了**唯一一处例外**:允许有界注入。本笔只落 `@problems` 一源(同版另有 `@git-changes` 有界注入二笔,见下条;terminal 源 spike 结论 = 不做、维持触发登记)。用法:输入框打 `@` → 列表置顶多一项「诊断(问题面板)」→ 选中挂一枚**与引用 chip 明显不同长相**的 chip(圆角矩形 + warn 色 + ⚠,形状/颜色/图标三通道可辨;**无锁**)→ 发送。**体验要点**:① 选中那一刻**不取数**,按下发送那刻才去问题面板拉最新(按严重度取前 20 条,每条带 `文件:行:列` + 错误文案 + 该行源码,超限明说「已截断」);② chip **发完即消**——注入的是那一刻的快照,钉住就是下轮拿过期数据糊弄模型,要新鲜的下轮重点;③ 圆环 hover 卡片底部出「本轮注入 N」回执(分项明细同屏:当前文件正文 / 工作区诊断),下一轮发送覆盖;④ 历史里你的消息仍只显示你打的字(注入块回放时剥掉),但模型确实收到了。**同一笔的类型级重构**:`ActiveFileProjection.injectedTokens` 迁出为 `injection_summary.segments` 的 `active-file` 分项(三个源各挂一个字段 = 并列腐化 + 违反「与 CTX-6 同一处呈现」),本轮注入量自此**按源分项**回推、「渲染两处、数据一次」。协议 +2 条(消息计数 126 → **128**,治理阈值 130,**余 2**)。逐条拍板过程与 14 次变异验证签名见台账 `HOST-CTX-4`。**真机验收第一项通过**(2026-10-21 用户实测功能通过;反馈「徽记突然出现在状态行有点奇怪」⇒ 已按 `.injection-badge` 样式注释里预登记的回退方向,把回执从状态行徽记整模迁入圆环 hover 卡片底部、分项明细同屏可见,新形态与浅色主题 chip 对比度均于 2026-10-23 真机复验通过,`HOST-CTX-4` 关账)。
|
|
151
|
+
- **`@git-changes`:把 git 未提交改动挂进对话(有界注入二笔)**(`HOST-CTX-4`,2026-10-21 落地 · 10-22 三轮硬化):@ 提及置顶项「未提交改动(git)」→ **发送时刻**宿主只读采集(`git status --porcelain -z` + `git diff` + `git diff --cached`;固定开关防中文路径八进制转义、防 ANSI 污染、防仓库配置借 diff 执行外部程序;子目录工作区按工作区根换算坐标),有界三道闸(≤20 文件 / 单文件 ≤200 行 / 合计 ≤12K 字符,超出明示截断),非 git 仓库 / git 缺失 / 执行失败一律给**事实行**、不给空。语义给的是真 `git diff`(未提交),不是「本会话助手改动快照」——「帮我的改动写提交信息」场景下模型看到的即 git 所见;未跟踪文件只给 `?? 路径`(git 不对未跟踪文件做 diff,如实为限)。注入形态与 `@problems` 同款(chip 无锁 · 发送即取即清 · 回执按源归因)。
|
|
82
152
|
- **输入框 @ 提及挂引用**(`HOST-CTX-1`,2026-10-20):主输入框键入 `@` 弹出工作区文件 QuickPick(多选、模糊过滤),选中即挂引用 chip——想加文件不再必须去资源管理器右键。引用模式红线守住:@ 只是「挂引用的快捷入口」,宿主侧零内容注入。触发时 `@` 先留在正文(Esc 取消文本零扰动),mention 通道挂载成功后按触发点精准撤除该字符(判据不猜,其余入口不带信源不撤——防误删正文里邮箱等合法 `@` 字样);文件列表逐项过首根归属判据(`relativeUnderPrimaryRoot`,第二根 / 根外连列表都不进,与 addToChat 拒挂同一契约两半)。协议最小改动:W→E `mention_open`(只报意图不传过滤词)+ E→W `addRef.source?: 'mention'`。守卫 webview 3 例 + 宿主 2 例,变异验证摘撤除调用即红。
|
|
83
153
|
- **@ 提及落地补强:判据守卫 + 截断明示 + 防重入**(`HOST-CTX-11`,2026-10-20,CTX-1 落地次日对抗式审查后当日修):① 撤除 `@` 的判据中真正带语义的只有「落点恰为 `@`」一条(另两条 null / 越界删掉行为等价),而它此前**零测试**——实测删掉该行 chatView 448 例全绿;现补 2 例守卫(触发后文本被编辑 / @ 已被删,均不撤不猜),并订正「判据三重」的夸大措辞。② `findFiles` 上限命中即**静默截断**(大仓里搜不到目标文件还以为仓库里没有)——现上限提为导出常量 `MENTION_FILE_LIMIT`,命中时 placeholder 明示「已截断,请输入关键词缩小范围」(不用「提示项」进列表:QuickPickItem 无 disabled,选中即变伪引用)。③ 连按 `@` 会各开一个 QuickPick、后开的静默覆盖先开的且只撤一个 `@`——现加 in-flight 守卫(try/finally 保证异常路径也归位)。④ 订正退化分支注释的**描述性撒谎**:该分支唯一可达场景是「QuickPick 打开期间视图被销毁」,不是注释原写的「webview 未就绪」;代价如实改写为「多出一个延迟注入的引用」。守卫 chatView 450 / chatPanelMention 4,变异三次均红后还原。
|
|
84
154
|
- **修复输入 `@` 无反应:未知消息不再静默丢弃 + 消息链获得可测入口**(`HOST-CTX-12`,2026-10-20,真机验收发现当日修):真机输入 `@` 字符正常落入输入框但 QuickPick 毫无反应。根因不是 `@` 分支写错,而是 **webview 脚本与扩展宿主不是同一版本**——webview 脚本是外部文件(`dist/webview/scripts/chatView.js`,从磁盘读 ⇒ 重编译后是新的),而宿主的消息分发活在进程内存里(旧的)⇒ 新 webview 朝旧宿主发 `mention_open`,旧宿主**没有任何分支匹配、静默丢弃**。修法第一动作是 Reload Window 重启扩展宿主,但真正的伤是「静默丢弃」本身:消息链**没有 else 兜底**,123 个类型里任何一个因版本错位不到达都表现为功能凭空消失、零反馈(「静默失败」族第三次踩)。① 加 else 兜底,未知类型落 `console.warn`(含类型名与「最可能原因:扩展宿主未重启」),不驱动 UI 不弹提示;② 🔴 把整条 120+ 分支的消息链从匿名回调**摘为 `private handleWebviewMessage`**——它原先零可测入口(加上兜底后立刻发现「有守卫却验证不了」),摘出后与 `handleInput` 等同构、测试可直接驱动。守卫 +1 例,变异(摘 `console.warn`)红后还原。
|
package/README.en.md
CHANGED
|
@@ -80,7 +80,7 @@ await agent.close();
|
|
|
80
80
|
|
|
81
81
|
Memora is a **brain kernel that cannot run standalone** — it has interfaces but no "form." A CLI, WebUI, desktop sprite, or novel generator can be its "host." The host gives it a body (UI), blood vessels (Provider), and neural circuits (event loops).
|
|
82
82
|
|
|
83
|
-
> **Version positioning (v5.
|
|
83
|
+
> **Version positioning (v5.x)**: **Node.js-only · Zero third-party runtime deps Agent kernel**. **The released version and per-version changes are authoritative in the npm registry and [CHANGELOG](./CHANGELOG.md); this section does not restate release state** (any static "which version is current" claim inside a package rots over time). **Since 5.0.0**: major public surface pruning (23 exports + 32 public members + 3 events removed) + multi-project shape finalized (one Agent = one project) + three never-live chains retired (goal-drift detection / memory governance facade / checkpoint fake-flushing) + a `node:*` built-in SQLite storage implementation added (`createNodeSqliteStorage`) — see the [upgrade guide](docs/memora-升级指南-4.x-到-5.0.0.md) for per-item migration. **v4.0.0**: public export surface collapsed (54 exports removed; full list in the `[4.0.0]` section of [CHANGELOG](./CHANGELOG.md)) + `agent.memory.search()` removed (`searchByKeyword()` is the sole entry).
|
|
84
84
|
|
|
85
85
|
---
|
|
86
86
|
|
package/README.md
CHANGED
|
@@ -86,7 +86,7 @@ await agent.close();
|
|
|
86
86
|
|
|
87
87
|
Memora 是一个**无法独立运行**的智能大脑内核——它只有接口,没有"形态"。CLI、WebUI、桌面精灵、小说生成器都是它的"宿主",宿主负责给它身体(UI)、血管(Provider)、神经网络(事件回路)。
|
|
88
88
|
|
|
89
|
-
> **版本定位(v5.
|
|
89
|
+
> **版本定位(v5.x 系列)**:**Node.js 专属 · 零第三方运行时依赖的 Agent 内核**。**已发布版本与各版变更以 npm registry 与 [CHANGELOG](./CHANGELOG.md) 为准,此处不复述发布态**(包内静态文本写「哪个版本是当前」必随时间腐化)。**5.0.0 起的形态**:公开面大收面(删 23 个导出符号 + 32 个公开成员 + 3 个事件)+ 多项目形态定案(一个 Agent = 一个项目)+ 三套空转机制退役(目标漂移检测 / 记忆治理门面 / 检查点假落盘)+ SQLite 存储实现(`createNodeSqliteStorage`)——破坏性变更逐条改法见 [升级指南](docs/memora-升级指南-4.x-到-5.0.0.md)。**4.0.0**:导出面收敛(移除 54 个公共导出,逐条清单见 [CHANGELOG](./CHANGELOG.md) 的 `[4.0.0]` 区)+ `agent.memory.search()` 退役(唯一入口 `searchByKeyword()`)。
|
|
90
90
|
|
|
91
91
|
---
|
|
92
92
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"assembler.d.ts","sourceRoot":"","sources":["../../src/agent/assembler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAGH,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAC3E,OAAO,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AACtE,OAAO,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AACtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAC1E,OAAO,EAAE,qBAAqB,EAAE,MAAM,2CAA2C,CAAC;AAClF,OAAO,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAEpE,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAU7D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,KAAK,EACV,WAAW,EACX,kBAAkB,EAGlB,mBAAmB,EACpB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EAAgB,KAAK,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAG5E,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"assembler.d.ts","sourceRoot":"","sources":["../../src/agent/assembler.ts"],"names":[],"mappings":"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"}
|
package/dist/agent/assembler.js
CHANGED
|
@@ -538,38 +538,56 @@ export async function assembleComponents(pctx, input) {
|
|
|
538
538
|
return rolePackResource;
|
|
539
539
|
return skillManager.readResource(skillName, resourcePath);
|
|
540
540
|
};
|
|
541
|
-
// 渐进披露 L3
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
541
|
+
// 渐进披露 L3:技能脚本目标解析(角色包 → 全局池,唯一解析点 · CMD-1-CONTENT)
|
|
542
|
+
//
|
|
543
|
+
// 执行闭包(runSkillScript)与裁决面回调(resolveSkillScript)共用本函数 ⇒
|
|
544
|
+
// 「哪个技能目录的哪个脚本」的解析顺序天然单点——两处各写一遍即是漂移回归
|
|
545
|
+
// (同序守卫:assembler.test.ts 断言 resolver 返的路径 = 执行实际 spawn 的文件,
|
|
546
|
+
// 两分支各一例;另有一例锚「同名技能角色包压过全局池」——顺序反了同源断言不会红,
|
|
547
|
+
// 只有优先级用例能抓到)。
|
|
548
|
+
// 防逃逸由两侧解析器自身保证(角色包 layer3 白名单 + resolveSafePath 边界前缀;
|
|
549
|
+
// 全局 resolveLayer3ScriptPath + existsSyncSafe),本函数不做第二套路径校验。
|
|
550
|
+
const resolveSkillScriptTarget = (skillName, scriptPath) => {
|
|
547
551
|
// 先查激活角色包内嵌技能的脚本路径
|
|
548
552
|
const rolePackPath = rolePackManager.getSkillScriptPath(skillName, scriptPath);
|
|
549
553
|
if (rolePackPath) {
|
|
550
554
|
const scriptInfo = rolePackManager.getSkillScriptInfo(skillName, scriptPath);
|
|
551
|
-
if (scriptInfo)
|
|
552
|
-
|
|
553
|
-
// nodePath 沿用宿主注入:角色包技能脚本 node runtime 分支可走真实 node 路径
|
|
554
|
-
const result = await runSkillScript(rolePackPath, scriptInfo.runtime, args, undefined, projectPath, input.scriptNodePath);
|
|
555
|
-
// B2-a:返回结构化事实,formatScriptResult 由 ToolExecutor 单点收口
|
|
556
|
-
return result;
|
|
557
|
-
}
|
|
555
|
+
if (scriptInfo)
|
|
556
|
+
return { absolutePath: rolePackPath, runtime: scriptInfo.runtime };
|
|
558
557
|
}
|
|
559
558
|
// 再查全局通用技能
|
|
560
559
|
const globalPath = skillManager.getScriptPath(skillName, scriptPath);
|
|
561
560
|
if (globalPath) {
|
|
562
561
|
const scripts = skillManager.listScripts(skillName);
|
|
563
562
|
const scriptInfo = scripts.find((s) => s.path === scriptPath);
|
|
564
|
-
if (scriptInfo)
|
|
565
|
-
|
|
566
|
-
const result = await runSkillScript(globalPath, scriptInfo.runtime, args, undefined, projectPath, input.scriptNodePath);
|
|
567
|
-
// B2-a:返回结构化事实,formatScriptResult 由 ToolExecutor 单点收口
|
|
568
|
-
return result;
|
|
569
|
-
}
|
|
563
|
+
if (scriptInfo)
|
|
564
|
+
return { absolutePath: globalPath, runtime: scriptInfo.runtime };
|
|
570
565
|
}
|
|
571
566
|
return null;
|
|
572
567
|
};
|
|
568
|
+
// 渐进披露 L3:注入 run_skill_script 脚本执行回调
|
|
569
|
+
toolExec.runSkillScript = async (skillName, scriptPath, args) => {
|
|
570
|
+
// cwd=项目根(SKILL-CWD-1,2026-10-14):与 run_project_script 同款供给——修因不修果,
|
|
571
|
+
// 改喂给判据的事实:脚本内相对路径 / 省略 --dir 走默认,落点一律受 projectPath 约束。
|
|
572
|
+
// 修复前此处传 undefined → 子进程继承宿主进程 cwd(VS Code 安装目录)→ 写文件可逃出项目根。
|
|
573
|
+
// projectPath 恒存在(AgentOptions 必填),无「未打开项目」分支。
|
|
574
|
+
const target = resolveSkillScriptTarget(skillName, scriptPath);
|
|
575
|
+
if (!target)
|
|
576
|
+
return null;
|
|
577
|
+
// 执行超时走内核默认(60s,上限 600s,见 skillScriptRunner 常量)——脚本级超时无配置通道
|
|
578
|
+
// nodePath 沿用宿主注入:技能脚本 node runtime 分支可走真实 node 路径
|
|
579
|
+
// B2-a:返回结构化事实,formatScriptResult 由 ToolExecutor 单点收口
|
|
580
|
+
return runSkillScript(target.absolutePath, target.runtime, args, undefined, projectPath, input.scriptNodePath);
|
|
581
|
+
};
|
|
582
|
+
// 渐进披露 L3:注入 run_skill_script 路径解析回调(CMD-1-CONTENT 裁决面)
|
|
583
|
+
//
|
|
584
|
+
// 与执行回调是**同一个解析函数的两面**:只返绝对路径、不执行。toolExecutor 确认点
|
|
585
|
+
// 用它定位技能脚本文件读正文,经 confirmByEntry 的 content 参喂同一个
|
|
586
|
+
// classifyCommand(deny 恒拦 / always-ask 恒弹 / normal 回落档位)——技能脚本执行
|
|
587
|
+
// 面此前面向「来源可信」免检(CMD-1-BYPASS 最后一面),现与 run_code /
|
|
588
|
+
// run_project_script 对齐黑名单底线。未注入(纯 ToolExecutor 单测等场景)=
|
|
589
|
+
// 不传正文,执行面行为不变。
|
|
590
|
+
toolExec.resolveSkillScript = (skillName, scriptPath) => resolveSkillScriptTarget(skillName, scriptPath)?.absolutePath ?? null;
|
|
573
591
|
// 渐进披露 L3:注入 list_resources 资源清单回调
|
|
574
592
|
toolExec.listResources = async (skillName) => {
|
|
575
593
|
// 先查激活角色包,再查全局通用技能
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"assembler.js","sourceRoot":"","sources":["../../src/agent/assembler.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"assembler.js","sourceRoot":"","sources":["../../src/agent/assembler.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,6 +6,24 @@ import type { BackgroundTaskScheduler } from '../utils/backgroundTask.js';
|
|
|
6
6
|
import type { AgentEventMap } from '../utils/eventEmitter.js';
|
|
7
7
|
import type { MemoryInspector } from '../agent/managers/memoryInspector.js';
|
|
8
8
|
import type { LlmProvider } from '../llm/provider.js';
|
|
9
|
+
/**
|
|
10
|
+
* 脚本文件读取最大长度(run_code script_path 模式)
|
|
11
|
+
*
|
|
12
|
+
* 脚本代码要原样交给执行器,截断会破坏语法——故超限**直接报错**(不静默截断)。
|
|
13
|
+
* 与 read_file 不同:read_file 走 token 预算分段
|
|
14
|
+
* (LOOP_CONSTANTS.SINGLE_TOOL_RESULT_MAX_TOKENS),不使用字符上限,
|
|
15
|
+
* 故本常量与 read_file 不在同一量纲,无「谁更宽松」的可比关系。
|
|
16
|
+
*
|
|
17
|
+
* 消费面两处(CMD-1-CONTENT 起):`readScriptFile`(run_code / run_project_script
|
|
18
|
+
* 的读取与裁决读)+ toolExecutor 的 run_skill_script 确认点读(技能脚本正文裁决)。
|
|
19
|
+
* 三者共用本常量 = 脚本正文预算唯一上限,禁为技能脚本单造第二套。
|
|
20
|
+
*
|
|
21
|
+
* 与 utils/fileSafe.DEFAULT_MAX_CONTENT_LEN 同为 200_000 属**异义同值**,勿误合并:
|
|
22
|
+
* - 本常量:脚本原样读取上限(超限报错,内容交执行器);
|
|
23
|
+
* - DEFAULT_MAX_CONTENT_LEN:内容文件读取上限(超限截断,内容入上下文)。
|
|
24
|
+
* 两者各自独立演进,改一侧不联动另一侧。
|
|
25
|
+
*/
|
|
26
|
+
export declare const SCRIPT_READ_MAX_LEN = 200000;
|
|
9
27
|
/**
|
|
10
28
|
* 内置文件工具忽略的目录/文件名(模块级单一真理源)
|
|
11
29
|
*
|
|
@@ -160,9 +178,12 @@ export declare class BuiltinToolHandlers {
|
|
|
160
178
|
* 仅做路径白名单校验 + 长度上限(SCRIPT_READ_MAX_LEN,防超大脚本滥用)。
|
|
161
179
|
*
|
|
162
180
|
* @param relativePath 相对项目根的文件路径
|
|
181
|
+
* @param label 调用面标识(默认 `run_code script_path`)。错误文案要说清"是哪个工具的
|
|
182
|
+
* 脚本"——裁决面(run_project_script 也复用本函数读正文做内容裁决)与执行面可能不同,
|
|
183
|
+
* 写死 run_code 会让项目脚本报出"run_code 脚本文件过长"(说谎)。
|
|
163
184
|
* @returns 脚本文件原始内容
|
|
164
185
|
*/
|
|
165
|
-
readScriptFile(relativePath: string): Promise<string>;
|
|
186
|
+
readScriptFile(relativePath: string, label?: string): Promise<string>;
|
|
166
187
|
/**
|
|
167
188
|
* 删除项目文件(供 delete_file 工具)
|
|
168
189
|
*
|
|
@@ -191,7 +212,7 @@ export declare class BuiltinToolHandlers {
|
|
|
191
212
|
* @param relativePath 相对项目根的文件路径
|
|
192
213
|
* @param content 要写入的内容
|
|
193
214
|
* @param extensions 写入扩展(可选,用于 diff 确认等)
|
|
194
|
-
* @param mode 写入模式(合法值集 = WriteFileMode 类型,派生自 WRITE_FILE_MODES
|
|
215
|
+
* @param mode 写入模式(合法值集 = WriteFileMode 类型,派生自 WRITE_FILE_MODES),默认取 DEFAULT_WRITE_FILE_MODE
|
|
195
216
|
* @param insertLine insert 模式下的目标行号(从 1 开始),省略则插入到末尾
|
|
196
217
|
* @param oldString replace 模式下的被替换文本(须在旧内容中唯一出现)
|
|
197
218
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builtinToolHandlers.d.ts","sourceRoot":"","sources":["../../src/agent/builtinToolHandlers.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAM7D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAEnE,OAAO,KAAK,EAAE,aAAa,EAAe,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"builtinToolHandlers.d.ts","sourceRoot":"","sources":["../../src/agent/builtinToolHandlers.ts"],"names":[],"mappings":"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"}
|
|
@@ -29,7 +29,7 @@ import { splitSessionId } from '../utils/time.js';
|
|
|
29
29
|
// 越界提示前缀同源引入——loop 台账写侧据此识别「提示串非正文」不记账,防两侧前缀漂移
|
|
30
30
|
import { formatSegmentationFooter, READ_FILE_NOTICE_PREFIX } from '../agent/toolLedger.js';
|
|
31
31
|
// write_file 写入模式单一真理源(schema 描述与 handler 校验共用,避免双源漂移)
|
|
32
|
-
import { WRITE_FILE_MODES, isWriteFileMode } from '../agent/builtinTools.js';
|
|
32
|
+
import { DEFAULT_WRITE_FILE_MODE, WRITE_FILE_MODES, isWriteFileMode, } from '../agent/builtinTools.js';
|
|
33
33
|
import { sanitizeExternalText, stripControlChars } from '../agent/toolExecutor.js';
|
|
34
34
|
import { touchScores } from '../memory/keywordsTouch.js';
|
|
35
35
|
import { AGENT_CONSTANTS, LOOP_CONSTANTS } from '../agent/constants.js';
|
|
@@ -82,12 +82,16 @@ function clampCharsToTokenBudget(line, budget) {
|
|
|
82
82
|
* (LOOP_CONSTANTS.SINGLE_TOOL_RESULT_MAX_TOKENS),不使用字符上限,
|
|
83
83
|
* 故本常量与 read_file 不在同一量纲,无「谁更宽松」的可比关系。
|
|
84
84
|
*
|
|
85
|
+
* 消费面两处(CMD-1-CONTENT 起):`readScriptFile`(run_code / run_project_script
|
|
86
|
+
* 的读取与裁决读)+ toolExecutor 的 run_skill_script 确认点读(技能脚本正文裁决)。
|
|
87
|
+
* 三者共用本常量 = 脚本正文预算唯一上限,禁为技能脚本单造第二套。
|
|
88
|
+
*
|
|
85
89
|
* 与 utils/fileSafe.DEFAULT_MAX_CONTENT_LEN 同为 200_000 属**异义同值**,勿误合并:
|
|
86
90
|
* - 本常量:脚本原样读取上限(超限报错,内容交执行器);
|
|
87
91
|
* - DEFAULT_MAX_CONTENT_LEN:内容文件读取上限(超限截断,内容入上下文)。
|
|
88
92
|
* 两者各自独立演进,改一侧不联动另一侧。
|
|
89
93
|
*/
|
|
90
|
-
const SCRIPT_READ_MAX_LEN = 200_000;
|
|
94
|
+
export const SCRIPT_READ_MAX_LEN = 200_000;
|
|
91
95
|
/**
|
|
92
96
|
* 内置文件工具忽略的目录/文件名(模块级单一真理源)
|
|
93
97
|
*
|
|
@@ -386,20 +390,27 @@ export class BuiltinToolHandlers {
|
|
|
386
390
|
* 仅做路径白名单校验 + 长度上限(SCRIPT_READ_MAX_LEN,防超大脚本滥用)。
|
|
387
391
|
*
|
|
388
392
|
* @param relativePath 相对项目根的文件路径
|
|
393
|
+
* @param label 调用面标识(默认 `run_code script_path`)。错误文案要说清"是哪个工具的
|
|
394
|
+
* 脚本"——裁决面(run_project_script 也复用本函数读正文做内容裁决)与执行面可能不同,
|
|
395
|
+
* 写死 run_code 会让项目脚本报出"run_code 脚本文件过长"(说谎)。
|
|
389
396
|
* @returns 脚本文件原始内容
|
|
390
397
|
*/
|
|
391
|
-
async readScriptFile(relativePath) {
|
|
398
|
+
async readScriptFile(relativePath, label = 'run_code script_path') {
|
|
392
399
|
if (!relativePath) {
|
|
393
|
-
throw toolError(
|
|
400
|
+
throw toolError(`${label} 参数缺失`, 'LLM 未传 script_path', ['script_path 不能为空'], undefined, ToolErrorCode.ARGUMENT_ERROR);
|
|
394
401
|
}
|
|
395
402
|
const absolutePath = this.resolveSafePath(relativePath);
|
|
396
|
-
|
|
403
|
+
// 审计的 tool 名 = 调用面:run_project_script 复用本函数读正文做裁决时,写死 'run_code'
|
|
404
|
+
// 会把项目脚本的路径审计记到 run_code 头上(归属说谎)⇒ 传 label。
|
|
405
|
+
this.guardPathOrThrow(absolutePath, label);
|
|
397
406
|
// 读前预检:目标是目录时给出可执行指引(脚本语义是文件)
|
|
398
|
-
|
|
407
|
+
// tool 名传 label(调用面):路径审计要能看出这次读是谁发起的,写死 'run_code'
|
|
408
|
+
// 会让 run_project_script 的裁决读记到 run_code 头上(审计归属说谎)。
|
|
409
|
+
await this.assertFileNotDir(absolutePath, relativePath, label, '传入脚本文件路径');
|
|
399
410
|
try {
|
|
400
411
|
const content = await readFile(absolutePath, 'utf-8');
|
|
401
412
|
if (content.length > SCRIPT_READ_MAX_LEN) {
|
|
402
|
-
throw toolError(
|
|
413
|
+
throw toolError(`${label} 脚本文件过长`, `脚本超过 ${SCRIPT_READ_MAX_LEN} 字符上限`, ['精简脚本或拆分为多个文件'], undefined, ToolErrorCode.ARGUMENT_ERROR);
|
|
403
414
|
}
|
|
404
415
|
return content;
|
|
405
416
|
}
|
|
@@ -408,9 +419,9 @@ export class BuiltinToolHandlers {
|
|
|
408
419
|
throw err;
|
|
409
420
|
const e = toError(err);
|
|
410
421
|
if (isNodeErrorCode(err, 'ENOENT')) {
|
|
411
|
-
throw toolError(
|
|
422
|
+
throw toolError(`${label} 脚本文件不存在`, `${absolutePath}:文件不存在`, ['确认 script_path 正确', '先 write_file 创建脚本再执行'], e, ToolErrorCode.FILE_NOT_FOUND);
|
|
412
423
|
}
|
|
413
|
-
throw toolError(
|
|
424
|
+
throw toolError(`${label} 读取脚本失败`, `${absolutePath}:${e.message}`, ['确认文件可读'], e, ToolErrorCode.UNKNOWN);
|
|
414
425
|
}
|
|
415
426
|
}
|
|
416
427
|
/**
|
|
@@ -481,11 +492,11 @@ export class BuiltinToolHandlers {
|
|
|
481
492
|
* @param relativePath 相对项目根的文件路径
|
|
482
493
|
* @param content 要写入的内容
|
|
483
494
|
* @param extensions 写入扩展(可选,用于 diff 确认等)
|
|
484
|
-
* @param mode 写入模式(合法值集 = WriteFileMode 类型,派生自 WRITE_FILE_MODES
|
|
495
|
+
* @param mode 写入模式(合法值集 = WriteFileMode 类型,派生自 WRITE_FILE_MODES),默认取 DEFAULT_WRITE_FILE_MODE
|
|
485
496
|
* @param insertLine insert 模式下的目标行号(从 1 开始),省略则插入到末尾
|
|
486
497
|
* @param oldString replace 模式下的被替换文本(须在旧内容中唯一出现)
|
|
487
498
|
*/
|
|
488
|
-
async writeFile(relativePath, content, extensions, mode =
|
|
499
|
+
async writeFile(relativePath, content, extensions, mode = DEFAULT_WRITE_FILE_MODE, insertLine, oldString) {
|
|
489
500
|
if (!relativePath) {
|
|
490
501
|
throw toolError('write_file 工具调用缺少 path 参数', 'LLM 未传 path', ['检查 personality.md 是否明确了 write_file 用法'], undefined, ToolErrorCode.ARGUMENT_ERROR);
|
|
491
502
|
}
|