Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,16 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

## [Unreleased]

## [4.7.7] - 2026-08-03

### Changed
- Validated and retargeted package and plugin SDK build metadata to OpenClaw `2026.7.1-2`, using that correction release as the install, plugin API, Gateway, and peer dependency floor so both it and stable `2026.7.1` satisfy the declared compatibility contract.
- Confirmed that the OpenClaw correction release's singleton-array npm metadata fix requires no changes to Code Agent tools, callbacks, wake routing, worktree flows, plan approval, or harness model restrictions.
- Pinned patched `fast-uri` and Hono transitive releases, with a machine-checked, exact-version exception that permits only `hono@4.12.34` through the normal 24-hour release-age quarantine and expires after the quarantine clears.

### Fixed
- Removed the production dependency advisories for `fast-uri` URI authority parsing and Hono CORS-header regular-expression denial of service without weakening the repository-wide release-age policy.

## [4.7.6] - 2026-07-15

### Changed
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -128,7 +128,7 @@ Because worktree isolation defaults to `delegate`, `defaultWorkdir` should norma

Chat-launched sessions route updates back to their originating chat thread. For agent-launched tool sessions without an origin route, configure `fallbackChannel` or `agentChannels` in the reference guide.

The current package targets, validates against, and requires OpenClaw `2026.7.1`. Its install, plugin API, Gateway, and peer dependency metadata all use that same minimum so OpenClaw and ClawHub reject older hosts before installation. OpenClaw `2026.7.1` changes Codex app-server, Telegram delivery, cron/session delivery, tool visibility, approval, and plugin update behavior, but `openclaw-code-agent` does not need new SDK imports for those changes: the manifest already declares `contracts.tools`, the plugin still imports only `openclaw/plugin-sdk/plugin-entry`, and its own session store, wake routing, callbacks, worktree flows, and harness model restrictions remain plugin-owned. Current callback behavior around native callback data, routed follow-ups, retryable stale plan approval buttons, and serialized plan decisions remains plugin-owned.
The current package targets and validates against OpenClaw `2026.7.1-2`. Its install, plugin API, Gateway, and peer dependency floor is `2026.7.1-2`, which includes both that numeric correction release and the higher-precedence stable `2026.7.1` release under SemVer ordering. The correction release only fixes singleton-array npm metadata handling for plugin installs and updates, so no host config migration or Code Agent runtime change is required. The manifest still declares `contracts.tools`, the plugin still imports only `openclaw/plugin-sdk/plugin-entry`, and its own session store, wake routing, callbacks, worktree flows, and Codex/Claude model restrictions remain plugin-owned. Current callback behavior around native callback data, routed follow-ups, retryable stale plan approval buttons, and serialized plan decisions remains unchanged.

If you use Codex, make sure the local `codex` command or `OPENCLAW_CODEX_APP_SERVER_COMMAND` override is available and authenticated. Codex-specific defaults live under `harnesses.codex`: `reasoningEffort` is sent as `reasoningEffort`, and `fastMode: true` sends `service_tier: "fast"` on Codex App Server thread, resume, and turn payloads. The Codex harness starts the app server with stdio listener args by default, only sends UUID-shaped backend thread IDs to `thread/resume`, and reports startup timeouts with redacted recent stderr. When Codex auth is inconsistent, this is the recommended `~/.codex/config.toml` setting:

Expand Down
2 changes: 2 additions & 0 deletions docs/DEVELOPMENT.md
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,8 @@ Security automation should work like this:
- Version maintenance: Dependabot updates the JavaScript dependency set through the npm ecosystem support that covers pnpm projects.
- Full snapshot audit: run `pnpm audit` when you need the current advisory set for the full resolved pnpm graph, including dev dependencies.

The 24-hour minimum-release-age policy remains the default for every dependency. If a security-fixed release must be admitted before that quarantine ends, use an exact `package@version` entry in `minimumReleaseAgeExclude` immediately preceded by a `security-exception` comment containing the advisory, publication time, quarantine end, and removal deadline. `pnpm check-static-guardrails` rejects malformed, non-exact, or expired exceptions; remove the entry and comment once the deadline passes.

OpenClaw 2026.7.1 requires Node 22.22.3 or newer when using Node 22; CI and release verification pin that patch floor. Plugin-behavior review should also include:

```bash
Expand Down
10 changes: 5 additions & 5 deletions docs/REFERENCE.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,13 +28,13 @@ Sessions are multi-turn. Active sessions accept follow-up messages via `agent_re

Current releases treat persisted session storage as new-schema-only. If startup finds an older or invalid session store, the plugin archives it to a timestamped `.legacy-*.json` backup and starts with a fresh index instead of migrating rows in place.

### OpenClaw 2026.7.1 SDK Readiness
### OpenClaw 2026.7.1-2 SDK Readiness

The current `openclaw-code-agent` package is validated against and requires OpenClaw `2026.7.1`. Package install, plugin API, Gateway, peer dependency, and build metadata now share that minimum so registry and host compatibility checks cannot select the package for an older OpenClaw installation.
The current `openclaw-code-agent` package is validated against OpenClaw `2026.7.1-2`. Exact build metadata and the development dependency record that tested correction release. Package install, plugin API, Gateway, and peer dependency metadata use `2026.7.1-2` as their floor so standard SemVer checks accept the correction release itself as well as the higher-precedence stable `2026.7.1` release, while rejecting older hosts.

Hosts already running OpenClaw `2026.7.1` need no host config change. No new OpenClaw SDK imports were needed for `2026.7.1`: this plugin still depends only on the stable plugin-entry surface. Runtime code still imports only `openclaw/plugin-sdk/plugin-entry` from the OpenClaw SDK, `openclaw.plugin.json` already declares tools through `contracts.tools`, package-level OpenClaw readiness stays in `package.json`, pnpm build policy and overrides live in `pnpm-workspace.yaml`, and code-agent session storage remains plugin-owned. Current callback handling, plan approval, session wake/routing, Codex harness behavior, and worktree follow-through remain plugin-owned compatibility surfaces.
Hosts already running OpenClaw `2026.7.1` need no host config change. OpenClaw `2026.7.1-2` only normalizes singleton-array output from newer `npm view --json` clients and continues to reject ambiguous multi-version arrays. No new SDK imports or Code Agent runtime changes are needed: runtime code still imports only `openclaw/plugin-sdk/plugin-entry`, `openclaw.plugin.json` already declares tools through `contracts.tools`, pnpm build policy and overrides remain in `pnpm-workspace.yaml`, and code-agent session storage remains plugin-owned. Current Start Plan and approval callbacks, Telegram/topic routing, completion and cron/session wakes, Codex and Claude model restrictions, runtime tool visibility, disabled bundled-plugin boundaries, and plan/worktree follow-through remain unchanged.

Configuration guidance for `2026.7.1`:
Configuration guidance for the `2026.7.1-2` compatibility floor and tested correction release:

- If `plugins.allow` is present, add `openclaw-code-agent`. OpenClaw treats that allowlist as exclusive, so `tools.allow` cannot make this plugin's tools available when the owning plugin is blocked.
- New OpenClaw configs default `plugins.bundledDiscovery` to `allowlist`, so a restrictive `plugins.allow` list can also block omitted bundled provider or runtime plugins. OpenClaw `2026.7.1` continues to discover externally installed channel plugins at Gateway startup, but that host-side discovery does not make those plugins implicitly available to OCA sessions. Disabled or omitted adjacent plugins remain unavailable unless explicitly enabled or auto-enabled by their own OpenClaw contracts.
Expand All @@ -56,7 +56,7 @@ Configuration guidance for `2026.7.1`:
- Installed plugins that register host-trusted pre-tool policies must declare `contracts.trustedToolPolicies`. This plugin does not register trusted pre-tool policies, so no manifest contract is needed beyond the existing `contracts.tools` list.
- The removed upstream sender-owner tool gating path does not replace this plugin's auth boundary. Chat commands remain auth-required, and Telegram/Discord callbacks still require authorized senders before `agent_respond`, plan approval, merge, PR, cleanup, or Start Plan actions are applied. OpenClaw's plugin write ownership checks are host-side package safety checks; OCA should not claim ownership of host or adjacent plugin package writes.
- Legacy `defaultModel`, `model`, `reasoningEffort`, and global `allowedModels` are compatibility fields only. New configs should not use them.
- Managed external-plugin npm installs now use per-plugin project roots and enforce `openclaw.compat.pluginApi` when selecting compatible package versions. This package aligns that range, its Gateway minimum, and its peer dependency with the release-tested OpenClaw `2026.7.1` host; keep `openclaw.extensions` pointing at the built `dist/index.js` artifact.
- Managed external-plugin npm installs now use per-plugin project roots and enforce `openclaw.compat.pluginApi` when selecting compatible package versions. This package aligns that range, its Gateway minimum, and its peer dependency with the release-tested OpenClaw `2026.7.1-2` correction release; the floor also accepts stable `2026.7.1`. Keep `openclaw.extensions` pointing at the built `dist/index.js` artifact.
- OpenClaw `2026.7.1` removes built-in dangerous-code blocking from plugin installs and deprecates `--dangerously-force-unsafe-install`; operators who require a host-specific allow/block decision should configure `security.installPolicy`. OCA's release smoke installs only its freshly packed artifact under an isolated temporary home and does not read or migrate operator state.
- `tools.deny` does not disable OpenClaw's `apply_patch` tool by itself in current OpenClaw. To restrict patch edits, configure OpenClaw `tools.exec.applyPatch.enabled`, `tools.exec.applyPatch.workspaceOnly`, or `tools.exec.applyPatch.allowModels`.

Expand Down
2 changes: 1 addition & 1 deletion openclaw.plugin.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"id": "openclaw-code-agent",
"name": "Code Agent",
"description": "Multi-session coding-agent orchestration from OpenClaw chat",
"version": "4.7.6",
"version": "4.7.7",
"contracts": {
"tools": [
"agent_launch",
Expand Down
18 changes: 9 additions & 9 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
{
"name": "openclaw-code-agent",
"version": "4.7.6",
"version": "4.7.7",
"type": "module",
"packageManager": "pnpm@11.15.1",
"main": "dist/index.js",
"scripts": {
"audit:prod": "pnpm audit --prod",
"build": "esbuild index.ts --bundle --splitting --platform=node --target=node22 --format=esm --outdir=dist --entry-names=index --chunk-names=chunks/[name] --minify --charset=utf8 --pure:console.log --pure:console.warn --pure:console.info --pure:console.debug --external:@anthropic-ai/claude-agent-sdk --external:openclaw/plugin-sdk/plugin-entry",
"check-static-guardrails": "node scripts/check-static-guardrails.mjs",
"check-static-guardrails": "node scripts/check-static-guardrails.mjs && node scripts/check-release-age-exceptions.mjs",
"check-plugin-security": "node scripts/check-plugin-security.mjs",
"test": "node scripts/run-tests.mjs",
"test:integ:crabbox": "node scripts/run-tests.mjs tests/oca-codex-crabbox-integ.test.ts tests/oca-plugin-workflows-integ.test.ts tests/oca-codex-telegram-proof.test.ts tests/oca-codex-proof-app-server.test.ts tests/oca-codex-proof-workflow.test.ts",
Expand All @@ -33,15 +33,15 @@
"install": {
"npmSpec": "openclaw-code-agent",
"defaultChoice": "npm",
"minHostVersion": ">=2026.7.1"
"minHostVersion": ">=2026.7.1-2"
},
"compat": {
"pluginApi": ">=2026.7.1",
"minGatewayVersion": "2026.7.1"
"pluginApi": ">=2026.7.1-2",
"minGatewayVersion": "2026.7.1-2"
},
"build": {
"openclawVersion": "2026.7.1",
"pluginSdkVersion": "2026.7.1"
"openclawVersion": "2026.7.1-2",
"pluginSdkVersion": "2026.7.1-2"
}
},
"files": [
Expand All @@ -58,7 +58,7 @@
"@types/node": "^26.0.1",
"esbuild": "^0.28.1",
"nanoid": "^6.0.0",
"openclaw": "2026.7.1",
"openclaw": "2026.7.1-2",
"tsx": "^4.21.0",
"typescript": "^7.0.2"
},
Expand Down Expand Up @@ -95,7 +95,7 @@
},
"description": "An OpenClaw plugin that orchestrates coding agent sessions as managed background processes. Launch, monitor, and control coding agents (Claude Code, Codex, experimental OpenCode, and more) directly from your AI gateway.",
"peerDependencies": {
"openclaw": ">=2026.7.1"
"openclaw": ">=2026.7.1-2"
},
"overrides": {
"basic-ftp": "5.3.1",
Expand Down
Loading