From 1bc0d9111c9ed241713461c49a59d9ec6e494cef Mon Sep 17 00:00:00 2001 From: tiye Date: Thu, 12 Nov 2026 00:38:14 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8D=87=E7=BA=A7=20Gen=20Code=20=E5=88=B0?= =?UTF-8?q?=E6=AD=A3=E5=BC=8F=20Calcit=200.41.1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 4 ++-- calcit.cirru | 30 +++++++++++++++--------------- deps.cirru | 2 +- package.json | 2 +- yarn.lock | 10 +++++----- 5 files changed, 24 insertions(+), 24 deletions(-) diff --git a/README.md b/README.md index 4ac72cc..21ad8e4 100644 --- a/README.md +++ b/README.md @@ -4,14 +4,14 @@ Demo: https://repo.calcit-lang.org/gen-code/ ## 0.0.26 候选 -使用者需统一 Calcit CLI 和 `@calcit/procs` **0.41.0**,配对正式 +使用者需统一 Calcit CLI 和 `@calcit/procs` **0.41.1**,配对正式 UI **0.15.2**、Respo **0.19.5**、JS-FFI **0.2.13** 和传递依赖 Router **0.12.2**, 然后重新生成 JS。插件继续接收单事件派发,代码生成请求与存档行为沿用原合同。 Reel **0.11.0** 是 Demo 的开发依赖。Demo 将插件事件解码为具名 `GenCodeOp`,快捷键与面板通过独立回调接收 `Control`。流式补丁通过 `GenCodeFieldValue` union 约束为字符串或布尔值,Editor 等宿主的插件回调继续接收单个原格式操作。 内部 `call-genai-msg!` 只向回调交付补丁 Map。插件在派发边界补齐 cursor 和请求状态,生成原格式的 `:states-merge` 事件。 Meta+Enter 直接读取 Respo 提供的类型化键盘字段,快捷键条件与派发协议不变。 -质量检查使用 0.41.0 的 coverage、弱类型和弃用视图,继续限制两处既有 SDK 强转。 +质量检查使用 0.41.1 的 coverage、弱类型和弃用视图,继续限制两处既有 SDK 强转。 验收覆盖完整 strict、原测试、离线快捷键与流式回归和构建。 ## 历史 0.0.22 配对 diff --git a/calcit.cirru b/calcit.cirru index adb7613..19290d9 100644 --- a/calcit.cirru +++ b/calcit.cirru @@ -155,7 +155,7 @@ 'call-genai-msg! $ %{} 'CodeEntry (:doc |) :code $ quote $ defn call-genai-msg! (variant prompt-text emit-patch! *text) hint-fn $ Fn Tag String - Fn (Map Tag gen-code.schema/GenCodeFieldValue) (-> Unit) + Fn (Map Tag schema/GenCodeFieldValue) (-> Unit) Ref String -> Unit :features :js-ffi @@ -277,7 +277,7 @@ 'send-genai-request! $ %{} 'CodeEntry :doc "|The raw Gemini SDK call is kept as a leaf FFI adapter so its capability is lexical." :code $ quote $ defn send-genai-request! (chat prompt-text abort) - hint-fn $ Fn gen-code.core/GenAIChatHost String gen-code.core/AbortControllerHost + hint-fn $ Fn GenAIChatHost String AbortControllerHost -> $ JsNullish JsObject :features :js-ffi .!sendMessageStream chat $ js-object (:message prompt-text) @@ -293,7 +293,7 @@ 'send-genai-stream! $ %{} 'CodeEntry :doc "|Keep the Gemini SDK method call and browser abort signal in one typed JS adapter." :code $ quote $ defn send-genai-stream! (chat prompt-text) - hint-fn $ Fn gen-code.core/GenAIChatHost String (-> gen-code.stream/GenAIStreamHost) (:features :js-ffi) (:async) + hint-fn $ Fn GenAIChatHost String (-> GenAIStreamHost) (:features :js-ffi) (:async) let abort $ new-abort-controller! pending $ send-genai-request! chat prompt-text abort @@ -336,17 +336,17 @@ wire-dispatch $ fn (dispatch!) hint-fn $ Fn Fn AnyEnum $ -> Unit - -> $ Fn gen-code.schema/GenCodeOp $ -> Unit + -> $ Fn schema/GenCodeOp $ -> Unit fn (op) - hint-fn $ Fn gen-code.schema/GenCodeOp $ -> Unit + hint-fn $ Fn schema/GenCodeOp $ -> Unit dispatch! $ gen-code.schema/plugin-op-to-wire op , &unit patch-dispatch $ fn (request-state emit!) - hint-fn $ Fn gen-code.schema/GenCodeState - Fn gen-code.schema/GenCodeOp $ -> Unit - -> $ Fn (Map Tag gen-code.schema/GenCodeFieldValue) (-> Unit) + hint-fn $ Fn schema/GenCodeState + Fn schema/GenCodeOp $ -> Unit + -> $ Fn (Map Tag schema/GenCodeFieldValue) (-> Unit) fn (patch) - hint-fn $ Fn (Map Tag gen-code.schema/GenCodeFieldValue) (-> Unit) + hint-fn $ Fn (Map Tag schema/GenCodeFieldValue) (-> Unit) emit! $ gen-code.schema/GenCodeOp :states-merge cursor request-state patch render-node $ fn () hint-fn $ Fn $ -> respo.schema/Element @@ -537,14 +537,14 @@ (:none) &unit render-app! add-watch! *reel :changes $ fn (reel prev) - hint-fn $ Fn (reel.typed/State gen-code.schema/GenCodeOp gen-code.types/StoreData) (reel.typed/State gen-code.schema/GenCodeOp gen-code.types/StoreData) (-> Unit) + hint-fn $ Fn (typed/State schema/GenCodeOp gen-code.types/StoreData) (typed/State schema/GenCodeOp gen-code.types/StoreData) (-> Unit) render-app! listen-devtools! |k on-control! browser/add-event-listener! |beforeunload $ fn (event) - hint-fn $ Fn js-ffi.browser/EventHost (-> Unit) (:features :js-ffi) + hint-fn $ Fn browser/EventHost (-> Unit) (:features :js-ffi) persist-storage! browser/add-event-listener! |visibilitychange $ fn (event) - hint-fn $ Fn js-ffi.browser/EventHost (-> Unit) (:features :js-ffi) + hint-fn $ Fn browser/EventHost (-> Unit) (:features :js-ffi) match (browser/visibility-state) (:hidden) (persist-storage!) _ &unit @@ -577,7 +577,7 @@ if (nil? build-errors) do (remove-watch! *reel :changes) (clear-cache!) add-watch! *reel :changes $ fn (reel prev) - hint-fn $ Fn (reel.typed/State gen-code.schema/GenCodeOp gen-code.types/StoreData) (reel.typed/State gen-code.schema/GenCodeOp gen-code.types/StoreData) (-> Unit) + hint-fn $ Fn (typed/State schema/GenCodeOp gen-code.types/StoreData) (typed/State schema/GenCodeOp gen-code.types/StoreData) (-> Unit) render-app! reset! *reel $ typed/refresh updater @*reel schema/store hud! |ok~ |Ok @@ -669,7 +669,7 @@ and (struct? state) (&struct:matches? state GenCodeState) Some $ GenCodeOp :states-merge decode-map-as cursor $ List respo.schema/CoordKey - assert-type state 'gen-code.schema/GenCodeState + assert-type state GenCodeState decode-map-as changes $ Map Tag gen-code.schema/GenCodeFieldValue , None (:hydrate-storage data) @@ -788,7 +788,7 @@ 'consume-genai-stream! $ %{} 'CodeEntry :doc "|Consume a host async iterator and normalize each nullish yield into Option before invoking application code." :code $ quote $ defn consume-genai-stream! (stream on-chunk!) - hint-fn $ Fn gen-code.stream/GenAIStreamHost + hint-fn $ Fn GenAIStreamHost Fn (Option JsObject) (-> Unit) -> Unit :features :js-ffi diff --git a/deps.cirru b/deps.cirru index aaa380c..87c0475 100644 --- a/deps.cirru +++ b/deps.cirru @@ -1,5 +1,5 @@ -{} (:calcit-version |0.41.0) +{} (:calcit-version |0.41.1) :version |0.0.26 :dependencies $ {} |Respo/respo-ui.calcit |0.15.2 diff --git a/package.json b/package.json index 035b980..8d65161 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "dependencies": { - "@calcit/procs": "0.41.0", + "@calcit/procs": "0.41.1", "@cirru/writer.ts": "^0.1.7", "@google/genai": "^1.4.0", "cirru-color": "^0.2.4", diff --git a/yarn.lock b/yarn.lock index 19cde4a..7057739 100644 --- a/yarn.lock +++ b/yarn.lock @@ -12,15 +12,15 @@ __metadata: languageName: node linkType: hard -"@calcit/procs@npm:0.41.0": - version: 0.41.0 - resolution: "@calcit/procs@npm:0.41.0" +"@calcit/procs@npm:0.41.1": + version: 0.41.1 + resolution: "@calcit/procs@npm:0.41.1" dependencies: "@calcit/finger-vec": "npm:0.1.1" "@calcit/ternary-tree": "npm:0.0.26" "@cirru/parser.ts": "npm:0.0.10" "@cirru/writer.ts": "npm:^0.1.9" - checksum: 10c0/5de94b39e435363d0f80611b63914c9abd6b0afac3c77adf9b9846ac439fce319ac0780697364cabf67b2997d39495a1e72086e1496ac560c51bb57462f37628 + checksum: 10c0/f14d3d61fdfc3fef4b7b215cc4c2be3923950b42ea19333d94e3fc689631545b2e6f56a8da31246971c7beaf1283d6f55a3af469a20bd9cb80be9352996d413f languageName: node linkType: hard @@ -1146,7 +1146,7 @@ __metadata: version: 0.0.0-use.local resolution: "root-workspace-0b6124@workspace:." dependencies: - "@calcit/procs": "npm:0.41.0" + "@calcit/procs": "npm:0.41.1" "@cirru/writer.ts": "npm:^0.1.7" "@google/genai": "npm:^1.4.0" bottom-tip: "npm:^0.1.5"