@tachu/extensions 1.0.0-alpha.4 → 1.0.0-alpha.5
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
CHANGED
|
@@ -5,6 +5,40 @@ All notable changes to this project will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [1.0.0-alpha.5] - 2026-05-11
|
|
9
|
+
|
|
10
|
+
### Added
|
|
11
|
+
|
|
12
|
+
#### `@tachu/core`
|
|
13
|
+
|
|
14
|
+
- **Descriptor governance fields** — `BaseDescriptor` 新增可选 `version` / `displayName` / `deprecated` / `deprecatedMessage`,用于版本治理与迁移提示
|
|
15
|
+
- **Version-aware registry APIs** — `DescriptorRegistry` 新增 `get(kind,name,version)`、`getLatest(kind,name)`、`listVersions(kind,name)`,支持同名多版本共存与精确查询
|
|
16
|
+
- **Timeout policy split** — 新增 `llmWaitFirstTokenMs`、`llmStreamingMs`、`maxToolLoopActiveMs` 三类预算项,并支持 `runtime.timeouts.byPhase` 分阶段覆盖
|
|
17
|
+
- **LLM timeout utility layer** — 新增 `engine/llm-timeouts.ts`,统一 LLM 调用超时解析与信号构造
|
|
18
|
+
|
|
19
|
+
#### `@tachu/extensions`
|
|
20
|
+
|
|
21
|
+
- **`search-code` regex self-healing** — 当正则语法非法时自动降级为 fixed-string 搜索,减少因参数细节导致的整轮失败
|
|
22
|
+
|
|
23
|
+
### Changed
|
|
24
|
+
|
|
25
|
+
#### `@tachu/core`
|
|
26
|
+
|
|
27
|
+
- **DescriptorRegistry storage model** — 从单一 `name -> descriptor` 升级为 `name -> version -> descriptor`;重复冲突判定调整为 `kind + name + version`
|
|
28
|
+
- **Latest selection semantics** — `get(kind,name)` 保持向后兼容但改为 latest 解析(稳定版优先;无稳定版时取最高 pre-release)
|
|
29
|
+
- **Unknown field passthrough contract** — `RegistryLoader` 与 `DescriptorRegistry` 明确保留未知顶层字段,`register -> get` 往返不丢失扩展字段
|
|
30
|
+
- **Deprecation consistency check** — `deprecated === true` 且缺失 `deprecatedMessage` 时在 `registry.register()` 统一抛出 `RegistryError`
|
|
31
|
+
- **Tool-loop budget accounting** — 新增“活跃时长”统计,审批/HITL/交互等待记为阻塞时间并从 tool-loop 预算中扣除
|
|
32
|
+
|
|
33
|
+
#### `@tachu/cli`
|
|
34
|
+
|
|
35
|
+
- **`tachu init` template budget defaults** — 默认预算更新为 12h 级运行兜底,并生成 LLM 超时拆分字段与 phase 覆盖注释模板
|
|
36
|
+
|
|
37
|
+
#### Docs
|
|
38
|
+
|
|
39
|
+
- **ADR contract updates** — `architecture-design.md` 与 `detailed-design.md` 补充 Descriptor 扩展字段契约与版本治理规则
|
|
40
|
+
- **README / README_ZH roadmap** — 当前里程碑更新为 `1.0.0-alpha.5`,新增本版本交付摘要
|
|
41
|
+
|
|
8
42
|
## [1.0.0-alpha.4] - 2026-05-07
|
|
9
43
|
|
|
10
44
|
### Added
|
package/README.md
CHANGED
|
@@ -24,7 +24,7 @@ Tachu ships as a Bun-native TypeScript monorepo with three packages: the zero-de
|
|
|
24
24
|
|
|
25
25
|
## Project Status
|
|
26
26
|
|
|
27
|
-
**Current release:** `1.0.0-alpha.
|
|
27
|
+
**Current release:** `1.0.0-alpha.5` on the `alpha` dist-tag.
|
|
28
28
|
|
|
29
29
|
This is the **first public alpha** — most infrastructure is in place, but several LLM-backed stages are still stubbed. The table below is the single source of truth; every claim made elsewhere in this README must be cross-checked against it.
|
|
30
30
|
|
|
@@ -228,7 +228,7 @@ bun add -g @tachu/cli@alpha
|
|
|
228
228
|
After global installation, verify with:
|
|
229
229
|
|
|
230
230
|
```bash
|
|
231
|
-
tachu --version # expect 1.0.0-alpha.
|
|
231
|
+
tachu --version # expect 1.0.0-alpha.5 or newer
|
|
232
232
|
```
|
|
233
233
|
|
|
234
234
|
---
|
|
@@ -937,7 +937,16 @@ The contract is enforced by `packages/core/src/engine/phases/fallback-contract.t
|
|
|
937
937
|
Tachu follows a `1.0.0-alpha.n` → `1.0.0-beta.n` → `1.0.0` release lane. Each
|
|
938
938
|
cut-line below is a real, shippable deliverable with tests, not a wish list.
|
|
939
939
|
|
|
940
|
-
### 1.0.0-alpha.
|
|
940
|
+
### 1.0.0-alpha.5 — Descriptor governance + timeout budgeting hardening (current)
|
|
941
|
+
|
|
942
|
+
- [x] `BaseDescriptor` governance metadata: `version`, `displayName`, `deprecated`, `deprecatedMessage`
|
|
943
|
+
- [x] `DescriptorRegistry` version-aware resolution: same-name multi-version coexistence, `get(kind,name,version)`, `getLatest`, `listVersions`, and stable-first latest selection
|
|
944
|
+
- [x] Descriptor passthrough contract: unknown top-level fields are preserved through loader + registry round-trip
|
|
945
|
+
- [x] Registry validation: `deprecated=true` now requires `deprecatedMessage`; invalid semver is rejected with explicit registry errors
|
|
946
|
+
- [x] Runtime timeout split: `llmWaitFirstTokenMs`, `llmStreamingMs`, `maxToolLoopActiveMs` (excluding user-blocking waits), plus phase-level timeout overrides
|
|
947
|
+
- [x] `search-code` resilience: invalid regex patterns auto-downgrade to fixed-string matching instead of failing the turn
|
|
948
|
+
|
|
949
|
+
### 1.0.0-alpha.4 — Code editing capabilities + architecture boundary fix
|
|
941
950
|
|
|
942
951
|
- [x] 14 new tools in `@tachu/extensions`: `edit-file`, `multi-edit`, `glob`, `todo-write/read`, `git-status/diff/log/blame/show/branch`, `run-typecheck`, `run-tests`
|
|
943
952
|
- [x] `read-file` — `offset`/`limit` pagination, `withLineNumbers` (default on), `totalLines`/`hasMore`
|
package/README_ZH.md
CHANGED
|
@@ -26,7 +26,7 @@ Tachu 以 Bun 原生 TypeScript Monorepo 形式发布,包含三个包:零依
|
|
|
26
26
|
|
|
27
27
|
## 项目状态(Project Status)
|
|
28
28
|
|
|
29
|
-
**当前发布版本:** `1.0.0-alpha.
|
|
29
|
+
**当前发布版本:** `1.0.0-alpha.5`(`alpha` dist-tag)
|
|
30
30
|
|
|
31
31
|
这是一次**架构骨架**发布——基础设施基本就绪,但几个依赖 LLM 的阶段仍是占位实现。下表是唯一的事实来源;README 其他位置的任何声称都必须能在这张表里找到对应。
|
|
32
32
|
|
|
@@ -227,7 +227,7 @@ bun add -g @tachu/cli@alpha
|
|
|
227
227
|
安装完成后验证:
|
|
228
228
|
|
|
229
229
|
```bash
|
|
230
|
-
tachu --version # 预期输出 1.0.0-alpha.
|
|
230
|
+
tachu --version # 预期输出 1.0.0-alpha.5 或更新
|
|
231
231
|
```
|
|
232
232
|
|
|
233
233
|
---
|
|
@@ -929,7 +929,16 @@ Tachu 保证 **用户看到的每一次响应都是可读的自然语言答复**
|
|
|
929
929
|
|
|
930
930
|
Tachu 按 `1.0.0-alpha.n` → `1.0.0-beta.n` → `1.0.0` 三条通道演进。下面每个里程碑都对应真实、可发布、有测试的交付物,不是愿望清单。
|
|
931
931
|
|
|
932
|
-
### 1.0.0-alpha.
|
|
932
|
+
### 1.0.0-alpha.5 —— Descriptor 治理 + 超时预算加固(当前)
|
|
933
|
+
|
|
934
|
+
- [x] `BaseDescriptor` 治理元数据:`version`、`displayName`、`deprecated`、`deprecatedMessage`
|
|
935
|
+
- [x] `DescriptorRegistry` 版本化解析:同名多版本共存,支持 `get(kind,name,version)`、`getLatest`、`listVersions`,默认 latest 采用“稳定版优先”
|
|
936
|
+
- [x] 描述符扩展字段 passthrough 契约:未知顶层字段在 loader + registry 全链路保留
|
|
937
|
+
- [x] Registry 一致性校验:`deprecated=true` 必须提供 `deprecatedMessage`;非法 semver 显式报错
|
|
938
|
+
- [x] 运行时超时拆分:`llmWaitFirstTokenMs`、`llmStreamingMs`、`maxToolLoopActiveMs`(排除用户阻塞等待),并支持 phase 级覆盖
|
|
939
|
+
- [x] `search-code` 容错:非法正则自动降级为 fixed-string 搜索,避免整轮直接失败
|
|
940
|
+
|
|
941
|
+
### 1.0.0-alpha.4 —— 代码编写能力 + 架构边界修正
|
|
933
942
|
|
|
934
943
|
- [x] `@tachu/extensions` 新增 14 个工具:`edit-file`、`multi-edit`、`glob`、`todo-write/read`、`git-status/diff/log/blame/show/branch`、`run-typecheck`、`run-tests`
|
|
935
944
|
- [x] `read-file` 新增 `offset`/`limit` 分段读取、`withLineNumbers`(默认开启)、`totalLines`/`hasMore`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../../../src/tools/search-code/executor.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAI9C,UAAU,eAAe;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,UAAU,eAAe;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED,UAAU,gBAAgB;IACxB,OAAO,EAAE,eAAe,EAAE,CAAC;IAC3B,SAAS,EAAE,OAAO,CAAC;CACpB;
|
|
1
|
+
{"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../../../src/tools/search-code/executor.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAI9C,UAAU,eAAe;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,UAAU,eAAe;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED,UAAU,gBAAgB;IACxB,OAAO,EAAE,eAAe,EAAE,CAAC;IAC3B,SAAS,EAAE,OAAO,CAAC;CACpB;AAmED;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,YAAY,CAAC,eAAe,EAAE,gBAAgB,CAsF9E,CAAC"}
|
|
@@ -2,6 +2,38 @@ import { readdir, readFile } from "node:fs/promises";
|
|
|
2
2
|
import { join } from "node:path";
|
|
3
3
|
import { assertNotAborted, resolveSandboxPolicy } from "../shared";
|
|
4
4
|
import { resolveAllowedPath, toWorkspaceRelativePath } from "../../common/path";
|
|
5
|
+
const escapeRegExp = (value) => value.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
|
|
6
|
+
const isRegexSyntaxError = (stderr) => /(regex parse error|invalid regular expression|unclosed group|missing \))/i.test(stderr);
|
|
7
|
+
const runRgSearch = async (input, root, maxResults, useFixedStrings) => {
|
|
8
|
+
const args = [
|
|
9
|
+
"--line-number",
|
|
10
|
+
"--no-heading",
|
|
11
|
+
"--color",
|
|
12
|
+
"never",
|
|
13
|
+
input.caseSensitive ? "--case-sensitive" : "--ignore-case",
|
|
14
|
+
"--max-count",
|
|
15
|
+
String(maxResults),
|
|
16
|
+
];
|
|
17
|
+
if (useFixedStrings) {
|
|
18
|
+
args.push("--fixed-strings");
|
|
19
|
+
}
|
|
20
|
+
if (input.fileGlob) {
|
|
21
|
+
args.push("--glob", input.fileGlob);
|
|
22
|
+
}
|
|
23
|
+
args.push(input.pattern, root);
|
|
24
|
+
const process = Bun.spawn({
|
|
25
|
+
cmd: ["rg", ...args],
|
|
26
|
+
stdout: "pipe",
|
|
27
|
+
stderr: "pipe",
|
|
28
|
+
cwd: root,
|
|
29
|
+
});
|
|
30
|
+
const [stdout, stderr] = await Promise.all([
|
|
31
|
+
new Response(process.stdout).text(),
|
|
32
|
+
new Response(process.stderr).text(),
|
|
33
|
+
]);
|
|
34
|
+
const code = await process.exited;
|
|
35
|
+
return { code, stdout, stderr };
|
|
36
|
+
};
|
|
5
37
|
const parseRgOutput = (output, maxResults) => {
|
|
6
38
|
const matches = [];
|
|
7
39
|
const lines = output.split("\n").filter((line) => line.length > 0);
|
|
@@ -30,30 +62,12 @@ export const searchCodeExecutor = async (input, context) => {
|
|
|
30
62
|
const root = resolveAllowedPath(input.path ?? ".", resolveSandboxPolicy(context));
|
|
31
63
|
const maxResults = input.maxResults ?? 100;
|
|
32
64
|
try {
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
input.caseSensitive ? "--case-sensitive" : "--ignore-case",
|
|
39
|
-
"--max-count",
|
|
40
|
-
String(maxResults),
|
|
41
|
-
];
|
|
42
|
-
if (input.fileGlob) {
|
|
43
|
-
args.push("--glob", input.fileGlob);
|
|
65
|
+
let { code, stdout, stderr } = await runRgSearch(input, root, maxResults, false);
|
|
66
|
+
if (code === 2 && isRegexSyntaxError(stderr)) {
|
|
67
|
+
// 常见场景:LLM 把字面量(如 JSON.stringify()当正则传入导致解析失败。
|
|
68
|
+
// 自动降级为 fixed-string 搜索,减少一次失败-重试往返。
|
|
69
|
+
({ code, stdout, stderr } = await runRgSearch(input, root, maxResults, true));
|
|
44
70
|
}
|
|
45
|
-
args.push(input.pattern, root);
|
|
46
|
-
const process = Bun.spawn({
|
|
47
|
-
cmd: ["rg", ...args],
|
|
48
|
-
stdout: "pipe",
|
|
49
|
-
stderr: "pipe",
|
|
50
|
-
cwd: root,
|
|
51
|
-
});
|
|
52
|
-
const [stdout, stderr] = await Promise.all([
|
|
53
|
-
new Response(process.stdout).text(),
|
|
54
|
-
new Response(process.stderr).text(),
|
|
55
|
-
]);
|
|
56
|
-
const code = await process.exited;
|
|
57
71
|
if (code !== 0 && code !== 1) {
|
|
58
72
|
throw new Error(stderr || `rg exited with code ${code}`);
|
|
59
73
|
}
|
|
@@ -67,7 +81,14 @@ export const searchCodeExecutor = async (input, context) => {
|
|
|
67
81
|
};
|
|
68
82
|
}
|
|
69
83
|
catch {
|
|
70
|
-
|
|
84
|
+
let matcher;
|
|
85
|
+
try {
|
|
86
|
+
matcher = new RegExp(input.pattern, input.caseSensitive ? "g" : "gi");
|
|
87
|
+
}
|
|
88
|
+
catch {
|
|
89
|
+
// JS 回退路径同样兼容非法正则:转义后按字面量匹配。
|
|
90
|
+
matcher = new RegExp(escapeRegExp(input.pattern), input.caseSensitive ? "g" : "gi");
|
|
91
|
+
}
|
|
71
92
|
const matches = [];
|
|
72
93
|
let truncated = false;
|
|
73
94
|
const walk = async (dir) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"executor.js","sourceRoot":"","sources":["../../../src/tools/search-code/executor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAqBhF,MAAM,aAAa,GAAG,CACpB,MAAc,EACd,UAAkB,EACkC,EAAE;IACtD,MAAM,OAAO,GAAsB,EAAE,CAAC;IACtC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACnE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAChC,MAAM,MAAM,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9D,IAAI,KAAK,IAAI,CAAC,IAAI,MAAM,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YACtC,SAAS;QACX,CAAC;QACD,OAAO,CAAC,IAAI,CAAC;YACX,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC;YAC1B,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC;YAC3C,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;SAC7B,CAAC,CAAC;QACH,IAAI,OAAO,CAAC,MAAM,IAAI,UAAU,EAAE,CAAC;YACjC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;QACtC,CAAC;IACH,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;AACvC,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAoD,KAAK,EACtF,KAAK,EACL,OAAO,EACP,EAAE;IACF,gBAAgB,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IACtC,MAAM,IAAI,GAAG,kBAAkB,CAAC,KAAK,CAAC,IAAI,IAAI,GAAG,EAAE,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC;IAClF,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,IAAI,GAAG,CAAC;IAE3C,IAAI,CAAC;QACH,
|
|
1
|
+
{"version":3,"file":"executor.js","sourceRoot":"","sources":["../../../src/tools/search-code/executor.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tachu/extensions",
|
|
3
|
-
"version": "1.0.0-alpha.
|
|
3
|
+
"version": "1.0.0-alpha.5",
|
|
4
4
|
"description": "Tachu extensions (alpha) — OpenAI/Anthropic/Mock providers, 7 built-in tools, execution backends, MCP adapters (stdio+SSE), vector stores (local/Qdrant), observability emitters, input transformers and common rules.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -59,7 +59,7 @@
|
|
|
59
59
|
"@opentelemetry/sdk-trace-base": "^2.7.0",
|
|
60
60
|
"@opentelemetry/sdk-trace-node": "^2.7.0",
|
|
61
61
|
"@qdrant/js-client-rest": "^1.17.0",
|
|
62
|
-
"@tachu/core": "1.0.0-alpha.
|
|
62
|
+
"@tachu/core": "1.0.0-alpha.4",
|
|
63
63
|
"mammoth": "^1.12.0",
|
|
64
64
|
"openai": "^6.34.0",
|
|
65
65
|
"pdf-parse": "^2.4.5"
|