@kolisachint/hoocode-agent 0.4.75 → 0.4.76
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 +55 -0
- package/dist/core/agent-session.d.ts.map +1 -1
- package/dist/core/agent-session.js +7 -1
- package/dist/core/agent-session.js.map +1 -1
- package/dist/core/exec.d.ts.map +1 -1
- package/dist/core/exec.js +13 -4
- package/dist/core/exec.js.map +1 -1
- package/dist/core/session-manager.d.ts.map +1 -1
- package/dist/core/session-manager.js +16 -3
- package/dist/core/session-manager.js.map +1 -1
- package/dist/core/subagent-pool.d.ts.map +1 -1
- package/dist/core/subagent-pool.js +6 -1
- package/dist/core/subagent-pool.js.map +1 -1
- package/dist/core/tools/edit-diff.d.ts.map +1 -1
- package/dist/core/tools/edit-diff.js +97 -37
- package/dist/core/tools/edit-diff.js.map +1 -1
- package/dist/core/tools/fd-utils.d.ts +23 -0
- package/dist/core/tools/fd-utils.d.ts.map +1 -0
- package/dist/core/tools/fd-utils.js +47 -0
- package/dist/core/tools/fd-utils.js.map +1 -0
- package/dist/core/tools/file-mutation-queue.d.ts.map +1 -1
- package/dist/core/tools/file-mutation-queue.js +15 -2
- package/dist/core/tools/file-mutation-queue.js.map +1 -1
- package/dist/core/tools/find.d.ts.map +1 -1
- package/dist/core/tools/find.js +3 -24
- package/dist/core/tools/find.js.map +1 -1
- package/dist/core/tools/glob.d.ts.map +1 -1
- package/dist/core/tools/glob.js +3 -19
- package/dist/core/tools/glob.js.map +1 -1
- package/dist/core/tools/grep.d.ts.map +1 -1
- package/dist/core/tools/grep.js +30 -18
- package/dist/core/tools/grep.js.map +1 -1
- package/dist/core/tools/ls.d.ts +12 -1
- package/dist/core/tools/ls.d.ts.map +1 -1
- package/dist/core/tools/ls.js +58 -33
- package/dist/core/tools/ls.js.map +1 -1
- package/dist/core/tools/output-accumulator.d.ts +1 -0
- package/dist/core/tools/output-accumulator.d.ts.map +1 -1
- package/dist/core/tools/output-accumulator.js +36 -24
- package/dist/core/tools/output-accumulator.js.map +1 -1
- package/dist/core/tools/read.d.ts.map +1 -1
- package/dist/core/tools/read.js +5 -0
- package/dist/core/tools/read.js.map +1 -1
- package/dist/core/tools/render-utils.d.ts.map +1 -1
- package/dist/core/tools/render-utils.js +9 -2
- package/dist/core/tools/render-utils.js.map +1 -1
- package/dist/core/tools/write.d.ts.map +1 -1
- package/dist/core/tools/write.js +4 -1
- package/dist/core/tools/write.js.map +1 -1
- package/dist/utils/tools-manager.d.ts.map +1 -1
- package/dist/utils/tools-manager.js +16 -0
- package/dist/utils/tools-manager.js.map +1 -1
- package/examples/extensions/custom-provider-anthropic/package.json +1 -1
- package/examples/extensions/custom-provider-gitlab-duo/package.json +1 -1
- package/examples/extensions/sandbox/package.json +1 -1
- package/examples/extensions/with-deps/package.json +1 -1
- package/package.json +4 -4
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,60 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.4.76] - 2026-06-21
|
|
4
|
+
|
|
5
|
+
### Fixed
|
|
6
|
+
|
|
7
|
+
- Tool calls that shell out to `fd`/`rg` (`grep`, `find`, `glob`) no longer
|
|
8
|
+
re-run a synchronous `spawnSync(<tool>, ["--version"])` probe on every
|
|
9
|
+
invocation. When a tool resolves from `PATH` instead of `~/.hoocode/bin`,
|
|
10
|
+
this blocking probe ran on each call and stalled the event loop; the resolved
|
|
11
|
+
path is now cached for the process lifetime.
|
|
12
|
+
- `ls` tool uses `readdir` with `{ withFileTypes: true }` on the default local
|
|
13
|
+
filesystem backend, replacing N sequential `stat()` syscalls with a single
|
|
14
|
+
`readdir` call that returns file type info inline. Extension backends that
|
|
15
|
+
only implement the existing `readdir` string return continue to work via the
|
|
16
|
+
fallback path.
|
|
17
|
+
- `grep` tool output now shows each filename once per file instead of repeating
|
|
18
|
+
it on every matching line, reducing token usage for multi-file matches.
|
|
19
|
+
- `edit` tool now matches blocks even when leading indentation differs (for
|
|
20
|
+
example the model emits 2-space indentation against a tab-indented file). A
|
|
21
|
+
third indentation-tolerant matching tier runs only after exact and fuzzy
|
|
22
|
+
matching fail, comparing whole lines with leading/trailing whitespace ignored,
|
|
23
|
+
while keeping the uniqueness guardrail and replacing in the original content so
|
|
24
|
+
surrounding formatting is preserved. This addresses frequent "Could not find
|
|
25
|
+
the exact text" failures caused by whitespace drift.
|
|
26
|
+
- `edit` tool no longer re-normalizes the entire file just to count occurrences
|
|
27
|
+
on the exact-match path; occurrence counting now reuses the resolved match
|
|
28
|
+
spans.
|
|
29
|
+
- File mutation queue caches resolved realpaths instead of running a blocking
|
|
30
|
+
`realpathSync.native` syscall on every edit/write.
|
|
31
|
+
- `read` tool reuses the original file string for whole-file reads instead of
|
|
32
|
+
splitting into lines and rejoining them.
|
|
33
|
+
- `write` tool reports the actual UTF-8 byte count instead of the JavaScript
|
|
34
|
+
string length (which differs for multibyte content).
|
|
35
|
+
- `OutputAccumulator.snapshot()` caches its result and invalidates the cache
|
|
36
|
+
only when new output is appended or the stream finishes, so the streaming UI's
|
|
37
|
+
timer-driven polling no longer re-runs tail truncation/compression on every
|
|
38
|
+
tick when no new data has arrived.
|
|
39
|
+
- `execCommand` (extension command helper) now decodes child process output with
|
|
40
|
+
streaming `TextDecoder`s and joins collected chunks, fixing corruption of
|
|
41
|
+
multibyte UTF-8 sequences split across chunk boundaries and avoiding quadratic
|
|
42
|
+
string concatenation for large output.
|
|
43
|
+
- Hoisted the retryable-error regex (`agent-session`) and the inherited-model
|
|
44
|
+
fallback regex (`subagent-pool`) to module-level constants so they are compiled
|
|
45
|
+
once instead of on every error check.
|
|
46
|
+
- Session tree sorting parses each entry timestamp once (decorate-sort-undecorate)
|
|
47
|
+
instead of allocating two `Date` objects per comparison.
|
|
48
|
+
- Branch-session label creation reuses a single collision-id set instead of
|
|
49
|
+
rebuilding a `Set` on every label iteration.
|
|
50
|
+
- `getTextOutput` partitions tool result content in a single pass instead of
|
|
51
|
+
filtering the same array twice.
|
|
52
|
+
|
|
53
|
+
### Changed
|
|
54
|
+
|
|
55
|
+
- Extracted the duplicated fd path-normalization and glob-argument helpers from
|
|
56
|
+
`find` and `glob` into a shared `fd-utils.ts` module.
|
|
57
|
+
|
|
3
58
|
## [0.4.75] - 2026-06-21
|
|
4
59
|
|
|
5
60
|
## [0.4.74] - 2026-06-21
|