@yu_robotics/remote-cli 1.6.137 → 1.6.141
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/README.md +44 -2
- package/dist/delegation/DelegatedWorkerSessionStore.d.ts +1 -0
- package/dist/delegation/DelegatedWorkerSessionStore.d.ts.map +1 -1
- package/dist/delegation/DelegatedWorkerSessionStore.js +12 -4
- package/dist/delegation/DelegatedWorkerSessionStore.js.map +1 -1
- package/dist/delegation/DelegatedWorkspaceManager.d.ts.map +1 -1
- package/dist/delegation/DelegatedWorkspaceManager.js +38 -13
- package/dist/delegation/DelegatedWorkspaceManager.js.map +1 -1
- package/dist/delegation/DelegationManager.d.ts +2 -0
- package/dist/delegation/DelegationManager.d.ts.map +1 -1
- package/dist/delegation/DelegationManager.js +158 -72
- package/dist/delegation/DelegationManager.js.map +1 -1
- package/dist/delegation/GitCheckpoint.d.ts +10 -4
- package/dist/delegation/GitCheckpoint.d.ts.map +1 -1
- package/dist/delegation/GitCheckpoint.js +290 -58
- package/dist/delegation/GitCheckpoint.js.map +1 -1
- package/dist/delegation/contract.d.ts +1 -1
- package/dist/delegation/contract.js +1 -1
- package/dist/delegation/contract.js.map +1 -1
- package/dist/maintenance/release-notes.json +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contract.js","sourceRoot":"","sources":["../../src/delegation/contract.ts"],"names":[],"mappings":";;;;;;AA6DA,wCAEC;AAED,sDAEC;AAED,kDAGC;AAGD,4DAKC;AAhFD,gDAAwB;AASX,QAAA,mBAAmB,GAAG,CAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,CAAU,CAAC;AAGjH,MAAM,MAAM,GAAG,CAAC,UAAmC,EAAE,WAAqB,EAAE,EAAE,EAAE,CAAC,CAAC;IAChF,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,oBAAoB,EAAE,KAAK;CAClE,CAAC,CAAC;AAEU,QAAA,gBAAgB,GAAG;IAC9B;QACE,IAAI,EAAE,0BAA0B;QAChC,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE;QACzD,WAAW,EAAE,gOAAgO;QAC7O,WAAW,EAAE,MAAM,CAAC,EAAE,CAAC;KACxB;IACD;QACE,IAAI,EAAE,qBAAqB;QAC3B,WAAW,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE;QAChF,WAAW,EAAE,
|
|
1
|
+
{"version":3,"file":"contract.js","sourceRoot":"","sources":["../../src/delegation/contract.ts"],"names":[],"mappings":";;;;;;AA6DA,wCAEC;AAED,sDAEC;AAED,kDAGC;AAGD,4DAKC;AAhFD,gDAAwB;AASX,QAAA,mBAAmB,GAAG,CAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,CAAU,CAAC;AAGjH,MAAM,MAAM,GAAG,CAAC,UAAmC,EAAE,WAAqB,EAAE,EAAE,EAAE,CAAC,CAAC;IAChF,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,oBAAoB,EAAE,KAAK;CAClE,CAAC,CAAC;AAEU,QAAA,gBAAgB,GAAG;IAC9B;QACE,IAAI,EAAE,0BAA0B;QAChC,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE;QACzD,WAAW,EAAE,gOAAgO;QAC7O,WAAW,EAAE,MAAM,CAAC,EAAE,CAAC;KACxB;IACD;QACE,IAAI,EAAE,qBAAqB;QAC3B,WAAW,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE;QAChF,WAAW,EAAE,o4CAAo4C;QACj5C,WAAW,EAAE,MAAM,CAAC;YAClB,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,2BAAmB,EAAE;YACtD,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE;YAC7D,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,WAAW,CAAC,EAAE,WAAW,EAAE,oSAAoS,EAAE;SAC5W,EAAE,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;KAC7B;IACD;QACE,IAAI,EAAE,mBAAmB;QACzB,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE;QACzD,WAAW,EAAE,uNAAuN;QACpO,WAAW,EAAE,MAAM,CAAC;YAClB,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC1B,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,WAAW,EAAE,yDAAyD,EAAE;SACjI,EAAE,CAAC,QAAQ,CAAC,CAAC;KACf;IACD;QACE,IAAI,EAAE,mBAAmB;QACzB,WAAW,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE;QACjF,WAAW,EAAE,wMAAwM;QACrN,WAAW,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC;KAChE;IACD;QACE,IAAI,EAAE,sBAAsB;QAC5B,WAAW,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE;QACjF,WAAW,EAAE,o1BAAo1B;QACj2B,WAAW,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC9C,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE;YACpF,gBAAgB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,8DAA8D,EAAE;SAClH,EAAE,CAAC,QAAQ,CAAC,CAAC;KACf;CACO,CAAC;AAEE,QAAA,uBAAuB,GAAG,uxCAAuxC,CAAC;AAE/zC,SAAgB,cAAc,CAAC,CAAwB,EAAE,CAAwB;IAC/E,OAAO,CAAC,EAAE,GAAG,KAAK,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,KAAK,KAAK,CAAC,EAAE,KAAK,CAAC;AACpD,CAAC;AAED,SAAgB,qBAAqB,CAAC,UAAgC;IACpE,OAAO,EAAE,yBAAyB,EAAE,UAAU,CAAC,GAAG,EAAE,2BAA2B,EAAE,UAAU,CAAC,KAAK,EAAE,CAAC;AACtG,CAAC;AAED,SAAgB,mBAAmB,CAAC,UAAgC;IAClE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;QAC9E,GAAG,EAAE,qBAAqB,CAAC,UAAU,CAAC,EAAE,CAAC;AAC7C,CAAC;AAED,oFAAoF;AACpF,SAAgB,wBAAwB,CAAC,UAAiC;IACxE,IAAI,CAAC,UAAU;QAAE,OAAO,EAAE,CAAC;IAC3B,MAAM,MAAM,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAC;IAC/C,OAAO,CAAC,EAAE,IAAI,EAAE,uBAAuB,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI;YACjF,GAAG,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;AACjF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"format":1,"firstVersion":"1.6.123","sections":[{"version":"1.6.137","text":"### 单独清理子任务上下文\n- 子任务结束后,无论成功还是失败,都可在卡片上点击 Clear context,让该 Worker 下次从新会话开始,不影响主 Agent、其他 Worker 或代码成果。\n- 清理收到本机确认后才显示成功;运行中的任务和过期卡片不会误清新会话,失败可重试,不会自动重跑任务。","changes":[{"topic":"delegation","title":"委派任务","text":"子任务结束后,无论成功还是失败,都可在卡片上点击 Clear context,让该 Worker 下次从新会话开始,不影响主 Agent、其他 Worker 或代码成果。"},{"topic":"delegation","title":"委派任务","text":"清理收到本机确认后才显示成功;运行中的任务和过期卡片不会误清新会话,失败可重试,不会自动重跑任务。"}],"details":"### Added\n- Add an owner-bound Clear context control outside delegated Worker card details after successful or failed execution. Reset only the exact idle lane's native continuation, retaining workspaces, artifacts, archived transcripts, authentication, and settings without replaying the task or resetting the coordinator.\n- Negotiate optional workerContextReset support and require CLI acknowledgement before confirming success. Persist reset intents and context epochs, serialize reset with lane acquisition, reject stale or unsafe targets, and permit explicit retries after interrupted resets. Keep controls consistent across streaming, continuation cards, and thread-footer refreshes with a bounded ephemeral Router cache; legacy peers remain compatible."},{"version":"1.6.136","text":"### 委派成果自动收尾\n- 主 Agent 回复完成前,自动检查子任务成果是否已交付或明确保留;有遗漏会继续处理,最多补两轮。\n- 仍无法处理的成果会明确列出并保留,不再把“任务执行完了”当作“代码已交付”,也不会自动丢弃文件。","changes":[{"topic":"delegation","title":"委派任务","text":"主 Agent 回复完成前,自动检查子任务成果是否已交付或明确保留;有遗漏会继续处理,最多补两轮。"},{"topic":"delegation","title":"委派任务","text":"仍无法处理的成果会明确列出并保留,不再把“任务执行完了”当作“代码已交付”,也不会自动丢弃文件。"}],"details":"### Added\n- Enforce artifact closeout before successful coordinator completion. Drain accepted tasks and tool calls, reconcile historical delivery under existing ownership guards, then inspect durable receipts rather than cached results. Pending changes, missing or invalid receipts, failed collection, and unretained recovery state prevent success; verified no-change, applied, and deliberately retained outcomes need no further decision.\n- Resume the same coordinator session for at most two artifact-closeout rounds per request, combining unread worker results when available. Preserve attachments, result acknowledgement, approval/input, model recovery, and cancellation boundaries; new workers do not reset the budget. An unresolved final check returns bounded task IDs and artifact references as a failure, pausing queued execution while preserving recoverable output. No new wire messages, implicit merging, automatic cross-request replay, or non-Git lifecycle changes."},{"version":"1.6.135","text":"### 工作区自动回收\n- 无文件改动的成功任务,以及已确认合并的成果,会自动回收安全的 Worker 工作目录;保留上下文,下次在原路径重建并读取最新代码。\n- 有未交付成果、遗留文件或状态不明的工作目录继续保留;清理失败不影响任务结果,也不会强删文件。\n- 成果提交已进入主工作分支历史时,会自动确认交付;之后主分支撤回改动也不会重新挂起旧任务,遗留文件仍受安全检查保护。","changes":[{"topic":"delegation","title":"委派任务","text":"无文件改动的成功任务,以及已确认合并的成果,会自动回收安全的 Worker 工作目录;保留上下文,下次在原路径重建并读取最新代码。"},{"topic":"delegation","title":"委派任务","text":"有未交付成果、遗留文件或状态不明的工作目录继续保留;清理失败不影响任务结果,也不会强删文件。"},{"topic":"delegation","title":"委派任务","text":"成果提交已进入主工作分支历史时,会自动确认交付;之后主分支撤回改动也不会重新挂起旧任务,遗留文件仍受安全检查保护。"}],"details":"### Added\n- Automatically reclaim verified delegated Git checkout directories after successful no-change tasks or durable artifact application. Preserve native conversation pointers, stable lane paths, immutable artifacts, and private input/output/history references; recreate absent, unregistered owned paths from fresh delivery input when the lane is reused.\n- Persist present/reclaiming/reclaimed checkout state and exact output receipts. Resolve interrupted intents only from verified intact checkouts or confirmed absent/unregistered paths; never infer ownership from a missing legacy directory, overwrite occupied reclaimed paths, prune registrations, or sweep historical workspaces.\n- Recognize successful pending worker outcomes as historically delivered when their recorded artifact snapshot commit is an ancestor of delivery HEAD, including after a later revert. Persist the observed HEAD and repair interrupted pending-marker clears; reconcile guarded inspection, ready-lane admission, and idle turn closure without content-subset heuristics, automatic merges, staging, commits, or changes to patch-only apply. Keep replacement-object bypass, owner/ref checks, fail-soft errors, and independent safe-reclamation verification.\n\n### Changed\n- Independently bound and hash actual tracked bytes, modes, and symlink targets before checkout deletion, accounting for ignored files, extra directories, unknown entries, and Git index flags. Preserve pending, retained, failed/cancelled, locked, or unresolved recovery workspaces. Transformed bytes that cannot be proven equivalent fail closed.\n- Serialize lane lifecycle and Git worktree metadata operations within the CLI process. Await optional reclamation outside the worker-stop deadline before marking a lane ready; cleanup failure does not change a successful task or artifact application. Native backend execution, non-Git FIFO scheduling, and Router protocol remain unchanged.\n- Keep full byte verification outside the shared repository guard so independent lanes can start during a slow audit. Isolate a reused Git lane whose checkout preparation fails without discarding its existing native context; preserve lazy recovery of valid interrupted-removal receipts."},{"version":"1.6.134","text":"### 本阶段更新汇总(1.6.90~1.6.133)\n- 默认开启多 Agent 委派;Git 项目最多 5 个 Worker 隔离并行,成果由主 Agent 确认合并,非 Git 目录仍串行。\n- 新增 DSH 后端,支持模型与 effort 切换、上下文续接,以及在 /status 中查询余额。\n- 支持接收最大 20 MiB 的文件,提取文本文件、文字型 PDF、DOCX 和 XLSX 内容;设备授权后,上传文件再发送处理指令即可。\n- 优化手机端的进度和结果展示,支持 Markdown 富文本;Worker 活动详情和后台任务结果默认折叠。\n- 主 Agent 和子 Agent 卡片底部都用小号灰字显示各自的模型与 effort,方便了解本次任务的执行配置。\n- 新增中文升级摘要与 Codex Reset 额度提醒;跨版本升级时按功能汇总变化,重启和升级后保留已确认送达的提醒记录。","changes":[{"topic":"delegation","title":"委派任务","text":"默认开启多 Agent 委派;Git 项目最多 5 个 Worker 隔离并行,成果由主 Agent 确认合并,非 Git 目录仍串行。"},{"topic":"dsh-backend","title":"DSH 后端","text":"新增 DSH 后端,支持模型与 effort 切换、上下文续接,以及在 /status 中查询余额。"},{"topic":"file-attachments","title":"文件附件","text":"支持接收最大 20 MiB 的文件,提取文本文件、文字型 PDF、DOCX 和 XLSX 内容;设备授权后,上传文件再发送处理指令即可。"},{"topic":"worker-cards","title":"任务卡片","text":"优化手机端的进度和结果展示,支持 Markdown 富文本;Worker 活动详情和后台任务结果默认折叠。"},{"topic":"execution-metadata","title":"执行信息","text":"主 Agent 和子 Agent 卡片底部都用小号灰字显示各自的模型与 effort,方便了解本次任务的执行配置。"},{"topic":"maintenance-notices","title":"更新与额度提醒","text":"新增中文升级摘要与 Codex Reset 额度提醒;跨版本升级时按功能汇总变化,重启和升级后保留已确认送达的提醒记录。"}],"details":"This stage summary consolidates confirmed source changes from 1.6.90 through 1.6.133, including Git-confirmed changes whose per-version notes were missing. It replaces the available entries in that range, not Git history, and is not a complete npm publication ledger. Version 1.6.134 reorganizes release documents, synchronizes package versions, and permits up to six summary bullets in build-time and bundled-artifact validation; backend execution and Router behavior are unchanged.\n\n### Added\n- Integrate DeepSeek Harness (DSH) through its native persistent ACP server, with model and reasoning-effort controls, cancellation, permission prompts, context reporting when available, and isolated coordinator/worker sessions. Keep native capability boundaries: images require advertised support, and unsupported interactive slash commands, plan mode, and elicitation do not fall back to another backend.\n- Preserve DSH session pointers across backend switches and restarts. Recover explicitly non-resumable sessions with an honest fresh-session notice; retain pointers on authentication, provider, network, rate-limit, timeout, or directory-mismatch failures. Summarize-then-reset compaction uses a private, durable handoff rather than claiming native transcript compaction, and refuses to summarize unavailable original context.\n- Show DSH official recharge and bonus wallet balances in `/status` when native account authentication makes them available. Retain native precision and currency, distinguish balances from token usage or plan quota, and use a short-lived account-query process without creating a model turn or changing the ACP conversation.\n- Receive file attachments up to 20 MiB through explicit device enrollment and a same-Router HTTPS download path. Transfer file bytes from Feishu to a private Router spool and CLI staging area; WebSocket messages contain only bounded references, hashes, sizes, and authorization metadata. Enforce authenticated device ownership, actual byte limits, hashes, deadlines, storage quotas, and explicit failure feedback without weakening legacy text/image support.\n- Extract bounded previews from text/code, CSV, JSON, YAML, textual PDF, DOCX main-body text, and XLSX cells, retaining page/sheet/cell provenance. Keep parsing off the control event loop, bound expanded archives and output, and never execute macros or formulas. OCR, protected documents, legacy Office formats, and general archive extraction remain unsupported; saved, parsed, partial, and unsupported outcomes stay distinct.\n- Stage files for a subsequent instruction or a reply to their status card, including instructions with images, rather than starting a model task on file upload alone. Pin queued attachments, bind references to the admitted device/thread/directory, expose `/files` and `/files clear`, and preserve active references during cleanup. Backend tools retain their normal permissions when reading original or preview paths outside the project.\n- Persist isolated delegated-worker lanes separately from direct backend sessions, retaining only each lane's own earlier delegated context. Reuse requires confirmed process exit and valid session state; directory changes invalidate the old workspace generation, and failed lane cleanup remains retryable rather than silently freeing uncertain ownership.\n- Accept multiple independent delegated tasks in one coordinator request, with individual cancellation, queued status, bounded queue waits, cumulative admission limits, and automatic collection of all results. Retain source-workspace ownership while the queue drains; queued work has no execution timestamp or progress card before it starts.\n- Run Git workers in reusable per-lane worktrees with bounded snapshots of staged, unstaged, and nonignored untracked input. Refresh every detached task checkout to an explicit baseline while preserving native lane identity. Non-Git directories use code-enforced FIFO serial scheduling and are never initialized as Git repositories implicitly; worktrees are not process sandboxes.\n- Preserve immutable worker artifacts under private Git references and expose revision-guarded inspection, integration, or retention. Preflight conflicts in a separate recovery worktree; applying changes never stages, commits, or pushes the delivery workspace. Pending artifacts or unknown dirty files block lane reuse. File application is not atomic: preserve before/target snapshots and a durable pending receipt for manual recovery after an incomplete apply, and validate captured tree limits after Git filters and both rename endpoints against the selected-directory scope.\n- Attach bounded execution-scoped model and reasoning-effort metadata to AI responses, terminal recovery, and each delegated worker's progress/results. Distinguish backend reports, configured selections, defaults, and unavailable values without extra model requests. Keep launch preferences stable, retain final worker snapshots before cleanup, and never substitute coordinator settings or attribute a model to an unstarted queued task.\n- Show compact gray model/effort notes below Completed on main replies and outside collapsed worker details. Preserve metadata through long-output splitting, thread-button refresh, and optional protocol-v1 fields, while legacy peers and local control commands retain their existing display.\n- Add standalone CLI upgrade notices with cumulative bundled notes, offline delivery, negotiated capabilities, and a silent baseline on first adoption. Advance notification progress only after acknowledged delivery, retain skipped-upgrade ranges, and keep maintenance cards separate from thread selection and task routing.\n- Add hourly, status-only Codex weekly-quota inspection and notification-only reminders using existing file-backed ChatGPT credentials. Do not send model prompts, create user threads, refresh credentials, or probe other backends. Missing/expired credentials, unsupported native APIs, and failed samples remain unavailable evidence; the experimental native token-handoff API is not a compatibility guarantee.\n\n### Changed\n- Enable managed delegation by default for new and existing threads with no saved preference; explicit off remains off through upgrades, context resets, backend switches, and restarts. Exposing delegation tools does not automatically launch workers.\n- Restrict managed delegation to a different backend without changing native backend subagent tools. Unrestricted coordinators launch unrestricted workers; sandboxed coordinators have no eligible cross-backend targets until policy translation is supported. Discovery and launch enforce the same policy.\n- Raise the shared starting/running worker limit from three to five. Git-backed requests can occupy five isolated execution slots; additional accepted tasks remain queued, non-Git requests still run one worker at a time, and the cumulative 12-task limit spans coordinator continuations without refunds for failures or cancellation.\n- Use real worker tool activity for liveness timeouts, with separate idle and tool-idle deadlines, rather than treating a quiet stdout stream as proof that a worker stalled. UI text and card heartbeats do not extend execution liveness.\n- Enrich the local CLI's Linux/macOS startup PATH with verified runtime and conventional installation directories, preserving inherited precedence. Use the same command resolution for startup checks, backend menus, delegation, and auxiliary queries, honor explicit executable overrides, and preserve ZCode's native empty-command discovery without falling back from a nonempty invalid override. Valid existing services do not need reinstallation; startup does not source shell profiles, install tools, or rewrite their service files.\n- Render nested/live worker activity and results as rich Markdown, with independent per-worker text, elapsed/tool activity, consistent icons, and compact mobile layouts. Keep detailed activity collapsed, separate result labels from worker Markdown, preserve stable update slots and card-wide table limits, and make the delegation status menu easier to scan.\n- Label standalone task notifications as Background task, retain their originating thread and task identity, collapse result/output-path details by default, and keep short failures visible. This presentation is separate from foreground replies and managed-worker cards.\n- Show thread/workspace headers on initial streaming and continuation cards before final completion, preserving reply provenance rather than waiting for the terminal card update.\n- Bundle concise Chinese user summaries alongside English technical details at build time. Validate matching nonempty current-version entries, one short heading and one to six single-line user bullets, stable feature tags/titles, and bounded package payloads; never fetch, translate, or summarize release notes with a model at runtime. Version 1.6.134 raises the per-release bullet limit from three to six while retaining the 2 KiB summary budget.\n- Aggregate the entire pending device-upgrade range by feature, removing exact duplicate items only. Keep available summaries and technical details collapsed and paged, report bounded-overview omissions, and preserve legacy-peer fallback, first-adoption silence, and protocol version 1. This release represents the consolidated 1.6.90-1.6.133 range with the 1.6.134 stage summary rather than reconstructing a per-device subset of those changes.\n- Use the title \"Codex Reset\" with a target emoji and \"Weekly quota reset: 100%\". Explain why to send Codex a normal task without verification or activation steps, remove the sampling-disclaimer footer and redundant Dismiss button, and retain passive validated legacy callbacks. Eligibility requires two roughly hourly zero-usage observations with approximately seven days remaining and a deadline that advances with the sampling interval; it is a snapshot heuristic, not confirmation of a provider reset or a guarantee that one request starts a usage window.\n\n### Fixed\n- Validate incomplete or incompatible tool parameters before specialized card formatting, using bounded text or no-parameters fallbacks without interrupting later tool events or task completion.\n- Retry confirmed Feishu Markdown-parser failures as literal text, preserve that mode on later updates and thread-button refreshes, and retain table-limit fallback without treating unrelated failures as parse errors.\n- Require successful recovery-notice delivery before acknowledging reuse of a surviving card, avoid duplicate notices within a recovery round, and retain originating thread information through recovery and continuation cards.\n- Reset every backend's remote-cli session binding when a thread changes to a different normalized working directory, preserve backend-native history and thread preferences, and keep a same-directory selection a no-op.\n- Distinguish a deleted or inaccessible selected working directory from a missing backend executable, refuse fallback execution in another directory, and cover remaining executor and passthrough startup paths with actionable errors.\n- Refresh Codex's model catalog and idle app-server after a native CLI version change while preserving the conversation binding, and improve model-recovery card delivery without replaying accepted worker launches.\n- Retain bounded worker results through coordinator continuations and terminal failures without replaying the original request, attachments, or completed workers. Keep execution-scoped result acknowledgement separate from worker completion, suppress premature coordinator output while results are pending, and prevent stale worker progress from overwriting unrelated cards.\n- Deduplicate ACP tool updates and keep reasoning/thought chunks out of answer text, final output, and delegated summaries for Kimi, OpenCode, ZCode, and DSH, while preserving separate native reasoning handling. Generate unique, paired Pi fallback tool IDs so concurrent tool calls cannot collide or report an unrelated result.\n- Filter bounded standalone Claude Code model-recognition stderr diagnostics for SDK queries and session-title generation, including delegated-worker streaming/results and slash-command error details. Preserve actual API/authentication errors, nonzero exits, assistant text, unknown sources, malformed records, and other backends; raw local stderr and telemetry behavior are unchanged.\n- Refuse ambiguous plain-text input when multiple workers are waiting, retain request-specific approval routing, and require confirmed cleanup before releasing occupied slots or workspace ownership.\n- Keep queued diagnostic records out of live terminal pruning, reconcile unfinished records as interrupted after restart without replaying tasks, and make retained worker-lane cleanup retryable.\n- Persist acknowledged Codex reminder suppression across CLI upgrades, restarts, reconnects, and credential refreshes using a private account/bucket fingerprint ledger. Only valid non-candidate observations rearm reminders; unavailable probes do not. Wait for accepted acknowledgement writes on shutdown, preserve corrupt/unavailable storage without affecting normal messaging, and do not claim exactly-once delivery across crashes.\n\n### Security\n- Disable DSH's official extra session-log attachment and OTel telemetry paths independently with a private temporary configuration overlay and the native telemetry-disable flag. Leave existing profiles, credentials, and other backends untouched and remove the overlay after process exit. Normal model requests still send task context to the selected provider and native local history remains; this is not an offline mode or a guarantee about third-party plugins.\n\n### Maintenance\n- Require staged-change and outgoing-commit privacy checks before publication, and sanitize documentation references without changing functional behavior.\n- Remove redundant presentation/fixture assertions while retaining behavioral regression coverage, clean temporary test fixtures reliably, and make ZCode discovery assertions portable across aliased filesystem paths."}]}
|
|
1
|
+
{"format":1,"firstVersion":"1.6.123","sections":[{"version":"1.6.141","text":"### 含子仓库的项目也能委派\n- 已初始化的 Git 子模块和嵌套仓库现在可以参与委派,包含未提交修改;应用成果时保留原有会话、仓库提交和暂存状态。\n- 文件与目录互换不再误报;未初始化的子模块不阻止审阅其他代码,真正不支持的文件会显示具体路径和类型。","changes":[{"topic":"delegation","title":"委派任务","text":"已初始化的 Git 子模块和嵌套仓库现在可以参与委派,包含未提交修改;应用成果时保留原有会话、仓库提交和暂存状态。"},{"topic":"delegation","title":"委派任务","text":"文件与目录互换不再误报;未初始化的子模块不阻止审阅其他代码,真正不支持的文件会显示具体路径和类型。"}],"details":"### Fixed\n- Include initialized local submodules and embedded repositories in private delegated snapshots, with staged, unstaged, and nonignored files captured through their own temporary indexes. Stream local Git objects without remote fetching or a repository-size cap; workers receive ordinary files rather than nested Git metadata or histories.\n- Apply nested working-file changes through explicit artifact integration while preserving all source HEADs, indexes, and gitlinks. Include nested state in delivery revisions, reject changed repository identities and boundary replacements, preserve uncertain worker-created Git metadata for manual recovery, and keep uninitialized submodules empty without blocking unrelated work.\n- Allow ordinary file/directory replacements and identify unsupported filesystem entries by repository-relative path and type. Cover nested snapshots, conflicts, state preservation, streamed transfer, artifact delivery, and guarded checkout reclamation/reuse with real temporary Git repositories.\n- Preserve warm index stat caches and the original index timestamp so racy-clean detection still catches same-size edits; reuse completed local object transfers within each stable capture. Reject ancestor worktrees, external nested Git metadata, nested-local command filters, and partial-clone hydration. Keep unsupported no-change metadata pending until explicit retention, and wait for deterministic Git lifecycle signals in cancellation tests.\n- Receive nested packs in a per-transfer quarantine and publish complete packs with indexes last. Clean failed and timed-out transfers after both processes exit without sweeping other operations. Discover embedded repositories exposed by gitlink replacements and support initialized submodules owned by linked-worktree metadata stores."},{"version":"1.6.140","text":"### 大项目委派与异常恢复更稳妥\n- 准备工作区或收集成果较慢时,不再误判后台进程异常、锁住整个项目;取消任务后也不会偷偷启动 Worker。\n- 无法完整读取被 Git 标记隐藏的修改时,会明确提示并保留文件,不再把遗漏的修改当成已完整交付。","changes":[{"topic":"delegation","title":"委派任务","text":"准备工作区或收集成果较慢时,不再误判后台进程异常、锁住整个项目;取消任务后也不会偷偷启动 Worker。"},{"topic":"delegation","title":"委派任务","text":"无法完整读取被 Git 标记隐藏的修改时,会明确提示并保留文件,不再把遗漏的修改当成已完整交付。"}],"details":"### Fixed\n- Reject assume-unchanged and skip-worktree index entries before capturing delegated Git checkpoints. Do not silently omit hidden edits, reinterpret absent sparse files as deletions, or modify the source index; preserve unresolved worker files for manual recovery.\n- Keep managed Git baseline capture, checkout preparation, and repository-lock waits outside the native worker startup deadline. Await owned mutations before releasing execution capacity, and prevent late worker startup after cancellation.\n- Bound accepted Git delegation and cancellation response waits below the tool adapter's timeout. Return the existing task ID and explicit pending status for later polling without aborting owned operations, pretending cleanup finished, or encouraging duplicate submission.\n- Separate confirmed process shutdown from artifact collection. Slow collection no longer quarantines the source workspace or leaks global worker slots; collection and lane-persistence failures retain the affected lane while releasing unrelated capacity after Git operations settle. Preserve native-exit quarantine, individual Git command deadlines, non-Git FIFO scheduling, and old-peer compatibility."},{"version":"1.6.139","text":"### 大仓库也能正常委派任务\n- 取消按仓库总大小和文件数量拒绝子任务的限制,大型项目也可执行委派、合并成果并再次使用工作目录。","changes":[{"topic":"delegation","title":"委派任务","text":"取消按仓库总大小和文件数量拒绝子任务的限制,大型项目也可执行委派、合并成果并再次使用工作目录。"}],"details":"### Fixed\n- Remove the fixed 128 MiB repository-size and 10,000-file limits from delegated Git input snapshots, filtered trees, artifact collection, and checkout reclamation verification. Large repositories keep their complete staged, unstaged, and nonignored untracked input without a replacement size configuration.\n- Preserve path and entry validation, artifact ownership and reference checks, streamed byte hashing before reclamation, parent index and branch isolation, and existing Git command deadlines and output-buffer limits. Add regression coverage for large committed and untracked files and complete artifact integration, reclamation, and reuse beyond the former limits."},{"version":"1.6.138","text":"### 委派收尾与会话恢复更可靠\n- 子任务成果已处理完时,不再因为其他会话忙碌而误报收尾失败或反复要求处理。\n- 重试旧卡片的上下文清理时,不再影响后来创建的 Worker 会话;状态不明的旧会话仍会保留。\n- 子任务在准备工作区之前启动失败时,可继续复用原 Worker;工作区状态不确定时仍保留安全保护。","changes":[{"topic":"delegation","title":"委派任务","text":"子任务成果已处理完时,不再因为其他会话忙碌而误报收尾失败或反复要求处理。"},{"topic":"delegation","title":"委派任务","text":"重试旧卡片的上下文清理时,不再影响后来创建的 Worker 会话;状态不明的旧会话仍会保留。"},{"topic":"delegation","title":"委派任务","text":"子任务在准备工作区之前启动失败时,可继续复用原 Worker;工作区状态不确定时仍保留安全保护。"}],"details":"### Fixed\n- Validate settled worker artifact receipts independently of source-workspace contention, avoiding spurious closeout failures and extra coordinator turns. Keep ownership, reference, recovery, cancellation, and receipt-integrity checks; history reconciliation still requires the source lease.\n- Keep a superseded shared-directory lane non-reusable after a context-clear retry, without deleting another worker's conversation. Persist pooling mode for independent Git lanes and preserve ambiguous legacy duplicate contexts instead of scheduling automatic deletion.\n- Return reused Git lanes to ready after failures before checkout preparation starts. Continue preserving uncertain prepared lanes, and distinguish executor setup failures from checkout failures in recovery diagnostics."},{"version":"1.6.137","text":"### 单独清理子任务上下文\n- 子任务结束后,无论成功还是失败,都可在卡片上点击 Clear context,让该 Worker 下次从新会话开始,不影响主 Agent、其他 Worker 或代码成果。\n- 清理收到本机确认后才显示成功;运行中的任务和过期卡片不会误清新会话,失败可重试,不会自动重跑任务。","changes":[{"topic":"delegation","title":"委派任务","text":"子任务结束后,无论成功还是失败,都可在卡片上点击 Clear context,让该 Worker 下次从新会话开始,不影响主 Agent、其他 Worker 或代码成果。"},{"topic":"delegation","title":"委派任务","text":"清理收到本机确认后才显示成功;运行中的任务和过期卡片不会误清新会话,失败可重试,不会自动重跑任务。"}],"details":"### Added\n- Add an owner-bound Clear context control outside delegated Worker card details after successful or failed execution. Reset only the exact idle lane's native continuation, retaining workspaces, artifacts, archived transcripts, authentication, and settings without replaying the task or resetting the coordinator.\n- Negotiate optional workerContextReset support and require CLI acknowledgement before confirming success. Persist reset intents and context epochs, serialize reset with lane acquisition, reject stale or unsafe targets, and permit explicit retries after interrupted resets. Keep controls consistent across streaming, continuation cards, and thread-footer refreshes with a bounded ephemeral Router cache; legacy peers remain compatible."},{"version":"1.6.136","text":"### 委派成果自动收尾\n- 主 Agent 回复完成前,自动检查子任务成果是否已交付或明确保留;有遗漏会继续处理,最多补两轮。\n- 仍无法处理的成果会明确列出并保留,不再把“任务执行完了”当作“代码已交付”,也不会自动丢弃文件。","changes":[{"topic":"delegation","title":"委派任务","text":"主 Agent 回复完成前,自动检查子任务成果是否已交付或明确保留;有遗漏会继续处理,最多补两轮。"},{"topic":"delegation","title":"委派任务","text":"仍无法处理的成果会明确列出并保留,不再把“任务执行完了”当作“代码已交付”,也不会自动丢弃文件。"}],"details":"### Added\n- Enforce artifact closeout before successful coordinator completion. Drain accepted tasks and tool calls, reconcile historical delivery under existing ownership guards, then inspect durable receipts rather than cached results. Pending changes, missing or invalid receipts, failed collection, and unretained recovery state prevent success; verified no-change, applied, and deliberately retained outcomes need no further decision.\n- Resume the same coordinator session for at most two artifact-closeout rounds per request, combining unread worker results when available. Preserve attachments, result acknowledgement, approval/input, model recovery, and cancellation boundaries; new workers do not reset the budget. An unresolved final check returns bounded task IDs and artifact references as a failure, pausing queued execution while preserving recoverable output. No new wire messages, implicit merging, automatic cross-request replay, or non-Git lifecycle changes."},{"version":"1.6.135","text":"### 工作区自动回收\n- 无文件改动的成功任务,以及已确认合并的成果,会自动回收安全的 Worker 工作目录;保留上下文,下次在原路径重建并读取最新代码。\n- 有未交付成果、遗留文件或状态不明的工作目录继续保留;清理失败不影响任务结果,也不会强删文件。\n- 成果提交已进入主工作分支历史时,会自动确认交付;之后主分支撤回改动也不会重新挂起旧任务,遗留文件仍受安全检查保护。","changes":[{"topic":"delegation","title":"委派任务","text":"无文件改动的成功任务,以及已确认合并的成果,会自动回收安全的 Worker 工作目录;保留上下文,下次在原路径重建并读取最新代码。"},{"topic":"delegation","title":"委派任务","text":"有未交付成果、遗留文件或状态不明的工作目录继续保留;清理失败不影响任务结果,也不会强删文件。"},{"topic":"delegation","title":"委派任务","text":"成果提交已进入主工作分支历史时,会自动确认交付;之后主分支撤回改动也不会重新挂起旧任务,遗留文件仍受安全检查保护。"}],"details":"### Added\n- Automatically reclaim verified delegated Git checkout directories after successful no-change tasks or durable artifact application. Preserve native conversation pointers, stable lane paths, immutable artifacts, and private input/output/history references; recreate absent, unregistered owned paths from fresh delivery input when the lane is reused.\n- Persist present/reclaiming/reclaimed checkout state and exact output receipts. Resolve interrupted intents only from verified intact checkouts or confirmed absent/unregistered paths; never infer ownership from a missing legacy directory, overwrite occupied reclaimed paths, prune registrations, or sweep historical workspaces.\n- Recognize successful pending worker outcomes as historically delivered when their recorded artifact snapshot commit is an ancestor of delivery HEAD, including after a later revert. Persist the observed HEAD and repair interrupted pending-marker clears; reconcile guarded inspection, ready-lane admission, and idle turn closure without content-subset heuristics, automatic merges, staging, commits, or changes to patch-only apply. Keep replacement-object bypass, owner/ref checks, fail-soft errors, and independent safe-reclamation verification.\n\n### Changed\n- Independently bound and hash actual tracked bytes, modes, and symlink targets before checkout deletion, accounting for ignored files, extra directories, unknown entries, and Git index flags. Preserve pending, retained, failed/cancelled, locked, or unresolved recovery workspaces. Transformed bytes that cannot be proven equivalent fail closed.\n- Serialize lane lifecycle and Git worktree metadata operations within the CLI process. Await optional reclamation outside the worker-stop deadline before marking a lane ready; cleanup failure does not change a successful task or artifact application. Native backend execution, non-Git FIFO scheduling, and Router protocol remain unchanged.\n- Keep full byte verification outside the shared repository guard so independent lanes can start during a slow audit. Isolate a reused Git lane whose checkout preparation fails without discarding its existing native context; preserve lazy recovery of valid interrupted-removal receipts."},{"version":"1.6.134","text":"### 本阶段更新汇总(1.6.90~1.6.133)\n- 默认开启多 Agent 委派;Git 项目最多 5 个 Worker 隔离并行,成果由主 Agent 确认合并,非 Git 目录仍串行。\n- 新增 DSH 后端,支持模型与 effort 切换、上下文续接,以及在 /status 中查询余额。\n- 支持接收最大 20 MiB 的文件,提取文本文件、文字型 PDF、DOCX 和 XLSX 内容;设备授权后,上传文件再发送处理指令即可。\n- 优化手机端的进度和结果展示,支持 Markdown 富文本;Worker 活动详情和后台任务结果默认折叠。\n- 主 Agent 和子 Agent 卡片底部都用小号灰字显示各自的模型与 effort,方便了解本次任务的执行配置。\n- 新增中文升级摘要与 Codex Reset 额度提醒;跨版本升级时按功能汇总变化,重启和升级后保留已确认送达的提醒记录。","changes":[{"topic":"delegation","title":"委派任务","text":"默认开启多 Agent 委派;Git 项目最多 5 个 Worker 隔离并行,成果由主 Agent 确认合并,非 Git 目录仍串行。"},{"topic":"dsh-backend","title":"DSH 后端","text":"新增 DSH 后端,支持模型与 effort 切换、上下文续接,以及在 /status 中查询余额。"},{"topic":"file-attachments","title":"文件附件","text":"支持接收最大 20 MiB 的文件,提取文本文件、文字型 PDF、DOCX 和 XLSX 内容;设备授权后,上传文件再发送处理指令即可。"},{"topic":"worker-cards","title":"任务卡片","text":"优化手机端的进度和结果展示,支持 Markdown 富文本;Worker 活动详情和后台任务结果默认折叠。"},{"topic":"execution-metadata","title":"执行信息","text":"主 Agent 和子 Agent 卡片底部都用小号灰字显示各自的模型与 effort,方便了解本次任务的执行配置。"},{"topic":"maintenance-notices","title":"更新与额度提醒","text":"新增中文升级摘要与 Codex Reset 额度提醒;跨版本升级时按功能汇总变化,重启和升级后保留已确认送达的提醒记录。"}],"details":"This stage summary consolidates confirmed source changes from 1.6.90 through 1.6.133, including Git-confirmed changes whose per-version notes were missing. It replaces the available entries in that range, not Git history, and is not a complete npm publication ledger. Version 1.6.134 reorganizes release documents, synchronizes package versions, and permits up to six summary bullets in build-time and bundled-artifact validation; backend execution and Router behavior are unchanged.\n\n### Added\n- Integrate DeepSeek Harness (DSH) through its native persistent ACP server, with model and reasoning-effort controls, cancellation, permission prompts, context reporting when available, and isolated coordinator/worker sessions. Keep native capability boundaries: images require advertised support, and unsupported interactive slash commands, plan mode, and elicitation do not fall back to another backend.\n- Preserve DSH session pointers across backend switches and restarts. Recover explicitly non-resumable sessions with an honest fresh-session notice; retain pointers on authentication, provider, network, rate-limit, timeout, or directory-mismatch failures. Summarize-then-reset compaction uses a private, durable handoff rather than claiming native transcript compaction, and refuses to summarize unavailable original context.\n- Show DSH official recharge and bonus wallet balances in `/status` when native account authentication makes them available. Retain native precision and currency, distinguish balances from token usage or plan quota, and use a short-lived account-query process without creating a model turn or changing the ACP conversation.\n- Receive file attachments up to 20 MiB through explicit device enrollment and a same-Router HTTPS download path. Transfer file bytes from Feishu to a private Router spool and CLI staging area; WebSocket messages contain only bounded references, hashes, sizes, and authorization metadata. Enforce authenticated device ownership, actual byte limits, hashes, deadlines, storage quotas, and explicit failure feedback without weakening legacy text/image support.\n- Extract bounded previews from text/code, CSV, JSON, YAML, textual PDF, DOCX main-body text, and XLSX cells, retaining page/sheet/cell provenance. Keep parsing off the control event loop, bound expanded archives and output, and never execute macros or formulas. OCR, protected documents, legacy Office formats, and general archive extraction remain unsupported; saved, parsed, partial, and unsupported outcomes stay distinct.\n- Stage files for a subsequent instruction or a reply to their status card, including instructions with images, rather than starting a model task on file upload alone. Pin queued attachments, bind references to the admitted device/thread/directory, expose `/files` and `/files clear`, and preserve active references during cleanup. Backend tools retain their normal permissions when reading original or preview paths outside the project.\n- Persist isolated delegated-worker lanes separately from direct backend sessions, retaining only each lane's own earlier delegated context. Reuse requires confirmed process exit and valid session state; directory changes invalidate the old workspace generation, and failed lane cleanup remains retryable rather than silently freeing uncertain ownership.\n- Accept multiple independent delegated tasks in one coordinator request, with individual cancellation, queued status, bounded queue waits, cumulative admission limits, and automatic collection of all results. Retain source-workspace ownership while the queue drains; queued work has no execution timestamp or progress card before it starts.\n- Run Git workers in reusable per-lane worktrees with bounded snapshots of staged, unstaged, and nonignored untracked input. Refresh every detached task checkout to an explicit baseline while preserving native lane identity. Non-Git directories use code-enforced FIFO serial scheduling and are never initialized as Git repositories implicitly; worktrees are not process sandboxes.\n- Preserve immutable worker artifacts under private Git references and expose revision-guarded inspection, integration, or retention. Preflight conflicts in a separate recovery worktree; applying changes never stages, commits, or pushes the delivery workspace. Pending artifacts or unknown dirty files block lane reuse. File application is not atomic: preserve before/target snapshots and a durable pending receipt for manual recovery after an incomplete apply, and validate captured tree limits after Git filters and both rename endpoints against the selected-directory scope.\n- Attach bounded execution-scoped model and reasoning-effort metadata to AI responses, terminal recovery, and each delegated worker's progress/results. Distinguish backend reports, configured selections, defaults, and unavailable values without extra model requests. Keep launch preferences stable, retain final worker snapshots before cleanup, and never substitute coordinator settings or attribute a model to an unstarted queued task.\n- Show compact gray model/effort notes below Completed on main replies and outside collapsed worker details. Preserve metadata through long-output splitting, thread-button refresh, and optional protocol-v1 fields, while legacy peers and local control commands retain their existing display.\n- Add standalone CLI upgrade notices with cumulative bundled notes, offline delivery, negotiated capabilities, and a silent baseline on first adoption. Advance notification progress only after acknowledged delivery, retain skipped-upgrade ranges, and keep maintenance cards separate from thread selection and task routing.\n- Add hourly, status-only Codex weekly-quota inspection and notification-only reminders using existing file-backed ChatGPT credentials. Do not send model prompts, create user threads, refresh credentials, or probe other backends. Missing/expired credentials, unsupported native APIs, and failed samples remain unavailable evidence; the experimental native token-handoff API is not a compatibility guarantee.\n\n### Changed\n- Enable managed delegation by default for new and existing threads with no saved preference; explicit off remains off through upgrades, context resets, backend switches, and restarts. Exposing delegation tools does not automatically launch workers.\n- Restrict managed delegation to a different backend without changing native backend subagent tools. Unrestricted coordinators launch unrestricted workers; sandboxed coordinators have no eligible cross-backend targets until policy translation is supported. Discovery and launch enforce the same policy.\n- Raise the shared starting/running worker limit from three to five. Git-backed requests can occupy five isolated execution slots; additional accepted tasks remain queued, non-Git requests still run one worker at a time, and the cumulative 12-task limit spans coordinator continuations without refunds for failures or cancellation.\n- Use real worker tool activity for liveness timeouts, with separate idle and tool-idle deadlines, rather than treating a quiet stdout stream as proof that a worker stalled. UI text and card heartbeats do not extend execution liveness.\n- Enrich the local CLI's Linux/macOS startup PATH with verified runtime and conventional installation directories, preserving inherited precedence. Use the same command resolution for startup checks, backend menus, delegation, and auxiliary queries, honor explicit executable overrides, and preserve ZCode's native empty-command discovery without falling back from a nonempty invalid override. Valid existing services do not need reinstallation; startup does not source shell profiles, install tools, or rewrite their service files.\n- Render nested/live worker activity and results as rich Markdown, with independent per-worker text, elapsed/tool activity, consistent icons, and compact mobile layouts. Keep detailed activity collapsed, separate result labels from worker Markdown, preserve stable update slots and card-wide table limits, and make the delegation status menu easier to scan.\n- Label standalone task notifications as Background task, retain their originating thread and task identity, collapse result/output-path details by default, and keep short failures visible. This presentation is separate from foreground replies and managed-worker cards.\n- Show thread/workspace headers on initial streaming and continuation cards before final completion, preserving reply provenance rather than waiting for the terminal card update.\n- Bundle concise Chinese user summaries alongside English technical details at build time. Validate matching nonempty current-version entries, one short heading and one to six single-line user bullets, stable feature tags/titles, and bounded package payloads; never fetch, translate, or summarize release notes with a model at runtime. Version 1.6.134 raises the per-release bullet limit from three to six while retaining the 2 KiB summary budget.\n- Aggregate the entire pending device-upgrade range by feature, removing exact duplicate items only. Keep available summaries and technical details collapsed and paged, report bounded-overview omissions, and preserve legacy-peer fallback, first-adoption silence, and protocol version 1. This release represents the consolidated 1.6.90-1.6.133 range with the 1.6.134 stage summary rather than reconstructing a per-device subset of those changes.\n- Use the title \"Codex Reset\" with a target emoji and \"Weekly quota reset: 100%\". Explain why to send Codex a normal task without verification or activation steps, remove the sampling-disclaimer footer and redundant Dismiss button, and retain passive validated legacy callbacks. Eligibility requires two roughly hourly zero-usage observations with approximately seven days remaining and a deadline that advances with the sampling interval; it is a snapshot heuristic, not confirmation of a provider reset or a guarantee that one request starts a usage window.\n\n### Fixed\n- Validate incomplete or incompatible tool parameters before specialized card formatting, using bounded text or no-parameters fallbacks without interrupting later tool events or task completion.\n- Retry confirmed Feishu Markdown-parser failures as literal text, preserve that mode on later updates and thread-button refreshes, and retain table-limit fallback without treating unrelated failures as parse errors.\n- Require successful recovery-notice delivery before acknowledging reuse of a surviving card, avoid duplicate notices within a recovery round, and retain originating thread information through recovery and continuation cards.\n- Reset every backend's remote-cli session binding when a thread changes to a different normalized working directory, preserve backend-native history and thread preferences, and keep a same-directory selection a no-op.\n- Distinguish a deleted or inaccessible selected working directory from a missing backend executable, refuse fallback execution in another directory, and cover remaining executor and passthrough startup paths with actionable errors.\n- Refresh Codex's model catalog and idle app-server after a native CLI version change while preserving the conversation binding, and improve model-recovery card delivery without replaying accepted worker launches.\n- Retain bounded worker results through coordinator continuations and terminal failures without replaying the original request, attachments, or completed workers. Keep execution-scoped result acknowledgement separate from worker completion, suppress premature coordinator output while results are pending, and prevent stale worker progress from overwriting unrelated cards.\n- Deduplicate ACP tool updates and keep reasoning/thought chunks out of answer text, final output, and delegated summaries for Kimi, OpenCode, ZCode, and DSH, while preserving separate native reasoning handling. Generate unique, paired Pi fallback tool IDs so concurrent tool calls cannot collide or report an unrelated result.\n- Filter bounded standalone Claude Code model-recognition stderr diagnostics for SDK queries and session-title generation, including delegated-worker streaming/results and slash-command error details. Preserve actual API/authentication errors, nonzero exits, assistant text, unknown sources, malformed records, and other backends; raw local stderr and telemetry behavior are unchanged.\n- Refuse ambiguous plain-text input when multiple workers are waiting, retain request-specific approval routing, and require confirmed cleanup before releasing occupied slots or workspace ownership.\n- Keep queued diagnostic records out of live terminal pruning, reconcile unfinished records as interrupted after restart without replaying tasks, and make retained worker-lane cleanup retryable.\n- Persist acknowledged Codex reminder suppression across CLI upgrades, restarts, reconnects, and credential refreshes using a private account/bucket fingerprint ledger. Only valid non-candidate observations rearm reminders; unavailable probes do not. Wait for accepted acknowledgement writes on shutdown, preserve corrupt/unavailable storage without affecting normal messaging, and do not claim exactly-once delivery across crashes.\n\n### Security\n- Disable DSH's official extra session-log attachment and OTel telemetry paths independently with a private temporary configuration overlay and the native telemetry-disable flag. Leave existing profiles, credentials, and other backends untouched and remove the overlay after process exit. Normal model requests still send task context to the selected provider and native local history remains; this is not an offline mode or a guarantee about third-party plugins.\n\n### Maintenance\n- Require staged-change and outgoing-commit privacy checks before publication, and sanitize documentation references without changing functional behavior.\n- Remove redundant presentation/fixture assertions while retaining behavioral regression coverage, clean temporary test fixtures reliably, and make ZCode discovery assertions portable across aliased filesystem paths."}]}
|