Skip to content

Update dependencies and enhance security and functionality - #188

Merged
geffzhang merged 31 commits into
ontologyharnessactionfrom
main
Jul 21, 2026
Merged

geffzhang merged 31 commits into
ontologyharnessactionfrom
main

Conversation

@geffzhang

Copy link
Copy Markdown
Collaborator

This pull request introduces several improvements and updates across documentation, CI configuration, and the .NET codebase. The main highlights are the addition of DeepSeek as a first-class native LLM provider (with full documentation and setup instructions), the introduction of the AgentQi Mobile companion app in docs and site maps, and important codebase improvements for thread safety and resource management. It also removes legacy Microsoft Agent Framework migration paths and clarifies configuration guidance.

Documentation updates:

  • DeepSeek is now documented as a native LLM provider, with instructions for setup, environment variables, and model selection in README.md, docs/QUICKSTART.md, and docs/GETTING_STARTED.md. [1] [2] [3] [4] [5] [6]
  • The AgentQi Mobile companion app is now referenced in the main README, docs map, and site map, including a direct link and description as an open-source Android operator console. [1] [2] [3] [4]

Microsoft Agent Framework (MAF) migration cleanup:

  • Removes legacy/experimental MAF migration documentation and clarifies that only the supported configuration section should be used, both in English and Chinese documentation. [1] [2] [3] [4] [5] [6]

Codebase improvements:

  • Renames MafExecutionContext to AgentExecutionContext and moves it to a more appropriate namespace, adding a TryGetCurrent() method for safer context access. [1] [2]
  • The agent system prompt builder now includes optional IDENTITY.md and MEMORY.md workspace files for richer agent context.
  • The process execution backend now ensures that spawned processes are killed on cancellation, preventing orphaned processes and resource leaks.
  • OpenClawToolExecutor is made thread-safe by locking around shared state, and tool declaration access is now atomic and safe for concurrent operations. [1] [2]

CI/CD updates:

  • Updates the GitHub Actions setup-node action to the latest commit hash for improved security and reliability. [1] [2]

dependabot Bot and others added 30 commits July 14, 2026 06:13
Bumps [github.com/mattn/go-sqlite3](https://github.com/mattn/go-sqlite3) from 1.14.47 to 1.14.48.
- [Release notes](https://github.com/mattn/go-sqlite3/releases)
- [Commits](mattn/go-sqlite3@v1.14.47...v1.14.48)

---
updated-dependencies:
- dependency-name: github.com/mattn/go-sqlite3
  dependency-version: 1.14.48
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Bumps [actions/setup-node](https://github.com/actions/setup-node) from 6.4.0 to 7.0.0.
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](actions/setup-node@48b55a0...8207627)

---
updated-dependencies:
- dependency-name: actions/setup-node
  dependency-version: 7.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
…tsapp-whatsmeow-worker/github.com/mattn/go-sqlite3-1.14.48

build(deps): bump github.com/mattn/go-sqlite3 from 1.14.47 to 1.14.48 in /src/whatsapp-whatsmeow-worker
…ions/setup-node-7.0.0

build(deps): bump actions/setup-node from 6.4.0 to 7.0.0
Introduce OIDC/JWT gateway auth, WebSocket token bridging, and a much richer webchat UI with external CSS/JS, session history management, admin panels, file uploads/downloads, and cron/channel/MCP controls. Add session abort/delete support across the gateway and memory stores.

Expand native agent capabilities with image analysis, MinerU PDF parsing, file publishing, better image generation backends, paged file reads, safer web fetch behavior, multi-attachment handling, and MCP registry fixes for paging, transport modes, and LLM-safe tool names.
Removes support for the deprecated `OpenClaw:Experimental:MicrosoftAgentFramework` section (code, startup notice path, docs, and tests) so only the supported MAF config path is honored. Adds new admin endpoints to create automations and manage workspace skills (install, delete, ZIP upload with validation), updates skill response models, and wires related JSON source-gen types. Gateway runtime handling was also hardened with tool-executor concurrency fixes, OIDC auth gating cleanup, abort-command support (`/stop`/`/cancel`/`/abort`) for in-flight turns, and file-attachment/media marker flow improvements for history replay and WebSocket envelopes.
Wire cancellation through process execution by registering the request token to terminate the spawned process tree, preventing orphaned processes from continuing after /stop-style interrupts. Also add /stop, /cancel, and /abort as recognized chat commands and return a clear response when no execution is active.
Normalize extraction destinations with `Path.GetFullPath` and skip entries that resolve outside the plugin directory. This adds a defense-in-depth check against ZIP path traversal during admin plugin/channel upload extraction, even though earlier validation already exists.
Tightens security defaults and auth behavior by requiring HTTPS OIDC metadata in docs, disabling implicit static auth token in gateway defaults, and gating `/ws?token=` header bridging behind `AllowQueryStringToken`. It also hardens operator/admin handling (authorization flow, scope classification, async session listing), improves runtime safety (session delete locking, SQLite delete transaction, disposed-cancellation race handling), and fixes several tool/frontend edge cases (URI validation, safer media/download URLs, timeout handling, and small allocation/logic cleanups).
Add a DNS rebinding guard to `WebFetchTool` by validating resolved addresses at connect time before opening sockets. In the web chat client, sanitize uploaded and rendered attachment URLs so only `http:`, `https:`, and `/media/` links are used, falling back to `#` for unsafe values.
Tightens client-side URL handling for attachment links and artifact downloads in `webchat.js`. The update now only permits `http/https` URLs or `/media/` paths that do not contain traversal segments (`..`), defaults unsafe links to `#`, and surfaces clearer error messages for missing or unsafe download URLs.
Encode artifact file URLs before assigning them to links, and restrict authenticated download requests to same-origin `/media/` paths. This prevents malformed link URLs and avoids sending bearer tokens to external hosts while still allowing external HTTP(S) downloads.
Update endpoint auth gating to treat OIDC as enabled when an authority is configured, instead of relying on `IsOidcMode`. This makes loopback bypass behavior align with actual OIDC configuration and avoids auth decisions based on a potentially out-of-sync mode flag.
Tightened webchat artifact download validation to allow only same-origin `/media/` URLs with no path traversal. External URLs and malformed paths are now rejected with a clear error, and authenticated headers are always attached for valid media fetches.
Update the inline `echo-stdin.ps1` test scripts in `AgentRuntimeTests` and `MafAdapterTests` to read stdin via `Console.OpenStandardInput()` with `System.IO.StreamReader` instead of `Console.In.ReadToEnd()`. This makes stdin handling more reliable in the test execution environment.
@coderabbitai

coderabbitai Bot commented Jul 21, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 482df9cc-687b-4f10-bf13-d308226fe1fd

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch main

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@geffzhang
geffzhang merged commit 752372f into ontologyharnessaction Jul 21, 2026
20 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants