Skip to content

Commit 3be31cd

Browse files
author
chenliuyun
committed
release: v3.7.8 — codex marketplace fix, Route B sparse, os error 32 fallback, preflight idempotency, claude-code plugin skills
1 parent d9f9380 commit 3be31cd

3 files changed

Lines changed: 13 additions & 2 deletions

File tree

CHANGELOG.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,17 @@ This project follows [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
99

1010
## [Unreleased]
1111

12+
## [3.7.8]
13+
14+
### Fixed
15+
16+
- **Codex marketplace name mismatch**`resolveMarketplaceName` previously read `.agents/plugins/marketplace.json` (name=`codex-plugin`) before the root `marketplace.json` (name=`switchbot`), causing the plugin ID to resolve as `switchbot@codex-plugin` while Codex registered the marketplace as `switchbot`. Priority flipped: root manifest is now authoritative, matching what `codex plugin marketplace add` validates.
17+
- **Route B git sparse checkout missing manifest at checkout root** — Codex validates `<checkout-root>/.agents/plugins/marketplace.json`; the sparse set only included `packages/codex-plugin`, so the manifest was absent. Added repo-root `.agents/plugins/marketplace.json` and `--sparse .agents/plugins` to the Route B registration call.
18+
- **`checkCodexPluginRegistered` false positive** — the text and JSON fallback paths matched any output containing `switchbot`, including the `Marketplace switchbot` title line. Both paths now require the `switchbot@` pattern so only actual plugin-ID lines are accepted.
19+
- **Windows `os error 32` stalls Route B for 17 s** — when a git file-lock is detected and the local `@switchbot/codex-plugin` package directory already exists, the 2 s / 5 s / 10 s retry sequence is skipped and `registerCodexPluginAuto` falls back to Route A immediately. On a fresh machine where the package is absent, the retry sequence is preserved. An explicit stderr message names the fallback reason.
20+
- **`codex repair` re-registers when already healthy** — new `preflight-plugin` step runs `checkCodexPluginRegistered` before the destructive remove+re-register cycle. When the plugin is already installed, both `remove-plugin` and `register-plugin` are auto-skipped. Force re-registration with `--skip preflight-plugin`.
21+
- **`@switchbot/claude-code-plugin` `plugin.json` missing `skills` field**`plugins/switchbot/.claude-plugin/plugin.json` did not declare `"skills": "./skills/"`, so Claude Code would not load `SKILL.md` and the skill instructions would be absent. Field added.
22+
1223
## [3.7.7]
1324

1425
### Added

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@switchbot/openapi-cli",
3-
"version": "3.7.7",
3+
"version": "3.7.8",
44
"description": "SwitchBot smart home CLI — control devices, run scenes, stream real-time events, and integrate AI agents via MCP. Full API v1.1 coverage.",
55
"keywords": [
66
"switchbot",

packages/claude-code-plugin/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@switchbot/claude-code-plugin",
3-
"version": "0.1.2",
3+
"version": "0.1.3",
44
"type": "module",
55
"description": "SwitchBot Claude Code plugin — wires Claude Code to the SwitchBot CLI MCP server (24 tools, zero Node.js dependencies)",
66
"homepage": "https://github.com/OpenWonderLabs/switchbot-openapi-cli/tree/main/packages/claude-code-plugin",

0 commit comments

Comments
 (0)