@calcit/procs 0.12.50 → 0.12.51
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/.yarn/install-state.gz +0 -0
- package/editing-history/2026-04-07-1550-path-format-at-prefix-migration.md +6 -0
- package/editing-history/20260720-2305-cli-docs-refresh.md +9 -0
- package/editing-history/20260720-2306-compatible-dependency-upgrades.md +9 -0
- package/editing-history/20260721-0110-format-cirru-and-refresh-docs.md +15 -0
- package/editing-history/20260722-1428-fix-or-codegen-timeout.md +23 -0
- package/lib/package.json +1 -1
- package/package.json +1 -1
package/.yarn/install-state.gz
CHANGED
|
Binary file
|
|
@@ -5,17 +5,20 @@
|
|
|
5
5
|
All display-level Cirru tree paths now use `@` prefix notation when rendered to user.
|
|
6
6
|
|
|
7
7
|
### Display format change
|
|
8
|
+
|
|
8
9
|
- `1.2.3.4` → `@1.2.3.4` (bare path)
|
|
9
10
|
- `[1.2.3.4]` → `[@1.2.3.4]` (bracketed path)
|
|
10
11
|
- `NodeLocation::Display` now outputs `ns/def [@1.2.3]` instead of `ns/def [1.2.3]`
|
|
11
12
|
|
|
12
13
|
### Backward compatibility
|
|
14
|
+
|
|
13
15
|
- `parse_path()` strips leading `@` if present, so CLI input still accepts both `@1.2.3` and `1.2.3`
|
|
14
16
|
- Error messages and help text updated to show `@` format
|
|
15
17
|
|
|
16
18
|
### Files modified
|
|
17
19
|
|
|
18
20
|
**Core functions:**
|
|
21
|
+
|
|
19
22
|
- `src/bin/cli_handlers/common.rs`: `format_path()` returns `@1.2.3`; `parse_path()` strips `@` prefix; test assertions updated
|
|
20
23
|
- `src/calcit.rs`: `NodeLocation::Display` outputs `[@1.2.3]`; test assertion updated
|
|
21
24
|
- `src/bin/cli_handlers/cirru_validator.rs`: local `format_path()` updated
|
|
@@ -24,17 +27,20 @@ All display-level Cirru tree paths now use `@` prefix notation when rendered to
|
|
|
24
27
|
- `src/runner/preprocess/mod.rs`: `[&inspect-type]` debug output uses `@`
|
|
25
28
|
|
|
26
29
|
**Tree/edit handlers:**
|
|
30
|
+
|
|
27
31
|
- `src/bin/cli_handlers/tree.rs`: inline path formatting in swap handler
|
|
28
32
|
- `src/bin/cli_handlers/edit.rs`: error message example
|
|
29
33
|
- `src/cli_args.rs`: help text examples (3 locations)
|
|
30
34
|
|
|
31
35
|
**Documentation:**
|
|
36
|
+
|
|
32
37
|
- `docs/CalcitAgent.md`: 19 path examples updated
|
|
33
38
|
- `docs/run/agent-advanced.md`: 23 path examples updated
|
|
34
39
|
- `docs/run/edit-tree.md`: 6 path examples updated
|
|
35
40
|
- `docs/Respo-Agent.md` (respo project): 26 path examples updated
|
|
36
41
|
|
|
37
42
|
### Why
|
|
43
|
+
|
|
38
44
|
- `@` prefix helps LLMs distinguish path coordinates from other dotted numeric patterns (like version numbers or floats)
|
|
39
45
|
- `@` is safe in shell (no escaping needed)
|
|
40
46
|
- All display output now consistent with `@` prefix
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
## Summary
|
|
2
|
+
|
|
3
|
+
Refresh CLI-facing docs to match the current command surface.
|
|
4
|
+
|
|
5
|
+
## Notes
|
|
6
|
+
|
|
7
|
+
- Align `cr edit` / `cr tree` examples with current subcommand names and long-option forms.
|
|
8
|
+
- Document stdin fallback for edit/tree code inputs while keeping the Cirru EDN `quote` requirement explicit.
|
|
9
|
+
- Update agent-oriented guides so examples no longer mix legacy structured command syntax with current shell CLI usage.
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
## Summary
|
|
2
|
+
|
|
3
|
+
Upgrade compatible Rust dependencies, including `cirru_edn`, without changing the existing `strum` line.
|
|
4
|
+
|
|
5
|
+
## Notes
|
|
6
|
+
|
|
7
|
+
- Bump `cirru_edn` to `0.7.8` in normal and build dependencies.
|
|
8
|
+
- Upgrade other compatible crates such as `argh`, `colored`, `ctrlc`, `regex`, `rpds`, `semver`, `serde`, `serde_json`, and `ureq`.
|
|
9
|
+
- Refresh `Cargo.lock` after version changes so the workspace resolves to the new compatible releases.
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# 2026-07-21 01:10 Cirru 格式化与文档命令更新
|
|
2
|
+
|
|
3
|
+
## 修改概要
|
|
4
|
+
|
|
5
|
+
- 使用 `cr <snapshot> edit format` 统一格式化 `calcit/` 下 56 个非空 Cirru 文件。
|
|
6
|
+
- 保留 `calcit/debug/.compact-inc.cirru` 这个 0 字节热更新占位文件原样。
|
|
7
|
+
- 修正文档中已移除的 `check-md -d`、`remote-libs readme -f`、`read-lines -s/-n` 旧参数。
|
|
8
|
+
- 在快速参考中加入文档知识图谱常用命令。
|
|
9
|
+
|
|
10
|
+
## 验证
|
|
11
|
+
|
|
12
|
+
- `cr docs agents --full`
|
|
13
|
+
- `cargo test -q`
|
|
14
|
+
- `yarn check-all`
|
|
15
|
+
- `git diff --check`
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# Fix exponential `or` expansion and bound code generation
|
|
2
|
+
|
|
3
|
+
## Summary
|
|
4
|
+
|
|
5
|
+
- Fixed the `or` macro so its recursive tail is emitted once instead of being duplicated in both falsy branches.
|
|
6
|
+
- Preserved Calcit truthiness semantics for `nil`, `false`, and arbitrary truthy values.
|
|
7
|
+
- Added a long-operand regression case to the macro test suite.
|
|
8
|
+
- Added verbose preprocessing phase/definition diagnostics for JS and IR generation.
|
|
9
|
+
- Added a configurable code generation timeout, defaulting to 60 seconds, including watch-mode rebuilds.
|
|
10
|
+
- Increased the code generation worker stack for deeply nested macro and type preprocessing.
|
|
11
|
+
|
|
12
|
+
## Root cause
|
|
13
|
+
|
|
14
|
+
The previous `or` macro emitted the remaining operands in both the `nil` and `false` branches. Recursive macro expansion therefore grew exponentially for long `or` expressions. A real-world 40-plus-operand predicate appeared to hang and consumed CPU until externally terminated.
|
|
15
|
+
|
|
16
|
+
## Validation
|
|
17
|
+
|
|
18
|
+
- `cargo fmt --check`
|
|
19
|
+
- `cargo clippy --bin cr -- -D warnings`
|
|
20
|
+
- `cargo test --lib runner::preprocess -- --nocapture`
|
|
21
|
+
- `target/debug/cr calcit/test.cirru`
|
|
22
|
+
- `target/debug/cr calcit/test.cirru --timeout 60 js`
|
|
23
|
+
- The original `respo/markdown/calcit.cirru` reproduction now reaches its project-level warnings in under one second instead of timing out after 60 seconds.
|
package/lib/package.json
CHANGED