@calcit/procs 0.13.16 → 0.13.17
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/20260815-0243-deprecate-config-version.md +11 -0
- package/editing-history/20260815-2302-issue-344-346.md +7 -0
- package/editing-history/20260815-2315-review-followup-354.md +6 -0
- package/editing-history/20260815-2325-caps-version-migration.md +6 -0
- package/editing-history/20260815-2356-caps-review-comment.md +4 -0
- package/editing-history/20260815-2359-review-comment-355.md +5 -0
- package/editing-history/20260816-0046-typed-struct-agent-guidance.md +7 -0
- package/editing-history/20260816-0115-nested-struct-type-context.md +19 -0
- package/editing-history/20260816-0126-typed-struct-review-followup.md +6 -0
- package/editing-history/20260816-0254-release-0.13.17.md +5 -0
- package/lib/package.json +1 -1
- package/package.json +1 -1
package/.yarn/install-state.gz
CHANGED
|
Binary file
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
# Deprecate cr config version in favor of caps version
|
|
2
|
+
|
|
3
|
+
- Version authority already lives in `deps.cirru :version`, managed by
|
|
4
|
+
`caps version get/set/bump`; the snapshot `:version` is a migration mirror.
|
|
5
|
+
- `cr config version` / `cr config set version` now emit a deprecation notice
|
|
6
|
+
pointing to `caps version`, while keeping the legacy write path working.
|
|
7
|
+
- CLI help text for `ConfigVersionCommand` and `ConfigSetCommand` marks the
|
|
8
|
+
`version` key as deprecated.
|
|
9
|
+
- Docs updated: `docs/run/project-structure.md` documents `:version` as the
|
|
10
|
+
snapshot mirror with `deps.cirru` authoritative; `docs/run/load-deps.md`
|
|
11
|
+
mentions the deprecated commands.
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
# Issue 344 / 346 修复记录
|
|
2
|
+
|
|
3
|
+
- `cr` CLI 主流程改为在 32 MiB 专用线程栈中运行,避免 Cumulo.org 等深层宏/依赖预处理在默认主线程栈上触发 stack overflow。
|
|
4
|
+
- Option 返回类型不匹配诊断显示完整 `Option<T>`,并给出 `option:unwrap-or` 与模式匹配建议;补充 `find-index`、`first`、`last`、`nth`、`get`、`get-in`、`get-env` 升级说明。
|
|
5
|
+
- `.trim` / `.blank?` 的未知方法错误补充接收者类型和函数形式迁移提示。
|
|
6
|
+
- 旧 `:require-macros` 导入、不可反序列化的完整 Snapshot 增加明确恢复提示;升级文档补充 `compact.cirru` 恢复流程。
|
|
7
|
+
- 回归覆盖 Option 诊断、`:require-macros`、Snapshot 恢复提示和字符串方法提示;Cumulo.org 默认 8 MiB 栈回归、全量 Rust/JS/WASM/Agent 检查均通过。
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
# PR 354 review follow-up
|
|
2
|
+
|
|
3
|
+
- Option 迁移提示现在只在实际值为 `Option<T>` 且目标参数不是 Option 时出现,避免对 `Option<T>` 与 `Option<U>` 的 payload 不匹配建议错误 unwrap。
|
|
4
|
+
- Snapshot 恢复文档先要求在 `compact.cirru` 中逐个迁移 `:require-macros`,确认后再复制、format 和 check-only。
|
|
5
|
+
- 字符串方法诊断测试改为通过 `validate_method_call` 走真实方法校验路径,并覆盖 `StructValue` `MapLike` 接收者的完整错误信息。
|
|
6
|
+
- 文档明确推荐原生 `match`,同时说明旧代码可继续使用 `tag-match`;Copilot 关于 `std::fs` 的评论经核查为误报。
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
# Caps project-version migration
|
|
2
|
+
|
|
3
|
+
- `caps` now warns whenever the selected `deps.cirru` has no `:version`, with the direct `caps ... version set` migration command.
|
|
4
|
+
- `caps version get` and `caps version bump` no longer read the legacy `calcit.cirru`/`compact.cirru` `:version`; they error until `deps.cirru :version` is initialized.
|
|
5
|
+
- Documentation now presents `deps.cirru :version` as the only project-version source and removes `:version` from the recommended Snapshot example.
|
|
6
|
+
- Added a regression test proving a legacy Snapshot version cannot satisfy the `caps version` commands.
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
# Caps review follow-up
|
|
2
|
+
|
|
3
|
+
- Corrected the migration hints in the missing-version warning and `caps version get/bump` errors to match the CLI's trailing input-file syntax: `caps version set <version> <deps-file>`.
|
|
4
|
+
- Added regression assertions that both errors contain the copy/paste-safe command for a non-default dependency path.
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
# PR 355 review comment follow-up
|
|
2
|
+
|
|
3
|
+
- Hardened the snapshot migration `rg` guard: only the expected no-match status continues, while unavailable or unreadable checks stop the script; quiet mode avoids dumping all matches.
|
|
4
|
+
- Corrected the prior history note to identify the `StructValue` `MapLike` receiver.
|
|
5
|
+
- Aligned Option migration diagnostics with the upgrade guide by recommending native `match` while retaining legacy `tag-match` guidance, with regression coverage.
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
# 2026-08-16 Agent 的 Struct 字段访问与临时文件引导
|
|
2
|
+
|
|
3
|
+
- 已知具名 Struct 的应用代码应使用 `(:field value)` 或 receiver-first `value.:field` invoke 语法;检查器会保留字段声明类型,并继续降为索引访问。
|
|
4
|
+
- 直接使用 `&struct:get` 现在会报告 `W_STRUCT_RAW_ACCESS`;接收者无法静态解析时报告更严格的 `W_STRUCT_DYNAMIC_RAW_ACCESS`。可复用 `defimpl` 与 core/runtime 动态边界保持兼容。
|
|
5
|
+
- 本地 `let` 中的 `defstruct` / `defenum` 现在可解析函数参数、`assert-type`、泛型 enum 构造及 `match` payload 的名义类型,避免类型退化为 `Dynamic` 后迫使代码绕过检查。
|
|
6
|
+
- CLI 收到 `/tmp/...` 或 `/private/tmp/...` 的 Snapshot/`--file` 路径时在 stderr 提示使用项目内 `.calcit/snippets/`,并提醒将 `.calcit/` 保持在 `.gitignore`;查询命令的 stdout 协议不受影响。
|
|
7
|
+
- Agent、Struct、Enum、Trait 与 quick reference 文档和相关 Snapshot 回归均改为优先展示类型化字段访问。
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# 嵌套 Struct 类型的声明上下文与迁移告警边界
|
|
2
|
+
|
|
3
|
+
## 背景
|
|
4
|
+
|
|
5
|
+
issue #357 在 cumulo-reel 的完整依赖图中暴露出 `W_REQUIRED_STRUCT_FIELD_TYPE` 误报:`ClientStore` 的 `:router` 字段在声明处写作同 namespace 的短类型 `'Router`,字段类型流入调用方后只剩未限定 `TypeRef("Router")`,无法再次解析为 `cumulo-reel.schema/Router`。正确的 `:name router` 因而失败,促使调用方用 `&struct:get` 绕过检查。
|
|
6
|
+
|
|
7
|
+
## 修改要点
|
|
8
|
+
|
|
9
|
+
- 从具名 Struct 读取字段类型时,按 Struct 定义所在 namespace 解析字段类型体内的短 `TypeRef`,并递归处理泛型参数、集合、函数、Optional 等复合类型。
|
|
10
|
+
- 函数参数 schema 进入函数体时,同样先解析词法局部类型,再解析声明 namespace、import alias/refer 与 core 类型;带源码引号的局部引用会在 lookup 前规范化。
|
|
11
|
+
- `&struct:get` 的迁移告警只针对项目源码中的 literal tag 字段访问;普通执行、query/static-analysis 与 docs snippet 入口都保留项目 namespace 集合。加载依赖、动态 key、core/runtime 与可复用 `defimpl` 保留低层边界,避免旧依赖阻塞项目迁移。
|
|
12
|
+
- 未解析 nominal receiver 的诊断会明确要求恢复或限定 schema,而不是建议用 raw accessor 隐藏问题。
|
|
13
|
+
- `/tmp` 提示区分主 Snapshot 与 `--file` scratch 输入:Snapshot 应留在项目根目录保证相对模块解析,`.calcit/snippets/` 只用于项目本地临时代码。
|
|
14
|
+
|
|
15
|
+
## 回归证据
|
|
16
|
+
|
|
17
|
+
- 单测覆盖同 namespace 嵌套 Struct 字段、带引号局部 TypeRef、未解析 nominal 诊断、动态 key 与依赖 namespace 告警边界。
|
|
18
|
+
- 在 cumulo-reel issue 提交者对应提交的副本中,把 Router/Session 的七处 raw 访问恢复为 tag 语法;`query type-at` 得到精确的 `'cumulo-reel.schema/Router`,项目自身不再出现相关 required-field 误报。
|
|
19
|
+
- `cargo clippy -- -D warnings`、`cargo test`、`yarn compile`、`yarn check-agent-interface`、`yarn check-all` 与相关 Markdown snippet 检查通过。
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
# Typed Struct review follow-up
|
|
2
|
+
|
|
3
|
+
- 匿名 Struct 文档同时列出 core/runtime 与显式可复用 `defimpl` 两类低层动态边界,避免文档规则比实际检查器更窄。
|
|
4
|
+
- 将 lexical-local 与 declaration-namespace 两套 TypeRef 解析改为共享 `map_type_refs_for_body` 遍历器;差异仅留在 TypeRef 回调,List/Map/Set/Ref/Optional/JsNullish/Variadic/Fn/Struct/Enum 的递归结构只维护一份。
|
|
5
|
+
- 保留原有解析顺序和 fallback:先递归处理类型参数,再执行局部或 namespace 解析;无法解析时仍保留原始 TypeRef 名称。
|
|
6
|
+
- 重点回归带引号局部类型和跨 namespace 嵌套 Struct 字段,防止维护性重构改变 issue #357 的行为。
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
# Release 0.13.17
|
|
2
|
+
|
|
3
|
+
- PR #358 已合并到 `main`,包含嵌套 Struct 类型上下文修复、typed Struct 访问引导、项目源码迁移告警边界和 `.calcit/snippets/` 路径提示。
|
|
4
|
+
- Cargo 与 npm 包版本同步从 `0.13.16` 升至 `0.13.17`,并执行 `cargo update --workspace` 更新 `Cargo.lock`。
|
|
5
|
+
- 本次 release commit 位于已验证的 `main`,后续从该提交创建不带 `v` 前缀的 `0.13.17` tag 并发布 GitHub Release。
|
package/lib/package.json
CHANGED