Sandbox default root narrows from `process.cwd()` to `<cwd>/.agent-workspace`, an auto-created subdirectory. Built-in filesystem tools (`file_read`, `file_write`, `file_edit`, `grep`, `glob`) enforce this root and require absolute paths. `bash` is intentionally out of scope; full caveat and the three-config knob (default / `process.cwd()` / `null`) live in `docs/tool-configuration.md`. `defaultWorkspaceDir()` centralises the fallback; `OrchestratorConfig.defaultCwd`, `AgentConfig.cwd`, `RunnerOptions.cwd`, and the tool-layer fallbacks in `path-safety`, `grep`, and `glob` all route through it. Only `file_write` auto-creates the root via `resolvePathWithinCwd`'s new `ensureRoot` option; read-only tools error on a missing root. 22 examples switched from `/tmp/` to `<cwd>/.agent-workspace/<sub>` (basics x 3, providers x 18, integrations x 1). `mcp-bilig-workpaper` routes its existing tmpdir workDir into the Agent's `cwd`. `README.md`, `README_zh.md`, `docs/tool-configuration.md`, `docs/cli.md`, `docs/providers/minimax.md` updated. JSDoc on the four `cwd` fields aligned with the new default. `.gitignore` ignores `.agent-workspace/`. `v1.4.2` is current on npm; no released version is affected. Consumers wanting the prior `process.cwd()` default can set `defaultCwd: process.cwd()` explicitly.
examples/integrations/
OMA wired to external systems: MCP servers, observability backends, other frameworks, app shells. Runnable starting points, not product docs.
Two categories live here.
Reference integrations demonstrate wiring against widely used protocols or frameworks. The OMA team maintains these once merged, regardless of who contributed them. Current:
mcp-github.ts: MCP servers viaconnectMCPTools().trace-observability.ts: theonTraceAPI.with-vercel-ai-sdk/: Next.js + AI SDK +runTeam().express-customer-support/: Express REST API +runTasks(). Contributed by @CodingBangboo via #191.
Vendor integrations show OMA paired with a specific third-party
commercial product. They live under with-<product>/ and stay credited to
the contributor. Current:
with-engram/: Engram memory backend. Contributed by @Agentscreator via #160.
Submitting a reference integration
Open a PR following the conventions in examples/README.md.
For widely used protocols or frameworks, no prior discussion needed. For
niche ones, open a discussion first so we can confirm the wiring is worth
maintaining long-term.
Submitting a vendor integration
One condition: the integration is reciprocal. Your product's repo or docs should reference OMA as a supported integration. No payment involved, this is a signal filter for who has actually shipped against OMA.
Flow:
- Open a discussion with the link to OMA in your product's docs and a sketch of the example.
- Wait for a maintainer reply confirming the example is in scope.
- PR it. Follow the conventions in
examples/README.md.
If your product doesn't reference OMA yet, open a discussion to get listed in the Ecosystem section.
The Featured Partner program is separate and paid, for prominent README placement. Eligibility is an active OMA integration; reciprocal listing isn't required.
Out of scope here
- Marketing copy for a third-party product.
- Examples gated behind paid-only APIs with no free or trial tier.
- Thin
connectMCPTools()wrappers whose only difference frommcp-github.tsis the server name and prefix. Those belong in your own docs.